/* Nuzzelo Storefront (decor 2026-11). Built by decor/build.py: the dog
 * illustration placeholder below is filled from the brand redesign CSS. */

:root {
  --nz-teal: #1A7F76;
  --nz-teal-dark: #12645D;
  --nz-peach: #F2995E;
  --nz-biscuit: #F4D2B5;
  --nz-oat: #F4ECE2;
  --nz-cream: #FBF6F0;
  --nz-mint: #DCEFEB;
  --nz-ink: #1E2B33;
  --nz-muted: #5B6B73;
  --nz-line: rgba(30, 43, 51, 0.1);
}

/* ---------------------------------------------------------------- cards */

html .woocommerce ul.products {
  --theme-button-border-radius: 999px;
  gap: 24px;
}

html .woocommerce ul.products li.product {
  background: #fff;
  border: 1px solid var(--nz-line) !important;
  border-radius: 20px !important;
  padding: 10px 10px 16px !important;
  box-shadow: none !important;
  transition: box-shadow 200ms ease, transform 200ms ease;
  text-align: left !important;
  display: flex;
  flex-direction: column;
  align-items: stretch !important;
  --horizontal-alignment: flex-start;
  --text-horizontal-alignment: left;
}

html .woocommerce ul.products li.product:hover {
  box-shadow: 0 10px 28px rgba(20, 54, 58, 0.10) !important;
  transform: translateY(-2px);
}

html .woocommerce ul.products li.product figure {
  aspect-ratio: 1 / 1 !important;
  border-radius: 14px !important;
  background: var(--nz-oat) !important;
  margin-bottom: 14px !important;
  position: relative;
}

html .woocommerce ul.products li.product figure .ct-media-container,
html .woocommerce ul.products li.product figure .woocommerce-loop-product__link {
  padding: 0 !important;
  background: var(--nz-oat) !important;
}

html .woocommerce ul.products li.product figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  background: var(--nz-oat) !important;
}

/* Blocksy swap: second image fades in on hover (desktop only). */
@media (hover: none) {
  html .woocommerce ul.products li.product figure img.ct-swap { display: none !important; }
}

html .woocommerce ul.products li.product .entry-meta {
  display: block !important;
  order: -1;
  margin: 0 6px 4px !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
html .woocommerce ul.products li.product .entry-meta a { color: var(--nz-teal) !important; }

html .woocommerce ul.products li.product figure { order: -2; }

html .woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin: 0 6px 6px !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
}

html .woocommerce ul.products li.product .price {
  margin: 0 6px !important;
  font-weight: 800;
  font-size: 16px !important;
  color: var(--nz-ink) !important;
}
html .woocommerce ul.products li.product .price del { color: var(--nz-muted) !important; font-weight: 600; font-size: 14px; opacity: 1; }
html .woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--nz-teal) !important; }

.nz-cdots { display: flex; align-items: center; gap: 5px; margin: 8px 6px 0; }
.nz-cdot { width: 14px; height: 14px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15); }
.nz-cdots-more { font-size: 12px; color: var(--nz-muted); font-weight: 700; }

html .woocommerce ul.products li.product .ct-woo-card-actions {
  margin: auto 6px 0 !important;
  padding-top: 14px;
}
html .woocommerce ul.products li.product .ct-woo-card-actions .button,
body html .woocommerce ul.products li.product .button {
  border-radius: 999px !important;
  min-height: 42px;
  width: 100%;
  font-weight: 800;
}

