:root{--bg:#07080c;--panel:rgba(255,255,255,.075);--text:#f5f1e8;--muted:#b8b3aa;--line:rgba(255,255,255,.15);--gold:#d8b56d;--danger:#ff6b6b;--ok:#7ee0a3;--shadow:0 24px 90px rgba(0,0,0,.36)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:#07080c;color:var(--text);min-height:100vh;overflow-x:hidden}.site-bg{position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 18% 4%,rgba(74,91,139,.62) 0,rgba(34,42,68,.34) 24%,transparent 48%),radial-gradient(circle at 72% 38%,rgba(216,181,109,.20) 0,rgba(216,181,109,.08) 16%,transparent 34%),linear-gradient(135deg,#111725 0%,#07080c 46%,#030409 100%)}.site-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,8,12,.08),rgba(7,8,12,.60) 88%)}.noise:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.055;background-image:url('data:image/svg+xml,%3Csvg viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="n"%3E%3CfeTurbulence type="fractalNoise" baseFrequency=".9" numOctaves="4" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23n)"/%3E%3C/svg%3E');z-index:-1}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,92vw);margin:auto}.nav{display:flex;justify-content:space-between;align-items:center;padding:24px 0}.brand{font-size:22px;font-weight:850;letter-spacing:-.02em}.pill,.btn{border:1px solid var(--line);background:rgba(255,255,255,.075);color:var(--text);border-radius:999px;padding:11px 16px;display:inline-flex;gap:8px;align-items:center;justify-content:center;cursor:pointer;transition:.25s;font-weight:750}.btn:hover,.pill:hover{transform:translateY(-1px);border-color:rgba(216,181,109,.55);box-shadow:0 12px 40px rgba(216,181,109,.12)}.btn.small{padding:8px 12px;font-size:14px}.ghost{background:rgba(255,255,255,.035)}.hero{padding:86px 0 70px;position:relative;overflow:visible}.hero-glass{position:relative;z-index:1}.hero h1{font-size:clamp(46px,9vw,116px);line-height:.9;margin:0;letter-spacing:-.075em;max-width:1050px}.hero p{font-size:clamp(17px,2vw,23px);color:var(--muted);max-width:720px;line-height:1.6;font-weight:600}.album-hero{padding-bottom:42px}.orb{position:absolute;right:4vw;top:30px;width:min(440px,42vw);height:min(440px,42vw);border-radius:50%;background:radial-gradient(circle,#fff6 0,#d8b56d35 22%,transparent 64%);filter:blur(12px);animation:float 9s ease-in-out infinite;opacity:.72}@keyframes float{50%{transform:translateY(24px) translateX(-16px)}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;padding:22px 0 70px}.card{position:relative;min-height:350px;border-radius:30px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035));border:1px solid var(--line);box-shadow:var(--shadow);isolation:isolate}.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.94) contrast(1.05);transition:transform .8s ease}.card:hover img{transform:scale(1.06)}.card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 28% 0%,rgba(255,255,255,.32),transparent 28%);z-index:1;opacity:.55}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03) 15%,rgba(0,0,0,.86));z-index:1}.card .meta{position:absolute;inset:auto 22px 22px;z-index:2}.card h2{margin:0 0 8px;font-size:27px;letter-spacing:-.03em}.muted{color:var(--muted)}.lock{position:absolute;top:18px;right:18px;z-index:3;backdrop-filter:blur(14px)}.panel{background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}.empty-state{margin:18px 0 35px}input,textarea,select{width:100%;background:rgba(255,255,255,.085);border:1px solid var(--line);color:var(--text);border-radius:16px;padding:13px 14px;margin:7px 0 15px;font:inherit;outline:none}input:focus,textarea:focus{border-color:rgba(216,181,109,.55);box-shadow:0 0 0 3px rgba(216,181,109,.10)}label{font-weight:800;font-size:14px;display:block}.gallery{columns:4 240px;column-gap:16px;padding-bottom:80px}.photo{break-inside:avoid;margin:0 0 16px;border-radius:22px;overflow:hidden;cursor:zoom-in;border:1px solid var(--line);background:#111;position:relative}.photo img{width:100%;display:block;transition:.35s}.photo:hover img{transform:scale(1.025);filter:brightness(1.08)}.admin-gallery .photo{cursor:default}.admin-gallery .photo .btn{position:absolute;right:10px;bottom:10px}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:99}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:86vh;border-radius:18px;box-shadow:0 30px 100px #000}.lb-btn{position:fixed;z-index:100;background:rgba(255,255,255,.1);border:1px solid var(--line);color:white;border-radius:999px;width:48px;height:48px;font-size:24px;cursor:pointer}.lb-close{top:24px;right:24px}.lb-prev{left:24px}.lb-next{right:24px}.adminbar{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 24px}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--line);padding:14px 12px;text-align:left;vertical-align:middle}.danger{background:rgba(255,107,107,.12);border-color:rgba(255,107,107,.45)}.success{background:rgba(126,224,163,.12);border:1px solid rgba(126,224,163,.35);padding:12px 14px;border-radius:16px}.error{background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.35);padding:12px 14px;border-radius:16px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.section-head h1,.section-head h2{margin:0 0 8px}.below{margin:32px 0 14px}.admin-form{display:grid;gap:18px}.form-section{border:1px solid rgba(255,255,255,.11);border-radius:22px;padding:18px;background:rgba(255,255,255,.035)}.form-section.compact{padding:14px 16px}.form-section h2{margin:0 0 14px;font-size:20px}.check-row{display:flex;align-items:center;gap:10px;margin:8px 0}.check-row input{width:auto;margin:0}.help{margin:-2px 0 14px;color:var(--muted);font-size:14px}.file-input{padding:18px}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.delete-box{margin-top:24px;border:1px solid rgba(255,107,107,.35);background:rgba(255,107,107,.07);border-radius:22px;padding:18px}.footer{padding:10px 0 45px;color:var(--muted);font-size:14px}@media(max-width:700px){.hero{padding:45px 0}.nav{gap:12px}.adminbar,.form-actions{flex-direction:column}.btn,.pill{justify-content:center}.table{font-size:14px}.table th:nth-child(4),.table td:nth-child(4){display:none}.section-head{flex-direction:column}.hero h1{letter-spacing:-.06em}}

.actions-cell{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.share-btn{min-width:72px}.share-btn:disabled{cursor:default;opacity:.9}.admin-note{margin-top:14px;padding:10px 14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.05)}

/* v1.4 navigation */
.footer a{color:inherit;text-decoration:none;transition:.2s}
.footer a:hover{color:var(--text)}
.admin-brand{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.admin-brand a{color:inherit;text-decoration:none}
.adminpanel-link{color:var(--muted)!important;font-size:.82em;font-weight:800;letter-spacing:-.02em}
.adminpanel-link:hover{color:var(--text)!important}
.admin-titlebar{align-items:center}
@media(max-width:700px){.admin-titlebar{align-items:flex-start}.admin-brand{line-height:1.15}.adminpanel-link{font-size:.78em}}


/* v1.6 levande premiumbakgrund + mobil-safearea */
:root{--deep:#02030a;--ink:#060814;--blueglow:rgba(40,112,205,.32);--tealglow:rgba(38,196,180,.20);--warmglow:rgba(216,181,109,.18);}
html{background:var(--deep);min-height:100%;}
body{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);background:var(--deep);}
.site-bg{background:
  radial-gradient(ellipse at 12% -8%,rgba(105,128,205,.42) 0%,rgba(52,70,124,.20) 28%,transparent 55%),
  radial-gradient(ellipse at 82% 12%,rgba(216,181,109,.22) 0%,rgba(216,181,109,.08) 28%,transparent 55%),
  radial-gradient(ellipse at 50% 72%,rgba(26,177,165,.18) 0%,rgba(17,68,92,.12) 36%,transparent 66%),
  linear-gradient(145deg,#10182b 0%,#070913 42%,#02030a 100%);}
.site-bg:before{content:"";position:absolute;inset:-18%;background:
  conic-gradient(from 210deg at 24% 30%,transparent 0deg,rgba(84,130,230,.24) 48deg,transparent 120deg,rgba(38,196,180,.14) 190deg,transparent 270deg,rgba(216,181,109,.14) 318deg,transparent 360deg);
  filter:blur(52px);opacity:.74;animation:slowDrift 24s ease-in-out infinite alternate;}
.site-bg:after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(2,3,10,.08) 0%,rgba(2,3,10,.34) 48%,rgba(2,3,10,.76) 100%),
  radial-gradient(circle at 50% 15%,rgba(255,255,255,.06),transparent 34%);}
@keyframes slowDrift{0%{transform:translate3d(-2%,0,0) rotate(-3deg) scale(1.02)}100%{transform:translate3d(3%,2%,0) rotate(4deg) scale(1.08)}}
.noise:before{opacity:.075;mix-blend-mode:screen;}
.orb{background:radial-gradient(circle,rgba(255,255,255,.58) 0%,rgba(216,181,109,.30) 18%,rgba(86,147,255,.12) 42%,transparent 68%);filter:blur(18px);opacity:.78;}
.hero:before{content:"";position:absolute;left:-8vw;right:-8vw;bottom:10px;height:170px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);filter:blur(20px);opacity:.55;transform:skewY(-3deg);}
.card{background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.035));box-shadow:0 28px 100px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.10);}
.card:hover{border-color:rgba(216,181,109,.42);box-shadow:0 34px 120px rgba(0,0,0,.52),0 0 46px rgba(84,130,230,.10),inset 0 1px 0 rgba(255,255,255,.14);}
.card:before{background:radial-gradient(circle at 25% 0%,rgba(255,255,255,.38),transparent 30%),linear-gradient(115deg,transparent 0%,rgba(255,255,255,.08) 42%,transparent 62%);opacity:.72;}
.panel,input,textarea,select{box-shadow:inset 0 1px 0 rgba(255,255,255,.07);}

