/* Timeless Agave — shared page styles (homepage design language) */
      /* ===== Products page — matches homepage design language ===== */
      .tg {
        width: 100vw;
        margin-left: calc(50% - 50vw);
        position: relative;
        --cream: #fffbf2;
        --cream-2: #f0e9da;
        --ink: #000;
        --ink-soft: #3a3530;
        --muted: #6d655b;
        --tan: #c7a17a;
        --line: rgba(0, 0, 0, 0.14);
        background: var(--cream);
        color: var(--ink);
        font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
        overflow: hidden;
      }
      .tg *, .tg *::before, .tg *::after { box-sizing: border-box; }
      .tg img { max-width: 100%; height: auto; display: block; }
      .tg a { text-decoration: none; }
      .tg-wrap { max-width: 1200px; margin: 0 auto; padding: 0 30px; position: relative; z-index: 3; }

      .tg-script {
        font-family: arkipelagoregular, cursive;
        color: var(--tan);
        font-size: 60px;
        line-height: 1;
        font-weight: normal;
        text-transform: none;
        letter-spacing: 0;
        margin: 0;
      }
      .tg-display {
        font-family: bebas_neuebold, "Oswald", sans-serif;
        font-weight: normal;
        text-transform: uppercase;
        line-height: 0.95;
        letter-spacing: 0.5px;
        color: var(--ink);
        margin: 0;
      }
      .tg-kicker {
        font-family: Roboto, Arial, sans-serif;
        font-size: 12px;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--muted);
      }
      .tg-lead { font-size: 17px; line-height: 1.75; color: var(--ink-soft); }
      .tg-body { font-size: 15px; line-height: 1.8; color: var(--ink-soft); }

      /* Brush edges (same artwork as homepage) */
      .tg-brush { position: absolute; left: 0; right: 0; height: 110px; background-repeat: no-repeat; background-size: 100% 100%; z-index: 2; pointer-events: none; }
      .tg-brush--cream-up { bottom: -1px; background-image: url(../upload/bg-header-overlay-lg.webp); }
      .tg-brush--cream-down { top: -1px; background-image: url(../upload/bg-header-overlay-lg-2.png); }
      .tg-brush--black-up { bottom: -1px; background-image: url(../upload/bg-header-overlay-lg-black.png); }
      .tg-brush--black-down { top: -1px; background-image: url(../upload/bg-header-overlay-lg-black-2.png); }
      .tg-vline { width: 1px; height: 90px; background: var(--ink); margin: -45px auto 0; position: relative; z-index: 4; }

      /* Buttons (homepage outline style) */
      .tg-btn {
        display: inline-flex; align-items: center; gap: 10px;
        font-family: bebas_neuebold, "Oswald", sans-serif;
        font-size: 18px; letter-spacing: 2px; text-transform: uppercase;
        padding: 14px 30px; border: 1px solid currentColor;
        transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
      }
      .tg-btn--dark { color: var(--ink) !important; }
      .tg-btn--dark:hover { background: var(--ink); color: #fff !important; border-color: var(--ink); }
      .tg-btn--light { color: #fff !important; }
      .tg-btn--light:hover { background: #fff; color: var(--ink) !important; border-color: #fff; }
      .tg-btn--tan { color: var(--tan) !important; }
      .tg-btn--tan:hover { background: var(--tan); color: #000 !important; border-color: var(--tan); }

      /* Hero */
      .tg-hero {
        position: relative; min-height: 680px;
        display: flex; align-items: center; justify-content: center; text-align: center;
        background: #000 url(../upload/hero-luxury-tequila.jpg) center 40% / cover no-repeat;
        padding: 160px 0 170px;
      }
      .tg-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.35) 55%, rgba(0,0,0,0.5) 100%); z-index: 1; }
      .tg-hero .tg-display { color: #fff; font-size: 110px; margin-top: -6px; }
      .tg-hero .tg-kicker { color: rgba(255,255,255,0.85); margin-top: 22px; display: block; }

      /* Collection lineup */
      .tg-collection { padding: 70px 0 30px; text-align: center; }
      .tg-collection .tg-display { font-size: 100px; }
      .tg-collection .tg-lead { max-width: 640px; margin: 24px auto 0; }
      .tg-brandmark { width: 190px; margin: 0 auto 36px; }
      .tg-lineup {
        display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
        margin: 70px auto 0; max-width: 1000px;
      }
      .tg-lineup a { display: block; color: var(--ink); }
      .tg-lineup-bottle {
        height: 400px; display: flex; align-items: flex-end; justify-content: center;
        position: relative; padding-bottom: 18px;
      }
      .tg-lineup-bottle::after {
        content: ""; position: absolute; bottom: 8px; left: 50%; width: 120px; height: 18px; transform: translateX(-50%);
        background: radial-gradient(ellipse at center, rgba(0,0,0,0.22) 0%, rgba(0,0,0,0) 70%);
      }
      .tg-lineup-bottle img { max-height: 380px; width: auto; position: relative; z-index: 1; transition: transform 0.5s cubic-bezier(.23,1,.32,1); }
      .tg-lineup a:hover .tg-lineup-bottle img { transform: translateY(-10px); }
      .tg-lineup h3 { font-family: bebas_neuebold, sans-serif; font-weight: normal; font-size: 30px; letter-spacing: 1px; margin: 18px 0 4px; color: var(--ink); }
      .tg-lineup span { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }

      .tg-facts {
        display: grid; grid-template-columns: repeat(5, 1fr);
        border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
        margin: 80px auto 0; max-width: 1100px;
      }
      .tg-facts div { padding: 26px 12px; border-left: 1px solid var(--line); }
      .tg-facts div:first-child { border-left: 0; }
      .tg-facts strong { display: block; font-family: bebas_neuebold, sans-serif; font-weight: normal; font-size: 26px; letter-spacing: 1px; line-height: 1.05; }
      .tg-facts small { display: block; margin-top: 6px; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }

      /* Expression sections */
      .tg-exp { position: relative; padding: 120px 0; }
      .tg-exp--alt { background: var(--cream-2); padding: 190px 0; }
      #extra-anejo { padding-bottom: 150px; }
      .tg-exp-grid { display: grid; grid-template-columns: 5fr 6fr; gap: 80px; align-items: center; }
      .tg-exp--flip .tg-exp-grid { grid-template-columns: 6fr 5fr; }
      .tg-exp--flip .tg-exp-media { order: 2; }
      .tg-exp--flip .tg-exp-copy { order: 1; }
      .tg-exp-media {
        position: relative; height: 620px;
        display: flex; align-items: center; justify-content: center;
      }
      .tg-exp-media::before {
        content: ""; position: absolute; inset: 0 8%;
        background: #000;
      }
      .tg-exp-media .tg-num {
        position: absolute; top: 26px; left: calc(8% + 26px);
        font-family: bebas_neuebold, sans-serif; font-size: 22px; letter-spacing: 3px; color: var(--tan); z-index: 1;
      }
      .tg-exp-media .tg-num-total { color: rgba(255,255,255,0.4); }
      .tg-exp-media .tg-glow { position: absolute; width: 70%; height: 55%; top: 22%; left: 15%; border-radius: 50%; filter: blur(60px); opacity: 0.45; }
      .tg-exp-media img { position: relative; z-index: 1; max-height: 540px; width: auto; filter: drop-shadow(0 30px 30px rgba(0,0,0,0.55)); }
      .tg-exp-media .tg-frame { position: absolute; inset: 16px calc(8% + 16px); border: 1px solid rgba(255,255,255,0.22); z-index: 1; pointer-events: none; }

      .tg-exp-copy .tg-script { font-size: 52px; }
      .tg-exp-copy .tg-display { font-size: 96px; margin-top: -4px; }
      .tg-exp-copy .tg-lead { margin: 22px 0 0; font-size: 18px; color: var(--ink); }
      .tg-rule { display: flex; align-items: center; gap: 16px; margin: 34px 0 14px; }
      .tg-rule span { font-family: bebas_neuebold, sans-serif; font-size: 22px; letter-spacing: 1.5px; white-space: nowrap; }
      .tg-rule::after { content: ""; flex: 1; height: 1px; background: var(--line); }

      .tg-specs { display: grid; grid-template-columns: 1.4fr 1fr 1fr; border: 1px solid var(--line); margin-top: 34px; }
      .tg-specs div { padding: 18px 20px; border-left: 1px solid var(--line); }
      .tg-specs div:first-child { border-left: 0; }
      .tg-specs small { display: block; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
      .tg-specs b { font-weight: 500; font-size: 15px; line-height: 1.45; color: var(--ink); }

      .tg-awards { display: flex; flex-wrap: wrap; gap: 14px 16px; align-items: center; }
      .tg-awards img { height: 50px; width: auto; }
      .tg-exp-actions { margin-top: 38px; display: flex; gap: 14px; flex-wrap: wrap; }

      /* Presentation band (black, like homepage "Distinguished Spirits" block) */
      .tg-present { position: relative; background: #000; color: #fff; padding: 200px 0 210px; }
      .tg-present-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: stretch; }
      .tg-present-media {
        background: var(--cream); display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 10px;
        padding: 50px 40px 40px;
      }
      .tg-present-media img { mix-blend-mode: multiply; margin: 0 auto; }
      .tg-present-media .open { max-height: 330px; width: auto; }
      .tg-present-media .closed { max-height: 380px; width: auto; }
      .tg-present-copy { padding: 60px 0 60px 70px; display: flex; flex-direction: column; justify-content: center; }
      .tg-present-copy .tg-display { color: #fff; font-size: 72px; margin-top: -4px; }
      .tg-present-copy .tg-body { color: rgba(255,255,255,0.72); margin: 22px 0 0; }
      .tg-present-list { list-style: none; padding: 0; margin: 30px 0 0; border-top: 1px solid rgba(255,255,255,0.15); }
      .tg-present-list li { display: flex; justify-content: space-between; gap: 20px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,0.15); font-size: 15px; color: rgba(255,255,255,0.85); }
      .tg-present-list li span:first-child { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.5); padding-top: 3px; }
      .tg-present-list li span:last-child { text-align: right; }

      .tg-table-wrap { margin-top: 110px; }
      .tg-table-head { text-align: center; margin-bottom: 36px; }
      .tg-table-head .tg-display { color: #fff; font-size: 64px; }
      .tg-table { width: 100%; border-collapse: collapse; font-size: 15px; }
      .tg-table th { font-family: Roboto, Arial, sans-serif; font-weight: 500; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--tan); text-align: left; padding: 0 18px 14px; border-bottom: 1px solid rgba(255,255,255,0.3); }
      .tg-table td { padding: 20px 18px; border-bottom: 1px solid rgba(255,255,255,0.12); color: rgba(255,255,255,0.8); vertical-align: middle; }
      .tg-table td:first-child { font-family: bebas_neuebold, sans-serif; font-size: 24px; letter-spacing: 1px; color: #fff; white-space: nowrap; }
      .tg-table .dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(255,255,255,0.45); margin-right: 12px; vertical-align: 3px; }
      .tg-present .tg-actions-center { text-align: center; margin-top: 50px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
      .tg-brand-link { display: block; text-align: center; margin-top: 22px; font-size: 13px; letter-spacing: 1.5px; color: rgba(255,255,255,0.55) !important; }
      .tg-brand-link:hover { color: var(--tan) !important; }

      /* Salamadre */
      .tg-rtd { padding: 110px 0 130px; }
      .tg-rtd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
      .tg-rtd-media { position: relative; }
      .tg-rtd-media img { width: 100%; height: 560px; object-fit: cover; }
      .tg-rtd-media::after { content: ""; position: absolute; inset: 16px; border: 1px solid rgba(255,255,255,0.45); pointer-events: none; }
      .tg-rtd .tg-script { font-size: 52px; }
      .tg-rtd .tg-display { font-size: 80px; margin-top: -4px; }
      .tg-rtd-meta { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin-top: 16px; }
      .tg-rtd ul { list-style: none; padding: 0; margin: 26px 0 0; border-top: 1px solid var(--line); }
      .tg-rtd li { padding: 13px 0 13px 30px; border-bottom: 1px solid var(--line); font-size: 15px; color: var(--ink-soft); position: relative; }
      .tg-rtd li::before { content: ""; position: absolute; left: 0; top: 21px; width: 14px; height: 1px; background: var(--tan); }

      /* Closing CTA (photo band like homepage "Our Portfolio") */
      .tg-cta {
        position: relative; text-align: center; color: #fff;
        background: #000 url(../upload/hero-agave-landscape.jpg) center / cover no-repeat;
        padding: 200px 0 210px;
      }
      .tg-cta::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.5); z-index: 1; }
      .tg-cta .tg-display { color: #fff; font-size: 90px; max-width: 900px; margin: -4px auto 0; }
      .tg-cta p { max-width: 640px; margin: 24px auto 0; font-size: 17px; line-height: 1.75; color: rgba(255,255,255,0.85); }
      .tg-cta .tg-actions-center { margin-top: 40px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
      .tg-cta-contact { margin-top: 30px; font-size: 14px; letter-spacing: 1px; color: rgba(255,255,255,0.75); }
      .tg-cta-contact a { color: #fff !important; }
      .tg-cta-contact a:hover { color: var(--tan) !important; }

      /* Reveal on scroll (content stays visible without JS) */
      .tg-js .tg-reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.9s cubic-bezier(.23,1,.32,1), transform 0.9s cubic-bezier(.23,1,.32,1); }
      .tg-js .tg-reveal.is-in { opacity: 1; transform: none; }

      @media (max-width: 1024px) {
        .tg-hero .tg-display { font-size: 80px; }
        .tg-collection .tg-display { font-size: 76px; }
        .tg-exp-grid { gap: 50px; }
        .tg-exp-copy .tg-display { font-size: 76px; }
        .tg-present-copy { padding-left: 40px; }
        .tg-present-copy .tg-display { font-size: 58px; }
        .tg-cta .tg-display { font-size: 70px; }
        .tg-facts { grid-template-columns: repeat(3, 1fr); }
        .tg-facts div:nth-child(4) { border-left: 0; }
        .tg-facts div:nth-child(n+4) { border-top: 1px solid var(--line); }
      }
      @media (max-width: 860px) {
        .tg-wrap { padding: 0 20px; }
        .tg-brush { height: 60px; }
        .tg-hero { min-height: 560px; padding: 130px 0 120px; }
        .tg-hero .tg-display { font-size: 60px; }
        .tg-script, .tg-exp-copy .tg-script, .tg-rtd .tg-script { font-size: 40px; }
        .tg-collection { padding: 50px 0 80px; }
        .tg-collection .tg-display { font-size: 58px; }
        .tg-lineup { grid-template-columns: repeat(2, 1fr); gap: 40px 16px; margin-top: 50px; }
        .tg-lineup-bottle { height: 300px; }
        .tg-lineup-bottle img { max-height: 280px; }
        .tg-facts { grid-template-columns: 1fr 1fr; }
        .tg-facts div { border-left: 0 !important; border-top: 1px solid var(--line); }
        .tg-facts div:nth-child(-n+2) { border-top: 0; }
        .tg-facts div:nth-child(even) { border-left: 1px solid var(--line) !important; }
        .tg-facts div:last-child { grid-column: 1 / -1; border-left: 0 !important; }
        .tg-exp { padding: 80px 0; }
        .tg-exp--alt { padding: 120px 0; }
        .tg-exp-grid, .tg-exp--flip .tg-exp-grid { grid-template-columns: 1fr; gap: 40px; }
        .tg-exp--flip .tg-exp-media { order: 0; }
        .tg-exp--flip .tg-exp-copy { order: 1; }
        .tg-exp-media { height: 460px; }
        .tg-exp-media img { max-height: 400px; }
        .tg-exp-copy .tg-display { font-size: 64px; }
        .tg-specs { grid-template-columns: 1fr; }
        .tg-specs div { border-left: 0; border-top: 1px solid var(--line); }
        .tg-specs div:first-child { border-top: 0; }
        .tg-awards img { height: 48px; }
        .tg-present { padding: 120px 0 130px; }
        .tg-present-grid { grid-template-columns: 1fr; }
        .tg-present-media { padding: 30px 20px 24px; }
        .tg-present-media .open { max-height: 220px; }
        .tg-present-media .closed { max-height: 250px; }
        .tg-present-copy { padding: 44px 0 0; }
        .tg-present-copy .tg-display { font-size: 52px; }
        .tg-table-wrap { margin-top: 80px; }
        .tg-table-head .tg-display { font-size: 48px; }
        .tg-table thead { display: none; }
        .tg-table, .tg-table tbody, .tg-table tr, .tg-table td { display: block; width: 100%; }
        .tg-table tr { padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,0.15); }
        .tg-table td { border: 0; padding: 4px 0; }
        .tg-table td[data-label]::before { content: attr(data-label) ": "; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--tan); }
        .tg-rtd { padding: 70px 0 90px; }
        .tg-rtd-grid { grid-template-columns: 1fr; gap: 40px; }
        .tg-rtd-media img { height: 380px; }
        .tg-rtd .tg-display { font-size: 60px; }
        .tg-cta { padding: 130px 0 140px; }
        .tg-cta .tg-display { font-size: 52px; }
        .tg-btn { font-size: 16px; padding: 13px 22px; }
      }

/* ===== Homepage: product row (4 across) ===== */
ul.products.ta-product-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0 auto !important;
  max-width: 1200px;
  width: 100%;
}
ul.products.ta-product-row::before, ul.products.ta-product-row::after { display: none !important; }
ul.products.ta-product-row li.ta-product-card {
  width: auto !important; max-width: none !important; margin: 0 !important; float: none !important;
  background: #141614; padding: 24px 20px 28px; text-align: center;
  border: 1px solid rgba(255,255,255,0.08); border-radius: 4px;
  display: flex; flex-direction: column;
  transition: transform 0.4s cubic-bezier(.23,1,.32,1), border-color 0.3s ease;
}
ul.products.ta-product-row li.ta-product-card:hover { transform: translateY(-6px); border-color: rgba(199,161,122,0.55); }
ul.products.ta-product-row li.ta-product-card > a:first-child { flex: 1; display: block; }
ul.products.ta-product-row li.ta-product-card .inquire-btn { align-self: center; }
@media (max-width: 1024px) { ul.products.ta-product-row { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px; } }
@media (max-width: 520px) { ul.products.ta-product-row { grid-template-columns: 1fr; max-width: 320px; } }

