/* Corrección puntual del menú. El resto conserva los estilos de la versión 2. */
@media (min-width: 1100px) {
  .header { gap: 2rem; }
  .header .brand { flex: 0 0 auto; }
  .header nav {
    display: flex !important;
    position: static;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(1rem, 2vw, 2rem);
    padding: 0;
    border: 0;
  }
  .header nav a, .header nav .nav-contact {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-height: 44px;
    padding: .6rem 0;
    white-space: nowrap;
    line-height: 1.25;
  }
  .header nav .nav-contact { border-bottom: 0; text-decoration: underline; text-underline-offset: .4rem; }
  .menu-toggle { display: none; }
}
@media (max-width: 1099px) {
  .menu-toggle { display: inline-flex; align-items: center; }
  .header nav {
    display: none !important;
    position: absolute;
    top: 100%; left: 0; right: 0;
    padding: 1rem var(--gutter);
    background: var(--paper);
    border-bottom: 1px solid var(--line);
  }
  .header nav.is-open { display: flex !important; flex-direction: column; align-items: stretch; gap: .25rem; }
  .header nav a, .header nav .nav-contact { display: block; padding: .7rem 0; min-height: 44px; border-bottom: 0; line-height: 1.4; }
}
.brand-intro { position: fixed; inset: 0; z-index: 100; display: grid; place-content: center; justify-items: center; gap: 1rem; padding: 1.5rem; background: #fff; }
.brand-intro img { width: min(310px, 75vw); height: auto; object-fit: contain; }
.brand-intro p { font-size: .875rem; color: var(--muted); }
.intro-line { width: 90px; height: 2px; background: #e6ddd4; overflow: hidden; }
.intro-line::after { content: ''; display: block; width: 35%; height: 100%; background: var(--wine); animation: intro-motion 1s ease-in-out infinite alternate; }
.intro-skip { background: none; border: 0; color: var(--muted); padding: .6rem 1rem; min-height: 44px; font-size: .8rem; text-decoration: underline; text-underline-offset: .25rem; }
@keyframes intro-motion { from { transform: translateX(-100%); } to { transform: translateX(285%); } }
@media (prefers-reduced-motion: reduce) { .intro-line::after { animation: none; width: 100%; } }

/* Solicitudes de la clienta: contacto legible y servicio independiente. */
#contact-details,#contact-hours,#whatsapp-contact{font-size:1rem;line-height:1.75;color:#f4ede4}
.footer-main>div>a:not(.button){font-size:1rem;overflow-wrap:anywhere}

.product-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem}.previous-price{font-size:.85rem;color:var(--muted)}.sale-price{color:var(--wine)}.product-image .offer-badge{font-size:.8rem;background:var(--wine);color:white;padding:.35rem .6rem}

.occasion-list a .reading-label{font:inherit;align-self:auto}.reading-label small{display:block;margin-top:.6rem;font: .875rem/1.5 Arial,sans-serif;color:#f4ede4}.hero-image figcaption{background:linear-gradient(transparent,rgba(0,0,0,.65));bottom:0;left:0;padding-top:2rem}

