:root {
  --bg: #f6f7fb;
  --text: #111;
  --muted: #8d8d93;
  --accent: #9de1ff;
  --accent-strong: #5c9eff;
  --card: rgba(255, 255, 255, 0.06);
  --border: rgba(15, 17, 25, 0.12);
  --shadow: 0 35px 80px rgba(8, 10, 18, 0.35);
  --radius: 32px;
  --nav-height: 60px;
  font-family: "SF Pro Display", "SF Pro Text", "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}
* {box-sizing:border-box;margin:0;padding:0;}
body {
  color: var(--text);
  min-height: 100vh;
  line-height: 1.6;
  overflow-x: hidden;
  background:#fdfdfd;
}
body.modal-open {overflow:hidden;}
img {max-width:100%;display:block;}
button,input,select,textarea {font:inherit;color:inherit;}
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #4e7aff;
  outline-offset: 2px;
}

.global-nav {
  position: sticky;top: 0;z-index: 20;
  width: 100%;
  padding: 0.45rem clamp(1.25rem, 3vw, 3rem);
  min-height: var(--nav-height);
  background: transparent;
  border-bottom: 0 solid transparent;
  backdrop-filter: blur(14px);
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  color: #f7f7f7;
  box-shadow: none;
}
.nav-inner {max-width: 1180px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:clamp(0.8rem,2.5vw,2rem);}
.logo {display:inline-flex;align-items:center;gap:4px;font-weight:600;letter-spacing:0.2em;text-decoration:none;color:#f7f7f7;padding:0.2rem 0.2rem;border-radius:10px;background:transparent;border:none;box-shadow:none;}
.logo span:first-child {color:#f7f7f7;}
.logo sup {font-size:0.55em;letter-spacing:normal;margin-left:2px;}
.nav-links {display:flex;gap:0.5rem;flex-wrap:wrap;justify-content:center;}
.nav-link {display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.45);border:1px solid rgba(255,255,255,0.18);color:#f7f7f7;padding:0.4rem 0.95rem;border-radius:999px;transition:color .2s,background .2s,transform .2s,box-shadow .2s;text-decoration:none;font-size:0.92rem;text-shadow:0 1px 2px rgba(0,0,0,0.4);}
.nav-link.active,.nav-link:hover {background:rgba(0,0,0,0.62);color:#ffffff;transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,0,0,0.28);}
.nav-actions {display:flex;gap:0.5rem;align-items:center;}
.global-nav {visibility:hidden;}
body.nav-ready .global-nav {visibility:visible;}
.nav-cta-wrap {display:flex;align-items:center;gap:0.4rem;}
.modal-open .nav-actions .btn.primary,
.modal-open .hero-meta .btn.primary {display:inline-flex!important;}
.nav-banner {
  width:100%;
  text-align:center;
  font-size:0.7rem;
  letter-spacing:0.25em;
  text-transform:uppercase;
  padding:0.35rem 1rem;
  border-bottom:1px solid rgba(255,255,255,0.12);
  position:sticky;
  top:var(--nav-height);
  z-index:19;
  background:#05050c;
  color:#fff;
  transition:background 0.3s ease,color 0.3s ease,border-color 0.3s ease;
}
body[data-nav-theme="dark"] .nav-banner {
  background:#fff;
  color:#05050c;
  border-bottom-color:rgba(0,0,0,0.12);
}
body:not([data-nav-theme="dark"]) .nav-banner {
  background:#05050c;
  color:#fff;
  border-bottom-color:rgba(255,255,255,0.12);
}
body.nav-open .nav-banner {position:static;}
body.nav-open {overflow:hidden;}
.cart-button {position:relative;display:inline-flex;align-items:center;gap:0.3rem;border:1px solid rgba(255,255,255,0.2);background:rgba(0,0,0,0.42);color:#f6f6f6;border-radius:999px;padding:0.35rem 0.9rem;cursor:pointer;transition:box-shadow 0.2s,transform 0.2s;}
.cart-button:hover {box-shadow:0 14px 24px rgba(0,0,0,0.22);transform:translateY(-1px);}
.cart-icon {width:18px;height:18px;border:2px solid currentColor;border-radius:4px;position:relative;}
.cart-icon::after {content:'';position:absolute;top:-4px;left:2px;width:10px;height:6px;border:2px solid currentColor;border-bottom:none;border-top-left-radius:6px;border-top-right-radius:6px;}
.cart-count {
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:18px;
  height:18px;
  padding:0 4px;
  border-radius:999px;
  background:#e6c66a;
  color:#1e2a14;
  font-size:0.7rem;
  font-weight:700;
  line-height:1;
  display:grid;
  place-items:center;
  box-shadow:0 6px 12px rgba(0,0,0,0.2);
}
.user-button {display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid rgba(5,5,12,0.2);background:#ffffff;margin-right:0.4rem;transition:box-shadow 0.2s,transform 0.2s,color 0.2s;color:#05050c;}
.user-button:hover {box-shadow:0 18px 28px rgba(5,5,12,0.35);transform:translateY(-1px);}
.user-icon {width:18px;height:18px;border-radius:50%;border:2px solid currentColor;position:relative;}
.user-icon::after {content:'';position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);width:18px;height:10px;border:2px solid currentColor;border-top:none;border-radius:999px;}
.nav-user-stack {display:flex;flex-direction:column;align-items:center;gap:0.3rem;}
.nav-user-stack .role-link {padding:0.2rem 0.8rem;font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;border-radius:999px;line-height:1;white-space:nowrap;}
.user-button.user-role-customer {background:var(--accent-strong);border-color:var(--accent-strong);color:#041221;}
.user-button.user-role-admin {background:#ff5c6c;border-color:#ff5c6c;}
.user-button.user-role-worker {background:#f7c948;border-color:#f7c948;color:#1a1a1a;}
.menu-toggle {display:none;flex-direction:column;gap:4px;background:transparent;border:none;cursor:pointer;}
.menu-toggle span {width:24px;height:2px;background:currentColor;display:block;}
body[data-nav-theme="dark"] .global-nav {background:rgba(2,2,6,0.92);border-bottom-color:rgba(255,255,255,0.15);color:#f5f5f7;}
body[data-nav-theme="dark"] .nav-link.active,body[data-nav-theme="dark"] .nav-link:hover {background:rgba(255,255,255,0.15);color:#fff;}
body[data-nav-theme="dark"] .user-button:not(.user-role-customer):not(.user-role-admin):not(.user-role-worker) {background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.25);color:#05050c;}
body[data-nav-theme="dark"] .user-button:not(.user-role-customer):not(.user-role-admin):not(.user-role-worker):hover {box-shadow:0 10px 25px rgba(0,0,0,0.3);}
body[data-nav-theme="dark"] .user-button.user-role-customer {background:var(--accent-strong);border-color:var(--accent-strong);color:#041221;}
body[data-nav-theme="dark"] .user-button.user-role-admin {background:#ff6272;border-color:#ff6272;}
body[data-nav-theme="dark"] .user-button.user-role-worker {background:#f8d45a;border-color:#f8d45a;color:#111;}

/* Keep nav transparent even for dark theme */
body[data-nav-theme="dark"] .global-nav {background:transparent;border-bottom-color:transparent;box-shadow:none;}
body[data-nav-theme="dark"] .nav-link {background:rgba(0,0,0,0.45);color:#f7f7f7;}
body[data-nav-theme="dark"] .nav-link.active,
body[data-nav-theme="dark"] .nav-link:hover {background:rgba(0,0,0,0.62);}

.site-map {position:fixed;right:clamp(0.5rem,2vw,1.5rem);top:18vh;font-size:0.75rem;padding:0;border:none;z-index:20;}
.site-map h3 {font-size:0.72rem;letter-spacing:0.28em;text-transform:uppercase;color:#777;margin-bottom:0.4rem;}
.site-map ol {list-style:none;display:flex;flex-direction:column;gap:0.35rem;}
.site-map li {display:flex;align-items:center;gap:0.45rem;}
.site-map li::before {content:'';width:6px;height:6px;border-radius:50%;background:rgba(20,20,20,0.4);}
.site-map button {border:none;background:transparent;color:#333;cursor:pointer;text-align:left;font-size:0.72rem;transition:color .2s;}
.site-map button.active,.site-map button:hover {color:#000;}
body[data-nav-theme="dark"] .site-map h3 {color:rgba(255,255,255,0.6);}
body[data-nav-theme="dark"] .site-map button {color:rgba(255,255,255,0.72);}
body[data-nav-theme="dark"] .site-map li::before {background:rgba(255,255,255,0.5);}

main {width:100%;margin:0;padding-bottom:6rem;}
.panel {width:100%;padding:clamp(1.5rem,6vw,4rem) 0;border-bottom:1px solid rgba(15,17,25,0.08);}
.panel > *:not(.technology-media) {width:min(1200px,calc(100% - 3rem));margin:0 auto;}
:root { --bg-image: url('assets/background.png'); }

.panel.theme-light {background:#fff;color:#0a0a0f;border-bottom-color:rgba(0,0,0,0.06);}
.panel.theme-dark {background:#050505;color:#f5f5f7;border-bottom-color:rgba(255,255,255,0.08);}
.panel.theme-night {background:#04040a;color:#f9f9ff;border-bottom-color:rgba(255,255,255,0.08);}
.panel.theme-mid {background:#04050a;color:#f5f5f7;border-bottom-color:rgba(255,255,255,0.08);}
.panel.theme-ivory {background:#fdfcf6;color:#10121a;border-bottom-color:rgba(0,0,0,0.04);}
.panel.theme-porcelain {background:#f6f7fb;color:#10121a;border-bottom-color:rgba(0,0,0,0.04);}
.panel.theme-graphite {background:#0b0d16;color:#f5f5f7;border-bottom-color:rgba(255,255,255,0.1);}
.panel.full-bleed {width:100%;padding-left:clamp(1.5rem,6vw,5rem);padding-right:clamp(1.5rem,6vw,5rem);}
.panel.full-bleed > * {max-width:1400px;}
.eyebrow {text-transform:uppercase;letter-spacing:0.18em;font-size:0.74rem;color:var(--muted);margin-bottom:0.6rem;}
.btn {border:none;border-radius:999px;padding:0.7rem 1.5rem;cursor:pointer;transition:transform .2s,box-shadow .2s;}
.btn.primary {background:linear-gradient(120deg,var(--accent),var(--accent-strong));color:#041221;font-weight:600;box-shadow:0 18px 30px rgba(64,124,255,0.35);}
.btn.secondary {background:rgba(255,255,255,0.1);color:var(--text);border:1px solid rgba(255,255,255,0.15);}
.theme-light .btn.secondary {background:rgba(0,0,0,0.04);color:#151515;border-color:rgba(0,0,0,0.12);}
.btn.ghost {background:transparent;border:1px solid rgba(255,255,255,0.2);color:var(--text);}
.theme-light .btn.ghost {border-color:rgba(0,0,0,0.2);color:#111;}
.btn.delivery {background:#1fa36b;color:#fff;border:1px solid #158a59;box-shadow:0 12px 26px rgba(31,163,107,0.32);}
.btn.delivery:hover {background:#188457;border-color:#0f6f47;}
.btn.surface {background:#fff;color:#050814;border:1px solid rgba(6,10,30,0.14);box-shadow:0 22px 42px rgba(5,8,20,0.18);}
.btn.surface:hover {box-shadow:0 30px 60px rgba(4,6,16,0.25);}
.btn.btn-white {color:#fff!important;border-color:rgba(255,255,255,0.4)!important;}
.btn.gold {background:#e6c66a;color:#1c1405;border:1px solid #d8b65c;box-shadow:0 14px 26px rgba(230,198,106,0.35);}
.btn.gold:hover {background:#f0d27a;}
.btn:active {transform:translateY(1px) scale(0.99);}

.hero {padding-top:clamp(0.5rem,1.5vw,1.4rem);}
.hero-stack-inner {width:min(1200px,calc(100% - 3rem));margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.4rem;}
.hero-stack h1 {margin:0;line-height:1.05;}
.hero-line {display:block;font-size:clamp(2.8rem,4vw,4.6rem);letter-spacing:-0.02em;color:#090a0f;}
.hero-line-sub {font-size:clamp(1.5rem,2.3vw,2.6rem);color:#8a8a93;display:block;text-align:center;}
.hero-line-sub.scroll-link {background:none;border:none;padding:0;margin:0;color:#8a8a93;cursor:pointer;text-decoration:none;}
.hero-stack .lead {color:#2d2d34;max-width:40rem;}
.hero-meta {display:flex;flex-wrap:wrap;gap:0.9rem;align-items:center;justify-content:center;}
.countdown-pill {display:inline-flex;align-items:center;gap:0.35rem;padding:0.35rem 0.7rem;border-radius:999px;background:#f44336;color:#fff;font-weight:700;font-size:0.82rem;letter-spacing:0.04em;min-width:120px;justify-content:center;box-shadow:0 10px 20px rgba(244,67,54,0.28);}
.price-tag {display:inline-flex;align-items:center;gap:0.45rem;font-weight:600;background:rgba(10,10,15,0.08);padding:0.35rem 1rem;border-radius:999px;color:#111;border:1px solid rgba(0,0,0,0.05);}
.energy-badge {display:inline-flex;align-items:center;gap:0.2rem;padding:0.15rem 0.6rem;border-radius:999px;background:#18c964;color:#031306;font-size:0.68rem;letter-spacing:0.08em;}
.energy-badge::before {content:'⚡';font-size:0.7rem;}
.hero-meta .energy-badge {border:1px solid rgba(0,0,0,0.06);box-shadow:0 6px 12px rgba(0,0,0,0.08);}
.hero-device {position:relative;display:grid;place-items:center;isolation:isolate;perspective:2200px;transform-style:preserve-3d;}
.hero-device::before {content:'';position:absolute;inset:auto 15% -30px 15%;height:52px;border-radius:50%;background:url('assets/Sun.png') no-repeat center/contain;filter:blur(18px);opacity:0.55;z-index:-1;}
.hero-device img {width:min(370px,72%);filter:drop-shadow(0 35px 50px rgba(0,0,0,0.25));transition:transform 0.6s cubic-bezier(0.19,1,0.22,1),opacity 0.6s;transform-origin:center;transform-style:preserve-3d;animation:heroReveal 1.2s cubic-bezier(0.19,1,0.22,1) forwards,heroOrbit 9s ease-in-out 1.2s infinite alternate;}
.hero {position:relative;overflow:hidden;}
.hero::before {content:'';position:absolute;inset:0;background:url('assets/Sun.png') no-repeat center/contain;opacity:0.35;mix-blend-mode:screen;filter:blur(40px);animation:waterSurface 12s ease-in-out infinite alternate;}
.hero > * {position:relative;z-index:1;}
.scroll-cue {margin-top:1.5rem;background:rgba(255,255,255,0.6);border:1px solid rgba(0,0,0,0.08);border-radius:999px;padding:0.4rem 1rem;display:inline-flex;align-items:center;gap:0.6rem;font-size:0.85rem;color:#111;cursor:pointer;animation:bob 2.5s ease-in-out infinite;box-shadow:0 18px 30px rgba(0,0,0,0.12);}
.scroll-cue .scroll-arrow {display:inline-block;font-size:1.4rem;transform:rotate(90deg);}
@keyframes bob {0% {transform:translateY(0);} 50% {transform:translateY(8px);} 100% {transform:translateY(0);}}
@keyframes heroReveal {
  0% {opacity:0;transform:translate3d(0,100px,-240px) rotateX(65deg) rotateY(-35deg) scale(0.78);filter:blur(20px);}
  55% {opacity:1;transform:translate3d(0,-12px,60px) rotateX(-15deg) rotateY(8deg) scale(1.05);filter:blur(0);}
  100% {opacity:1;transform:translate3d(0,0,0) rotateX(0deg) rotateY(0deg) scale(1);filter:blur(0);}
}
@keyframes heroOrbit {
  0% {transform:rotateX(-4deg) rotateY(6deg) scale(1);}
  100% {transform:rotateX(8deg) rotateY(-8deg) scale(1.02);}
}
@keyframes waterSurface {
  0% {transform:translate3d(0,0,0) scale(1);}
  100% {transform:translate3d(-40px,20px,0) scale(1.05);}
}
.lead {font-size:1.05rem;line-height:1.6;}

.spec-list {list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0.8rem 1.2rem;color:#59595f;margin:1.2rem 0;border-top:1px solid rgba(0,0,0,0.06);padding-top:1rem;}
.spec-list li {padding:0.6rem 0.8rem;border:1px solid rgba(0,0,0,0.05);border-radius:16px;background:#fff;box-shadow:0 12px 24px rgba(0,0,0,0.05);}

.design-stack {display:flex;flex-direction:column;gap:1.5rem;text-align:center;align-items:center;}
.design {display:flex;flex-direction:column;gap:clamp(1.5rem,4vw,3rem);align-items:center;}
.design-copy {max-width:780px;}
.color-picker {margin-top:1.5rem;}
.color-picker p {font-size:0.8rem;letter-spacing:0.16em;text-transform:uppercase;color:#8a8a94;margin-bottom:0.4rem;}
.color-options {display:flex;flex-wrap:wrap;gap:0.6rem;justify-content:center;}
.color-option {display:inline-flex;align-items:center;gap:0.45rem;padding:0.45rem 0.9rem;border-radius:999px;border:1px solid rgba(0,0,0,0.12);background:rgba(255,255,255,0.9);color:#151515;cursor:pointer;transition:all 0.3s ease;}
.color-option .swatch {width:18px;height:18px;border-radius:50%;background:var(--tone,#ccc);box-shadow:inset 0 0 0 1px rgba(0,0,0,0.15);}
.color-option.is-active {background:#111;color:#fff;border-color:#111;box-shadow:0 12px 24px rgba(0,0,0,0.18);}
.color-options .btn {padding:0.55rem 1.2rem;}
.design-preview {position:relative;border-radius:38px;padding:2rem;background:var(--design-bg,#111);box-shadow:0 40px 90px rgba(7,9,18,0.25);overflow:hidden;text-align:center;width:min(520px,90vw);margin:0 auto;}
.design-preview img {width:80%;margin:0 auto;filter:drop-shadow(0 25px 50px rgba(0,0,0,0.35));mix-blend-mode:screen;transition:transform 0.8s cubic-bezier(0.19,1,0.22,1),opacity 0.8s;}
.design-preview.is-shifting img {transform:translateY(-12px) scale(1.03);}
.design-preview figcaption {margin-top:1rem;font-size:0.9rem;color:rgba(255,255,255,0.78);}
.design-preview[data-color="day"] {--design-bg:linear-gradient(145deg,#f5f7fa,#dfe6ed);color:#0f111a;}
.design-preview[data-color="night"] {--design-bg:linear-gradient(145deg,#1a1c26,#05070f);color:#f5f5f7;}
.design-preview[data-color="day"] figcaption {color:#0f111a;}
.design-preview[data-color="night"] figcaption {color:rgba(255,255,255,0.82);}
.design-process {padding-top:0;}
.process-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin-bottom:2rem;}
.process-grid article {background:#fff;border-radius:32px;padding:1.5rem;box-shadow:0 30px 60px rgba(0,0,0,0.08);}
.materials-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;}
.materials-grid article {border-radius:28px;padding:1.2rem;background:#f0f2f8;border:1px solid rgba(0,0,0,0.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.4);}
.design-labs .panel-grid article {background:#fdfcf6;border:1px solid rgba(0,0,0,0.05);box-shadow:0 30px 60px rgba(0,0,0,0.08);}

.features {color:#111;}
.section-header {text-align:left;margin-bottom:1.5rem;}
.section-header h2 {font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.2;}
.feature-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(1rem,2.5vw,1.8rem);}
.feature-card {border-radius:32px;background:#f4f6fb;padding:1.6rem;display:flex;flex-direction:column;gap:0.8rem;min-height:260px;box-shadow:0 25px 60px rgba(16,18,28,0.08);transform:translateY(20px);opacity:0.85;transition:transform 0.6s ease,box-shadow 0.6s ease,opacity 0.6s ease;}
.feature-card.is-visible {transform:translateY(0);opacity:1;box-shadow:0 35px 80px rgba(16,18,28,0.12);}
.feature-media {height:140px;border-radius:24px;  background-size:cover,140% 140%,160% 160%,200% 200%,cover;  background-position:center,0% 0%,50% 0%,0% 0%,0 0;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.04);}
.feature-card h3 {font-size:1.1rem;}
.feature-card p {color:#5a5a64;}
.feature-detail-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:3rem;}
.feature-detail-grid article {background:rgba(255,255,255,0.95);border-radius:28px;padding:1.2rem 1.4rem;box-shadow:0 25px 45px rgba(0,0,0,0.08);color:#101019;}
.feature-detail-grid .feature-detail {margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,0.08);}
.story-grid {padding:clamp(3rem,8vw,5rem) 0;}
.story-columns {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;}
.story-columns article {background:#fff;border-radius:32px;padding:1.4rem 1.6rem;box-shadow:0 35px 65px rgba(0,0,0,0.08);}
.story-columns h4 {margin-bottom:0.4rem;}
.feature-panels {padding-top:0;}
.panel-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;}
.feature-panels article {background:rgba(255,255,255,0.05);border-radius:32px;padding:1.5rem;border:1px solid rgba(255,255,255,0.1);box-shadow:0 25px 50px rgba(0,0,0,0.45);}

.pinned {position:relative;}
.technology {overflow:hidden;padding-top:1.5rem;}
.technology-wrap {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(1.5rem,4vw,3rem);align-items:center;}
.technology-wrap-alt {grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.technology-wrap-alt .technology-media {order:2;}
.technology-wrap-alt .pin-slides {order:1;}
.technology-media {position:relative;text-align:center;}
.technology-media img {width:min(420px,90%);filter:drop-shadow(0 35px 80px rgba(0,0,0,0.45));}
.technology .pin-slides {display:grid;gap:2rem;}
.technology .pin-slides article {background:rgba(5,6,10,0.8);border-radius:28px;padding:1.8rem;border:1px solid rgba(255,255,255,0.08);box-shadow:0 35px 80px rgba(0,0,0,0.35);}
.technology .pin-slides article h3 {font-size:clamp(1.2rem,2vw,1.8rem);}
.technology .pin-slides .tech-note {margin-top:0.8rem;color:rgba(255,255,255,0.6);}
.pin-slides article {opacity:0.3;transition:opacity .4s ease;}
.tech-layers {padding-top:0;}
.tech-spec-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin-bottom:2rem;}
.tech-spec-grid article {background:rgba(8,9,14,0.85);border-radius:28px;padding:1.5rem;border:1px solid rgba(255,255,255,0.08);box-shadow:0 25px 55px rgba(0,0,0,0.45);color:#f5f5f7;}
.tech-timeline {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem;}
.tech-timeline > div {background:rgba(255,255,255,0.05);border-radius:24px;padding:1.2rem;border:1px solid rgba(255,255,255,0.08);}
.tech-timeline strong {display:block;margin-bottom:0.2rem;}
.tech-labs .panel-grid article {background:#fff;border-radius:30px;padding:1.5rem;box-shadow:0 30px 60px rgba(0,0,0,0.08);}
.grounding-details {padding-top:0;}
.grounding-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin-bottom:1.5rem;}
.grounding-grid article {background:#fff;border-radius:28px;padding:1.4rem;box-shadow:0 30px 60px rgba(0,0,0,0.08);}
.grounding-steps {background:#f7f8fb;border-radius:32px;padding:1.5rem;}
.grounding-steps ol {margin:0;padding-left:1.2rem;display:grid;gap:0.8rem;color:#4b4b55;}
.grounding-steps strong {display:block;font-weight:600;color:#0b0b11;}

.sessions .session-stats {display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.5rem;text-align:center;}
.sessions span {font-size:2.4rem;font-weight:600;}
.session-bar {margin-top:2.5rem;border-radius:999px;border:1px solid var(--border);padding:0.5rem;}
.session-bar .fill {height:12px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-strong));width:0;animation:fill 6s ease forwards;}
.session-bar p {margin-top:0.8rem;font-size:0.9rem;color:var(--muted);}

.features-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;}
.features-grid article {border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem;background:var(--card);}

.purchase-header {text-align:center;margin-bottom:2.5rem;}
.purchase-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;}
.purchase-grid.teaser .card {min-height:220px;display:flex;flex-direction:column;gap:0.8rem;justify-content:space-between;}
.purchase-grid.teaser img {margin-top:1rem;}
.shop-flow header {text-align:center;margin-bottom:2rem;color:#111;}
.shop-steps {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem;}
.shop-step {display:flex;gap:1rem;padding:1.2rem;border-radius:28px;background:#fff;color:#111;box-shadow:0 18px 38px rgba(15,15,25,0.08);}
.shop-step span {flex:none;width:40px;height:40px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-weight:600;}
.shop-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;}
.secure-note {font-size:0.85rem;color:#8d8d93;margin-top:1rem;}
.summary {background:#fff;color:#111;}
.card {background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 15px 35px rgba(0,0,0,0.25);}
.card h3 {margin-bottom:1rem;}
label {display:grid;gap:0.4rem;font-size:0.9rem;color:var(--muted);margin-bottom:1rem;}
input,select,textarea {border-radius:16px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.05);padding:0.7rem 1rem;transition:border 0.2s,box-shadow 0.2s;}
input:focus,select:focus,textarea:focus {outline:none;border-color:var(--accent-strong);box-shadow:0 0 0 2px rgba(92,158,255,0.25);}
textarea {resize:vertical;}
.payments {display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0.4rem;}
.payments label {border-radius:999px;border:1px solid rgba(255,255,255,0.1);padding:0.4rem 0.8rem;align-items:center;grid-auto-flow:column;justify-content:flex-start;}
.payments input {margin-right:0.4rem;}
.form-actions {display:flex;gap:0.8rem;flex-wrap:wrap;}
.cta-stack {display:flex;gap:0.6rem;flex-wrap:wrap;}
.timeline ol {list-style:none;display:grid;gap:0.6rem;}
.timeline li {padding-left:1.4rem;position:relative;}
.timeline li::before {content:"";position:absolute;left:0;top:0.4rem;width:10px;height:10px;border-radius:50%;background:var(--accent);}
.gateway img {margin:1rem 0;}
.gateway-steps {display:flex;justify-content:space-between;font-size:0.9rem;color:var(--muted);}
.conversion {margin-top:1rem;color:var(--muted);}

.account-links {display:flex;flex-wrap:wrap;gap:0.6rem;align-items:center;margin-top:1rem;}
.account-links span {font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(10,12,30,0.6);}
.account-links .chip {display:inline-flex;align-items:center;gap:0.35rem;padding:0.35rem 0.9rem;border-radius:999px;border:1px solid rgba(10,12,30,0.12);font-size:0.82rem;color:#0d1330;background:#fff;box-shadow:0 12px 24px rgba(10,12,30,0.08);text-decoration:none;}
.account-links .chip:hover {border-color:var(--accent-strong);}
.account-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;}
.card.compact {padding:1.25rem;display:flex;flex-direction:column;gap:0.7rem;}
.support-card ul {list-style:none;padding:0;margin:0.5rem 0 1rem;display:flex;flex-direction:column;gap:0.5rem;color:#4a4d63;}
.support-card ul strong {display:block;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:#1d2138;margin-bottom:0.2rem;}
.support-card a {color:var(--accent-strong);text-decoration:none;}
.support-card a:hover {text-decoration:underline;}
.support-actions {display:flex;flex-wrap:wrap;gap:0.6rem;}

.auth-panel-stack {padding-top:clamp(2rem,5vw,4rem);}
.auth-layout {display:grid;grid-template-columns:minmax(0,640px);gap:clamp(1.5rem,3vw,3rem);align-items:start;justify-content:center;margin:2rem auto 0;max-width:1200px;padding:0 1rem;}
.auth-layout.has-side {grid-template-columns:minmax(0,640px) minmax(0,1fr);}
.auth-shell {background:rgba(255,255,255,0.04);border:1px solid rgba(15,17,25,0.08);border-radius:32px;padding:clamp(1.5rem,3vw,2.5rem);box-shadow:0 25px 60px rgba(10,12,20,0.12);margin:0 auto 5rem;width:100%;max-width:640px;}
.auth-tabs {display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:1.5rem;justify-content:center;}
.auth-tab {border-radius:999px;border:1px solid transparent;background:rgba(255,255,255,0.04);color:inherit;padding:0.45rem 1.4rem;font-weight:500;cursor:pointer;transition:background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;}
.auth-tab.is-active {background:#111;color:#fff;border-color:#000;box-shadow:0 18px 36px rgba(0,0,0,0.2);}
.auth-panels {position:relative;min-height:540px;}
.auth-panel {display:flex;flex-direction:column;gap:0.9rem;position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity 0.35s ease,transform 0.35s ease;}
.auth-panel h3 {margin-bottom:0.4rem;}
.auth-panel label {display:grid;gap:0.35rem;margin-bottom:0;}
.auth-panel label input,
.auth-panel label select {border:1px solid rgba(15,17,25,0.12);background:#fff;color:#111;border-radius:18px;padding:0.65rem 0.95rem;}
.auth-panel .form-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0.8rem;}
.auth-panel .checkbox {align-items:flex-start;margin-bottom:0;}
.auth-panel .checkbox input {margin-top:0.25rem;}
.auth-panel .btn {width:max-content;}
.auth-panel .auth-hint {font-size:0.9rem;color:var(--muted);}
.link-button {border:none;background:transparent;color:var(--accent-strong);cursor:pointer;font-weight:600;padding:0;margin-left:0.25rem;}
.reset-tabs {display:flex;gap:0.5rem;margin-bottom:1rem;justify-content:center;}
.reset-tab {flex:1;border-radius:16px;border:1px solid rgba(15,17,25,0.15);background:transparent;padding:0.5rem 1rem;cursor:pointer;font-weight:500;}
.reset-tab.is-active {background:#111;color:#fff;border-color:#000;}
.reset-panels {position:relative;min-height:320px;margin-top:0.5rem;}
.auth-panel [data-reset-panel] {display:flex;flex-direction:column;gap:0.8rem;padding:1rem 0;border-top:1px solid rgba(15,17,25,0.08);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity 0.3s ease,transform 0.3s ease;position:absolute;inset:0;}
.auth-side {display:none;gap:1rem;}
.auth-layout.has-side .auth-side {display:grid;}
.auth-side .card {background:#fff;color:#111;border-radius:32px;padding:1.5rem;box-shadow:0 25px 60px rgba(10,12,20,0.15);}
.auth-side .dashboard table {color:#111;}
.auth-shell[data-auth-view="login"] [data-auth-panel="login"],
.auth-shell[data-auth-view="register"] [data-auth-panel="register"],
.auth-shell[data-auth-view="reset"] [data-auth-panel="reset"] {opacity:1;visibility:visible;pointer-events:auto;position:relative;transform:none;}
.auth-shell[data-reset-view="request"] [data-reset-panel="request"],
.auth-shell[data-reset-view="confirm"] [data-reset-panel="confirm"] {opacity:1;visibility:visible;pointer-events:auto;transform:none;}
.auth-shell[data-reset-view="request"] .reset-tab[data-reset-target="request"],
.auth-shell[data-reset-view="confirm"] .reset-tab[data-reset-target="confirm"] {background:#111;color:#fff;border-color:#000;}
.profile-card form {display:flex;flex-direction:column;gap:0.9rem;}
.profile-card textarea {min-height:120px;}
.profile-card .checkbox span {color:inherit;}

body.login-page {background:#f5f6fb;}
body.login-page .panel.account {padding-top:3rem;padding-bottom:4rem;}
body.login-page .card {background:#fff;border:1px solid rgba(10,15,35,0.08);box-shadow:0 30px 60px rgba(9,12,30,0.08);}
body.login-page input,
body.login-page select,
body.login-page textarea {background:#fff;border:1px solid rgba(7,11,25,0.12);color:#0b1021;}
body.login-page input:focus,
body.login-page select:focus,
body.login-page textarea:focus {border-color:var(--accent-strong);box-shadow:0 0 0 3px rgba(92,158,255,0.25);}
body.login-page .dashboard table {color:#0b1021;}
.form-card {display:flex;flex-direction:column;gap:0.2rem;}
.form-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;}
.form-links {display:flex;gap:0.8rem;flex-wrap:wrap;margin-top:0.6rem;}
.form-link {font-size:0.85rem;color:var(--accent-strong);text-decoration:none;}
.form-link:hover {text-decoration:underline;}
.reset-stack {margin-top:3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;}
.support-wide {margin-top:3.5rem;}
.support-card.wide {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;align-items:stretch;}
.support-card.wide .support-meta ul {list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:0.6rem;color:#1b2140;}
.support-card.wide .support-meta ul strong {display:block;font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:#6a6d80;margin-bottom:0.15rem;}
.support-card.wide iframe {width:100%;min-height:220px;border:none;border-radius:18px;box-shadow:0 18px 40px rgba(10,15,30,0.15);}
.support-meta {display:flex;flex-direction:column;gap:1rem;}
.form-note {font-size:0.85rem;color:rgba(15,15,25,0.6);margin-bottom:0.8rem;}
.checkbox {display:flex;gap:0.6rem;align-items:flex-start;}
.checkbox input {margin-top:0.35rem;}
.dashboard table,.admin table,.worker table {width:100%;border-collapse:collapse;font-size:0.9rem;}
.dashboard th,.dashboard td,.admin th,.admin td,.worker th,.worker td {border-bottom:1px solid rgba(255,255,255,0.08);padding:0.5rem 0;}

.admin-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:1.5rem;}
.heatmap {margin-top:1rem;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;}
.heatmap span {width:100%;aspect-ratio:1;border-radius:8px;background:rgba(255,255,255,0.06);}
.users ul,#user-list {list-style:none;display:grid;gap:0.4rem;}

.blog-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:2rem;}
.blog-list {display:grid;gap:1rem;}
.blog-list article {display:grid;grid-template-columns:160px 1fr;gap:1rem;padding:1rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--border);align-items:center;}
.blog-list button {margin-top:0.6rem;}
.blog-detail {margin-top:1.5rem;padding:1.5rem;border-radius:var(--radius);background:rgba(255,255,255,0.03);border:1px solid var(--border);}

body.info-page .blog-grid .filters {background:rgba(8,20,12,0.65);border:1px solid rgba(255,255,255,0.12);border-radius:22px;padding:1.2rem;display:grid;gap:0.7rem;}
body.info-page .blog-grid .filters label {color:rgba(246,239,216,0.85);font-size:0.9rem;}
body.info-page .blog-grid .filters input {background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.2);color:#f6efd8;border-radius:14px;padding:0.45rem 0.6rem;}
body.info-page .blog-list article {background:rgba(8,20,12,0.65);border:1px solid rgba(255,255,255,0.12);border-radius:24px;align-items:center;}
body.info-page .blog-list img {border-radius:18px;border:1px solid rgba(255,255,255,0.12);}
body.info-page .blog-detail {background:rgba(8,20,12,0.65);border:1px solid rgba(255,255,255,0.12);color:rgba(246,239,216,0.88);}

@media (max-width: 700px) {
  body.info-page .blog-list article {grid-template-columns:1fr;}
}

.newsletter {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;}
.email-center ul {list-style:none;display:grid;gap:0.6rem;font-size:0.85rem;color:var(--muted);}

.policies {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;}
.policy-compact {background:#fff;}
.policy-compact .card {background:#fff;border:1px solid rgba(0,0,0,0.06);border-radius:16px;padding:1rem;box-shadow:0 10px 24px rgba(0,0,0,0.05);}
.policy-compact h3 {font-size:1rem;}
.policy-compact p {font-size:0.9rem;color:#4a4a4a;}
.support-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;padding-top:0;}
.support-card {background:#fff;border-radius:30px;padding:1.5rem;box-shadow:0 30px 60px rgba(0,0,0,0.08);}
.contact-cta {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;}
.contact-cta .btn {flex:none;}
.map-embed {margin-top:1rem;border-radius:24px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,0.15);}
.map-embed iframe {width:100%;height:240px;border:0;}
.support-steps .panel-grid article {background:#fff;border-radius:30px;padding:1.4rem;box-shadow:0 30px 60px rgba(0,0,0,0.08);}

.footer {text-align:center;padding-bottom:4rem;}
.footer a {color:var(--accent);margin:0 0.5rem;}

.function-carousel {padding:clamp(3rem,8vw,6rem) 0;}
.function-carousel header {text-align:center;margin-bottom:2.5rem;}
.function-carousel.mask-full {padding-left:0;padding-right:0;}
.function-carousel.mask-full .function-carousel-mask {max-width:100%;border-radius:0;}
.function-carousel-mask {position:relative;overflow:hidden;border-radius:36px;background:linear-gradient(145deg,rgba(255,255,255,0.08),rgba(17,23,36,0.65));box-shadow:0 60px 120px rgba(4,6,12,0.45);padding:clamp(1.5rem,3vw,3rem);}
.function-carousel-track {display:flex;align-items:stretch;gap:clamp(1rem,3vw,2rem);transition:transform 0.8s cubic-bezier(0.19,1,0.22,1);will-change:transform;touch-action:pan-y;cursor:grab;}
.function-carousel-track.is-dragging,
.function-carousel-track.no-transition {transition:none!important;cursor:grabbing;}
.function-card {flex:0 0 clamp(280px,45vw,480px);display:flex;flex-direction:column;gap:0.8rem;padding:clamp(1.5rem,4vw,3rem);border-radius:28px;background:linear-gradient(180deg,rgba(10,12,22,0.9),rgba(3,4,9,0.8));border:1px solid rgba(255,255,255,0.08);backdrop-filter:blur(18px);opacity:0.55;transform:scale(0.9);transition:transform 0.6s,opacity 0.6s,box-shadow 0.6s;text-align:left;}
.function-card img {width:min(70%,360px);height:10rem;object-fit:contain;border-radius:22px;align-self:center;box-shadow:0 30px 60px rgba(0,0,0,0.35);margin-top:auto;}
.function-label {text-transform:uppercase;font-size:0.75rem;letter-spacing:0.25em;color:rgba(255,255,255,0.6);}
.function-card h4 {font-size:clamp(1.2rem,2vw,1.6rem);}
.function-card.active {opacity:1;transform:scale(1);box-shadow:0 40px 100px rgba(10,15,35,0.5);}
.function-card.is-near {opacity:0.8;transform:scale(0.95);}
.function-card:not(.active):not(.is-near) {filter:blur(0.5px);}
.function-notes {padding-top:0;}
.function-rows {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;}
.function-rows article {background:#fff;border-radius:32px;padding:1.4rem;box-shadow:0 30px 60px rgba(0,0,0,0.08);}
.function-notes {margin-top:2rem;}
.function-labs .panel-grid article {background:#f7f8fb;border-radius:30px;padding:1.4rem;box-shadow:0 25px 50px rgba(0,0,0,0.08);}
.function-controls {display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.2rem;}
.carousel-arrow {width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,0.5);background:transparent;color:#fff;font-size:1.4rem;cursor:pointer;transition:background 0.3s;}
.carousel-arrow:hover {background:rgba(255,255,255,0.2);}
.carousel-dots {display:flex;gap:0.4rem;align-items:center;}
.carousel-dot {width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.35);border:none;cursor:pointer;transition:transform 0.3s,background 0.3s;}
.carousel-dot[aria-selected="true"] {background:linear-gradient(90deg,var(--accent),var(--accent-strong));transform:scale(1.2);}
.carousel-progress {width:100%;height:4px;background:rgba(255,255,255,0.15);margin-top:1.5rem;border-radius:999px;overflow:hidden;}
.carousel-progress span {display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-strong));width:0;transition:width 0.35s ease;}

.compare header {text-align:center;margin-bottom:1.5rem;}
.compare-controls {display:flex;flex-direction:column;gap:0.6rem;max-width:320px;margin:0 auto 1.5rem;color:#222;}
.compare-controls select {padding:0.8rem 1rem;border-radius:999px;border:1px solid rgba(0,0,0,0.1);color:#111;}
.compare-matrix {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem;margin-top:1rem;}
.compare-card {border-radius:28px;padding:1.5rem;border:1px solid rgba(0,0,0,0.05);background:#fff;box-shadow:0 20px 40px rgba(15,17,25,0.08);}
.compare-card.omega {background:#0d1119;color:#f5f5f7;border-color:rgba(255,255,255,0.08);}
.compare-card h3 {margin:0 0 0.6rem;}
.compare-card ul {list-style:disc;margin-left:1.2rem;color:inherit;line-height:1.6;}
.compare-stats {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1.5rem 0;}
.compare-stats div {background:#fff;border-radius:22px;padding:0.8rem 1.2rem;box-shadow:0 12px 30px rgba(15,17,25,0.08);display:flex;flex-direction:column;gap:0.2rem;}
.compare-stats strong {font-size:1.5rem;}
.compare-delta {background:#fff;border-radius:28px;padding:1.4rem;border:1px solid rgba(0,0,0,0.06);box-shadow:0 18px 38px rgba(15,15,25,0.05);margin-top:0.6rem;}
.compare-delta strong {display:block;margin-bottom:0.4rem;}
.panel.full-bleed.compare > * {max-width:1100px;margin-left:auto;margin-right:auto;}

.patents {background:#f6f7fb;color:#111;}
.patents-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;}
.patents-grid article {background:#fff;border-radius:24px;padding:1.4rem;box-shadow:0 20px 40px rgba(15,17,29,0.08);}
.panel.full-bleed.patents > * {max-width:1200px;margin-left:auto;margin-right:auto;}
.badge {display:inline-flex;align-items:center;justify-content:center;padding:0.12rem 0.5rem;border-radius:999px;font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;}
.badge-new {background:#d1fae5;color:#065f46;}
.badge-alert {background:#fee2e2;color:#b91c1c;}

.shop-banner {
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  align-items:flex-start;
  padding-top:clamp(1.5rem,4vw,3rem);
  padding-bottom:clamp(1.5rem,4vw,3rem);
}
.shop-banner .shop-inner {max-width:960px;margin:0;text-align:left;}
.shop-inner.compact .shop-actions {margin-top:0.5rem;}
.shop-banner h2 {font-size:clamp(2rem,3vw,2.8rem);margin-bottom:0.5rem;}
.shop-actions {display:flex;gap:0.8rem;flex-wrap:wrap;}
.shop-banner .btn.secondary {background:rgba(255,255,255,0.08);color:#fff;border-color:rgba(255,255,255,0.2);}
.shop-lead-note {margin-top:0.6rem;color:#6a6a74;font-size:0.95rem;}
.configurator header {text-align:center;margin-bottom:2rem;}
.config-form {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;}
.config-form label {display:flex;flex-direction:column;gap:0.4rem;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.08em;color:#6a6a74;}
.config-form select,
.config-form input {border-radius:18px;border:1px solid rgba(0,0,0,0.08);padding:0.6rem 0.9rem;background:#fff;font-size:1rem;color:#0f0f19;}
.config-actions {grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;}
.config-actions p {margin:0;color:#6a6a74;}
.shop-journey .panel-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;}
.shop-journey .panel-grid article {background:#fff;border-radius:30px;padding:1.4rem;box-shadow:0 30px 60px rgba(0,0,0,0.08);}
.product-showcase header {text-align:center;margin-bottom:2rem;}
.shop-lead {text-align:left;margin-bottom:1.5rem;}
.product-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;}
.product-card {background:#fff;border-radius:36px;padding:1.8rem;box-shadow:0 40px 70px rgba(15,17,25,0.08);display:flex;flex-direction:column;gap:1.2rem;}
.product-head {display:flex;flex-direction:column;gap:0.2rem;}
.product-head .price {font-size:1.2rem;font-weight:600;color:#0f111c;}
.product-preview {position:relative;border-radius:32px;padding:2rem;background:var(--product-tone,#0b0b0f);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08),0 30px 60px rgba(0,0,0,0.2);color:rgba(255,255,255,0.9);transition:background 0.3s ease,color 0.3s ease;}
.product-preview[data-theme="light"] {color:#0b0d16;border:1px solid rgba(0,0,0,0.05);}
.product-preview-label {font-size:0.9rem;opacity:0.85;color:inherit;}
.product-preview[data-theme="light"] .product-preview-label {color:#0b0d16;}
.product-list {list-style:none;padding:0;margin:0;display:grid;gap:0.4rem;color:#4b4b55;}
.product-colors {display:flex;flex-wrap:wrap;gap:0.4rem;}
.product-card .color-option {border-color:rgba(0,0,0,0.15);background:#f6f7fb;color:#0f111a;}
.product-card .color-option.is-active {background:#0f111a;color:#fff;border-color:#0f111a;}

.hero-device::after {content:'';position:absolute;inset:10% 22% auto 22%;height:50%;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,0.35),transparent 60%);opacity:0.12;filter:blur(10px);pointer-events:none;mix-blend-mode:screen;}

/* Responsive layout */
@media (max-width: 1280px) {
  .panel > *:not(.technology-media) {width:min(1000px,calc(100% - 2.5rem));}
  .panel.full-bleed > * {max-width:min(1100px,calc(100% - 2.5rem));}
  .hero-stack-inner {width:min(1100px,calc(100% - 2.5rem));}
}

@media (max-width: 1024px) {
  .panel > *:not(.technology-media) {width:calc(100% - 2rem);}
  .panel.full-bleed > * {max-width:calc(100% - 2rem);}
  .global-nav {padding:0.6rem clamp(1rem,4vw,2rem);}
  .hero-stack-inner {text-align:left;align-items:flex-start;}
  .hero-meta {justify-content:flex-start;}
  .panel-grid,
  .purchase-grid,
  .shop-grid,
  .account-grid,
  .support-grid,
  .configurator-grid,
  .function-labs .panel-grid,
  .shop-journey .panel-grid {grid-template-columns:1fr;}
  .auth-layout {grid-template-columns:1fr;}
  .auth-side {order:1;}
  .auth-shell {order:2;}
  .function-carousel-mask {padding:1.5rem;}
  .config-summary {order:1;}
  .configurator-form {order:2;}
  .site-map {display:none;}
}

@media (max-width: 900px) {
  .nav-inner {justify-content:space-between;gap:0.8rem;}
  .nav-links {position:fixed;top:70px;left:0;right:0;flex-direction:column;gap:0.8rem;background:rgba(255,255,255,0.95);padding:1.4rem;border-bottom:1px solid rgba(0,0,0,0.05);box-shadow:0 25px 50px rgba(0,0,0,0.08);opacity:0;pointer-events:none;transform:translateY(-20px);transition:opacity 0.3s ease,transform 0.3s ease;}
  body[data-nav-theme="dark"] .nav-links {background:rgba(6,8,18,0.98);border-bottom-color:rgba(255,255,255,0.1);}
  .nav-links.open {opacity:1;pointer-events:auto;transform:translateY(0);}
  .nav-link {padding:0.7rem 1rem;font-size:1rem;}
  .menu-toggle {display:flex;}
  .nav-banner {position:static;}
  .nav-actions {gap:0.35rem;}
  .nav-cta-wrap {flex-direction:column;align-items:flex-end;}
  .hero {padding-top:2rem;}
  .hero-stack-inner {gap:0.8rem;align-items:flex-start;text-align:left;}
  .hero-meta {flex-direction:column;align-items:flex-start;}
  .scroll-cue {align-self:flex-start;}
  .config-summary {margin-top:1rem;}
  .summary-auth .auth-buttons {flex-direction:column;}
  .function-card {flex:0 0 85vw;}
  .support-card.wide {grid-template-columns:1fr;gap:1.5rem;}
  .reset-stack {grid-template-columns:1fr;}
  .support-card {padding:1.25rem;}
}

@media (max-width: 768px) {
  .panel {padding:clamp(1.2rem,5vw,2rem) 0;}
  .hero-stack h1 {font-size:clamp(2.2rem,7vw,3rem);}
  .hero-line-sub {font-size:clamp(1.2rem,4vw,2rem);}
  .hero-device img {width:min(320px,85%);}
  .btn {padding:0.7rem 1.1rem;font-size:0.95rem;}
  .nav-actions .btn.primary {width:100%;justify-content:center;}
  .panel.full-bleed > * {padding-left:0;padding-right:0;}
  .option-cards,
  .color-row {grid-template-columns:1fr;}
  .summary-controls {grid-template-columns:1fr;}
  .summary-preview img {width:85%;}
  .cart-drawer {width:100%;}
  .cookie-banner {flex-direction:column;gap:0.6rem;width:calc(100% - 2rem);}
  .function-carousel {padding:2.5rem 0;}
  .function-carousel-mask {border-radius:24px;}
  .support-card.wide iframe {min-height:180px;}
  .dashboard table,
  .admin table,
  .worker table {display:block;overflow-x:auto;}
}

@media (max-width: 600px) {
  #toast-stack {left:50%;right:auto;transform:translateX(-50%);bottom:1rem;align-items:center;}
  .global-nav {padding:0.5rem 1rem;}
  .nav-actions {gap:0.35rem;}
  .cart-button {padding:0.3rem 0.7rem;}
  .hero-stack-inner {width:calc(100% - 1.2rem);}
  .hero-stack .lead {font-size:0.95rem;}
  .price-tag,
  .energy-badge {font-size:0.72rem;}
  .panel > *:not(.technology-media) {width:calc(100% - 1.2rem);}
  .summary-price {font-size:2rem;}
  .summary-auth .btn {width:100%;}
  .support-card.wide {padding:1.2rem;}
  .support-card.wide iframe {min-height:160px;}
  .cookie-banner {width:calc(100% - 1rem);}
  .cta-stack {flex-direction:column;}
  .cta-stack .btn {width:100%;}
  .hero-meta {align-items:flex-start;}
  .function-card {flex:0 0 92vw;}
}

.reveal {opacity:0;transform:translateY(20px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.in {opacity:1;transform:translateY(0);}

@keyframes fill {to {width:100%;}}

@media (prefers-reduced-motion:reduce) {
  .hero-device img {animation:none!important;transform:none!important;}
  .function-card,
  .function-card.active,
  .function-card.is-near {transition:none!important;transform:none!important;opacity:1!important;position:relative;pointer-events:auto!important;filter:none!important;}
  .function-carousel-mask {min-height:auto;}
}

.cart-backdrop {position:fixed;inset:0;background:rgba(0,0,0,0.4);opacity:0;pointer-events:none;transition:opacity 0.3s;z-index:70;}
.cart-backdrop.active {opacity:1;pointer-events:auto;}
.cart-drawer {position:fixed;top:var(--nav-height);right:-420px;width:min(380px,90vw);height:calc(100vh - var(--nav-height));background:#fff;color:#111;box-shadow:-30px 0 70px rgba(0,0,0,0.15);z-index:80;display:flex;flex-direction:column;transition:right 0.35s cubic-bezier(0.19,1,0.22,1);}
.cart-drawer.open {right:0;}
.modal-open .cart-backdrop {background:transparent;opacity:1;pointer-events:none;}
.cart-drawer header {display:flex;justify-content:space-between;align-items:center;padding:1.2rem;border-bottom:1px solid rgba(0,0,0,0.06);}
.cart-drawer header h3 {font-size:1.1rem;}
.cart-drawer header button {border:none;background:transparent;font-size:1.5rem;cursor:pointer;}
.cart-body {flex:1;overflow:auto;padding:1.2rem;}
.cart-list {list-style:none;display:grid;gap:0.8rem;}
.cart-list li {display:flex;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,0.05);padding-bottom:0.6rem;}
.cart-summary {display:flex;justify-content:space-between;font-weight:600;padding:1.2rem;border-top:1px solid rgba(0,0,0,0.05);}
.cart-actions {padding:0 1.2rem 1.4rem;}
.cart-remove {width:28px;height:28px;border-radius:50%;border:1px solid rgba(0,0,0,0.15);background:#fff;cursor:pointer;font-size:1rem;line-height:1;display:grid;place-items:center;transition:background 0.2s,box-shadow 0.2s;}
.cart-remove:hover {background:#f4f4f6;box-shadow:0 8px 16px rgba(0,0,0,0.08);}
.cart-qty {display:flex;align-items:center;gap:0.35rem;margin-right:0.6rem;}
.cart-qty-btn {width:26px;height:26px;border-radius:50%;border:1px solid rgba(0,0,0,0.12);background:#f8f8fb;cursor:pointer;font-size:1rem;line-height:1;display:grid;place-items:center;transition:background 0.2s,box-shadow 0.2s;}
.cart-qty-btn:hover {background:#efeff3;box-shadow:0 8px 16px rgba(0,0,0,0.08);}

body.cart-page main {position:relative;z-index:1;}
body.cart-page .cart-layout {width:min(1100px,calc(100% - 2rem));margin:0 auto;padding:clamp(1.4rem,4vw,3rem) 0;display:flex;justify-content:center;}
body.cart-page .cart-card {background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:1.3rem;box-shadow:0 18px 40px rgba(0,0,0,0.12);color:#0b0b0b;max-width:1100px;width:100%;}
body.cart-page .cart-product {display:grid;grid-template-columns:1.1fr 0.9fr;gap:2rem;align-items:center;}
body.cart-page .cart-product img {width:min(320px,70%);margin:0 auto;filter:drop-shadow(0 15px 30px rgba(0,0,0,0.22));}
body.cart-page .cart-price {font-size:1.4rem;font-weight:700;color:#b88924;margin-top:0.8rem;}
body.cart-page .cart-product-actions {margin-top:1.1rem;display:flex;gap:0.6rem;flex-wrap:wrap;}
body.cart-page .cart-product-actions .btn {min-width:200px;}
body.cart-page .cart-drawer.cart-fixed {right:0;transition:none;}
body.cart-page .cart-drawer {background:#fff;color:#0b0b0b;border-left:1px solid #e5e7eb;width:min(320px,90vw);}
body.cart-page .cart-drawer header {border-bottom:1px solid #e5e7eb;}
body.cart-page .cart-list li {border-bottom:1px solid #e5e7eb;}
body.cart-page .cart-summary {border-top:1px solid #e5e7eb;}
body.cart-page .cart-actions {display:grid;gap:0.6rem;}
body.cart-page .cart-remove {background:#fff;border-color:rgba(0,0,0,0.15);color:#111;}
body.cart-page .cart-qty-btn {background:#f5f5f5;border-color:rgba(0,0,0,0.12);color:#111;}
body.cart-page .cart-backdrop {display:none;}
body.cart-page .cart-form {display:grid;gap:1rem;margin-top:1.0rem;}
body.cart-page .cart-form label {display:grid;gap:0.4rem;font-size:0.95rem;color:#111;}
body.cart-page .cart-form input, body.cart-page .cart-form select, body.cart-page .cart-form textarea {background:#fff;border-color:#d7d8dc;color:#111;}
body.cart-page .cart-form .field-error {border-color:#d33!important;box-shadow:0 0 0 2px rgba(211,51,51,0.18);}
body.cart-page .cart-form label.field-error::after {content:'*';color:#d33;font-weight:700;margin-left:4px;}
body.cart-page .cart-form label:has(input[required], select[required], textarea[required])::after {content:'*';color:#d33;font-weight:700;margin-left:4px;}
body.cart-page .cart-form select {background:#fff;color:#111;}
body.cart-page .cart-form select option {color:#111;background:#fff;}
body.cart-page .cart-form input::placeholder {color:#666;}
body.cart-page .cart-form textarea {min-height:110px;resize:vertical;}
body.cart-page .cart-form .form-two {display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;}
body.cart-page .cart-form .form-three {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0.6rem;}
body.cart-page .cart-form.cart-form--compact input,
body.cart-page .cart-form.cart-form--compact select,
body.cart-page .cart-form.cart-form--compact textarea {padding:0.55rem 0.65rem;font-size:0.96rem;}
body.cart-page .cart-form .form-two label {margin-bottom:0;}

@media (max-width: 900px) {
  body.cart-page .cart-layout {width:calc(100% - 2rem);padding:2.5rem 0 3rem;}
  body.cart-page .cart-form .form-two {grid-template-columns:1fr;}
}

@media (max-width: 700px) {
  .cart-drawer {width:100%;right:-100%;border-left:none;}
  .cart-drawer.open {right:0;}
  .cart-actions .btn {width:100%;padding:0.9rem 1rem;font-size:1rem;}
  .cart-body {padding:1rem;}
  body.cart-page .cart-drawer {width:100%;}
  body.cart-page .cart-drawer.cart-fixed {width:calc(100% - 2rem);}
  body.cart-page .cart-layout {padding:2rem 0 3rem;}
}
body.cart-page .cart-step-actions {margin-top:1.2rem;display:flex;gap:0.8rem;flex-wrap:wrap;}
body.cart-page .is-disabled {opacity:0.5;pointer-events:none;}
body.cart-page .payment-test {margin-top:1.4rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.12);}
body.cart-page .payment-toggle {display:flex;align-items:center;gap:0.6rem;font-size:0.95rem;}
body.cart-page .payment-toggle input {accent-color:#f7d27a;}
body.cart-page .payment-status {margin-top:1rem;padding:0.9rem 1rem;border-radius:18px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.08);}
body.cart-page .payment-status.is-error {border-color:rgba(255,122,122,0.5);background:rgba(255,120,120,0.12);}
body.cart-page .summary-block {margin-top:1.4rem;}

@media (max-width: 900px) {
  body.cart-page .cart-layout {padding:clamp(2rem,6vw,4rem) 0;}
  body.cart-page .cart-product {grid-template-columns:1fr;}
  body.cart-page .cart-drawer.cart-fixed {position:relative;width:calc(100% - 2rem);height:auto;margin:1.6rem auto 3rem;border-radius:24px;}
}


.cookie-banner {position:fixed;bottom:1rem;left:20%;transform:translateX(-50%);background:rgba(12,13,22,0.9);color:#f5f5f7;border-radius:999px;padding:0.6rem 1rem;display:flex;gap:0.8rem;align-items:center;font-size:0.85rem;box-shadow:0 20px 40px rgba(0,0,0,0.25);z-index:45;}
.cookie-banner.hidden {display:none;}
.cookie-banner .btn {padding:0.4rem 1.2rem;font-size:0.85rem;color:#fff;border-color:rgba(255,255,255,0.4);background:rgba(255,255,255,0.12);}
.cookie-banner .btn.ghost {border-color:rgba(255,255,255,0.3);color:#fff;background:transparent;}
.cookie-banner .cookie-actions {display:flex;gap:0.6rem;flex-wrap:wrap;}
#toast-stack {position:fixed;top:1.2rem;left:20%;transform:translateX(-50%);display:flex;flex-direction:column;gap:0.8rem;z-index:80;pointer-events:none;align-items:center;}
.toast {min-width:220px;max-width:360px;background:rgba(13,17,34,0.92);color:#f5f5f7;padding:0.85rem 1.2rem;border-radius:999px;box-shadow:0 20px 40px rgba(0,0,0,0.3);opacity:0;transform:translateY(-10px);transition:opacity 0.3s ease,transform 0.3s ease;pointer-events:auto;font-size:0.9rem;}
.toast.in {opacity:1;transform:translateY(0);}
.toast.out {opacity:0;transform:translateY(-10px);}
.toast-success {background:rgba(45,161,102,0.95);}
.toast-error {background:rgba(205,63,84,0.95);}
.toast-warning {background:rgba(223,166,59,0.95);}
.toast-info {background:rgba(82,128,255,0.9);}
.toast button {background:none;border:none;color:inherit;font-weight:600;margin-left:0.8rem;cursor:pointer;}

/* Bloki edycji ukryte na stronie publicznej */
.block-actions {display:none !important;}
body.admin-page .block-actions,
body[data-admin-preview="true"] .block-actions {display:flex !important;}
.hero.hero-stack {min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:calc(0.8rem + 10px) 0 1.5rem;}
.panel.full-bleed .hero-stack-inner {max-width:1400px;margin:0 auto;gap:0.7rem;}

.config-modal {position:fixed;inset:0;background:rgba(0,0,0,0.25);z-index:60;opacity:0;pointer-events:none;transition:opacity 0.3s ease;}
.config-modal.open {opacity:1;pointer-events:auto;}
.config-shell {position:relative;width:min(1100px,94vw);max-height:88vh;overflow:auto;margin:4vh auto;background:#fff;border-radius:32px;padding:1.8rem 1.8rem 2.4rem;border:1px solid rgba(0,0,0,0.06);box-shadow:0 45px 90px rgba(0,0,0,0.25);}
.config-total {position:absolute;top:1.2rem;left:50%;transform:translateX(-50%);font-weight:700;font-size:1rem;color:#0b0d16;}
.config-shell h4 {margin:0 0 0.4rem;}
.config-close {position:absolute;top:1rem;right:1rem;border:none;background:rgba(0,0,0,0.06);width:38px;height:38px;border-radius:50%;font-size:1.4rem;cursor:pointer;}
.config-head {margin-bottom:1.2rem;}
.config-steps {display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:0.6rem;}
.config-step-chip {padding:0.4rem 0.8rem;border-radius:999px;border:1px solid rgba(0,0,0,0.08);font-size:0.82rem;color:#555;}
.config-step-chip.is-active {background:#111;color:#fff;border-color:#111;}
.config-body {display:flex;flex-direction:column;gap:1rem;}
.config-step-card {background:#f6f7fb;border-radius:24px;padding:1.2rem;border:1px solid rgba(0,0,0,0.06);}
.config-step-card h4 {margin-bottom:0.6rem;}
.config-step-card .option-card span small {color:#5a5a64;}
.config-summary-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;}
.config-summary-grid label {display:flex;flex-direction:column;gap:0.35rem;font-size:0.85rem;color:#444;text-transform:uppercase;letter-spacing:0.08em;}
.config-summary-grid input,
.config-summary-grid textarea,
.config-summary-grid select {border-radius:16px;border:1px solid rgba(0,0,0,0.1);padding:0.7rem 0.9rem;font-size:1rem;background:#fff;}
.config-cart-preview {list-style:none;padding:0.8rem 1rem;margin:0.6rem 0;background:#fff;border-radius:18px;border:1px solid rgba(0,0,0,0.06);box-shadow:0 16px 30px rgba(0,0,0,0.06);display:grid;gap:0.4rem;}
.config-note {margin-top:0.6rem;color:#6a6a74;font-size:0.9rem;}
.config-preview {margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:1rem;background:var(--config-bg,#f7f8fb);border-radius:20px;padding:1rem 1.2rem;border:1px solid rgba(0,0,0,0.06);box-shadow:0 16px 34px rgba(0,0,0,0.08);}
.config-preview img {width:160px;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(0,0,0,0.2));}
.config-preview p {margin:0;color:#333;font-weight:600;}
.config-preview[data-color="day"] {--config-bg:linear-gradient(145deg,#f5f7fa,#dfe6ed);}
.config-preview[data-color="night"] {--config-bg:linear-gradient(145deg,#1a1c26,#05070f);color:#f5f5f7;}
.config-preview[data-color="night"] p {color:#f5f5f7;}
.wizard-nav {display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.wizard-nav p {margin:0;color:#6a6a74;font-size:0.9rem;}
.wizard-nav .btn {min-width:140px;}
.wizard-nav {position:sticky;bottom:0;left:0;right:0;background:linear-gradient(180deg,rgba(255,255,255,0.6),#fff);padding:0.8rem 0 0.4rem;margin-top:1rem;backdrop-filter:blur(6px);z-index:2;}
.wizard-actions {display:flex;gap:0.6rem;align-items:center;}
@media (max-width: 720px) {
  .wizard-nav {position:static;padding:0.6rem 0;margin-top:1.2rem;}
  .wizard-actions {width:100%;justify-content:space-between;}
  .wizard-actions .btn {flex:1;}
}

.qty-row {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:0.8rem;}
.qty-row span {font-weight:600;color:#222;}
.qty-stepper {display:flex;align-items:center;gap:0.4rem;}
.qty-stepper input {width:80px;text-align:center;border-radius:14px;border:1px solid rgba(0,0,0,0.1);padding:0.5rem 0.4rem;font-weight:600;}
.qty-btn {width:36px;height:36px;border-radius:50%;border:1px solid rgba(0,0,0,0.15);background:#fff;cursor:pointer;font-size:1.2rem;line-height:1;display:grid;place-items:center;transition:background 0.2s,box-shadow 0.2s;}
.qty-btn:hover {background:#f4f4f6;box-shadow:0 8px 16px rgba(0,0,0,0.08);}
.config-cart-preview .price-line {display:flex;gap:0.4rem;align-items:center;justify-content:flex-end;font-weight:600;}
.config-cart-preview .price-old {text-decoration:line-through;color:#a0a0a0;font-weight:400;font-size:0.9rem;}
.config-cart-preview .price-current {font-weight:700;}
.config-cart-preview .price-summary {display:flex;justify-content:space-between;align-items:center;padding-top:0.2rem;border-top:1px solid rgba(0,0,0,0.05);font-weight:600;}
.config-cart-preview .price-summary.total {font-size:1.05rem;}

.payment-success {position:fixed;inset:0;background:rgba(0,0,0,0.65);display:none;align-items:center;justify-content:center;z-index:120;padding:1rem;}
.payment-success[aria-hidden="false"] {display:flex;}
.payment-success-card {background:linear-gradient(145deg,#ffffff,#f6f8fc);border-radius:24px;max-width:540px;width:100%;padding:1.6rem 1.8rem;border:1px solid rgba(0,0,0,0.06);box-shadow:0 40px 90px rgba(0,0,0,0.35);position:relative;overflow:hidden;}
.payment-success-card::before {content:'';position:absolute;inset:-40% auto auto -20%;width:320px;height:320px;background:radial-gradient(circle,rgba(93,163,255,0.24),transparent 70%);filter:blur(18px);z-index:0;}
.payment-success-card::after {content:'';position:absolute;inset:auto -10% -30% auto;width:260px;height:260px;background:radial-gradient(circle,rgba(130,255,214,0.18),transparent 70%);filter:blur(16px);z-index:0;}
.payment-success-card > * {position:relative;z-index:1;}
.payment-success-close {position:absolute;top:0.8rem;right:0.8rem;border:none;background:rgba(0,0,0,0.06);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:1.1rem;box-shadow:0 8px 18px rgba(0,0,0,0.15);}
.payment-success h3 {margin-top:0.3rem;margin-bottom:0.4rem;font-size:1.4rem;}
.payment-success #payment-success-summary {margin:1rem 0;display:grid;gap:0.6rem;padding:0.8rem 1rem;border:1px solid rgba(0,0,0,0.06);border-radius:16px;background:rgba(255,255,255,0.8);}
.payment-success #payment-success-summary p {margin:0;}
.payment-wait {position:fixed;inset:0;background:rgba(0,0,0,0.4);display:none;align-items:center;justify-content:center;z-index:110;}
.payment-wait[aria-hidden="false"] {display:flex;}
.payment-wait-card {display:flex;align-items:center;gap:1rem;background:#fff;border-radius:16px;padding:1rem 1.4rem;border:1px solid rgba(0,0,0,0.08);box-shadow:0 24px 60px rgba(0,0,0,0.25);}
.spinner {width:36px;height:36px;border-radius:50%;border:3px solid rgba(0,0,0,0.12);border-top-color:var(--accent-strong);animation:spin 0.8s linear infinite;}
.wait-copy {margin:0;color:#444;}

.review-marquee {width:100%;overflow:hidden;margin-top:1rem;}
.review-track {display:flex;gap:1rem;animation:reviews 24s linear infinite;}
.review {min-width:280px;max-width:320px;background:#fff;border-radius:20px;padding:0.9rem 1rem;box-shadow:0 18px 40px rgba(0,0,0,0.08);border:1px solid rgba(0,0,0,0.05);}
.review strong {display:flex;align-items:center;gap:0.35rem;font-size:0.95rem;}
.review .stars {color:#f7b500;font-size:0.9rem;letter-spacing:0.1em;}
.review p {margin:0.35rem 0 0;color:#444;font-size:0.9rem;}
@keyframes reviews {
  0% {transform:translateX(0);}
  100% {transform:translateX(-50%);}
}

.intro-splash {position:fixed;inset:0;background:#356b39;z-index:50;display:none;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.6s ease, visibility 0.6s ease, filter 0.6s ease;}
body.intro-active .intro-splash {display:block;opacity:1;visibility:visible;pointer-events:auto;filter:none;}
.intro-splash.out {opacity:0;visibility:hidden;pointer-events:none;filter:blur(6px);}
.intro-scene {position:relative;width:100%;height:100%;overflow:hidden;background:linear-gradient(180deg,#7cbf5f 0%,#4b7f3a 45%,#2e5b2a 100%);}
.intro-ground {position:absolute;left:0;bottom:-10%;width:100%;height:55%;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,0.15),transparent 55%),linear-gradient(180deg,#3b7037 0%,#2d5b2b 70%,#1f3f22 100%);}
.intro-sun {position:absolute;top:6%;left:20%;transform:translateX(-50%);width:clamp(140px,24vw,240px);height:clamp(140px,24vw,240px);border-radius:50%;background:url('assets/Sun.png') no-repeat center/contain;box-shadow:0 0 60px rgba(255,211,106,0.45);z-index:1;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.intro-sun-wave {position:absolute;inset:-15%;border:3px solid rgba(121,200,129,0.38);border-radius:50%;opacity:0;animation:sunWave 4.6s ease-out infinite;}
.intro-sun-wave:nth-child(2) {animation-delay:1.2s;}
.intro-sun-wave:nth-child(3) {animation-delay:2.4s;}
.intro-sun-logo {position:relative;z-index:1;width:58%;height:58%;border-radius:50%;background:rgba(255,255,255,0.12);border:2px solid rgba(255,230,160,0.75);display:grid;place-items:center;font-weight:600;letter-spacing:0.18em;color:#1f2b14;box-shadow:0 12px 26px rgba(0,0,0,0.2);opacity:0;transform:scale(0.2);animation:sunLogoReveal 1s ease forwards;animation-delay:3s;animation-play-state:paused;}
body.intro-active .intro-sun-logo {animation-play-state:running;}
.intro-reduced .intro-sun-logo {opacity:1;transform:scale(1);animation:none;}

.intro-branch {position:absolute;left:0;width:100%;height:55%;opacity:0.95;background:url('assets/branch.png') no-repeat;background-size:130% auto;background-position:left top;animation-duration:3s;animation-timing-function:ease-in-out;animation-fill-mode:forwards;animation-play-state:paused;}
.intro-branch-top {top:-2%;left:0;right:0;animation-name:branchSlideLeft;background-position:left top;}
.intro-branch-bottom {bottom:-2%;left:0;right:0;animation-name:branchSlideRight;background-position:right bottom;transform-origin:bottom right;}
body.intro-active .intro-branch {animation-play-state:running;}
.intro-fog {position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,0.95) 0%,rgba(255,255,255,0.98) 35%,#ffffff 100%);opacity:1;animation:fogFade 2s ease forwards;animation-delay:1s;animation-play-state:paused;}
body.intro-active .intro-fog {animation-play-state:running;}
.intro-reduced .intro-branch,.intro-reduced .intro-fog,.intro-reduced .intro-sun-wave {animation:none;opacity:0;}
.sound-toggle {position:fixed;top:1.2rem;right:1.2rem;z-index:80;border:1px solid rgba(255,255,255,0.6);background:rgba(255,255,255,0.2);color:#0e1a0f;text-transform:uppercase;letter-spacing:0.12em;font-size:0.7rem;padding:0.5rem 0.8rem;border-radius:999px;cursor:pointer;backdrop-filter:blur(6px);}
.sound-toggle:hover {background:rgba(255,255,255,0.35);}
body.intro-active {overflow:hidden;}
html.intro-lock {overflow:hidden;}
@keyframes branchSlideLeft {
  0% {transform:translateX(0);opacity:1;}
  100% {transform:translateX(-120%);opacity:0;}
}
@keyframes branchSlideRight {
  0% {transform:translateX(0) scale(-1, -1);opacity:1;}
  100% {transform:translateX(120%) scale(-1, -1);opacity:0;}
}
@keyframes fogFade {
  0% {opacity:1;}
  100% {opacity:0;}
}
@keyframes sunWave {
  0% {transform:scale(0.75);opacity:0;}
  40% {opacity:0.45;}
  100% {transform:scale(1.4);opacity:0;}
}
@keyframes sunLogoReveal {
  0% {opacity:0;transform:scale(0.2);}
  100% {opacity:1;transform:scale(1);}
}
@media (max-width: 600px) {

  .intro-branch {position:absolute;left:0;width:100%;height:55%;opacity:0.95;background:url('assets/branch.png') no-repeat;background-size:130% auto;background-position:left top;animation-duration:3s;animation-timing-function:ease-in-out;animation-fill-mode:forwards;animation-play-state:paused;}
  .intro-sun {top:8%;left:50%;transform:translateX(-50%);width:clamp(120px,40vw,200px);height:clamp(120px,40vw,200px);}
  .sound-toggle {top:0.9rem;right:0.9rem;font-size:0.65rem;}
}
.power-compare header {text-align:center;max-width:960px;}
.power-cards {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:2rem;}
.power-cards article {background:#fff;border-radius:32px;padding:1.5rem;box-shadow:0 30px 65px rgba(0,0,0,0.08);border:1px solid rgba(0,0,0,0.04);}
.power-cards h3 {margin-bottom:0.4rem;}
.power-value {font-size:2.4rem;font-weight:700;margin-bottom:0.6rem;color:#0f0f19;}
.power-cards ul {list-style:disc;margin-left:1.2rem;color:#5a5a64;line-height:1.5;}
/* Configurator */
.config-hero-inner {display:flex;align-items:center;justify-content:space-between;gap:clamp(2rem,5vw,5rem);flex-wrap:wrap;}
.config-copy {max-width:520px;}
.config-checklist {list-style:none;padding:0;margin:1rem 0;color:rgba(245,245,247,0.75);font-size:0.95rem;}
.config-checklist li {margin-bottom:0.3rem;}
.config-hero-device {position:relative;}
.config-hero-device img {width:min(460px,75vw);filter:drop-shadow(0 40px 70px rgba(0,0,0,0.45));animation:heroOrbit 10s ease-in-out infinite alternate;}
.config-hero-device figcaption {margin-top:0.8rem;color:rgba(255,255,255,0.65);font-size:0.9rem;}
.configurator-builder {background:#f7f7fb;}
.builder-note {color:#6a6a74;font-size:0.95rem;margin-top:0.6rem;}
.config-stepper {display:flex;gap:1rem;list-style:none;padding:0;margin:2rem auto;width:min(900px,100%);justify-content:space-between;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.2em;color:rgba(10,10,20,0.4);}
.config-stepper li {flex:1;text-align:center;padding:0.6rem 0;border-bottom:2px solid rgba(10,10,20,0.1);}
.config-stepper li.is-active {color:#0a0a0f;border-color:var(--accent);}
.configurator-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;align-items:start;}
.configurator-form {display:flex;flex-direction:column;gap:1.5rem;}
.config-step {background:#fff;border-radius:32px;padding:1.5rem;border:1px solid rgba(10,20,50,0.08);box-shadow:0 25px 60px rgba(15,20,40,0.08);}
.config-step[hidden] {display:none!important;}
.option-cards {display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;}
.option-card {display:block;position:relative;cursor:pointer;}
.option-card input {position:absolute;opacity:0;pointer-events:none;}
.option-card span {display:flex;flex-direction:column;gap:0.2rem;padding:1rem 1.2rem;border-radius:24px;border:1px solid rgba(10,15,30,0.1);background:#f7f7fb;transition:border 0.2s,box-shadow 0.2s,background 0.2s;}
.option-card em {font-style:normal;font-weight:600;}
.option-card input:checked + span {border-color:var(--accent);background:#fff;box-shadow:0 20px 40px rgba(15,25,60,0.08);}
.color-row {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;}
.color-card {position:relative;cursor:pointer;}
.color-card input {position:absolute;opacity:0;pointer-events:none;}
.color-card span {display:flex;align-items:center;gap:0.8rem;padding:0.8rem 1rem;border-radius:22px;border:1px solid rgba(10,10,20,0.1);background:#f7f7fb;transition:border 0.2s,box-shadow 0.2s,background 0.2s;}
.color-card .swatch {width:38px;height:38px;border-radius:50%;border:1px solid rgba(0,0,0,0.1);background:var(--tone,#ddd);transition:border 0.2s,box-shadow 0.2s;}
.color-card input:checked + span {border-color:var(--accent);background:#fff;box-shadow:0 20px 40px rgba(15,25,60,0.08);}
.color-card input:checked + span .swatch {border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,0,0,0.08);}
.config-summary {background:#0c0f1c;color:#fff;border-radius:32px;padding:2rem;border:1px solid rgba(255,255,255,0.1);box-shadow:0 30px 70px rgba(5,8,20,0.45);}
.config-summary ul {list-style:none;padding:0;margin:1rem 0;display:flex;flex-direction:column;gap:0.4rem;}
.config-summary li {display:flex;justify-content:space-between;font-size:0.95rem;}
.config-summary .summary-price {font-size:clamp(1.6rem,3vw,2.4rem);}
.summary-auth {margin-top:1.25rem;padding:1.2rem 1.4rem;border-radius:22px;border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.05);opacity:0;transform:translateY(8px);transition:opacity 0.3s ease,transform 0.3s ease,border-color 0.3s ease;}
.summary-auth.is-active {opacity:1;transform:translateY(0);}
.summary-auth.is-loading {border-color:rgba(255,255,255,0.35);}
.summary-auth.is-success {border-color:#18c964;background:rgba(24,201,100,0.08);}
.summary-auth .auth-buttons {display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:0.9rem;}
.summary-auth .btn {min-width:150px;justify-content:center;}
.summary-auth.is-loading .btn {opacity:0.6;pointer-events:none;}
.summary-auth .auth-status {margin-top:0.8rem;font-size:0.85rem;color:rgba(255,255,255,0.75);}
.summary-auth[hidden] {display:none;}
.auth-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0;}
.auth-grid textarea {resize:vertical;min-height:80px;}
.summary-preview {margin:1rem 0;border-radius:32px;padding:1.2rem;background:var(--summary-tone,#dfe6ed);box-shadow:0 35px 70px rgba(0,0,0,0.2);display:grid;place-items:center;position:relative;overflow:hidden;}
.summary-preview::before {content:'';position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle,var(--summary-tone,#dfe6ed),transparent 70%);opacity:0.8;filter:blur(20px);}
.summary-preview img {position:relative;width:min(340px,80%);filter:drop-shadow(0 35px 70px rgba(0,0,0,0.45)) drop-shadow(0 0 30px var(--preview-glow,#ffffff));}
.summary-preview::after {content:attr(data-color);position:absolute;bottom:12px;right:18px;font-size:0.85rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(0,0,0,0.45);}
.summary-controls {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem;}
.summary-helper {font-size:0.85rem;color:var(--muted,#4a4d63);}
.wizard-nav {display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.wizard-nav p {flex:1;text-align:center;font-size:0.9rem;color:#6a6a74;margin:0;}
.wizard-nav .btn {min-width:140px;}
.wizard-nav .btn[disabled] {opacity:0.4;pointer-events:none;}
.auth-buttons {display:flex;flex-wrap:wrap;gap:0.6rem;}
.auth-buttons .btn {flex:1 1 140px;}
.summary-check {display:flex;gap:0.6rem;align-items:flex-start;color:rgba(255,255,255,0.75);font-size:0.9rem;margin-top:0.6rem;}
.summary-check input {margin-top:0.3rem;}

.warranty {display:flex;justify-content:center;padding-left:clamp(1.5rem,4vw,3rem);padding-right:clamp(1.5rem,4vw,3rem);}
.warranty-card {background:#fff;border-radius:36px;box-shadow:0 35px 70px rgba(15,17,25,0.12);padding:2rem;max-width:960px;width:100%;display:flex;flex-direction:column;gap:1.5rem;}
.warranty-copy ul {margin:1rem 0 0 1rem;}
.warranty-form {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;}
.warranty-form label {display:flex;flex-direction:column;font-size:0.9rem;color:#333;gap:0.35rem;}
.warranty-form input,
.warranty-form select,
.warranty-form textarea {border-radius:16px;border:1px solid rgba(10,15,40,0.15);padding:0.75rem;background:#fff;font-family:inherit;font-size:1rem;}
.warranty-form textarea {resize:vertical;}
.warranty-form .checkbox {grid-column:1 / -1;flex-direction:row;align-items:flex-start;}
.warranty-form .checkbox input {width:auto;margin-top:0.4rem;}
.warranty-form button {grid-column:1 / -1;}

.support-grid {gap:1.5rem;}
.support-card {background:#fff;border-radius:26px;padding:1.4rem;border:1px solid rgba(0,0,0,0.06);box-shadow:0 20px 50px rgba(10,10,30,0.05);}
.contact-cta {display:flex;flex-wrap:wrap;gap:2rem;align-items:flex-start;}
.map-embed iframe {width:100%;min-height:260px;border:0;border-radius:24px;box-shadow:0 30px 60px rgba(0,0,0,0.15);}

.admin-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-top:1.5rem;}
.stat-board ul {list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.6rem;font-size:0.9rem;}
.stat-board li {padding:0.8rem 1rem;border:1px solid rgba(255,255,255,0.08);border-radius:18px;background:rgba(255,255,255,0.02);}
.funnel-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0.6rem;margin-top:1rem;}
.funnel-grid div {background:rgba(255,255,255,0.05);border-radius:16px;padding:0.6rem 0.8rem;text-align:center;}
.sparkline-card .sparkline {display:flex;align-items:flex-end;gap:4px;height:90px;margin:1rem 0;}
.sparkline-card .sparkline span {flex:1;border-radius:4px;background:linear-gradient(180deg,rgba(146,190,255,0.9),rgba(56,110,255,0.5));min-height:4px;}
.sparkline-card p {font-size:0.85rem;color:rgba(255,255,255,0.75);}
.live-feed ul {list-style:none;padding:0;margin:0;display:grid;gap:0.6rem;}
.live-feed li {display:flex;flex-direction:column;gap:0.2rem;border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:0.5rem;}
.live-feed li:last-child {border-bottom:none;padding-bottom:0;}
.blog-overview-card ul {list-style:none;margin:0 0 0.8rem;padding:0;display:grid;gap:0.4rem;}
.blog-overview-card li {font-size:0.9rem;}
.blog-overview-card .btn {width:max-content;}
.orders-panel table,
.tickets-table table {width:100%;border-collapse:collapse;font-size:0.9rem;}
.orders-panel th,
.orders-panel td,
.tickets-table th,
.tickets-table td {padding:0.4rem;text-align:left;border-bottom:1px solid rgba(255,255,255,0.08);}
.orders-panel tr.is-new,
.tickets-table tr.is-new {background:rgba(76,181,255,0.08);}
.orders-panel tr.is-alert,
.tickets-table tr.is-alert {background:rgba(255,86,112,0.12);}
.worker table tr.is-new {background:rgba(76,181,255,0.08);}
.worker-actions {display:flex;flex-wrap:wrap;gap:0.4rem;margin-top:0.4rem;}
.worker-actions input {border-radius:12px;border:1px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.05);color:inherit;padding:0.35rem 0.6rem;font-size:0.85rem;min-width:140px;}
.worker-actions .btn {flex:0 0 auto;}
.sales-board .sales-metrics {display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1rem;}
.sales-board small {color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:0.12em;font-size:0.65rem;}
.sales-board strong {font-size:1.2rem;}
.geo-card ul {list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:0.6rem;}
.geo-card li {display:flex;justify-content:space-between;padding:0.4rem 0;border-bottom:1px solid rgba(255,255,255,0.08);}
.password-reset-card form {display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem;}
.order-filters {display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:0.8rem;}
.order-filters label {display:flex;flex-direction:column;font-size:0.85rem;}
.order-filters select {border-radius:14px;border:1px solid rgba(255,255,255,0.15);background:transparent;color:inherit;padding:0.4rem 0.6rem;}
.composer form {display:flex;flex-direction:column;gap:0.8rem;}
.composer textarea {min-height:140px;border-radius:16px;border:1px solid rgba(255,255,255,0.2);background:transparent;color:inherit;padding:0.8rem;}
.composer select,
.composer input {border-radius:14px;border:1px solid rgba(255,255,255,0.2);background:transparent;color:inherit;padding:0.5rem;}
.login-panel {align-items:center;text-align:center;gap:1.1rem;margin:0 auto 4rem;max-width:420px;width:100%;align-self:center;}
.login-panel label {width:100%;max-width:360px;margin:0 auto;text-align:left;}
.login-panel input {width:100%;}
.login-panel .btn {align-self:center;}
.checkbox-inline {display:flex!important;gap:0.6rem;align-items:center!important;}
.checkbox-inline input {margin-top:0;}
.checkbox-inline span {flex:1;}
.support-spaced {margin-top:clamp(3rem,6vw,4.5rem);}

/* Minimal home */
body.home-min {
  --accent: #f0d27a;
  --accent-strong: #d9a64a;
  --muted: rgba(246, 239, 216, 0.7);
  background: linear-gradient(180deg,#8ff0b0 0%,#4ccb79 46%,#1da14f 100%);
  color: #0e2414;
  text-shadow:0 1px 2px rgba(0,0,0,0.18);
}
body.home-min main {padding-bottom:3rem;}
body.home-min .global-nav {
  background: transparent;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  color: #fdfdfd;
  box-shadow:none;
}

body.home-min .logo span:first-child {color:inherit;}
body.home-min .nav-link {color:#fefefe;}
body.home-min .nav-link.active,body.home-min .nav-link:hover {background:rgba(0,0,0,0.62);color:#ffffff;}
body.home-min .btn.primary {color:#1e2a14;box-shadow:0 18px 30px rgba(214,180,84,0.35);}
body.home-min .btn.ghost {border-color:rgba(255,255,255,0.35);color:#f6efd8;}
body.home-min .btn.secondary {color:#f6efd8;border-color:rgba(255,255,255,0.35);}
body.home-min .cart-button {background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.35);color:#f6efd8;}
body.home-min .cart-button:hover {box-shadow:0 12px 24px rgba(0,0,0,0.25);}
body.home-min .cart-count {background:#e6c66a;color:#1e2a14;}

.minimal-hero {padding:clamp(3rem,8vw,7rem) 0;}
.minimal-hero-inner {width:min(900px,calc(100% - 3rem));margin:0 auto;text-align:left;}
.minimal-hero h1 {font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.1;letter-spacing:-0.01em;}
.minimal-hero .lead {color:rgba(246,239,216,0.75);max-width:38rem;margin:0.8rem 0 0;}
.home-min .minimal-hero .lead {color:#0b0b0b;}
.minimal-cta {margin-top:1.8rem;display:flex;gap:0.8rem;justify-content:flex-start;flex-wrap:wrap;}
.minimal-tagline {
  font-size:0.95rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:rgba(246,239,216,0.75);
  padding:0.6rem 1rem;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:999px;
  background:rgba(10,20,12,0.35);
}


.minimal-section {padding:clamp(2rem,6vw,4rem) 0;border-top:none;}
.minimal-section-inner {width:min(1100px,calc(100% - 3rem));margin:0 auto;}
.minimal-section h2 {margin-bottom:0.6rem;}

.minimal-cards {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.5rem;}
.minimal-card {background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:22px;padding:1.2rem;backdrop-filter:blur(6px);}
.minimal-card h3 {margin-bottom:0.3rem;}

.minimal-highlight {display:flex;align-items:center;gap:2rem;flex-wrap:wrap;}
.minimal-figure {margin:0 auto;}
.minimal-figure img {width:min(360px,85vw);filter:drop-shadow(0 25px 40px rgba(0,0,0,0.35));background:transparent;}
.product-cta {margin-top:1.2rem;display:inline-flex;align-items:center;justify-content:center;min-width:200px;}

.minimal-footer {padding:2rem 0 3rem;border-top:none;text-align:center;color:#f4fbe7;background:transparent;box-shadow:none;}

.minimal-footer-links {display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:0.6rem;}
.minimal-footer a {color:#f4fbe7;text-decoration:none;font-weight:600;}
.minimal-footer a:hover {color:#ffffff;}

@media (max-width: 700px) {
  .minimal-highlight {flex-direction:column;align-items:flex-start;}
  .minimal-figure {margin-top:1.5rem;}
}

body.home-min .home-bg {
  position:fixed;
  inset:-10% 0 0 0;
  background:var(--bg-image) center/cover;
  background-size:140% 140%;
  filter:saturate(1.35) brightness(1.05);
  animation:homeDrift 22s ease-in-out infinite;
  pointer-events:none;
}
body.home-min main,
body.home-min footer {position:relative;z-index:1;}

.home-sun {
  position:fixed;
  top:clamp(0.8rem,3vw,2.4rem);
  left:20%;
  right:auto;
  transform:translateX(-50%);
  width:clamp(120px,18vw,200px);
  height:clamp(120px,18vw,200px);
  border-radius:50%;
  background:none;
  border:1px solid rgba(255,255,255,0.22);
  box-shadow:none;
  display:grid;
  place-items:center;
  overflow:hidden;
  z-index:5;
  pointer-events:none;
  transform-origin:center;
  animation:homeSunReveal 2.8s ease-out forwards;
}
.home-sun-wave {
  position:absolute;
  inset:-18%;
  border:3px solid rgba(121,200,129,0.32);
  border-radius:50%;
  opacity:0;
  animation:sunWave 6s ease-out infinite;
}
.home-sun-wave:nth-child(2) {animation-delay:2s;}
.home-sun-wave:nth-child(3) {animation-delay:4s;}
.home-sun-logo {position:relative;z-index:1;
  width:58%;
  height:58%;
  border-radius:50%;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.2);
  display:grid;
  place-items:center;
  font-weight:600;
  letter-spacing:0.18em;
  color:#1f2b14;
  box-shadow:0 0 32px rgba(0,0,0,0.28);
  opacity:0;
  transform:scale(0.1);
  animation:homeLogoFlash 1.15s ease-out forwards;
  animation-delay:0.9s;
}

@keyframes homeWave {
  0% {background-position:0% 0%,50% 0%,0% 0%,0 0;}
  50% {background-position:100% 20%,40% 35%,60% 20%,0 0;}
  100% {background-position:0% 0%,50% 0%,0% 0%,0 0;}
}

@media (max-width: 700px) {
  .home-sun {left:50%;right:auto;top:1rem;transform:translateX(-50%);}
}

body.home-min .home-branches,
body.home-min .home-foreground {position:fixed;left:0;right:0;pointer-events:none;z-index:0;}

body.home-min .home-branch {
  position:fixed;
  top:-6vh;
  width:clamp(160px,22vw,260px);
  height:120vh;
  background:none;
  opacity:0.9;
}
body.home-min .home-branch::before {
  content:'';
  position:absolute;
  inset:-10%;
  background:url('assets/branch.png') no-repeat center/contain;
  filter:drop-shadow(0 20px 50px rgba(0,0,0,0.35));
  transform-origin:center;
}
body.home-min .home-branch-left {left:-6vw;}
body.home-min .home-branch-left::before {transform:rotate(90deg);}
body.home-min .home-branch-right {right:-6vw;}
body.home-min .home-branch-right::before {transform:rotate(-90deg);}

body.info-page:not(.cart-page) .home-branches {position:fixed;left:0;right:0;pointer-events:none;z-index:0;}
body.info-page:not(.cart-page) .home-branch {
  position:fixed;
  top:-6vh;
  width:clamp(150px,20vw,240px);
  height:120vh;
  opacity:0.85;
}
body.info-page:not(.cart-page) .home-branch::before {
  content:'';
  position:absolute;
  inset:-10%;
  background:url('assets/branch.png') no-repeat center/contain;
  filter:drop-shadow(0 20px 50px rgba(0,0,0,0.35));
  transform-origin:center;
}
body.info-page:not(.cart-page) .home-branch-left {left:-6vw;}
body.info-page:not(.cart-page) .home-branch-left::before {transform:rotate(90deg);}
body.info-page:not(.cart-page) .home-branch-right {right:-6vw;}
body.info-page:not(.cart-page) .home-branch-right::before {transform:rotate(-90deg);}

body.home-min .home-foreground {display:none;}

@media (max-width: 700px) {
  body.home-min .home-branch {width:clamp(90px,22vw,140px);}
  body.home-min .home-foreground {height:clamp(70px,18vw,120px);}
  body.home-min .home-branches,
  body.home-min .home-foreground,
  body.info-page:not(.cart-page) .home-branches {display:none;}
}

/* Info pages */
body.info-page {
  --accent: #e6c66a;
  --accent-strong: #b9892c;
  --muted: rgba(10, 35, 18, 0.7);
  background:#e8f9ed;
  color:#0e2414;
  text-shadow:0 1px 2px rgba(0,0,0,0.12);
}
body.info-page .global-nav {
  background: transparent;
  border-bottom:1px solid rgba(255,255,255,0.12);
  color:#f4fbe7;
  box-shadow:none;
}
body.info-page .logo span:first-child {color:inherit;}
body.info-page .nav-link {color:#fefefe;font-size:0.86rem;}
body.info-page .nav-link.active,body.info-page .nav-link:hover {background:rgba(0,0,0,0.62);color:#ffffff;}
body.info-page .btn.primary {color:#1e2a14;box-shadow:0 18px 30px rgba(214,180,84,0.35);}
body.info-page .btn.ghost {border-color:rgba(255,255,255,0.35);color:#f6efd8;}
body.info-page .cart-button {background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.35);color:#f6efd8;}
body.info-page .cart-button:hover {box-shadow:0 12px 24px rgba(0,0,0,0.25);}
body.info-page .cart-count {background:#e6c66a;color:#1e2a14;}
body.info-page main,
body.info-page footer {position:relative;z-index:1;}
.info-bg {
  position:fixed;
  inset:-10% 0 0 0;
  background:var(--bg-image) center/cover;
  background-size:140% 140%;
  filter:saturate(1.3) brightness(1.05);
  animation:homeDrift 22s ease-in-out infinite;
  pointer-events:none;
}
body.info-page .cart-card {background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 18px 40px rgba(0,0,0,0.12);color:#0b0b0b;}
body.info-page .cart-card .lead {color:#333;}
body.info-page main,
body.info-page footer {position:relative;z-index:1;}

.info-hero {padding:clamp(3rem,8vw,7rem) 0;}
.info-hero-inner {width:min(1100px,calc(100% - 3rem));margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;align-items:center;}
.info-hero h1 {font-size:clamp(2.4rem,4.6vw,3.8rem);line-height:1.1;}
.info-hero .lead {color:rgba(246,239,216,0.75);margin-top:0.8rem;}
.info-hero-panel {background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:26px;padding:1.4rem;}
.info-hero-panel h3 {margin-bottom:0.6rem;}

.info-section {padding:clamp(2rem,6vw,4rem) 0;border-top:1px solid rgba(255,255,255,0.08);}
.info-section-inner {width:min(1100px,calc(100% - 3rem));margin:0 auto;}
.info-section h2 {margin-bottom:0.6rem;}

.info-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.5rem;}
.info-card {background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:22px;padding:1.2rem;}
.info-card h3 {margin-bottom:0.35rem;}

.info-split {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;align-items:center;}
.info-figure {margin:0;}
.info-figure img {width:min(360px,90%);filter:drop-shadow(0 25px 40px rgba(0,0,0,0.35));}
.info-hero-figure {justify-self:center;}
.info-hero-figure img {width:min(380px,85vw);border-radius:24px;border:1px solid rgba(255,255,255,0.12);background:rgba(10,20,12,0.4);}

.info-list {list-style:none;padding:0;margin:0;display:grid;gap:0.6rem;}
.info-list li {display:flex;gap:0.5rem;align-items:flex-start;}
.info-list li::before {content:'•';color:var(--accent);}

.info-cta {margin-top:1.5rem;display:flex;gap:0.8rem;flex-wrap:wrap;}

@media (max-width: 700px) {
  .info-hero-inner {text-align:left;}
  .info-figure img {width:100%;}
}

/* Info page polish */
body.info-page .eyebrow {color:rgba(230,198,106,0.72);}
body.info-page h1,body.info-page h2 {color:#fdf1c9;}
body.info-page a {color:#f6e2a8;}
body.info-page a:hover {color:#fff;}

body.info-page .info-hero {padding-top:clamp(4rem,10vw,8rem);}
body.info-page .info-hero-panel {
  background:linear-gradient(140deg,rgba(255,255,255,0.14),rgba(255,255,255,0.04));
  border:1px solid rgba(255,214,128,0.18);
  box-shadow:0 20px 45px rgba(0,0,0,0.35);
}

body.info-page .info-card,
body.info-page .feature-card {
  background:linear-gradient(160deg,rgba(255,255,255,0.12),rgba(255,255,255,0.04));
  border:1px solid rgba(255,214,128,0.16);
  box-shadow:0 18px 40px rgba(0,0,0,0.32);
}
body.info-page .info-card p,
body.info-page .feature-card p {color:rgba(246,239,216,0.78);}
body.info-page .feature-card h3 {color:#f8e7b6;}
body.info-page .feature-media {border-radius:20px;border:1px solid rgba(255,255,255,0.12);background-size:cover;background-position:center;}

body.info-page .info-figure {position:relative;}
body.info-page .info-figure::after {
  content:'';
  position:absolute;
  inset:auto 20% -10% 20%;
  height:30%;
  background:radial-gradient(circle,rgba(255,214,128,0.28),transparent 70%);
  filter:blur(18px);
  z-index:-1;
}

body.info-page .tech-note {
  display:inline-flex;
  margin-top:0.6rem;
  padding:0.25rem 0.7rem;
  border-radius:999px;
  border:1px solid rgba(255,214,128,0.35);
  color:rgba(255,214,128,0.85);
  font-size:0.7rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
}

body.info-page .panel.theme-light,
body.info-page .panel.theme-porcelain {
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
  color:#f6efd8;
}
body.info-page .panel .eyebrow {color:rgba(230,198,106,0.72);}
body.info-page .panel-grid article {
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:22px;
  padding:1.1rem;
}
body.info-page .panel-grid article h3 {margin-bottom:0.4rem;}

body.info-page .function-card {
  background:linear-gradient(180deg,rgba(18,45,28,0.95),rgba(10,24,16,0.92));
  border:1px solid rgba(255,214,128,0.2);
}
body.info-page .function-label {color:rgba(255,214,128,0.7);}
body.info-page .carousel-arrow {border-color:rgba(255,214,128,0.6);color:#f6efd8;}
body.info-page .carousel-arrow:hover {background:rgba(255,214,128,0.2);}
body.info-page .carousel-progress {background:rgba(255,255,255,0.12);}

/* Info page polish v2 */
body.info-page .info-hero {position:relative;overflow:hidden;}
body.info-page .info-hero::before {
  content:'';
  position:absolute;
  inset:auto -10% -30% -10%;
  height:60%;
  background:radial-gradient(circle at 50% 0%,rgba(255,214,128,0.2),transparent 70%);
  filter:blur(20px);
  z-index:0;
}
body.info-page .info-hero::after {
  content:'';
  position:absolute;
  inset:auto 12% 6% 12%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,214,128,0.6),transparent);
  z-index:0;
}
body.info-page .info-hero-inner {position:relative;z-index:1;}
body.info-page .info-hero-copy {max-width:560px;}
body.info-page .info-hero h1 {letter-spacing:-0.01em;}
body.info-page .info-hero .lead {font-size:1.02rem;}

body.info-page .info-list li {
  padding:0.35rem 0.6rem;
  border-radius:999px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,214,128,0.18);
}

body.info-page .info-card,
body.info-page .feature-card {
  transition:transform 0.35s ease,box-shadow 0.35s ease,border-color 0.35s ease;
}
body.info-page .info-card:hover,
body.info-page .feature-card:hover {
  transform:translateY(-4px);
  box-shadow:0 30px 65px rgba(0,0,0,0.45);
  border-color:rgba(255,214,128,0.35);
}

body.info-page .info-section:nth-of-type(even) {
  background:rgba(255,255,255,0.02);
}
body.info-page .info-section {position:relative;}
body.info-page .info-section::after {
  content:'';
  position:absolute;
  inset:auto 15% 0 15%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.12),transparent);
}

body.info-page .function-carousel {
  background:linear-gradient(180deg,rgba(12,32,18,0.98),rgba(7,18,11,0.98));
  border-top:1px solid rgba(255,255,255,0.08);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
body.info-page .function-card img {filter:drop-shadow(0 24px 45px rgba(0,0,0,0.45));}

@media (max-width: 700px) {
  body.info-page .info-hero::after {inset:auto 8% 4% 8%;}
  body.info-page .info-list li {border-radius:18px;}
}

.intro-sun-logo img,
.home-sun-logo img {width:70%;height:auto;display:block;}


/* Article pages */
body.article-page .article-hero {
  padding:clamp(1.2rem,3vw,2rem) 0 0.8rem;
  margin-bottom:0.4rem;
}
body.article-page .article-hero-inner {
  width:min(900px,calc(100% - 3rem));
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr;
  gap:0.3rem;
  align-items:center;
}
body.article-page .article-hero-copy h1 {letter-spacing:-0.01em;}
body.article-page .article-hero-copy {
  background:rgba(255,255,255,0.9);
  color:#0a0a0a;
  border:1px solid rgba(0,0,0,0.06);
  border-radius:20px;
  padding:0.7rem 1rem;
  box-shadow:0 12px 30px rgba(0,0,0,0.12);
  text-shadow:none;
  width:100%;
  text-align:center;
}
body.article-page .article-lead {color:rgba(246,239,216,0.78);margin-top:0.8rem;}

.article-meta {
  list-style:none;
  padding:0;
  margin:1.2rem 0 0;
  display:grid;
  gap:0.35rem;
  color:rgba(246,239,216,0.78);
}
.article-meta li {display:flex;gap:0.4rem;align-items:flex-start;}
.article-meta li::before {content:'•';color:var(--accent);}

.article-cover {margin:0;justify-self:end;align-self:start;width:clamp(140px,20vw,220px);} 
.article-cover img {
  width:100%;
  height:clamp(180px,24vw,300px);
  object-fit:cover;
  border-radius:24px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(10,20,12,0.35);
  box-shadow:0 30px 60px rgba(0,0,0,0.35);
}
.article-cover.clean img {
  background:transparent;
  border:none;
  box-shadow:none;
}

.article-content {
  width:min(860px,calc(100% - 3rem));
  margin:0 auto;
  display:grid;
  gap:2.2rem;
  padding-bottom:clamp(3rem,6vw,5rem);
  text-align:center;
}
.article-content p,
.article-content h1,
.article-content h2,
.article-content h3,
.article-content blockquote {
  text-shadow:0 1px 2px rgba(0,0,0,0.35);
}
.article-inline-gallery {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1rem;
  margin:0.5rem 0 1.2rem;
}
.article-content p,
.article-section p,
.article-section blockquote {
  text-align:justify;
  text-justify:inter-word;
}

.article-section {
  background:rgba(255,255,255,0.9);
  border:1px solid rgba(0,0,0,0.06);
  border-radius:24px;
  padding:1.6rem;
  box-shadow:0 18px 40px rgba(0,0,0,0.1);
}
.article-section h2 {margin:0 0 0.5rem;font-size:clamp(1.4rem,3vw,2rem);text-align:center;}
.article-section h3 {text-align:center;}
.article-section {text-align:center;}
.article-section p {color:#0b0b0b;}
.article-section p + p {margin-top:0.9rem;}
.article-section p + ul,
.article-section ul + p {margin-top:0.9rem;}
.article-section .article-figure {margin:1.2rem auto;}
.article-section .article-figure + p {margin-top:1rem;}

.article-subsection + .article-subsection {margin-top:1rem;}
.article-subsection h3 {margin:0 0 0.35rem;font-size:1.05rem;}
.article-note {color:rgba(246,239,216,0.7);font-size:0.95rem;}

.article-list {margin:1rem 0 0;padding-left:1.2rem;display:grid;gap:0.35rem;}
.article-list li {color:rgba(246,239,216,0.86);}
.article-list + p {margin-top:1rem;}

.article-split {display:grid;grid-template-columns:1.2fr 0.8fr;gap:2rem;align-items:center;}
.article-split {justify-items:center;text-align:center;}
.article-split-media {justify-self:end;max-width:380px;width:100%;}
.article-split-media img {width:100%;border-radius:22px;border:1px solid rgba(255,255,255,0.12);box-shadow:0 24px 50px rgba(0,0,0,0.35);}
.article-split-media figcaption {color:rgba(246,239,216,0.7);font-size:0.9rem;text-align:center;margin-top:0.5rem;}

@media (max-width: 900px) {
  .article-split {grid-template-columns:1fr;}
}

@media (max-width: 768px) {
  .article-content {width:calc(100% - 1.5rem);padding-left:0.75rem;padding-right:0.75rem;}
  .global-nav .nav-links {display:none;}
  .global-nav .nav-actions .btn {width:100%;text-align:center;}
}

.article-figure {
  margin:0;
  display:grid;
  gap:0.6rem;
  justify-items:center;
}
.article-figure img {
  width:min(520px,100%);
  border-radius:22px;
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 24px 50px rgba(0,0,0,0.35);
}
.article-figure figcaption {
  color:#000;
  font-size:0.9rem;
}
.article-split-media figcaption {color:#000;}

.article-feature-list {display:grid;gap:1.2rem;}
.article-feature {
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:22px;
  padding:1.2rem;
  display:grid;
  gap:0.6rem;
}
.article-tag {text-transform:uppercase;letter-spacing:0.2em;font-size:0.7rem;color:var(--accent);}
.article-feature img {
  width:min(240px,70%);
  filter:drop-shadow(0 20px 35px rgba(0,0,0,0.35));
}

.article-steps {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:1rem;
  counter-reset:step;
}
.article-steps li {
  position:relative;
  padding:1.2rem 1.4rem 1.2rem 3.4rem;
  border-radius:20px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.04);
}
.article-steps li::before {
  counter-increment:step;
  content:counter(step);
  position:absolute;
  left:1rem;
  top:1.1rem;
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(230,198,106,0.2);
  color:#f6e2a8;
  font-weight:600;
}

.article-tip-list {display:grid;gap:1rem;}
.article-tip {
  border-radius:20px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.04);
  padding:1.2rem;
}

@media (max-width: 700px) {
  body.article-page .article-hero {padding:2rem 0;}
  body.article-page .article-hero-inner {grid-template-columns:1fr;gap:1.2rem;}
  .article-content {width:calc(100% - 2rem);}
  .article-steps li {padding-left:3.1rem;}
  .article-cover {justify-self:start;width:min(220px,70vw);}
  .article-cover img {height:min(260px,80vw);border-radius:20px;}
}

@media (max-width: 480px) {
  .global-nav {padding:0.4rem 0.8rem;}
  .nav-actions {width:100%;justify-content:flex-end;flex-wrap:wrap;}
  .nav-actions .btn.primary {width:100%;justify-content:center;padding:0.6rem 0.9rem;font-size:0.92rem;}
  .cart-button {padding:0.3rem 0.6rem;}
  body.cart-page .cart-card {padding:1.2rem;border-radius:22px;}
  body.cart-page .cart-product img {width:min(240px,80%);}
  .cart-actions .btn {font-size:0.95rem;}
}

/* Article light overhaul */
body.article-page {
  background:transparent;
  color:#0a0a0a;
  text-shadow:none;
  text-align:center;
}
body.article-page .info-bg {display:block;}
body.article-page .home-branches,
body.article-page .home-sun {display:none;}
body.article-page .article-hero {background:transparent;}
body.article-page .article-hero-inner {grid-template-columns:1fr;justify-items:center;text-align:left;}
body.article-page .article-hero-copy {
  background:#ffffff;
  border:1px solid #e4e4e4;
  box-shadow:none;
  padding:1rem;
  text-align:center;
}
body.article-page .article-hero-copy h1,
body.article-page .article-hero-copy .eyebrow,
body.article-page .article-hero-copy .article-lead {color:#0a0a0a;}
body.article-page .article-lead {color:#1a1a1a;}
body.article-page .article-cover {display:none!important;}
body.article-page .article-section {
  background:#ffffff;
  border:1px solid #e4e4e4;
  box-shadow:none;
  text-align:center;
  padding:1.2rem 1.4rem;
}
body.article-page .article-section p + p {margin-top:1rem;}
body.article-page .article-section ul,
body.article-page .article-section ol {margin:0 auto 1rem; text-align:left; max-width:900px;}
body[data-page="medycyna-naturalna"] .article-section {max-width:1100px;margin-left:auto;margin-right:auto;}
body.article-page .article-cover.dynamic-cover {display:block!important;margin:0 auto 0.8rem;}
body.article-page .article-cover.dynamic-cover img {border:1px solid #e4e4e4;box-shadow:none;border-radius:18px;}
body.article-page .article-section h2,
body.article-page .article-section p,
body.article-page .article-list li,
body.article-page .article-note {color:#0a0a0a;}
body.article-page .article-section h1,
body.article-page .article-section h2,
body.article-page .article-section h3 {text-align:center;}
body.article-page .article-section p,
body.article-page .article-section blockquote {text-align:justify;text-justify:inter-word;}
body.article-page .article-section ul,
body.article-page .article-section ol {text-align:left;}
@media(max-width:540px){
  body.article-page .article-section p,
  body.article-page .article-section blockquote {text-align:left;text-justify:auto;}
}
body[data-page="about"] .article-hero-copy,
body[data-page="about"] .article-hero-inner,
body[data-page="about"] .article-content {text-align:center; justify-items:center;}
body[data-page="about"] .article-section {text-align:center;}
body[data-page="about"] .article-section p {max-width:900px;margin:0 auto;}
body.article-page .article-meta,
body.article-page .article-meta li {color:#0a0a0a;}
body.article-page .article-meta li::before {color:#0a0a0a;}
body.article-page .article-list li::before {color:#111;}

@keyframes homeSunReveal {
  0% {transform:translateX(-50%) scale(2.6);opacity:0.9;}
  60% {transform:translateX(-50%) scale(1);opacity:1;}
  100% {transform:translateX(-50%) scale(1);opacity:1;}
}

@keyframes homeLogoReveal {
  0% {opacity:0;transform:scale(0.2);} 
  100% {opacity:1;transform:scale(1);} 
}

@keyframes homeDrift {
  0% {background-position:50% 44%;transform:scale(1.02);}
  45% {background-position:54% 52%;transform:scale(1.07);}
  100% {background-position:50% 44%;transform:scale(1.02);}
}

@keyframes homeLogoFlash {
  0% {opacity:0;transform:scale(0.1) translateY(8px);filter:blur(6px);}
  70% {opacity:1;transform:scale(1.08);filter:blur(0);}
  100% {opacity:1;transform:scale(1);filter:blur(0);}
}
/* Start/hero sekcja – białe fonty */
.start-hero h1, .start-hero p,
.home-hero h1, .home-hero p, .home-hero .eyebrow,
.hero-copy h1, .hero-copy p {color:#fff!important;}

/* Walidacja formularzy */
.error { border-color: #e63946 !important; background: #ffeef0 !important; }
.form-error { color: #e63946; font-size: 0.9rem; margin-top: 6px; }

/* Galerie */
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:14px;
  align-items:start;
}
.gallery-grid figure {
  background:#fff;
  border:1px solid #e3e3e3;
  border-radius:12px;
  padding:8px;
}
.gallery-grid img {
  width:100%;
  height: auto;
  border-radius:8px;
}
.gallery-grid figcaption {margin-top:6px;font-size:0.92rem;color:#333;text-align:center;}

/* Lightbox */
.lightbox-backdrop {
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.7);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9998;
}
.lightbox-backdrop.open {display:flex;}
.lightbox-backdrop img {
  max-width:90vw;
  max-height:85vh;
  border-radius:12px;
  box-shadow:0 16px 60px rgba(0,0,0,0.45);
}
.lightbox-caption {
  color:#f7f7f7;
  margin-top:10px;
  text-align:center;
  font-size:0.95rem;
}
.lightbox-nav {position:absolute;top:50%;left:0;right:0;display:flex;justify-content:space-between;padding:0 18px;pointer-events:none;}
.lightbox-btn {pointer-events:auto;background:rgba(0,0,0,0.5);color:#fff;border:none;border-radius:50%;width:42px;height:42px;font-size:20px;cursor:pointer;display:grid;place-items:center;}
