/* Shared theme controls and explicit contrast overrides. Product photos keep white backgrounds. */
@media (min-width: 900px) and (max-width: 1250px) {
  [data-site="catalogo"] .primary-nav { gap: 8px; }
  [data-site="catalogo"] .primary-nav a { font-size: .75rem; padding-inline: 5px; }
  [data-site="catalogo"] .header-inner { gap: 10px; }
  [data-site="catalogo"] .theme-toggle span { display: none; }
}
[data-site="catalogo"] .floating-whatsapp {
  position: fixed;
  right: 20px;
  bottom: max(20px, env(safe-area-inset-bottom));
  z-index: 90;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 54px;
  padding: 14px 18px;
  border-radius: 999px;
  background: #25d366;
  color: #061d0f;
  font-weight: 700;
  box-shadow: 0 8px 28px #0003;
}
[data-site="catalogo"] .floating-whatsapp:focus-visible { outline: 3px solid #8e2744; outline-offset: 4px; }
html[data-site="catalogo"] .site-header .primary-nav a.nav-whatsapp,
html[data-site="catalogo"][data-theme] .site-header.is-scrolled .primary-nav a.nav-whatsapp {
  color: #000;
  background: #fff;
}
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 12px;
  flex-shrink: 0;
  border: 1px solid currentColor;
  border-radius: 24px;
  color: inherit;
  background: transparent;
  font: inherit;
  font-size: 0.8rem;
  cursor: pointer;
}
.theme-toggle:focus-visible { outline: 3px solid #b94b70; outline-offset: 4px; }
[data-site="catalogo"] .theme-toggle { margin-left: auto; }
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] { color-scheme: light; }
html[data-site="catalogo"][data-theme="dark"] {
  --paper: #101014; --soft: #1d1d24; --soft-2: #292932;
  --ink: #f5f5f7; --muted: #bcbcc6; --line: #454550;
  --burgundy: #f0a4ba; --burgundy-dark: #f0a4ba;
}
[data-site="catalogo"][data-theme="dark"] :is(.product-card,.benefits,.benefit-card,.testimonials,.model-dropdown,.model-dropdown button,.filter-button,.load-more-button,.product-options select) {
  background: var(--paper); color: var(--ink); border-color: var(--line);
}
[data-site="catalogo"][data-theme="dark"] :is(.button-dark,.filter-button.is-active,.load-more-button:hover,.load-more-button:focus-visible,.skip-link) {
  background: #f5f5f7; color: #111113;
}
[data-site="catalogo"][data-theme="dark"] .product-badge { color: #eee; background: #363640; }
[data-site="catalogo"][data-theme="dark"] .badge-new { background: #183d29; color: #a7f3c0; }
[data-site="catalogo"][data-theme="dark"] .badge-preorder { background: #492431; color: #ffcddd; }
[data-site="catalogo"][data-theme="dark"] .category-light { --ink: #111113; --muted: #505057; }
[data-site="catalogo"][data-theme="dark"] .site-header.is-scrolled { background: #101014f5; color: #f5f5f7; }
[data-site="catalogo"][data-theme="dark"] .site-header.is-scrolled .brand img { filter: none; }
[data-site="catalogo"][data-theme="dark"] .site-header.is-scrolled :is(.brand small,.primary-nav a) { color: #dddde5; }
[data-site="catalogo"][data-theme="dark"] .primary-nav .nav-whatsapp { background: #f5f5f7; color: #111113; }
[data-site="catalogo"][data-theme="dark"] .site-header.is-scrolled .primary-nav .nav-whatsapp { color: #111113; }
[data-site="catalogo"][data-theme="dark"] .model-dropdown button:hover { background: #30303c; }
[data-site="catalogo"][data-theme="dark"] .model-dropdown button:focus-visible { background: #30303c; outline: 2px solid #f0a4ba; }

html[data-site="iphone18"][data-theme="light"] {
  --bg: #fff; --bg-soft: #f4f4f7; --surface: #f0f0f5; --surface-strong: #e4e4ec;
  --text: #17171d; --muted: #565662; --muted-strong: #444450;
  --line: #c5c5cf; --line-soft: #d8d8df; --burgundy-light: #8b2342;
  --shadow: 0 20px 60px rgba(20,20,30,.12);
}
[data-site="iphone18"][data-theme="light"] :is(.site-header,.site-header.is-scrolled,.mobile-nav,.mobile-cta-bar) { background: #fffffff5; color: #17171d; }
[data-site="iphone18"][data-theme="light"] :is(.mobile-nav a,.menu-toggle,.desktop-nav a) { color: #292932; }
[data-site="iphone18"][data-theme="light"] .brand-symbol { filter: invert(1); }
[data-site="iphone18"][data-theme="light"] :is(.reservation,.highlights,.comparison,.local-trust,.faq,.site-footer,.proof-strip,.selection-card,.comparison-table-wrap,.rating-card) { background: var(--bg-soft); color: var(--text); border-color: var(--line); }
[data-site="iphone18"][data-theme="light"] :is(.choice-card,.chip,.color-choice,.select-wrap select,.process-grid li) { background: #fff; color: var(--text); border-color: var(--line); }
[data-site="iphone18"][data-theme="light"] :is(.choice-card,.chip,.color-choice).is-selected { background: #f9e8ee; border-color: #8b2342; }
[data-site="iphone18"][data-theme="light"] :is(.comparison-table thead th,.comparison-table tbody td,.comparison-table tbody td:last-child,.faq-list summary) { color: #24242c; }
[data-site="iphone18"][data-theme="light"] .comparison-table .target-advantage { color: #80203b; }
[data-site="iphone18"][data-theme="light"] :is(.source-note,.source-note a,.footer-legal p) { color: #565662; }
[data-site="iphone18"][data-theme="light"] .configurator legend { color: #24242c; }
[data-site="iphone18"][data-theme="light"] :is(.footer-links a:hover,.icon-link:hover,.icon-link:focus-visible) { color: #17171d; }
[data-site="iphone18"][data-theme="light"] .site-header .button-small { background: #17171d; color: #fff; }
/* Photo-backed promotional areas retain their dark palettes in either theme. */
[data-site="iphone18"][data-theme="light"] :is(.hero,.bento-card,.final-cta,.announcement) {
  --text: #f5f5f7; --muted: #bcbcc6; --burgundy-light: #f09ab0;
  color: #f5f5f7;
}
[data-site="iphone18"][data-theme="light"] .hero { --bg: #070709; }
[data-site="catalogo"][data-theme="dark"] .primary-nav .nav-whatsapp:hover { background: #f0a4ba; color: #111113; }
@media (min-width: 900px) and (max-width: 1100px) {
  [data-site="catalogo"] .primary-nav { gap: 12px; }
  [data-site="catalogo"] .primary-nav a { font-size: .8rem; }
  .theme-toggle span { display: none; }
}
[data-site="iphone18"] .final-inner > small { color: #bcbcc6; }
.whatsapp-icon { width: 24px !important; height: 24px !important; flex-shrink: 0; fill: currentColor !important; stroke: none !important; }
@media (max-width: 600px) {
  .theme-toggle span { display: none; }
  .header-inner { gap: 10px; }
  .header-actions { gap: 10px; }
}
