.sv-header {
  position: sticky;
  z-index: 20;
  top: 0;
  border-bottom: 1px solid var(--sv-border);
  background: var(--sv-bg);
}

.sv-header__inner,
.sv-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-height: 5.5rem;
}

.sv-brand {
  display: inline-flex;
  flex-direction: column;
  gap: .08rem;
  color: var(--sv-text);
  text-decoration: none;
}

.sv-brand__name {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .28em;
  line-height: 1.1;
}

.sv-brand__descriptor,
.sv-footer__note {
  color: var(--sv-muted);
  font-size: .68rem;
  letter-spacing: .22em;
  line-height: 1.4;
  text-transform: uppercase;
}

.sv-navigation {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: flex-end;
  gap: 1.5rem;
}

.sv-navigation__panel {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: flex-end;
  gap: 1.5rem;
}

.sv-navigation__links,
.sv-language-switcher,
.sv-footer__links {
  display: flex;
  align-items: center;
  gap: 1.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sv-navigation__links a,
.sv-language-switcher a,
.sv-footer__links a {
  color: var(--sv-text);
  font-size: .88rem;
  text-decoration: none;
}

.sv-navigation__links a:hover,
.sv-language-switcher a:hover,
.sv-footer__links a:hover {
  color: var(--sv-amber-soft);
}

.sv-navigation__links { flex-wrap: wrap; }
.sv-language-switcher { flex-wrap: wrap; gap: .65rem; }
.sv-language-switcher [aria-current] { color: var(--sv-amber-soft); }

.sv-header__actions {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.sv-whatsapp-action,
.sv-inquiry-action,
.sv-mobile-toggle {
  min-height: 2.75rem;
  border: 1px solid var(--sv-border);
  border-radius: var(--sv-radius);
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .01em;
}

.sv-whatsapp-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .65rem 1rem;
  border-color: var(--sv-whatsapp);
  background: var(--sv-whatsapp);
  color: var(--sv-bg);
  text-decoration: none;
}

.sv-whatsapp-action:hover {
  background: #15803d;
  color: #fff;
}

.sv-inquiry-action,
.sv-mobile-toggle {
  padding: .65rem .85rem;
  background: transparent;
  color: var(--sv-text);
  cursor: pointer;
}

.sv-inquiry-action:hover,
.sv-mobile-toggle:hover {
  border-color: var(--sv-amber);
  color: var(--sv-amber-soft);
}

.sv-inquiry-count { display: inline-grid; min-width: 1.25rem; min-height: 1.25rem; place-items: center; margin-left: .35rem; padding-inline: .2rem; border-radius: 999px; background: var(--sv-amber); color: var(--sv-bg); font-size: .72rem; }
.sv-inquiry-drawer { position: fixed; z-index: 90; inset: 0; }
.sv-inquiry-drawer__backdrop { display: flex; justify-content: flex-end; width: 100%; height: 100%; background: rgba(0, 0, 0, .6); }
.sv-inquiry-drawer__panel { width: min(100%, 31rem); height: 100%; overflow-y: auto; padding: 1.5rem; background: var(--sv-surface); box-shadow: var(--sv-shadow); }
.sv-inquiry-drawer__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--sv-border); }
.sv-inquiry-drawer__header h2 { margin-block: 0 1rem; }
.sv-inquiry-drawer__close { width: 2.75rem; min-height: 2.75rem; border: 1px solid var(--sv-border); border-radius: var(--sv-radius); background: transparent; color: var(--sv-text); font: inherit; font-size: 1.5rem; cursor: pointer; }
.sv-inquiry-drawer__items { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.sv-inquiry-drawer__items li { display: grid; grid-template-columns: minmax(0, 1fr) 5rem auto; align-items: end; gap: .75rem; padding-block: 1rem; border-bottom: 1px solid var(--sv-border); }
.sv-inquiry-drawer__items label { display: grid; gap: .3rem; color: var(--sv-muted); font-size: .8rem; }
.sv-inquiry-drawer__items input { width: 100%; min-height: 2.75rem; padding: .5rem; border: 1px solid var(--sv-border); border-radius: var(--sv-radius); background: var(--sv-bg); color: var(--sv-text); font: inherit; }
.sv-inquiry-drawer__items button { min-height: 2.75rem; border: 1px solid var(--sv-border); border-radius: var(--sv-radius); background: transparent; color: var(--sv-amber-soft); font: inherit; cursor: pointer; }
.sv-inquiry-drawer__estimate { color: var(--sv-amber-soft); font-weight: 700; }
.sv-inquiry-form { display: grid; gap: 1rem; max-width: 42rem; margin-top: 2rem; }
.sv-inquiry-form label { display: block; font-size: .9rem; }
.sv-inquiry-form input:not([type="checkbox"]), .sv-inquiry-form textarea { display: block; width: 100%; min-height: 2.75rem; margin-top: .4rem; padding: .7rem; border: 1px solid var(--sv-border); border-radius: var(--sv-radius); background: var(--sv-bg); color: var(--sv-text); font: inherit; }
.sv-inquiry-form textarea { resize: vertical; }
.sv-inquiry-form select { width: 100%; min-height: 2.75rem; padding: .7rem; border: 1px solid var(--sv-border); border-radius: var(--sv-radius); background: var(--sv-bg); color: var(--sv-text); font: inherit; }
.sv-inquiry-form__consent { display: flex; align-items: start; gap: .65rem; }
.sv-inquiry-form__consent input { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; accent-color: var(--sv-amber); }
.sv-inquiry-form [role="status"] { margin: 0; overflow-wrap: anywhere; }
.sv-inquiry-form button:disabled { opacity: .65; cursor: wait; }
.sv-contact > .sv-actions .sv-whatsapp-action { min-height: 3.5rem; padding-inline: 1.5rem; }

.sv-mobile-toggle {
  display: none;
}

.sv-footer {
  margin-top: 5rem;
  border-top: 1px solid var(--sv-border);
  background: var(--sv-surface);
}

.sv-footer__inner {
  min-height: 8rem;
}

/* Catalog and editorial page components. */
[hidden] { display: none !important; }
[data-message-tools] { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; min-width: 0; max-width: 100%; }
[data-manual-copy] { flex-basis: 100%; width: 100%; min-width: 0; max-width: 100%; font: inherit; }
[data-copy-status]:empty { display: none; }
[data-inquiry-items] [data-unavailable] { border-color: var(--sv-amber); }
[data-inquiry-items] [data-unavailable] > p { grid-column: 1 / -1; color: var(--sv-amber-soft); }

.sv-section { padding-block: 4.5rem; }
.sv-section h1, .sv-section h2, .sv-section h3, .sv-hero h1 { margin: 0 0 1rem; line-height: 1.15; }
.sv-section h1 { font-size: clamp(2.25rem, 4.5vw, 4rem); letter-spacing: -.035em; overflow-wrap: anywhere; }
.sv-section h2 { font-size: clamp(1.8rem, 3vw, 2.8rem); letter-spacing: -.025em; }
.sv-section h3 { font-size: 1.15rem; }
.sv-muted { color: var(--sv-muted); }
.sv-intro { max-width: 44rem; }
.sv-eyebrow { color: var(--sv-amber); font-size: .7rem; letter-spacing: .21em; line-height: 1.7; text-transform: uppercase; }
.sv-text-link { color: var(--sv-amber-soft); }
.sv-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.sv-section-heading > p { max-width: 25rem; }
.sv-section-heading h2 { margin-bottom: 0; }
.sv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .85rem; }
.sv-button { display: inline-flex; justify-content: center; align-items: center; min-height: 3rem; padding: .8rem 1.2rem; border: 1px solid var(--sv-amber); border-radius: var(--sv-radius); background: var(--sv-amber); color: var(--sv-bg); font: inherit; font-size: .9rem; font-weight: 650; text-decoration: none; cursor: pointer; }
.sv-button:hover { background: var(--sv-amber-soft); border-color: var(--sv-amber-soft); }
.sv-button--outline { background: transparent; color: var(--sv-amber-soft); }
.sv-button--outline:hover { color: var(--sv-bg); }
.sv-hero { position: relative; isolation: isolate; min-height: 46rem; border-bottom: 1px solid var(--sv-border); }
.sv-hero__photo { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.sv-hero__inner { display: flex; align-items: center; min-height: inherit; padding-block: 4.5rem; }
.sv-hero__copy { width: 65%; }
.sv-hero .sv-eyebrow { margin: 0 0 2rem; }
.sv-hero h1 { font-size: clamp(3rem, 5.9vw, 5.5rem); font-weight: 500; letter-spacing: -.06em; line-height: 1.06; }
.sv-hero h1 em { color: var(--sv-amber-soft); font-family: var(--sv-font-display); font-weight: 400; letter-spacing: -.05em; }
.sv-hero__description { max-width: 37rem; margin-block: 2rem; font-size: clamp(1rem, 1.55vw, 1.3rem); }
.sv-hero .sv-actions { margin-bottom: 2rem; }
.sv-hero .sv-button, .sv-hero .sv-whatsapp-action { min-height: 3.7rem; padding-inline: 1.5rem; font-size: 1rem; }
.sv-trust-signals { display: flex; flex-wrap: wrap; gap: 1rem 1.75rem; max-width: 42rem; margin: 2rem 0 0; padding: 1.5rem 0 0; border-top: 1px solid var(--sv-border); list-style: none; }
.sv-trust-signals li { color: var(--sv-muted); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.sv-family-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.sv-family { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 5rem; padding: 1.5rem; border: 1px solid var(--sv-border); border-radius: var(--sv-radius); background: var(--sv-surface); text-decoration: none; overflow-wrap: anywhere; }
.sv-family span { color: var(--sv-amber); }
.sv-family:hover { border-color: var(--sv-amber); }
.sv-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.sv-product-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--sv-border); border-radius: var(--sv-radius); background: var(--sv-surface); overflow: hidden; }
.sv-product-card__image { display: block; aspect-ratio: 1; }
.sv-product-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sv-product-card__body { display: flex; flex: 1; flex-direction: column; align-items: start; padding: 1.3rem; overflow-wrap: anywhere; }
.sv-product-card__body .sv-eyebrow { margin-top: 0; }
.sv-product-card h3 a { text-decoration: none; }
.sv-product-card h3 a:hover { color: var(--sv-amber-soft); }
.sv-product-card .sv-muted { margin-top: 0; font-size: .9rem; }
.sv-product-card .sv-button { width: 100%; margin-top: auto; }
.sv-price { color: var(--sv-amber-soft); font-weight: 650; }
.sv-price--large { margin-block: .25rem; font-size: 1.8rem; }
.sv-process { margin-block: 2rem; background: var(--sv-surface); border-block: 1px solid var(--sv-border); }
.sv-process__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; padding-left: 1.5rem; margin-top: 2.5rem; }
.sv-process__steps li { padding-left: .6rem; }
.sv-process__steps li::marker { color: var(--sv-amber); font-family: var(--sv-font-display); font-size: 1.4rem; }
.sv-quality { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 5rem; }
.sv-quality img { width: 100%; height: auto; max-height: 29rem; object-fit: cover; border-radius: var(--sv-radius); }
.sv-quality .sv-button { margin-top: 1rem; }
.sv-catalog-controls { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: 1rem; margin-top: 2.5rem; padding: 1.5rem; border: 1px solid var(--sv-border); background: var(--sv-surface); border-radius: var(--sv-radius); }
.sv-catalog-controls label, .sv-document-search label, .sv-product-inquiry label { display: block; font-size: .85rem; }
.sv-catalog-controls input, .sv-catalog-controls select, .sv-document-search input, .sv-product-inquiry input { display: block; width: 100%; min-width: 0; min-height: 3rem; margin-top: .45rem; padding: .65rem .8rem; border: 1px solid var(--sv-border); border-radius: var(--sv-radius); background: var(--sv-bg); color: var(--sv-text); font: inherit; }
.sv-empty { padding-block: 3rem; color: var(--sv-muted); }
.sv-product-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; margin-block: 2rem 4rem; align-items: start; }
.sv-product-detail__visual { margin: 0; }
.sv-product-detail__visual img { display: block; width: 100%; height: auto; border-radius: var(--sv-radius); }
.sv-product-detail__visual figcaption { margin-top: .75rem; font-size: .8rem; }
.sv-specifications { margin-block: 1.5rem; }
.sv-specifications > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 1rem; padding-block: .85rem; border-bottom: 1px solid var(--sv-border); overflow-wrap: anywhere; }
.sv-specifications dt { color: var(--sv-muted); }
.sv-specifications dd { margin: 0; }
.sv-product-inquiry { margin-top: 2rem; }
.sv-product-inquiry input { max-width: 7rem; margin-bottom: 1rem; }
.sv-product-information { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; padding-block: 3rem; border-top: 1px solid var(--sv-border); }
.sv-product-information h2 { font-size: 1.5rem; }
.sv-faq { max-width: 55rem; padding-block: 2rem; }
.sv-faq details { border-bottom: 1px solid var(--sv-border); padding: 1.25rem 0; }
.sv-faq summary { cursor: pointer; font-weight: 600; }
.sv-faq details p { color: var(--sv-muted); }
.sv-document-search { max-width: 44rem; margin-block: 2rem 3rem; }
.sv-document-search input { flex: 1; width: auto; margin: 0; }
.sv-document-search .sv-actions { margin-top: .5rem; }
.sv-document-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.sv-document { padding: 1.75rem; border: 1px solid var(--sv-border); border-radius: var(--sv-radius); background: var(--sv-surface); overflow-wrap: anywhere; }
.sv-document h2 { font-size: 1.4rem; }
.sv-age-gate { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 1rem; overflow: auto; background: rgba(0, 0, 0, .85); }
.sv-age-gate[hidden], .sv-cookie-banner[hidden] { display: none; }
.sv-age-dialog { width: min(100%, 36rem); max-height: calc(100dvh - 2rem); overflow: auto; padding: 2rem; border: 1px solid var(--sv-border); border-radius: var(--sv-radius); background: var(--sv-surface); overflow-wrap: anywhere; }
.sv-age-dialog h2, .sv-cookie-banner h2 { font-size: 1.4rem; letter-spacing: 0; }
.sv-age-dialog .sv-button, .sv-cookie-banner .sv-button { white-space: normal; text-align: center; min-height: 2.75rem; }
.sv-cookie-banner { padding-block: 1.5rem; background: var(--sv-surface-2); border-top: 1px solid var(--sv-border); }
.sv-cookie-banner p { max-width: 65ch; }
.sv-text-button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; text-decoration: underline; }
.sv-editorial { max-width: 55rem; }
.sv-editorial__content { max-width: 70ch; overflow-wrap: anywhere; margin-block: 1.25rem 2rem; }
