/* ---------- Färger: ljus (förslag 2) som standard, mörk (förslag 4) på natten ---------- */
:root{
  --bg:#fbf7f8; --panel:#ffffff; --panel2:#fdf1f5; --line:#f0e1e7; --text:#2a1b22; --muted:#7a6670;
  --brand:#e0306f; --brand2:#b8285b; --brand-ink:#fff; --soft:#fde8ef;
  --gold:#c99a4a; --online:#16b364; --online-bg:#e7f8ee; --busy:#f08c00; --busy-bg:#fff3e0; --off:#9b8f94;
  --hot:#ff5a3c; --violet:#8b5cf6; --sky:#0ea5e9; --heart:#e0306f;
  --shadow:0 1px 2px rgba(42,27,34,.04),0 12px 30px -16px rgba(42,27,34,.22);
  --hero:radial-gradient(900px 380px at 10% -20%,#ffd6e4 0%,transparent 60%),radial-gradient(700px 340px at 100% 0%,#ffe9d6 0%,transparent 60%);
  --ink:#2a1b22; color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#0f0b0d; --panel:#171114; --panel2:#1e161a; --line:#2b2025; --text:#f3eaec; --muted:#a8999e;
  --brand:#ff5c93; --brand2:#ff3d7f; --brand-ink:#1a0b11; --soft:#2a1620;
  --gold:#d4ad6a; --online:#2fd67b; --online-bg:rgba(47,214,123,.12); --busy:#ff9f2e; --busy-bg:rgba(255,159,46,.12); --off:#6f6468;
  --shadow:0 1px 0 rgba(255,255,255,.02),0 16px 40px -22px rgba(0,0,0,.9);
  --hero:radial-gradient(900px 380px at 10% -20%,rgba(140,30,70,.55),transparent 65%),radial-gradient(700px 300px at 100% 0%,rgba(212,173,106,.12),transparent 70%);
  --ink:#f3eaec; color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0f0b0d; --panel:#171114; --panel2:#1e161a; --line:#2b2025; --text:#f3eaec; --muted:#a8999e;
    --brand:#ff5c93; --brand2:#ff3d7f; --brand-ink:#1a0b11; --soft:#2a1620;
    --gold:#d4ad6a; --online:#2fd67b; --online-bg:rgba(47,214,123,.12); --busy:#ff9f2e; --busy-bg:rgba(255,159,46,.12); --off:#6f6468;
    --shadow:0 1px 0 rgba(255,255,255,.02),0 16px 40px -22px rgba(0,0,0,.9);
    --hero:radial-gradient(900px 380px at 10% -20%,rgba(140,30,70,.55),transparent 65%),radial-gradient(700px 300px at 100% 0%,rgba(212,173,106,.12),transparent 70%);
    --ink:#f3eaec; color-scheme:dark;
  }
}

*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Plus Jakarta Sans",system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;transition:background .3s,color .3s}
a{color:inherit}button{font:inherit;color:inherit}
.locked{overflow:hidden}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}
svg.i{width:1em;height:1em;flex:none;vertical-align:-.125em}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px}


/* Header */
header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:66px}
.logo{display:flex;align-items:center;text-decoration:none}.logo svg{height:38px;width:auto}
header nav{display:flex;gap:4px}
header nav a{text-decoration:none;font-size:14px;font-weight:600;padding:8px 12px;border-radius:10px;color:var(--muted)}
header nav a:hover{color:var(--text);background:var(--soft)}
.hright{display:flex;align-items:center;gap:8px}
.livepill{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;padding:7px 12px;border-radius:99px;background:var(--online-bg);color:var(--online);white-space:nowrap}
.themebtn{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;cursor:pointer;color:var(--muted)}
.themebtn:hover{color:var(--brand)}
.themebtn .sun{display:none}
:root[data-theme="dark"] .themebtn .sun{display:block}:root[data-theme="dark"] .themebtn .moon{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .themebtn .sun{display:block}:root:not([data-theme="light"]) .themebtn .moon{display:none}}
.dot{width:8px;height:8px;border-radius:50%;background:currentColor;position:relative;flex:none;display:inline-block}
.dot.pulse::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid currentColor;animation:ring 1.6s ease-out infinite}
@keyframes ring{from{transform:scale(.6);opacity:.9}to{transform:scale(1.8);opacity:0}}

