/* V19 - floating WhatsApp / call buttons + footer privacy link. Wood-and-gold, matches ranch-v10/v11. */
.si-stack{--si-gold:#d9b778;--si-gold-hi:#f0cf92;--si-edge:#27180f;position:fixed;z-index:45;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none;transition:opacity .22s ease,visibility 0s linear 0s}
.si-stack--raised{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 84px)}
/* Chat2Close on: its bubble owns bottom-right, so only our Call button shows, bottom-left */
.si-stack--c2c{right:auto;left:max(16px,env(safe-area-inset-left));align-items:flex-start}
.si-stack--c2c .si-btn--wa,.si-stack--c2c .si-alt{display:none}
.si-stack--c2c .si-btn__label{right:auto;left:calc(100% + 10px)}
.si-stack.is-tucked{opacity:0;visibility:hidden;transition:opacity .22s ease,visibility 0s linear .22s}
.si-btn{pointer-events:auto;position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:2px solid var(--si-gold);color:#fbe7bf;background:linear-gradient(#2012097a,#20120999),url('ranch-wood-seamless.webp') center/562px 360px repeat,#3c291b;box-shadow:inset 0 0 0 3px var(--si-edge),0 3px 0 #1b0f07,0 10px 20px #0008;text-decoration:none;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,color .22s,border-color .22s}
.si-btn svg{width:26px;height:26px;filter:drop-shadow(0 1px 1px #000a)}
.si-btn--wa{color:#b9f0c8}
.si-btn:hover,.si-btn:focus-visible{color:#fff6dd;border-color:var(--si-gold-hi);transform:translateY(-3px);box-shadow:inset 0 0 0 3px var(--si-edge),0 6px 0 #1b0f07,0 14px 24px #0009}
.si-btn:focus-visible{outline:3px solid #c48b3b;outline-offset:3px}
.si-stack.is-tucked .si-btn{transform:translateY(10px) scale(.92)}
.si-btn__label{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:7px 12px;border:1px solid var(--si-gold);background:#130e0cf0;color:#fff0d0;font:700 .8rem 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.si-btn:hover .si-btn__label,.si-btn:focus-visible .si-btn__label{opacity:1}
@media(hover:none),(max-width:620px){.si-btn__label{display:none}}
@media(max-width:620px){.si-stack{gap:10px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.si-stack--c2c{right:auto;left:max(12px,env(safe-area-inset-left))}.si-stack--raised{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 80px)}.si-btn{width:50px;height:50px}.si-btn svg{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.si-stack,.si-stack.is-tucked,.si-btn,.si-btn__label{transition:none}.si-btn:hover,.si-btn:focus-visible,.si-stack.is-tucked .si-btn{transform:none}}
/* V19b: small "other language" WhatsApp link above the buttons */
.si-alt{pointer-events:auto;display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;border:1px solid var(--si-gold);border-radius:999px;background:#130e0ceb;color:#fff0d0;font:700 .74rem 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.08em;white-space:nowrap;text-decoration:none;box-shadow:0 6px 14px #0007;transition:background .2s,color .2s}
.si-alt:hover,.si-alt:focus-visible{background:var(--si-gold);color:#26160b}
.si-alt:focus-visible{outline:3px solid #c48b3b;outline-offset:3px}
@media(max-width:620px){.si-alt{min-height:30px;padding:4px 10px;font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.si-alt{transition:none}}
@media print{.si-stack{display:none}}
/* V19b: Sergio's nickname - italic gold under the name */
.si-nick{display:block;margin-top:.16em;font:italic 400 .5em/1.15 'Cormorant Garamond',Georgia,serif;letter-spacing:.01em;color:#e3b766}
.si-nick__sep{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* V19b: English line next to the ranch phone number */
.phone-link.phone-link--en{font-size:1.15rem;opacity:.9}
/* footer privacy link: always the last item, on its own row where the footer is a grid */
footer .si-footer-privacy{order:99;grid-column:1/-1;opacity:.82;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
footer .si-footer-privacy:hover,footer .si-footer-privacy:focus-visible{opacity:1}
/* V20m: the WhatsApp bubble is a <button> that opens the site's own panel (#mgr-wa) */
button.si-btn{padding:0;margin:0;font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
/* After live chat loads, its pill sits in the bottom-right corner. Keep our buttons on that same side, lifted clear of the pill, so the call button and music stay put and the Halloween button on the left stays clear. */
.si-stack--vendor{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 64px)}
.si-stack--vendor.is-tucked{opacity:1;visibility:visible}
.si-stack--vendor.is-tucked .si-btn{transform:none}
body:has(.si-stack--vendor) #mgr-music{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 268px)!important}
@media(max-width:768px){
  .si-stack--vendor{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 72px)}
  html body:has(.si-stack--vendor) #mgr-music{bottom:calc(288px + env(safe-area-inset-bottom,0px))!important}
}
@media(max-width:620px){
  .si-stack--vendor{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 60px)}
  html body:has(.si-stack--vendor) #mgr-music{bottom:calc(254px + env(safe-area-inset-bottom,0px))!important}
}
/* V20m: bHuman video-assistant launcher - only drawn when bhuman.instanceId + userId are set (hidden by default) */
.si-bh{position:fixed;z-index:45;bottom:max(16px,env(safe-area-inset-bottom));display:grid;place-items:center;width:56px;height:56px;padding:0;border-radius:50%;border:2px solid #d9b778;color:#fbe7bf;background:linear-gradient(#2012097a,#20120999),url('ranch-wood-seamless.webp') center/562px 360px repeat,#3c291b;box-shadow:inset 0 0 0 3px #27180f,0 3px 0 #1b0f07,0 10px 20px #0008;cursor:pointer}
.si-bh--left{left:max(16px,env(safe-area-inset-left))}.si-bh--right{right:max(16px,env(safe-area-inset-right))}
.si-bh svg{width:24px;height:24px}
.si-bh__tag{position:absolute;top:-8px;padding:1px 6px;border:1px solid #d9b778;border-radius:999px;background:#130e0c;color:#f0cf92;font:700 .6rem/1.4 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.08em}
.si-bh:hover,.si-bh:focus-visible{color:#fff6dd;border-color:#f0cf92}
.si-bh:focus-visible{outline:3px solid #c48b3b;outline-offset:3px}
.si-bh[hidden]{display:none}
@media(max-width:620px){.si-bh{width:50px;height:50px;bottom:max(12px,env(safe-area-inset-bottom))}.si-bh--left{left:max(12px,env(safe-area-inset-left))}}
@media print{.si-bh{display:none}}
/* v20m legal footer: Terms link beside Privacy + Meta/Facebook disclaimer as the last line (all pages).
   Appended to assets/site-integrations.css (already loaded by every public page). Contrast: #f0e3c8 on the darkest
   footer wood (#111611 .. #2d1f16) is > 11:1; on the light parchment theme footers are still dark. */
footer .si-footer-terms{order:99;grid-column:1/-1;opacity:.82;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
footer .si-footer-terms:hover,footer .si-footer-terms:focus-visible{opacity:1}
footer .si-footer-disclaimer{order:100;grid-column:1/-1;flex:1 0 100%;width:100%;max-width:none;margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(217,183,120,.35);color:#f0e3c8;font:400 .74rem/1.55 'DM Sans','Segoe UI',Arial,sans-serif;letter-spacing:0;text-transform:none;text-align:center;opacity:1}
@media(max-width:620px){footer .si-footer-disclaimer{font-size:.72rem;text-align:left}}
@media print{footer .si-footer-disclaimer{color:#000;border-color:#999}}
/* v20m ADA / WCAG 2.1 AA fixes (append to assets/site-integrations.css: every public page loads it).
   Each rule names the audit item in ADA_REPORT.md. Ratios measured against the actual backgrounds. */

/* A1 · 1.4.3 people pages, DAY theme: gold text on the light sand section (#d8bb8d) was 1.12:1 -> 5.8:1 */
html[data-theme=day] .profile-story span,
html[data-theme=day] .profile-story h2 em,
html[data-theme=day] .profile-contact > span,
html[data-theme=day] .profile-contact h2 em{color:#5a3615}
/* A2 · 1.4.3 /people/sergio/ DAY theme: the film section had cream text on the light page (#e5d0aa, 1.08-1.29:1).
   Give it the night wood background it was designed on (text 12.9:1, gold 10.2:1). */
html[data-theme=day] .profile-film{background:#2a1b10;color:#f8edd8}
/* A3 · 1.4.3 home DAY theme: dark sections keep the day-brown eyebrow (#755027 on #1f221b = 2.2:1) -> 8.6:1 */
html[data-theme=day] #collection .eyebrow,
html[data-theme=day] .collection-callout .eyebrow,
html[data-theme=day] #facebook .eyebrow{color:#e3b766}
/* A4 · 1.4.3 /privacidad/ (+ /terminos/) NIGHT theme: the parchment card keeps its light paper, but the eyebrow
   turned light gold (1.49:1) -> 6.0:1 */
html[data-theme=night] .privacy-card .eyebrow{color:#755027}
/* A5 · 1.4.3 skip link, NIGHT theme (shop): cream text on gold (1.69:1) -> 9:1 everywhere */
.skip,.skip:focus{color:#1b120c}
/* A6 · 2.4.7 focus visible: native <video> controls had no focus ring (/people/sergio/, home films) */
video:focus-visible{outline:3px solid #c48b3b;outline-offset:3px}
/* A7 · 2.2.2 hero video pause button (added by ada-fixes.js) */
.mgr-hero-pause{position:absolute;z-index:6;right:max(22px,env(safe-area-inset-right));top:166px;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid #d9b778;border-radius:999px;background:#130e0ce6;color:#fff0d0;font:700 .74rem 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.1em;cursor:pointer}
.mgr-hero-pause:focus-visible{outline:3px solid #c48b3b;outline-offset:3px}
.mgr-hero-pause svg{width:14px;height:14px}
@media(max-width:620px){.mgr-hero-pause{top:136px;min-height:40px;padding:0 12px}}
@media print{.mgr-hero-pause{display:none}}
/* A9 · 2.2.2 moving ribbons (home .ribbon, shop .ticker): pause while hovered/focused, and stop with the
   hero "pause motion" button (html.mgr-motion-paused, set by ada-fixes.js). Reduced-motion visitors already get none. */
.ribbon:hover span,.ticker:hover span,html.mgr-motion-paused .ribbon span,html.mgr-motion-paused .ticker span,html.mgr-motion-paused .map-medal-pin{animation-play-state:paused!important}
/* mgr-protect.css (v20m) · pairs with mgr-protect.js. Deters casual saving only (see the JS header). */
img.mgr-protected{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
/* Optional watermark: medallion + "Mendez Golden Ranch", top-right of each portfolio photo frame (clear of the gallery captions at the bottom).
   Background images only (no text content), so assistive technology ignores it; pointer-events:none keeps taps,
   the photo viewer and keyboard focus exactly as before. Delete this block (or set watermark:false) to turn it off. */
.mgr-wm{position:relative}
.mgr-wm::after{content:"";position:absolute;right:8px;top:8px;width:min(190px,58%);aspect-ratio:200/34;pointer-events:none;z-index:2;opacity:.62;
  background:url("/assets/ranch-mark-clear.webp") 0 50%/auto 86% no-repeat,
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 166 34'%3E%3Ctext x='2' y='23' font-family='Georgia,serif' font-size='16' font-style='italic' fill='%23fff6e0' stroke='%23000' stroke-opacity='.45' stroke-width='.6' paint-order='stroke'%3EMendez Golden Ranch%3C/text%3E%3C/svg%3E") 100% 50%/82% auto no-repeat;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}
@media print{.mgr-wm::after{opacity:.9}}
