/* Festlokalsguiden (2026-10-09, DEV-forhandsvisning): guiden /festlokaler-ny.html
   och lokalprofilerna /festlokaler/<nyckel>.html. Egen fil sa att styles.css -
   och darmed ?v= pa alla sidor - inte andras. */
.fl-hero .teknik-hero-text p{max-width:640px}
.fl-facts{display:flex;flex-wrap:wrap;gap:10px 18px;margin:18px 0 0;padding:0;list-style:none;font-size:14px;font-weight:700;color:#dbe8ff}
.fl-facts li::before{content:"✓ ";color:var(--blue2)}

/* ---------- Sok och filter (oforandrad logik) ---------- */
.fl-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:0 0 14px}
.fl-filters label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;color:var(--ink)}
.fl-filters input,.fl-filters select{border:1px solid #cfd7e3;border-radius:8px;padding:11px 12px;font:inherit;font-size:14px;background:#fff;color:var(--ink);min-width:0}
.fl-filters input:focus-visible,.fl-filters select:focus-visible,.fl-chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.fl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;border:0}
.fl-chips legend{font-size:13px;font-weight:800;margin:0 0 8px;padding:0;width:100%}
.fl-chip{min-height:44px;border:1px solid #cfd7e3;background:#fff;color:var(--ink);border-radius:999px;padding:8px 16px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.fl-chip[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.fl-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 6px;font-size:14px;color:var(--muted)}
.fl-status p{margin:0;font-weight:700;color:var(--ink)}
.fl-reset{min-height:44px;border:0;background:none;color:var(--blue);font:inherit;font-weight:800;cursor:pointer;padding:4px 0}
.fl-disclaimer{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 20px}
.fl-cap-note{font-size:13px;line-height:1.5;color:var(--ink);background:#eef6ff;border-left:3px solid var(--blue);border-radius:6px;padding:8px 12px;margin:0 0 10px}
.fl-cap-note[hidden]{display:none}

/* ---------- Ikoner ---------- */
.fl-meta .icon,.fl-pill .icon,.fl-site-link .icon,.fl-btn .icon,.fl-p-keyfacts .icon,.fl-p-sec h2 .icon,.fl-p-facility .icon,.fl-demo-banner .icon,.fl-gal-nav .icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;flex:none}

/* ---------- Bildytor (16:9) och platshallare ---------- */
.fl-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0b1830}
.fl-media img{width:100%;height:100%;object-fit:cover;display:block}
.fl-media-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px;text-align:center;color:#fff;
  background:
    linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.06) 38% 40%,transparent 40% 62%,rgba(255,255,255,.05) 62% 63%,transparent 63%),
    radial-gradient(70% 80% at 80% 0%,rgba(33,160,255,.45),transparent 65%),
    radial-gradient(60% 70% at 15% 100%,rgba(212,175,95,.22),transparent 65%),
    linear-gradient(160deg,#07152b,#0c2550 55%,#0a1a38)}
.fl-ph-icon .icon{width:30px;height:30px;stroke:#d9b56a;fill:none;stroke-width:1.5}
.fl-ph-name{font-size:18px;font-weight:800;letter-spacing:.01em;line-height:1.25;max-width:88%}
.fl-ph-sub{font-size:13px;font-weight:700;color:#bcd6ff;letter-spacing:.08em;text-transform:uppercase}
.fl-media-note{position:absolute;right:10px;bottom:10px;font-size:11px;font-weight:700;background:rgba(2,10,24,.55);color:#dbe8ff;padding:4px 8px;border-radius:6px}

/* ---------- Lokalkort ---------- */
.fl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.fl-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(2,16,45,.07);transition:box-shadow .2s,transform .2s}
.fl-card:hover{box-shadow:0 16px 36px rgba(2,16,45,.14);transform:translateY(-3px)}
.fl-card[hidden]{display:none}
.fl-card-media{position:relative;display:block;text-decoration:none}
.fl-card .fl-media img{transition:transform .4s}
.fl-card:hover .fl-media img{transform:scale(1.03)}
.fl-pill{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--ink);font-size:12px;font-weight:800;box-shadow:0 2px 8px rgba(2,10,24,.18)}
.fl-pill .icon{color:var(--blue)}
/* Bildkredit pa guidens kort (2026-10-11): utanfor kortlanken, kort etikett som falls ut till fotograf, kalla, licens och bearbetning (lankar). */
.fl-card-top{position:relative}
.fl-cc{position:absolute;right:0;bottom:0;max-width:100%;z-index:2;font-size:10.5px;line-height:1.3;color:#fff}
.fl-cc[open]{left:0}
.fl-cc summary{display:flex;align-items:center;gap:5px;margin-left:auto;width:max-content;max-width:100%;padding:3px 8px;background:rgba(2,9,24,.62);border-top-left-radius:6px;cursor:pointer;list-style:none}
.fl-cc summary::-webkit-details-marker{display:none}
.fl-cc summary::after{content:"i";flex:none;display:grid;place-items:center;width:12px;height:12px;border:1px solid rgba(255,255,255,.8);border-radius:50%;font:700 8.5px/1 Georgia,serif}
.fl-cc[open] summary::after{content:"×";font:700 11px/1 Arial,sans-serif;border-color:transparent}
.fl-cc summary span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-cc summary:hover,.fl-cc[open] summary{background:rgba(2,9,24,.85)}
.fl-cc summary:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.fl-cc p{position:absolute;left:0;right:0;bottom:100%;margin:0;padding:8px 10px;background:rgba(2,9,24,.9);font-size:12px;line-height:1.45}
.fl-cc a{color:#9fd0ff;text-decoration:underline;text-underline-offset:2px}
.fl-cc a:hover{color:#fff}
.fl-gal-credit{margin:8px 2px 0;font-size:12.5px;line-height:1.45;color:#5b6b85}
.fl-gal-credit a,.fl-p-sources a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.fl-p-sources ol{margin:0 0 10px;padding-left:20px;font-size:13.5px;line-height:1.55;color:#42506a}
.fl-p-sources li{margin:4px 0}
.fl-p-sources p{font-size:13px;color:#5b6b85;margin:0}
.fl-body{display:flex;flex-direction:column;gap:10px;padding:18px 18px 20px;flex:1}
.fl-facility,.fl-area{margin:0;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.fl-name{margin:0;font-size:20px;line-height:1.25}
.fl-name a{color:var(--ink);text-decoration:none}
.fl-name a:hover{color:var(--blue)}
.fl-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;font-size:14px;font-weight:700;color:var(--ink)}
.fl-meta span{display:inline-flex;align-items:center;gap:5px}
.fl-meta .icon{color:var(--blue)}
.fl-desc{margin:0;font-size:14px;line-height:1.55;color:#2d3441;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fl-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.fl-tags li{font-size:12px;font-weight:700;background:#eef4ff;color:#0b3a78;border-radius:999px;padding:4px 10px}
.fl-tags li[hidden]{display:none}
.fl-tags li.fl-tag-more{background:#fff;border:1px dashed #9fb6d8;color:#0b3a78;padding:3px 9px}
.fl-tags li a{color:inherit;text-decoration:none}
.fl-tags li a:hover{text-decoration:underline}
.fl-p-taggroups{display:grid;gap:10px}
.fl-p-taggroup span{display:block;margin:0 0 5px;font-size:11px;font-weight:700;color:var(--muted)}
.fl-more{flex-basis:100%}
.fl-more>summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 16px;border:1px dashed #9fb6d8;border-radius:999px;background:#fff;color:var(--ink);font-size:13px;font-weight:700;cursor:pointer;list-style:none}
.fl-more>summary::-webkit-details-marker{display:none}
.fl-more>summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:2px}
.fl-more[open]>summary::after{transform:rotate(-135deg) translateY(-1px)}
.fl-more>summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.fl-more-count{color:var(--blue)}
.fl-more-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.fl-more-group[hidden],.fl-more[hidden]{display:none}
.fl-more-group p{flex-basis:100%;margin:2px 0 0;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fl-actions{margin-top:auto;padding-top:8px;display:flex;align-items:center;gap:12px}
.fl-btn-main{flex:1;justify-content:center;padding:12px 16px;min-height:44px;box-sizing:border-box}
.fl-site-link{min-height:44px;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:800;color:var(--blue);text-decoration:none;padding:10px 4px}
.fl-site-link:hover{text-decoration:underline}
.fl-site-link:focus-visible,.fl-name a:focus-visible,.fl-thumb:focus-visible,.fl-gal-nav:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.fl-empty{padding:28px;border:1px dashed #cfd7e3;border-radius:14px;text-align:center;color:var(--muted)}

/* ---------- Sektioner under katalogen ---------- */
.fl-owners,.fl-kf{border:1px solid var(--line);border-radius:16px;padding:26px;background:#f6f9fe}
.fl-owners h2,.fl-kf h2{margin:0 0 10px;font-size:24px}
.fl-owners p,.fl-kf p{margin:0 0 12px;line-height:1.6;color:#2d3441}
.fl-owners ul{margin:0 0 16px;padding-left:20px;line-height:1.7}
.fl-kf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.fl-kf-grid a{display:block;border:1px solid var(--line);border-radius:12px;background:#fff;padding:16px;text-decoration:none;color:var(--ink)}
.fl-kf-grid a strong{display:block;margin-bottom:4px;color:var(--blue)}
.fl-kf-grid a span{font-size:14px;color:var(--muted)}

/* ---------- Lokalprofil ---------- */
.fl-profile-page{padding-bottom:56px;background:linear-gradient(#f4f7fc,#fff 420px)}
.fl-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:22px 0 16px;font-size:14px;color:var(--muted)}
.fl-crumbs a{color:var(--blue);font-weight:700;text-decoration:none}
.fl-crumbs a:hover{text-decoration:underline}
.fl-p-head{max-width:820px;margin:0 0 22px}
.fl-p-head .fl-p-h1{margin:6px 0 10px;font-size:38px;line-height:1.12}
.fl-p-lead{margin:0;font-size:17px;line-height:1.65;color:#2d3441}
.fl-p-label{margin:4px 0 -4px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fl-p-social{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700}
.fl-p-social .icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;color:var(--blue)}
.fl-p-social a{color:var(--blue)}
.fl-p-related p{margin:0 0 6px;font-size:14px;color:var(--muted)}
.fl-p-related ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.fl-p-related li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.fl-p-related a{color:var(--blue);font-weight:800;text-decoration:none}
.fl-p-related a:hover{text-decoration:underline}
.fl-p-related span{font-size:13px;color:var(--muted)}
.fl-p-top{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:28px;align-items:start}
.fl-gallery{display:flex;flex-direction:column;gap:12px}
.fl-gallery-main{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/9;background:#0b1830;box-shadow:0 18px 40px rgba(2,16,45,.18)}
.fl-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}
.fl-gallery .fl-media-lg{border-radius:18px;box-shadow:0 18px 40px rgba(2,16,45,.18)}
.fl-gallery .fl-media-lg .fl-ph-name{font-size:26px}
.fl-gallery-hint{margin:0;font-size:13px;color:var(--muted)}
.fl-demo-badge{position:absolute;left:12px;top:12px;padding:6px 10px;border-radius:8px;background:#ffd166;color:#3a2a00;font-size:12px;font-weight:800;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.fl-demo-banner{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px 14px;border-radius:12px;background:#fff8e1;border:1px solid #ffe08a;font-size:13px;line-height:1.5;color:#4a3a00}
.fl-demo-banner .icon{margin-top:2px;color:#b8860b}
.fl-gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px rgba(2,10,24,.25)}
.fl-gal-nav .icon{width:20px;height:20px}
.fl-gal-prev{left:12px}.fl-gal-next{right:12px}
.fl-gal-count{position:absolute;right:12px;bottom:12px;padding:4px 10px;border-radius:999px;background:rgba(2,10,24,.6);color:#fff;font-size:12px;font-weight:700}
.fl-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.fl-thumb{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;cursor:pointer;background:#e9eef6;aspect-ratio:16/9}
.fl-thumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:.75;transition:opacity .2s}
.fl-thumb:hover img,.fl-thumb[aria-current="true"] img{opacity:1}
.fl-thumb[aria-current="true"]{border-color:var(--blue)}
.fl-p-card{position:sticky;top:96px;display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(2,16,45,.08)}
.fl-p-keyfacts{list-style:none;margin:4px 0;padding:0;display:grid;gap:10px}
.fl-p-keyfacts li{display:flex;gap:10px;align-items:flex-start}
.fl-p-keyfacts .icon{width:20px;height:20px;color:var(--blue);margin-top:2px}
.fl-p-keyfacts span{display:flex;flex-direction:column;font-size:15px;font-weight:700}
.fl-p-keyfacts strong{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fl-p-quick{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.fl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.fl-btn-ghost{background:#fff;color:var(--blue);border:1px solid #bcd3f5;box-shadow:none}
.fl-btn-ghost:hover{border-color:var(--blue);background:#f2f7ff}
.fl-p-direct{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.fl-p-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:28px;margin-top:34px;align-items:start}
.fl-p-content{display:flex;flex-direction:column;gap:18px}
.fl-p-sec{padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:#fff}
.fl-p-sec h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:19px}
.fl-p-sec h2 .icon{width:20px;height:20px;color:var(--blue)}
.fl-p-intro p{margin:0;font-size:16px;line-height:1.7;color:#2d3441}
.fl-p-siblings{margin:14px 0 0!important;font-size:14px!important}
.fl-p-siblings a{color:var(--blue);font-weight:800}
.fl-p-facts{display:grid;grid-template-columns:minmax(140px,auto) 1fr;gap:10px 18px;margin:0;font-size:15px}
.fl-p-facts dt{font-weight:800;color:var(--ink)}
.fl-p-facts dd{margin:0;color:#2d3441;overflow-wrap:anywhere}
.fl-p-facts a{color:var(--blue)}
.fl-p-ask,.fl-p-verified{margin:0;font-size:13px;line-height:1.6;color:var(--muted)}
.fl-p-side{display:flex;flex-direction:column;gap:18px}
.fl-p-kf,.fl-p-owner{padding:22px 24px;border-radius:16px}
.fl-p-kf{background:#f6f9fe;border:1px solid var(--line)}
.fl-p-kf h2,.fl-p-owner h2{margin:0 0 8px;font-size:18px}
.fl-p-kf p,.fl-p-owner p{margin:0 0 12px;font-size:14px;line-height:1.6}
.fl-p-kf ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.fl-p-kf a{color:var(--blue);font-weight:800;text-decoration:none}
.fl-p-kf a::after{content:" →"}
.fl-p-kf a:hover{text-decoration:underline}
.fl-p-owner{background:linear-gradient(135deg,var(--navy2),#0b2c5c);color:#e8f0ff}
.fl-p-owner h2{color:#fff}
.fl-p-owner .btn{display:inline-flex}
.fl-p-back{margin-top:28px;font-weight:800}
.fl-p-back a{color:var(--blue);text-decoration:none}

@media (max-width:980px){
  .fl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fl-kf-grid{grid-template-columns:1fr}
  .fl-p-top,.fl-p-main{grid-template-columns:1fr}
  .fl-p-card{position:static}
}
@media (max-width:640px){
  .fl-filters{grid-template-columns:1fr}
  .fl-grid{grid-template-columns:1fr;gap:18px}
  .fl-owners,.fl-kf{padding:20px}
  .fl-p-head .fl-p-h1{font-size:28px}
  .fl-p-lead{font-size:16px}
  .fl-p-card,.fl-p-sec,.fl-p-kf,.fl-p-owner{padding:18px}
  .fl-p-facts{grid-template-columns:1fr;gap:2px 0}
  .fl-p-facts dd{margin-bottom:10px}
  .fl-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .fl-gal-nav{width:36px;height:36px}
}
@media (prefers-reduced-motion:reduce){.fl-card,.fl-card .fl-media img{transition:none}.fl-card:hover{transform:none}.fl-card:hover .fl-media img{transform:none}}