/* Hero */
.hero{background:var(--hero)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px;align-items:center;padding-top:44px;padding-bottom:26px}
.hero .wrap>*{min-width:0}
.counters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;min-height:32px}
.counter{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;padding:6px 12px;border-radius:99px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}
.counter b{font-variant-numeric:tabular-nums}
.c-on{color:var(--online)}.c-busy{color:var(--busy)}.c-hot{color:var(--hot)}.c-star{color:var(--gold)}
.hero h1{font-size:clamp(32px,4.6vw,54px);line-height:1.06;margin:0 0 14px;font-weight:800;letter-spacing:-.02em}
.hero h1 span{color:var(--brand)}
.hero p.lead{font-size:17px;color:var(--muted);margin:0 0 20px;max-width:560px}

.phonebox{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 24px 60px -28px color-mix(in srgb,var(--brand) 55%,transparent)}
.phonebox small{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--brand);font-weight:800}
.phonebox .num{display:flex;align-items:center;gap:12px;font-size:clamp(30px,3.6vw,40px);font-weight:800;letter-spacing:-.02em;text-decoration:none;margin:4px 0 14px}
.phonebox .num svg{color:var(--brand);width:30px;height:30px}
.phonebox ul{list-style:none;margin:0 0 16px;padding:0;font-size:14px;color:var(--muted)}
.phonebox li{display:flex;gap:8px;align-items:center;padding:3px 0}.phonebox li svg{color:var(--brand)}
.ticker{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;padding:10px 12px;border-radius:12px;background:var(--panel2);min-height:44px}
.ticker svg{color:var(--hot);width:18px;height:18px}
.ticker span{transition:opacity .35s}

/* Filter */
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);padding:8px 14px;border-radius:12px;font-size:14px;font-weight:600}
.chips button[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--bg)}
.chips button .n{font-size:12px;opacity:.6}

section{padding:26px 0}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
section h2{font-size:clamp(22px,3vw,28px);margin:0;font-weight:800;letter-spacing:-.01em}
.sec-head p{margin:0;color:var(--muted);font-size:14px}

