/* Four Winds Phase 3.1R locked shell and accessibility repair layer */
:root{
  --fw31r-ink:#1e211f;
  --fw31r-cream:#fffdf7;
  --fw31r-cream-soft:#f7f0e3;
  --fw31r-green:#17372b;
  --fw31r-green-2:#214a3a;
  --fw31r-gold:#b38a3e;
  --fw31r-gold-dark:#76591f;
  --fw31r-burgundy:#6a2638;
  --fw31r-muted:#5b5f5c;
  --fw31r-footer:#1a1410;
  --fw31r-footer-text:#f7f3ec;
  --fw31r-footer-muted:#c8beb3;
  --fw31r-focus:#c4a96a;
  --fw31r-border:#d8cbb6;
  --fw31r-shadow:0 8px 24px rgba(0,0,0,.14);
}
html{scroll-padding-top:7rem}
body{margin:0}
.skip-link,.skip{position:fixed!important;left:1rem!important;top:-8rem!important;z-index:100000!important;background:var(--fw31r-ink)!important;color:#fff!important;padding:.75rem 1rem!important;border-radius:0 0 .35rem .35rem!important;font:700 .875rem/1.2 Arial,Helvetica,sans-serif!important;text-decoration:none!important;transition:top .15s ease!important}
.skip-link:focus,.skip:focus{top:0!important;outline:3px solid var(--fw31r-focus)!important;outline-offset:2px!important}
.topbar{background:var(--fw31r-ink)!important;color:#f7f3ec!important;padding:.52rem 1rem!important;text-align:center!important;font:600 .78rem/1.45 Arial,Helvetica,sans-serif!important;letter-spacing:.01em!important}
.topbar__inner{max-width:90rem!important;margin:0 auto!important;display:flex!important;gap:.55rem!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important}
.topbar a{color:#f7f3ec!important;text-decoration:underline!important;text-underline-offset:2px!important}
.topbar__sep{color:#c8beb3!important}
.site-header{position:relative!important;z-index:9990!important;background:var(--fw31r-cream)!important;border-bottom:1px solid var(--fw31r-border)!important;color:var(--fw31r-ink)!important;box-shadow:0 2px 10px rgba(0,0,0,.06)!important}
.site-header__inner{max-width:90rem!important;margin:0 auto!important;min-height:76px!important;padding:.7rem 1.25rem!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:1rem!important;box-sizing:border-box!important}
.logo{display:flex!important;flex-direction:column!important;text-decoration:none!important;color:var(--fw31r-green)!important;line-height:1.05!important;min-width:max-content!important}
.logo__name{font-family:Georgia,'Times New Roman',serif!important;font-size:1.55rem!important;font-weight:700!important;letter-spacing:.01em!important;color:var(--fw31r-green)!important}
.logo__sub{margin-top:.28rem!important;font:700 .64rem/1.25 Arial,Helvetica,sans-serif!important;letter-spacing:.11em!important;text-transform:uppercase!important;color:var(--fw31r-muted)!important}
.site-nav{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:.15rem!important;flex-wrap:wrap!important;font:700 .78rem/1.2 Arial,Helvetica,sans-serif!important}
.site-nav a{display:inline-flex!important;align-items:center!important;min-height:44px!important;padding:.55rem .62rem!important;border-radius:.25rem!important;color:var(--fw31r-ink)!important;text-decoration:none!important;box-sizing:border-box!important}
.site-nav a:hover,.site-nav a[aria-current="page"]{background:var(--fw31r-cream-soft)!important;color:var(--fw31r-green)!important;text-decoration:none!important}
.site-nav a:focus-visible,.hamburger:focus-visible,.help-bar a:focus-visible,.mobile-booking-bar a:focus-visible,.site-footer a:focus-visible{outline:3px solid var(--fw31r-focus)!important;outline-offset:3px!important}
.site-nav__cta{background:var(--fw31r-gold)!important;color:var(--fw31r-ink)!important;border:1px solid var(--fw31r-gold)!important;padding:.55rem .85rem!important;margin-left:.15rem!important}
.site-nav__cta:hover{background:var(--fw31r-gold-dark)!important;color:#fff!important;border-color:var(--fw31r-gold-dark)!important}
.site-nav__text{background:var(--fw31r-green-2)!important;color:#fff!important;border-color:var(--fw31r-green-2)!important}
.site-nav__text:hover{background:var(--fw31r-green)!important;color:#fff!important}
.hamburger{display:none!important;flex-direction:column!important;justify-content:center!important;gap:4px!important;min-width:44px!important;min-height:44px!important;padding:.55rem!important;background:transparent!important;border:1px solid var(--fw31r-border)!important;border-radius:.3rem!important;cursor:pointer!important}
.hamburger span{display:block!important;width:21px!important;height:2px!important;background:var(--fw31r-ink)!important;border-radius:2px!important}
.help-bar{background:var(--fw31r-cream-soft)!important;color:var(--fw31r-ink)!important;border-bottom:1px solid var(--fw31r-border)!important;padding:.58rem 1rem!important;text-align:center!important;font:600 .82rem/1.45 Arial,Helvetica,sans-serif!important}
.help-bar__inner{max-width:90rem!important;margin:0 auto!important}
.help-bar a{color:var(--fw31r-gold-dark)!important;font-weight:800!important;text-decoration:underline!important;text-underline-offset:2px!important}
.mobile-booking-bar{display:none!important}
.site-footer{background:var(--fw31r-footer)!important;color:var(--fw31r-footer-text)!important;padding:3rem 1.25rem 1.25rem!important;text-align:left!important;font-family:Arial,Helvetica,sans-serif!important}
.site-footer .footer__inner{max-width:90rem!important;margin:0 auto!important;display:grid!important;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr))!important;gap:2.5rem!important}
.site-footer .footer-brand__name{margin:0 0 .25rem!important;color:var(--fw31r-footer-text)!important;font:700 1.3rem/1.25 Georgia,'Times New Roman',serif!important}
.site-footer .footer-brand__sub{margin:0 0 .85rem!important;color:#e6cf9c!important;font:700 .68rem/1.35 Arial,Helvetica,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.site-footer .footer-brand__desc,.site-footer .footer-brand__nap,.site-footer .disclosure,.site-footer .copyright{color:var(--fw31r-footer-muted)!important;line-height:1.65!important}
.site-footer .footer-brand__desc{font-size:.88rem!important;max-width:37rem!important}
.site-footer .footer-brand__nap{font-size:.82rem!important;margin-top:.85rem!important}
.site-footer .footer-col__heading{margin:0 0 .7rem!important;color:#e6cf9c!important;font:700 .72rem/1.3 Arial,Helvetica,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase!important;margin-top:0!important}
.site-footer .footer-nav{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;gap:.28rem!important}
.site-footer a{color:var(--fw31r-footer-text)!important;text-decoration:underline!important;text-underline-offset:2px!important}
.site-footer a:hover{color:#f4d792!important}
.site-footer .footer-bottom{max-width:90rem!important;margin:2rem auto 0!important;padding-top:1.1rem!important;border-top:1px solid rgba(247,243,236,.24)!important}
.site-footer .footer-bottom p{margin:.35rem 0!important;font-size:.78rem!important}
/* Accessible brand color corrections across legacy templates. */
.eyebrow,.kicker,.label,.section-label,.fw-eyebrow,.snapshot__label,.fw-snapshot__label,.fact-item__label,.sidebar-facts__label,.card__eyebrow,.meta-label,.gold-text{color:var(--fw31r-gold-dark)!important}
.muted,.text-muted,.source,.source-note,.review-source,.footer-brand__desc,.footer-brand__nap{color:var(--fw31r-muted)}
.btn--gold,.btn-primary,.fw-btn-primary,.fw-btn--primary,.fw-button-primary,.btn.primary,.btn--primary,.avail-card__btn,.contact-btn--phone{background:var(--fw31r-gold)!important;color:var(--fw31r-ink)!important;border-color:var(--fw31r-gold)!important}
.btn--gold:hover,.btn-primary:hover,.fw-btn-primary:hover,.fw-btn--primary:hover,.fw-button-primary:hover,.btn.primary:hover,.btn--primary:hover,.avail-card__btn:hover,.contact-btn--phone:hover{background:var(--fw31r-gold-dark)!important;color:#fff!important;border-color:var(--fw31r-gold-dark)!important}
.btn--gold-ol{color:var(--fw31r-gold-dark)!important;border-color:var(--fw31r-gold-dark)!important}
.faq-btn[aria-expanded="true"]{color:var(--fw31r-green)!important}
a{overflow-wrap:anywhere}
#main-content{scroll-margin-top:7rem}
@media(max-width:980px){
  .hamburger{display:flex!important}
  .site-header__inner{position:relative!important}
  .site-nav{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;z-index:9995!important;background:var(--fw31r-cream)!important;border-bottom:1px solid var(--fw31r-border)!important;box-shadow:var(--fw31r-shadow)!important;flex-direction:column!important;align-items:stretch!important;padding:.6rem 1rem 1rem!important;gap:0!important}
  .site-nav.open{display:flex!important}
  .site-nav a{width:100%!important;min-height:44px!important;padding:.7rem .65rem!important;border-bottom:1px solid #e8decd!important;border-radius:0!important}
  .site-nav__cta{margin:.35rem 0 0!important;justify-content:center!important;border-radius:.25rem!important}
}
@media(max-width:720px){
  body{padding-bottom:64px!important}
  .topbar__inner{gap:.25rem .45rem!important}
  .topbar__sep{display:none!important}
  .site-header__inner{min-height:68px!important;padding:.55rem .9rem!important}
  .logo__name{font-size:1.36rem!important}
  .logo__sub{font-size:.58rem!important;letter-spacing:.08em!important}
  .help-bar{font-size:.78rem!important;padding:.5rem .75rem!important}
  .mobile-booking-bar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:9998!important;display:grid!important;grid-template-columns:1fr 1fr 1.35fr!important;background:var(--fw31r-footer)!important;border-top:1px solid rgba(255,255,255,.25)!important;box-shadow:0 -4px 18px rgba(0,0,0,.22)!important}
  .mobile-booking-bar a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:58px!important;padding:.35rem!important;color:#fff!important;text-decoration:none!important;font:800 .75rem/1.1 Arial,Helvetica,sans-serif!important;text-align:center!important;border-right:1px solid rgba(255,255,255,.18)!important}
  .mobile-booking-bar a:last-child{border-right:0!important;background:var(--fw31r-gold)!important;color:var(--fw31r-ink)!important}
  .site-footer{padding-bottom:2rem!important}
  .site-footer .footer__inner{grid-template-columns:1fr!important;gap:1.7rem!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Phase 3.1R rendered-contrast and legacy-specificity hardening. */
header.site-header .site-nav a{color:var(--fw31r-ink)!important}
header.site-header .site-nav a.site-nav__text{background:var(--fw31r-green-2)!important;color:#fff!important;border-color:var(--fw31r-green-2)!important}
header.site-header .site-nav a.site-nav__text:hover,header.site-header .site-nav a.site-nav__text:focus-visible{background:var(--fw31r-green)!important;color:#fff!important}
header.site-header .site-nav a.site-nav__cta:not(.site-nav__text){background:var(--fw31r-gold)!important;color:var(--fw31r-ink)!important;border-color:var(--fw31r-gold)!important}
header.site-header .site-nav a.site-nav__cta:not(.site-nav__text):hover{background:var(--fw31r-gold-dark)!important;color:#fff!important;border-color:var(--fw31r-gold-dark)!important}
.fw-s22-ctas a:first-child,a.unit-card__primary,.unit-card__primary{background:var(--fw31r-gold)!important;color:var(--fw31r-ink)!important;border-color:var(--fw31r-gold)!important}
.fw-s22-ctas a:first-child:hover,a.unit-card__primary:hover,.unit-card__primary:hover{background:var(--fw31r-gold-dark)!important;color:#fff!important;border-color:var(--fw31r-gold-dark)!important}
.tag--nopet{color:#5a4033!important}
.page-hero__breadcrumb,.page-hero__breadcrumb a,.page-hero__breadcrumb span,.page-hero .breadcrumb,.page-hero .breadcrumb a,.page-hero .breadcrumb span,.page-hero .crumb,.page-hero .crumb a,.page-hero .crumb span{color:#f7f3ec!important;opacity:1!important}
.page-hero__eyebrow,.page-hero .eyebrow,.page-hero .kicker,.page-hero .lede,.page-hero__lede{color:#f7f3ec!important;opacity:1!important}
.cta-block .label,.final .label,.final-cta .label,.booking-cta .label,.page-hero .label{color:#e6cf9c!important;opacity:1!important}
.fw-power-line{background:rgba(23,55,43,.96)!important;color:#fff!important;display:inline-block!important;padding:.25rem .5rem!important;border-radius:.2rem!important}
.cottage-card-header h3{color:#e6cf9c!important}
.fee-val.none{color:#5b5f5c!important}

/* Phase 3.1R final contextual contrast corrections. */
header.site-header nav.site-nav{background:transparent!important;background-image:none!important}
.unit-card__badge--info{background:var(--fw31r-gold-dark)!important;color:#fff!important;opacity:1!important}
a.unit-card__primary,.unit-card__primary{color:var(--fw31r-ink)!important}
a.pet-link{color:#4d6246!important}
.cta-block .lede,.final .lede,.final-cta .lede,.booking-cta .lede{color:#f7f3ec!important;opacity:1!important}
.widget-section .avail-hd .label,.widget-section .avail-hd h2{color:#e6cf9c!important}
.widget-section .avail-hd p{color:#f7f3ec!important}
.widget-section .avail-card .fw-image-caption,.widget-section .avail-card .avail-card__type,.widget-section .avail-card p{color:var(--fw31r-muted)!important}
.widget-section .fw-s22-mid-validation-cta p{color:#f7f3ec!important}
.review-card span,.reviews-grid span,.testimonial span{color:var(--fw31r-muted)!important}
main#main-content td{color:var(--fw31r-muted)!important}
.unit-card--info a.unit-card__primary{background:#c4a96a!important;color:#1a1410!important;border-color:#c4a96a!important}
.widget-section .fw-s22-mid-validation-cta p{color:var(--fw31r-ink)!important}
main#main-content span[style*="#888"]{color:var(--fw31r-muted)!important}
html body a.skip-link:focus,html body a.skip:focus{top:0!important;left:1rem!important;position:fixed!important;z-index:100000!important;visibility:visible!important;opacity:1!important}

/* Phase 3.1R mobile cascade lock: overrides legacy page-specific breakpoint colors. */
html body main#main-content a.btn.btn--gold,
html body main#main-content a.btn-primary,
html body main#main-content a.avail-card__btn,
html body main#main-content a.unit-card__primary,
html body main#main-content .fw-s22-ctas a:first-child{
  background:#b38a3e!important;
  background-color:#b38a3e!important;
  color:#1e211f!important;
  border-color:#b38a3e!important;
  opacity:1!important;
}
html body main#main-content a.btn.btn--gold:hover,
html body main#main-content a.btn-primary:hover,
html body main#main-content a.avail-card__btn:hover,
html body main#main-content a.unit-card__primary:hover,
html body main#main-content .fw-s22-ctas a:first-child:hover{
  background:#76591f!important;
  background-color:#76591f!important;
  color:#fff!important;
  border-color:#76591f!important;
}
html body main#main-content .unit-card--info a.unit-card__primary{background:#c4a96a!important;background-color:#c4a96a!important;color:#1a1410!important;border-color:#c4a96a!important}


/* Four Winds Phase 3.1R2 — semantic context, accessibility, target-size, and reflow contract. */
:root{--fw-r2-light:#fffdf7;--fw-r2-soft:#f7f0e3;--fw-r2-dark:#17372b;--fw-r2-deep:#1a1410;--fw-r2-text:#1e211f;--fw-r2-muted:#454a46;--fw-r2-on-dark:#f7f3ec;--fw-r2-gold:#f1d797;--fw-r2-focus:#c4a96a}
html body main#main-content,html body main#main-content *{min-width:0}
html body main#main-content img,html body main#main-content video,html body main#main-content iframe{max-width:100%!important}
.fw-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;border-radius:.25rem;box-sizing:border-box;contain:inline-size}
.fw-table-scroll:focus-visible{outline:3px solid var(--fw-r2-focus);outline-offset:3px}.fw-table-scroll>table{width:max-content!important;min-width:100%!important;max-width:none!important}
html body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--fw-r2-focus)!important;outline-offset:3px!important}
html body .help-bar a,html body .site-footer a{display:inline-flex!important;align-items:center!important;min-height:44px!important;padding-block:.35rem!important;box-sizing:border-box!important}
html body nav[aria-label*="breadcrumb" i] a{display:inline-flex!important;align-items:center!important;min-height:24px!important;padding-block:.15rem!important}
html body main#main-content a.fw-target-link{display:inline-flex!important;align-items:center!important;min-height:24px!important;padding-block:.15rem!important}
html body main#main-content#main-content a.fw-target-link:is(.btn,.btn-secondary,.btn-primary,.fw-button,.fw-btn,.unit-cta,.contact-btn),html body main#main-content#main-content a.fw-target-link[data-fw-primary="true"],html body main#main-content#main-content summary{min-height:44px!important;height:auto!important;padding-top:.78rem!important;padding-bottom:.78rem!important;line-height:1.2!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
html body main#main-content#main-content a.fw-target-link[href*="book.fourwindsvenue.com"],html body main#main-content#main-content a.btn.btn--gold,html body main#main-content#main-content a.btn--gold,html body main#main-content#main-content a.btn-primary,html body main#main-content#main-content button.btn--gold{background:var(--fw-r2-gold)!important;background-color:var(--fw-r2-gold)!important;color:var(--fw-r2-deep)!important;border-color:var(--fw-r2-gold)!important;opacity:1!important}
html body main#main-content#main-content a[href^="tel:"]{display:inline-flex!important;align-items:center!important;min-height:24px!important;min-width:24px!important;padding-block:.25rem!important}
html body :is(.section-dark,.section--dark,.dark-section,.section-deep,.section--deep,.fw-cta-panel){background:var(--fw-r2-dark)!important;color:var(--fw-r2-on-dark)!important}
html body :is(.section-dark,.section--dark,.dark-section,.section-deep,.section--deep,.fw-cta-panel) :is(h1,h2,h3,h4,p,span,strong,li){color:var(--fw-r2-on-dark)!important;opacity:1!important}
html body :is(.hero,.page-hero,.unit-hero) .fw-snapshot,html body :is(.hero,.page-hero,.unit-hero) .fw-snapshot__item{background:rgba(26,20,16,.88)!important;border-color:rgba(247,243,236,.32)!important;color:var(--fw-r2-on-dark)!important}
html body :is(.hero,.page-hero,.unit-hero) .fw-snapshot__item :is(.fw-snapshot__label,p,strong,span),html body :is(.unit-hero,.page-hero) .fw-s22-snapshot :is(.fw-snapshot__label,.fw-s22-micro){color:var(--fw-r2-on-dark)!important;opacity:1!important}
html body .unit-hero__panel{background:var(--fw-r2-light)!important;color:var(--fw-r2-text)!important;border-color:#d8cbb6!important}html body .unit-hero__panel :is(.panel__title,.panel__sub,.panel__contact,p,strong,span){color:var(--fw-r2-text)!important;opacity:1!important}
html body .proof-strip,html body .proof-strip .proof-item{background:var(--fw-r2-dark)!important;color:var(--fw-r2-on-dark)!important;border-color:rgba(247,243,236,.3)!important}html body .proof-strip .proof-item :is(strong,span,p){color:var(--fw-r2-on-dark)!important;opacity:1!important}
html body .route-chip{background:#214a3a!important;color:#fff!important;border-color:#5f8a72!important}html body .route-chip :is(.route-chip__dist,.route-chip__type){color:#fff!important;opacity:1!important}
html body :is(.yr-chip,.time-chip__dest,.night-chip__detail,.faq-ico,.report-disclaimer,.info-notice,.org-notice){opacity:1!important}
html body .section--gold .label{color:#5e4619!important;opacity:1!important}
html body[data-fw-route="/local-events/bonham-farmers-market-lodging/"] .section--gold .label{color:#fff!important}
html body[data-fw-route="/pet-friendly-stay-bonham-tx/"] .hero-eyebrow{color:#fff!important;opacity:1!important}
html body[data-fw-route="/accommodations/sam-rayburn-suite/"] .work-band .label{color:var(--fw-r2-gold)!important;opacity:1!important}
html body[data-fw-route="/contact-directions-parking/"] .cta-block .label{color:var(--fw-r2-gold)!important;opacity:1!important}
html body[data-fw-route="/"] .mobile-book-bar,html body[data-fw-route="/"] .mobile-book-bar :is(span,strong){background:var(--fw-r2-gold)!important;color:var(--fw-r2-deep)!important;opacity:1!important}
html body[data-fw-route="/"] .fw-date-form :is(button,.btn){background:var(--fw-r2-gold)!important;color:var(--fw-r2-deep)!important;border-color:var(--fw-r2-gold)!important;opacity:1!important}
html body[data-fw-route="/local-events/christmas-bonham/"] .event-section__hd p{color:#fff!important;opacity:1!important}
html body[data-fw-route="/local-events/bonham-quilt-hop-fiber-arts-show/"] .fw-s22-section a.fw-target-link:not(.btn){color:var(--fw-r2-text)!important;background:var(--fw-r2-gold)!important;border-color:#5e4619!important}
html body[data-fw-route="/gallery/haunted-trailer/"] .topbar span,html body[data-fw-route="/gallery/paranormal-investigation/"] .topbar span{color:var(--fw-r2-on-dark)!important;opacity:1!important}
html body[data-fw-route^="/gallery/"] main#main-content :is(.fw-phase4-section,.fw-s22-section,.fw-v1-visual-polish){background:var(--fw-r2-light)!important;color:var(--fw-r2-text)!important}
html body[data-fw-route^="/gallery/"] main#main-content :is(.fw-phase4-section,.fw-s22-section,.fw-v1-visual-polish) :is(h1,h2,h3,h4,p,span,strong,em,a:not([href*="book.fourwindsvenue.com"])){color:var(--fw-r2-text)!important;opacity:1!important}
html body[data-fw-route^="/gallery/"] main#main-content .fw-s22-snapshot .fw-snapshot__item,html body[data-fw-route^="/gallery/"] main#main-content .fw-s22-snapshot .fw-snapshot__item *{background:rgba(26,20,16,.88)!important;color:var(--fw-r2-on-dark)!important;opacity:1!important}
html body[data-fw-route^="/gallery/"] main#main-content .fw-s22-snapshot>.fw-s22-micro{color:var(--fw-r2-muted)!important;opacity:1!important}
html body[data-fw-route="/gallery/haunted-trailer/"] main#main-content .callout--amber,html body[data-fw-route="/gallery/haunted-trailer/"] main#main-content .callout--amber *{background:#f3e5bc!important;color:var(--fw-r2-text)!important;opacity:1!important}
html body[data-fw-route^="/gallery/"] main#main-content .section--gold,html body[data-fw-route^="/gallery/"] main#main-content .section--gold *{background:#f0e8d4!important;color:var(--fw-r2-text)!important;opacity:1!important}
html body[data-fw-route="/gallery/paranormal-investigation/"] main#main-content .section--gold .label{color:#fff!important;background:#5e4619!important;padding:.2rem .5rem!important}
html body[data-fw-route="/gallery/haunted-trailer/"] main#main-content .context-card,html body[data-fw-route="/gallery/haunted-trailer/"] main#main-content .context-card *{background:var(--fw-r2-light)!important;color:var(--fw-r2-text)!important;opacity:1!important}
html body[data-fw-route="/404.html"] main#main-content .lede{color:var(--fw-r2-muted)!important}
html body[data-fw-route="/four-winds-for-sale/"] main#main-content#main-content a.fw-target-link:is(.btn,.contact-btn){min-height:44px!important;padding-top:.9rem!important;padding-bottom:.9rem!important}
@media(max-width:479px){html body main#main-content :is(.unit-grid,.cottage-grid,.calendar-grid,.event-grid,.grid,.cards){grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important}html body main#main-content :is(.unit-card,.cottage-card,.cal-card,.event-card,.panel,.card,.unit-hero__panel,.hero__card){width:100%!important;max-width:100%!important;min-width:0!important}html body[data-fw-route="/accommodations/"] main#main-content{overflow-x:clip!important}}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Phase 3.1R2 final context seal — generated from fresh all-page computed-style evidence. */
html body .topbar a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:.35rem .2rem!important;
  box-sizing:border-box!important;
}
/* The S22 snapshot wrapper is a light inset even when nested in a dark hero. */
html body main#main-content .fw-s22-section.fw-s22-snapshot{
  background:var(--fw-r2-light)!important;
  color:var(--fw-r2-text)!important;
}
html body main#main-content .fw-s22-section.fw-s22-snapshot>.fw-s22-micro,
html body main#main-content .fw-s22-section.fw-s22-snapshot>.fw-s22-micro.lede{
  color:var(--fw-r2-muted)!important;
  opacity:1!important;
}
html body main#main-content .fw-s22-section.fw-s22-snapshot .fw-s22-ctas a:not([href*="book.fourwindsvenue.com"]){
  color:var(--fw-r2-text)!important;
  border-color:var(--fw-r2-text)!important;
  background:transparent!important;
}
/* Dark section with light inset cards: card content must use on-light text. */
html body main#main-content :is(.section-dark,.section--dark,.dark-section) :is(.card,.panel,.info-card){
  background:var(--fw-r2-light)!important;
  color:var(--fw-r2-text)!important;
}
html body main#main-content :is(.section-dark,.section--dark,.dark-section) :is(.card,.panel,.info-card) :is(h1,h2,h3,h4,p,span,strong,li,a:not(.btn):not(.button)){
  color:var(--fw-r2-text)!important;
  opacity:1!important;
}
/* Unit hero and booking-panel contexts. */
html body main#main-content .unit-hero .stairs-notice,
html body main#main-content .unit-hero .unit-hero__breadcrumb,
html body main#main-content .unit-hero .unit-hero__breadcrumb :is(a,span){
  color:var(--fw-r2-on-dark)!important;
  opacity:1!important;
}
html body main#main-content .unit-hero__panel :is(a,a[href^="tel:"],a[href^="mailto:"]){
  color:#5e4619!important;
  text-decoration:underline!important;
  opacity:1!important;
}
html body main#main-content .simple-band .label{
  color:#fff!important;
  opacity:1!important;
}
html body main#main-content video{color:#fff!important}
/* Light-page secondary controls must not inherit dark-surface white text. */
html body main#main-content :is(.section,.section-muted,.section--alt):not(.section-dark):not(.section--dark):not(.section--gold) :is(a.btn.secondary,a.btn-secondary){
  color:var(--fw-r2-text)!important;
  border-color:var(--fw-r2-text)!important;
  background:transparent!important;
}
html body[data-fw-route="/history-of-four-winds-bonham-texas/"] main#main-content a.btn.secondary{
  color:var(--fw-r2-text)!important;
  border-color:var(--fw-r2-text)!important;
  background:transparent!important;
}
/* Near-threshold muted tokens are normalized to the governed readable value. */
html body main#main-content :is(.key-points__label,.critical-notice__icon){color:#68594f!important;opacity:1!important}
/* Gallery family: light editorial sections may contain intentionally dark subcomponents. */
html body[data-fw-route^="/gallery/"] main#main-content :is(.fw-phase4-section,.fw-s22-section:not(.fw-s22-snapshot),.fw-v1-visual-polish){
  background:var(--fw-r2-light)!important;
  color:var(--fw-r2-text)!important;
}
html body[data-fw-route^="/gallery/"] main#main-content :is(.fw-phase4-section,.fw-s22-section:not(.fw-s22-snapshot),.fw-v1-visual-polish) :is(h1,h2,h3,h4,p,span,strong,em,a:not([href*="book.fourwindsvenue.com"])){
  color:var(--fw-r2-text)!important;
  opacity:1!important;
}
html body[data-fw-route^="/gallery/"] main#main-content .fw-s22-section.fw-s22-snapshot .fw-snapshot__item{
  background:rgba(26,20,16,.92)!important;
  color:var(--fw-r2-on-dark)!important;
  border-color:rgba(247,243,236,.35)!important;
}
html body[data-fw-route^="/gallery/"] main#main-content .fw-s22-section.fw-s22-snapshot .fw-snapshot__item :is(.fw-snapshot__label,p,span,strong){
  color:var(--fw-r2-on-dark)!important;
  background:transparent!important;
  opacity:1!important;
}
html body[data-fw-route^="/gallery/"] main#main-content :is(.yr-strip,.section--char,.history-block,.info-notice,.report-disclaimer,.evidence-list__hd){
  color:var(--fw-r2-on-dark)!important;
}
html body[data-fw-route^="/gallery/"] main#main-content :is(.yr-strip,.section--char,.history-block,.info-notice,.report-disclaimer,.evidence-list__hd) :is(p,span,strong,h2,h3,a){
  color:var(--fw-r2-on-dark)!important;
  opacity:1!important;
}
html body[data-fw-route^="/gallery/"] main#main-content :is(.yr-chip,.report-item__icon,.testimonial__stars,.testimonial__source,.testimonial__date,.faq-ico){
  color:var(--fw-r2-on-dark)!important;
  opacity:1!important;
}
html body[data-fw-route="/gallery/paranormal-investigation/"] main#main-content .section--gold .label{
  color:#fff!important;
  background:#5e4619!important;
  opacity:1!important;
}
/* Keep cards and notices legible when a dark section contains a light inset surface. */
html body main#main-content :is(.section-dark,.section--dark,.dark-section) :is(.card,.panel,.info-card,.notice,.callout)[style*="background"],
html body main#main-content :is(.section-dark,.section--dark,.dark-section) :is(.card,.panel,.info-card,.notice,.callout).light{
  color:var(--fw-r2-text)!important;
}
/* Phase 3.1R2 validation closeout: isolated component corrections. */
html body main#main-content .available-block a.available-link{
  background:var(--fw-r2-gold)!important;
  color:var(--fw-r2-deep)!important;
  border-color:var(--fw-r2-gold)!important;
  opacity:1!important;
}
html body main#main-content .unit-hero .fw-image-caption{
  color:var(--fw-r2-on-dark)!important;
  opacity:1!important;
}
html body main#main-content :is(a.btn,a.button,a.btn-primary,a.btn-secondary,a.unit-card__cta,button.btn,button.button),
html body main#main-content a.link-tile{
  min-height:44px!important;
  height:auto!important;
  padding-top:.75rem!important;
  padding-bottom:.75rem!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
}
html body a[href^="tel:"]{
  min-height:24px!important;
  display:inline-flex!important;
  align-items:center!important;
}
/* Phase 3.1R2 gallery evidence readability. */
html body[data-fw-route="/gallery/haunted-trailer/"] main#main-content .report-list .report-item__text span,
html body[data-fw-route="/gallery/haunted-trailer/"] main#main-content .soft-cta :is(.label,p,span,strong,a),
html body[data-fw-route="/gallery/paranormal-investigation/"] main#main-content :is(.content-wrap,.soft-cta) :is(.label,p,span,strong),
html body[data-fw-route="/gallery/paranormal-investigation/"] main#main-content .content-wrap>p{
  color:var(--fw-r2-on-dark)!important;
  opacity:1!important;
}
html body[data-fw-route="/gallery/paranormal-investigation/"] main#main-content .content-wrap>div>div>span{
  color:var(--fw-r2-on-dark)!important;
  opacity:1!important;
}
html body main#main-content .fw-s22-links a:not([href*="book.fourwindsvenue.com"]){
  color:#5e4619!important;
  opacity:1!important;
}
html body main#main-content .fw-s22-links a[href*="book.fourwindsvenue.com"]{
  color:#5e4619!important;
  opacity:1!important;
}
html body main#main-content .routes-band :is(.routes-band__label,p,a,span,strong){color:#fff!important;opacity:1!important}
html body main#main-content .section--gold :is(a.btn.secondary,a.btn-secondary){color:#fff!important;border-color:#fff!important;background:transparent!important}
html body[data-fw-route="/local-events/bonham-farmers-market-lodging/"] main#main-content section.section--gold a.btn.secondary{
  color:#fff!important;
  border-color:#fff!important;
  background:transparent!important;
}
/* Phase 3.1R2 event-family contrast and narrow-grid closeout. */
html body main#main-content .week-band .day-pill__date,
html body main#main-content .times-band .time-chip__dest,
html body main#main-content .nights-band .night-chip__detail,
html body main#main-content .page-hero .org-notice{
  color:#fff!important;
  opacity:1!important;
}
html body[data-fw-route="/local-events/bonham-trade-days/"] main#main-content .lodging-cta>.fw-s22-mid-validation-cta{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
html body[data-fw-route="/local-events/bonham-trade-days/"] main#main-content .fw-s22-mid-validation-cta .fw-s22-ctas,
html body[data-fw-route="/local-events/bonham-trade-days/"] main#main-content .fw-s22-mid-validation-cta .fw-s22-ctas a{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  white-space:normal!important;
}
html body[data-fw-route="/local-events/bonham-trade-days/"] main#main-content .lodging-cta{
  flex-wrap:wrap!important;
  align-items:flex-start!important;
}
html body[data-fw-route="/local-events/bonham-trade-days/"] main#main-content .lodging-cta>.fw-s22-mid-validation-cta{
  flex:1 0 100%!important;
  width:100%!important;
}
html body[data-fw-route="/local-events/bonham-trade-days/"] main#main-content .lodging-cta>.lodging-cta__icon{flex:0 0 auto!important}
html body[data-fw-route="/local-events/bonham-trade-days/"] main#main-content .lodging-cta>.lodging-cta__body{flex:1 1 15rem!important;min-width:0!important}
/* Phase 3.1R2 audience/itinerary-family readable tokens. */
html body main#main-content .fw-art-feature__actions a.btn.alt{
  color:var(--fw-r2-text)!important;
  border-color:var(--fw-r2-text)!important;
  background:transparent!important;
}
html body main#main-content :is(.fee-chip .chip-val.none,.review-card .source){
  color:#5b514a!important;
  opacity:1!important;
}
html body[data-fw-route="/weekend-getaway-from-dallas/"] main#main-content :is(.dc-label,.dc-sub,.it-item p){
  color:#51483f!important;
  opacity:1!important;
}
html body[data-fw-route="/weekend-getaway-from-dallas/"] main#main-content .awaits-card a{
  color:#f7f3ec!important;
  text-decoration:underline!important;
  opacity:1!important;
}
html body[data-fw-route="/winery-weekend-bonham-tx/"] main#main-content .grid-3 .card{
  background:var(--fw-r2-light)!important;
  color:var(--fw-r2-text)!important;
}
html body[data-fw-route="/winery-weekend-bonham-tx/"] main#main-content .grid-3 .card :is(h2,h3,h4,p,span,strong,a){
  color:var(--fw-r2-text)!important;
  opacity:1!important;
}
html body[data-fw-route="/winery-weekend-bonham-tx/"] main#main-content .grid-3 .card .num{
  background:var(--fw-r2-gold)!important;
  color:var(--fw-r2-deep)!important;
}
html body[data-fw-route="/winery-weekend-bonham-tx/"] main#main-content .faq .eyebrow{
  color:#5e4619!important;
  opacity:1!important;
}
/* Phase 3.1R2 required-width table containment: keep wide data tables in their keyboard-scroll region without contributing to page width. */
html body main#main-content .fw-table-scroll{
  inline-size:100%!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  contain:layout inline-size paint!important;
  isolation:isolate!important;
}
html body main#main-content .fw-table-scroll>table{
  display:table!important;
  max-inline-size:none!important;
}
/* Page-level containment: all intentionally wide content must scroll inside its own .fw-table-scroll region. */
html body main#main-content{overflow-x:clip!important;max-inline-size:100%!important}
/* Snapshot sections are structural wrappers, not grid items; only .fw-snapshot owns the internal grid. */
html body main#main-content .fw-s22-section.fw-s22-snapshot{display:block!important}
/* Phase 3.1R2 locked-shell mobile state must outrank legacy page-family navigation specificity. */
@media(max-width:980px){
  html body header.site-header nav.site-nav:not(.open){display:none!important}
  html body header.site-header nav.site-nav.open{display:flex!important;background:var(--fw31r-cream)!important}
}
html body .help-bar .help-bar__inner a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:.35rem .15rem!important;
  box-sizing:border-box!important;
}
/* Phase 3.1R2 locked-shell mobile composition: prevent page-family breakpoint rules from stacking or centering the global header. */
@media(max-width:980px){
  html body header.site-header .site-header__inner{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:1rem!important;
    width:100%!important;
    max-width:90rem!important;
    min-height:68px!important;
    padding:.55rem .9rem!important;
    box-sizing:border-box!important;
  }
  html body header.site-header a.logo{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
  }
  html body header.site-header a.logo .logo__name{
    display:block!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:1.36rem!important;
    font-weight:700!important;
    line-height:1.05!important;
    letter-spacing:.01em!important;
    color:var(--fw31r-green)!important;
    text-transform:none!important;
    margin:0!important;
  }
  html body header.site-header a.logo .logo__sub{
    display:block!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:.58rem!important;
    font-weight:700!important;
    line-height:1.25!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    color:var(--fw31r-muted)!important;
    margin:.28rem 0 0!important;
  }
  html body header.site-header button.hamburger{
    display:flex!important;
    flex:0 0 44px!important;
    align-self:center!important;
    margin:0!important;
  }
}

/* Phase 3.1R3 certification hardening */
:focus-visible{outline:3px solid #7b5b19;outline-offset:3px}
.topbar a,.help-bar a,.site-footer .footer-nav a,.site-footer .footer-brand__nap a{display:inline-flex;align-items:center;min-height:44px}
.site-nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.35em}
.site-nav a[aria-current="location"]{box-shadow:inset 0 -2px 0 currentColor}
table th[scope="row"]{font-weight:700;text-align:left;color:var(--ink,#1a1410)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media (forced-colors:active){a,button,summary,[tabindex]{forced-color-adjust:auto}.site-nav a[aria-current]{outline:2px solid CanvasText;outline-offset:2px}.btn,.site-nav__cta{border:2px solid ButtonText}}

.video-a11y-note{font-family:var(--ff-sans);font-size:.78rem;color:var(--ink-soft);margin:.6rem auto 0;max-width:860px}

@media (prefers-reduced-motion:reduce){.skip-link,.skip{transition:none!important}}
