/* USA Wine Guide — minimal, mobile-first. Elementor styling overrides all of it. */
.uwg-winery-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:640px){.uwg-winery-list{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.uwg-winery-list{grid-template-columns:repeat(3,1fr)}}
.uwg-card{border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:1rem}
.uwg-card-title{margin:0 0 .25rem;font-size:1.05rem;line-height:1.3}
.uwg-card-meta{margin:0 0 .5rem;opacity:.75;font-size:.9rem}
.uwg-card-tel,.uwg-card-web{margin:0 0 .25rem;font-size:.9rem}
.uwg-facts{list-style:none;margin:0 0 1rem;padding:0}
.uwg-facts li{padding:.35rem 0;border-bottom:1px solid rgba(0,0,0,.08)}
.uwg-map iframe{width:100%;border:0;border-radius:10px}
.uwg-linkcloud{line-height:2}
.uwg-linkcloud a{white-space:nowrap}
.uwg-term-grid{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.uwg-term-grid a{display:flex;justify-content:space-between;gap:.5rem;padding:.6rem .8rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;text-decoration:none}
.uwg-count{opacity:.6}
.uwg-disclaimer,.uwg-disclaimer-text{font-size:.85rem;opacity:.75;line-height:1.5}
.uwg-answer{font-size:1.05rem;line-height:1.6}
.uwg-search{display:flex;gap:.5rem;flex-wrap:wrap}
.uwg-search input[type=search]{flex:1 1 16rem;padding:.7rem .9rem;border:1px solid rgba(0,0,0,.2);border-radius:8px}
.uwg-search button{padding:.7rem 1.1rem;border:0;border-radius:8px;cursor:pointer}
.uwg-pagination{margin:1.5rem 0;display:flex;gap:.4rem;flex-wrap:wrap}




/* ---------------------------------------------------------------------------
   BUILD RULE, set by Connie on 2026-09-06: NO DARK OVERLAYS.
   Photographs are shown at full colour. Text over an image is made legible with
   a text-shadow, never by washing the picture out. The only exception is the
   whisper of a gradient behind card labels, which is capped at 34% opacity over
   the bottom half of the card. Do not reintroduce a full-bleed scrim.
   --------------------------------------------------------------------------- */
/* ===========================================================================
   Concept A — Classic discovery.
   Ported from the approved design brief. Every value below comes from that
   brief, so the plugin renders the agreed look with no theme work required.
   Change a token in :root and the whole site follows.
   =========================================================================== */

@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/cormorant-garamond-500.ttf') format('truetype')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/cormorant-garamond-600.ttf') format('truetype')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/cormorant-garamond-700.ttf') format('truetype')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;
  src:url('fonts/cormorant-garamond-italic-500.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/manrope-400.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/manrope-500.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/manrope-600.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/manrope-700.ttf') format('truetype')}

:root{
  /* Sampled from the logo artwork itself on 2026-09-06, replacing the brighter
     Concept A #7d002f. The wordmark runs from #7c0024 at its lightest down to
     #3c0014 in the shadows; these three are that range. Change them here and the
     whole site follows, including the map dots. */
  --uwg-wine:#5c0f26;
  --uwg-wine-dk:#3a0715;
  --uwg-wine-lt:#7c1030;
  --uwg-gold:#ad7226;
  --uwg-ink:#32101f;
  --uwg-cream:#fbf7ef;
  --uwg-paper:#fffdf9;
  --uwg-muted:#6f625c;
  --uwg-line:#e3d8ca;
  --uwg-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --uwg-sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,Helvetica,sans-serif;
  /* Two roles, so the whole site can be re-typed from these two lines.
     --uwg-display is the editorial voice on headlines. --uwg-body is everything
     a reader actually reads at length, and every element that contains a number. */
  --uwg-display:var(--uwg-serif);
  --uwg-body:var(--uwg-sans);
  --uwg-max:1180px;
  --uwg-radius:8px;
  /* One transition for every element that lifts on hover. */
  --uwg-lift:transform .22s cubic-bezier(.2,.6,.2,1),box-shadow .22s ease,border-color .22s ease;
}

/* Serif carries the headlines. Everything read at length is set in the sans,
   which is easier on a long index page and keeps figures upright by default. */
.uwg,.uwg .entry-content,.uwg-hero,.uwg-band,.uwg-page-hero{font-family:var(--uwg-body);font-weight:400}
.uwg .entry-content{color:var(--uwg-ink)}
.uwg h1,.uwg h2,.uwg h3,.uwg h4,
.uwg-hero-h1,.uwg-page-h1,.uwg-band h2,.uwg-band-photo h2,
.uwg-card-title,.uwg-card-h,.uwg-stat-n,.uwg-stat-l{font-family:var(--uwg-display)}
.uwg-kicker,.uwg-eyebrow,.uwg-btn,.uwg-stat-d,.uwg-card-c,.uwg-breadcrumb,.uwg-card-meta,
.uwg-search input,.uwg-search button,.uwg-count,.uwg-facts .uwg-label,
.uwg-term-grid a,.uwg-linkcloud,.uwg-pagination a,.uwg-pagination span,
.uwg-disclaimer,.uwg-map-note{font-family:var(--uwg-body)}

.uwg-band{max-width:var(--uwg-max);margin-inline:auto;padding:66px 24px}
.uwg-band-cream{background:var(--uwg-cream);max-width:none}
.uwg-band-cream>*{max-width:var(--uwg-max);margin-inline:auto}
.uwg-kicker,.uwg-eyebrow{font:700 10px var(--uwg-sans);text-transform:uppercase;
  letter-spacing:.3em;color:var(--uwg-gold);margin:0 0 11px}