/* Topplista */
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pod{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);text-decoration:none;position:relative}
.pod .rank{font-size:26px;font-weight:800;color:var(--brand);width:24px;text-align:center}
.pod .av{width:52px;height:52px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:800;font-size:20px;background:linear-gradient(135deg,#ffc2d6,#e0306f);color:#fff;position:relative}
.pod .av .dot{position:absolute;right:1px;bottom:1px;width:13px;height:13px;border:2px solid var(--panel)}
.pod b{display:block}.pod small{color:var(--muted);font-size:13px}
.pod:first-child{border-color:color-mix(in srgb,var(--gold) 60%,transparent)}
.pod .crown{position:absolute;top:-12px;left:52px;width:24px;height:24px;color:var(--gold);filter:drop-shadow(0 2px 6px rgba(201,154,74,.5))}

/* Kort */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:16px}
.card{position:relative;background:var(--panel);border:1.5px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.card[hidden]{display:none}
.card:hover{transform:translateY(-3px)}
.card.s-online{border-color:var(--online);box-shadow:0 0 0 3px color-mix(in srgb,var(--online) 18%,transparent),var(--shadow)}
.card.s-busy{border-color:color-mix(in srgb,var(--busy) 60%,transparent)}
.card.s-off .photo{filter:grayscale(.7) opacity(.75)}

.photo{position:relative;aspect-ratio:4/5;display:grid;place-items:center;background:linear-gradient(150deg,#ffd3e2,#f4a9c4 55%,#d9628e)}
:root[data-theme="dark"] .photo{background:linear-gradient(165deg,#6b1f3a,#1d1317 80%)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .photo{background:linear-gradient(165deg,#6b1f3a,#1d1317 80%)}}
.photo::before{content:attr(data-initial);font-size:72px;font-weight:800;color:#fff;opacity:.55}
.badges{position:absolute;top:10px;left:10px;right:10px;display:flex;flex-wrap:wrap;gap:6px}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;padding:4px 9px 4px 7px;border-radius:99px;background:rgba(255,255,255,.94);color:#2a1b22;box-shadow:0 2px 8px rgba(0,0,0,.12);white-space:nowrap}
:root[data-theme="dark"] .badge{background:rgba(10,7,8,.75);color:#f3eaec;box-shadow:none;border:1px solid rgba(255,255,255,.08)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .badge{background:rgba(10,7,8,.75);color:#f3eaec;box-shadow:none;border:1px solid rgba(255,255,255,.08)}}
.badge svg{width:14px;height:14px}
.b-hot svg{color:var(--hot);animation:flick 1.8s ease-in-out infinite}
.b-long svg{color:var(--sky)}.b-top svg{color:var(--gold)}.b-new svg{color:var(--violet)}
.b-justin svg{color:var(--online)}.b-cam svg{color:#ec4899}.b-fav svg{color:var(--heart)}.b-last svg{color:var(--busy)}.b-star svg{color:var(--gold)}
@keyframes flick{0%,100%{transform:scale(1) rotate(0)}30%{transform:scale(1.15) rotate(-6deg)}60%{transform:scale(.95) rotate(4deg)}}

.statusbar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.statusbar .t{display:flex;align-items:center;gap:8px}
.statusbar small{font-weight:600;text-transform:none;letter-spacing:0;font-size:12px;opacity:.95;font-variant-numeric:tabular-nums}
.s-online .statusbar{background:var(--online);color:#fff}
.s-busy .statusbar{background:var(--busy);color:#fff}
.s-off .statusbar{background:rgba(42,27,34,.78);color:#fff;backdrop-filter:blur(4px)}
.busyprog{position:absolute;left:0;bottom:0;height:3px;background:rgba(255,255,255,.55);transition:width 1s linear}

.info{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.info h3{margin:0;font-size:17px;font-weight:800}
.rating{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:800;color:var(--gold)}
.rating svg{width:14px;height:14px}
.tag{margin:0;font-size:14px;color:var(--muted)}
.facts{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--muted)}
.facts span{display:inline-flex;align-items:center;gap:4px}.facts svg{width:13px;height:13px;color:var(--brand)}
.meter{height:6px;border-radius:99px;background:var(--panel2);overflow:hidden}
.meter i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--hot))}
.meter-l{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:-4px;font-weight:600}
.cta{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:800;font-size:14px;padding:11px;border-radius:12px;border:1.5px solid transparent;cursor:pointer;width:100%}
.s-online .cta{background:var(--online);color:#fff}
.s-online .cta:hover{filter:brightness(1.06)}
.s-busy .cta,.s-off .cta{background:var(--soft);color:var(--brand)}
.s-busy .cta:hover,.s-off .cta:hover{border-color:var(--brand)}
.cta svg{width:16px;height:16px}
.cta.done{background:var(--online-bg)!important;color:var(--online)!important}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;list-style:none;padding:0;margin:0}
.steps li{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;gap:14px;box-shadow:var(--shadow)}
.steps .ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--soft);color:var(--brand);flex:none}
.steps .ic svg{width:22px;height:22px}
.steps h3{margin:0 0 2px;font-size:16px}.steps p{margin:0;font-size:14px;color:var(--muted)}
.prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.price{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px;text-align:center;position:relative;box-shadow:var(--shadow)}
.price b{display:block;font-size:24px;font-weight:800;color:var(--brand)}
.price small{color:var(--muted)}
.price.best{border:2px solid var(--brand)}
.price .flag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:800;background:var(--brand);color:var(--brand-ink);padding:2px 10px;border-radius:99px;white-space:nowrap}

footer{background:#2a1b22;color:#e8dbe0;padding:30px 0 100px;font-size:14px;margin-top:24px}
:root[data-theme="dark"] footer{background:#0a0708;border-top:1px solid var(--line)}
footer nav{display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 0 10px}footer a{text-decoration:none;opacity:.8}footer a:hover{opacity:1}
footer .logo svg{height:32px}
.note-x{border:1px dashed var(--line);border-radius:12px;padding:12px 14px;font-size:13px;color:var(--muted);margin-top:16px}

.sticky-call{position:fixed;left:12px;right:12px;bottom:12px;z-index:30;display:none;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-weight:800;padding:14px;border-radius:16px;background:var(--brand);color:var(--brand-ink);box-shadow:0 12px 30px color-mix(in srgb,var(--brand) 45%,transparent)}
.sticky-call .mini{font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;background:rgba(255,255,255,.22);display:inline-flex;align-items:center;gap:6px}

.toast{position:fixed;left:16px;bottom:16px;z-index:35;max-width:340px;display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--panel);border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,0,0,.25);font-size:13.5px;transform:translateY(20px);opacity:0;visibility:hidden;transition:transform .4s cubic-bezier(.2,.9,.3,1.2),opacity .3s,visibility .3s}
.toast.show{transform:none;opacity:1;visibility:visible}
.toast .av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:linear-gradient(135deg,#ffc2d6,#e0306f);color:#fff;flex:none}
.toast b{color:var(--online)}

.gate{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.gate[hidden]{display:none}
.gate-box{max-width:440px;width:100%;padding:30px 26px;border-radius:22px;text-align:center;background:var(--panel);border:1px solid var(--line);box-shadow:0 30px 80px rgba(42,27,34,.25)}
.gate-box .logo{justify-content:center;margin-bottom:14px}
.gate-badge{display:inline-block;margin:0 0 8px;font-weight:800;font-size:18px;padding:5px 14px;border-radius:99px;background:var(--brand);color:var(--brand-ink)}
.gate-box h2{margin:0 0 8px}.gate-box p{color:var(--muted)}
.gate-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.btn{cursor:pointer;border-radius:12px;padding:12px 18px;font-weight:800;border:1px solid var(--line);background:var(--panel)}
.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}

@media (max-width:900px){header nav{display:none}.hero .wrap{grid-template-columns:1fr}.podium{grid-template-columns:1fr}}
@media (max-width:720px){.sticky-call{display:flex}.hide-sm{display:none!important}.toast{bottom:84px;right:16px}.logo svg{height:32px}}
@media (max-width:560px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .photo{aspect-ratio:3/4}.photo::before{font-size:52px}
  .badges{top:6px;left:6px;right:6px;gap:4px}
  .badge{font-size:10px;padding:3px 7px 3px 5px}.badge svg{width:11px;height:11px}
  .badge:nth-child(n+3){display:none}
  .statusbar{padding:7px 8px;font-size:11px;letter-spacing:.3px}.statusbar small{font-size:10.5px}
  .s-online .statusbar small{display:none}
  .info{padding:10px;gap:6px}.info h3{font-size:15px}.rating{font-size:12px}
  .tag{font-size:12.5px;line-height:1.35}
  .facts{flex-direction:column;gap:2px;font-size:11px}
  .meter-l{font-size:10.5px}
  .cta{font-size:12.5px;padding:9px 6px;gap:5px}
  .cta .lng{display:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* ---------- Tillägg för hela sajten ---------- */
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;z-index:99;background:var(--panel);padding:8px 12px;border-radius:8px}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo.has-img::before{display:none}
.card .stretch{position:absolute;inset:0;z-index:1}
.card .cta,.card .js-notify{position:relative;z-index:2}
.crumbs{font-size:13px;color:var(--muted);padding:14px 0 0}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--brand)}
.pagehead{padding:26px 0 8px}.pagehead h1{font-size:clamp(28px,4vw,44px);line-height:1.1;margin:0 0 8px;font-weight:800;letter-spacing:-.02em}
.pagehead p{margin:0;color:var(--muted);max-width:680px}
.prose{max-width:760px;font-size:16.5px;line-height:1.7}
.prose h2{font-size:22px;margin:28px 0 8px}.prose p{margin:0 0 14px}
.prose a{color:var(--brand)}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}

/* Profil */
.profile{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:28px;align-items:start;padding-top:18px}
.profile .card{position:sticky;top:84px}
.profile .card:hover{transform:none}
.profile h1{font-size:clamp(28px,4vw,42px);margin:0 0 6px;font-weight:800;letter-spacing:-.02em}
.profile .lead{color:var(--muted);margin:0 0 16px}
.statbig{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:16px 0}
.statbig div{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px 14px}
.statbig b{display:block;font-size:20px;font-weight:800}.statbig small{color:var(--muted);font-size:12.5px}
.callbox{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--panel2);border-radius:18px;padding:16px;margin:16px 0}
.callbox .num{font-size:26px;font-weight:800;text-decoration:none;display:flex;align-items:center;gap:8px}
.callbox .num svg{color:var(--brand)}
.callbox .ext{font-weight:700;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.gallery a{position:relative;display:block;aspect-ratio:3/4;border-radius:14px;overflow:hidden;background:var(--panel2)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gallery a:hover img{transform:scale(1.04)}
.gallery .views{position:absolute;left:8px;bottom:8px;font-size:11.5px;font-weight:700;background:rgba(0,0,0,.6);color:#fff;padding:2px 8px;border-radius:99px}

/* Stor bild */
.bigpic{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start;padding-top:18px}
.bigpic figure{margin:0;border-radius:20px;overflow:hidden;background:var(--panel2)}
.bigpic figure img{display:block;width:100%;height:auto}
.bigpic figcaption{padding:12px 14px;font-size:14px;color:var(--muted)}
.pager{display:flex;justify-content:space-between;gap:10px;margin-top:12px}
.pager a{flex:1;text-align:center;text-decoration:none;font-weight:700;padding:10px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}

/* Flikar (sortering) */
.tabs{display:flex;gap:8px;overflow-x:auto;padding:6px 0 14px;scrollbar-width:none}
.tabs a{flex:none;text-decoration:none;font-size:14px;font-weight:600;padding:8px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}
.tabs a[aria-current=page]{background:var(--text);color:var(--bg);border-color:var(--text)}

/* Formulär */
.form{display:grid;gap:14px;max-width:560px}
.form label{display:grid;gap:6px;font-weight:700;font-size:14px}
.form input,.form select,.form textarea{font:inherit;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--panel);color:var(--text)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--brand);outline:none}
.form .btn{justify-self:start}
.buy{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.buy form{margin:0}
.buy .price{display:flex;flex-direction:column;gap:10px;height:100%}
.buy .price button{margin-top:auto;cursor:pointer;border:0;border-radius:12px;padding:11px;font-weight:800;background:var(--brand);color:var(--brand-ink)}
.buy .price.best button{box-shadow:0 8px 20px -8px var(--brand)}
.empty{padding:30px;text-align:center;color:var(--muted)}
.more{display:flex;justify-content:center;margin-top:18px}
.more a{text-decoration:none;font-weight:800;padding:12px 22px;border-radius:12px;background:var(--panel);border:1.5px solid var(--line)}
.more a:hover{border-color:var(--brand);color:var(--brand)}

@media (max-width:900px){.profile,.bigpic{grid-template-columns:1fr}.profile .card{position:relative;top:0}}
.info .h3{margin:0;font-size:17px;font-weight:800;line-height:1.3}
.gate-box .h2{font-size:24px;font-weight:800;margin:0 0 8px;color:var(--text)}
.card .meter-l svg{color:var(--hot)}
@media (max-width:560px){.info .h3{font-size:15px}}
.cta-note{margin:-2px 0 0;font-size:11.5px;color:var(--muted);text-align:center}
.cta-sms{background:var(--soft)!important;color:var(--brand)!important}
.smsbox .num{font-size:18px}
@media (max-width:560px){.cta-note{font-size:10.5px}}

/* ---------- Flaggor (gamification) ---------- */
.flags{display:flex;flex-wrap:wrap;gap:5px 6px}
.flag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:3px 9px 3px 7px;border-radius:99px;background:var(--panel2);color:var(--text);white-space:nowrap}
.flag svg{width:13px;height:13px;color:var(--brand)}
/* ikonfärger – samma för märken på bilden (b-), flaggor (f-) och utmärkelser (a-) */
.b-week svg,.f-week svg,.a-week .ic,.b-top svg,.f-top svg,.a-top .ic,.b-star svg,.f-star svg,.a-star .ic,.b-happy svg,.f-happy svg,.a-happy .ic,.b-veteran svg,.f-veteran svg,.a-veteran .ic{color:var(--gold)}
.b-hot svg,.f-hot svg,.a-hot .ic{color:var(--hot)}
.b-justIn svg,.f-justIn svg,.a-justIn .ic,.b-often svg,.f-often svg,.a-often .ic,.b-trend svg,.f-trend svg,.a-trend .ic{color:var(--online)}
.b-justOut svg,.f-justOut svg,.a-justOut .ic,.b-morning svg,.f-morning svg,.a-morning .ic,.b-evening svg,.f-evening svg,.a-evening .ic{color:var(--busy)}
.b-fav svg,.f-fav svg,.a-fav .ic,.b-newpic svg,.f-newpic svg,.a-newpic .ic{color:var(--heart)}
.b-long svg,.f-long svg,.a-long .ic,.b-blogg svg,.f-blogg svg,.a-blogg .ic{color:var(--sky)}
.b-night svg,.f-night svg,.a-night .ic,.b-isNew svg,.f-isNew svg,.a-isNew .ic{color:var(--violet)}
.b-day svg,.f-day svg,.a-day .ic{color:#b7791f}
.b-trend svg,.b-week svg{animation:pop 2.4s ease-in-out infinite}
@keyframes pop{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
.awards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.award{display:flex;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px 14px;box-shadow:var(--shadow)}
.award .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--panel2);flex:none}
.award .ic svg{width:22px;height:22px}
.award b{display:block;font-size:15px}.award small{color:var(--muted);font-size:13px;line-height:1.35}
.legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.legend .award{box-shadow:none;padding:10px 12px}
@media (max-width:560px){.flag{font-size:10.5px;padding:2px 7px 2px 5px}.flag svg{width:11px;height:11px}.flags{gap:4px}}
.b-month svg,.f-month svg,.a-month .ic{color:var(--gold)}
.b-record svg,.f-record svg,.a-record .ic{color:var(--hot)}
.b-langNo svg,.f-langNo svg,.a-langNo .ic,.b-langFi svg,.f-langFi svg,.a-langFi .ic,.b-langEn svg,.f-langEn svg,.a-langEn .ic{color:var(--sky)}
.b-month svg,.b-record svg{animation:pop 2.4s ease-in-out infinite}
.spotlight{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 16%,var(--panel)),var(--panel));border:1.5px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:24px;padding:20px;box-shadow:var(--shadow)}
.spotlight .card{max-width:300px}
.spotlight h2{margin:0 0 6px}
.spotlight .kicker{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--gold)}
@media (max-width:720px){.spotlight{grid-template-columns:1fr}.spotlight .card{max-width:none}}
.review{margin:12px 0 0;padding:14px 16px;border-radius:14px;background:var(--panel2);transition:opacity .4s;min-height:96px}
.review .stars{color:var(--gold);font-size:13px;letter-spacing:2px}
.review blockquote{margin:4px 0 6px;font-size:14.5px;font-style:italic;line-height:1.45}
.review figcaption{font-size:12.5px;color:var(--muted);font-weight:700}
.b-soon svg,.f-soon svg,.a-soon .ic{color:var(--busy)}
.b-soon svg{animation:pop 1.6s ease-in-out infinite}
.b-reliable svg,.f-reliable svg,.a-reliable .ic{color:var(--online)}
.c-month{text-decoration:none;color:var(--gold)}.c-month b{color:var(--text)}
.crownmark{position:absolute;top:-10px;right:-8px;z-index:3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f7d78b,#c99a4a);color:#5a3b00;box-shadow:0 6px 16px -4px rgba(201,154,74,.8);transform:rotate(14deg)}
.crownmark svg{width:22px;height:22px}
.card{overflow:visible}
.card .photo{border-radius:18px 18px 0 0;overflow:hidden}
.chips .morebtn{border-style:dashed;color:var(--muted)}
.chips .morebtn[aria-expanded=true]{border-style:solid;color:var(--brand);border-color:var(--brand)}
.morefilters{display:flex;flex-wrap:wrap;gap:6px;padding:10px;margin:0 0 12px;border-radius:14px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}
.morefilters[hidden]{display:none}
.morefilters button{cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:6px 11px;border-radius:99px;border:1px solid var(--line);background:var(--panel2)}
.morefilters button svg{width:14px;height:14px;color:var(--brand)}
.morefilters button[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}
.morefilters .n{font-size:11px;opacity:.6}
.muted{color:var(--muted);margin:0;font-size:13px}
.pricetable{width:100%;border-collapse:collapse;font-size:15px}
.pricetable th,.pricetable td{text-align:left;padding:9px 4px;border-bottom:1px solid var(--line)}
.pricetable th{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.faq{margin-top:22px}
.faq details{border-bottom:1px solid var(--line);padding:12px 0}
.faq summary{cursor:pointer;font-weight:800;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brand);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:8px 0 0;color:var(--muted)}
#markena{margin-top:28px}
.pod .av{overflow:hidden}
.pod .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.pod .av .dot{z-index:1}
.toast .av.has-img{background-size:cover;background-position:center top}

/* ---------- Uppskattat schema ---------- */
.schedule{margin:22px 0;padding:18px;border-radius:20px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}
.sch-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.sch-head h2{margin:0;font-size:20px}
.seg{display:inline-flex;padding:4px;border-radius:99px;background:var(--panel2)}
.seg button{cursor:pointer;border:0;background:transparent;padding:7px 16px;border-radius:99px;font-weight:700;font-size:14px;color:var(--muted)}
.seg button[aria-pressed=true]{background:var(--panel);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.sch-nav{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px;margin:14px 0 4px;text-align:center}
.sch-nav b{font-size:17px;text-transform:none}
.sch-nav button{cursor:pointer;border:0;border-radius:99px;background:var(--panel2);width:36px;height:36px;font-size:20px;font-weight:700;color:var(--text)}
.sch-nav .today{width:auto;padding:0 14px;font-size:13px}
.sch-nav .today:disabled{opacity:.45;cursor:default}
.sch-sum{text-align:center;color:var(--muted);margin:0 0 12px}
.sch-sum b{color:var(--text)}
.bars{display:grid;grid-template-columns:repeat(24,1fr);gap:3px;align-items:end;height:120px}
.bar{position:relative;background:color-mix(in srgb,var(--brand) 45%,var(--panel2));border-radius:4px 4px 0 0;min-height:3px}
.bar.now{background:var(--online)}
.bar.now span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:11px;font-weight:800;color:var(--online);padding-bottom:3px}
.axis{display:grid;grid-template-columns:repeat(8,1fr);font-size:11.5px;color:var(--muted);margin-top:6px}
.sch-note{font-size:12.5px;color:var(--muted);margin:12px 0 0}
.heat{display:grid;gap:3px;margin-top:14px}
.hrow{display:grid;grid-template-columns:38px repeat(24,1fr);gap:3px;align-items:center}
.hrow .hd{font-size:12px;font-weight:700;color:var(--muted);text-transform:capitalize}
.hrow .hd.is-today{color:var(--brand)}
.hrow i{display:block;height:18px;border-radius:3px;background:var(--brand)}
.hrow i.now{outline:2px solid var(--online);outline-offset:1px}
.haxis{display:grid;grid-template-columns:38px repeat(8,1fr);font-size:11px;color:var(--muted);margin-top:6px}
@media (max-width:560px){.bars{height:90px;gap:2px}.hrow{grid-template-columns:30px repeat(24,1fr);gap:2px}.hrow i{height:14px}.haxis{grid-template-columns:30px repeat(8,1fr)}}

/* =====================================================================
   MOBILANPASSNING (genomgång 2026-11-05)
   ===================================================================== */
/* Text som kan bli lång bryts i stället för att göra sidan bredare */
.prose,.info,.tag,.award,.faq{overflow-wrap:anywhere}
.prose img,.prose table,.prose iframe{max-width:100%;height:auto}
.flag{max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* ---- Menyknapp och meny ---- */
.menubtn{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--panel);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0}
.menubtn span{display:block;width:18px;height:2px;border-radius:2px;background:var(--text);transition:transform .2s,opacity .2s}
.menubtn[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menubtn[aria-expanded=true] span:nth-child(2){opacity:0}
.menubtn[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mnav-bg{position:fixed;inset:0;z-index:44;background:rgba(15,8,12,.45);backdrop-filter:blur(2px)}
.mnav-bg[hidden],.mnav[hidden]{display:none}
.mnav{position:fixed;top:0;right:0;bottom:0;z-index:45;width:min(86vw,340px);background:var(--panel);box-shadow:-20px 0 60px rgba(0,0,0,.25);padding:78px 14px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;animation:slidein .22s ease-out}
@keyframes slidein{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.mnav a{display:flex;align-items:center;gap:12px;min-height:50px;padding:0 12px;border-radius:12px;text-decoration:none;font-weight:700;font-size:16px}
.mnav a svg{width:20px;height:20px;color:var(--brand)}
.mnav a:hover,.mnav a[aria-current=page]{background:var(--soft)}
.mnav .mnav-call{background:var(--brand);color:var(--brand-ink);margin-bottom:10px;min-height:62px}
.mnav .mnav-call svg{color:var(--brand-ink)}
.mnav .mnav-call small{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;opacity:.85}
.mnav .mnav-call b{display:block;font-size:20px}
.mnav-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--online)}
body.menu-open{overflow:hidden}
body.menu-open header{z-index:46}

@media (max-width:900px){
  .menubtn{display:inline-flex}
  header .wrap{height:60px}
  .logo svg{height:30px}
  /* Värdinnorna direkt efter hjältesektionen, topplistan efter */
  main{display:flex;flex-direction:column}
  main > *{width:100%}
  main > .hero{order:-2}
  main > #vardinnor{order:-1}
}

@media (max-width:720px){
  /* ---- Hjältesektion: kompakt ---- */
  .hero .wrap{padding-top:16px;padding-bottom:6px;gap:14px}
  .hero h1{font-size:clamp(25px,7vw,30px);margin-bottom:8px}
  .hero p.lead{font-size:15px;margin-bottom:12px}
  .counters{gap:6px;margin-bottom:12px}
  .counter{font-size:12.5px;padding:5px 10px}
  .phonebox{padding:12px;border-radius:16px}
  .phonebox > small,.phonebox .num,.phonebox ul{display:none}   /* telefonnumret finns i ringknappen längst ner */
  .ticker{font-size:13px;min-height:40px}
  .review{min-height:0;padding:12px}
  .review blockquote{font-size:14px}

  /* ---- Filter och flikar: lätta att träffa ---- */
  .chips button,.tabs a{min-height:40px;font-size:14px}
  .morefilters button{min-height:38px}
  section{padding:18px 0}
  .sec-head{margin-bottom:8px}
  .sec-head h2,section h2{font-size:22px}

  /* ---- Sidrubriker och textsidor ---- */
  .pagehead{padding:16px 0 6px}
  .pagehead h1,.profile h1,.bigpic h1{font-size:clamp(24px,7vw,30px)}
  .prose{font-size:16px}
  .crumbs{padding-top:10px}

  /* ---- Profil ---- */
  .profile{gap:16px;padding-top:10px}
  .profile .card .photo{aspect-ratio:1/1;max-height:56vh}
  .callbox{padding:12px;gap:8px}
  .callbox .num{font-size:22px}
  .statbig{grid-template-columns:1fr 1fr}
  .awards{grid-template-columns:1fr}
  .schedule{padding:14px;margin:16px 0}

  /* ---- Ringknappen längst ner får aldrig bli bredare än skärmen ---- */
  .sticky-call{left:10px;right:10px;max-width:calc(100vw - 20px);white-space:nowrap;font-size:15.5px;gap:8px;padding:13px 10px;overflow:hidden}
  .sticky-call .mini{font-size:11.5px;padding:3px 8px}

  /* ---- Sidfot ---- */
  footer nav{gap:2px 18px}
  footer nav a{display:inline-block;padding:8px 0}
}

@media (max-width:560px){
  /* ---- Kort i två kolumner: läsbart och träffbart ---- */
  .grid{gap:10px}
  .badge{font-size:11px;padding:3px 8px 3px 6px}
  .badge svg{width:12px;height:12px}
  .statusbar{font-size:11.5px;padding:7px 8px}
  .statusbar small{font-size:11px}
  .info{padding:10px 10px 12px}
  .info .h3{font-size:15px}
  .tag{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .flags .flag:nth-child(n+3){display:none}   /* högst två små flaggor under namnet */
  .flag{font-size:11.5px;padding:3px 8px 3px 6px}
  .meter-l{font-size:11px}
  .cta{font-size:13.5px;min-height:42px;padding:9px 6px}
  .cta-note{font-size:11.5px}
  .crownmark{width:32px;height:32px;top:-8px;right:-6px}
  .crownmark svg{width:18px;height:18px}
  .pod{padding:12px}
}

@media (max-width:380px){
  .sticky-call .mini{display:none}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .info .h3{font-size:14px}
}
/* Smala kort: betyg och statustext bryts inte */
.rating{white-space:nowrap;flex:none}
.row{min-width:0}.row .h3{min-width:0}
.statusbar{gap:6px}
.statusbar .t{flex:none}
.statusbar small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
@media (max-width:380px){.statusbar .t{font-size:11px;letter-spacing:.2px}.statusbar small{font-size:11px}}