/* ===== Homepage: store locator band ===== */
.tg-locator-band { background: #1f1e1d; }
.tg-locator { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; }
.tg-locator-copy { background: #1f1e1d; display: flex; align-items: center; justify-content: flex-end; padding: 90px 80px 90px 30px; }
.tg-locator-inner { width: 100%; max-width: 520px; }
.tg-locator-copy .tg-display { color: #fff; font-size: 72px; margin-top: -4px; }
.tg-locator-copy .tg-script { font-size: 52px; }
.tg-locator-copy p { color: rgba(255,255,255,0.8); font-size: 16px; line-height: 1.8; margin: 22px 0 34px; }
.tg-locator-media { background: #000 url(../upload/hero-agave-landscape.jpg) center / cover no-repeat; min-height: 420px; }
@media (max-width: 860px) {
  .tg-locator { grid-template-columns: 1fr; }
  .tg-locator-copy { padding: 70px 20px; justify-content: flex-start; }
  .tg-locator-copy .tg-display { font-size: 56px; }
  .tg-locator-copy .tg-script { font-size: 40px; }
  .tg-locator-media { min-height: 300px; }
}

/* ===== Footer credit ===== */
.ta-powered-by img { height: 1em; width: auto; transition: opacity 0.3s ease; }
.ta-powered-by:hover img { opacity: 0.8; }
.ta-footer-sep { opacity: 0.6; margin: 0 2px; }

/* ===== Shared inner-page components ===== */
.tg-hero--short { min-height: 560px; padding: 150px 0 160px; }
.tg-hero .tg-lead-light { color: rgba(255,255,255,0.85); font-size: 17px; line-height: 1.75; max-width: 680px; margin: 22px auto 0; }
.tg-intro { padding: 60px 0 90px; text-align: center; }
.tg-intro .tg-lead { max-width: 780px; margin: 0 auto; font-size: 19px; color: var(--ink); }
.tg-section { position: relative; padding: 110px 0; }
.tg-section--tight { padding: 40px 0 110px; }
.tg-head { text-align: center; margin-bottom: 60px; }
.tg-head .tg-display { font-size: 84px; }
.tg-head p { max-width: 640px; margin: 20px auto 0; }

/* Split: image + copy (homepage "Our Story" style) */
.tg-split { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.tg-split-media { position: relative; }
.tg-split-media img { width: 100%; height: 600px; object-fit: cover; }
.tg-split-media::after { content: ""; position: absolute; inset: 16px; border: 1px solid rgba(255,255,255,0.5); pointer-events: none; }
.tg-split-copy .tg-display { font-size: 64px; margin-top: 8px; }
.tg-split-copy .tg-body + .tg-body { margin-top: 18px; }
.tg-split-copy .tg-body:first-of-type { margin-top: 26px; }

/* Dark band */
.tg-dark { position: relative; background: #000; color: #fff; padding: 200px 0 210px; }
.tg-dark .tg-display { color: #fff; }
.tg-dark .tg-kicker { color: rgba(255,255,255,0.55); }
.tg-pillars { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(255,255,255,0.18); }
.tg-pillar { padding: 50px 40px 54px; border-left: 1px solid rgba(255,255,255,0.18); }
.tg-pillar:first-child { border-left: 0; }
.tg-pillar .tg-pillar-num { font-family: bebas_neuebold, sans-serif; font-size: 22px; letter-spacing: 3px; color: var(--tan); }
.tg-pillar h3 { font-family: bebas_neuebold, sans-serif; font-weight: normal; font-size: 40px; letter-spacing: 0.5px; color: #fff; margin: 18px 0 16px; line-height: 1; }
.tg-pillar p { color: rgba(255,255,255,0.72); font-size: 15px; line-height: 1.8; margin: 0; }
.tg-duo { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(255,255,255,0.18); }
.tg-duo > div { padding: 60px 50px; border-left: 1px solid rgba(255,255,255,0.18); display: flex; flex-direction: column; align-items: flex-start; }
.tg-duo > div:first-child { border-left: 0; }
.tg-duo h3 { font-family: bebas_neuebold, sans-serif; font-weight: normal; font-size: 46px; color: #fff; margin: 14px 0 18px; line-height: 1; }
.tg-duo p { color: rgba(255,255,255,0.72); font-size: 15px; line-height: 1.8; margin: 0 0 32px; flex: 1; }

/* Store locator search + regions */
.tg-search { max-width: 760px; margin: 0 auto; text-align: center; }
.tg-search-row { display: flex; gap: 0; margin-top: 26px; border: 1px solid var(--ink); background: #fff; }
.tg-search-row input { flex: 1; min-width: 0; border: 0 !important; background: transparent !important; padding: 18px 22px !important; font-size: 16px; color: var(--ink) !important; outline: none; font-family: Roboto, Arial, sans-serif; box-shadow: none !important; margin: 0 !important; height: auto !important; }
.tg-search-row button { border: 0; border-left: 1px solid var(--ink); background: var(--ink); color: #fff; font-family: bebas_neuebold, sans-serif; font-size: 18px; letter-spacing: 2px; padding: 0 34px; cursor: pointer; transition: background 0.3s ease, color 0.3s ease; }
.tg-search-row button:hover { background: var(--tan); color: #000; }
.tg-search-feedback { display: none; margin-top: 16px; font-size: 14px; color: var(--ink-soft); }
.tg-search-chips { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.tg-search-chips button { background: transparent; border: 1px solid var(--line); color: var(--muted); font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; padding: 8px 14px; cursor: pointer; font-family: Roboto, Arial, sans-serif; transition: all 0.3s ease; }
.tg-search-chips button:hover { border-color: var(--ink); color: var(--ink); }
.tg-regions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.tg-region { padding: 44px 38px 40px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; background: transparent; transition: background 0.3s ease; }
.tg-region:hover { background: rgba(255,255,255,0.55); }
.tg-region .tg-pillar-num { font-family: bebas_neuebold, sans-serif; font-size: 20px; letter-spacing: 3px; color: var(--tan); }
.tg-region h3 { font-family: bebas_neuebold, sans-serif; font-weight: normal; font-size: 36px; line-height: 1; margin: 14px 0 10px; color: var(--ink); }
.tg-region .tg-region-tag { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }
.tg-region p { font-size: 15px; line-height: 1.75; color: var(--ink-soft); margin: 18px 0 22px; flex: 1; }
.tg-region .tg-region-feat { font-size: 13px; line-height: 1.6; color: var(--ink); padding-top: 16px; border-top: 1px solid var(--line); }
.tg-region .tg-region-feat b { font-weight: 500; letter-spacing: 1.5px; font-size: 11px; text-transform: uppercase; color: var(--muted); display: block; margin-bottom: 4px; }
.tg-region.is-hidden { display: none; }

/* Contact */
.tg-contact { display: grid; grid-template-columns: 5fr 7fr; gap: 0; align-items: stretch; }
.tg-contact-info { padding: 20px 70px 20px 0; }
.tg-contact-info .tg-display { font-size: 64px; margin-top: 4px; }
.tg-contact-info .tg-body { margin-top: 22px; }
.tg-contact-list { list-style: none; padding: 0; margin: 36px 0 0; border-top: 1px solid var(--line); }
.tg-contact-list li { padding: 24px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: start; }
.tg-contact-list .ico { width: 44px; height: 44px; border: 1px solid var(--ink); display: flex; align-items: center; justify-content: center; font-size: 15px; color: var(--ink); }
.tg-contact-list h4 { font-family: bebas_neuebold, sans-serif; font-weight: normal; font-size: 24px; letter-spacing: 0.5px; margin: 0; line-height: 1.1; color: var(--ink); }
.tg-contact-list small { display: block; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin: 4px 0 8px; }
.tg-contact-list a, .tg-contact-list span.val { font-size: 16px; color: var(--ink) !important; line-height: 1.6; }
.tg-contact-list a:hover { color: var(--tan) !important; }
.tg-form-panel { background: #000; color: #fff; padding: 60px 56px; position: relative; }
.tg-form-panel::before { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,0.14); pointer-events: none; }
.tg-form-panel .tg-display { color: #fff; font-size: 56px; margin-top: 4px; }
.tg-form-panel > p, .tg-form-panel .tg-form-note { color: rgba(255,255,255,0.65); font-size: 14px; line-height: 1.7; margin: 14px 0 34px; }
.tg-form { position: relative; z-index: 1; }
.tg-form .tg-field { margin-bottom: 26px; }
.tg-form .tg-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.tg-form label { display: block; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--tan); margin-bottom: 8px; font-family: Roboto, Arial, sans-serif; }
.tg-form input, .tg-form select, .tg-form textarea {
  width: 100% !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid rgba(255,255,255,0.35) !important;
  border-radius: 0 !important; color: #fff !important; padding: 10px 0 12px !important; font-size: 16px !important; outline: none; box-shadow: none !important;
  font-family: Roboto, Arial, sans-serif; margin: 0 !important; height: auto !important; transition: border-color 0.3s ease;
}
.tg-form select { -webkit-appearance: none; appearance: none; background-image: linear-gradient(45deg, transparent 50%, #c7a17a 50%), linear-gradient(135deg, #c7a17a 50%, transparent 50%) !important; background-position: calc(100% - 12px) 20px, calc(100% - 6px) 20px !important; background-size: 6px 6px, 6px 6px !important; background-repeat: no-repeat !important; cursor: pointer; }
.tg-form select option { color: #000; }
.tg-form textarea { resize: vertical; min-height: 120px; }
.tg-form input::placeholder, .tg-form textarea::placeholder { color: rgba(255,255,255,0.35); }
.tg-form input:focus, .tg-form select:focus, .tg-form textarea:focus { border-bottom-color: var(--tan) !important; }
.tg-form button[type="submit"] { width: 100%; justify-content: center; background: transparent; cursor: pointer; margin-top: 8px; }

@media (max-width: 1024px) {
  .tg-head .tg-display { font-size: 64px; }
  .tg-split { gap: 50px; }
  .tg-split-copy .tg-display, .tg-contact-info .tg-display { font-size: 52px; }
  .tg-regions { grid-template-columns: repeat(2, 1fr); }
  .tg-pillar { padding: 40px 28px; }
  .tg-contact { grid-template-columns: 1fr; gap: 60px; }
  .tg-contact-info { padding: 0; }
}
@media (max-width: 860px) {
  .tg-hero--short { min-height: 480px; padding: 120px 0 110px; }
  .tg-intro { padding: 40px 0 60px; }
  .tg-intro .tg-lead { font-size: 17px; }
  .tg-section { padding: 70px 0; }
  .tg-section--tight { padding: 20px 0 70px; }
  .tg-head { margin-bottom: 40px; }
  .tg-head .tg-display { font-size: 50px; }
  .tg-split { grid-template-columns: 1fr; gap: 40px; }
  .tg-split-media img { height: 380px; }
  .tg-dark { padding: 120px 0 130px; }
  .tg-pillars, .tg-duo { grid-template-columns: 1fr; }
  .tg-pillar, .tg-duo > div { border-left: 0; border-top: 1px solid rgba(255,255,255,0.18); }
  .tg-pillar:first-child, .tg-duo > div:first-child { border-top: 0; }
  .tg-duo > div { padding: 44px 28px; }
  .tg-duo h3 { font-size: 38px; }
  .tg-regions { grid-template-columns: 1fr; }
  .tg-region { padding: 34px 24px; }
  .tg-search-row button { padding: 0 20px; font-size: 16px; }
  .tg-form-panel { padding: 44px 24px; }
  .tg-form-panel .tg-display { font-size: 44px; }
  .tg-form .tg-row2 { grid-template-columns: 1fr; gap: 0; }
}

/* spacing refinements */
.tg p { margin-bottom: 0; }
.tg-hero--short { padding-top: 200px; }
@media (max-width: 860px) { .tg-hero--short { padding-top: 150px; } }

/* Awards: theme forces img height:auto on mobile, so lock the size */
.tg .tg-awards { gap: 12px 14px; }
.tg .tg-awards img { height: 50px !important; width: auto !important; max-width: none !important; }
.tg .tg-split-media img { height: 600px !important; }
.tg .tg-rtd-media img { height: 560px !important; }
@media (max-width: 860px) {
  .tg .tg-awards { gap: 10px 12px; }
  .tg .tg-awards img { height: 42px !important; }
  .tg .tg-split-media img { height: 380px !important; }
  .tg .tg-rtd-media img { height: 380px !important; }
}

/* ===== Mezcal collection ===== */
.tg-mezcal-intro { padding-top: 110px; }
.tg-mz .tg-exp-media img { max-height: 560px; filter: drop-shadow(0 30px 30px rgba(0,0,0,0.55)); }
.tg-specs--4 { grid-template-columns: 1fr 1fr 0.8fr 1.4fr; }
.tg-process { margin: 0; padding: 0; border-top: 1px solid var(--line); }
.tg-process > div { display: grid; grid-template-columns: 140px 1fr; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.tg-process dt { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); font-weight: normal; padding-top: 3px; }
.tg-process dd { margin: 0; font-size: 15px; color: var(--ink); line-height: 1.5; }
.tg-tasting { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--line); }
.tg-tasting > div { padding: 18px 20px; border-left: 1px solid var(--line); }
.tg-tasting > div:first-child { border-left: 0; }
.tg-tasting small { display: block; font-family: bebas_neuebold, sans-serif; font-size: 20px; letter-spacing: 1px; color: var(--tan); margin-bottom: 6px; }
.tg-tasting p { font-size: 14px; line-height: 1.65; color: var(--ink-soft); margin: 0; }

/* Homepage second product row heading */
.ta-row-head { text-align: center; margin: 90px auto 40px; }
.ta-row-head .tg-script { font-size: 52px; }
.ta-row-head .tg-display { font-size: 64px; color: #000; }

@media (max-width: 1024px) {
  .tg-specs--4 { grid-template-columns: 1fr 1fr; }
  .tg-specs--4 div:nth-child(3) { border-left: 0; }
  .tg-specs--4 div:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 860px) {
  .tg-mezcal-intro { padding-top: 70px; }
  .tg-specs--4 { grid-template-columns: 1fr 1fr; }
  .tg-specs--4 div { border-top: 0; border-left: 1px solid var(--line); }
  .tg-specs--4 div:nth-child(odd) { border-left: 0; }
  .tg-specs--4 div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .tg-process > div { grid-template-columns: 110px 1fr; gap: 12px; }
  .tg-tasting { grid-template-columns: 1fr; }
  .tg-tasting > div { border-left: 0; border-top: 1px solid var(--line); }
  .tg-tasting > div:first-child { border-top: 0; }
  .tg .tg-mz .tg-exp-media img { max-height: 400px; }
  .ta-row-head { margin: 60px auto 30px; }
  .ta-row-head .tg-script { font-size: 40px; }
  .ta-row-head .tg-display { font-size: 44px; }
}
.tg-lineup h3 { line-height: 1.05 !important; }
.tg-lineup span { display: block; line-height: 1.6; margin-top: 6px; }
