/* Annie's — vanilla runtime (replaces WordPress/Elementor JS). Brand: wine #804548, gold #FFFF99 */

/* Reveal elements that Elementor would fade-in via JS (no-JS-safe) */
.elementor-invisible{visibility:visible !important;opacity:1 !important;}

/* Tabs: hide inactive panels; the active grid panel must be display:grid
   (Elementor's JS used to set this; its column template is already inline). */
[id^="e-n-tab-content-"]:not(.e-active){display:none !important;}
[id^="e-n-tab-content-"].e-active.e-grid{display:grid !important;}
[id^="e-n-tab-content-"].e-active:not(.e-grid){display:flex !important;}

/* ---------- Cookie consent banner ---------- */
#rgra-cookie{position:fixed;left:0;right:0;bottom:0;z-index:99999;background:#804548;color:#f7f1ec;
  font-family:Poppins,system-ui,-apple-system,sans-serif;box-shadow:0 -4px 20px rgba(0,0,0,.18);}
#rgra-cookie[hidden]{display:none;}
#rgra-cookie .rgra-cc-in{max-width:1140px;margin:0 auto;padding:16px 20px;display:flex;gap:16px;
  align-items:center;justify-content:space-between;flex-wrap:wrap;}
#rgra-cookie p{margin:0;font-size:14px;line-height:1.5;flex:1 1 320px;}
#rgra-cookie a{color:#FFFF99;text-decoration:underline;}
#rgra-cookie .rgra-cc-btns{display:flex;gap:10px;flex-wrap:wrap;}
#rgra-cookie button{min-height:44px;padding:10px 22px;border-radius:999px;border:2px solid #FFFF99;
  font:600 14px/1 Poppins,system-ui,sans-serif;cursor:pointer;}
#rgra-cookie .rgra-cc-accept{background:#FFFF99;color:#4a2b2d;}
#rgra-cookie .rgra-cc-accept:hover{filter:brightness(1.06);}
#rgra-cookie .rgra-cc-reject{background:transparent;color:#f7f1ec;}
#rgra-cookie .rgra-cc-reject:hover{background:rgba(255,255,255,.1);}
#rgra-cookie button:focus-visible{outline:3px solid #fff;outline-offset:2px;}

/* ---------- Fixes & refinements (v6) ---------- */

/* Emoji images (💬 etc.) lost WP's inline sizing when wp-emoji was removed */
img.emoji{height:1em !important;width:1em !important;margin:0 .07em !important;
  vertical-align:-.1em;display:inline !important;border:none !important;
  box-shadow:none !important;background:none !important;padding:0 !important;}

