/*
Theme Name: Butrón Budinich
Theme URI: https://bbwinery.cl
Author: supremacy.lat
Description: Tema a medida para Viña Butrón Budinich. Construido sobre el diseño de temporada alta 2026. Compatible con WooCommerce.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: Propietario
Text Domain: bbw
*/


  :root {
    --negro: #17130f;
    --negro-2: #221c16;
    --cobre: #a8552b;
    --cobre-luz: #c97a4a;
    --gris: #b7b4ad;
    --hueso: #ece7dd;
    --linea: rgba(236,231,221,0.14);
  }

  * { margin:0; padding:0; box-sizing:border-box; }

  html { scroll-behavior:smooth; }

  body {
    background:var(--negro);
    color:var(--hueso);
    font-family:'EB Garamond', serif;
    font-size:18px;
    line-height:1.6;
    overflow-x:hidden;
  }

  h1,h2,h3,.display {
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.01em;
  }

  .eyebrow {
    font-family:'Inter', sans-serif;
    font-size:11px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--cobre-luz);
    font-weight:600;
  }

  a { color:inherit; text-decoration:none; }

  .wrap { max-width:1180px; margin:0 auto; padding:0 32px; }

  /* ---------- NAV ---------- */
  nav {
    position:fixed; top:0; left:0; right:0; z-index:50;
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 40px;
    background:linear-gradient(to bottom, rgba(23,19,15,0.85), transparent);
    font-family:'Inter', sans-serif;
  }
  .nav-mark {
    font-family:'Cormorant Garamond', serif;
    font-size:22px;
    letter-spacing:0.06em;
  }
  .nav-mark b { color:var(--cobre-luz); font-weight:600; }
  .nav-links { display:flex; gap:34px; font-size:13px; letter-spacing:0.06em; text-transform:uppercase; }
  .nav-links a { opacity:0.85; transition:opacity .2s; }
  .nav-links a:hover { opacity:1; color:var(--cobre-luz); }
  .nav-cta {
    border:1px solid var(--cobre); padding:9px 18px; border-radius:2px;
    font-size:12px; letter-spacing:0.08em; text-transform:uppercase;
    transition:background .2s, color .2s;
  }
  .nav-cta:hover { background:var(--cobre); }
  @media (max-width:820px) { .nav-links { display:none; } }

  /* ---------- HERO ---------- */
  .hero {
    position:relative;
    height:100vh; min-height:640px;
    display:flex; align-items:flex-end;
    background:#000;
  }
  .hero-img {
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; object-position:60% 30%;
    opacity:0.72;
  }
  .hero-veil {
    position:absolute; inset:0;
    background:
      linear-gradient(to top, rgba(23,19,15,0.97) 2%, rgba(23,19,15,0.35) 48%, rgba(23,19,15,0.15) 100%);
  }
  .hero-wing {
    position:absolute; top:8%; left:50%; transform:translateX(-50%);
    width:min(760px, 92vw); opacity:0.07; pointer-events:none;
  }
  .hero-content {
    position:relative; z-index:2; width:100%;
    padding:0 40px 76px;
  }
  .hero-content .eyebrow { margin-bottom:18px; display:block; }
  .hero-title {
    font-size:clamp(42px, 7vw, 84px);
    line-height:1.03;
    max-width:820px;
    font-weight:500;
  }
  .hero-title em { font-style:italic; color:var(--cobre-luz); }
  .hero-sub {
    max-width:480px; margin-top:22px;
    font-size:19px; color:var(--gris); line-height:1.65;
  }
  .hero-actions { display:flex; gap:18px; margin-top:36px; flex-wrap:wrap; }
  .btn {
    font-family:'Inter', sans-serif; font-size:13px; letter-spacing:0.08em; text-transform:uppercase;
    padding:15px 30px; border-radius:2px; display:inline-block;
    transition:transform .2s, background .2s, border-color .2s;
  }
  .btn-solid { background:var(--cobre); color:var(--hueso); }
  .btn-solid:hover { background:var(--cobre-luz); transform:translateY(-1px); }
  .btn-ghost { border:1px solid rgba(236,231,221,0.4); }
  .btn-ghost:hover { border-color:var(--hueso); }
  .hero-scroll {
    position:absolute; bottom:26px; right:40px; z-index:2;
    font-family:'Inter', sans-serif; font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--gris); writing-mode:vertical-rl;
    display:flex; align-items:center; gap:10px;
  }
  .hero-scroll::after { content:''; width:1px; height:46px; background:var(--gris); display:block; }

  /* ---------- INTRO ---------- */
  .intro {
    padding:118px 0 96px;
    border-bottom:1px solid var(--linea);
  }
  .intro .wrap { display:grid; grid-template-columns:1fr 1.4fr; gap:70px; align-items:start; }
  .intro-label .eyebrow { margin-bottom:16px; display:block; }
  .intro-label .yr {
    font-family:'Cormorant Garamond', serif; font-size:64px; color:var(--cobre);
    line-height:1; font-weight:500;
  }
  .intro-label .yr-sub { font-family:'Inter', sans-serif; font-size:12px; letter-spacing:0.1em; color:var(--gris); margin-top:8px; }
  .intro-text p { font-size:22px; line-height:1.6; color:var(--hueso); font-weight:400; }
  .intro-text p + p { margin-top:20px; color:var(--gris); font-size:18px; }

  /* ---------- SECTION HEADERS ---------- */
  .section-head { padding:96px 0 44px; }
  .section-head .eyebrow { display:block; margin-bottom:14px; }
  .section-head h2 { font-size:clamp(32px,4vw,48px); max-width:640px; }
  .section-head p { color:var(--gris); max-width:520px; margin-top:16px; font-size:18px; }

  /* ---------- EXPERIENCIAS DE DÍA ---------- */
  .experiencias { padding-bottom:100px; }
  .exp-grid {
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
    background:var(--linea); border:1px solid var(--linea);
  }
  .exp-card {
    background:var(--negro); padding:36px 28px; position:relative;
    transition:background .25s;
  }
  .exp-card:hover { background:var(--negro-2); }
  .exp-num { font-family:'Inter', sans-serif; font-size:11px; color:var(--cobre-luz); letter-spacing:0.1em; }
  .exp-card h3 { font-size:25px; margin:18px 0 10px; line-height:1.2; }
  .exp-card .desc { color:var(--gris); font-size:15.5px; line-height:1.55; min-height:70px; }
  .exp-price {
    margin-top:24px; padding-top:18px; border-top:1px solid var(--linea);
    display:flex; align-items:baseline; justify-content:space-between;
    font-family:'Inter', sans-serif;
  }
  .exp-price .p { font-family:'Cormorant Garamond', serif; font-size:26px; color:var(--hueso); }
  .exp-price .u { font-size:11px; color:var(--gris); }
  @media (max-width:980px) { .exp-grid { grid-template-columns:1fr 1fr; } }
  @media (max-width:600px) { .exp-grid { grid-template-columns:1fr; } }

  /* ---------- NOCHES (evening) ---------- */
  .noches {
    position:relative; padding:130px 0;
    background:#000;
  }
  .noches-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.4; }
  .noches-veil { position:absolute; inset:0; background:linear-gradient(100deg, rgba(23,19,15,0.97) 32%, rgba(23,19,15,0.55) 100%); }
  .noches .wrap { position:relative; z-index:2; }
  .noches-top { max-width:560px; margin-bottom:56px; }
  .noches-list { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--linea); }
  .noche-item { padding:30px 26px 30px 0; border-bottom:1px solid var(--linea); }
  .noche-item:not(:last-child) { border-right:1px solid var(--linea); padding-right:26px; }
  .noche-day { font-family:'Inter', sans-serif; font-size:11px; letter-spacing:0.12em; color:var(--cobre-luz); text-transform:uppercase; }
  .noche-item h3 { font-size:24px; margin:12px 0 8px; }
  .noche-item .desc { color:var(--gris); font-size:15px; line-height:1.5; }
  .noche-price { margin-top:18px; font-family:'Cormorant Garamond', serif; font-size:24px; color:var(--hueso); }
  @media (max-width:820px) {
    .noches-list { grid-template-columns:1fr; }
    .noche-item { border-right:none !important; padding-right:0 !important; }
  }

  /* ---------- HISTORIA / STORY ---------- */
  .historia { padding:120px 0; border-bottom:1px solid var(--linea); }
  .historia .wrap { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
  .historia-img { width:100%; border-radius:2px; filter:saturate(0.92) contrast(1.03); }
  .historia-text .eyebrow { display:block; margin-bottom:18px; }
  .historia-text h2 { font-size:clamp(30px,3.6vw,42px); margin-bottom:22px; line-height:1.15; }
  .historia-text p { color:var(--gris); font-size:17.5px; margin-bottom:16px; }
  .historia-quote {
    margin-top:26px; padding-left:22px; border-left:2px solid var(--cobre);
    font-style:italic; font-size:19px; color:var(--hueso);
  }
  @media (max-width:860px) { .historia .wrap { grid-template-columns:1fr; } }

  /* ---------- GALERÍA / PRODUCTO ---------- */
  .galeria { padding:100px 0 120px; }
  .gal-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:22px; }
  .gal-grid img { width:100%; height:100%; object-fit:cover; border-radius:2px; display:block; }
  .gal-right { display:flex; flex-direction:column; gap:22px; }
  .gal-product {
    background:var(--negro-2); border:1px solid var(--linea); padding:30px;
    display:flex; gap:24px; align-items:center; border-radius:2px;
  }
  .gal-product img { width:96px; border-radius:2px; }
  .gal-product .eyebrow { display:block; margin-bottom:8px; }
  .gal-product h3 { font-size:22px; margin-bottom:4px; }
  .gal-product p { color:var(--gris); font-size:14.5px; }
  @media (max-width:820px) { .gal-grid { grid-template-columns:1fr; } }

  /* ---------- CTA / RESERVAS ---------- */
  .cta {
    padding:110px 0; text-align:center; position:relative;
    background: radial-gradient(ellipse at 50% 0%, rgba(168,85,43,0.16), transparent 60%);
    border-top:1px solid var(--linea);
  }
  .cta .eyebrow { display:block; margin-bottom:18px; }
  .cta h2 { font-size:clamp(34px,5vw,58px); max-width:720px; margin:0 auto 26px; line-height:1.1; }
  .cta p { color:var(--gris); font-size:18px; max-width:480px; margin:0 auto 40px; }
  .cta-actions { display:flex; gap:18px; justify-content:center; flex-wrap:wrap; }

  /* ---------- FOOTER ---------- */
  footer { padding:64px 0 40px; border-top:1px solid var(--linea); }
  .foot-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
  .foot-mark { font-family:'Cormorant Garamond', serif; font-size:24px; margin-bottom:14px; }
  .foot-mark b { color:var(--cobre-luz); font-weight:600; }
  footer p, footer a { color:var(--gris); font-size:14.5px; line-height:1.9; }
  footer a:hover { color:var(--cobre-luz); }
  .foot-h { font-family:'Inter', sans-serif; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--hueso); margin-bottom:12px; }
  .foot-bottom {
    margin-top:56px; padding-top:22px; border-top:1px solid var(--linea);
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
    font-family:'Inter', sans-serif; font-size:12px; color:var(--gris); opacity:0.7;
  }
  @media (max-width:820px) { .foot-grid { grid-template-columns:1fr 1fr; } }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    * { transition:none !important; }
  }

  ::selection { background:var(--cobre); color:var(--hueso); }

  .nav-logo { height: 46px; width:auto; }
  .foot-logo { height: 64px; width:auto; margin-bottom:16px; opacity:0.92; }
  .hero-wing { object-fit:contain; }

  /* ---------- AÑADIDOS DEL TEMA ---------- */
  /* Estilos para páginas internas, tienda y accesibilidad.
     El diseño de la landing arriba queda intacto. */

  .skip-link {
    position:absolute; left:-9999px; top:0;
    background:var(--cobre); color:var(--hueso);
    padding:12px 20px; z-index:100;
    font-family:'Inter', sans-serif; font-size:13px;
  }
  .skip-link:focus { left:0; }

  .screen-reader-text {
    position:absolute; width:1px; height:1px;
    overflow:hidden; clip:rect(1px,1px,1px,1px);
    white-space:nowrap;
  }

  /* Foco visible por teclado: requisito de accesibilidad. */
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
    outline:2px solid var(--cobre-luz);
    outline-offset:3px;
  }

  /* Las tarjetas de experiencia ahora son enlaces; mantienen su aspecto. */
  a.exp-card, a.noche-item { display:block; color:inherit; text-decoration:none; }

  /* Páginas internas: entradas, tienda, resultados. */
  .contenido-interno {
    padding-top:160px;
    padding-bottom:100px;
    min-height:60vh;
  }
  .contenido-interno h1 {
    font-size:clamp(30px,4vw,44px);
    margin-bottom:26px;
    line-height:1.15;
  }
  .contenido-interno h2 { font-size:clamp(24px,3vw,32px); margin:36px 0 14px; }
  .contenido-interno h3 { font-size:22px; margin:28px 0 12px; }
  .contenido-interno .entrada { max-width:70ch; }
  .contenido-interno .entrada p { margin-bottom:18px; color:var(--gris); }
  .contenido-interno .entrada a { color:var(--cobre-luz); text-decoration:underline; }
  .contenido-interno img { max-width:100%; height:auto; }
  .entrada-img { margin:0 0 30px; }

  /* WooCommerce: hereda la paleta del sitio en vez de sus estilos por defecto. */
  .woocommerce-page .contenido-interno,
  .woocommerce .wrap { color:var(--hueso); }
  .woocommerce .button,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button {
    background:var(--cobre) !important;
    color:var(--hueso) !important;
    border-radius:2px !important;
    font-family:'Inter', sans-serif !important;
    font-size:13px !important;
    letter-spacing:0.08em !important;
    text-transform:uppercase !important;
    padding:14px 26px !important;
    transition:background .2s;
  }
  .woocommerce .button:hover,
  .woocommerce a.button:hover { background:var(--cobre-luz) !important; }
  .woocommerce .price { color:var(--cobre-luz) !important; font-family:'Cormorant Garamond', serif; font-size:24px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:'Cormorant Garamond', serif; }

  /* Respeta a quien pidió menos movimiento en su sistema operativo. */
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    * { animation-duration:0.01ms !important; transition-duration:0.01ms !important; }
  }
