:root {
  --font-furia-serif: "Bodoni Moda", Georgia, serif;
  --font-furia-sans: "Manrope", Arial, sans-serif;
  --furia-readable: clamp(22px, 1.46vw, 25px);
  --furia-readable-small: clamp(16px, 1.02vw, 18px);
}

.fs-revision-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Legibilidad transversal sin cambiar la arquitectura. */
html body :is(.copy,.copy p,.bodycopy,.bodycopy p,.letter-copy p,.letter-body p,.answer,.fs-answer p,.notes,.availability,.legal-section p,.fs-portal-content p,.fs-cert-intro,.selection-intro-text) {
  font-size: var(--furia-readable) !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
}

/* La marca conserva exactamente su tratamiento original. */
html body :is(.fs-brand-furia,.fs-buy-brand-furia,.fs-inline-furia,.fs-legal-brand strong,.furia-amazon-transition__brand strong) {
  font-family: "Bodoni Moda", Georgia, serif !important;
}
html body :is(.fs-brand-seleccion,.fs-buy-brand-selection,.fs-inline-selection,.fs-legal-brand span,.furia-amazon-transition__brand span) {
  font-family: "Manrope", Arial, sans-serif !important;
}

html body :is(.product-link,.cta,.add-selection,.choice,.static-value,.stepper,.price-value,.faq summary,.fs-discover-toggle) {
  font-size: var(--furia-readable-small) !important;
}

html body :is(button,a,input,select,summary):focus-visible {
  outline: 2px solid rgba(212,170,87,.95) !important;
  outline-offset: 4px !important;
}

html body :is(button,.choice,.stepper button,.add-selection,.product-link,.cta) {
  min-height: 44px;
}

/* Evita que la navegación de familias ensanche Productos en móvil. */
html body .products-intro > * {
  min-width: 0;
}

html body .products-intro .family-nav {
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
}

/* Historia: recuperar detalle documental manteniendo el negro. */
html body .scene :is(.visual,.double) img {
  filter: brightness(1.1) contrast(1.035) !important;
}

/* Origen: reconocer paisaje, finca y fruto sin aclarar el fondo global. */
html body :is(.ambient,.media-fade) img {
  filter: brightness(1.09) contrast(1.025) saturate(.98);
}
html body .live .ambient video { filter: brightness(1.23) saturate(.98) !important; }

/* Selección y Productos: integrar el producto con volumen, no como pegatina. */
html body :is(.aove-bottle,.oil-profile-photo,.oil-image,.honey-image,.product) img {
  filter: drop-shadow(0 22px 28px rgba(0,0,0,.72)) drop-shadow(0 0 18px rgba(202,160,83,.07));
}
html body :is(.hero-photo,.nature-photo,.honey-scene-photo,.honey-process-step) img {
  filter: brightness(1.08) contrast(1.03) saturate(.98);
}
html body .avocado-photo img { filter: brightness(1.1) contrast(1.04) saturate(.97); }

/* Comprar: controles claros pero secundarios al producto. */
html body .purchase-config :is(.control-title) { font-size: clamp(14px,.95vw,17px) !important; }
html body .purchase-config :is(.choice,.static-value,.stepper,.price-value) { font-size: clamp(17px,1.1vw,20px) !important; }
html body .purchase-config .add-selection { font-size: clamp(15px,1vw,18px) !important; }
html body .bottle-layer--black img { filter: brightness(1.1) contrast(1.04); }
html body .bottle-layer--white img { filter: brightness(.98) contrast(1.025); }

/* Móvil: lectura y áreas táctiles antes que compresión. */
@media (max-width:760px) {
  :root { --furia-readable: 20px; --furia-readable-small: 16px; }
  html body :is(.copy,.bodycopy,.letter-copy,.answer) { max-width: 38rem; }
  html body .purchase-config :is(.choice,.static-value,.stepper,.price-value) { font-size: 17px !important; }
  html body .purchase-config .control-title { font-size: 14px !important; }
  html body :is(.product-nav a,.fs-global-buy,.fs-global-selection) { min-height: 44px; display:inline-flex;align-items:center; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