/* Fast toppmask som gör scroll under iPhone-statusfält snyggt. Ingen mobil-bottenoverlay. */
body::before{content:"";position:fixed;left:0;right:0;top:0;height:calc(94px + env(safe-area-inset-top));pointer-events:none;z-index:80;background:linear-gradient(180deg,rgba(2,3,10,1) 0%,rgba(2,3,10,.98) calc(18px + env(safe-area-inset-top)),rgba(2,3,10,.74) 58%,rgba(2,3,10,0) 100%);}
body::after{content:none!important;display:none!important;}
.lightbox{z-index:120}.lb-btn{z-index:130}
@media(max-width:700px){
  .wrap{width:min(100% - 34px,1180px);}
  .nav{padding-top:calc(54px + env(safe-area-inset-top));padding-bottom:14px;}
  .hero{padding-top:calc(42px + env(safe-area-inset-top));padding-bottom:54px;}
  .hero h1{font-size:clamp(44px,14.5vw,66px);line-height:.94;letter-spacing:-.065em;max-width:100%;}
  .hero p{font-size:clamp(18px,5vw,23px);line-height:1.55;margin-top:25px;}
  .grid{grid-template-columns:1fr;gap:22px;padding-top:28px;padding-bottom:calc(130px + env(safe-area-inset-bottom));}
  .card{min-height:330px;border-radius:28px;}
  .footer{padding-bottom:calc(118px + env(safe-area-inset-bottom));}
  .site-bg:before{inset:-35%;filter:blur(46px);opacity:.68;animation-duration:30s;}
  .site-bg:after{background:linear-gradient(180deg,rgba(2,3,10,.02) 0%,rgba(2,3,10,.26) 42%,rgba(2,3,10,.74) 100%);}
}
@media(max-width:380px){
  .hero h1{font-size:clamp(40px,14vw,58px);}
  .hero p{font-size:18px;}
  .wrap{width:min(100% - 28px,1180px);}
}


