/*
Theme Name: StockholmPortalen
Theme URI: https://stockholmportalen.se/
Author: StockholmPortalen
Description: Svensk redaktionell Stockholmsguide med databaslagrat innehåll, evenemangskalender och väder från MET Norway.
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: stockholmportalen
*/
:root{--ink:#12283f;--gold:#a17d37;--paper:#faf9f6;--line:#e3dfd7;--muted:#627080;--white:#fff;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:0;background:var(--ink);color:#fff;padding:12px 22px;display:inline-block}button:hover,.button:hover{background:var(--gold);color:#fff}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}h1,h2,h3{font-family:var(--serif);font-weight:normal;line-height:1.12;margin:0 0 18px}h1{font-size:clamp(36px,5vw,64px);letter-spacing:-1.5px}h2{font-size:clamp(28px,3vw,38px);letter-spacing:-.8px}h3{font-size:26px}p{margin:0 0 20px}.wrap{width:min(1280px,92%);margin:auto}.utility{background:var(--ink);color:#fff;font-size:12px;letter-spacing:.5px}.utility .wrap{display:flex;justify-content:space-between;padding:7px 0}.utility a:hover{color:#e5cb98}.masthead{text-align:center;background:#fff;padding:22px 0 20px}.logo{width:min(540px,90%);margin:auto}.tagline{font-size:10px;letter-spacing:4px;text-transform:uppercase;margin:9px 0 0}.navigation{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;z-index:5}.menu{list-style:none;padding:0;margin:0;display:flex;align-items:center;justify-content:space-between}.menu li{position:relative}.menu>li>a{display:block;padding:16px 10px;font-size:14px}.menu ul{display:none;position:absolute;left:0;top:100%;min-width:235px;list-style:none;background:#fff;box-shadow:0 12px 25px #132b3f20;padding:10px;border:1px solid var(--line)}.menu ul a{display:block;padding:9px 12px;font-size:14px}.menu li:hover>ul,.menu li:focus-within>ul,.menu li.open>ul{display:block}.submenu-toggle{padding:3px;background:transparent;color:var(--gold);margin-left:2px}.submenu-toggle:hover{background:transparent;color:var(--ink)}.menu>li{display:flex;align-items:center}.mobile-toggle{display:none}.hero{display:grid;grid-template-columns:2fr 1fr;gap:6px;margin-top:26px}.hero-main,.hero-side>a{position:relative;background:var(--ink);overflow:hidden}.hero-main{min-height:505px}.hero img{width:100%;height:100%;object-fit:cover;position:absolute;transition:transform .5s}.hero a:hover img{transform:scale(1.025)}.hero-main:after,.hero-side>a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071725cf,transparent 90%)}.hero-copy{position:absolute;bottom:40px;left:36px;right:36px;color:#fff;z-index:1}.hero-copy h1{max-width:680px}.hero-copy p{max-width:540px;font-size:18px}.hero-copy .button{background:var(--gold)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;display:block;color:var(--gold)}.hero .eyebrow{color:#ebd2a7}.hero-side{display:grid;grid-template-rows:1fr 1fr;gap:6px}.hero-side>a{min-height:245px}.hero-side .hero-copy{bottom:20px;left:25px;right:25px}.hero-side h2{font-size:33px}.finder{margin:22px 0 36px;padding:18px 24px;background:#f0eee8;display:flex;align-items:center;gap:20px}.finder label{font:24px var(--serif);white-space:nowrap}.finder input,.finder select{padding:12px;border:1px solid var(--line);background:#fff;min-width:0}.finder input{flex:1}.section{margin:45px 0}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;border-top:1px solid var(--line);padding-top:24px;margin-bottom:20px}.section-heading h2{margin:0}.section-heading a{font-size:13px;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{border-bottom:1px solid var(--line);padding-bottom:20px;background:#fff}.card img{width:100%;height:230px;object-fit:cover}.card .card-copy{padding:20px 20px 0}.card h3{font-size:27px}.card p{font-size:14px;color:#4b5968;line-height:1.6}.card .eyebrow{margin-bottom:10px}.card a.more{color:var(--gold);font-size:13px}.image-fallback{height:230px;background:#e5e9e8;display:flex;align-items:center;justify-content:center;font:38px var(--serif);color:var(--ink);padding:25px}.split{display:grid;grid-template-columns:1.5fr 1fr;gap:28px}.box{background:#fff;border:1px solid var(--line);padding:28px}.weather{background:var(--ink);color:#fff}.weather h2{font-size:30px}.forecast{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:22px 0}.forecast-day{border-right:1px solid #ffffff20;text-align:center}.forecast-day:last-child{border:0}.forecast-day strong{display:block;font:26px var(--serif)}.forecast-day .symbol{font-size:28px;display:block}.forecast-day small{font-size:11px}.weather .attribution{font-size:11px;color:#c0d0df}.weather a{text-decoration:underline}.status{font-size:12px;color:var(--muted)}.weather .status{color:#c0d0df}.events-list{list-style:none;padding:0;margin:15px 0}.event-row{border-top:1px solid var(--line);display:flex;gap:18px;padding:15px 0;align-items:center}.date-badge{background:#f3efe5;color:var(--gold);padding:10px;text-align:center;min-width:60px;font-weight:700}.date-badge strong{display:block;font:26px var(--serif)}.event-row h3{font-size:22px;margin:0 0 4px}.event-row p{margin:0;font-size:12px;color:var(--muted)}.calendar-controls{display:flex;align-items:center;justify-content:space-between;margin:15px 0}.calendar-controls button{padding:6px 12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.calendar-grid button{padding:9px 2px;background:#f7f6f2;color:var(--ink);border:1px solid transparent}.calendar-grid button.has-event{border-bottom:3px solid var(--gold);font-weight:bold}.calendar-grid button.selected{background:var(--ink);color:#fff}.calendar-grid small{font-size:11px}.calendar-grid .empty{min-height:38px}.calendar-note{font-size:12px;color:var(--muted);margin-top:15px}.page-banner{padding:48px 0 35px;border-bottom:1px solid var(--line)}.page-banner .lead{font:22px/1.6 var(--serif);max-width:840px;color:#536174}.breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:25px}.breadcrumbs a{text-decoration:underline}.page-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:48px;margin:35px 0 60px}.article{font-size:17px}.article h2{margin-top:38px;font-size:32px}.article h3{margin-top:28px}.article a{color:#456c8b;text-decoration:underline;text-underline-offset:3px}.article li{margin-bottom:10px}.article figure{margin:0 0 24px}.article figure img{width:100%;max-height:480px;object-fit:cover}.article figcaption,.photo-credit{font-size:11px;color:var(--muted);line-height:1.5;margin:8px 0 20px}.photo-credit a{text-decoration:underline}.facts{width:100%;border-collapse:collapse;font-size:14px;margin:20px 0}.facts th,.facts td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:13px 10px}.facts th{width:33%;font-weight:600;background:#f3f1ec}.facts a{text-decoration:underline;color:#456c8b}.sidebar .box{margin-bottom:22px}.sidebar h2{font-size:26px}.sidebar a:not(.button){text-decoration:underline}.source-list{font-size:13px;padding-left:20px}.map-box{background:#f0eee8;padding:22px;margin:25px 0}.map-box iframe{border:0;width:100%;height:330px}.map-box .status{margin:12px 0 0}.notice{border-left:3px solid var(--gold);padding:14px 18px;background:#f2efe7;margin:20px 0;font-size:14px}.contact-form label{display:block;margin:12px 0 5px}.contact-form input,.contact-form textarea{width:100%;padding:12px;border:1px solid var(--line);background:#fff}.contact-form textarea{min-height:160px}.trap{position:absolute;left:-9999px}.filter-form{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:25px}.filter-form input,.filter-form select{padding:10px;border:1px solid var(--line)}.pagination{margin:30px 0;display:flex;gap:12px}.pagination .page-numbers{padding:8px 14px;border:1px solid var(--line)}.pagination .current{background:var(--ink);color:#fff}.footer{background:var(--ink);color:#fff;padding:45px 0 25px;margin-top:55px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer h2{font-size:28px}.footer a{display:block;font-size:13px;margin:8px 0;color:#d5dee7}.footer p{font-size:13px;color:#c3d0dc;max-width:450px}.footer-bottom{margin-top:30px;border-top:1px solid #ffffff20;padding-top:20px;font-size:11px;color:#bac6d3}.skip-link{position:absolute;top:-100px;left:20px;z-index:99;background:#fff;padding:15px}.skip-link:focus{top:15px}.alignwide{width:100%}.wp-block-image figcaption{font-size:12px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:950px){.menu>li>a{font-size:12px;padding:15px 6px}.hero-main{min-height:440px}.hero-side h2{font-size:25px}.finder{flex-wrap:wrap}.finder label{width:100%}.page-layout{gap:26px}.grid{gap:16px}.card img{height:180px}.split{grid-template-columns:1fr}.footer-grid{gap:25px}}
@media(max-width:700px){.wrap{width:92%}.masthead{padding:16px 0}.tagline{letter-spacing:2px;font-size:8px}.mobile-toggle{display:block;width:100%;background:#fff;color:var(--ink);text-align:left;padding:12px 0}.menu{display:none;flex-direction:column;align-items:stretch}.menu.visible{display:flex}.menu>li{flex-wrap:wrap;justify-content:space-between}.menu>li>a{font-size:15px;padding:12px 0}.menu ul{position:static;box-shadow:none;width:100%;border:0;background:#f6f4ef}.submenu-toggle{padding:10px 18px}.hero{grid-template-columns:1fr;margin-top:16px}.hero-main{min-height:435px}.hero-copy{left:22px;right:22px;bottom:25px}.hero-side{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.hero-side>a{min-height:185px}.hero-side h2{font-size:24px}.hero-side .hero-copy{left:15px;right:15px}.hero-side .eyebrow{font-size:8px}.finder{padding:16px;gap:10px}.finder input{width:100%;flex-basis:100%}.finder select{flex:1}.grid{grid-template-columns:1fr}.card img{height:240px}.section-heading{align-items:flex-start;gap:10px}.section-heading h2{font-size:28px}.section-heading a{font-size:11px}.page-layout{grid-template-columns:1fr}.page-banner{padding:30px 0 20px}.page-banner .lead{font-size:20px}.box{padding:20px}.footer-grid{grid-template-columns:1fr}.forecast{gap:3px}.forecast-day strong{font-size:22px}.article{font-size:16px}.facts th,.facts td{padding:10px 7px}.gallery{grid-template-columns:1fr}.utility .wrap span{max-width:65%}.section{margin:32px 0}}

/* Edition masthead */
.topline{background:#0c1d2d;color:#e9eef3;font-size:11px;letter-spacing:.3px}.topline>.wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:38px}.topline-date,.topline-links{display:flex;align-items:center;gap:18px}.stockholm-date{text-transform:capitalize}.city-time{color:#99acbc;border-left:1px solid #ffffff25;padding-left:18px}.live-dot{height:6px;width:6px;background:#d4b677;border-radius:50%;box-shadow:0 0 0 4px #d4b67715}.topline a:hover{color:#d4b677}.masthead{padding:25px 0;background:linear-gradient(100deg,#eee9df,#fffaf0 45%,#eee9df);border-bottom:3px solid var(--gold);position:relative;overflow:hidden}.masthead:before{content:'';position:absolute;inset:0;background:url('assets/images/stadshuset.webp') center 44%/cover;opacity:.065;pointer-events:none}.masthead-inner{position:relative;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:25px}.brand{display:block}.brand .logo{width:100%;max-width:570px}.edition{text-align:left;display:grid;gap:7px;border-left:3px solid var(--gold);padding-left:18px}.edition .eyebrow{font-size:9px;letter-spacing:2px;margin:0}.edition strong{font:normal 21px/1.25 var(--serif)}.edition>span:last-child{font-size:10px;color:var(--muted)}.header-weather{justify-self:end;display:grid;gap:5px;text-align:left;padding:17px 20px;background:#ffffffb8;border:1px solid #d4c9b4;border-radius:3px;min-width:190px;box-shadow:0 6px 24px #15253808}.header-weather .eyebrow{font-size:9px;letter-spacing:1.5px;margin:0}.header-weather-value{font:normal 21px/1.2 var(--serif)}.header-weather-detail{color:var(--muted);font-size:10px;line-height:1.4}.city-strip{background:#152d44;color:#edf0f3;font-size:11px}.city-strip>.wrap{display:flex;align-items:center;gap:28px;padding:10px 0}.city-strip-label{font-size:9px;letter-spacing:1.5px;color:#dcc392;white-space:nowrap}.city-strip a:hover{color:#dcc392}.navigation{box-shadow:0 5px 16px #15253807}.navigation .menu>li>a{font-weight:600}.header-weather.is-stale{border-color:#b99048}
@media(max-width:950px){.masthead-inner{grid-template-columns:2fr 1fr;gap:20px}.edition{display:none}.brand .logo{max-width:460px}.city-strip>.wrap{gap:20px;overflow:auto;white-space:nowrap}.city-time{display:none}}
@media(max-width:600px){.topline>.wrap{min-height:36px;gap:8px}.topline-date{gap:10px;font-size:10px}.topline-links{gap:12px;font-size:10px}.topline-links a:first-child{display:none}.masthead{padding:18px 0}.masthead-inner{grid-template-columns:1fr;gap:10px}.brand .logo{max-width:360px}.header-weather{justify-self:center;background:transparent;box-shadow:none;border:0;padding:0;display:flex;align-items:center;gap:9px;min-width:0}.header-weather-value{font:600 13px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.header-weather .eyebrow{font-size:8px}.header-weather-detail{display:none}.city-strip>.wrap{padding:8px 0;font-size:10px}.city-strip-label{font-size:8px}}

.market-link{margin-left:auto;color:#dcc392;white-space:nowrap}.store-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 30px}.store-actions a{border:1px solid var(--line);padding:10px 15px;font-size:12px;background:#fff}.store-actions a:last-child{background:var(--ink);color:white;border-color:var(--ink)}.card-address{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.article figure figcaption{font-size:12px;line-height:1.5;color:var(--muted);padding-top:8px}.filter-form select{padding:12px 10px;background:white;border:1px solid var(--line);color:var(--ink);min-width:170px}.filter-form{flex-wrap:wrap}