.uwg-band h2{font:700 clamp(32px,4vw,44px)/.94 var(--uwg-serif);letter-spacing:-.025em;
  color:var(--uwg-ink);margin:0 0 22px}

/* Buttons are written at the same weight as the body-link rule below, so the
   generic link colour can never repaint a button's label onto its own fill. */
.uwg-btn,.uwg .entry-content a.uwg-btn{display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;background:var(--uwg-wine);color:#fff;text-decoration:none;padding:15px 22px;
  text-transform:uppercase;letter-spacing:.12em;font:700 10px var(--uwg-sans);
  box-shadow:0 2px 6px rgba(92,15,38,.24);transition:var(--uwg-lift)}
.uwg-btn:hover,.uwg .entry-content a.uwg-btn:hover{background:var(--uwg-wine-dk);color:#fff;
  transform:translateY(-2px);box-shadow:0 8px 20px rgba(92,15,38,.34)}
.uwg-btn-alt,.uwg .entry-content a.uwg-btn-alt{background:var(--uwg-gold);color:#fff}
.uwg-btn-alt:hover,.uwg .entry-content a.uwg-btn-alt:hover{background:#96601f;color:#fff}

/* ---- Hero: 680px, content bottom-aligned with 70px of lower padding ---- */
.uwg-hero{min-height:680px;display:grid;align-items:end;color:#fff;position:relative;
  background:var(--uwg-wine-dk);overflow:hidden;--uwg-crop:132%;
  padding-inline:max(24px,calc((100vw - var(--uwg-max))/2))}
.uwg-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--uwg-crop);
  background:var(--uwg-hero-img) center bottom/cover no-repeat;z-index:0}
.uwg-hero::before{content:none}
.uwg-hero-inner{position:relative;z-index:1;max-width:var(--uwg-max);width:100%;margin-inline:auto;padding-block:0 70px}
/* A tight dark halo plus a wide soft one. Enough to hold white type over a
   bright sky without darkening the photograph, which the build rule forbids. */
.uwg-eyebrow{color:#ffe6b4;
  text-shadow:0 0 2px rgba(14,3,7,.95),0 1px 4px rgba(14,3,7,.9),0 0 26px rgba(14,3,7,.85)}
.uwg-hero-h1{font:700 clamp(62px,6.5vw,92px)/.82 var(--uwg-serif);letter-spacing:-.035em;
  margin:0 0 23px;color:#fff;max-width:14ch;
  text-shadow:0 0 3px rgba(14,3,7,.55),0 2px 5px rgba(14,3,7,.8),
    0 6px 34px rgba(14,3,7,.75),0 0 80px rgba(14,3,7,.6)}
.uwg-hero-sub{font-size:20px;line-height:1.38;max-width:625px;margin:0 0 24px;color:#fff;
  text-shadow:0 0 2px rgba(14,3,7,.9),0 1px 4px rgba(14,3,7,.9),0 0 30px rgba(14,3,7,.85)}
.uwg-popular{font:500 11.5px var(--uwg-sans);margin:14px 0 0;color:#fff;
  text-shadow:0 0 2px rgba(14,3,7,.95),0 1px 4px rgba(14,3,7,.9),0 0 20px rgba(14,3,7,.85)}
