:root {
  --navy: #0b2b52;
  --navy-2: #071e3b;
  --yellow: #f3b51b;
  --ink: #122033;
  --muted: #697586;
  --line: #dfe5ec;
  --soft: #f4f6f8;
  --white: #fff;
  --radius-sm: 14px;
  --radius-md: 22px;
  --radius-lg: 34px;
  --shell: 1640px;
  --shadow: 0 24px 70px rgba(7, 30, 59, .12);
  --transition: 220ms ease;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Montserrat", Arial, sans-serif;
  color: var(--ink);
  background: var(--white);
  font-weight: 400;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body.is-locked { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
svg { display: block; }

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 999;
  background: var(--white);
  border: 2px solid var(--navy);
  padding: 10px 14px;
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

.shell {
  width: min(calc(100% - 72px), var(--shell));
  margin-inline: auto;
}

.announcement {
  background: var(--navy-2);
  color: var(--white);
  font-size: 12px;
  letter-spacing: .02em;
}
.announcement__inner {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.announcement p { margin: 0; }
.announcement a { color: var(--yellow); text-decoration: underline; text-underline-offset: 4px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(223,229,236,.9);
  backdrop-filter: blur(18px);
}
.header__inner {
  min-height: 82px;
  display: grid;
  grid-template-columns: 250px 1fr auto;
  align-items: center;
  gap: 32px;
}
.brand { width: 224px; }
.brand img { width: 100%; height: auto; }
.desktop-nav { display: flex; justify-content: center; gap: clamp(18px, 2.5vw, 42px); }
.desktop-nav a { font-size: 13px; font-weight: 500; position: relative; }
.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -9px;
  height: 1px;
  background: var(--navy);
  transition: right var(--transition);
}
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.icon-button, .cart-button, .menu-button {
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  display: grid;
  place-items: center;
  cursor: pointer;
  border-radius: 50%;
}
.icon-button:hover, .cart-button:hover { background: var(--soft); }
.icon-button svg, .cart-button svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cart-button { position: relative; }
.cart-button span {
  position: absolute;
  top: 0;
  right: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--yellow);
  color: var(--navy-2);
  font-size: 10px;
  font-weight: 600;
}
.language-switcher { display: flex; align-items: center; gap: 4px; font-size: 11px; color: var(--muted); }
.lang-button { padding: 7px 4px; border: 0; background: transparent; cursor: pointer; color: var(--muted); }
.lang-button.is-active { color: var(--navy); font-weight: 600; }
.menu-button { display: none; }
.menu-button span { width: 20px; height: 1px; background: currentColor; margin: 2px; }

.search-panel { position: absolute; inset: 100% 0 auto 0; background: var(--white); border-bottom: 1px solid var(--line); box-shadow: 0 18px 34px rgba(7,30,59,.08); }
.search-panel__inner { padding-block: 30px 40px; }
.search-panel label { display: block; font-size: 12px; color: var(--muted); margin-bottom: 10px; }
.search-field { display: grid; grid-template-columns: 1fr 46px; border-bottom: 1px solid var(--navy); }
.search-field input { border: 0; outline: 0; font-size: clamp(25px, 4vw, 48px); font-weight: 400; padding: 10px 0 18px; color: var(--navy); }
.search-field button { border: 0; background: transparent; font-size: 34px; cursor: pointer; }
.search-results { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; padding-top: 18px; }
.search-result { border: 1px solid var(--line); border-radius: 12px; padding: 14px; display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }

.mobile-menu { position: fixed; inset: 121px 0 0; z-index: 99; background: var(--white); padding: 32px; }
.mobile-menu nav { display: grid; }
.mobile-menu a { font-size: 28px; padding: 16px 0; border-bottom: 1px solid var(--line); }

.hero {
  min-height: calc(100vh - 120px);
  background:
    linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.85) 46%, rgba(244,246,248,.75) 100%),
    radial-gradient(circle at 78% 25%, rgba(243,181,27,.24), transparent 25%);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.hero__content {
  flex: 1;
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  align-items: center;
  gap: 70px;
  padding-block: clamp(70px, 8vw, 135px) clamp(45px, 7vw, 100px);
}
.eyebrow {
  margin: 0 0 18px;
  color: var(--navy);
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .17em;
}
.hero h1, .section h2 {
  margin: 0;
  color: var(--navy-2);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .98;
}
.hero h1 { font-size: clamp(58px, 7vw, 116px); max-width: 850px; }
.hero__lead { max-width: 660px; font-size: clamp(17px, 1.45vw, 23px); line-height: 1.55; color: #455365; margin: 30px 0 0; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
.button {
  min-height: 50px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: transform var(--transition), background var(--transition), color var(--transition), border-color var(--transition);
}
.button:hover { transform: translateY(-2px); }
.button--primary { background: var(--yellow); color: var(--navy-2); }
.button--primary:hover { background: #ffc52f; }
.button--ghost { border-color: var(--line); background: rgba(255,255,255,.55); }
.button--ghost:hover { border-color: var(--navy); }
.button--light { background: var(--white); color: var(--navy-2); }
.button--wide { width: 100%; }
.hero__proof { list-style: none; padding: 0; margin: 55px 0 0; display: flex; gap: clamp(26px, 4vw, 65px); }
.hero__proof li { display: grid; gap: 3px; }
.hero__proof span { color: var(--navy); font-size: 17px; font-weight: 500; }
.hero__proof small { color: var(--muted); font-size: 11px; max-width: 130px; }
.hero__visual { position: relative; min-height: 590px; display: grid; place-items: center; }
.sun-orbit { position: absolute; width: min(42vw, 650px); aspect-ratio: 1; border: 2px solid rgba(243,181,27,.38); border-radius: 50%; right: -8%; top: 2%; }
.sun-orbit::before { content: ""; position: absolute; inset: 12%; border-radius: 50%; background: var(--yellow); opacity: .92; }
.solar-house { position: relative; z-index: 2; width: min(39vw, 610px); transform: translateY(45px); }
.solar-house__roof {
  height: 250px;
  clip-path: polygon(12% 100%, 37% 12%, 96% 34%, 81% 100%);
  background: var(--navy);
  display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-template-rows: repeat(2,1fr);
  gap: 7px;
  padding: 28px 35px 24px 100px;
  filter: drop-shadow(0 28px 25px rgba(7,30,59,.22));
}
.solar-house__roof span { background: linear-gradient(150deg, #173e6d, #071e3b); border: 1px solid rgba(255,255,255,.22); }
.solar-house__wall { width: 58%; height: 190px; margin: -10px auto 0; background: #e9edf1; border-radius: 0 0 12px 12px; position: relative; box-shadow: 0 22px 30px rgba(7,30,59,.15); }
.solar-house__window { position: absolute; width: 78px; height: 62px; left: 44px; top: 35px; background: var(--navy); box-shadow: inset 37px 0 0 rgba(255,255,255,.7), inset 0 29px 0 rgba(255,255,255,.7); }
.solar-house__door { position: absolute; width: 76px; height: 114px; right: 46px; bottom: 0; background: var(--navy-2); }
.hero-card { position: absolute; z-index: 4; background: rgba(255,255,255,.88); border: 1px solid rgba(255,255,255,.85); box-shadow: var(--shadow); backdrop-filter: blur(14px); border-radius: 18px; padding: 18px 20px; display: grid; gap: 5px; }
.hero-card span { font-size: 11px; color: var(--muted); }
.hero-card strong { font-size: 26px; color: var(--navy); font-weight: 500; }
.hero-card small { font-size: 11px; color: #297d55; }
.hero-card--top { left: 4%; top: 19%; }
.hero-card--bottom { right: 0; bottom: 10%; min-width: 210px; }
.progress { height: 5px; border-radius: 5px; background: var(--line); overflow: hidden; margin-top: 6px; }
.progress i { display: block; height: 100%; background: var(--yellow); }
.hero__marquee { border-top: 1px solid var(--line); display: flex; justify-content: space-around; gap: 35px; padding: 20px 36px; color: #768293; font-size: 13px; white-space: nowrap; overflow: hidden; }

.section { padding-block: clamp(85px, 9vw, 150px); }
.section-heading { max-width: 1040px; margin-bottom: clamp(48px, 6vw, 86px); }
.section-heading h2 { font-size: clamp(42px, 5.3vw, 82px); }
.section-heading > p:not(.eyebrow), .section-heading--split > p { margin: 26px 0 0; color: var(--muted); max-width: 670px; font-size: 16px; }
.section-heading--split { max-width: none; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.55fr); gap: 60px; align-items: end; }
.section-heading--split > p { margin: 0 0 5px; }

.categories { background: var(--white); }
.category-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.category-card {
  position: relative;
  min-height: 380px;
  padding: clamp(28px, 3vw, 48px);
  border-radius: var(--radius-md);
  background: var(--soft);
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  transition: transform var(--transition), box-shadow var(--transition);
}
.category-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.category-card--large { grid-row: span 2; min-height: 778px; background: var(--navy-2); color: var(--white); }
.category-card span { display: block; font-size: 11px; color: var(--muted); margin-bottom: 22px; }
.category-card--large span { color: rgba(255,255,255,.55); }
.category-card h3 { font-size: clamp(27px, 3vw, 47px); font-weight: 500; line-height: 1.05; margin: 0; letter-spacing: -.035em; }
.category-card p { max-width: 390px; color: var(--muted); font-size: 13px; margin: 16px 0 0; }
.category-card--large p { color: rgba(255,255,255,.64); }
.category-card b { position: absolute; right: 34px; top: 30px; font-weight: 400; font-size: 24px; }
.category-art { position: absolute; right: 6%; bottom: 4%; }
.panel-art { width: 74%; aspect-ratio: 1.25; transform: skewY(-8deg) rotate(-4deg); display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
.panel-art i { background: linear-gradient(140deg, #224b77, #0b2b52); border: 1px solid rgba(255,255,255,.2); }
.inverter-art { width: 180px; height: 220px; border-radius: 22px; background: var(--white); box-shadow: 0 20px 45px rgba(7,30,59,.15); right: 11%; bottom: 12%; }
.inverter-art::before { content: ""; position: absolute; width: 88px; height: 88px; border: 1px solid var(--line); border-radius: 50%; inset: 35px auto auto 46px; }
.inverter-art::after { content: ""; position: absolute; width: 38px; height: 5px; background: var(--yellow); border-radius: 5px; bottom: 38px; left: 71px; }
.battery-art { width: 190px; height: 230px; right: 9%; bottom: 7%; display: flex; align-items: end; gap: 6px; }
.battery-art i { flex: 1; height: 87%; border-radius: 13px 13px 5px 5px; background: var(--navy); box-shadow: inset 0 -25px 0 #173e6d; }
.battery-art i:nth-child(2) { height: 100%; }
.charger-art { width: 145px; height: 210px; border-radius: 26px; background: var(--navy); right: 12%; bottom: 8%; box-shadow: var(--shadow); }
.charger-art::before { content: ""; position: absolute; width: 65px; height: 65px; border-radius: 50%; border: 10px solid var(--yellow); left: 30px; top: 36px; }
.charger-art::after { content: ""; position: absolute; width: 6px; height: 54px; background: var(--yellow); left: 69px; top: 80px; border-radius: 5px; }

.systems { background: var(--soft); }
.system-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; align-items: stretch; }
.system-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; display: flex; flex-direction: column; }
.system-card--featured { transform: translateY(-18px); box-shadow: var(--shadow); border-color: rgba(243,181,27,.45); }
.system-card__top { display: flex; justify-content: space-between; gap: 14px; padding: 24px 28px; font-size: 11px; border-bottom: 1px solid var(--line); }
.system-card__top span { color: var(--muted); }
.system-card__top strong { font-weight: 500; color: var(--navy); }
.system-card__visual { min-height: 260px; position: relative; background: linear-gradient(145deg, #edf1f4, #fff); overflow: hidden; }
.system-card__visual i { position: absolute; display: block; }
.system-card__visual--one i:nth-child(1), .system-card__visual--two i:nth-child(1), .system-card__visual--three i:nth-child(1) { width: 55%; height: 38%; background: var(--navy); left: 10%; top: 27%; transform: skewY(-8deg); box-shadow: inset 0 0 0 5px #173e6d; }
.system-card__visual--one i:nth-child(2), .system-card__visual--two i:nth-child(2), .system-card__visual--three i:nth-child(2) { width: 27%; height: 58%; background: var(--white); border: 1px solid var(--line); border-radius: 15px; right: 10%; bottom: 14%; box-shadow: 0 15px 30px rgba(7,30,59,.1); }
.system-card__visual--one i:nth-child(3), .system-card__visual--two i:nth-child(3), .system-card__visual--three i:nth-child(3) { width: 110px; height: 110px; border-radius: 50%; background: var(--yellow); right: 3%; top: -30px; opacity: .9; }
.system-card__visual--two i:nth-child(4) { width: 18%; height: 70%; border-radius: 12px; background: var(--navy-2); right: 39%; bottom: 8%; box-shadow: 8px 0 0 #173e6d; }
.system-card__content { display: flex; flex-direction: column; flex: 1; padding: 30px; }
.system-card h3 { margin: 0; font-size: 25px; font-weight: 500; letter-spacing: -.03em; color: var(--navy-2); }
.system-card p { color: var(--muted); font-size: 13px; }
.system-card ul { list-style: none; padding: 0; margin: 20px 0 34px; display: grid; gap: 9px; font-size: 12px; }
.system-card li { position: relative; padding-left: 18px; }
.system-card li::before { content: ""; position: absolute; left: 0; top: .65em; width: 6px; height: 6px; border-radius: 50%; background: var(--yellow); }
.system-card__footer { margin-top: auto; display: flex; justify-content: space-between; align-items: end; gap: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.system-card__footer span { font-size: 22px; font-weight: 500; color: var(--navy); display: grid; }
.system-card__footer small { color: var(--muted); font-weight: 400; font-size: 10px; }
.text-link { border: 0; background: transparent; padding: 0 0 3px; border-bottom: 1px solid currentColor; cursor: pointer; font-size: 12px; font-weight: 500; }

.calculator { background: var(--navy-2); color: var(--white); }
.calculator__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px, 9vw, 150px); align-items: center; }
.calculator .eyebrow { color: var(--yellow); }
.calculator h2 { color: var(--white); font-size: clamp(44px, 5.5vw, 80px); }
.calculator__intro > p:not(.eyebrow) { color: rgba(255,255,255,.66); max-width: 590px; }
.calculator__metric { margin-top: 60px; padding-top: 27px; border-top: 1px solid rgba(255,255,255,.16); display: grid; }
.calculator__metric span { font-size: 11px; color: rgba(255,255,255,.55); }
.calculator__metric strong { color: var(--yellow); font-size: clamp(45px, 5vw, 75px); font-weight: 500; letter-spacing: -.04em; }
.calculator__metric small { color: rgba(255,255,255,.66); }
.calculator__form { background: var(--white); color: var(--ink); border-radius: var(--radius-lg); padding: clamp(28px, 4vw, 55px); display: grid; gap: 38px; }
.range-field > div { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 15px; }
.range-field label, .calculator legend { font-size: 13px; font-weight: 500; }
.range-field output { color: var(--navy); font-weight: 500; }
.range-field input { width: 100%; accent-color: var(--yellow); }
.calculator fieldset { border: 0; padding: 0; margin: 0; }
.calculator legend { margin-bottom: 14px; }
.segmented { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.segmented input { position: absolute; opacity: 0; pointer-events: none; }
.segmented span { min-height: 46px; border: 1px solid var(--line); border-radius: 999px; display: grid; place-items: center; cursor: pointer; font-size: 12px; }
.segmented input:checked + span { background: var(--navy); color: var(--white); border-color: var(--navy); }

.products { background: var(--white); }
.products__heading { margin-bottom: 42px; }
.product-toolbar { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 25px; scrollbar-width: none; }
.product-toolbar::-webkit-scrollbar { display: none; }
.filter-chip { white-space: nowrap; min-height: 40px; padding: 0 17px; border-radius: 999px; border: 1px solid var(--line); background: var(--white); cursor: pointer; font-size: 11px; }
.filter-chip.is-active { background: var(--navy); border-color: var(--navy); color: var(--white); }
.product-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.product-card { border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; background: var(--white); display: flex; flex-direction: column; min-width: 0; transition: transform var(--transition), box-shadow var(--transition); }
.product-card:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(7,30,59,.09); }
.product-card__media { position: relative; min-height: 260px; background: linear-gradient(150deg, #f0f3f6, #fff); display: grid; place-items: center; overflow: hidden; }
.product-card__media::before, .modal__media::before { content: ""; width: 55%; aspect-ratio: 1.35; background: var(--navy); transform: skewY(-8deg); box-shadow: inset 0 0 0 4px #173e6d; }
.product-card[data-category="inverters"] .product-card__media::before, .modal__media[data-category="inverters"]::before { width: 34%; aspect-ratio: .76; border-radius: 18px; transform: none; background: var(--white); border: 1px solid var(--line); box-shadow: 0 20px 30px rgba(7,30,59,.12), inset 0 -30px 0 #eef1f4; }
.product-card[data-category="batteries"] .product-card__media::before, .modal__media[data-category="batteries"]::before { width: 28%; aspect-ratio: .55; border-radius: 14px; transform: none; background: var(--navy); box-shadow: 22px 0 0 #173e6d; }
.product-card[data-category="chargers"] .product-card__media::before, .modal__media[data-category="chargers"]::before { width: 34%; aspect-ratio: .68; border-radius: 23px; transform: none; background: var(--navy); box-shadow: inset 0 0 0 16px #173e6d; }
.product-card[data-category="kits"] .product-card__media::before, .modal__media[data-category="kits"]::before { width: 60%; aspect-ratio: 1.2; clip-path: polygon(8% 100%, 35% 15%, 98% 40%, 82% 100%); transform: none; }
.product-card[data-category="mounting"] .product-card__media::before, .product-card[data-category="offgrid"] .product-card__media::before, .product-card[data-category="accessories"] .product-card__media::before { width: 42%; aspect-ratio: 1; border-radius: 50%; transform: none; background: transparent; border: 18px solid var(--navy); box-shadow: none; }
.product-badge { position: absolute; top: 14px; left: 14px; background: var(--yellow); color: var(--navy-2); border-radius: 999px; padding: 6px 10px; font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.product-card__content { padding: 22px; display: flex; flex-direction: column; flex: 1; }
.product-card__brand { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.product-card h3 { margin: 8px 0 7px; font-size: 17px; line-height: 1.3; font-weight: 500; letter-spacing: -.025em; color: var(--navy-2); }
.product-card__subtitle { margin: 0; color: var(--muted); font-size: 11px; min-height: 34px; }
.product-card__specs { display: flex; flex-wrap: wrap; gap: 6px; margin: 16px 0 23px; }
.product-card__specs span { background: var(--soft); border-radius: 999px; padding: 6px 8px; font-size: 9px; }
.product-card__footer { margin-top: auto; display: flex; justify-content: space-between; align-items: end; gap: 10px; }
.product-price { display: grid; }
.product-price small { color: var(--muted); font-size: 9px; }
.product-price strong { font-weight: 500; color: var(--navy); font-size: 18px; }
.product-card__actions { display: flex; gap: 6px; }
.product-card__actions button { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: var(--white); cursor: pointer; display: grid; place-items: center; }
.product-card__actions button:hover { background: var(--navy); color: var(--white); border-color: var(--navy); }

.value-section { background: var(--soft); }
.value-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px, 10vw, 180px); }
.value-intro h2 { font-size: clamp(43px, 5vw, 75px); }
.value-list { display: grid; }
.value-list article { display: grid; grid-template-columns: 54px 1fr; gap: 25px; padding: 34px 0; border-top: 1px solid var(--line); }
.value-list article:last-child { border-bottom: 1px solid var(--line); }
.value-list > article > span { font-size: 11px; color: var(--yellow); }
.value-list h3 { margin: 0 0 9px; font-size: 22px; font-weight: 500; }
.value-list p { margin: 0; color: var(--muted); font-size: 13px; max-width: 650px; }

.process { background: var(--white); }
.process-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); }
.process-grid li { padding: 34px 32px 0 0; min-height: 260px; border-right: 1px solid var(--line); }
.process-grid li:not(:first-child) { padding-left: 32px; }
.process-grid li:last-child { border-right: 0; }
.process-grid span { font-size: 11px; color: var(--yellow); }
.process-grid h3 { margin: 42px 0 14px; font-weight: 500; font-size: 21px; }
.process-grid p { margin: 0; color: var(--muted); font-size: 12px; }

.business { padding-block: 0; }
.business__inner { background: var(--navy); color: var(--white); border-radius: var(--radius-lg); padding: clamp(45px, 7vw, 100px); display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: end; overflow: hidden; position: relative; }
.business__inner::after { content: ""; position: absolute; width: 520px; height: 520px; border: 1px solid rgba(243,181,27,.5); border-radius: 50%; right: -200px; top: -220px; }
.business .eyebrow { color: var(--yellow); }
.business h2 { color: var(--white); font-size: clamp(44px, 5.5vw, 79px); max-width: 900px; }
.business p:not(.eyebrow) { color: rgba(255,255,255,.66); max-width: 720px; margin: 25px 0 35px; }
.business__stats { position: relative; z-index: 1; display: grid; }
.business__stats article { display: flex; justify-content: space-between; align-items: end; gap: 30px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.2); }
.business__stats article:last-child { border-bottom: 1px solid rgba(255,255,255,.2); }
.business__stats strong { font-size: 24px; font-weight: 500; color: var(--yellow); }
.business__stats span { font-size: 11px; color: rgba(255,255,255,.6); text-align: right; }

.guides { background: var(--white); }
.guide-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.guide-card__media { aspect-ratio: 1.45; background: var(--soft); border-radius: var(--radius-sm); position: relative; overflow: hidden; }
.guide-card__media::before { content: ""; position: absolute; width: 70%; height: 45%; background: var(--navy); left: 15%; top: 30%; transform: skewY(-8deg); }
.guide-card__media--two::before { width: 28%; height: 70%; left: 36%; top: 15%; transform: none; border-radius: 17px; box-shadow: 30px 0 0 #173e6d; }
.guide-card__media--three::before { width: 32%; height: 65%; left: 34%; top: 18%; transform: none; border-radius: 22px; box-shadow: inset 0 0 0 14px #173e6d; }
.guide-card__media::after { content: ""; position: absolute; width: 110px; height: 110px; border-radius: 50%; background: var(--yellow); top: -40px; right: -20px; }
.guide-card > span { display: block; margin-top: 18px; color: var(--muted); font-size: 10px; }
.guide-card h3 { margin: 9px 0 18px; font-size: 21px; font-weight: 500; line-height: 1.35; }
.guide-card a { font-size: 11px; border-bottom: 1px solid currentColor; }

.faq { background: var(--soft); }
.faq__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(60px, 10vw, 160px); }
.faq h2 { font-size: clamp(43px, 5vw, 72px); }
.faq__grid > div:first-child > p:not(.eyebrow) { color: var(--muted); max-width: 520px; }
.accordion details { border-top: 1px solid var(--line); padding: 24px 0; }
.accordion details:last-child { border-bottom: 1px solid var(--line); }
.accordion summary { cursor: pointer; list-style: none; font-size: 17px; font-weight: 500; display: flex; justify-content: space-between; gap: 20px; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary::after { content: "+"; font-size: 22px; font-weight: 400; }
.accordion details[open] summary::after { content: "−"; }
.accordion p { color: var(--muted); font-size: 13px; max-width: 760px; margin: 18px 40px 0 0; }

.quote { background: var(--white); }
.quote__inner { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(60px, 10vw, 160px); }
.quote h2 { font-size: clamp(44px, 5vw, 76px); }
.quote__inner > div > p:not(.eyebrow) { color: var(--muted); }
.quote-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-content: start; }
.quote-form label { display: grid; gap: 8px; }
.quote-form label span { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .12em; }
.quote-form input, .quote-form select { width: 100%; min-height: 52px; border: 0; border-bottom: 1px solid var(--line); background: transparent; outline: 0; }
.quote-form input:focus, .quote-form select:focus { border-color: var(--navy); }
.quote-form .button { margin-top: 16px; grid-column: 1 / -1; }
.form-success { display: none; grid-column: 1/-1; color: #297d55; font-size: 12px; }
.quote-form.is-sent .form-success { display: block; }

.site-footer { background: var(--navy-2); color: var(--white); padding-top: 85px; }
.footer__top { display: grid; grid-template-columns: 1.6fr repeat(3,1fr); gap: 70px; padding-bottom: 70px; }
.footer__brand img { width: 250px; filter: brightness(0) invert(1); }
.footer__brand p { color: rgba(255,255,255,.55); max-width: 430px; font-size: 12px; }
.footer__top h3 { font-size: 11px; font-weight: 500; color: var(--yellow); margin: 0 0 20px; text-transform: uppercase; letter-spacing: .12em; }
.footer__top > div:not(.footer__brand) { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer__top a, .footer__top span { color: rgba(255,255,255,.66); font-size: 11px; }
.footer__top a:hover { color: var(--white); }
.footer__bottom { min-height: 70px; border-top: 1px solid rgba(255,255,255,.13); display: flex; align-items: center; justify-content: space-between; gap: 30px; color: rgba(255,255,255,.45); font-size: 10px; }
.footer__bottom div { display: flex; gap: 25px; }

.drawer, .modal { position: fixed; inset: 0; z-index: 300; pointer-events: none; opacity: 0; transition: opacity var(--transition); }
.drawer.is-open, .modal.is-open { pointer-events: auto; opacity: 1; }
.drawer__backdrop, .modal__backdrop { position: absolute; inset: 0; background: rgba(7,30,59,.55); backdrop-filter: blur(4px); }
.drawer__panel { position: absolute; top: 0; right: 0; width: min(470px, 100%); height: 100%; background: var(--white); display: flex; flex-direction: column; transform: translateX(100%); transition: transform 300ms ease; }
.drawer.is-open .drawer__panel { transform: translateX(0); }
.drawer__header { padding: 27px 28px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; }
.drawer__header .eyebrow { margin-bottom: 4px; }
.drawer__header h2 { margin: 0; font-weight: 500; font-size: 30px; }
.drawer__header button, .modal__close { border: 0; background: transparent; font-size: 31px; cursor: pointer; }
.drawer__items { padding: 22px 28px; overflow: auto; flex: 1; }
.empty-message { color: var(--muted); font-size: 13px; }
.cart-item { display: grid; grid-template-columns: 68px 1fr auto; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.cart-item__thumb { background: var(--soft); border-radius: 10px; }
.cart-item h3 { font-size: 13px; margin: 0 0 5px; font-weight: 500; }
.cart-item small { color: var(--muted); }
.cart-item button { border: 0; background: transparent; cursor: pointer; color: var(--muted); }
.drawer__footer { border-top: 1px solid var(--line); padding: 22px 28px 30px; display: grid; gap: 16px; }
.drawer__footer > div { display: flex; justify-content: space-between; }
.drawer__footer strong { font-weight: 500; }
.drawer__footer small { color: var(--muted); font-size: 10px; }

.modal { display: grid; place-items: center; padding: 24px; }
.modal__panel { position: relative; width: min(1050px, 100%); max-height: min(760px, calc(100vh - 48px)); overflow: auto; background: var(--white); border-radius: var(--radius-md); display: grid; grid-template-columns: 1fr 1fr; transform: translateY(25px); transition: transform var(--transition); }
.modal.is-open .modal__panel { transform: translateY(0); }
.modal__close { position: absolute; top: 15px; right: 18px; z-index: 2; }
.modal__media { min-height: 600px; background: linear-gradient(145deg, #eef2f5, #fff); display: grid; place-items: center; }
.modal__content { padding: clamp(38px, 6vw, 75px); display: flex; flex-direction: column; justify-content: center; }
.modal__content h2 { font-size: clamp(31px, 4vw, 54px); line-height: 1.05; margin: 0; color: var(--navy-2); font-weight: 500; letter-spacing: -.035em; }
.modal__content > p:not(.eyebrow) { color: var(--muted); }
.modal__specs { display: flex; flex-wrap: wrap; gap: 7px; margin: 22px 0 30px; }
.modal__specs span { background: var(--soft); border-radius: 999px; padding: 8px 12px; font-size: 10px; }
.modal__price { display: grid; border-top: 1px solid var(--line); padding-top: 22px; }
.modal__price span { font-size: 10px; color: var(--muted); }
.modal__price strong { font-size: 31px; font-weight: 500; color: var(--navy); }
.modal__actions { display: flex; gap: 10px; margin-top: 25px; }
.modal__content > small { margin-top: 20px; color: var(--muted); font-size: 9px; }

:focus-visible { outline: 3px solid rgba(243,181,27,.55); outline-offset: 3px; }

@media (max-width: 1250px) {
  .shell { width: min(calc(100% - 48px), 1180px); }
  .header__inner { grid-template-columns: 210px 1fr auto; gap: 22px; }
  .brand { width: 198px; }
  .desktop-nav { gap: 20px; }
  .hero__content { grid-template-columns: 1fr 1fr; gap: 25px; }
  .hero__visual { min-height: 500px; }
  .system-card__content { padding: 24px; }
  .product-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 980px) {
  .desktop-nav { display: none; }
  .header__inner { grid-template-columns: 1fr auto; }
  .menu-button { display: grid; }
  .hero { min-height: auto; }
  .hero__content { grid-template-columns: 1fr; padding-top: 80px; }
  .hero__copy { max-width: 800px; }
  .hero__visual { min-height: 560px; }
  .solar-house { width: min(70vw, 600px); }
  .sun-orbit { width: min(72vw, 640px); right: 5%; }
  .section-heading--split, .calculator__grid, .value-grid, .faq__grid, .quote__inner, .business__inner { grid-template-columns: 1fr; }
  .category-grid { grid-template-columns: 1fr 1fr; }
  .category-card--large { grid-column: 1 / -1; grid-row: auto; min-height: 570px; }
  .system-grid { grid-template-columns: 1fr; }
  .system-card--featured { transform: none; }
  .system-card { display: grid; grid-template-columns: .8fr 1.2fr; }
  .system-card__top { grid-column: 1 / -1; }
  .product-grid { grid-template-columns: repeat(2,1fr); }
  .process-grid { grid-template-columns: 1fr 1fr; }
  .process-grid li:nth-child(2) { border-right: 0; }
  .process-grid li:nth-child(n+3) { border-top: 1px solid var(--line); }
  .guide-grid { grid-template-columns: 1fr 1fr; }
  .guide-card:last-child { grid-column: 1 / -1; }
  .footer__top { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer__top > div:last-child { grid-column: 2; }
}

@media (max-width: 680px) {
  .shell { width: calc(100% - 30px); }
  .announcement__inner { justify-content: center; min-height: 34px; }
  .announcement p { display: none; }
  .header__inner { min-height: 72px; }
  .brand { width: 170px; }
  .language-switcher { display: none; }
  .hero__content { padding-top: 60px; }
  .hero h1 { font-size: clamp(50px, 15vw, 70px); }
  .hero__lead { font-size: 16px; }
  .hero__actions { flex-direction: column; }
  .hero__actions .button { width: 100%; }
  .hero__proof { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
  .hero__proof span { font-size: 13px; }
  .hero__proof small { font-size: 9px; }
  .hero__visual { min-height: 390px; }
  .solar-house { width: 94vw; transform: scale(.82) translateY(30px); }
  .solar-house__roof { height: 180px; }
  .solar-house__wall { height: 135px; }
  .solar-house__window { transform: scale(.75); transform-origin: top left; }
  .solar-house__door { height: 82px; width: 55px; }
  .hero-card--top { left: 0; top: 10%; }
  .hero-card--bottom { right: 0; bottom: 0; min-width: 170px; }
  .hero__marquee { justify-content: flex-start; overflow: hidden; }
  .section { padding-block: 76px; }
  .section-heading { margin-bottom: 42px; }
  .section-heading h2, .calculator h2, .business h2, .faq h2, .quote h2, .value-intro h2 { font-size: 42px; }
  .section-heading--split { gap: 22px; }
  .category-grid { grid-template-columns: 1fr; }
  .category-card, .category-card--large { min-height: 390px; grid-column: auto; }
  .category-card--large { min-height: 470px; }
  .panel-art { width: 86%; }
  .system-card { display: flex; }
  .system-card__visual { min-height: 220px; }
  .calculator__form { padding: 25px 18px; border-radius: 22px; }
  .segmented { grid-template-columns: 1fr; }
  .product-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: -15px; padding-right: 15px; }
  .product-card { min-width: 84vw; scroll-snap-align: start; }
  .product-card__media { min-height: 250px; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid li { border-right: 0; border-top: 1px solid var(--line); padding: 28px 0; min-height: auto; }
  .process-grid li:not(:first-child) { padding-left: 0; }
  .process-grid h3 { margin-top: 26px; }
  .business__inner { border-radius: 20px; gap: 45px; }
  .business__stats article { align-items: start; }
  .guide-grid { grid-template-columns: 1fr; }
  .guide-card:last-child { grid-column: auto; }
  .quote-form { grid-template-columns: 1fr; }
  .footer__top { grid-template-columns: 1fr 1fr; gap: 45px 25px; }
  .footer__brand { grid-column: 1 / -1; }
  .footer__top > div:last-child { grid-column: auto; }
  .footer__bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 20px; }
  .footer__bottom div { flex-wrap: wrap; }
  .modal { padding: 0; }
  .modal__panel { grid-template-columns: 1fr; max-height: 100vh; border-radius: 0; }
  .modal__media { min-height: 300px; }
  .modal__content { padding: 34px 22px; }
  .modal__actions { flex-direction: column; }
  .search-results { grid-template-columns: 1fr; }
  .search-field input { font-size: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

/* Demo product photography */
.product-card__media::before,
.modal__media::before { display: none !important; }
.product-card__media img {
  width: 88%;
  height: 230px;
  object-fit: contain;
  object-position: center;
  transition: transform .45s cubic-bezier(.2,.7,.2,1);
}
.product-card__media:hover img { transform: scale(1.035); }
.product-card__media--cover img {
  width: 100%;
  height: 260px;
  object-fit: cover;
}
.modal__media img {
  width: min(82%, 720px);
  max-height: 540px;
  object-fit: contain;
}
.modal__media--cover img {
  width: 100%;
  height: 600px;
  max-height: none;
  object-fit: cover;
}
@media (max-width: 720px) {
  .product-card__media img { height: 220px; }
  .product-card__media--cover img { height: 250px; }
  .modal__media img { max-height: 280px; }
  .modal__media--cover img { height: 300px; }
}

/* WordPress / WooCommerce integration */
.admin-bar .site-header{top:32px}.admin-bar .mobile-menu{top:153px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.current-menu-item>a,.current_page_item>a{color:var(--navy)}
.woocommerce-breadcrumb{font-size:12px;color:var(--muted);margin:0 0 28px}
.woocommerce-breadcrumb a{color:var(--navy)}
.shop-hero{padding:72px 0 54px;background:var(--soft);border-bottom:1px solid var(--line)}
.shop-hero h1{margin:0;color:var(--navy-2);font-weight:500;letter-spacing:-.045em;font-size:clamp(44px,6vw,82px);line-height:1}
.shop-layout{padding:54px 0 110px}.shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.woocommerce-result-count{margin:0;color:var(--muted);font-size:13px}.woocommerce-ordering select{border:1px solid var(--line);border-radius:999px;padding:12px 40px 12px 18px;background:#fff;color:var(--ink)}
ul.products{list-style:none;padding:0;margin:0;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;border:1px solid var(--line);border-radius:var(--radius-md);padding:12px;background:#fff;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);overflow:hidden}.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:contain;background:var(--soft);border-radius:16px;margin:0 0 18px!important;padding:20px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px!important;font-weight:500!important;color:var(--navy-2);line-height:1.35;padding:0 8px!important;margin:0 0 10px!important}.woocommerce ul.products li.product .price{color:var(--navy)!important;font-size:15px!important;font-weight:500!important;padding:0 8px}.woocommerce ul.products li.product .button{margin:14px 8px 8px!important;width:calc(100% - 16px);background:var(--yellow)!important;color:var(--navy-2)!important;border-radius:999px!important;font-weight:500!important;text-align:center}.onsale{min-height:auto!important;min-width:auto!important;line-height:1!important;border-radius:999px!important;padding:8px 11px!important;background:var(--yellow)!important;color:var(--navy-2)!important;font-size:10px!important;font-weight:600!important;top:22px!important;left:22px!important;right:auto!important}
.single-product-shell{padding:54px 0 110px}.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:clamp(40px,6vw,95px)}.woocommerce div.product .woocommerce-product-gallery{width:auto!important;float:none!important}.woocommerce div.product .summary{width:auto!important;float:none!important;margin:0!important}.woocommerce div.product .product_title{font-size:clamp(36px,4.5vw,66px);font-weight:500;letter-spacing:-.045em;line-height:1.04;color:var(--navy-2);margin:0 0 20px}.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:26px;color:var(--navy);font-weight:500}.woocommerce-product-details__short-description{font-size:16px;color:#455365;line-height:1.75}.woocommerce div.product form.cart{display:flex;gap:12px;margin:30px 0!important}.quantity .qty{height:50px;width:74px;border:1px solid var(--line);border-radius:999px;padding:0 12px}.single_add_to_cart_button{background:var(--yellow)!important;color:var(--navy-2)!important;border-radius:999px!important;min-height:50px;padding:0 26px!important;font-weight:500!important}.product_meta{display:grid;gap:8px;font-size:12px;color:var(--muted);padding-top:24px;border-top:1px solid var(--line)}.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:40px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 30px!important;border-bottom:1px solid var(--line)}.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none!important}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;background:none!important;margin:0 28px 0 0!important;padding:0!important}.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-weight:500!important;padding:15px 0!important}.woocommerce div.product .woocommerce-tabs .panel{max-width:950px;color:#455365;line-height:1.8}.related.products{grid-column:1/-1;margin-top:60px}.related.products>h2{font-weight:500;font-size:clamp(32px,4vw,52px);letter-spacing:-.035em;color:var(--navy-2)}
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-account .woocommerce{width:min(calc(100% - 72px),var(--shell));margin:0 auto;padding:70px 0 120px}.woocommerce table.shop_table{border:1px solid var(--line)!important;border-radius:18px!important;overflow:hidden}.woocommerce table.shop_table th{font-weight:500}.woocommerce a.remove{color:var(--navy)!important}.woocommerce a.remove:hover{background:var(--yellow)!important;color:var(--navy-2)!important}.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce-checkout #payment #place_order{background:var(--yellow)!important;color:var(--navy-2)!important;border-radius:999px!important;font-weight:500!important}.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top-color:var(--yellow)!important;background:var(--soft)!important}.woocommerce-info::before,.woocommerce-message::before{color:var(--navy)!important}
.notice-cookie{position:fixed;left:22px;bottom:22px;z-index:120;background:var(--navy-2);color:#fff;padding:18px 20px;border-radius:18px;max-width:390px;box-shadow:var(--shadow);display:flex;gap:18px;align-items:center;font-size:12px}.notice-cookie button{border:0;border-radius:999px;background:var(--yellow);padding:9px 14px;cursor:pointer}
@media(max-width:1100px){ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.woocommerce div.product{grid-template-columns:1fr 1fr}}
@media(max-width:782px){.admin-bar .site-header{top:46px}.admin-bar .mobile-menu{top:167px}}
@media(max-width:760px){ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.woocommerce div.product{grid-template-columns:1fr}.woocommerce div.product .woocommerce-tabs,.related.products{grid-column:auto}.shop-layout{padding-top:32px}.shop-toolbar{align-items:flex-start;flex-direction:column}.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-account .woocommerce{width:calc(100% - 32px);padding-top:42px}.notice-cookie{left:16px;right:16px;bottom:16px;max-width:none}}
@media(max-width:480px){ul.products{grid-template-columns:1fr 1fr}.woocommerce ul.products li.product{padding:8px}.woocommerce ul.products li.product a img{padding:10px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13px!important}.woocommerce ul.products li.product .button{font-size:11px;padding:0 10px;min-height:42px}}

/* PowerNest v1.1 functional additions */
.product-card__actions a { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: var(--white); cursor: pointer; display: grid; place-items: center; padding: 0; min-height: 0; }
.product-card__actions a:hover { background: var(--navy); color: var(--white); border-color: var(--navy); }
.product-card[hidden] { display: none !important; }
.powernest-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.quote-form__wide { grid-column: 1 / -1; }
.quote-form textarea { width: 100%; border: 0; border-bottom: 1px solid rgba(255,255,255,.35); background: transparent; color: inherit; resize: vertical; padding: 10px 0; outline: 0; }
.form-success.is-visible, .form-error { display: block; grid-column: 1 / -1; margin: 0; }
.form-error { color: #ffd0d0; }
.contact-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 42px 0; }
.contact-details article { border: 1px solid var(--line); border-radius: 18px; padding: 24px; display: grid; gap: 8px; }
.contact-details small { color: var(--muted); text-transform: uppercase; font-size: 10px; letter-spacing: .12em; }
.contact-details a, .contact-details span { font-size: 18px; color: var(--navy); }
.drawer .woocommerce-mini-cart { list-style: none; padding: 0; margin: 0; }
.drawer .woocommerce-mini-cart-item { position: relative; padding: 14px 32px 14px 0; border-bottom: 1px solid var(--line); min-height: 82px; }
.drawer .woocommerce-mini-cart-item img { width: 56px; height: 56px; object-fit: contain; float: left; margin-right: 12px; background: var(--soft); border-radius: 10px; }
.drawer .woocommerce-mini-cart-item .remove { position: absolute; right: 0; top: 14px; }
.drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding: 20px 0; }
.drawer .woocommerce-mini-cart__buttons { display: none; }
.entry-content { max-width: 980px; font-size: 16px; line-height: 1.8; }
.entry-content h2, .entry-content h3 { color: var(--navy-2); font-weight: 500; letter-spacing: -.025em; }
.entry-content details { border-top: 1px solid var(--line); padding: 20px 0; }
.entry-content summary { cursor: pointer; font-weight: 500; }
@media(max-width:760px){.contact-details{grid-template-columns:1fr}.quote-form__wide{grid-column:auto}}
.product-card__media { border: 0; padding: 0; width: 100%; color: inherit; cursor: pointer; }
.modal__actions a[hidden] { display: none; }
.calculator--embedded { border-radius: var(--radius-lg); margin: 42px 0; padding: clamp(28px,5vw,64px); }

/* v1.2 audit additions */
.footer__socials{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:8px}.footer__socials a{font-size:12px;text-decoration:underline;text-underline-offset:3px}.contact-details__secondary{display:block;margin-top:8px;font-size:13px;color:var(--muted)}.journal-hero p{max-width:700px}.guide-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.guide-archive-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff}.guide-archive-card__media{display:block;min-height:280px;overflow:hidden}.guide-archive-card__media img{width:100%;height:100%;min-height:280px;object-fit:cover}.guide-archive-card__content{padding:28px}.guide-archive-card__content h2{font-size:clamp(22px,2vw,30px);font-weight:500;line-height:1.15}.guide-archive-card__content h2 a{text-decoration:none}.guide-archive-card__content p:not(.eyebrow){color:var(--muted)}@media(max-width:980px){.guide-archive-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.guide-archive-grid{grid-template-columns:1fr}.guide-archive-card__media,.guide-archive-card__media img{min-height:220px}}

/* PowerNest v1.4 legal and consent UI */
.footer__payment-note{display:inline-flex;margin-top:12px;padding:7px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:11px;color:rgba(255,255,255,.78)}
.footer__cookie-button{appearance:none;border:0;background:none;padding:0;color:inherit;font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.is-consent-open{overflow:hidden}
.pn-cookie{position:fixed;z-index:9998;left:22px;right:22px;bottom:22px;margin:auto;width:min(1160px,calc(100% - 44px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center;padding:26px 28px;border-radius:24px;background:var(--navy-2);color:#fff;box-shadow:0 24px 70px rgba(0,20,45,.34)}
.pn-cookie[hidden],.pn-consent-modal[hidden]{display:none!important}.pn-cookie h2{margin:2px 0 8px;font-size:clamp(22px,2.2vw,32px);font-weight:500}.pn-cookie p{margin:0;max-width:690px;color:rgba(255,255,255,.78);line-height:1.65}.pn-cookie a{color:#fff;text-decoration:underline;text-underline-offset:3px}.pn-cookie__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;max-width:460px}.pn-cookie__manage{appearance:none;border:0;background:none;color:#fff;padding:8px 3px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;font:inherit;font-size:12px}.button--light{color:#fff!important;border-color:rgba(255,255,255,.3)!important}.pn-consent-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}.pn-consent-modal__backdrop{position:absolute;inset:0;background:rgba(3,19,38,.66);backdrop-filter:blur(5px)}.pn-consent-modal__panel{position:relative;width:min(650px,100%);max-height:min(820px,calc(100vh - 40px));overflow:auto;background:#fff;border-radius:28px;padding:clamp(26px,5vw,46px);box-shadow:0 30px 90px rgba(0,20,45,.35)}.pn-consent-modal__panel h2{margin:6px 0 14px;font-size:clamp(30px,4vw,48px);font-weight:500;letter-spacing:-.04em;color:var(--navy-2)}.pn-consent-modal__panel>p:not(.eyebrow){color:var(--muted);line-height:1.7}.pn-consent-modal__close{position:absolute;right:20px;top:18px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:24px}.pn-consent-list{display:grid;margin:28px 0;border-top:1px solid var(--line)}.pn-consent-item{display:flex;justify-content:space-between;align-items:center;gap:26px;padding:20px 0;border-bottom:1px solid var(--line);cursor:pointer}.pn-consent-item span:first-child{display:grid;gap:5px}.pn-consent-item strong{font-size:15px;font-weight:500;color:var(--navy-2)}.pn-consent-item small{color:var(--muted);line-height:1.55}.pn-consent-item input{appearance:none;width:48px;height:28px;flex:0 0 48px;border-radius:999px;background:#dce2e8;position:relative;cursor:pointer;transition:.2s}.pn-consent-item input::after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.16);transition:.2s}.pn-consent-item input:checked{background:var(--navy)}.pn-consent-item input:checked::after{transform:translateX(20px)}.pn-consent-status{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap}.pn-consent-modal__actions{display:flex;gap:12px;flex-wrap:wrap}.pn-consent-modal__policy{display:inline-block;margin-top:18px;color:var(--navy);font-size:13px;text-decoration:underline;text-underline-offset:4px}.legal-company-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:26px 0;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--soft)}.legal-company-card div{display:grid;gap:3px}.legal-company-card small{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.legal-company-card strong,.legal-company-card a{font-weight:500;color:var(--navy-2)}.legal-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:14px;border:1px solid var(--line)}.legal-table th{background:var(--soft);font-weight:500}.legal-note{padding:18px 20px;border-left:3px solid var(--yellow);background:var(--soft);border-radius:0 14px 14px 0}.withdrawal-form{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}.withdrawal-form p{margin:8px 0}
@media(max-width:760px){.pn-cookie{left:12px;right:12px;bottom:12px;width:auto;grid-template-columns:1fr;gap:20px;padding:22px}.pn-cookie__actions{justify-content:flex-start;max-width:none}.pn-cookie__actions .button{flex:1 1 180px}.pn-consent-modal{padding:10px}.pn-consent-modal__panel{max-height:calc(100vh - 20px);border-radius:22px}.pn-consent-item{align-items:flex-start}.legal-company-card{grid-template-columns:1fr}.legal-table{display:block;overflow-x:auto}}

/* PowerNest WooCommerce layout v1.6 */
.desktop-nav > ul,
.mobile-menu nav > ul,
.site-footer ul {
  list-style: none !important;
  margin: 0;
  padding: 0;
}
.desktop-nav > ul { display: flex; justify-content: center; gap: clamp(18px, 2.5vw, 42px); }
.desktop-nav li,
.mobile-menu li,
.site-footer li { list-style: none !important; margin: 0; padding: 0; }
.desktop-nav li::marker,
.mobile-menu li::marker,
.site-footer li::marker { content: ""; }
.desktop-nav li::before,
.mobile-menu li::before,
.site-footer li::before { content: none !important; display: none !important; }
.mobile-menu nav > ul { display: grid; }
.site-footer ul { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }

.pn-shop-page .shop-hero { padding: clamp(64px, 7vw, 104px) 0 clamp(50px, 5vw, 76px); }
.pn-shop-page .shop-hero .term-description { max-width: 760px; margin-top: 22px; color: var(--muted); font-size: 16px; line-height: 1.75; }
.pn-shop-page .shop-layout { padding: 46px 0 120px; }
.pn-shop-categories { display: flex; gap: 8px; overflow-x: auto; padding: 0 0 28px; margin-bottom: 10px; scrollbar-width: none; }
.pn-shop-categories::-webkit-scrollbar { display: none; }
.pn-shop-categories .filter-chip { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; }
.pn-shop-page .shop-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 32px; padding-top: 22px; border-top: 1px solid var(--line); }
.pn-shop-page .shop-toolbar:empty { display: none; }
.pn-shop-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.pn-shop-page .product-card__subtitle,
.pn-product__related .product-card__subtitle { font-size: 12px; line-height: 1.55; }
.pn-shop-page .product-card__specs span,
.pn-product__related .product-card__specs span { font-size: 10px; }
.woocommerce .pn-shop-grid::before,
.woocommerce .pn-shop-grid::after { display: none; }
.woocommerce-pagination { margin-top: 48px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; padding: 0; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--navy); color: #fff; border-color: var(--navy); }

.pn-product-page { padding: 24px 0 120px; overflow: hidden; }
.pn-product { display: block !important; }
.pn-product__breadcrumb { min-height: 40px; display: flex; align-items: center; margin-bottom: 22px; }
.pn-product__breadcrumb .woocommerce-breadcrumb { margin: 0; }
.pn-product__main { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(400px, .92fr); gap: clamp(52px, 7vw, 110px); align-items: start; }
.pn-product__gallery { min-width: 0; position: sticky; top: 132px; }
.pn-product__summary { min-width: 0; padding-top: clamp(12px, 2vw, 34px); }
.pn-product__summary > .eyebrow { margin-bottom: 16px; }
.pn-product__gallery .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; }
.pn-product__gallery .woocommerce-product-gallery__wrapper { margin: 0 !important; }
.pn-product__gallery .woocommerce-product-gallery__image { background: #f2f5f7; border-radius: 28px; overflow: hidden; }
.pn-product__gallery .woocommerce-product-gallery__image a { display: block; }
.pn-product__gallery .woocommerce-product-gallery__image img { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: contain; padding: clamp(24px, 4vw, 64px); margin: 0 !important; }
.pn-product__gallery .woocommerce-product-gallery__trigger { top: 18px !important; right: 18px !important; border-radius: 50% !important; background: #fff !important; }
.pn-product__gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 12px 0 0 !important; padding: 0 !important; }
.pn-product__gallery .flex-control-thumbs li { width: auto !important; float: none !important; list-style: none !important; }
.pn-product__gallery .flex-control-thumbs img { border-radius: 12px; border: 1px solid var(--line); padding: 6px; background: #fff; }
.pn-product__summary .product_title { font-size: clamp(42px, 3.6vw, 64px) !important; line-height: 1.02 !important; letter-spacing: -.045em !important; max-width: 700px; margin: 0 0 24px !important; }
.pn-product__summary p.price,
.pn-product__summary span.price { font-size: clamp(27px, 2vw, 36px) !important; margin: 0 0 28px !important; }
.pn-product__summary .woocommerce-product-details__short-description { font-size: 17px; line-height: 1.75; max-width: 650px; margin-bottom: 28px; color: #455365; }
.pn-product__summary form.cart { display: flex !important; align-items: center; gap: 14px; margin: 30px 0 34px !important; }
.pn-product__summary .quantity .qty { height: 54px; width: 76px; font-size: 16px; }
.pn-product__summary .single_add_to_cart_button { min-height: 54px !important; padding: 0 31px !important; font-size: 15px !important; }
.pn-product__summary .product_meta { font-size: 13px; line-height: 1.8; padding-top: 27px; }
.pn-product__highlights { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.pn-product__highlights span { padding: 9px 13px; border-radius: 999px; background: var(--soft); font-size: 12px; color: var(--navy); }
.pn-product__details { margin-top: clamp(72px, 8vw, 120px); }
.pn-product__details .woocommerce-tabs { display: block !important; margin: 0 !important; padding: clamp(30px, 4vw, 58px); border-radius: 28px; background: var(--soft); }
.pn-product__details .woocommerce-tabs ul.tabs { display: flex; gap: 34px; margin: 0 0 38px !important; padding: 0 !important; border-bottom: 1px solid var(--line); }
.pn-product__details .woocommerce-tabs ul.tabs::before { display: none !important; }
.pn-product__details .woocommerce-tabs ul.tabs li { list-style: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.pn-product__details .woocommerce-tabs ul.tabs li::before,
.pn-product__details .woocommerce-tabs ul.tabs li::after { display: none !important; }
.pn-product__details .woocommerce-tabs ul.tabs li a { font-size: 15px; padding: 16px 0 !important; font-weight: 500 !important; }
.pn-product__details .woocommerce-tabs ul.tabs li.active a { color: var(--navy-2); box-shadow: inset 0 -2px 0 var(--yellow); }
.pn-product__details .woocommerce-tabs .panel { max-width: 980px; font-size: 15px; line-height: 1.85; color: #455365; margin: 0 !important; }
.pn-product__details .woocommerce-tabs .panel h2 { font-size: clamp(30px, 3vw, 44px); font-weight: 500; letter-spacing: -.035em; color: var(--navy-2); }
.pn-product__details .woocommerce-tabs .panel h3 { font-size: 21px; font-weight: 500; color: var(--navy-2); margin-top: 32px; }
.pn-product__details .woocommerce-tabs .panel ul { padding-left: 18px; }
.pn-product__details .woocommerce-tabs .panel li { margin: 7px 0; }
.pn-product__related { margin-top: clamp(82px, 9vw, 136px); }
.pn-section-heading { margin-bottom: 40px; }
.pn-section-heading h2 { margin: 0; font-size: clamp(40px, 4.4vw, 66px); line-height: 1; font-weight: 500; letter-spacing: -.045em; color: var(--navy-2); }
.pn-related-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }

.woocommerce-notices-wrapper:empty { display: none !important; }
.single-product .woocommerce-message { display: none !important; }
.pn-toast { position: fixed; left: 50%; bottom: 28px; z-index: 99999; display: flex; align-items: center; gap: 10px; transform: translate(-50%, 24px); opacity: 0; pointer-events: none; background: var(--navy-2); color: #fff; border-radius: 999px; padding: 13px 20px; box-shadow: 0 18px 50px rgba(7,30,59,.24); transition: opacity .18s ease, transform .18s ease; font-size: 14px; }
.pn-toast span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--yellow); color: var(--navy-2); font-weight: 700; }
.pn-toast strong { font-weight: 500; }
.pn-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

.site-footer { font-size: 15px; }
.site-footer p,
.site-footer a,
.site-footer span,
.site-footer button { font-size: 14px !important; line-height: 1.7; }
.site-footer h3 { font-size: 12px !important; letter-spacing: .13em; }
.footer__brand p { font-size: 15px !important; line-height: 1.75; max-width: 460px; }
.footer__payment-note { display: inline-flex; align-items: center; min-height: 38px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; }
.footer__bottom span,
.footer__bottom a,
.footer__bottom button { font-size: 13px !important; }

@media (max-width: 1100px) {
  .pn-shop-grid,
  .pn-related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pn-product__main { grid-template-columns: minmax(0, 1fr) minmax(350px, .9fr); gap: 44px; }
  .pn-product__gallery { position: static; }
}
@media (max-width: 980px) {
  .desktop-nav > ul { display: none; }
}
@media (max-width: 780px) {
  .pn-shop-grid,
  .pn-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .pn-product-page { padding-top: 14px; }
  .pn-product__breadcrumb { margin-bottom: 12px; }
  .pn-product__main { grid-template-columns: 1fr; gap: 34px; }
  .pn-product__summary { padding-top: 0; }
  .pn-product__summary .product_title { font-size: clamp(38px, 11vw, 54px) !important; }
  .pn-product__details { margin-top: 64px; }
  .pn-product__details .woocommerce-tabs { padding: 25px 20px; border-radius: 22px; }
  .pn-product__details .woocommerce-tabs ul.tabs { gap: 22px; overflow-x: auto; }
  .pn-toast { bottom: 18px; max-width: calc(100vw - 32px); white-space: nowrap; }
  .site-footer p,
  .site-footer a,
  .site-footer span,
  .site-footer button { font-size: 13px !important; }
  .footer__brand p { font-size: 14px !important; }
}
@media (max-width: 520px) {
  .pn-shop-grid,
  .pn-related-grid { grid-template-columns: 1fr; }
  .pn-product__summary form.cart { align-items: stretch; flex-wrap: wrap; }
  .pn-product__summary .single_add_to_cart_button { flex: 1; }
  .pn-product__gallery .woocommerce-product-gallery__image img { padding: 24px; }
}

/* PowerNest v1.7 — live WooCommerce category, cart drawer and checkout refinements */

/* Keep translated menus complete and structurally clean. */
.desktop-nav > .menu,
.mobile-menu .menu,
.site-footer .menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.desktop-nav > .menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(22px, 2.7vw, 46px);
}
.desktop-nav > .menu > li,
.mobile-menu .menu > li,
.site-footer .menu > li {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Category and shop archive: use the same large, airy system as the homepage. */
.pn-shop-page {
  overflow: clip;
  background: var(--white);
}
.pn-shop-page > .pn-shop-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(72px, 7.5vw, 122px) 0 clamp(64px, 6vw, 96px);
  background:
    radial-gradient(circle at 88% 20%, rgba(243,181,27,.23), transparent 24%),
    linear-gradient(135deg, #f7f9fb 0%, #eef2f5 100%);
  border-bottom: 1px solid var(--line);
}
.pn-shop-page > .pn-shop-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: clamp(-130px, -7vw, -60px);
  top: clamp(-190px, -10vw, -90px);
  width: clamp(360px, 35vw, 620px);
  aspect-ratio: 1;
  border: 2px solid rgba(243,181,27,.42);
  border-radius: 50%;
}
.pn-shop-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  align-items: end;
  gap: clamp(46px, 8vw, 130px);
}
.pn-shop-hero__copy {
  min-width: 0;
}
.pn-shop-page .pn-shop-hero h1 {
  max-width: 1050px;
  margin: 0;
  color: var(--navy-2);
  font-size: clamp(52px, 6.5vw, 104px);
  font-weight: 500;
  line-height: .96;
  letter-spacing: -.052em;
  overflow-wrap: anywhere;
}
.pn-shop-page .pn-shop-hero .term-description {
  max-width: 760px;
  margin-top: 28px;
  color: #536174;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.75;
}
.pn-shop-page .pn-shop-hero .term-description p {
  margin: 0;
}
.pn-shop-hero__benefits {
  display: grid;
  gap: 0;
  align-self: stretch;
  padding: 10px 0;
  border-top: 1px solid rgba(11,43,82,.18);
  border-bottom: 1px solid rgba(11,43,82,.18);
}
.pn-shop-hero__benefits span {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 500;
}
.pn-shop-hero__benefits span + span {
  border-top: 1px solid rgba(11,43,82,.12);
}
.pn-shop-hero__benefits span::before {
  content: "✓";
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  border-radius: 50%;
  background: var(--yellow);
  color: var(--navy-2);
  font-size: 11px;
  font-weight: 600;
}
.pn-shop-page > .shop-layout {
  padding: clamp(42px, 5vw, 76px) 0 clamp(90px, 9vw, 150px);
}
.pn-shop-page > .shop-layout > .shell,
.pn-shop-page > .pn-shop-hero > .shell {
  width: min(calc(100% - 72px), var(--shell)) !important;
  max-width: var(--shell) !important;
  margin-inline: auto !important;
}
.pn-shop-categories {
  display: flex;
  gap: 9px;
  max-width: 100%;
  overflow-x: auto;
  margin: 0 0 34px;
  padding: 0 0 4px;
  scrollbar-width: none;
}
.pn-shop-categories .filter-chip {
  min-height: 46px;
  flex: 0 0 auto;
  padding: 0 19px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--navy);
  font-size: 12px;
  font-weight: 500;
  transition: background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition);
}
.pn-shop-categories .filter-chip:hover {
  transform: translateY(-2px);
  border-color: var(--navy);
}
.pn-shop-categories .filter-chip.is-active {
  border-color: var(--navy-2);
  background: var(--navy-2);
  color: var(--white);
}
.pn-shop-page .shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 70px;
  margin: 0 0 34px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.pn-shop-page .woocommerce-result-count {
  margin: 0 !important;
  color: var(--muted);
  font-size: 13px;
}
.pn-shop-page .woocommerce-ordering {
  margin: 0 !important;
}
.pn-shop-page .woocommerce-ordering select {
  min-width: 230px;
  min-height: 48px;
  padding: 0 48px 0 18px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background-color: var(--white);
  color: var(--ink);
  font-size: 13px;
  outline: none;
}
.pn-shop-page .woocommerce-ordering select:focus {
  border-color: var(--navy);
  box-shadow: 0 0 0 3px rgba(11,43,82,.08);
}
.pn-shop-grid,
.pn-related-grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pn-shop-grid .product-card,
.pn-related-grid .product-card {
  min-width: 0 !important;
  width: 100% !important;
  border-radius: 22px;
  border-color: #dce3ea;
}
.pn-shop-grid .product-card__media,
.pn-related-grid .product-card__media {
  min-height: 285px;
  margin: 10px 10px 0;
  width: calc(100% - 20px);
  border-radius: 17px;
  background: linear-gradient(145deg, #f0f3f6 0%, #f8fafb 100%);
}
.pn-shop-grid .product-card__media img,
.pn-related-grid .product-card__media img {
  width: 88%;
  height: 255px;
  padding: 10px;
  object-fit: contain;
}
.pn-shop-grid .product-card__content,
.pn-related-grid .product-card__content {
  padding: 21px 22px 22px;
}
.pn-shop-grid .product-card h3,
.pn-related-grid .product-card h3 {
  font-size: 17px;
}
.pn-shop-grid .product-card__subtitle,
.pn-related-grid .product-card__subtitle {
  min-height: 39px;
  font-size: 12px;
  line-height: 1.6;
}
.pn-shop-grid .product-card__footer,
.pn-related-grid .product-card__footer {
  padding-top: 4px;
}

/* Cart drawer: roomy product rows and a real PowerNest checkout action. */
.drawer__backdrop {
  background: rgba(7,30,59,.42);
  backdrop-filter: blur(6px);
}
.drawer__panel {
  width: min(570px, 100vw);
  border-radius: 30px 0 0 30px;
  box-shadow: -24px 0 70px rgba(7,30,59,.18);
  overflow: hidden;
}
.drawer__header {
  min-height: 116px;
  padding: 28px 34px 25px;
}
.drawer__header h2 {
  font-size: clamp(34px, 3vw, 46px);
  letter-spacing: -.04em;
  line-height: 1;
}
.drawer__header > button {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 50%;
  font-size: 25px;
  line-height: 1;
}
.powernest-mini-cart {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
}
.powernest-mini-cart > .drawer__items {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 8px 34px 26px;
}
.pn-mini-cart-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pn-mini-cart-item {
  position: relative;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) 34px;
  gap: 18px;
  align-items: center;
  min-height: 136px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
  list-style: none;
}
.pn-mini-cart-item__media {
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  overflow: hidden;
  border-radius: 18px;
  background: var(--soft);
}
.pn-mini-cart-item__media img {
  width: 82px !important;
  height: 82px !important;
  margin: 0 !important;
  padding: 8px;
  object-fit: contain;
}
.pn-mini-cart-item__content {
  min-width: 0;
}
.pn-mini-cart-item__title {
  display: block;
  margin-bottom: 10px;
  color: var(--navy-2);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}
.pn-mini-cart-item__content dl.variation {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 8px;
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 11px;
}
.pn-mini-cart-item__content dl.variation dt,
.pn-mini-cart-item__content dl.variation dd,
.pn-mini-cart-item__content dl.variation p {
  margin: 0;
}
.pn-mini-cart-item__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 12px;
}
.pn-mini-cart-item__meta strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}
.pn-mini-cart-item__remove {
  display: grid !important;
  place-items: center;
  width: 32px !important;
  height: 32px !important;
  border: 1px solid var(--line);
  border-radius: 50% !important;
  background: var(--white) !important;
  color: var(--navy) !important;
  font-size: 20px !important;
  line-height: 1 !important;
}
.pn-mini-cart-item__remove:hover {
  border-color: var(--navy);
  background: var(--navy) !important;
  color: var(--white) !important;
}
.powernest-mini-cart > .drawer__footer {
  gap: 12px;
  padding: 24px 34px 30px;
  background: #f7f9fb;
  border-top: 1px solid var(--line);
}
.pn-mini-cart-subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 4px;
  color: var(--navy-2);
  font-size: 14px;
}
.pn-mini-cart-subtotal strong {
  font-size: 19px;
  font-weight: 500;
}
.drawer .button--primary {
  min-height: 58px;
  border: 1px solid var(--yellow) !important;
  background: var(--yellow) !important;
  color: var(--navy-2) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
.drawer .button--primary:hover {
  border-color: #ffc52f !important;
  background: #ffc52f !important;
}
.pn-mini-cart-cart-link {
  align-self: center;
  padding: 4px 0;
  color: var(--navy);
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.powernest-mini-cart > .drawer__footer small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
  text-align: center;
}
.pn-mini-cart-empty {
  display: grid;
  place-items: center;
  min-height: 100%;
  padding: 60px 20px;
  text-align: center;
}
.pn-mini-cart-empty > span {
  display: grid;
  place-items: center;
  width: 78px;
  height: 78px;
  margin-bottom: 22px;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--yellow);
  font-size: 56px;
  line-height: 1;
}
.pn-mini-cart-empty h3 {
  margin: 0 0 10px;
  color: var(--navy-2);
  font-size: 24px;
  font-weight: 500;
}
.pn-mini-cart-empty p {
  max-width: 340px;
  margin: 0 0 24px;
  color: var(--muted);
  font-size: 13px;
}

/* Checkout: two-column PowerNest cards, clear hierarchy, and branded Stripe-ready payment block. */
body.woocommerce-checkout .section {
  padding: clamp(62px, 7vw, 104px) 0 clamp(90px, 9vw, 150px);
  background: linear-gradient(180deg, #f7f9fb 0%, #fff 45%);
}
body.woocommerce-checkout .section > .shell {
  width: min(calc(100% - 72px), 1500px);
  max-width: 1500px;
}
body.woocommerce-checkout article > .eyebrow {
  margin-bottom: 16px;
}
body.woocommerce-checkout article > h1 {
  max-width: 900px;
  margin: 0 0 52px;
  color: var(--navy-2);
  font-size: clamp(52px, 6vw, 90px);
  font-weight: 500;
  line-height: .96;
  letter-spacing: -.052em;
}
body.woocommerce-checkout .entry-content {
  max-width: none;
  font-size: inherit;
  line-height: inherit;
}
body.woocommerce-checkout .woocommerce {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-login-toggle {
  margin-bottom: 16px;
}
body.woocommerce-checkout .woocommerce-info {
  margin: 0 0 16px;
  padding: 18px 22px 18px 58px !important;
  border: 1px solid var(--line) !important;
  border-top: 1px solid var(--line) !important;
  border-radius: 18px;
  background: var(--white) !important;
  color: var(--ink);
}
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout form.login {
  margin: 0 0 24px !important;
  padding: 24px !important;
  border: 1px solid var(--line) !important;
  border-radius: 22px;
  background: var(--white);
}
.pn-checkout-form {
  margin-top: 28px;
}
.pn-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 480px);
  gap: 30px;
  align-items: start;
}
.pn-checkout-customer,
.pn-checkout-order {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: var(--white);
  box-shadow: 0 24px 70px rgba(7,30,59,.06);
}
.pn-checkout-customer {
  padding: clamp(28px, 4vw, 48px);
}
.pn-checkout-order {
  position: sticky;
  top: 132px;
  padding: 34px 30px 30px;
}
.pn-checkout-customer > h2,
.pn-checkout-order > h2 {
  margin: 0 0 30px;
  color: var(--navy-2);
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.04em;
}
.pn-checkout-customer__fields,
.pn-checkout-customer__fields .col-1,
.pn-checkout-customer__fields .col-2 {
  float: none !important;
  width: 100% !important;
}
.pn-checkout-customer__fields .col-2 {
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout #ship-to-different-address {
  margin: 0 0 24px;
  color: var(--navy-2);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -.025em;
}
body.woocommerce-checkout .form-row {
  margin: 0 0 18px !important;
  padding: 0 !important;
}
body.woocommerce-checkout .form-row label {
  display: block;
  margin: 0 0 7px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
}
body.woocommerce-checkout .form-row .required {
  color: #b16b00;
}
body.woocommerce-checkout .input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100%;
  min-height: 54px;
  border: 1px solid var(--line) !important;
  border-radius: 15px !important;
  background: #fbfcfd !important;
  color: var(--ink);
  font-size: 14px;
  box-shadow: none !important;
}
body.woocommerce-checkout .input-text {
  padding: 0 16px;
}
body.woocommerce-checkout textarea.input-text {
  min-height: 130px;
  padding: 14px 16px;
  resize: vertical;
}
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 12px 42px 12px 16px;
  line-height: 28px;
}
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  top: 13px;
  right: 12px;
}
body.woocommerce-checkout .input-text:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout .select2-container--open .select2-selection--single {
  border-color: var(--navy) !important;
  background: var(--white) !important;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(11,43,82,.07) !important;
}
body.woocommerce-checkout #order_review {
  width: 100%;
}
body.woocommerce-checkout #order_review table.shop_table {
  margin: 0 0 22px !important;
  border: 0 !important;
  border-collapse: collapse !important;
  border-radius: 0 !important;
}
body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
  padding: 15px 0 !important;
  border-top: 1px solid var(--line) !important;
  color: var(--ink);
  font-size: 13px;
}
body.woocommerce-checkout #order_review table.shop_table thead th {
  padding-top: 0 !important;
  border-top: 0 !important;
  color: var(--muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.woocommerce-checkout #order_review table.shop_table th:last-child,
body.woocommerce-checkout #order_review table.shop_table td:last-child {
  text-align: right;
}
body.woocommerce-checkout #order_review .order-total th,
body.woocommerce-checkout #order_review .order-total td {
  padding-top: 20px !important;
  color: var(--navy-2);
  font-size: 17px;
}
body.woocommerce-checkout #payment {
  border-radius: 22px !important;
  background: #f4f6f8 !important;
}
body.woocommerce-checkout #payment ul.payment_methods {
  padding: 20px !important;
  border-bottom: 1px solid var(--line) !important;
}
body.woocommerce-checkout #payment ul.payment_methods li {
  margin: 0 0 12px;
  color: var(--navy-2);
  font-size: 13px;
  font-weight: 500;
}
body.woocommerce-checkout #payment div.payment_box {
  margin: 12px 0 0 !important;
  border-radius: 14px;
  background: var(--white) !important;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
body.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--white) !important;
}
body.woocommerce-checkout #payment .place-order {
  padding: 20px !important;
}
body.woocommerce-checkout #payment #place_order {
  width: 100%;
  min-height: 58px;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--yellow) !important;
  color: var(--navy-2) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
body.woocommerce-checkout #payment #place_order:hover {
  background: #ffc52f !important;
}
body.woocommerce-checkout .woocommerce-privacy-policy-text {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
}

/* Cart page follows the same card language. */
body.woocommerce-cart .section {
  background: linear-gradient(180deg, #f7f9fb 0%, #fff 45%);
}
body.woocommerce-cart .entry-content {
  max-width: none;
}
body.woocommerce-cart .woocommerce {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.woocommerce-cart table.shop_table {
  overflow: hidden;
  border: 1px solid var(--line) !important;
  border-radius: 24px !important;
  background: var(--white);
}
body.woocommerce-cart .cart-collaterals .cart_totals {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--white);
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px !important;
  background: var(--yellow) !important;
  color: var(--navy-2) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

@media (max-width: 1250px) {
  .pn-shop-page > .shop-layout > .shell,
  .pn-shop-page > .pn-shop-hero > .shell,
  body.woocommerce-checkout .section > .shell {
    width: min(calc(100% - 48px), 1180px) !important;
  }
  .pn-shop-grid,
  .pn-related-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .pn-checkout-grid {
    grid-template-columns: minmax(0, 1fr) minmax(350px, 420px);
  }
}

@media (max-width: 980px) {
  .desktop-nav > .menu {
    display: none;
  }
  .pn-shop-hero__grid,
  .pn-checkout-grid {
    grid-template-columns: 1fr;
  }
  .pn-shop-hero__benefits {
    max-width: 620px;
  }
  .pn-checkout-order {
    position: static;
  }
}

@media (max-width: 780px) {
  .pn-shop-page > .shop-layout > .shell,
  .pn-shop-page > .pn-shop-hero > .shell,
  body.woocommerce-checkout .section > .shell {
    width: calc(100% - 32px) !important;
  }
  .pn-shop-page > .pn-shop-hero {
    padding: 58px 0 54px;
  }
  .pn-shop-page .pn-shop-hero h1 {
    font-size: clamp(44px, 13vw, 68px);
  }
  .pn-shop-hero__benefits {
    display: none;
  }
  .pn-shop-page .shop-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .pn-shop-page .woocommerce-ordering,
  .pn-shop-page .woocommerce-ordering select {
    width: 100%;
  }
  .pn-shop-grid,
  .pn-related-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .pn-shop-grid .product-card,
  .pn-related-grid .product-card {
    min-width: 0 !important;
  }
  .pn-shop-grid .product-card__media,
  .pn-related-grid .product-card__media {
    min-height: 210px;
    margin: 7px 7px 0;
    width: calc(100% - 14px);
  }
  .pn-shop-grid .product-card__media img,
  .pn-related-grid .product-card__media img {
    height: 190px;
  }
  .pn-shop-grid .product-card__content,
  .pn-related-grid .product-card__content {
    padding: 16px;
  }
  .drawer__panel {
    width: min(520px, 100vw);
    border-radius: 24px 0 0 24px;
  }
  .powernest-mini-cart > .drawer__items {
    padding-inline: 22px;
  }
  .powernest-mini-cart > .drawer__footer {
    padding: 22px;
  }
  .pn-mini-cart-item {
    grid-template-columns: 78px minmax(0, 1fr) 30px;
    gap: 13px;
  }
  .pn-mini-cart-item__media {
    width: 78px;
    height: 78px;
  }
  .pn-mini-cart-item__media img {
    width: 70px !important;
    height: 70px !important;
  }
  body.woocommerce-checkout article > h1 {
    margin-bottom: 38px;
    font-size: clamp(44px, 12vw, 68px);
  }
  .pn-checkout-customer,
  .pn-checkout-order {
    padding: 26px 20px;
    border-radius: 22px;
  }
}

@media (max-width: 520px) {
  .drawer__panel {
    width: 100vw;
    border-radius: 0;
  }
  .drawer__header {
    min-height: 100px;
    padding: 22px 18px;
  }
  .powernest-mini-cart > .drawer__items {
    padding: 4px 18px 18px;
  }
  .powernest-mini-cart > .drawer__footer {
    padding: 18px;
  }
  .pn-mini-cart-item {
    grid-template-columns: 68px minmax(0, 1fr) 28px;
    gap: 11px;
    min-height: 116px;
    padding: 18px 0;
  }
  .pn-mini-cart-item__media {
    width: 68px;
    height: 68px;
    border-radius: 14px;
  }
  .pn-mini-cart-item__media img {
    width: 62px !important;
    height: 62px !important;
  }
  .pn-mini-cart-item__title {
    font-size: 13px;
  }
  .pn-mini-cart-item__meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
  .pn-shop-grid,
  .pn-related-grid {
    grid-template-columns: 1fr !important;
  }
  .pn-shop-grid .product-card__media,
  .pn-related-grid .product-card__media {
    min-height: 270px;
  }
  .pn-shop-grid .product-card__media img,
  .pn-related-grid .product-card__media img {
    height: 245px;
  }
}