/* v1.7: mobil utan sidledsdrag, tydligare iPhone-safearea och renare albumkort */
html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y;background:#02030a;}
body{position:relative;}
.wrap,.nav,.hero,.grid,.gallery,.panel,.card,.photo{max-width:100%;}
img,video,canvas,svg{max-width:100%;}
.site-bg{left:0;right:0;width:100vw;max-width:100vw;overflow:hidden;}

/* Gör bilder mindre gråa i viloläge och undvik att hover-transition lämnar en matt hinna. */
.card img{filter:saturate(1.08) contrast(1.04) brightness(1.01);will-change:transform;}
.card:hover img{filter:saturate(1.12) contrast(1.07) brightness(1.04);}
.card:after{background:linear-gradient(180deg,rgba(0,0,0,0) 12%,rgba(0,0,0,.18) 54%,rgba(0,0,0,.72) 100%);}
.card:before{pointer-events:none;}

/* Låsta album: bilden finns kvar men döljs av dimma/blur tills albumet är upplåst. */
.card.locked-obscured img{filter:blur(13px) saturate(.48) contrast(.9) brightness(.58);transform:scale(1.08);}
.card.locked-obscured:hover img{filter:blur(11px) saturate(.55) contrast(.94) brightness(.64);transform:scale(1.10);}
.card.locked-obscured:after{background:linear-gradient(180deg,rgba(3,5,12,.20) 0%,rgba(3,5,12,.62) 48%,rgba(0,0,0,.88) 100%);}
.lock-mist{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 45% 22%,rgba(255,255,255,.20),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.025) 45%,rgba(0,0,0,.22));backdrop-filter:blur(2px);}
.card.locked-obscured .meta,.card.locked-obscured .lock{z-index:4;}
.lock.unlocked{background:rgba(126,224,163,.13);border-color:rgba(126,224,163,.35);}