.uwg-popular span{opacity:.8}
.uwg-popular a{margin-left:13px;color:#fff;text-underline-offset:3px}

.uwg-hero .uwg-search{width:min(650px,100%);height:58px;background:#fff;border-radius:999px;
  display:grid;grid-template-columns:1fr 132px;align-items:center;padding:4px 4px 4px 18px;
  box-shadow:0 12px 35px rgba(0,0,0,.22);gap:0;margin:0}
.uwg-hero .uwg-search input[type=search]{border:0;outline:0;background:transparent;
  font:13px var(--uwg-sans);color:#764f3d;min-width:0;padding:0}
.uwg-hero .uwg-search button{height:50px;border:0;border-radius:999px;background:var(--uwg-wine);
  color:#fff;text-transform:uppercase;letter-spacing:.14em;font:800 10px var(--uwg-sans);cursor:pointer}

/* ---- Statistics strip: compact, cream, fine vertical separators ---- */
.uwg-stats{background:linear-gradient(90deg,#fffdf8,#fbf4e9);border-bottom:1px solid var(--uwg-line)}
.uwg-stats-inner{min-height:104px;display:grid;grid-template-columns:repeat(4,1fr);
  padding-inline:max(24px,calc((100vw - var(--uwg-max))/2));max-width:none;margin:0}
.uwg-stat{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:14px;
  padding:17px 22px;border-left:1px solid var(--uwg-line)}
.uwg-stat-icon{color:var(--uwg-gold);display:block}
.uwg-stat-icon svg{width:46px;height:46px;display:block}
.uwg-stat-text{display:flex;flex-direction:column;min-width:0}
/* The fourth cell is a sign-off, not a count: small serif lead-in, then the
   line in wine at the size of the numbers beside it. */
.uwg-stat-pre{font:500 13px/1 var(--uwg-display);color:var(--uwg-ink)}
.uwg-stat-tag{font:700 21px/1.05 var(--uwg-display);color:var(--uwg-wine);margin-top:3px;
  letter-spacing:-.01em}
.uwg-stat:last-child{border-right:1px solid var(--uwg-line)}
.uwg-stat-n{font:700 32px/.9 var(--uwg-display);color:var(--uwg-wine)}
.uwg-stat-l{font:700 14px/1 var(--uwg-display);color:var(--uwg-ink);margin-top:4px}
.uwg-stat-d{font:400 9px/1.25 var(--uwg-sans);color:#665b56;margin-top:5px}

/* ---- Image cards: six across on desktop, three on tablet, two on mobile ---- */
.uwg-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:26px 0}
.uwg-cards-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
/* Default card: the label sits over the photograph. */
.uwg-card-img{position:relative;display:flex;align-items:end;height:220px;border-radius:6px;
  overflow:hidden;text-decoration:none;color:#fff;background:var(--uwg-wine-dk);
  box-shadow:0 1px 3px rgba(66,27,16,.10),0 8px 22px rgba(66,27,16,.10);
  transition:var(--uwg-lift)}
.uwg-card-img img{transition:transform .5s cubic-bezier(.2,.6,.2,1)}
.uwg-card-img:hover{transform:translateY(-3px);
  box-shadow:0 3px 6px rgba(66,27,16,.14),0 20px 40px rgba(66,27,16,.18)}
.uwg-card-img:hover img{transform:scale(1.05)}
.uwg-card-pic{display:block}
.uwg-card-img img{position:absolute;left:0;right:0;bottom:0;width:100%;height:150%;
  object-fit:cover;object-position:center bottom}
/* The one gradient the build rule allows: a whisper behind the label strip only,
   never across the picture. */
.uwg-card-img::before{content:"";position:absolute;inset:auto 0 0 0;height:46%;z-index:1;
  background:linear-gradient(transparent,rgba(20,5,10,.34))}
.uwg-card-body{position:relative;z-index:2;padding:15px 13px;width:100%}
.uwg-card-h{display:block;font:700 23px/.95 var(--uwg-display);
  text-shadow:0 0 2px rgba(14,3,7,.85),0 1px 4px rgba(14,3,7,.9),0 2px 20px rgba(14,3,7,.85)}
.uwg-card-c{display:block;font:600 11px/1.2 var(--uwg-sans);margin-top:7px;letter-spacing:.04em;
  text-shadow:0 0 2px rgba(14,3,7,.95),0 1px 4px rgba(14,3,7,.92),0 0 16px rgba(14,3,7,.85)}
.uwg-cards-4 .uwg-card-img{height:250px}
.uwg-cards-4 .uwg-card-h{font-size:21px}

.uwg-logo img{display:block;object-fit:contain}

/* ===========================================================================
   Interior pages — states, regions, appellations, grapes, cities, guides and
   the winery profile. Same tokens, same voice, quieter.
   =========================================================================== */

.uwg .entry-content{max-width:var(--uwg-max);margin-inline:auto;padding-inline:24px}

/* Interior pages open on a photographic band. The bundled banners carry the
   logo across their top edge, so every use of them is anchored to the BOTTOM of
   the image and the top is cropped away. Do not change these to `center top`. */
.uwg-page-hero{position:relative;background:var(--uwg-cream);
  border-bottom:1px solid var(--uwg-line);
  padding:0 max(24px,calc((100vw - var(--uwg-max))/2));margin-bottom:38px;
  display:grid;align-items:end;min-height:clamp(360px,42vh,460px)}
/* The banners have the logo rendered into their top fifth. Rather than showing
   the image directly, it goes on an over-tall layer pinned to the bottom of the
   band, so only the lower third is ever visible and the logo is cropped out at
   every viewport width. --uwg-crop controls how much is discarded. */
.uwg-page-hero.has-band{background:var(--uwg-wine-dk);overflow:hidden;
  border-bottom:3px solid var(--uwg-gold);
  /* Only the top fifth of a banner carries the logo, so 135% is enough to hide
     it. Anything higher throws away most of the photograph. */
  --uwg-crop:135%}
.uwg-page-hero.has-band::after{content:"";position:absolute;left:0;right:0;bottom:0;
  height:var(--uwg-crop);background:var(--uwg-band) center bottom/cover no-repeat;z-index:0}
/* No scrim over the photograph. The headline sits on the image itself and stays
   legible on a shadow rather than a wash, so the vineyard reads at full colour. */
.uwg-page-hero.has-band::before{content:none}
.uwg-page-hero-inner{position:relative;z-index:1;max-width:var(--uwg-max);width:100%;
  margin-inline:auto;padding-block:34px 30px}
.uwg-page-h1{font:700 clamp(34px,4vw,49px)/.94 var(--uwg-serif);letter-spacing:-.025em;
  color:var(--uwg-ink);margin:.2rem 0 0;max-width:22ch}
.uwg-page-hero.has-band .uwg-page-h1{color:#fff;
  text-shadow:0 0 3px rgba(14,3,7,.55),0 2px 5px rgba(14,3,7,.8),
    0 5px 28px rgba(14,3,7,.75),0 0 70px rgba(14,3,7,.6)}
.uwg-page-hero.has-band .uwg-kicker{color:#ffe6b4;
  text-shadow:0 0 2px rgba(14,3,7,.95),0 1px 4px rgba(14,3,7,.9),0 0 26px rgba(14,3,7,.85)}
.uwg-page-hero--guide{min-height:clamp(400px,48vh,520px)}
.uwg-type-guide .uwg-page-h1{max-width:26ch}

.uwg-breadcrumb{font:500 10px var(--uwg-sans);text-transform:uppercase;letter-spacing:.12em;
  color:var(--uwg-muted);margin-bottom:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.uwg-breadcrumb a{color:var(--uwg-muted);text-decoration:none}
.uwg-breadcrumb a:hover{color:var(--uwg-wine);text-decoration:underline}
.uwg-breadcrumb .uwg-sep{opacity:.45}
.uwg-page-hero.has-band .uwg-breadcrumb,
.uwg-page-hero.has-band .uwg-breadcrumb a{color:#f7ece4;
  text-shadow:0 0 2px rgba(14,3,7,.95),0 1px 4px rgba(14,3,7,.9),0 0 20px rgba(14,3,7,.85)}
.uwg-page-hero.has-band .uwg-breadcrumb a:hover{color:#fff}

/* The direct-answer paragraph. Answer engines quote this, so it leads. */
.uwg-answer{font:500 20px/1.5 var(--uwg-display);color:var(--uwg-ink);
  border-left:3px solid var(--uwg-gold);padding:2px 0 2px 18px;margin:0 0 34px;max-width:64ch}

.uwg .entry-content h2{font:700 clamp(26px,2.8vw,34px)/.98 var(--uwg-serif);
  letter-spacing:-.02em;color:var(--uwg-ink);margin:46px 0 14px}
.uwg .entry-content h3{font:700 20px/1.15 var(--uwg-display);color:var(--uwg-ink);margin:26px 0 7px}
.uwg .entry-content p{font-size:15.5px;line-height:1.68;max-width:70ch;margin:0 0 16px;
  color:#443037}
.uwg .entry-content h2+p,.uwg .entry-content h3+p{margin-top:0}
.uwg .entry-content a{color:var(--uwg-wine);text-underline-offset:2px}

/* Winery cards on listing pages */
.uwg-winery-list{list-style:none;margin:26px 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.uwg-card{background:#fff;border:1px solid var(--uwg-line);border-radius:6px;
  padding:15px 16px;display:flex;flex-direction:column;gap:5px;
  box-shadow:0 1px 2px rgba(66,27,16,.05),0 6px 18px rgba(66,27,16,.05);
  transition:var(--uwg-lift)}
.uwg-card:hover{transform:translateY(-3px);border-color:#d9c9ae;
  box-shadow:0 2px 4px rgba(66,27,16,.07),0 16px 34px rgba(66,27,16,.13)}
.uwg-card-title{margin:0;font:700 20px/1.05 var(--uwg-display)}
.uwg-card-title a{color:var(--uwg-ink);text-decoration:none}
.uwg-card-title a:hover{color:var(--uwg-wine);text-decoration:underline}
.uwg-card-meta{margin:0;font:400 12px/1.25 var(--uwg-body);color:var(--uwg-muted)}
.uwg-card-tel,.uwg-card-web{margin:0;font:500 12px var(--uwg-sans)}
.uwg-card-tel a{color:var(--uwg-ink);text-decoration:none}
.uwg-card-web a{color:var(--uwg-gold);font-weight:700;text-decoration:none;
  text-transform:uppercase;letter-spacing:.1em;font-size:10px}
.uwg-card-web a:hover{text-decoration:underline}
.uwg-empty{color:var(--uwg-muted);font-style:italic}

/* Winery profile facts */
.uwg-facts{list-style:none;margin:22px 0;padding:0;border-top:1px solid var(--uwg-line)}
.uwg-facts li{display:grid;grid-template-columns:9.5rem 1fr;gap:18px;padding:13px 0;
  border-bottom:1px solid var(--uwg-line);font-size:15px}
.uwg-facts .uwg-label{color:var(--uwg-muted);font:700 9px var(--uwg-sans);
  letter-spacing:.14em;text-transform:uppercase;padding-top:5px}

.uwg-map{margin:26px 0;border-radius:var(--uwg-radius);overflow:hidden;border:1px solid var(--uwg-line)}
.uwg-map iframe{display:block}
.uwg-maplink a{color:var(--uwg-wine);font-weight:700;font-size:14px}

/* Term grid and link clouds */
.uwg-term-grid{list-style:none;margin:22px 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px}
.uwg-term-grid a{display:flex;justify-content:space-between;gap:10px;align-items:baseline;
  padding:11px 14px;background:#fff;border:1px solid var(--uwg-line);border-radius:5px;
  text-decoration:none;color:var(--uwg-ink);font:600 14px var(--uwg-body);
  box-shadow:0 1px 2px rgba(66,27,16,.04);transition:var(--uwg-lift)}
.uwg-term-grid a:hover{border-color:var(--uwg-gold);color:var(--uwg-wine);
  transform:translateY(-2px);box-shadow:0 8px 20px rgba(66,27,16,.11)}
.uwg-count{color:var(--uwg-muted);font:400 10px var(--uwg-sans);font-variant-numeric:tabular-nums}

.uwg-linkcloud{font-size:14px;line-height:2.05;color:var(--uwg-muted);max-width:none}
.uwg-linkcloud a{color:var(--uwg-wine);text-decoration:none}
.uwg-linkcloud a:hover{text-decoration:underline}

/* Pagination */
.uwg-pagination{display:flex;flex-wrap:wrap;gap:5px;margin:34px 0;list-style:none;padding:0}
.uwg-pagination a,.uwg-pagination span{display:inline-block;padding:8px 14px;border-radius:5px;
  border:1px solid var(--uwg-line);text-decoration:none;color:var(--uwg-ink);
  font:600 13px var(--uwg-body);transition:var(--uwg-lift)}
.uwg-pagination a:hover{border-color:var(--uwg-gold);transform:translateY(-1px)}
.uwg-pagination .current{background:var(--uwg-wine);color:#fff;border-color:var(--uwg-wine)}

/* The disclaimer, on every page */
.uwg-disclaimer{margin:42px 0 16px;padding:15px 18px;background:var(--uwg-cream);
  border:1px solid var(--uwg-line);border-radius:var(--uwg-radius);
  font:400 12px/1.55 var(--uwg-sans);color:var(--uwg-muted);max-width:none}

/* Standalone search, outside the hero */
.uwg-search{display:grid;grid-template-columns:1fr 132px;gap:6px;margin:16px 0;max-width:650px}
.uwg-search input[type=search]{padding:11px 14px;border:1px solid var(--uwg-line);
  border-radius:5px;font:13px var(--uwg-sans);min-width:0}
.uwg-search button{border:0;background:var(--uwg-wine);color:#fff;border-radius:5px;
  padding:11px 16px;cursor:pointer;font:800 10px var(--uwg-sans);
  text-transform:uppercase;letter-spacing:.14em}

.uwg-type-guide .uwg-answer{font-size:21px}
.uwg-type-guide .entry-content p{max-width:68ch}

/* Breakpoints match the brief: 1000px and 700px. */
@media (max-width:1000px){
  .uwg-stats-inner{grid-template-columns:repeat(2,1fr)}
  .uwg-stat:nth-child(2){border-right:1px solid var(--uwg-line)}
  .uwg-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .uwg-cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .uwg-card-img{height:240px}
}
@media (max-width:700px){
  .uwg-hero{min-height:650px}
  .uwg-hero-inner{padding-bottom:48px}
  .uwg-hero-h1{font-size:58px}
  .uwg-hero-sub{font-size:17px}
  .uwg-hero .uwg-search{grid-template-columns:1fr 92px}
  .uwg-stats-inner{grid-template-columns:1fr;padding-inline:15px}
  .uwg-stat{border-right:1px solid var(--uwg-line)}
  .uwg-cards,.uwg-cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .uwg-card-img{height:220px}
  .uwg-band{padding-block:48px}
  .uwg-facts li{grid-template-columns:1fr;gap:2px}
  .uwg-winery-list{grid-template-columns:1fr}
  .uwg-page-hero{padding-block:0}
}

@media print{
  .uwg-page-hero,.uwg-linkcloud,.uwg-pagination,.uwg-search,.uwg-hero{display:none}
}

/* A run of subheads with no body copy under them, laid out as a compact grid so
   it reads as a scannable index rather than a stack of thin sections. */
.uwg-subgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:2px 18px;margin:6px 0 18px}
.uwg-subgrid h3{margin:0;padding:7px 0;border-bottom:1px solid var(--uwg-line);
  font:600 16px/1.3 var(--uwg-display);color:var(--uwg-ink)}
@media (max-width:700px){.uwg-subgrid{grid-template-columns:1fr 1fr}}

/* A photographic band that can be dropped between sections of a long page. */
.uwg-band-photo{position:relative;min-height:230px;display:grid;align-items:center;
  background:var(--uwg-wine-dk);--uwg-crop:160%;
  border-block:3px solid var(--uwg-gold);margin:46px 0;padding:34px 30px;overflow:hidden}
.uwg-band-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--uwg-crop);
  background:var(--uwg-band) center bottom/cover no-repeat;z-index:0}
.uwg-band-photo::before{content:none}
.uwg-band-photo>*{position:relative;z-index:1;color:#fff;max-width:52ch}
.uwg-band-photo h2{color:#fff;margin:0 0 10px;font:700 clamp(26px,3vw,38px)/.98 var(--uwg-serif);
  text-shadow:0 1px 2px rgba(18,4,9,.8),0 3px 22px rgba(18,4,9,.7)}
.uwg-band-photo p{color:#fff;margin:0 0 16px;
  text-shadow:0 1px 3px rgba(18,4,9,.9),0 0 18px rgba(18,4,9,.75)}

@media (max-width:700px){
  .uwg-page-hero{min-height:300px}
  .uwg-page-hero-inner{padding-block:24px 26px}
}

/* Two photographs side by side, purely to break up a long index page. */
.uwg-photo-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:34px 0}
.uwg-photo-strip span{display:block;height:210px;border-radius:6px;overflow:hidden;
  position:relative;background:var(--uwg-wine-dk);
  box-shadow:0 1px 3px rgba(66,27,16,.09),0 8px 22px rgba(66,27,16,.09)}
.uwg-photo-strip span::after{content:"";position:absolute;left:0;right:0;bottom:0;height:155%;
  background-image:inherit;background-position:center bottom;background-size:cover;
  background-repeat:no-repeat}

/* Interactive winery map */
.uwg-usa-map-wrap{margin:26px 0}
.uwg-usa-map{width:100%;border-radius:8px;overflow:hidden;border:1px solid var(--uwg-line);
  background:var(--uwg-cream);
  box-shadow:0 1px 3px rgba(66,27,16,.07),0 10px 28px rgba(66,27,16,.08)}
.uwg-map-note{font:400 12px var(--uwg-sans);color:var(--uwg-muted);margin:8px 0 0}
.uwg-pop{font-family:var(--uwg-sans);display:flex;flex-direction:column;gap:3px;min-width:170px}
.uwg-pop-n{font:700 16px/1.15 var(--uwg-serif);color:var(--uwg-ink)}
.uwg-pop-c{font-size:11px;color:var(--uwg-muted)}
.uwg-pop-tel{font-size:12px;color:var(--uwg-ink);text-decoration:none}
.uwg-pop-links{display:flex;gap:12px;margin-top:5px}
.uwg-pop-links a{font:700 10px var(--uwg-sans);text-transform:uppercase;letter-spacing:.1em;
  color:var(--uwg-wine);text-decoration:none}
.uwg-pop-links a:last-child{color:var(--uwg-gold)}
.uwg-pop-links a:hover{text-decoration:underline}
.leaflet-popup-content{margin:12px 14px}
.leaflet-container{font-family:var(--uwg-sans)}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{
  background:var(--uwg-wine);color:#fff;font:700 12px var(--uwg-sans)}
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{
  background:rgba(92,15,38,.3)}

@media (max-width:700px){
  .uwg-photo-strip{grid-template-columns:1fr}
  .uwg-photo-strip span{height:170px}
}

/* Anyone who has asked their system to reduce motion gets the shadow but not
   the movement. */
@media (prefers-reduced-motion:reduce){
  .uwg-card,.uwg-card-img,.uwg-card-img img,.uwg-term-grid a,.uwg-btn,.uwg-pagination a{
    transition:box-shadow .2s ease,border-color .2s ease}
  .uwg-card:hover,.uwg-card-img:hover,.uwg-term-grid a:hover,.uwg-btn:hover,
  .uwg-pagination a:hover{transform:none}
  .uwg-card-img:hover img{transform:none}
}


/* ---------------------------------------------------------------------------
   The state explorer band, and the state chips underneath it.
   Copy on the left, the dotted US map in the middle, a regions panel on the
   right, then a compact grid of two-letter tiles.
   --------------------------------------------------------------------------- */
.uwg-explorer{background:var(--uwg-paper);padding:34px max(24px,calc((100vw - var(--uwg-max))/2)) 10px}
.uwg-explorer-inner{max-width:var(--uwg-max);margin-inline:auto;
  /* fr, not percentages: percentages plus the gap overflow the row at widths
     just above the breakpoint. minmax(0,…) lets the map shrink instead of
     forcing the panel off the right edge. */
  display:grid;grid-template-columns:minmax(0,25fr) minmax(0,43fr) minmax(0,32fr);
  gap:0 26px;align-items:center}

.uwg-kicker-rule{display:flex;align-items:center;gap:12px}
.uwg-kicker-rule::after{content:"";flex:0 0 46px;height:1px;background:var(--uwg-gold);opacity:.6}

.uwg-explorer-copy h2{font:700 clamp(26px,2.6vw,34px)/1.02 var(--uwg-display);
  letter-spacing:-.02em;color:var(--uwg-wine);margin:0 0 12px;max-width:14ch}
.uwg-explorer-copy p{font-size:14px;line-height:1.5;color:var(--uwg-muted);
  max-width:34ch;margin:0 0 18px}

.uwg-explorer-map{min-width:0}
.uwg-explorer-map svg{display:block;width:100%;height:auto}
.uwg-explorer-map a{outline:none}
.uwg-explorer-map a:focus-visible .uwg-st{fill:#c9b58e}

/* Right-hand panel: a photograph with a label, cropped from the bottom like
   every other use of these banners. */
.uwg-explorer-panel{position:relative;display:flex;align-items:end;min-height:260px;
  border-radius:10px;overflow:hidden;text-decoration:none;color:#fff;
  background:var(--uwg-wine-dk);--uwg-crop:150%;
  box-shadow:0 1px 3px rgba(66,27,16,.12),0 10px 26px rgba(66,27,16,.12);
  transition:var(--uwg-lift)}
.uwg-explorer-panel::after{content:"";position:absolute;left:0;right:0;bottom:0;
  height:var(--uwg-crop);background:var(--uwg-band) center bottom/cover no-repeat;z-index:0}
.uwg-explorer-panel:hover{transform:translateY(-3px);
  box-shadow:0 3px 6px rgba(66,27,16,.16),0 20px 40px rgba(66,27,16,.2)}
.uwg-panel-body{position:relative;z-index:1;padding:22px 24px;display:block}
.uwg-panel-body .uwg-kicker{color:#ffdfa4;margin:0 0 6px;
  text-shadow:0 1px 3px rgba(18,4,9,.85)}
.uwg-panel-h{display:block;font:700 clamp(21px,2.1vw,27px)/1.05 var(--uwg-display);max-width:14ch;
  text-shadow:0 1px 2px rgba(18,4,9,.8),0 3px 20px rgba(18,4,9,.7)}
.uwg-panel-cta{display:inline-flex;align-items:center;gap:10px;margin-top:14px;
  font:700 10px var(--uwg-sans);text-transform:uppercase;letter-spacing:.13em;
  text-shadow:0 1px 3px rgba(18,4,9,.9)}
.uwg-panel-cta::before{content:"";width:26px;height:1px;background:currentColor}

/* State chips */
.uwg-chips-wrap{max-width:var(--uwg-max);margin:0 auto;padding:6px 24px 44px}
.uwg-chips-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  margin-bottom:12px}
.uwg-chips-head .uwg-kicker{margin:0}
.uwg-chips-more{font:700 10px var(--uwg-sans);text-transform:uppercase;letter-spacing:.13em;
  color:var(--uwg-wine);text-decoration:none;white-space:nowrap}
.uwg-chips-more:hover{text-decoration:underline}
.uwg-chips{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(17,minmax(0,1fr));gap:7px}
.uwg-chips a{display:flex;align-items:center;justify-content:center;height:34px;
  background:#f4eee3;border:1px solid transparent;border-radius:5px;
  font:600 12px var(--uwg-sans);letter-spacing:.04em;color:var(--uwg-ink);
  text-decoration:none;transition:var(--uwg-lift)}
.uwg-chips a:hover{background:var(--uwg-wine);border-color:var(--uwg-wine);color:#fff;
  transform:translateY(-2px);box-shadow:0 6px 16px rgba(92,15,38,.3)}

@media (max-width:1080px){
  .uwg-explorer-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:22px}
  .uwg-explorer-panel{grid-column:1/-1;min-height:210px}
  .uwg-chips{grid-template-columns:repeat(9,minmax(0,1fr))}
}
@media (max-width:700px){
  .uwg-explorer-inner{grid-template-columns:1fr}
  .uwg-explorer-copy p{max-width:none}
  .uwg-chips{grid-template-columns:repeat(6,minmax(0,1fr))}
  .uwg-chips-head{flex-direction:column;align-items:flex-start;gap:6px}
}


/* Cards with the label BELOW the photograph, which is how the article row and
   the grape tiles read. The picture keeps the same bottom-anchored crop; the
   text sits on paper underneath it. */
.uwg-cards-below .uwg-card-img{display:block;height:auto;background:#fff;
  border:1px solid var(--uwg-line);border-radius:8px;color:var(--uwg-ink)}
.uwg-cards-below .uwg-card-img::before{content:none}
.uwg-cards-below .uwg-card-pic{position:relative;display:block;height:190px;overflow:hidden;
  border-radius:7px 7px 0 0;background:var(--uwg-wine-dk)}
.uwg-cards-below .uwg-card-img img{position:absolute;left:0;right:0;bottom:0;
  width:100%;height:150%;object-fit:cover;object-position:center bottom}
.uwg-cards-below .uwg-card-body{position:static;padding:14px 15px 16px;background:none}
.uwg-cards-below .uwg-card-h{font:700 19px/1.1 var(--uwg-display);color:var(--uwg-ink);
  text-shadow:none}
.uwg-cards-below .uwg-card-c{font:400 12.5px/1.45 var(--uwg-body);color:var(--uwg-muted);
  margin-top:6px;text-shadow:none}
.uwg-cards-below .uwg-card-img:hover .uwg-card-h{color:var(--uwg-wine)}

/* Square tiles, used for the grape browser. */
.uwg-cards-sq{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
/* Square tiles use the tile-NN photographs, which are already square and carry
   no logo, so they are shown whole rather than cropped from the bottom. */
.uwg-cards-sq .uwg-card-pic{height:auto;aspect-ratio:1/1;border-radius:8px}
.uwg-cards-sq .uwg-card-img img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center}
.uwg-cards-sq.uwg-cards-below .uwg-card-img{border:0;background:none}
.uwg-cards-sq.uwg-cards-below .uwg-card-body{padding:9px 2px 0}
.uwg-cards-sq.uwg-cards-below .uwg-card-h{font-size:16px}
.uwg-cards-sq.uwg-cards-below .uwg-card-c{font-size:11.5px;margin-top:2px}
.uwg-cards-sq .uwg-card-img{box-shadow:none}
.uwg-cards-sq .uwg-card-img:hover{transform:translateY(-3px);box-shadow:none}
.uwg-cards-sq .uwg-card-pic{box-shadow:0 1px 3px rgba(58,7,21,.12),0 8px 20px rgba(58,7,21,.12)}

@media (max-width:1000px){
  .uwg-cards-sq{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:700px){
  .uwg-cards-sq{grid-template-columns:repeat(2,minmax(0,1fr))}
  .uwg-cards-below .uwg-card-pic{height:170px}
  .uwg-stat{grid-template-columns:44px 1fr;gap:11px}
  .uwg-stat-icon svg{width:38px;height:38px}
}


/* ===========================================================================
   ELEMENTOR SAFETY LAYER

   Page content is rendered inside whatever Elementor container the theme
   builder puts around it. Two things go wrong when that happens, and both are
   handled here rather than left for someone to debug in the editor.

   1. A grid inside a flex or grid parent will not shrink below the intrinsic
      width of its widest child unless it is told it may. That is what makes a
      card row punch out of the container and produce a horizontal scrollbar.
      `min-width:0` on every grid and flex child is the fix.

   2. Elementor's boxed container caps width at around 1140px. Sections that are
      meant to run edge to edge, the hero, the statistics strip, the photo bands,
      have to break out of it.

   None of this changes how the blocks look outside Elementor.
   =========================================================================== */

/* 1. Let grids shrink. */
.uwg-cards,.uwg-winery-list,.uwg-term-grid,.uwg-chips,.uwg-subgrid,
.uwg-stats-inner,.uwg-explorer-inner,.uwg-photo-strip{min-width:0}
.uwg-cards>*,.uwg-winery-list>*,.uwg-term-grid>*,.uwg-chips>*,.uwg-subgrid>*,
.uwg-stats-inner>*,.uwg-explorer-inner>*,.uwg-photo-strip>*{min-width:0}
.uwg-card,.uwg-card-img,.uwg-card-body,.uwg-stat,.uwg-stat-text,
.uwg-explorer-copy,.uwg-explorer-map,.uwg-explorer-panel{min-width:0}
/* Long winery names and URLs must wrap rather than widen the column. */
.uwg-card-title,.uwg-card-h,.uwg-facts li,.uwg-linkcloud{overflow-wrap:anywhere}

/* 2. Full-bleed sections escape a boxed container.
   Applied only when the block actually sits inside a constrained parent, which
   is what the :where(...) wrapper detects. Outside Elementor these rules never
   match and the blocks lay out exactly as before. */
:where(.elementor-widget-container,.elementor-widget-shortcode,.e-con-inner,
       .elementor-element,.entry-content,.page-content) >
  :is(.uwg-hero,.uwg-stats,.uwg-band-cream,.uwg-band-photo,.uwg-explorer),
:where(.elementor-widget-container,.elementor-widget-shortcode,.e-con-inner,
       .elementor-element,.entry-content,.page-content) > * >
  :is(.uwg-hero,.uwg-stats,.uwg-band-cream,.uwg-band-photo,.uwg-explorer){
  width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw)}

/* A full-bleed child of a boxed parent can produce a sideways scrollbar on
   Windows, where 100vw includes the scrollbar. `clip` prevents that without
   breaking position:sticky the way overflow:hidden does. Scoped to our pages. */
body.uwg{overflow-x:clip}

/* 3. Elementor and several themes set their own heading and link colours on
   .entry-content. Ours are more specific on purpose so a theme reset does not
   silently repaint a card label or a button. */
.uwg .entry-content .uwg-card-h,
.uwg .entry-content .uwg-card-title a{color:inherit}
.uwg .entry-content .uwg-cards-below .uwg-card-h{color:var(--uwg-ink)}

/* 4. Images inside Elementor sometimes inherit `height:auto!important`, which
   would undo the bottom-anchored crop that keeps the logo out of frame. */
.uwg-card-img img{max-width:none}

/* ---------------------------------------------------------------------------
   LINING FIGURES, EVERYWHERE. Kept last on purpose.

   Cormorant Garamond defaults to old-style figures, where 3, 4, 5, 7, 9 and 0
   drop below the baseline. In a directory full of counts ("All 783 Producers",
   "10 Barrel Brewing", "18,090 Wineries") that reads as broken type. Both
   bundled families carry a lining set, so it only has to be asked for.

   This block sits at the very end because the `font:` shorthand used throughout
   this file resets font-variant-numeric to normal. Declared earlier it would be
   silently undone by every rule below it. Do not move it back up.
   --------------------------------------------------------------------------- */
.uwg,.uwg *,
.uwg-hero,.uwg-hero *,
.uwg-page-hero,.uwg-page-hero *,
.uwg-band,.uwg-band *,
.uwg-band-photo,.uwg-band-photo *,
.uwg-stats,.uwg-stats *,
.uwg-usa-map-wrap,.uwg-usa-map-wrap *,
.leaflet-container,.leaflet-container *{
  font-variant-numeric:lining-nums tabular-nums;
  -moz-font-feature-settings:"lnum" 1,"tnum" 1;
  font-feature-settings:"lnum" 1,"tnum" 1;
}

/* Contact form. Styles both the Gravity Forms output and the built-in fallback,
   so the page looks the same whichever is active. */
.uwg-form{max-width:600px;margin:22px 0 34px}
.uwg-form label,.uwg-form .gfield_label{display:block;font:700 10px var(--uwg-sans);
  text-transform:uppercase;letter-spacing:.13em;color:var(--uwg-muted);margin:0 0 6px}
.uwg-form input[type=text],.uwg-form input[type=email],.uwg-form select,.uwg-form textarea,
.uwg-form .gform_wrapper input[type=text],.uwg-form .gform_wrapper input[type=email],
.uwg-form .gform_wrapper select,.uwg-form .gform_wrapper textarea{
  width:100%;padding:11px 13px;border:1px solid var(--uwg-line);border-radius:6px;
  font:15px var(--uwg-body);color:var(--uwg-ink);background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease}
.uwg-form input:focus,.uwg-form select:focus,.uwg-form textarea:focus{
  outline:none;border-color:var(--uwg-gold);box-shadow:0 0 0 3px rgba(173,114,38,.18)}
.uwg-form p{margin:0 0 16px;max-width:none}
.uwg-form .uwg-hint,.uwg-form .gfield_description{display:block;margin-top:5px;
  font:12px var(--uwg-body);color:var(--uwg-muted)}
.uwg-form button,.uwg-form .gform_button{cursor:pointer;border:0}
.uwg-form-ok,.uwg-form-err{padding:12px 15px;border-radius:6px;font:14px var(--uwg-body)}
.uwg-form-ok{background:#f1f6ee;border:1px solid #cfe0c6;color:#33552a}
.uwg-form-err{background:#fbf0f1;border:1px solid #e6c6ca;color:var(--uwg-wine)}
/* The honeypot must stay in the DOM and out of sight, without display:none,
   which some bots check for. */
.uwg-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Theme header (Hello Elementor) until an Elementor Pro header template
   replaces it. Sticky, white, logo left, menu right, maroon on the current item. */
#site-header.site-header{position:sticky;top:0;z-index:1000;background:#fff;
  border-bottom:1px solid var(--uwg-line);box-shadow:0 1px 0 rgba(58,7,21,.04),0 6px 20px rgba(58,7,21,.06)}
body.admin-bar #site-header.site-header{top:32px}
#site-header .header-inner{max-width:var(--uwg-max);margin-inline:auto;padding:10px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:28px}
#site-header .site-branding{display:flex;align-items:center}
#site-header .site-logo img,#site-header .custom-logo{height:56px;width:auto;display:block}
#site-header .site-title{font:700 20px var(--uwg-display);margin:0}
#site-header .site-title a{color:var(--uwg-wine);text-decoration:none}
#site-header .site-navigation{display:block}
#site-header .site-navigation .menu{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
#site-header .site-navigation .menu li{margin:0}
#site-header .site-navigation .menu a{display:inline-block;padding:18px 0;
  font:600 14px var(--uwg-serif);color:var(--uwg-ink);text-decoration:none;white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .18s ease,border-color .18s ease}
#site-header .site-navigation .menu a:hover{color:var(--uwg-wine)}
#site-header .site-navigation .menu .current-menu-item>a,
#site-header .site-navigation .menu .current_page_item>a,
#site-header .site-navigation .menu .current-menu-ancestor>a{color:var(--uwg-wine);border-bottom-color:var(--uwg-wine)}
#site-header .site-navigation-toggle-holder{display:none}
@media (max-width:1000px){
  #site-header .site-navigation-toggle-holder{display:flex}
  #site-header .site-navigation{display:none}
  #site-header .site-navigation.show,#site-header .site-navigation-dropdown{display:block}
  #site-header .site-navigation .menu{flex-direction:column;align-items:flex-start;gap:0;padding:8px 0}
  #site-header .site-navigation .menu a{padding:12px 0}
}
