:root{
  /* PSK-logoets låste referencefarver: blå flade, hvid PSK, lilla udlejning. */
  --brand-blue:#0b4a86;
  --brand-white:#ffffff;
  --brand-word:#6366f1;
  --primary:#0f172a;
  --accent:#6366f1;
  --accent-dark:#4f46e5;
  --success:#22c55e;
  --danger:#ef4444;
  --bg:#f8fafc;
  --card-bg:#ffffff;
  --text-dark:#0f172a;
  --text-light:#64748b;
  --border:#e2e8f0;
  --shadow:0 15px 40px rgba(0,0,0,0.08);
  --shadow-strong:0 20px 60px rgba(0,0,0,0.18);
  --radius:20px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Segoe UI',system-ui,-apple-system,Arial,sans-serif;
  background:var(--bg);
  color:var(--text-dark);
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
img,svg,video,canvas,iframe{max-width:100%;height:auto;}

.seo-noscript{padding:28px 20px;background:#fff;border-bottom:1px solid var(--border);}
.seo-noscript .container{max-width:1200px;margin:auto;}
.seo-noscript h1,.seo-noscript h2{margin:0 0 12px;}
.seo-noscript p,.seo-noscript li{color:#334155;line-height:1.7;font-weight:700;}
.seo-noscript ul{margin:12px 0 0;padding-left:20px;}

.container{max-width:1200px;margin:auto;padding:0 20px;}
.section{padding:70px 0;}
.card{
  background:var(--card-bg);
  border:1px solid var(--border);
  padding:28px;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.muted{color:var(--text-light);font-weight:650;}
.hr{height:1px;background:var(--border);margin:18px 0;}

button{
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  color:white;padding:12px 18px;border:none;border-radius:12px;
  cursor:pointer;font-weight:800;
}
button:disabled{background:#cbd5e1;cursor:not-allowed;}
.btn-light{background:white;color:var(--primary);border:1px solid var(--border);}
.btn-danger{background:var(--danger);}
.btn-small{padding:8px 12px;border-radius:10px;font-size:14px;}
.input, textarea{
  width:100%;padding:12px 14px;border-radius:12px;
  border:1px solid var(--border);outline:none;
  font-family:inherit;font-size:14px;background:white;
}
textarea{min-height:110px;resize:vertical;}

header{
  background:var(--brand-blue);
  color:white;
  position:sticky;top:0;z-index:3000;
  box-shadow:0 10px 30px rgba(15,23,42,0.18);
}
.topbar{
  background:#0a3f74;
  border-bottom:1px solid rgba(255,255,255,0.10);
}
.topbar .container,
header .container{max-width:100%;}
.topbar-inner{
  display:flex;justify-content:flex-end;align-items:center;gap:24px;
  min-height:42px;font-size:14px;font-weight:800;color:rgba(255,255,255,0.94);
}
.topbar-inner span{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;}
.mobile-topbar{display:none;background:#0a3f74;border-top:1px solid rgba(255,255,255,0.10);}
.mobile-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;}
.mobile-topbar a{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:900;font-size:14px;padding:10px 0;}
.header-inner{
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 0;gap:16px;
}
.logo{
  display:flex;align-items:center;gap:12px;
  font-size:32px;font-weight:950;cursor:pointer;user-select:none;
  flex:0 0 auto;line-height:1;
}
.logo i{display:none;}
.logo-mark{display:flex;flex-direction:column;gap:2px;}
.logo-main { display:flex; align-items:baseline; gap:2px; font-weight:900; line-height:1; }
.logo-main strong { color:var(--brand-white); font-size:36px; font-weight:900; letter-spacing:-0.03em; line-height:1; }
.logo-main span { color:var(--brand-word); font-size:26px; font-weight:700; letter-spacing:-0.02em; line-height:1; }
.logo-sub { margin-top:3px; color:var(--brand-white); font-size:11px; font-weight:800; letter-spacing:0.14em; line-height:1.2; text-transform:uppercase; }
header nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center;flex:1;min-width:0;}

/* Dropdown: hover åbner, klik pin'er, luk-delay */
.dropdown{position:relative;}
.dropdown button{
  background:none;border:none;color:white;font-size:15px;
  cursor:pointer;font-weight:850;user-select:none;
  padding:10px 10px;border-radius:12px;
  display:inline-flex;align-items:center;gap:8px;
}
.dropdown button:hover{background:rgba(255,255,255,0.12);}
.dropdown button .chev{font-size:12px;opacity:0.9;}
.dropdown::after{
  content:"";
  position:absolute;left:0;top:40px;width:100%;height:18px;
  background:transparent;
}
.dropdown-content{
  opacity:0;transform:translateY(10px);pointer-events:none;
  position:absolute;left:0;top:54px;
  background:white;min-width:240px;border-radius:16px;
  box-shadow:var(--shadow-strong);
  padding:10px;transition:0.18s ease;border:1px solid var(--border);
  z-index:99999;
}
.dropdown.open .dropdown-content{opacity:1;transform:translateY(0);pointer-events:auto;}
.dropdown-content a{
  display:block;padding:10px 12px;color:var(--text-dark);
  text-decoration:none;border-radius:12px;user-select:none;font-weight:800;
}
.dropdown-content a:hover{background:#f1f5f9;}
.dropdown.pinned > button{
  background:rgba(255,255,255,0.10);
  border:1px solid rgba(255,255,255,0.18);
}

.header-right{display:flex;gap:10px;align-items:center;flex:0 0 auto;}
.cart{font-size:20px;cursor:pointer;position:relative;padding:10px;border-radius:12px;}
.cart:hover{background:rgba(255,255,255,0.12);}
.cart-count{
  position:absolute;top:6px;right:6px;background:var(--danger);color:white;
  border-radius:50%;padding:2px 7px;font-size:12px;font-weight:950;
}
.burger{
  display:none;
  padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,0.18);
  background:transparent;color:white;cursor:pointer;font-weight:900;
}

/* MOBILE NAV */
#mobileNav{display:none;border-top:1px solid rgba(255,255,255,0.08);padding:12px 0 18px;}
#mobileNav .mcat{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:14px;overflow:hidden;margin:10px 0;}
#mobileNav .mcat-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;cursor:pointer;font-weight:950;}
#mobileNav button.mcat-head{width:100%;border:0;border-radius:0;background:transparent;color:#fff;text-align:left;box-shadow:none;}
#mobileNav .mcat-body{display:none;padding:0 12px 12px;}
#mobileNav .mcat.open .mcat-body{display:block;}
#mobileNav .mcat-head i{transition:transform 0.18s ease;}
#mobileNav .mcat.open .mcat-head i{transform:rotate(180deg);}
#mobileNav a{display:block;padding:10px 12px;margin-top:8px;background:white;color:var(--primary);border-radius:12px;text-decoration:none;font-weight:900;}

/* HERO */
.hero{
  color:white;padding:90px 0;
  background:
    radial-gradient(1200px 400px at 20% 10%, rgba(99,102,241,0.35), transparent 60%),
    linear-gradient(120deg,rgba(15,23,42,0.92),rgba(99,102,241,0.70)),
    url('/uploads/hero-tools-bg.jpg');
  background-size:cover;background-position:center;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.hero-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:24px;align-items:center;}
.hero h1{font-size:46px;line-height:1.05;margin:0 0 14px;white-space:pre-line;}
.hero p{font-size:17px;color:rgba(255,255,255,0.85);margin:0 0 18px;max-width:58ch;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  background:none;
  border:none;
  padding:0;
  border-radius:0;
  font-weight:900;font-size:12px;color:rgba(255,255,255,0.92);
  margin-bottom:12px;
}
.chips{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:12px;}
.chip{
  display:inline;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  font-weight:900;
  font-size:12px;
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.25);
}
@media(max-width:640px){
  .chips{gap:8px 12px;}
  .chip{font-size:11px;}
}
.hero-card{
  background:rgba(255,255,255,0.10);
  border:1px solid rgba(255,255,255,0.14);
  border-radius:24px;
  padding:18px;
  box-shadow:0 25px 70px rgba(0,0,0,0.25);
}
.kpi{
  background:rgba(15,23,42,0.55);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:18px;padding:14px;margin-top:12px;
}
.kpi strong{font-size:22px;display:block;}
.kpi span{display:block;color:rgba(255,255,255,0.85);margin-top:6px;font-weight:800;}

/* OVERVIEW */
.overview-head{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;}
.searchbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.searchbar .input{max-width:320px;}
.product-discovery-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:12px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.06);}
.product-search-field{position:relative;display:flex;align-items:center;flex:1 1 320px;min-width:220px;}
.product-search-field>i{position:absolute;left:14px;color:#64748b;pointer-events:none;}
.product-search-field .input{width:100%;padding-left:40px;}
.product-sort-field{display:flex;align-items:center;gap:8px;color:#64748b;font-size:.82rem;font-weight:900;}
.product-sort-field .input{min-width:150px;padding:10px 34px 10px 12px;}
.product-discovery-toolbar .btn-light.active{color:#be123c;border-color:#fecdd3;background:#fff1f2;}
.product-result-status{margin-left:auto;color:#64748b;font-size:.92rem;font-weight:800;white-space:nowrap;}
.product-filter-check,.product-price-filter{display:flex;align-items:center;gap:8px;color:#475569;font-size:.86rem;font-weight:900}.product-filter-check input{width:18px;height:18px;accent-color:#164e82}.product-price-filter .input{width:110px;padding:10px 12px}.product-price-filter span{white-space:nowrap}
@media(max-width:700px){.product-sort-field,.product-price-filter{flex:1 1 100%;}.product-sort-field .input,.product-price-filter .input{width:100%;}.product-result-status{margin-left:0;width:100%;}.product-filter-check{flex:1 1 auto}}
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px;}
.pcard{
  border-radius:22px;padding:18px;border:1px solid var(--border);
  background:white;box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:10px;position:relative;
}
.product-favorite-btn{position:absolute;right:12px;top:12px;z-index:4;width:42px;height:42px;border-radius:999px;border:1px solid #dbe3ee;background:rgba(255,255,255,.94);color:#475569;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 18px rgba(15,23,42,.12);transition:transform .15s ease,color .15s ease,background .15s ease;}
.product-favorite-btn:hover{transform:scale(1.06);color:#be123c;}
.product-favorite-btn.active{color:#be123c;background:#fff1f2;border-color:#fecdd3;}
.product-compare-btn{position:absolute;left:12px;top:12px;z-index:4;width:42px;height:42px;border-radius:999px;border:1px solid #dbe3ee;background:rgba(255,255,255,.94);color:#475569;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 18px rgba(15,23,42,.12);transition:transform .15s ease,color .15s ease,background .15s ease;}
.product-compare-btn:hover{transform:scale(1.06);color:#1d4ed8}.product-compare-btn.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}
.product-compare-tray{position:fixed;left:50%;bottom:18px;z-index:9000;transform:translateX(-50%);width:min(880px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid #bfdbfe;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 18px 55px rgba(15,23,42,.24);backdrop-filter:blur(10px)}.product-compare-tray>div{display:flex;align-items:center;gap:10px;min-width:0}.product-compare-tray span{color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-compare-dialog{width:min(900px,calc(100% - 28px));border:0;border-radius:20px;padding:0;box-shadow:0 30px 80px rgba(15,23,42,.28)}.product-compare-dialog::backdrop{background:rgba(15,23,42,.58)}.product-compare-dialog-inner{padding:22px}.comparison-head{display:flex;justify-content:space-between;gap:16px}.comparison-head h2{margin:0}.comparison-head p{margin:5px 0;color:#64748b}.comparison-scroll{overflow:auto}.comparison-scroll table{width:100%;border-collapse:collapse;min-width:620px}.comparison-scroll th,.comparison-scroll td{padding:12px;border-bottom:1px solid #e2e8f0;text-align:left}.recent-products-section{background:#f8fafc}
@media(max-width:700px){.product-compare-tray{bottom:10px;align-items:stretch}.product-compare-tray>div:first-child span{display:none}.product-compare-tray>div:last-child{margin-left:auto}.product-compare-tray button{padding:10px}}
.pcard .top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.pcard h3{margin:0;}
.pcard .meta{color:var(--text-light);font-weight:750;font-size:13px;}
.pcard .price{
  font-weight:950;background:#eef2ff;border:1px solid #e0e7ff;
  color:#3730a3;padding:8px 10px;border-radius:14px;white-space:nowrap;
}
.pcard .desc{color:var(--text-light);font-weight:650;margin:0;}
.pcard .actions{display:flex;gap:10px;margin-top:auto;flex-wrap:wrap;}
.pcard .tagline{display:flex;gap:8px;align-items:center;color:var(--text-light);font-weight:900;font-size:12px;}

/* CALENDAR */
.calendar{display:grid;grid-template-columns:50px repeat(7,1fr);gap:6px;margin-top:18px;}
.calendar-weekday,.calendar-weeknum{background:var(--primary);color:white;font-weight:950;text-align:center;padding:10px;border-radius:10px;}
.calendar-weeknum{background:#94a3b8;}
.calendar-day{
  padding:16px 8px;text-align:center;border-radius:12px;cursor:pointer;
  font-weight:950;user-select:none;transition:0.2s;
  border:1px solid rgba(0,0,0,0.04);
  appearance:none;width:100%;font:inherit;
}
.calendar-day:focus-visible{outline:3px solid #f59e0b;outline-offset:2px;}
.calendar-day span{display:block;font-size:11px;margin-top:4px;font-weight:900;opacity:0.95;}
.calendar-day.available{background:var(--success);color:white;}
.calendar-day.unavailable{background:#e2e8f0;color:#64748b;cursor:not-allowed;}
.calendar-day.past{background:#e2e8f0;color:#a1a1a1;cursor:not-allowed;}
.calendar-day.weekend:not(.unavailable):not(.past){background:#93c5fd;color:white;}

/* PRODUCT VIEW */
.product-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.product-head h2{margin:0;}
.product-stats{display:flex;gap:10px;flex-wrap:wrap;}
.stat{
  background:#f1f5f9;border:1px solid var(--border);
  padding:10px 12px;border-radius:14px;font-weight:850;color:var(--primary);
}
.total{
  margin-top:12px;font-weight:950;background:#f1f5f9;border:1px solid var(--border);
  padding:12px;border-radius:14px;
}
.availability-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-weight:900;font-size:12px;border:1px solid transparent;}
.availability-badge.coming-soon{background:#fff7ed;color:#c2410c;border-color:#fdba74;}
.availability-badge.call-demand{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd;}
.availability-badge.sold-out{background:#f8fafc;color:#475569;border-color:#cbd5e1;}
.availability-note{margin-top:18px;padding:16px;border-radius:16px;border:1px solid var(--border);background:#fff;}
.availability-note strong{display:block;margin-bottom:6px;}
.availability-note.coming-soon{background:#fff7ed;border-color:#fdba74;}
.availability-note.call-demand{background:#eff6ff;border-color:#93c5fd;}
.availability-note.sold-out{background:#f8fafc;border-color:#cbd5e1;}

/* CART DRAWER */
html.drawer-open, body.drawer-open{overflow:hidden;}

#drawerOverlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:6000;}
#drawer{
  position:absolute;top:0;right:0;height:100%;
  width:min(560px,96vw);
  background:white;border-left:1px solid var(--border);
  box-shadow:var(--shadow-strong);padding:18px;
  display:flex;flex-direction:column;
}
.drawer-head{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.drawer-head h3{margin:0;}
.drawer-scroll{margin-top:14px;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-right:4px;}
.drawer-items{display:grid;gap:12px;}
.drawer-item{border:1px solid var(--border);border-radius:18px;padding:12px;background:#fff;}
.drawer-item strong{display:block;}
.drawer-item .line{color:var(--text-light);font-weight:700;font-size:13px;margin-top:6px;}
.drawer-item-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.drawer-edit-box{margin-top:10px;padding:10px;border:1px solid var(--border);border-radius:14px;background:#f8fafc;}
.drawer-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.drawer-edit-calendar-wrap{margin-top:12px;}
.drawer-edit-calendar-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;}
.drawer-edit-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.drawer-edit-calendar-weekday,.drawer-edit-calendar-day{border-radius:10px;text-align:center;font-weight:850;}
.drawer-edit-calendar-weekday{padding:6px 2px;background:#e2e8f0;color:var(--primary);font-size:11px;}
.drawer-edit-calendar-day{padding:10px 2px;border:1px solid var(--border);background:#fff;font-size:12px;cursor:pointer;}
.drawer-edit-calendar-day span{display:block;font-size:9px;margin-top:3px;font-weight:900;opacity:.9;}
.drawer-edit-calendar-day.is-available{background:#dcfce7;color:#166534;border-color:#86efac;}
.drawer-edit-calendar-day.is-unavailable{background:#fee2e2;color:#991b1b;border-color:#fca5a5;cursor:not-allowed;}
.drawer-edit-calendar-day.is-past,.drawer-edit-calendar-day.is-empty{background:#f8fafc;color:#94a3b8;border-color:#e2e8f0;cursor:default;}
.drawer-edit-calendar-day.is-selected-start,.drawer-edit-calendar-day.is-selected-end{background:#1e40af;color:#fff;border-color:#1e40af;}
.drawer-edit-calendar-day.is-in-range{background:#93c5fd;color:#fff;border-color:#60a5fa;}
.drawer-edit-calendar-day.is-selected-start span,.drawer-edit-calendar-day.is-selected-end span,.drawer-edit-calendar-day.is-in-range span{color:#fff;}
.drawer-edit-help{margin-top:8px;font-size:11px;color:var(--text-light);font-weight:800;}
@media(max-width:520px){.drawer-edit-grid{grid-template-columns:1fr;}}
.drawer-foot{background:white;padding-top:12px;border-top:1px solid var(--border);}
.drawer-total{display:flex;justify-content:space-between;align-items:center;font-weight:950;background:#f1f5f9;border:1px solid var(--border);padding:12px;border-radius:14px;margin-bottom:10px;}

.discount-box{border:1px solid var(--border);border-radius:14px;padding:10px;background:#fff;margin-bottom:10px;}
.discount-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
/* Rabatkode input: normal størrelse */
#discountInput{flex:0 1 220px;width:220px;max-width:100%;}
/* Undgå at feltet automatisk fylder hele rækken */
.discount-row .input{flex:0 1 220px;min-width:160px;}
.discount-hint{font-size:12px;color:var(--text-light);font-weight:800;margin-top:6px;}
.code-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.code-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;border:1px solid var(--border);background:#f8fafc;font-weight:900;font-size:12px;}
.code-chip button{padding:4px 8px;border-radius:999px;font-size:12px;}
.breakdown{margin-top:10px;border-top:1px dashed var(--border);padding-top:10px;}
.breakdown .brow{display:flex;justify-content:space-between;gap:10px;font-weight:850;color:var(--primary);}
.breakdown .brow.muted{color:var(--text-light);font-weight:800;}

.drawer-actions{display:flex;gap:10px;flex-wrap:wrap;}
.drawer-actions button{flex:1;min-width:160px;}

.checkout-box{border:1px solid var(--border);border-radius:18px;padding:12px;background:#fff;margin-top:12px;}
.checkout-box h4{margin:0 0 8px;}
.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.checkout-grid .full{grid-column:1/-1;}
.checkout-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px;padding:0}
.checkout-progress button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:44px;padding:9px 8px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;color:#64748b;font:inherit;font-size:12px;font-weight:850;text-align:center;box-shadow:none;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.checkout-progress button b{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:11px}
.checkout-progress button.is-complete{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.checkout-progress button.is-complete b{background:#16a34a;color:#fff}
.checkout-progress button.is-active{border-color:#93c5fd;background:#eff6ff;color:#0b4a86;box-shadow:0 0 0 2px rgba(59,130,246,.08)}
.checkout-progress button.is-active b{background:#0b69b7;color:#fff}
.checkout-progress button:not([disabled]){cursor:pointer}.checkout-progress button:not([disabled]):hover{transform:translateY(-1px);border-color:#60a5fa}.checkout-progress button:focus-visible{outline:3px solid rgba(59,130,246,.25);outline-offset:2px}.checkout-progress button[disabled]{cursor:default;opacity:1}
.checkout-required-note{margin:-4px 0 12px;color:#64748b;font-size:12px}
.checkout-required-note>span,.checkout-grid label>span[aria-hidden="true"]{color:#b91c1c;font-weight:900}
.checkout-box [aria-invalid="true"]{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.13)!important}
.legal-check{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#f8fafc;}
.legal-check input{margin-top:4px;transform:scale(1.1);}
#coAcceptLegal,#coEarlyStartWaiver{-webkit-appearance:checkbox;appearance:auto;display:block !important;opacity:1 !important;visibility:visible !important;width:18px;height:18px;min-width:18px;accent-color:var(--primary);}
.legal-check a{font-weight:800;text-decoration:none;}
.legal-check a:hover{text-decoration:underline;}
@media(max-width:520px){ .checkout-grid{grid-template-columns:1fr;} }
@media(max-width:520px){.checkout-progress{gap:5px}.checkout-progress button{display:grid;gap:3px;padding:7px 3px;font-size:10px}.checkout-progress button b{margin:auto}}

/* ADMIN */
#adminButton{position:fixed;bottom:18px;left:18px;z-index:8000;box-shadow:var(--shadow);}
#adminOverlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.6);
  z-index:7000;
  overflow:auto;
}
.admin-wrapper{
  background:white;
  margin:50px auto;
  padding:30px;
  border-radius:22px;
  max-width:1100px;
  box-shadow:var(--shadow-strong);
  border:1px solid var(--border);
}
.admin-menu{
  display:flex;
  gap:10px;
  margin-bottom:18px;
  flex-wrap:wrap;
}
.admin-panel-section{display:none;}
.admin-panel-section.active{display:block;}

.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.admin-box{border:1px solid var(--border);border-radius:18px;padding:14px;background:#fff;}
.admin-box h4{margin:0 0 10px;}
.small{font-size:12px;color:var(--text-light);font-weight:800;}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.row > *{flex:1;min-width:220px;}
.inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.pill{display:inline-flex;gap:8px;align-items:center;padding:8px 10px;border-radius:999px;border:1px solid var(--border);background:#f8fafc;font-weight:900;}
.pill button{padding:6px 10px;border-radius:999px;font-size:12px;}
.pill .btn-danger{background:var(--danger);}


.product-modal-card{width:min(980px,100%);}
.product-modal-body{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr);gap:24px;align-items:start;}
.product-modal-media{border:1px solid var(--border);border-radius:22px;background:#f8fafc;min-height:280px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.product-modal-media img{width:100%;height:100%;max-height:420px;object-fit:contain;display:block;padding:14px;box-sizing:border-box;}
.product-modal-copy{display:flex;flex-direction:column;gap:14px;}
.product-modal-side{display:flex;gap:10px;flex-wrap:wrap;}
.product-modal-side .stat{background:#fff;}
.product-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}
@media(max-width:860px){
  .product-modal-body{grid-template-columns:1fr;}
}
/* RESPONSIVE */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .products-grid{grid-template-columns:repeat(2,1fr);}
  .admin-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  body{overflow-x:hidden;}
  html.mobile-nav-open,
  body.mobile-nav-open{overflow:hidden;}
  body.mobile-nav-open{
    position:fixed;
    left:0;
    right:0;
    width:100%;
  }
  header nav{display:none !important;}
  .header-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
  }
  .logo,
  .logo-mark{min-width:0;}
  .logo-main,
  .logo-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .header-right{
    justify-self:end;
    gap:8px;
    flex-wrap:nowrap;
    flex-shrink:0;
    margin-left:8px;
  }
  .burger{display:inline-flex;gap:8px;align-items:center;flex:0 0 auto;}
  .cart{flex:0 0 auto;}
  #mobileNav{
    width:100%;
    clear:both;
  }
  html.mobile-nav-open header,
  body.mobile-nav-open header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:7002;
  }
  html.mobile-nav-open #mobileNav,
  body.mobile-nav-open #mobileNav{
    display:block !important;
    position:fixed;
    left:0;
    right:0;
    top:var(--mobile-nav-top,72px);
    height:calc(100dvh - var(--mobile-nav-top,72px));
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    background:#0b4a86;
    border-top:1px solid rgba(255,255,255,0.08);
    padding:12px 14px 18px;
    z-index:7001;
  }
  body.mobile-nav-open #burgerBtn{
    position:relative;
    z-index:7003;
  }

  .calendar{
    grid-template-columns:26px repeat(7,1fr);
    gap:4px;
    width:100%;
    box-sizing:border-box;
  }
  .calendar-day{
    padding:8px 2px;
    font-size:11px;
  }
  .calendar-weekday,
  .calendar-weeknum{
    padding:6px 2px;
    font-size:10px;
  }

  .hero h1{font-size:34px;}
}

/* =========================
   MOBILE FRIENDLY ADD-ON (safe: only CSS)
   - ændrer IKKE din struktur/HTML/JS
========================= */

/* Bedre læsbarhed + touch på mobil */
body{ -webkit-text-size-adjust:100%; }
button, .cart, .dropdown button, #mobileNav a, .calendar-day{
  touch-action:manipulation;
}
button, .cart{ min-height:44px; }

/* Container: lidt mindre padding på små skærme */
@media(max-width:520px){
  .container{padding:0 14px;}
  .section{padding:48px 0;}
  .card{padding:18px;border-radius:18px;}
}

/* HERO: skaler bedre på mobil */
.hero h1{ font-size:clamp(28px, 7vw, 46px); }
.hero{ padding:72px 0; }
.hero p{ font-size:15px; }
@media(max-width:520px){
  .hero{ padding:56px 0; }
  .hero-actions button{ flex:1; min-width:160px; }
  .hero-card{ border-radius:20px; }
}

/* Produktkort: knapper under hinanden på mobil */
@media(max-width:520px){
  .products-grid{grid-template-columns:1fr;}
  .pcard{padding:16px;border-radius:18px;}
  .pcard .top{flex-direction:column;}
  .pcard .price{align-self:flex-start;}
  .pcard .actions button{flex:1; min-width:180px;}
}

/* Header: bedre plads + mobile nav kan scrolle hvis mange kategorier */
@media(max-width:768px){
  .header-inner{padding:12px 0;}
  .logo{font-size:18px;}
  #mobileNav{
    max-height:calc(100vh - 72px);
    overflow:auto;
    padding-bottom:18px;
  }
}

/* Kalender: lås den inde i kortet på mobil (ingen horisontal scroll) */
@media(max-width:520px){
  .calendar{
    overflow:hidden;
    max-width:100%;
  }
  .card{
    overflow:hidden;
  }

  .calendar-day{ padding:14px 6px; border-radius:10px; }
  .calendar-weekday,.calendar-weeknum{ padding:9px 6px; }
}

/* Cart drawer: gør den mere “app-agtig” på mobil */
#drawer{ position:fixed; } /* mere stabilt end absolute i overlay */
@media(max-width:520px){
  #drawer{
    width:100vw;
    max-width:100vw;
    border-left:none;
    border-top:1px solid var(--border);
    height:92vh;
    top:auto;
    bottom:0;
    border-radius:18px 18px 0 0;
  }
  /* drawer scroll håndteres af .drawer-scroll */
  .drawer-actions button{ min-width:0; }
}

/* Admin overlay: bedre spacing på mobil */
@media(max-width:520px){
  .admin-wrapper{ margin:18px 10px; padding:16px; border-radius:18px; }
  .row > *{ min-width:160px; }
}

/* Små skærme: generelt mindre gap */
@media(max-width:360px){
  .hero-actions{gap:10px;}
  .drawer-head h3{font-size:16px;}
}



/* SEO intro */
.seo-intro{
  margin:0 0 18px;
  max-width:980px;
}
.seo-intro p{
  margin:8px 0 0;
  color:#475569;
  font-weight:700;
  line-height:1.65;
}
.seo-intro strong{color:#1e4878;}

/* SEO local section */
.seo-local-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:22px;
}
.seo-local-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.seo-local-card iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:320px;
  border:0;
}
.seo-local-copy{
  padding:20px;
}
.seo-local-copy h3{
  margin:0 0 10px;
  color:#1e4878;
}
.seo-local-copy p{
  margin:0 0 12px;
  color:#475569;
  font-weight:700;
  line-height:1.65;
}
.seo-local-points{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.seo-local-points div{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#334155;
  font-weight:800;
}
.seo-faq-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}
.seo-faq-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:18px;
}
.seo-faq-card h3{
  margin:0 0 8px;
  color:#1e4878;
  font-size:18px;
}
.seo-faq-card p{
  margin:0;
  color:#475569;
  font-weight:700;
  line-height:1.6;
}
@media(max-width:900px){
  .seo-local-grid,
  .seo-faq-grid{
    grid-template-columns:1fr;
  }
}



/* SEO internal links */
.seo-link-section{
  margin-top:18px;
  padding:20px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--shadow);
}
.seo-link-section h3{
  margin:0 0 10px;
  color:#1e4878;
}
.seo-link-section p{
  margin:0 0 14px;
  color:#475569;
  font-weight:700;
  line-height:1.65;
}
.seo-link-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.seo-link-card{
  display:block;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#f8fafc;
  color:#1e4878;
  text-decoration:none;
  font-weight:900;
}
.seo-link-card span{
  display:block;
  margin-top:4px;
  color:#475569;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
}
.seo-link-card:hover{
  background:#eef2ff;
}
@media(max-width:900px){
  .seo-link-grid{grid-template-columns:1fr;}
}

/* SEO service area */
.seo-service-area{
  margin-top:18px;
  padding:20px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--shadow);
}
.seo-service-area h3{
  margin:0 0 10px;
  color:#1e4878;
}
.seo-service-area p{
  margin:0;
  color:#475569;
  font-weight:700;
  line-height:1.65;
}

/* ===== ZIP10 FRONT PAGE REMAKE ===== */
.section-compact{padding:56px 0;}
.section-dark{
  background:linear-gradient(180deg,#0f172a,#111827);
  color:white;
}
.front-shell{display:grid;gap:18px;}
.mock-hero{
  position:relative;
  overflow:hidden;
}

.mock-hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)),
    radial-gradient(900px 420px at 18% 18%, rgba(255,255,255,.05), transparent 55%);
}
.mock-hero > .container{position:relative; z-index:1;}
.mock-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:28px;
  align-items:center;
  min-height:630px;
}
.mock-kicker{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:999px;
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.14);
  color:white;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;
}
.mock-title{
  font-size:clamp(38px,6vw,64px);
  line-height:1.02;
  margin:18px 0 14px;
  max-width:11ch;
  color:#fff;
  text-shadow:0 10px 28px rgba(0,0,0,.35);
}
.mock-copy{
  color:rgba(255,255,255,.97);
  font-size:18px;
  line-height:1.65;
  max-width:58ch;
  text-shadow:0 6px 18px rgba(0,0,0,.28);
}
.mock-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.btn-ghost{
  background:rgba(255,255,255,.08);
  color:white;
  border:1px solid rgba(255,255,255,.16);
}
.mock-proof{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;}
.mock-proof span{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 13px;border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  color:white;font-weight:850;font-size:13px;
}
.hero-form-card{
  background:rgba(255,255,255,.96);
  color:var(--text-dark);
  border-radius:28px;
  padding:24px;
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 34px 80px rgba(0,0,0,.28);
}
.hero-form-card h2{margin:0 0 8px;font-size:28px;}
.hero-form-card p{margin:0 0 18px;color:var(--text-light);font-weight:700;line-height:1.5;}
.contact-form-grid{display:grid;gap:12px;}
.contact-form-grid .row-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.contact-form-grid button{width:100%;}
.form-note{font-size:12px;color:var(--text-light);font-weight:700;margin-top:10px;}
.hero-mini-stats{
  display:flex;flex-wrap:wrap;gap:10px 18px;
  margin-top:14px;align-items:center;
}
.hero-mini-stats .mini{
  background:transparent;border:0;border-radius:0;
  padding:0;text-align:left;display:flex;align-items:center;gap:6px;
}
.hero-mini-stats .mini::before{
  content:"•";color:var(--primary);font-weight:900;
}
.hero-mini-stats strong,
.hero-mini-stats span{display:inline;font-size:14px;line-height:1.5;}
.hero-mini-stats strong{font-weight:800;color:var(--text-dark);}
.hero-mini-stats span{color:var(--text-light);font-weight:700;margin-top:0;}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:22px;}
.section-head h2{margin:0;font-size:34px;}
.section-head p{margin:8px 0 0;color:var(--text-light);font-weight:700;max-width:64ch;}
.categories-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
.category-tile{
  position:relative;overflow:hidden;
  min-height:210px;padding:24px;border-radius:26px;color:white;
  display:flex;flex-direction:column;justify-content:flex-end;gap:10px;
  background:linear-gradient(180deg, rgba(15,23,42,.15), rgba(15,23,42,.92)), linear-gradient(135deg,#334155,#111827);
  box-shadow:var(--shadow-strong);
  border:1px solid rgba(255,255,255,.08);
  cursor:pointer;
}
.category-tile::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(circle at top right, rgba(129,140,248,.45), transparent 42%);
}
.category-tile > *{position:relative; z-index:1;}
.category-tile .eyebrow{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#c7d2fe;}
.category-tile h2{margin:0;font-size:26px;}
.category-tile .meta{font-size:13px;color:rgba(255,255,255,.82);font-weight:800;}
.category-tile .cta{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:13px;}
.link-btn{
  background:none;border:none;padding:0;color:var(--accent-dark);font-weight:900;cursor:pointer;
}
.featured-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
.featured-card{
  background:white;border:1px solid var(--border);border-radius:24px;overflow:hidden;
  box-shadow:var(--shadow);display:flex;flex-direction:column;
}
.featured-media{
  height:215px;background:linear-gradient(135deg,#dbeafe,#e2e8f0);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;
}
.featured-media img{width:100%;height:100%;object-fit:contain;display:block;padding:12px;box-sizing:border-box;}
.featured-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1;}
.featured-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.badge-soft{
  display:inline-flex;align-items:center;gap:8px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;
  padding:8px 10px;border-radius:999px;font-size:12px;font-weight:900;
}
.featured-price{font-weight:950;font-size:24px;white-space:nowrap;}
.featured-price small{display:block;font-size:12px;color:var(--text-light);}
.featured-body p{margin:0;color:var(--text-light);font-weight:700;line-height:1.55;}
.featured-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;}
.benefits-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
.benefit-card{
  background:white;border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:var(--shadow);
}
.benefit-card .icon{
  width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:#eef2ff;color:#3730a3;font-size:22px;margin-bottom:16px;
}
.benefit-card h3{margin:0 0 8px;}
.benefit-card p{margin:0;color:var(--text-light);font-weight:700;line-height:1.6;}
.cta-band{
  background:linear-gradient(135deg,#111827,#1e293b);
  color:white;border-radius:30px;padding:28px;display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center;
  box-shadow:var(--shadow-strong);
}
.cta-band h3{margin:0 0 10px;font-size:32px;}
.cta-band p{margin:0;color:rgba(255,255,255,.82);font-weight:700;line-height:1.6;}
.cta-band .cta-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;}
.contact-showcase{
  display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch;
}
.contact-panel{
  background:linear-gradient(135deg,#0f172a,#1e293b);
  color:white;border-radius:28px;padding:30px;box-shadow:var(--shadow-strong);
}
.contact-panel h2{margin:0 0 12px;font-size:38px;}
.contact-panel p{margin:0;color:rgba(255,255,255,.84);font-weight:700;line-height:1.7;}
.contact-points{display:grid;gap:12px;margin-top:22px;}
.contact-point{
  display:flex;gap:14px;align-items:flex-start;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px 16px;
}
.contact-point i{font-size:18px;color:#c7d2fe;margin-top:4px;}
.contact-point strong{display:block;margin-bottom:4px;}
.contact-form-panel{
  background:white;border:1px solid var(--border);border-radius:28px;padding:28px;box-shadow:var(--shadow);
}
.contact-form-panel h3{margin:0 0 8px;font-size:30px;}
.contact-form-panel p{margin:0 0 18px;color:var(--text-light);font-weight:700;}
.sticky-contact-btn{
  position:fixed;right:18px;bottom:18px;z-index:3200;
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 18px;border-radius:999px;
  box-shadow:0 18px 36px rgba(15,23,42,.28);
}
.home-modal{
  position:fixed;inset:0;background:rgba(2,6,23,.58);
  display:none;align-items:center;justify-content:center;z-index:3400;padding:18px;
}
.home-modal.open{display:flex;}
.home-modal-card{
  width:min(980px,100%);max-height:88vh;overflow:auto;
  background:white;border-radius:28px;padding:24px;border:1px solid var(--border);box-shadow:var(--shadow-strong);
}
.home-modal-head{
  display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;
}
.home-modal-head h3{margin:0;font-size:28px;}
.all-cats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.all-cat-item{
  background:#f8fafc;border:1px solid var(--border);border-radius:20px;padding:18px;
  display:flex;flex-direction:column;gap:8px;
}
.all-cat-item strong{font-size:20px;}
.all-cat-item span{color:var(--text-light);font-weight:700;font-size:13px;}
.text-white{color:white !important;}
@media(max-width:1040px){
  .mock-hero-grid,
  .contact-showcase,
  .cta-band{grid-template-columns:1fr;}
  .categories-grid{grid-template-columns:repeat(2,1fr);}
  .featured-grid,
  .benefits-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:720px){
  .section-head h2{font-size:28px;}
  .mock-hero-grid{min-height:auto;padding:26px 0;}
  .hero-form-card,
  .contact-form-panel,
  .contact-panel,
  .home-modal-card{border-radius:22px;}
  .categories-grid,
  .featured-grid,
  .benefits-grid,
  .all-cats-grid{grid-template-columns:1fr;}
  .contact-form-grid .row-two{grid-template-columns:1fr;}
  .hero-mini-stats{gap:8px 14px;}
}
@media(max-width:520px){
  .header-inner{gap:8px;}
  .header-right{margin-left:6px;gap:6px;}
  .burger{width:44px;padding:10px;font-size:0;justify-content:center;}
  .burger i{font-size:16px;}
  .cart{padding:10px 9px;}
  .cart-count{top:4px;right:3px;}
}

@media(max-width:520px){
  .section-compact{padding:44px 0;}
  .mock-title{font-size:34px;max-width:none;}
  .mock-copy{font-size:15px;}
  .mock-proof{gap:8px;}
  .mock-proof span{font-size:12px;padding:8px 10px;}
  .hero-form-card{padding:18px;}
  .hero-form-card h2{font-size:23px;}
  .hero-mini-stats{display:block;}
  .hero-mini-stats .mini{display:block;margin:0 0 4px;}
  .sticky-contact-btn{
    right:12px;bottom:12px;padding:12px 15px;font-size:14px;
  }

.mobile-booking-bar{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:3350;background:rgba(15,23,42,.96);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 20px 40px rgba(15,23,42,.32);backdrop-filter:blur(10px);}
.mobile-booking-bar-inner{display:flex;align-items:center;gap:12px;padding:12px;}
.mobile-booking-bar-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;}
.mobile-booking-bar-top{font-size:12px;font-weight:900;opacity:.86;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mobile-booking-bar-main{font-size:15px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mobile-booking-bar-sub{font-size:12px;font-weight:800;color:rgba(255,255,255,.78);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mobile-booking-bar-btn{flex:0 0 auto;border:none;border-radius:14px;padding:12px 14px;font-weight:950;font-size:14px;min-height:48px;background:linear-gradient(180deg,#ff8a00,#ff5c00);color:#fff;cursor:pointer;}
.mobile-booking-bar.is-disabled .mobile-booking-bar-btn{opacity:.55;cursor:not-allowed;}
@media(max-width:720px){
  body.has-mobile-booking-bar{padding-bottom:96px;}
  .mobile-booking-bar{display:block;}
}
  .cta-band h3,
  .contact-panel h2,
  .contact-form-panel h3{font-size:26px;}
}


/* ===== PSK SCREENSHOT-STYLE HOME ===== */
.hero.mock-hero{
  padding:0;
  background:
    linear-gradient(90deg, rgba(15,23,42,.84) 0%, rgba(15,23,42,.60) 34%, rgba(15,23,42,.30) 58%, rgba(15,23,42,.10) 100%),
    url('/uploads/hero-tools-bg.jpg?v=51') center right / cover no-repeat;
  color:var(--text-dark);
  border-bottom:none;
}
.mock-hero{
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
}
.mock-hero::before{background:linear-gradient(90deg, rgba(255,255,255,.20) 0%, rgba(255,255,255,.02) 60%, rgba(255,255,255,0) 100%);}
.mock-hero-grid{min-height:650px;grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);gap:34px;}
.mock-kicker{display:none;}
.mock-title{font-size:clamp(48px,5vw,72px);max-width:9ch;color:white;text-shadow:0 3px 18px rgba(0,0,0,.18);}
.mock-copy{font-size:18px;font-weight:700;color:rgba(255,255,255,.92);max-width:30ch;text-shadow:0 2px 10px rgba(0,0,0,.16);}
.mock-cta-row{margin-top:28px;}
.mock-cta-row button{min-width:170px;border-radius:8px;padding:16px 22px;font-size:16px;}
.mock-cta-row button:first-child{background:linear-gradient(180deg,#ff8a00,#ff5c00);}
.btn-ghost{background:white;color:#1e3a5f;border:1px solid #d8dee8;}
.mock-proof{display:none;}
.hero-form-card{background:rgba(255,255,255,.97);border-radius:12px;padding:22px 20px;box-shadow:0 18px 40px rgba(0,0,0,.18);}
.hero-form-card h2{font-size:22px;text-align:center;color:#1e4878;margin-bottom:18px;}
.hero-form-card p,.hero-mini-stats,.form-note{display:none;}
.contact-form-grid{gap:10px;}
.contact-form-grid .row-two{grid-template-columns:1fr;gap:10px;}
.contact-form-grid .input,
.contact-form-grid textarea{border-radius:4px;border:1px solid #d1d5db;padding:13px 14px;box-shadow:none;}
.contact-form-grid textarea{min-height:96px;}
.contact-form-grid button{border-radius:6px;background:linear-gradient(180deg,#ff3131,#df1212);padding:15px 18px;font-size:16px;}
.front-category-wrap{margin-top:-38px;position:relative;z-index:2;}
.categories-grid{grid-template-columns:repeat(4,1fr);gap:14px;}
.category-tile{min-height:160px;border-radius:8px;padding:16px;justify-content:space-between;align-items:flex-start;background-size:cover !important;background-position:center !important;box-shadow:0 12px 25px rgba(0,0,0,.12);}
.category-tile::before{background:linear-gradient(180deg, rgba(15,23,42,.04) 0%, rgba(15,23,42,.72) 100%);}
.category-tile .eyebrow{display:none;}
.category-tile h2{font-size:20px;text-shadow:0 2px 8px rgba(0,0,0,.25);}
.category-tile .meta{color:rgba(255,255,255,.95);font-size:12px;}
.category-tile .cta{font-size:12px;background:rgba(255,255,255,.16);padding:7px 10px;border-radius:999px;}
.home-link-all{display:inline-flex;align-items:center;gap:8px;color:#1e4878;font-weight:900;text-decoration:none;cursor:pointer;}
.section-head.compact h2{font-size:28px;color:#1e4878;}
.section-head.compact p{display:none;}
.featured-grid{grid-template-columns:repeat(4,1fr);gap:14px;}
.featured-card{border-radius:8px;box-shadow:0 10px 22px rgba(15,23,42,.08);}
.featured-media{height:180px;background:white;}
.featured-body{padding:14px;gap:8px;}
.featured-top{display:block;}
.badge-soft{display:none;}
.featured-body h3{margin:0 0 10px !important;font-size:15px;color:#1e4878;min-height:38px;}
.featured-price{font-size:18px;color:#111827;margin-bottom:8px;}
.featured-price small{display:inline;color:#6b7280;margin-left:4px;}
.featured-body p{display:none;}
.featured-actions{display:grid;grid-template-columns:1fr;gap:8px;}
.featured-actions button:first-child{background:linear-gradient(180deg,#ff8a00,#ff5c00);border-radius:4px;padding:12px 14px;}
.featured-actions .btn-light{border-radius:4px;}
.info-band{background:#0b4a86;color:white;margin-top:34px;}
.info-band-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.info-band-item{display:flex;align-items:center;justify-content:center;gap:14px;padding:24px 18px;font-weight:900;font-size:15px;text-align:center;border-right:1px solid rgba(255,255,255,.18);}
.info-band-item:last-child{border-right:none;}
.info-band-item i{font-size:28px;}
.contact-screenshot{background:#f2f4f7;}
.contact-showcase{grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start;}
.contact-panel{background:transparent;color:var(--text-dark);box-shadow:none;padding:0;border-radius:0;}
.contact-panel h2{font-size:28px;color:#1e4878;}
.contact-panel p{color:#334155;max-width:30ch;}
.contact-points{display:none;}
.contact-form-panel{border-radius:8px;padding:18px;}
.contact-form-panel h3{display:none;}
.contact-form-panel p{display:none;}
.sticky-contact-btn{background:linear-gradient(180deg,#ff3131,#df1212);padding:16px 18px;border-radius:999px;font-weight:900;}
@media(max-width:1040px){
  .mock-hero-grid{grid-template-columns:1fr;min-height:auto;padding:40px 0;}
  .front-category-wrap{margin-top:0;}
  .featured-grid{grid-template-columns:repeat(2,1fr);}
  .info-band-inner{grid-template-columns:1fr;}
  .info-band-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.18);}
  .info-band-item:last-child{border-bottom:none;}
}
@media(max-width:720px){
  .topbar{display:none;}
  .mobile-topbar{display:block;}
  .mobile-topbar .container{padding:0 14px;}
  .mobile-topbar-inner{gap:12px;}
  .mobile-topbar a{font-size:13px;white-space:nowrap;}
  .logo{font-size:26px;}
  .logo-main{font-size:18px;}
  .logo-main strong{font-size:30px;}
  .logo-main span{font-size:21px;}
  .logo-sub{font-size:9px;letter-spacing:.10em;}
  .mock-title{font-size:clamp(34px,9vw,48px);max-width:10ch;}
  .mock-copy{font-size:15px;max-width:24ch;}
  .categories-grid,.featured-grid{grid-template-columns:1fr;}
  .contact-showcase{grid-template-columns:1fr;}
}

/* PREMIUM FOOTER */
.site-footer{
  background:var(--primary);
  padding:30px 15px;
  text-align:center;
  font-size:14px;
  color:#cbd5e1;
  border-top:1px solid rgba(255,255,255,0.05);
  box-shadow:0 -12px 40px rgba(0,0,0,0.12);
  margin-top:44px;
  padding-bottom:calc(30px + env(safe-area-inset-bottom));
}
.site-footer .footer-inner{
  max-width:1200px;
  margin:auto;
  line-height:1.7;
  opacity:.95;
}
.site-footer a{
  color:#fde68a;
  text-decoration:none;
}
.site-footer a:hover{
  color:#ffffff;
}


/* ===== FIX: iPhone / mobil – scroll i kurv (drawer) ===== */
#drawer{
  display:flex;
  flex-direction:column;
}

.drawer-items{
  flex: 1 1 auto;
  min-height: 0;                 /* vigtig for iOS */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  max-height: none !important;   /* fjern “låst” højde på mobil */
}

@media(max-width:520px){
  #drawer{
    height: 92dvh;               /* iOS moderne viewport */
  }
}


/* ===== Smart mobil-kalender: skjul ugenumre på små skærme ===== */
@media(max-width:420px){

  /* Fjern første tomme felt + ugenumre */
  .calendar > div:first-child{ display:none; }      /* den tomme “corner” */
  .calendar-weeknum{ display:none; }

  /* Nu kun 7 kolonner */
  .calendar{
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 4px;
  }

  /* Gør teksten mindre så alt kan være i samme view */
  .calendar-weekday{
    padding:6px 2px;
    font-size:10px;
    border-radius:10px;
  }

  .calendar-day{
    padding:8px 2px;
    font-size:11px;
    border-radius:10px;
  }

  .calendar-day span{
    font-size:9px;
  }
}


/* PSK PRO DRAWER SAFE ZONE */
:root{ --psk-drawer-safe-left:36px; } /* ca. 1-2 cm */

/* Desktop/tablet: lille “safe zone” i venstre side, men fyldigere content */
#drawer{
  padding-left:var(--psk-drawer-safe-left);
}
#drawer .drawer-scroll{
  display:flex;
  flex-direction:column;
  align-items:stretch; /* fyldig som før */
}
#drawer .drawer-scroll > *{
  width:100%;
  max-width:100%;
}

/* mobile fallback */
@media (max-width:768px){
  #drawer{ padding-left:0; }
}



/* COOKIE BAR */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9500;background:rgba(15,23,42,.98);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.28);padding:16px 18px;display:none;max-width:980px;margin:0 auto;}
.cookie-banner.show{display:block;}
.cookie-banner-inner{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;}
.cookie-banner-copy{min-width:0;flex:1;}
.cookie-banner-title{font-size:16px;font-weight:950;margin:0 0 6px;}
.cookie-banner-text{margin:0;font-size:14px;line-height:1.55;color:rgba(255,255,255,.86);}
.cookie-banner-text a{color:#fff;font-weight:900;text-decoration:underline;}
.cookie-banner-actions{display:flex;gap:10px;flex:0 0 auto;align-items:center;}
.cookie-banner .btn-secondary{background:transparent;border:1px solid rgba(255,255,255,.18);color:#fff;}
@media(max-width:720px){
  .cookie-banner{left:12px;right:12px;bottom:12px;padding:14px;}
  .cookie-banner-inner{flex-direction:column;}
  .cookie-banner-actions{width:100%;}
  .cookie-banner-actions button{flex:1;min-width:0;}
}


.psk-time-note-hero{
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:16px;
  padding:14px 18px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(30,58,138,.88));
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 16px 36px rgba(0,0,0,.24);
  font-size:15px;
  font-weight:900;
  line-height:1.35;
  backdrop-filter:blur(6px);
}
.psk-time-note-hero i{
  width:40px;
  height:40px;
  min-width:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  font-size:16px;
}
.psk-time-note-hero-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  text-align:left;
}
.psk-time-note-hero-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.psk-time-note-hero-main{
  font-size:15px;
  font-weight:900;
  color:#fff;
}
.psk-time-note-hero-sub{
  font-size:13px;
  font-weight:800;
  color:rgba(255,255,255,.82);
}
.psk-time-note-cart{
  margin:10px 0 12px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#f8fafc;
  color:var(--primary);
  font-size:13px;
  font-weight:850;
  line-height:1.45;
}
.psk-time-note-hero strong,
.psk-time-note-cart strong{font-weight:950;}
@media(max-width:980px){
  .psk-time-note-hero{
    display:flex;
    justify-content:flex-start;
    text-align:left;
    font-size:13px;
    padding:12px 14px;
    gap:12px;
    width:100%;
    max-width:420px;
  }
  .psk-time-note-hero i{
    width:36px;
    height:36px;
    min-width:36px;
    border-radius:10px;
  }
  .psk-time-note-hero-main{font-size:14px;}
  .psk-time-note-hero-sub{font-size:12px;}
}



.psk-opening-hours-bar{
  background:#0f172a;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,0.10);
  box-shadow:0 10px 30px rgba(15,23,42,0.14);
}
.psk-opening-hours-bar .container{
  max-width:100%;
  width:100%;
  margin:0;
  padding:10px 22px;
}
.psk-opening-hours-desktop,
.psk-opening-hours-mobile{
  width:100%;
}
.psk-opening-hours-desktop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
}
.psk-opening-hours-mobile{
  display:none;
}
.psk-opening-hours-left{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding-left:clamp(40px,10vw,180px);
  white-space:nowrap;
}
.psk-opening-hours-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
  flex-wrap:wrap;
}
.psk-opening-hours-profile{
  display:none;
  align-items:center;
  justify-content:center;
  flex:1 1 auto;
  min-width:0;
  text-align:center;
}
.psk-opening-hours-profile-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:min(100%, 420px);
  padding:8px 14px;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:999px;
  background:rgba(255,255,255,0.06);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.psk-opening-hours-profile-link:hover{
  background:rgba(255,255,255,0.10);
  text-decoration:none;
}
.psk-opening-hours-profile-prefix{
  opacity:.84;
}
.psk-opening-hours-profile-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.psk-opening-hours-bar a,
.psk-opening-hours-bar span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  text-decoration:none;
}
.psk-opening-hours-bar a:hover{text-decoration:underline;}
.psk-opening-hours-bar i{opacity:.95;}
.psk-opening-hours-footer{
  margin:0 auto 14px;
  max-width:560px;
  padding:11px 14px;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:14px;
  background:rgba(255,255,255,0.04);
  color:#e2e8f0;
  text-align:center;
  font-size:14px;
  font-weight:800;
}
@media(max-width:768px){
  .hero-form-card{display:none;}
}
@media(max-width:640px){
  .psk-opening-hours-bar .container{
    padding:10px 12px;
  }
  .psk-opening-hours-desktop{
    display:none;
  }
  .psk-opening-hours-mobile{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    font-size:12px;
    font-weight:800;
    line-height:1.35;
  }
  .psk-opening-hours-mobile .psk-oh-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:0;
    text-align:center;
  }
  .psk-opening-hours-mobile .psk-oh-links{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .psk-opening-hours-mobile .psk-oh-profile{
    display:none;
    width:100%;
  }
  .psk-opening-hours-mobile .psk-oh-profile a{
    width:100%;
    justify-content:center;
    min-width:0;
    padding:8px 10px;
    border:1px solid rgba(255,255,255,0.12);
    border-radius:12px;
    background:rgba(255,255,255,0.04);
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .psk-opening-hours-mobile .psk-oh-links a{
    justify-content:center;
    min-width:0;
    padding:8px 10px;
    border:1px solid rgba(255,255,255,0.12);
    border-radius:12px;
    background:rgba(255,255,255,0.04);
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .psk-opening-hours-footer{
    font-size:13px;
    line-height:1.45;
  }
}



/* ===== PSK MOBILE CART STABILITY FIX ===== */
@media (max-width: 768px){
  #drawerOverlay{
    align-items:flex-end;
  }
  #drawer{
    position:fixed;
    left:0;
    right:0;
    top:0;
    bottom:0;
    width:100vw;
    max-width:100vw;
    height:var(--psk-drawer-viewport-height,100dvh) !important;
    min-height:0;
    border-left:none;
    border-top:none;
    border-radius:0;
    padding:14px 14px calc(14px + env(safe-area-inset-bottom));
    transform:none;
  }
  #drawer .drawer-scroll{
    padding-right:0;
    padding-bottom:18px;
  }
  #drawer .drawer-foot{
    padding-bottom:18px;
  }
  .checkout-box,
  .discount-box,
  .drawer-item,
  .drawer-total,
  .legal-check{
    scroll-margin-top:16px;
  }
  .input,
  textarea,
  select{
    font-size:16px !important;
  }
  textarea.input,
  #coNote{
    min-height:96px;
  }
  body.psk-keyboard-open #drawer{
    height:var(--psk-drawer-viewport-height,100dvh) !important;
    min-height:0;
    bottom:auto;
  }
}


.user-auth-slot{display:flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0;}
.user-auth-guest,.user-auth-logged{display:flex;align-items:center;gap:8px;min-width:0;}
.user-auth-logged{display:none;}
.user-login-btn,.user-profile-btn,.user-logout-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.24);font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(2,6,23,.16);white-space:nowrap;transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;color:#0b4a86;text-decoration:none;}
.user-login-btn,.user-profile-btn{background:linear-gradient(135deg,#ffffff,#f8fafc);}
.user-login-btn:hover,.user-profile-btn:hover,.user-logout-btn:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(2,6,23,.2);}
.user-login-btn:hover,.user-profile-btn:hover{background:linear-gradient(135deg,#ffffff,#eef6ff);}
.user-login-btn:focus-visible,.user-profile-btn:focus-visible,.user-logout-btn:focus-visible{outline:3px solid rgba(255,255,255,.3);outline-offset:2px;}
.user-profile-btn{max-width:210px;justify-content:flex-start;background:linear-gradient(135deg,#ecfeff,#dbeafe);border-color:rgba(191,219,254,.95);color:#0f4c81;}
.user-profile-btn .user-profile-sub{display:block;font-size:10px;line-height:1.1;font-weight:800;opacity:.78;letter-spacing:.04em;text-transform:uppercase;}
.user-profile-btn .user-profile-main{display:block;font-size:14px;line-height:1.15;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.user-profile-btn .user-profile-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;}
.user-logout-btn{background:linear-gradient(135deg,#fff1f2,#ffe4e6);border-color:rgba(254,205,211,.98);color:#be123c;padding-left:14px;padding-right:14px;}
.user-login-btn .fa-user,.user-profile-btn .fa-circle-user,.user-logout-btn .fa-right-from-bracket{font-size:15px;}
.user-auth-overlay{position:fixed;inset:0;background:rgba(2,6,23,.55);display:none;align-items:center;justify-content:center;padding:18px;z-index:9999;}
.user-auth-overlay.open{display:flex;}
.user-auth-modal{width:min(100%,560px);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:20px;box-shadow:0 30px 80px rgba(2,6,23,.28);}
.user-auth-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;}
.user-auth-head h3{margin:0;font-size:24px;color:#1e293b;}
.user-auth-close{border:none;background:#f1f5f9;color:#0f172a;border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer;}
.user-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.user-auth-grid .full{grid-column:1/-1;}
.user-auth-orders{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
.user-auth-order{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#f8fafc;}
.user-auth-order-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px;flex-wrap:wrap;}
.user-auth-msg{margin-top:10px;font-weight:800;color:#1d4ed8;}
.user-auth-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;}
.user-auth-tab{border:none;background:#e2e8f0;color:#0f172a;padding:10px 14px;border-radius:999px;font-weight:900;cursor:pointer;}
.user-auth-tab.active{background:linear-gradient(135deg,#0b4a86,#1d4ed8);color:#fff;box-shadow:0 12px 26px rgba(29,78,216,.22);}
.user-auth-pane{display:none;}
.user-auth-pane.active{display:block;}
.user-auth-inline-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px;}
.user-auth-linkbtn{border:none;background:none;padding:0;color:#0b4a86;font-weight:900;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.user-auth-muted{margin-top:10px;color:#475569;font-size:13px;line-height:1.5;}
.user-auth-check{display:flex;align-items:center;gap:8px;font-size:13px;color:#334155;font-weight:700;}
.user-auth-check input{width:16px;height:16px;}
@media(max-width:920px){
  .user-profile-btn{max-width:172px;padding-left:13px;padding-right:13px;}
  .user-profile-btn .user-profile-main{max-width:86px;}
}
@media(max-width:720px){
  .user-auth-slot{gap:6px;}
  .user-login-btn{min-width:44px;width:44px;height:44px;padding:0;border-radius:14px;box-shadow:0 8px 22px rgba(2,6,23,.18);gap:0;flex:0 0 44px;}
  .user-login-btn .user-login-text{display:none;}
  .user-profile-btn{min-width:0;max-width:128px;min-height:44px;padding:8px 12px;border-radius:14px;box-shadow:0 8px 22px rgba(2,6,23,.18);}
  .user-profile-btn .user-profile-sub{display:none;}
  .user-profile-btn .user-profile-main{max-width:70px;font-size:13px;}
  .user-profile-btn .fa-circle-user{font-size:14px;}
  .user-logout-btn{min-width:44px;width:44px;height:44px;padding:0;border-radius:14px;box-shadow:0 8px 22px rgba(2,6,23,.18);font-size:0;}
  .user-logout-btn span{display:none;}
  .user-auth-grid{grid-template-columns:1fr;}
}

/* PSK Google anmeldelser - kun forsideindsaettelse */
.psk-google-review-card{
  margin-top:18px;
  max-width:560px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 16px 36px rgba(0,0,0,.18);
  color:#172033;
}
.psk-google-review-main{display:flex;align-items:center;gap:13px;min-width:0;}
.psk-google-review-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px rgba(0,0,0,.10);
  font-size:23px;
  font-weight:900;
}
.psk-google-review-title{font-size:14px;font-weight:900;line-height:1.2;color:#172033;}
.psk-google-review-stars{margin-top:3px;color:#fbbc04;letter-spacing:1.2px;font-size:15px;line-height:1;}
.psk-google-review-text{margin-top:4px;font-size:12px;font-weight:800;color:#546179;}
.psk-google-review-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.psk-google-review-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 13px;
  border-radius:999px;
  background:#0b57d0;
  color:#fff !important;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 10px 22px rgba(11,87,208,.25);
}
.psk-google-review-btn:hover{filter:brightness(.96);transform:translateY(-1px);}
@media (max-width:720px){
  .psk-google-review-card{align-items:flex-start;flex-direction:column;padding:15px;margin-top:16px;}
  .psk-google-review-actions{width:100%;justify-content:flex-start;}
  .psk-google-review-btn{width:100%;}
}

/* Phase 4: product add-ons */
.psk-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:18px;align-items:start;}
.psk-addons-box{border:1px solid var(--border);border-radius:18px;background:#f8fafc;padding:14px;margin-top:18px;}
.psk-booking-layout>.psk-addons-box{margin-top:18px;position:sticky;top:110px;}
.psk-addons-box.compact{margin-top:12px;padding:12px;background:#fff;}
.psk-addons-title{font-weight:900;color:var(--primary);display:flex;gap:8px;align-items:center;margin-bottom:10px;}
.psk-addons-list{display:grid;gap:8px;}
.psk-addon-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid var(--border);border-radius:14px;background:#fff;padding:10px;cursor:pointer;}
.psk-addon-row input{margin-top:3px;}
.psk-addon-row span{display:grid;gap:3px;line-height:1.25;}
.psk-addon-row small{color:var(--text-light);font-weight:700;}
.psk-addon-row strong{white-space:nowrap;color:var(--primary);}
.psk-addon-row.is-required{background:#f5f3ff;border-color:#c4b5fd}.psk-addon-row input:disabled{opacity:1;accent-color:#6d28d9}.cart-addon-price-breakdown{display:flex!important;gap:12px!important;flex-wrap:wrap;color:var(--text-light);font-size:12px;font-weight:800}
.psk-addon-teaser{display:flex;gap:12px;align-items:flex-start;border:1px solid #c4b5fd;border-radius:16px;background:linear-gradient(135deg,#faf5ff,#f5f3ff);padding:14px;margin-top:16px;color:#4c1d95}.psk-addon-teaser>i{font-size:20px;margin-top:2px}.psk-addon-teaser div{display:grid;gap:3px}.psk-addon-teaser span{font-size:12px;color:#6b21a8;font-weight:700;line-height:1.45}
.psk-addon-dialog{border:0;padding:0;border-radius:26px;width:min(720px,calc(100vw - 24px));max-height:min(88vh,820px);box-shadow:0 32px 100px rgba(15,23,42,.34);overflow:hidden}.psk-addon-dialog::backdrop{background:rgba(15,23,42,.68);backdrop-filter:blur(4px)}.psk-addon-dialog-card{display:flex;flex-direction:column;max-height:min(88vh,820px);background:#fff}.psk-addon-dialog-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:24px 24px 18px;border-bottom:1px solid #eef2f7;background:linear-gradient(145deg,#faf5ff,#fff)}.psk-addon-dialog-head h2{margin:6px 0 4px;color:#0f172a;font-size:25px}.psk-addon-dialog-head p{margin:0;color:#64748b;font-weight:700;line-height:1.45}.psk-addon-kicker{color:#6d28d9;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.psk-addon-dialog-close{border:1px solid #dbe4ef;background:#fff;border-radius:14px;width:42px;height:42px;display:grid;place-items:center;cursor:pointer;color:#334155;flex:0 0 auto}.psk-addon-dialog-list{display:grid;gap:10px;padding:18px 24px;overflow-y:auto}.psk-addon-dialog-option{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1.5px solid #e2e8f0;border-radius:18px;padding:14px;background:#fff;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.psk-addon-dialog-option:hover{border-color:#a78bfa;box-shadow:0 10px 22px rgba(109,40,217,.10);transform:translateY(-1px)}.psk-addon-dialog-option:has(input:checked){border-color:#8b5cf6;background:#faf5ff}.psk-addon-dialog-option.is-required{background:#f5f3ff}.psk-addon-dialog-option input{width:20px;height:20px;accent-color:#6d28d9}.psk-addon-option-icon{width:42px;height:42px;border-radius:13px;background:#ede9fe;color:#6d28d9;display:grid;place-items:center}.psk-addon-option-copy{display:grid;gap:3px}.psk-addon-option-copy small{color:#64748b;font-weight:700;line-height:1.4}.psk-addon-option-copy em{font-size:11px;color:#7c3aed;font-style:normal;font-weight:900}.psk-addon-dialog-option>strong{color:#4c1d95;white-space:nowrap}.psk-addon-dialog-summary{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 24px;padding:14px 16px;border-radius:15px;background:#0f172a;color:#fff;font-weight:850}.psk-addon-dialog-summary strong{font-size:20px}.psk-addon-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px 24px}.psk-addon-dialog-actions button{min-height:46px}
@media(max-width:850px){.psk-booking-layout{grid-template-columns:1fr}.psk-booking-layout>.psk-addons-box{position:static}}
@media(max-width:600px){.psk-addon-dialog{width:calc(100vw - 16px);border-radius:22px}.psk-addon-dialog-head{padding:18px 16px 14px}.psk-addon-dialog-head h2{font-size:20px}.psk-addon-dialog-list{padding:14px 16px}.psk-addon-dialog-option{grid-template-columns:auto minmax(0,1fr) auto;padding:12px}.psk-addon-option-icon{display:none}.psk-addon-dialog-option>strong{font-size:12px}.psk-addon-dialog-summary{margin:0 16px}.psk-addon-dialog-actions{display:grid;grid-template-columns:1fr;padding:14px 16px 18px}.psk-addon-dialog-actions #pskAddonDialogConfirm{order:-1}}

.psk-addon-dialog-summary span{display:grid;gap:2px}.psk-addon-dialog-summary span>b{font-size:14px}.psk-addon-dialog-summary span>small{color:#cbd5e1;font-weight:700}
.psk-addon-dialog-option.is-recommended{border-color:#a78bfa}.psk-addon-recommended{display:inline-flex!important;width:max-content;border-radius:999px;padding:3px 8px;background:#7c3aed;color:#fff!important;font-size:10px!important;font-weight:950!important;text-transform:uppercase;letter-spacing:.04em}

/* Fase 5: depositum vises tydeligt sammen med produktpriser */
.pcard .price{
  display:flex;
  flex-direction:column;
  gap:3px;
  line-height:1.15;
}
.pcard .price small,
.featured-price small{
  font-size:12px;
  font-weight:900;
  color:#475569;
}
.featured-price{
  line-height:1.15;
}

.cookie-change-btn{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
.cookie-change-btn:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* V19: coherent, accessible customer experience */
.psk-skip-link{position:fixed;left:14px;top:12px;z-index:20000;transform:translateY(-160%);padding:12px 16px;border-radius:12px;background:#fff;color:#0b4a86;font-weight:950;box-shadow:0 14px 34px rgba(15,23,42,.25);transition:transform .16s ease}
.psk-skip-link:focus{transform:translateY(0)}
.logo{appearance:none;border:0;background:transparent;color:inherit;text-align:left;font:inherit}
.cart{appearance:none;border:0;background:transparent;color:inherit}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #fbbf24!important;outline-offset:3px!important}
:where(button,a,.category-tile,.featured-card,.pcard){-webkit-tap-highlight-color:transparent}
button:disabled,[aria-disabled="true"]{cursor:not-allowed;opacity:.62}
#content:focus{outline:none!important}
.task-finder{display:grid;gap:10px;grid-column:1/-1;padding-top:2px}
.task-finder-label{font-size:12px;font-weight:900;color:#475569}
.task-finder-chips{display:flex;flex-wrap:wrap;gap:8px}
.task-finder-chip{min-height:38px!important;padding:8px 12px!important;border:1px solid #cbd5e1!important;border-radius:999px!important;background:#fff!important;color:#0f4c81!important;font-size:12px!important;font-weight:900!important;box-shadow:none!important}
.task-finder-chip:hover{background:#eff6ff!important;border-color:#60a5fa!important;transform:translateY(-1px)}
.product-result-status:not(:empty){display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border-radius:999px;background:#ecfdf5;color:#047857;font-weight:900}
.featured-card,.pcard,.category-tile{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.featured-card:hover,.pcard:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(15,23,42,.12)}
.home-modal.open,.user-auth-overlay.open{overscroll-behavior:contain}
@media(max-width:720px){
  .product-discovery-toolbar{position:relative;padding:14px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0}
  .product-search-field{grid-column:1/-1}
  .task-finder-chips{flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}
  .task-finder-chip{flex:0 0 auto;scroll-snap-align:start}
  .featured-card:hover,.pcard:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* V51.1 – mobil scroll, viewport og touch-forbedringer */
html{scroll-padding-top:88px}
body{overflow-x:clip}
#drawer .drawer-scroll{touch-action:pan-y;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
#drawer .drawer-head{flex:0 0 auto}
@media(max-width:768px){
  #drawerOverlay{overscroll-behavior:contain}
  #drawer{max-height:var(--psk-drawer-viewport-height,100dvh);overflow:hidden;touch-action:pan-y}
  #drawer .drawer-scroll{min-height:0;max-width:100%;padding-bottom:max(20px,env(safe-area-inset-bottom))}
  #drawer .drawer-foot,#checkoutArea,.checkout-box,.drawer-item{min-width:0;max-width:100%}
  #mobileNav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
  .checkout-progress{position:sticky;top:-1px;z-index:3;padding:6px 0;background:linear-gradient(#fff 82%,rgba(255,255,255,0))}
  .drawer-actions{position:relative;z-index:2}
  img,video,iframe{max-width:100%;height:auto}
  input,textarea,select,button{max-width:100%}
}
@media(max-width:520px){
  .drawer-head{padding-top:max(0px,env(safe-area-inset-top))}
  .drawer-total{align-items:flex-start;gap:10px}
  .drawer-item-actions,.inline-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .drawer-item-actions>* ,.inline-actions>*{width:100%;min-width:0}
  .checkout-progress button span{line-height:1.15}
}
