/* Brandbook palette: restrained accents, shared across routes. */
:root { --vv-soft-black: #111111; --vv-dark-brown: #111111; }
.home-hero__glow, .home-hero__color-grade { background: none; }
footer[aria-label="VinoVid footer"] { background: var(--vv-green) !important; border-top: 1px solid var(--vv-gold) !important; box-shadow: inset 0 -3px 0 var(--vv-burgundy); }
#mision-vision-valores { background: var(--vv-black) !important; }
#mision-vision-valores .mvv-grid { gap: 24px; padding-top: 48px; padding-bottom: 48px; }
#mision-vision-valores .mvv-block { background: #111111; border: 1px solid rgb(var(--vv-gold-rgb) / .18); border-top: 3px solid var(--vv-green); }
#mision-vision-valores .mvv-values { background: transparent; border: 0; border-top: 1px solid rgb(var(--vv-gold-rgb) / .3); }
#mision-vision-valores .nosotros-value { border-top-color: var(--vv-green); }
@media (max-width: 640px) { #mision-vision-valores .mvv-block { padding-left: 20px !important; padding-right: 20px !important; } }
/* Gentle navigation and once-only reveals; native scrolling stays responsive. */
#root { transition: opacity 160ms ease-out; }
#root.vv-page-leaving { opacity: .25; }
.vv-reveal { transition: opacity 600ms ease-out, translate 600ms cubic-bezier(.2,.65,.3,1); }
.vv-reveal-pending { opacity: 0; translate: 0 16px; }
@media (prefers-reduced-motion: reduce) {
  #root, .vv-reveal { transition: none !important; }
  #root.vv-page-leaving, .vv-reveal-pending { opacity: 1; translate: none; }
}

/* Shared header: inline flex must not override mobile visibility utilities. */
@media (max-width: 767px) {
  #root header > .hidden { display: none !important; }
  #root header > button[aria-label="Abrir o cerrar menú"] { display: block !important; margin-left: auto; min-width: 44px; min-height: 44px; }
  footer[aria-label="VinoVid footer"] div { justify-content: flex-start !important; align-items: flex-start !important; }
  footer[aria-label="VinoVid footer"] > div > div { flex-direction: column; gap: 1.25rem !important; }
  footer[aria-label="VinoVid footer"] p { text-align: left !important; flex: initial !important; }
  footer[aria-label="VinoVid footer"] > div > div > div:first-child { flex-direction: column; gap: .75rem !important; }
  footer[aria-label="VinoVid footer"] > div > div > div:first-child > div { flex-wrap: wrap; row-gap: .75rem !important; }
}

.vv-back-top {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: calc(24px + env(safe-area-inset-bottom));
  z-index: 40;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(var(--vv-gold-rgb) / .55);
  border-radius: 50%;
  background: var(--vv-black);
  color: var(--vv-gold);
  box-shadow: 0 4px 18px #0003;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity 260ms ease, transform 260ms ease, visibility 260ms;
}
.vv-back-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.vv-back-top:focus-visible { outline: 2px solid var(--vv-cream); outline-offset: 4px; }
@media (hover: hover) { .vv-back-top:hover { background: var(--vv-green); border-color: var(--vv-gold); } }
@media (prefers-reduced-motion: reduce) { .vv-back-top { transition: none; transform: none; } }

/* Vineyard imagery echoes the home hero while leaving the copy on black. */
.vinos-sidebar { isolation: isolate; overflow: hidden; }
.vinos-sidebar::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0 0 0 29%;
  background-image: linear-gradient(90deg, #0b0b0b 0%, transparent 40%), linear-gradient(0deg, #0b0b0b 0%, transparent 28%, #0b0b0b33 80%, #0b0b0b 100%), url('/images/site/photo-0.webp');
  background-size: cover;
  background-position: center, center, 65% center;
  opacity: .8;
  pointer-events: none;
}
.vinos-sidebar > * { position: relative; }
@media (max-width: 900px) {
  .vinos-sidebar::before { inset: 0; opacity: .32; background-position: center, center, 70% center; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Editorial rhythm for the complete About copy. */

.nosotros-page main strong { font-weight: 600; color: var(--vv-cream); }
.nosotros-copy-lead { display: inline; font: inherit; color: inherit; }
.nosotros-copy-block { display: inline; }
#mision-vision-valores .mvv-block > div:first-child > div:first-child { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid rgb(var(--vv-gold-rgb) / .3); border-radius: 50%; background: var(--vv-green); }

.nosotros-page .nosotros-values { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.nosotros-page .nosotros-value { padding: clamp(1.25rem, 2vw, 2rem); background: #111; border: 1px solid rgb(var(--vv-gold-rgb) / .15); }
.nosotros-page .nosotros-value__title { margin-bottom: 1rem; }
.nosotros-page .nosotros-value__title span { display: block; font-family: var(--vv-font-serif); font-size: 2.3rem; font-weight: 400; line-height: 1; margin-bottom: 1rem; }
@media (max-width: 640px) { .nosotros-page .nosotros-values { grid-template-columns: 1fr; } }

.nosotros-page .nosotros-value__title .nosotros-value-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 1rem; border: 1px solid rgb(var(--vv-gold-rgb) / .3); border-radius: 50%; background: var(--vv-green); }
#mision-vision-valores .mvv-values { padding-left: 0 !important; padding-right: 0 !important; }
#mision-vision-valores .nosotros-values { width: 100%; }

#mision-vision-valores .mvv-values > div:first-child > div:first-child { display: none; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 1000; padding: 12px 20px; background: #0b0b0b; color: #fef9de; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
footer[aria-label="VinoVid footer"] a { opacity: 1 !important; }
.home-hero .animate-fade-up, .home-hero .animate-fade-in { opacity: 1 !important; animation: none !important; transform: none !important; }
/* Initial content remains readable while decorative motion runs. */
.nosotros-hero .animate-fade-up, .bodegas-copy, .bodegas-list, .vinos-sidebar, .vinos-content { opacity: 1 !important; }
form label { opacity: 1 !important; }
.vinos-layout, .vinos-content, .vinos-sidebar { min-width: 0; }
.vinos-content > div:first-child > div { max-width: 100%; }
.vinos-content select { max-width: 100%; }
@media(max-width:640px) { .vinos-content > div:first-child > div { width: 100%; } .vinos-content select, .vinos-content input { width: 100% !important; } }
.bodegas-artwork { opacity: 1 !important; }
form label { color: var(--vv-gold) !important; }
.skip-link { visibility: hidden; }
.skip-link:focus { visibility: visible; }