@media(max-width:700px){
  html,body{overflow-x:hidden!important;position:relative;}
  body::before{height:calc(220px + env(safe-area-inset-top))!important;background:linear-gradient(180deg,rgba(2,3,10,1) 0%,rgba(2,3,10,1) calc(92px + env(safe-area-inset-top)),rgba(2,3,10,.88) calc(124px + env(safe-area-inset-top)),rgba(2,3,10,0) 100%)!important;z-index:90;}
  .wrap{width:calc(100vw - 34px);max-width:calc(100vw - 34px);overflow:visible;}
  .nav{padding-top:calc(112px + env(safe-area-inset-top))!important;}
  .hero{padding-top:calc(82px + env(safe-area-inset-top))!important;}
  .album-hero{padding-top:calc(108px + env(safe-area-inset-top))!important;}
  .site-bg:before{max-width:100vw;}
  .grid,.gallery{overflow-x:hidden;}
  .card{width:100%;}
}
@media(max-width:380px){.wrap{width:calc(100vw - 28px);max-width:calc(100vw - 28px);}}

@media (max-width:480px){
  .nav{padding-top:calc(122px + env(safe-area-inset-top))!important;}
  .hero{padding-top:calc(92px + env(safe-area-inset-top))!important;}
  .hero h1{font-size:clamp(2.45rem,13.2vw,4.1rem)!important;line-height:.92;}
  .album-hero{padding-top:calc(118px + env(safe-area-inset-top))!important;}
}


/* v1.8 — hard mobile/layout fix + real locked cover behavior */
html, body {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  background: #02030a !important;
}
@supports (overflow: clip) {
  html, body { overflow-x: clip !important; }
}
body { overscroll-behavior-x: none !important; }
body * { max-width: 100%; }
.site-bg, .noise::before {
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  overflow: hidden !important;
}
.site-bg::before, .site-bg::after { max-width: none; }
.wrap { position: relative; overflow-x: clip; }

.locked-cover {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 36%, rgba(255,255,255,.16), transparent 19%),
    radial-gradient(circle at 22% 10%, rgba(73,140,230,.23), transparent 38%),
    radial-gradient(circle at 82% 0%, rgba(216,181,109,.15), transparent 35%),
    linear-gradient(145deg, rgba(21,29,49,.86), rgba(4,6,13,.98));
  filter: saturate(.75) brightness(.78);
  transform: none !important;
  z-index: 0;
}
.locked-cover::before {
  content: "";
  position: absolute;
  inset: -18%;
  background-image: url('data:image/svg+xml,%3Csvg viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="n"%3E%3CfeTurbulence type="fractalNoise" baseFrequency=".72" numOctaves="5" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23n)" opacity=".55"/%3E%3C/svg%3E');
  opacity: .38;
  mix-blend-mode: screen;
}
.locked-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  backdrop-filter: blur(11px);
  background: linear-gradient(180deg, rgba(3,5,12,.42), rgba(3,5,12,.72));
}
.card.locked-obscured img { display: none !important; }
.card.locked-obscured .locked-cover { display: block; }
.card.locked-obscured:before { opacity: .38; }
.card.locked-obscured:after { background: linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.52) 55%, rgba(0,0,0,.88) 100%) !important; }
.lock-mist { backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }

/* Desktop image state: no grey fallback when hover ends */
.card:not(.locked-obscured) img {
  filter: saturate(1.12) contrast(1.04) brightness(1.02) !important;
  opacity: 1 !important;
}
.card:not(.locked-obscured):hover img {
  filter: saturate(1.16) contrast(1.07) brightness(1.06) !important;
}

@media (max-width: 700px) {
  html, body {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  @supports (overflow: clip) {
    html, body { overflow-x: clip !important; }
  }
  .home-page .wrap,
  .event-page .wrap {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: calc(104px + env(safe-area-inset-top, 0px)) !important;
    overflow-x: clip !important;
  }
  .home-page .nav,
  .event-page .nav {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
  .home-page .hero,
  .event-page .hero,
  .event-page .album-hero {
    padding-top: 34px !important;
  }
  .home-page .hero h1,
  .event-page .hero h1 {
    font-size: clamp(2.25rem, 12.2vw, 3.8rem) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
  }
  body::before {
    height: calc(178px + env(safe-area-inset-top, 0px)) !important;
    background: linear-gradient(180deg,
      rgba(2,3,10,1) 0%,
      rgba(2,3,10,1) calc(86px + env(safe-area-inset-top, 0px)),
      rgba(2,3,10,.90) calc(122px + env(safe-area-inset-top, 0px)),
      rgba(2,3,10,0) 100%) !important;
    z-index: 90 !important;
  }
  body::after { content: none !important; display: none !important; }
  .site-bg { width: 100vw !important; max-width: 100vw !important; }
  .site-bg::before { inset: 0 !important; transform: none !important; filter: blur(44px); }
  .grid, .gallery, .card, .photo, .panel { max-width: 100% !important; overflow-x: hidden !important; }
  .card { min-height: 326px; }
  .footer { padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media (max-width: 380px) {
  .home-page .wrap,
  .event-page .wrap { width: calc(100vw - 26px) !important; max-width: calc(100vw - 26px) !important; }
  .home-page .hero h1,
  .event-page .hero h1 { font-size: clamp(2.05rem, 11.8vw, 3.35rem) !important; }
}


/* v1.9 — backa överkant till v1.6, lås sidled och frostad glasskiva för låsta album */
html, body {
  overflow-x: hidden !important;
  max-width: 100% !important;
  position: relative;
}
body {
  touch-action: pan-y;
}
.wrap {
  overflow-x: hidden !important;
}
.site-bg {
  width: 100% !important;
  max-width: 100% !important;
}

/* Låsta album visar omslagsbilden, men bakom frostad glasskiva tills albumet är upplåst. */
.card.locked-obscured img {
  display: block !important;
  filter: saturate(1.02) contrast(1.02) brightness(.86) !important;
  transform: scale(1.02) !important;
}
.card.locked-obscured:hover img {
  filter: saturate(1.06) contrast(1.05) brightness(.9) !important;
  transform: scale(1.05) !important;
}
.card.locked-obscured .locked-cover.no-cover {
  display: block;
}
.lock-mist.frosted {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 30% 8%, rgba(255,255,255,.34), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.075) 42%, rgba(7,10,18,.42));
  backdrop-filter: blur(14px) saturate(.92);
  -webkit-backdrop-filter: blur(14px) saturate(.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), inset 0 -1px 0 rgba(255,255,255,.08);
}
.lock-mist.frosted::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.22) 42%, transparent 58%);
  opacity: .46;
}
.card.locked-obscured:after {
  background: linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.24) 48%, rgba(0,0,0,.72) 100%) !important;
}
.card.locked-obscured .meta,
.card.locked-obscured .lock { z-index: 4; }

.cover-badge {
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(2,3,10,.70);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 13px;
  font-weight: 800;
}
.photo.is-cover { border-color: rgba(216,181,109,.62); box-shadow: 0 0 0 2px rgba(216,181,109,.14); }