/* "Our Services" blocks -> cards with a thin border and hover movement */
.elementor-element-19f0c4c,.elementor-element-630bae8,
.elementor-element-6dc8c0a9,.elementor-element-98b131c{
  border:1px solid #ecdfd6;border-radius:14px;background:#fff;
  padding:28px 24px !important;margin:8px;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.elementor-element-19f0c4c:hover,.elementor-element-630bae8:hover,
.elementor-element-6dc8c0a9:hover,.elementor-element-98b131c:hover{
  transform:translateY(-6px);box-shadow:0 14px 32px rgba(128,69,72,.13);
  border-color:#FFFF99;}

/* Price list: name + price on the same row, always aligned */
.rgra-pricelist{list-style:none;margin:0;padding:0;width:100%;}
.rgra-pricelist li{display:flex;justify-content:space-between;align-items:baseline;
  gap:16px;padding:11px 2px;border-bottom:1px solid #ece6e2;}
.rgra-pricelist li:last-child{border-bottom:none;}
.rgra-pricelist .rgra-n{color:#5a4a4b;line-height:1.35;}
.rgra-pricelist .rgra-p{color:#804548;font-weight:600;white-space:nowrap;}

/* Language switcher flags next to the codes */
.rgra-langbar a,.rgra-langbar .rgra-lang-active{display:inline-flex;align-items:center;gap:6px;}
.rgra-langbar .flag{width:20px;height:14px;border-radius:2px;flex:0 0 auto;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);}

/* ---------- v7: service cards alignment + switcher pill ---------- */

/* Remove the thin base line inside each service card */
.elementor-element-19f0c4c > .elementor-widget-container,
.elementor-element-630bae8 > .elementor-widget-container,
.elementor-element-6dc8c0a9 > .elementor-widget-container,
.elementor-element-98b131c > .elementor-widget-container{border-width:0 !important;}


/* Language switcher — pill style with the active language on a white chip */
.rgra-langbar{background:transparent !important;display:flex;justify-content:flex-end;padding:10px 20px;}
.rgra-langbar .in{max-width:none;width:auto;margin:0;padding:5px;display:inline-flex;
  align-items:center;gap:4px;background:#804548;border-radius:999px;
  box-shadow:0 2px 8px rgba(128,69,72,.18);}
.rgra-langbar span[aria-hidden]{display:none !important;}
.rgra-langbar a,.rgra-langbar .rgra-lang-active{display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;border-radius:999px;font-weight:600;font-size:14px;text-decoration:none;
  color:#f3ece7;opacity:1;transition:background .2s ease,color .2s ease;}
.rgra-langbar a:hover{background:rgba(255,255,255,.14);text-decoration:none;}
.rgra-langbar .rgra-lang-active{background:#fff;color:#804548;}
.rgra-langbar .flag{width:22px;height:15px;border-radius:3px;flex:0 0 auto;
  box-shadow:0 0 0 1px rgba(0,0,0,.12);}


/* ---------- v8: wider content, FAQ highlight, Contact layout, Areas buttons ---------- */

/* Wider content container across the whole site (was 1200px) */
.e-con{--content-width:1320px !important;}

/* FAQ — only the featured (open) question stands out: bold + brand wine */
.e-n-accordion-item[open] > .e-n-accordion-item-title,
details.e-n-accordion-item[open] > summary.e-n-accordion-item-title{
  font-weight:700 !important;color:#804548 !important;}

/* Contact — intro text on the left, contact items to its right; no divider line */
.elementor-element-32d0bf3.e-con > .e-con-inner{display:flex !important;flex-direction:row !important;
  align-items:flex-start !important;gap:44px;flex-wrap:wrap;}
.elementor-element-32d0bf3 > .e-con-inner > .elementor-element-220af8a{flex:0 1 330px !important;
  width:auto !important;max-width:360px;}
.elementor-element-32d0bf3 > .e-con-inner > .elementor-element-0660f1c{flex:1 1 500px !important;
  width:auto !important;border-bottom-width:0 !important;--border-bottom-width:0px !important;
  border-width:0 !important;}
@media(max-width:1024px){.elementor-element-32d0bf3.e-con > .e-con-inner{gap:24px;}
  .elementor-element-32d0bf3 > .e-con-inner > .elementor-element-220af8a{flex-basis:100% !important;max-width:none;}}

/* Home "Areas We Serve" — city links as white buttons with brand wine border */
.rgra-areas-links{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;}
.rgra-areas-links a{display:inline-flex;align-items:center;padding:9px 17px;
  border:1.5px solid #804548;border-radius:999px;background:#fff;
  color:#804548 !important;font-weight:600;font-size:14px;line-height:1;
  text-decoration:none;transition:background .2s ease,color .2s ease,box-shadow .2s ease;}
.rgra-areas-links a:hover{background:#804548;color:#fff !important;
  box-shadow:0 6px 16px rgba(128,69,72,.22);}

/* ---------- v9: contact lines, switcher on wine bar, font sizes ---------- */

/* Contact card — remove the thin lines under each item */
.elementor-element-0660f1c *{border-bottom-width:0 !important;}

/* Contact intro — smaller text so it lines up better with the items card */
.elementor-element-97dd3aa,.elementor-element-97dd3aa p{font-size:15px !important;line-height:1.55 !important;}

/* Prices — smaller font in the price tables */
.rgra-pricelist{font-size:14px;}
.rgra-pricelist .rgra-n,.rgra-pricelist .rgra-p{font-size:14px;}
.rgra-pricelist li{padding:9px 2px;}

/* Language switcher merged into the wine top bar (same faixa as the e-mail) */
.rgra-langbar{position:relative;height:0;min-height:0;padding:0;margin:0;overflow:visible;z-index:60;}
.rgra-langbar .in{position:absolute;top:11px;right:18px;padding:4px;background:rgba(255,255,255,.14);
  box-shadow:none;gap:2px;}
.rgra-langbar a,.rgra-langbar .rgra-lang-active{padding:5px 12px;font-size:13px;}
.rgra-langbar .rgra-lang-active{background:#fff;color:#804548;}
/* push the search + instagram icons left so they clear the pill */
.elementor-element-36ec121e{margin-right:270px !important;}

@media(max-width:1024px){
  .rgra-langbar{position:static;height:auto;padding:8px 14px;}
  .rgra-langbar .in{position:static;background:#804548;box-shadow:0 2px 8px rgba(128,69,72,.18);}
  .elementor-element-36ec121e{margin-right:0 !important;}
}

/* ---------- v10: city landing sections (BWBS pattern, Annie brand) ---------- */
.rgra-city{font-family:Poppins,system-ui,-apple-system,sans-serif;color:#4a3a3b;background:#fbf7f4;}
.rgra-city .in{max-width:1180px;margin:0 auto;padding:0 20px;}
.rgra-city section{padding:38px 0;border-top:1px solid #efe6e0;}
.rgra-city section:first-child{border-top:0;}
.rgra-city h2{font-family:Cinzel,serif;color:#804548;font-size:clamp(20px,3vw,27px);margin:0 0 16px;line-height:1.25;}
.rgra-city p{line-height:1.7;margin:0 0 12px;max-width:70ch;}
.rgra-city a{color:#804548;}
.rgra-svc{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px 28px;}
.rgra-svc li{padding:9px 0 9px 26px;position:relative;border-bottom:1px solid #f0e8e3;}
.rgra-svc li::before{content:"✓";position:absolute;left:0;color:#804548;font-weight:700;}
.rgra-ctarow{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;}
.rgra-btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:12px 24px;border-radius:999px;
  font-weight:600;text-decoration:none;transition:background .2s ease,color .2s ease,box-shadow .2s ease;}
.rgra-btn-primary{background:#804548;color:#fff !important;}
.rgra-btn-primary:hover{background:#6d3a3d;box-shadow:0 8px 20px rgba(128,69,72,.22);}
.rgra-btn-outline{background:#fff;color:#804548 !important;border:1.5px solid #804548;}
.rgra-btn-outline:hover{background:#804548;color:#fff !important;}
.rgra-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:6px;}
.rgra-photos img{width:100%;height:230px;object-fit:cover;border-radius:14px;display:block;box-shadow:0 6px 18px rgba(128,69,72,.10);}
.rgra-reviews-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.rgra-reviews-head .score{font-family:Cinzel,serif;font-size:28px;color:#804548;font-weight:600;}
.rgra-stars{color:#e6b800;font-size:19px;letter-spacing:2px;}
.rgra-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;}
.rgra-review{background:#fff;border:1px solid #efe1d9;border-radius:14px;padding:18px 20px;box-shadow:0 4px 14px rgba(128,69,72,.06);}
.rgra-review .s{color:#e6b800;letter-spacing:1px;font-size:14px;}
.rgra-review .t{margin:8px 0;line-height:1.6;color:#4a3a3b;}
.rgra-review .n{font-weight:600;color:#804548;font-size:14px;}
.rgra-city details{border:1px solid #efe1d9;border-radius:10px;margin:0 0 10px;background:#fff;}
.rgra-city details summary{cursor:pointer;padding:14px 18px;font-weight:600;color:#4a3a3b;list-style:none;}
.rgra-city details summary::-webkit-details-marker{display:none;}
.rgra-city details summary::after{content:"+";float:right;color:#804548;font-weight:700;}
.rgra-city details[open] summary{color:#804548;}
.rgra-city details[open] summary::after{content:"–";}
.rgra-city details .a{padding:0 18px 15px;line-height:1.65;color:#5a4a4b;}
.rgra-loc{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:start;}
.rgra-loc .addr{font-style:normal;line-height:1.7;}
@media(max-width:760px){.rgra-loc{grid-template-columns:1fr;}}

/* ---------- v11: city landing page — cohesive, centered, aligned ---------- */
.rgra-lp{font-family:Poppins,system-ui,-apple-system,sans-serif;color:#4a3a3b;}
.rgra-lp .in{max-width:1080px;margin:0 auto;padding:0 24px;}
.rgra-lp .in.narrow{max-width:780px;}

/* Hero */
.rgra-hero{background:linear-gradient(135deg,#804548 0%,#6d3a3d 100%);color:#fff;text-align:center;
  padding:72px 24px 64px;}
.rgra-hero .eyebrow{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#FFFF99;font-weight:600;margin:0 0 12px;}
.rgra-hero h1{font-family:Cinzel,serif;font-weight:600;font-size:clamp(28px,5vw,46px);line-height:1.15;margin:0 auto 16px;max-width:16ch;}
.rgra-hero .lead{font-size:clamp(16px,2vw,19px);line-height:1.6;color:#f3e7e3;margin:0 auto 28px;max-width:60ch;}
.rgra-hero .cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}

/* Sections */
.rgra-lp .rgra-sec{padding:60px 0;}
.rgra-lp .rgra-sec--cream{background:#f7f1ec;}
.rgra-lp .rgra-sec--soft{background:#fbf7f4;}
.rgra-lp h2{font-family:Cinzel,serif;color:#804548;font-weight:600;font-size:clamp(22px,3.4vw,30px);
  line-height:1.25;text-align:center;margin:0 0 14px;}
.rgra-lp h2::after{content:"";display:block;width:56px;height:3px;background:#FFFF99;border-radius:2px;margin:14px auto 0;}
.rgra-lp .rgra-sec > .in > p{line-height:1.8;font-size:16px;margin:0 0 16px;}
.rgra-lp .lead-p{text-align:center;color:#5a4a4b;font-size:18px;line-height:1.75;max-width:64ch;margin:0 auto 26px;}
.rgra-lp .center{text-align:center;}
.rgra-lp a{color:#804548;}

/* Buttons */
.rgra-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:13px 26px;border-radius:999px;
  font-weight:600;font-size:15px;text-decoration:none;transition:transform .15s ease,background .2s ease,color .2s ease,box-shadow .2s ease;}
.rgra-btn:hover{transform:translateY(-2px);}
.rgra-btn-gold{background:#FFFF99;color:#5a2f31 !important;box-shadow:0 6px 18px rgba(0,0,0,.14);}
.rgra-btn-gold:hover{filter:brightness(1.05);}
.rgra-btn-ghost{background:transparent;color:#fff !important;border:1.6px solid rgba(255,255,255,.65);}
.rgra-btn-ghost:hover{background:rgba(255,255,255,.14);}
.rgra-btn-primary{background:#804548;color:#fff !important;}
.rgra-btn-primary:hover{background:#6d3a3d;box-shadow:0 8px 20px rgba(128,69,72,.24);}
.rgra-btn-outline{background:#fff;color:#804548 !important;border:1.6px solid #804548;}
.rgra-btn-outline:hover{background:#804548;color:#fff !important;}

/* Services checklist */
.rgra-svc{list-style:none;margin:6px auto 0;padding:0;max-width:820px;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 40px;}
.rgra-svc li{padding:11px 0 11px 28px;position:relative;border-bottom:1px solid #ece2db;font-size:15.5px;}
.rgra-svc li::before{content:"✓";position:absolute;left:0;top:11px;color:#804548;font-weight:700;}
@media(max-width:640px){.rgra-svc{grid-template-columns:1fr;}}

/* Studio photos */
.rgra-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;}
.rgra-photos img{width:100%;height:250px;object-fit:cover;border-radius:16px;display:block;box-shadow:0 8px 22px rgba(128,69,72,.12);}
@media(max-width:760px){.rgra-photos{grid-template-columns:1fr;}.rgra-photos img{height:220px;}}

/* Reviews */
.rgra-reviews-head{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:26px;}
.rgra-reviews-head .score{font-family:Cinzel,serif;font-size:30px;color:#804548;font-weight:600;}
.rgra-reviews-head .rgra-stars{color:#e6b800;font-size:20px;letter-spacing:2px;}
.rgra-reviews{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:900px){.rgra-reviews{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.rgra-reviews{grid-template-columns:1fr;}}
.rgra-review{background:#fff;border:1px solid #efe1d9;border-radius:16px;padding:20px;
  box-shadow:0 6px 18px rgba(128,69,72,.07);display:flex;flex-direction:column;margin:0;}
.rgra-review .s{color:#e6b800;letter-spacing:1px;font-size:14px;}
.rgra-review .t{margin:10px 0;line-height:1.6;color:#4a3a3b;font-size:15px;flex:1;}
.rgra-review .n{font-weight:600;color:#804548;font-size:14px;font-style:normal;}

/* Areas interlinks (centered) */
.rgra-lp .rgra-areas-links{justify-content:center;margin-top:22px;}

/* FAQ accordion */
.rgra-lp details{border:1px solid #eaddd6;border-radius:12px;margin:0 0 12px;background:#fff;overflow:hidden;}
.rgra-lp summary{cursor:pointer;padding:16px 20px;font-weight:600;color:#4a3a3b;list-style:none;font-size:16px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;}
.rgra-lp summary::-webkit-details-marker{display:none;}
.rgra-lp summary::after{content:"+";color:#804548;font-weight:700;font-size:20px;line-height:1;}
.rgra-lp details[open] summary{color:#804548;}
.rgra-lp details[open] summary::after{content:"–";}
.rgra-lp details .a{padding:0 20px 16px;line-height:1.7;color:#5a4a4b;}

/* Location CTA banner */
.rgra-cta-banner{background:linear-gradient(135deg,#804548 0%,#6d3a3d 100%);color:#fff;text-align:center;padding:60px 24px;}
.rgra-cta-banner h2{color:#fff;}
.rgra-cta-banner h2::after{background:#FFFF99;}
.rgra-cta-banner p{color:#f3e7e3;line-height:1.7;max-width:60ch;margin:0 auto 24px;}
.rgra-cta-banner .cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}

/* Reviews slider (carousel) on city pages */
.rgra-slider{position:relative;}
.rgra-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:6px 2px 16px;-ms-overflow-style:none;scrollbar-width:none;}
.rgra-track::-webkit-scrollbar{display:none;}
.rgra-track .rgra-review{scroll-snap-align:start;flex:0 0 300px;min-width:300px;}
@media(max-width:640px){.rgra-track .rgra-review{flex-basis:84%;min-width:84%;}}
.rgra-arrow{position:absolute;top:calc(50% - 8px);transform:translateY(-50%);z-index:2;width:46px;height:46px;
  border-radius:999px;border:1px solid #e6d6ce;background:#fff;color:#804548;font-size:24px;line-height:1;cursor:pointer;
  box-shadow:0 4px 14px rgba(128,69,72,.16);display:flex;align-items:center;justify-content:center;}
.rgra-arrow:hover{background:#804548;color:#fff;}
.rgra-arrow.prev{left:-10px;}
.rgra-arrow.next{right:-10px;}
@media(max-width:820px){.rgra-arrow{display:none;}}

/* ---------- v12: two-tone hero, 2-column rows, continuous review marquee ---------- */

/* Hero title fix: first line gold, city name white (beat Elementor h1 color) */
.rgra-hero .rgra-hero-title{margin:0 0 20px;}
.rgra-hero .rgra-hero-title .l1{display:block;font-family:Poppins,system-ui,sans-serif;
  font-size:clamp(14px,2vw,19px);letter-spacing:.2em;font-weight:700;text-transform:uppercase;
  color:#FFFF99 !important;margin:0 0 8px;}
.rgra-hero .rgra-hero-title .l2{display:block;font-family:Cinzel,serif;font-weight:600;
  font-size:clamp(30px,5.6vw,54px);line-height:1.1;color:#fff !important;}

/* Two-column rows (text + image, alternating) */
.rgra-row{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center;}
.rgra-row .txt h2{text-align:left;}
.rgra-row .txt h2::after{margin:14px 0 0;}
.rgra-row .txt p{line-height:1.8;font-size:16px;margin:0 0 14px;}
.rgra-row .rgra-svc{grid-template-columns:1fr;max-width:none;margin-top:4px;}
.rgra-row .rgra-photo{margin:0;}
.rgra-row .rgra-photo img{width:100%;height:100%;min-height:300px;max-height:440px;object-fit:cover;
  border-radius:18px;display:block;box-shadow:0 12px 30px rgba(128,69,72,.16);}
.rgra-row--flip .rgra-photo{order:-1;}
.rgra-row .rgra-areas-links{justify-content:flex-start;}
@media(max-width:820px){
  .rgra-row{grid-template-columns:1fr;gap:26px;}
  .rgra-row--flip .rgra-photo{order:0;}
  .rgra-row .rgra-photo img{min-height:220px;max-height:300px;}
}

/* Continuous review marquee (no arrows) */
.rgra-marquee{overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.rgra-marquee .mtrack{display:flex;gap:18px;width:max-content;animation:rgra-marq 75s linear infinite;}
.rgra-marquee:hover .mtrack{animation-play-state:paused;}
.rgra-marquee .rgra-review{flex:0 0 320px;width:320px;}
@keyframes rgra-marq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){
  .rgra-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none;}
  .rgra-marquee .mtrack{animation:none;}
}

/* ---------- v13: hero centering, ghost gold button, marquee width, home reviews ---------- */

/* Hero title: force full-width block so text truly centers (Elementor h1 rule was shrinking it) */
.rgra-hero .rgra-hero-title{display:block !important;width:100% !important;max-width:100% !important;
  text-align:center !important;margin:0 auto 20px !important;}
.rgra-hero .rgra-hero-title .l1,.rgra-hero .rgra-hero-title .l2{display:block;width:100%;text-align:center;}

/* "Book" button: transparent like the others, but with gold border */
.rgra-btn-gold{background:transparent !important;color:#fff !important;border:1.6px solid #FFFF99 !important;
  box-shadow:none !important;}
.rgra-btn-gold:hover{background:rgba(255,255,153,.16) !important;filter:none;}

/* Review marquee: constrained to the content width (lives inside .in) */
.rgra-marquee{max-width:100%;}