/* Badges */
.woocommerce span.onsale.nz-badge,
html .woocommerce ul.products li.product .nz-badge {
  position: absolute;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  z-index: 3;
  min-height: 0 !important;
  min-width: 0 !important;
  height: auto !important;
  width: auto !important;
  line-height: 1 !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: none !important;
  letter-spacing: 0;
}
.nz-badge--save { background: var(--nz-peach) !important; color: #fff !important; }
.nz-badge--new { background: var(--nz-teal) !important; color: #fff !important; }

/* ---------------------------------------------------------------- shop */

.woocommerce-result-count { display: none !important; }

.nz-chips {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 2px 2px 6px;
  margin-bottom: 28px;
  scrollbar-width: none;
  flex: 1 1 100%;
}
.nz-chips::-webkit-scrollbar { display: none; }
.nz-chip {
  flex: 0 0 auto;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid var(--nz-line);
  background: #fff;
  color: var(--nz-ink);
  font-weight: 800;
  font-size: 14px;
  text-decoration: none;
}
.nz-chip:hover { border-color: var(--nz-teal); color: var(--nz-teal); }
.nz-chip.is-active { background: var(--nz-teal); border-color: var(--nz-teal); color: #fff; }

.woo-listing-top { flex-wrap: wrap; }

.nz-kits-row {
  background: var(--nz-mint);
  border-radius: 24px;
  padding: 28px 24px 24px;
  margin-bottom: 40px;
}
.nz-kits-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; margin-bottom: 18px; }
.nz-kits-head h2, .nz-singles-title { margin: 0; font-size: 26px; }
.nz-kits-head p { margin: 0; color: var(--nz-muted); }
.nz-kits-row .woocommerce { margin: 0; }
.nz-singles-title { margin: 0 0 20px; }

.nz-cat-guide {
  margin: 56px 0 0;
  padding: 28px;
  border-radius: 24px;
  background: var(--nz-cream);
  border: 1px solid var(--nz-line);
}
.nz-cat-intro { font-size: 17px; max-width: 760px; }
.nz-cat-link a { color: var(--nz-teal); font-weight: 800; }

/* Shorter dark title banner on shop / category pages. */
.woocommerce-shop .hero-section[data-type="type-2"],
.tax-product_cat .hero-section[data-type="type-2"] {
  --container-padding: 44px;
  min-height: 0 !important;
}
.woocommerce-shop .hero-section[data-type="type-2"] .entry-header,
.tax-product_cat .hero-section[data-type="type-2"] .entry-header {
  min-height: 0 !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

/* ---------------------------------------------------------------- FAQ, tables */

.nz-faq details {
  border-bottom: 1px solid var(--nz-line);
  padding: 14px 0;
}
.nz-faq summary {
  cursor: pointer;
  font-weight: 800;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
.nz-faq summary::-webkit-details-marker { display: none; }
.nz-faq summary::after { content: "+"; color: var(--nz-teal); font-size: 20px; line-height: 1; }
.nz-faq details[open] summary::after { content: "–"; }
.nz-faq details p { margin: 10px 0 0; color: var(--nz-muted); }

.nz-table { width: 100%; border-collapse: collapse; margin: 12px 0 20px; font-size: 15px; }
.nz-table th, .nz-table td { padding: 11px 12px; border-bottom: 1px solid var(--nz-line); text-align: left; vertical-align: top; }
.nz-table thead th { background: var(--nz-oat); font-size: 13px; text-transform: uppercase; letter-spacing: 0.04em; }
.nz-specs th { width: 34%; color: var(--nz-muted); font-weight: 700; }

/* ---------------------------------------------------------------- product summary */

.nz-highlights { list-style: none; margin: 14px 0 0; padding: 0; }
.nz-highlights li { position: relative; padding-left: 28px; margin: 6px 0; font-weight: 600; }
.nz-highlights li::before {
  content: "";
  position: absolute; left: 0; top: 3px;
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--nz-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 7' fill='none' stroke='%231A7F76' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
}

.nz-hidden-select { position: absolute !important; opacity: 0 !important; pointer-events: none; width: 1px !important; height: 1px !important; }
.nz-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
html .nz-swatches .nz-swatch {
  min-width: 48px; min-height: 44px; height: auto; padding: 0 14px !important;
  border-radius: 12px !important; border: 1.5px solid var(--nz-line) !important;
  background: #fff !important; color: var(--nz-ink) !important; font-weight: 800; font-size: 15px;
  cursor: pointer; box-shadow: none !important; line-height: 1; text-transform: none;
}
html .nz-swatches.is-color .nz-swatch { min-width: 44px; width: 44px; padding: 0 !important; border-radius: 50% !important; display: grid; place-items: center; }
.nz-swatch__chip { width: 30px; height: 30px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15); }
html .nz-swatches .nz-swatch:hover { border-color: var(--nz-teal) !important; }
html .nz-swatches .nz-swatch.is-selected { border-color: var(--nz-teal) !important; box-shadow: 0 0 0 2px var(--nz-teal) !important; }
html .nz-swatches .nz-swatch:disabled { opacity: 0.35; cursor: not-allowed; text-decoration: line-through; }
.nz-single-value { font-weight: 800; }
.variations .reset_variations { display: none !important; }

html .nz-size-link {
  background: none !important; border: 0 !important; padding: 0 !important; margin: 4px 0 14px; min-height: 0 !important; height: auto;
  color: var(--nz-teal) !important; font-weight: 800; font-size: 15px; text-decoration: underline; cursor: pointer; box-shadow: none !important;
}
.nz-dialog {
  border: 0; border-radius: 20px; padding: 28px; max-width: 640px; width: calc(100% - 32px);
  box-shadow: 0 30px 80px rgba(20, 54, 58, 0.3);
}
.nz-dialog::backdrop { background: rgba(20, 54, 58, 0.45); }
.nz-dialog h2 { margin-top: 0; }
.nz-dialog-close { position: absolute; top: 12px; right: 14px; background: none; border: 0; font-size: 28px; cursor: pointer; color: var(--nz-ink); }

.nz-delivery {
  display: flex; gap: 12px; align-items: flex-start;
  margin: 20px 0 12px; padding: 14px 16px;
  border-radius: 16px; background: var(--nz-mint);
}
.nz-delivery svg { width: 26px; height: 26px; color: var(--nz-teal); flex: 0 0 auto; }
.nz-delivery strong { display: block; }
.nz-delivery span { font-size: 14px; color: var(--nz-muted); }

.nz-promises { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.nz-promises li { flex: 1 1 150px; padding: 10px 12px; border: 1px solid var(--nz-line); border-radius: 14px; font-size: 13px; line-height: 1.35; }
.nz-promises b { display: block; font-size: 14px; }
.nz-promises span { color: var(--nz-muted); }

.nz-kit-promo {
  display: flex; align-items: center; gap: 14px;
  padding: 10px 14px 10px 10px; border-radius: 16px;
  background: var(--nz-oat); color: var(--nz-ink); text-decoration: none; font-size: 14px;
}
.nz-kit-promo b { display: block; font-size: 15px; }
.nz-kit-promo__img img { width: 64px; height: 64px; border-radius: 12px; display: block; object-fit: cover; }
.nz-kit-promo__go { margin-left: auto; font-size: 20px; color: var(--nz-teal); }
.nz-kit-promo:hover { box-shadow: inset 0 0 0 2px var(--nz-peach); }

/* old confidence panel is replaced */
.nuzzelo-product-confidence { display: none !important; }

/* ---------------------------------------------------------------- sections instead of tabs */

.single-product .woocommerce-tabs .tabs { display: none !important; }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  display: block !important;
  max-width: 860px;
  margin: 0 auto !important;
  padding: 36px 0 !important;
  border-top: 1px solid var(--nz-line);
}
.single-product .woocommerce-tabs .woocommerce-Tabs-panel:first-of-type { border-top: 0; }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child { font-size: 26px; margin-top: 0; }
.nz-ship-list { padding-left: 18px; }
.nz-ship-list li { margin: 6px 0; }

.nz-sticky-buy {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 99;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  background: #fff; box-shadow: 0 -8px 24px rgba(20, 54, 58, 0.12);
}
.nz-sticky-buy[hidden] { display: none; }
.nz-sticky-buy b { display: block; font-size: 14px; line-height: 1.2; }
.nz-sticky-buy span { font-size: 14px; font-weight: 800; color: var(--nz-teal); }
.nz-sticky-buy .button { border-radius: 999px !important; white-space: nowrap; }
@media (min-width: 1000px) { .nz-sticky-buy { display: none !important; } }

/* ---------------------------------------------------------------- cart, checkout, thank you */

.nz-freeship { max-width: 1290px; margin: 0 auto 24px; padding: 14px 18px; border-radius: 16px; background: var(--nz-mint); }
.nz-freeship[hidden] { display: none; }
.nz-freeship__text { margin: 0 0 8px; }
.nz-freeship__bar { height: 8px; border-radius: 8px; background: rgba(26, 127, 118, 0.18); overflow: hidden; }
.nz-freeship__bar span { display: block; height: 100%; width: 0; background: var(--nz-teal); border-radius: 8px; transition: width 300ms ease; }
.nz-freeship.is-done .nz-freeship__bar span { background: var(--nz-peach); }

.nz-checkout-notes {
  list-style: none; display: flex; flex-wrap: wrap; gap: 8px 20px;
  margin: 0 auto 24px; padding: 12px 18px; border-radius: 16px;
  background: var(--nz-mint); font-size: 14px; font-weight: 700; max-width: 1290px;
}
.nz-checkout-notes li::before { content: "✓ "; color: var(--nz-teal); }

.nz-thanks { margin: 32px 0; padding: 24px; border-radius: 20px; background: var(--nz-mint); }
.nz-thanks h2 { margin-top: 0; }
.nz-thanks ol { padding-left: 20px; }

.wc-block-cart__empty-cart__title.with-empty-cart-icon::before { display: none !important; }

/* ---------------------------------------------------------------- empty cart & 404 */

.nz-empty, .nz-404 { text-align: center; }
.nz-404 { padding-top: 48px; padding-bottom: 64px; }
.nz-404 h1 { margin: 12px 0 8px; }
.nz-empty__dog {
  width: 120px; height: 120px; margin: 0 auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22%3E%3Cg transform=%22rotate(-6 50 56)%22%3E    %3Cpath d=%22M50 25C69 25 81 37 81 55C81 73 67 83 50 83C33 83 19 73 19 55C19 37 31 25 50 25Z%22 fill=%22%23fff%22/%3E    %3Cpath d=%22M57 41C66 38 74 43 74 51C74 58 68 61 62 60C55 59 51 54 52 48C52.5 44.5 54 42 57 41Z%22 fill=%22%23F4D2B5%22/%3E    %3Cpath d=%22M31 31C20 21 6 27 6.5 44C7 56 14 62 21 57C26 53 27 44 31 31Z%22 fill=%22%23F4D2B5%22/%3E%3Cpath d=%22M69 31C80 21 94 27 93.5 44C93 56 86 62 79 57C74 53 73 44 69 31Z%22 fill=%22%23F4D2B5%22/%3E    %3Cg transform=%22translate(0 0)%22%3E    %3Cellipse cx=%2229%22 cy=%2264%22 rx=%225.5%22 ry=%223.4%22 fill=%22%23F7A08C%22 opacity=%22.75%22/%3E    %3Cellipse cx=%2271%22 cy=%2264%22 rx=%225.5%22 ry=%223.4%22 fill=%22%23F7A08C%22 opacity=%22.75%22/%3E    %3Ccircle cx=%2238%22 cy=%2252%22 r=%226.6%22 fill=%22%231E2B33%22/%3E%3Ccircle cx=%2240.2%22 cy=%2249.7%22 r=%222.38%22 fill=%22%23fff%22/%3E%3Ccircle cx=%2235.6%22 cy=%2254.4%22 r=%220.99%22 fill=%22%23fff%22/%3E%3Ccircle cx=%2262%22 cy=%2252%22 r=%226.6%22 fill=%22%231E2B33%22/%3E%3Ccircle cx=%2264.2%22 cy=%2249.7%22 r=%222.38%22 fill=%22%23fff%22/%3E%3Ccircle cx=%2259.6%22 cy=%2254.4%22 r=%220.99%22 fill=%22%23fff%22/%3E    %3Cpath d=%22M50 64.5Q50 66 50 67.5%22 fill=%22none%22/%3E    %3Cpath d=%22M46.5 68Q46.5 76.5 50 76.5Q53.5 76.5 53.5 68Z%22 fill=%22%23F2995E%22/%3E    %3Cpath d=%22M50 69.5V73.5%22 stroke=%22%23D97A45%22 stroke-width=%221.4%22 stroke-linecap=%22round%22/%3E    %3Cpath d=%22M43.5 66Q47 70.5 50 66.5Q53 70.5 56.5 66M50 64.5V66.5%22 fill=%22none%22 stroke=%22%231E2B33%22 stroke-width=%222.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E    %3Cpath d=%22M45 59Q50 56.6 55 59Q54.4 64 50 64.8Q45.6 64 45 59Z%22 fill=%22%231E2B33%22/%3E    %3Cellipse cx=%2248.3%22 cy=%2259.3%22 rx=%221.6%22 ry=%22.9%22 fill=%22%23fff%22 opacity=%22.7%22/%3E  %3C/g%3E  %3C/g%3E  %3Cpath d=%22M80 91C71.5 85 69 80.5 69 77C69 73.8 71.4 71.8 74 71.8C76.4 71.8 78.2 73.2 80 75.5C81.8 73.2 83.6 71.8 86 71.8C88.6 71.8 91 73.8 91 77C91 80.5 88.5 85 80 91Z%22 fill=%22%23F2995E%22 stroke=%22%231A7F76%22 stroke-width=%223.5%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.nz-routines { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 18px 0 32px; }
.nz-routine {
  padding: 12px 20px; border-radius: 999px; background: var(--nz-oat);
  color: var(--nz-ink); font-weight: 800; text-decoration: none;
}
.nz-routine span { margin-left: 8px; color: var(--nz-teal); }
.nz-routine:hover { background: var(--nz-mint); }
.nz-empty__title { margin: 24px 0 18px; }
.nz-404 .ct-search-form, .nz-404 form[role="search"] { max-width: 420px; margin: 0 auto 8px; }
.nz-empty ul.products, .nz-404 ul.products { text-align: left; }

/* ---------------------------------------------------------------- mobile */

@media (max-width: 689px) {
  html .woocommerce ul.products { gap: 12px; --shop-columns: repeat(2, minmax(0, 1fr)); grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html .woocommerce ul.products li.product { padding: 6px 6px 12px !important; border-radius: 16px !important; }
  html .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px !important; }
  html .woocommerce ul.products li.product .ct-woo-card-actions .button { min-height: 38px; font-size: 13px; padding: 0 8px !important; white-space: nowrap; }
  .nz-kits-head h2, .nz-singles-title { font-size: 22px; }
  .nz-promises li { flex-basis: 100%; display: flex; gap: 6px; align-items: baseline; }
  .nz-kits-row { padding: 20px 12px 12px; border-radius: 18px; }
  .nz-cat-guide { padding: 20px; }
  .single-product .woocommerce-tabs .woocommerce-Tabs-panel { padding: 28px 0 !important; }
}

/* ---------------------------------------------------------------- PDP modules (nuzzelo-pdp-modules.php) */

.nz-secnav {
  position: sticky; top: 0; z-index: 20;
  background: #fff; border-bottom: 1px solid var(--nz-line);
  margin: 48px 0 0;
}
.admin-bar .nz-secnav { top: 32px; }
.nz-secnav__in { display: flex; gap: 26px; overflow-x: auto; height: 56px; align-items: center; scrollbar-width: none; max-width: 1200px; margin: 0 auto; }
.nz-secnav__in::-webkit-scrollbar { display: none; }
.nz-secnav a { color: var(--nz-ink); font-weight: 800; white-space: nowrap; text-decoration: none; font-size: 15px; }
.nz-secnav a:hover { color: var(--nz-teal); }
.nz-secnav ~ .woocommerce-tabs, .nz-secnav + * { scroll-margin-top: 70px; }
.nz-mod, .woocommerce-Tabs-panel { scroll-margin-top: 72px; }

/* the description panel holds full-width modules */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description:has(.nz-mods) { max-width: none; padding-top: 0 !important; }
.nz-mods { max-width: 1200px; margin: 0 auto; }
.nz-mod { padding: 64px 0; border-bottom: 1px solid var(--nz-line); }
.nz-mod--tint { background: var(--nz-cream); box-shadow: 0 0 0 100vmax var(--nz-cream); clip-path: inset(0 -100vmax); }
.nz-mod > h2 { font-size: 32px; margin: 0 0 8px; }
.nz-mod__lead { color: var(--nz-muted); max-width: 640px; margin: 0 0 32px; }

.nz-feat { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin: 0 0 48px; }
.nz-feat:last-child { margin-bottom: 0; }
.nz-feat:nth-of-type(even) .nz-feat__img { order: 2; }
.nz-feat__img { position: relative; border-radius: 24px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--nz-oat); }
.nz-feat__img img, .nz-scene img, .nz-step img, .nz-box__img img, .nz-dimfig img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.nz-mods img.is-contain { object-fit: contain !important; background: #fff; }
.nz-pin { position: absolute; padding: 6px 12px; border-radius: 999px; background: #fff; font-weight: 800; font-size: 13px; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15); white-space: nowrap; }
.nz-pin::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--nz-peach); margin-right: 7px; }
.nz-feat__num { font-weight: 900; font-size: 14px; color: var(--nz-peach); }
.nz-feat h3 { font-size: 26px; margin: 6px 0 12px; }
.nz-feat p { color: var(--nz-muted); margin: 0 0 14px; }
.nz-fact { display: inline-block; background: var(--nz-oat); border-radius: 10px; padding: 6px 12px; font-weight: 700; font-size: 14px; }

.nz-scenes { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.nz-scene { position: relative; margin: 0; border-radius: 20px; overflow: hidden; aspect-ratio: 3 / 4; background: var(--nz-oat); }
.nz-scene figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px; color: #fff; background: linear-gradient(transparent, rgba(20, 54, 58, 0.88)); font-size: 15px; }
.nz-scene figcaption b { display: block; font-size: 19px; }

.nz-glance { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 36px; }
.nz-gl { background: var(--nz-cream); border: 1px solid var(--nz-line); border-radius: 18px; padding: 20px; }
.nz-gl svg { width: 32px; height: 32px; color: var(--nz-teal); }
.nz-gl b { display: block; font-size: 19px; margin-top: 10px; }
.nz-gl span { font-size: 14px; color: var(--nz-muted); }
.nz-dim { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; margin-bottom: 24px; }
.nz-dimfig { position: relative; background: var(--nz-oat); border-radius: 24px; padding: 36px 64px 72px 36px; }
.nz-dimfig.is-plain { padding: 0; overflow: hidden; background: #fff; border: 1px solid var(--nz-line); }
.nz-dimfig img.is-contain { background: transparent; height: auto !important; }
.nz-dim-h { position: absolute; left: 36px; right: 64px; bottom: 30px; border-top: 2px solid var(--nz-teal); text-align: center; }
.nz-dim-v { position: absolute; top: 36px; bottom: 72px; right: 28px; border-left: 2px solid var(--nz-teal); }
.nz-dim-h i, .nz-dim-v i { font-style: normal; display: inline-block; background: var(--nz-oat); padding: 0 8px; font-weight: 900; font-size: 15px; color: var(--nz-teal); transform: translateY(-12px); }
.nz-dim-v i { position: absolute; top: 50%; left: -2px; transform: translate(-50%, -50%) rotate(-90deg); white-space: nowrap; }

.nz-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.nz-step { border: 1px solid var(--nz-line); border-radius: 20px; overflow: hidden; background: #fff; }
.nz-step img { aspect-ratio: 4 / 3; height: auto !important; }
.nz-step > div { padding: 18px; }
.nz-step i { font-style: normal; font-weight: 900; font-size: 13px; color: #fff; background: var(--nz-teal); border-radius: 999px; padding: 3px 10px; }
.nz-step b { display: block; font-size: 18px; margin: 10px 0 4px; }
.nz-step p { margin: 0; color: var(--nz-muted); font-size: 15px; }

.nz-box { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.nz-box__img { border-radius: 24px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--nz-oat); }
.nz-box h2 { font-size: 30px; margin: 0 0 12px; }
.nz-box ul { padding-left: 20px; }
.nz-notinc { background: #FFF4EC; border-radius: 14px; padding: 12px 16px; font-size: 15px; }

.nz-bundle { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; background: var(--nz-mint); border-radius: 24px; padding: 24px; }
.nz-bundle__items { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; flex: 1 1 520px; }
.nz-bi { background: #fff; border-radius: 18px; padding: 10px; width: 170px; text-align: center; color: var(--nz-ink); text-decoration: none; font-size: 14px; }
.nz-bi img { border-radius: 12px; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.nz-bi b { display: block; font-size: 14px; line-height: 1.3; margin: 8px 0 2px; }
.nz-plus { font-weight: 900; font-size: 26px; color: var(--nz-teal); }
.nz-bundle__tot { min-width: 220px; }
.nz-bundle__tot b { display: block; font-size: 30px; font-weight: 900; }
html .nz-bundle__add { width: 100%; border-radius: 999px !important; margin-top: 10px; min-height: 48px; font-weight: 800; }
.nz-bundle__add[disabled] { opacity: 0.6; }

.nz-fulldesc { margin: 40px 0 0; border: 1px solid var(--nz-line); border-radius: 16px; padding: 0 20px; }
.nz-fulldesc > summary { cursor: pointer; font-weight: 800; padding: 16px 0; }
.nz-fulldesc > div { padding-bottom: 16px; }

@media (max-width: 900px) {
  .nz-feat, .nz-dim, .nz-box { grid-template-columns: 1fr; gap: 20px; }
  .nz-feat:nth-of-type(even) .nz-feat__img { order: 0; }
  .nz-glance { grid-template-columns: 1fr 1fr; gap: 10px; }
  .nz-mod { padding: 44px 0; }
  .nz-mod > h2 { font-size: 26px; }
  .nz-feat h3 { font-size: 22px; }
  .nz-scenes { grid-template-columns: 1fr 1fr; }
  .nz-scene { aspect-ratio: 4 / 5; }
  .nz-scene figcaption { padding: 12px; font-size: 13px; }
  .nz-scene figcaption b { font-size: 15px; }
  .nz-bi { width: calc(50% - 26px); }
  .nz-bundle { padding: 16px; }
  .nz-bundle__tot { width: 100%; }
  .nz-pin { font-size: 12px; padding: 5px 10px; }
  .nz-secnav { margin-top: 32px; }
}