@media(max-width:700px){
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .home-page .wrap,
  .event-page .wrap,
  .wrap {
    width: min(100% - 34px, 1180px) !important;
    max-width: calc(100% - 34px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 0 !important;
    overflow-x: hidden !important;
  }
  .nav,
  .home-page .nav,
  .event-page .nav {
    padding-top: calc(54px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 14px !important;
  }
  .hero,
  .home-page .hero,
  .event-page .hero,
  .event-page .album-hero {
    padding-top: calc(42px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 54px !important;
  }
  .hero h1,
  .home-page .hero h1,
  .event-page .hero h1 {
    font-size: clamp(44px,14.5vw,66px) !important;
    line-height: .94 !important;
    letter-spacing: -.065em !important;
    max-width: 100% !important;
  }
  body::before {
    height: calc(94px + env(safe-area-inset-top, 0px)) !important;
    background: linear-gradient(180deg, rgba(2,3,10,1) 0%, rgba(2,3,10,.98) calc(18px + env(safe-area-inset-top, 0px)), rgba(2,3,10,.74) 58%, rgba(2,3,10,0) 100%) !important;
    z-index: 80 !important;
  }
  .grid { grid-template-columns: 1fr; gap: 22px; padding-top: 28px; padding-bottom: calc(130px + env(safe-area-inset-bottom, 0px)) !important; }
  .footer { padding-bottom: calc(118px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media(max-width:380px){
  .wrap,
  .home-page .wrap,
  .event-page .wrap { width: min(100% - 28px,1180px) !important; max-width: calc(100% - 28px) !important; }
  .hero h1,
  .home-page .hero h1,
  .event-page .hero h1 { font-size: clamp(40px,14vw,58px) !important; }
}

/* v2.0 — mobilkomprimering, adminfält, lightbox-gester och hemskärmsikon */
html,body{overflow-x:hidden!important;max-width:100%!important;}
@supports (overflow:clip){html,body{overflow-x:clip!important;}}
body{overscroll-behavior-x:none!important;}
body.lightbox-active{overflow:hidden!important;}
input,textarea,select,button{max-width:100%;min-width:0;}
input[type="date"]{appearance:none;-webkit-appearance:none;display:block;width:100%;}
.panel,.form-section,.admin-form,.table,.adminbar{min-width:0;}
.admin-event-title-link{border-bottom:1px solid rgba(216,181,109,.36);text-decoration:none;}
.admin-event-title-link:hover{color:var(--gold);}
.eyebrow{margin:0 0 8px;color:var(--gold);font-size:13px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;}
.settings-panel{max-width:760px;}
.icon-preview{display:flex;align-items:center;gap:14px;margin:10px 0 16px;color:var(--muted);font-weight:700;}
.icon-preview img{width:72px;height:72px;border-radius:18px;border:1px solid var(--line);box-shadow:0 12px 35px rgba(0,0,0,.28);object-fit:cover;}

@media(max-width:700px){
  body::before{height:calc(72px + env(safe-area-inset-top,0px))!important;background:linear-gradient(180deg,rgba(2,3,10,.98) 0%,rgba(2,3,10,.78) 48%,rgba(2,3,10,0) 100%)!important;}
  .wrap,.home-page .wrap,.event-page .wrap{width:calc(100% - 28px)!important;max-width:calc(100% - 28px)!important;overflow-x:clip!important;}
  .nav,.home-page .nav,.event-page .nav{padding-top:calc(18px + env(safe-area-inset-top,0px))!important;padding-bottom:8px!important;}
  .hero,.home-page .hero,.event-page .hero,.event-page .album-hero{padding-top:18px!important;padding-bottom:28px!important;}
  .home-page .hero{padding-bottom:20px!important;}
  .hero h1,.home-page .hero h1,.event-page .hero h1{font-size:clamp(36px,12.2vw,56px)!important;line-height:.96!important;letter-spacing:-.055em!important;}
  .hero p,.home-page .hero p,.event-page .hero p{font-size:16px!important;line-height:1.45!important;margin-top:14px!important;margin-bottom:0!important;}
  .grid{gap:16px!important;padding-top:6px!important;padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;}
  .card{min-height:286px!important;border-radius:24px!important;}
  .card .meta{inset:auto 18px 18px!important;}
  .card h2{font-size:23px!important;}
  .panel{padding:17px!important;border-radius:22px!important;overflow:hidden!important;}
  .form-section{padding:15px!important;border-radius:18px!important;overflow:hidden!important;}
  .form-section h2{font-size:18px!important;}
  input,textarea,select{font-size:16px!important;border-radius:14px!important;padding:12px!important;margin:6px 0 13px!important;}
  .file-input{padding:14px!important;}
  .section-head{gap:10px!important;margin-bottom:14px!important;}
  .section-head h1{font-size:28px!important;line-height:1.05!important;}
  .adminbar{gap:9px!important;margin:10px 0 16px!important;}
  .btn,.pill{padding:10px 13px!important;min-height:42px;}
  .table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;}
  .table th,.table td{padding:12px 10px!important;}
  .footer{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;}
  .lightbox img{max-width:100vw!important;max-height:88vh!important;border-radius:0!important;}
  .lb-prev,.lb-next{display:none!important;}
  .lb-close{top:calc(14px + env(safe-area-inset-top,0px))!important;right:14px!important;background:rgba(0,0,0,.35)!important;}
}
@media(max-width:380px){
  .wrap,.home-page .wrap,.event-page .wrap{width:calc(100% - 22px)!important;max-width:calc(100% - 22px)!important;}
  .hero h1,.home-page .hero h1,.event-page .hero h1{font-size:clamp(34px,11.8vw,50px)!important;}
  .grid{gap:14px!important;}
}

/* v2.1 navigation/admin list fixes */
.event-title-link{color:var(--text);text-decoration:none;display:inline-block;max-width:100%;word-break:break-word;}
.event-title-link:hover{color:var(--gold);text-decoration:underline;text-underline-offset:4px;}
.actions-cell{display:flex;gap:8px;align-items:center;flex-wrap:wrap;max-width:100%;}
.share-btn{white-space:nowrap;max-width:100%;}
.brand{cursor:pointer;}
.nav .brand:hover{color:var(--gold);}
@media(max-width:700px){
  .actions-cell{gap:6px;}
  .actions-cell .btn.small{padding:8px 10px;font-size:13px;min-width:0;}
  .share-btn.copied{max-width:96px;overflow:hidden;text-overflow:ellipsis;}
  .table{white-space:normal!important;}
  .table td,.table th{word-break:normal;}
  .event-title-link{line-height:1.2;}
}


/* v2.2 — fix för klickbar titel på mobila fotosidor */
.nav{
  position: relative;
  z-index: 220;
}
.nav .brand,
a.brand,
.brand a{
  position: relative;
  z-index: 221;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 6px 0;
  -webkit-tap-highlight-color: rgba(216,181,109,.20);
  touch-action: manipulation;
  pointer-events: auto;
}
body::before,
body::after,
.site-bg,
.site-bg::before,
.site-bg::after,
.noise::before,
.hero::before,
.orb{
  pointer-events: none !important;
}
.wrap{
  position: relative;
  z-index: 1;
}
@media(max-width:700px){
  .event-page .nav,
  .home-page .nav{
    position: relative !important;
    z-index: 230 !important;
  }
  .event-page a.brand,
  .home-page a.brand,
  .nav .brand{
    display: inline-flex !important;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    padding: 8px 4px 8px 0 !important;
    position: relative !important;
    z-index: 231 !important;
  }
}

/* v2.3 — mobil overscroll/bounce bakgrundsfix */
html,
body{
  background-color:#02030a !important;
  background:#02030a !important;
  min-width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
  overscroll-behavior-x:none !important;
}
@supports (overflow:clip){
  html,body{overflow-x:clip !important;}
}
body{
  min-height:100vh !important;
  min-height:100dvh !important;
}
.site-bg{
  position:fixed !important;
  inset:-30vh 0 -30vh 0 !important;
  width:100vw !important;
  max-width:100vw !important;
  min-height:160vh !important;
  background-color:#02030a !important;
  background-attachment:scroll !important;
}
@media(max-width:700px){
  html,
  body{
    background-color:#02030a !important;
    background:#02030a !important;
    overscroll-behavior:none !important;
    overflow-x:hidden !important;
    max-width:100vw !important;
  }
  @supports (overflow:clip){html,body{overflow-x:clip !important;}}
  body{
    min-height:100dvh !important;
    position:relative !important;
  }
  body:before{
    pointer-events:none !important;
  }
  .site-bg{
    inset:-45vh 0 -45vh 0 !important;
    min-height:190vh !important;
    transform:translateZ(0);
    background:
      radial-gradient(circle at 18% 0%,rgba(74,91,139,.58) 0,rgba(34,42,68,.28) 22%,transparent 48%),
      radial-gradient(circle at 80% 28%,rgba(216,181,109,.18) 0,rgba(216,181,109,.07) 18%,transparent 36%),
      linear-gradient(135deg,#101624 0%,#07080c 44%,#02030a 100%) !important;
  }
  .site-bg:before,
  .site-bg:after{
    inset:0 !important;
  }
  .wrap,
  .home-page .wrap,
  .event-page .wrap,
  .admin-page .wrap,
  main,
  .hero,
  .grid,
  .gallery,
  .panel{
    max-width:100% !important;
  }
}

/* v2.4 — behåll mjuk iOS-bounce men matcha bakgrunden bakom sidan */
html,
body{
  background-color:#02030a !important;
  background-image:
    radial-gradient(circle at 18% 0%,rgba(74,91,139,.58) 0,rgba(34,42,68,.28) 22%,transparent 48%),
    radial-gradient(circle at 80% 28%,rgba(216,181,109,.18) 0,rgba(216,181,109,.07) 18%,transparent 36%),
    linear-gradient(135deg,#101624 0%,#07080c 44%,#02030a 100%) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-attachment:scroll !important;
  overflow-x:hidden !important;
  overscroll-behavior-y:auto !important;
  overscroll-behavior-x:none !important;
}
@supports (overflow:clip){
  html,body{overflow-x:clip !important;}
}
.site-bg{
  position:fixed !important;
  inset:-45vh 0 -45vh 0 !important;
  width:100vw !important;
  max-width:100vw !important;
  min-height:190vh !important;
  pointer-events:none !important;
  background-color:#02030a !important;
  background:
    radial-gradient(circle at 18% 0%,rgba(74,91,139,.58) 0,rgba(34,42,68,.28) 22%,transparent 48%),
    radial-gradient(circle at 80% 28%,rgba(216,181,109,.18) 0,rgba(216,181,109,.07) 18%,transparent 36%),
    linear-gradient(135deg,#101624 0%,#07080c 44%,#02030a 100%) !important;
}
@media(max-width:700px){
  html,
  body{
    background-color:#02030a !important;
    background-image:
      radial-gradient(circle at 18% 0%,rgba(74,91,139,.58) 0,rgba(34,42,68,.28) 22%,transparent 48%),
      radial-gradient(circle at 80% 28%,rgba(216,181,109,.18) 0,rgba(216,181,109,.07) 18%,transparent 36%),
      linear-gradient(135deg,#101624 0%,#07080c 44%,#02030a 100%) !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    overflow-x:hidden !important;
    overscroll-behavior-y:auto !important;
    overscroll-behavior-x:none !important;
    -webkit-overflow-scrolling:touch;
  }
  body{
    min-height:100dvh !important;
  }
}

/* v2.5 admin list delete button */
.admin-list-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.inline-delete-form{display:inline-flex;margin:0}
.inline-delete-form .btn{white-space:nowrap}
@media(max-width:700px){.admin-list-actions{gap:7px}.inline-delete-form{width:auto}.admin-list-actions .btn.small{padding:8px 10px;font-size:13px}}


/* v2.6 – snabb lås/lås upp i adminlistan */
.inline-lock-form{display:inline-flex;margin:0;min-width:0;}
.admin-list-actions .lock-toggle{white-space:nowrap;}
@media (max-width:700px){
  .admin-list-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;max-width:100%;}
  .admin-list-actions .btn,.admin-list-actions form{flex:0 1 auto;}
  .admin-list-actions .lock-toggle{min-width:70px;}
}

/* v2.7 – albumnedladdning och statusknappar */
.album-download-row{margin-top:18px;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;}
.download-album-btn{display:inline-flex;align-items:center;justify-content:center;}
.inline-status-form{display:inline-flex;margin:0;}
.status-cell{min-width:92px;}
.visibility-toggle{min-width:84px;white-space:nowrap;}
.visibility-toggle.is-visible{box-shadow:0 0 0 1px rgba(120,255,190,.18) inset;}
.visibility-toggle.is-hidden{opacity:.82;box-shadow:0 0 0 1px rgba(255,255,255,.10) inset;}
@media(max-width:700px){
  .album-download-row{justify-content:flex-start;margin-top:14px;}
  .download-album-btn{width:100%;}
  .status-cell{min-width:0;}
  .visibility-toggle{min-width:74px;padding:8px 10px;font-size:13px;}
}
