/* Content extensions to the approved El Bosque visual system. */
.featured-dishes .eb-collection-copy>p:not(.eyebrow){font-size:17px;line-height:1.65;max-width:290px;margin-top:28px}.dish-card .eb-place-photo{display:block}.dish-card .text-link{font-size:13px;margin-top:18px}.dish-card p{max-width:340px}
.stay-preview{display:grid;grid-template-columns:1.12fr 1fr;gap:7vw;align-items:center;background:#e9eee7}.stay-photo{position:relative;overflow:hidden;border-radius:0}.stay-photo img{width:100%;height:650px;object-fit:cover}.stay-preview h2,.family-story h2,.real-reviews h2,.visit-info h2,.bathroom-section h2,.booking-close h2{font-family:Gabriela,Georgia,serif;font-weight:400;font-size:clamp(38px,4vw,60px);line-height:1.2;letter-spacing:-.035em}.stay-preview p:not(.eyebrow){margin:25px 0}.stay-options{margin:25px 0 32px}.stay-options a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);min-height:52px}.stay-options a>span:first-child{font-family:Gabriela,Georgia,serif;font-size:21px}.stay-options a>span:last-child{font-size:13px}
.family-story{padding-top:100px;padding-bottom:95px}.family-heading{text-align:center;max-width:720px;margin:0 auto 48px}.family-heading>p:last-child{max-width:600px;margin:28px auto 0}.family-postcard{margin:0 auto;max-width:1200px}.family-postcard img{display:block;width:100%;height:auto;border-radius:0}.family-postcard figcaption{font-size:13px;margin-top:12px;color:#53605a;text-align:right}.family-after{max-width:900px;margin:28px auto 0;display:flex;gap:60px;align-items:center}.family-after p{flex:1}.family-after .text-link{flex-shrink:0;font-size:14px}
.real-reviews{display:grid;grid-template-columns:1fr 1.4fr;gap:8vw;background:#233838;color:#fffdf6}.real-reviews .eyebrow{color:#bfd1d0}.real-reviews .text-link{font-size:14px;margin-top:30px}.review-quotes figure{border-top:1px solid #67817b;padding:28px 0;margin:0}.review-quotes blockquote{font-family:Gabriela,Georgia,serif;font-size:clamp(25px,2.3vw,35px);line-height:1.5;margin:0 0 20px}.review-quotes figcaption{display:grid;gap:4px;font-size:13px}.review-quotes figcaption span{color:#bfd1d0}.review-quotes figcaption a{min-height:35px;display:inline-flex;align-items:center;width:fit-content;text-decoration:underline;text-underline-offset:5px}.review-quotes .small-copy{color:#bfd1d0;margin-top:12px;font-size:13px}
.visit-info{display:grid;grid-template-columns:.8fr 1.7fr;gap:6vw;background:#f1f0e9}.visit-info>div>p:not(.eyebrow){margin:25px 0}.visit-columns{display:flex;gap:45px}.visit-columns article{flex:1;min-width:0}.visit-columns h3{font-family:Gabriela,Georgia,serif;font-size:29px}.visit-columns dl{margin:22px 0}.visit-columns dl>div{padding:15px 0;border-bottom:1px solid var(--line)}.visit-columns dt{font-size:13px;font-weight:700}.visit-columns dd{margin:5px 0 0;font-size:16px}.visit-columns .text-link{font-size:14px}
.room-catalog{padding-top:30px}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 45px}.room-detail{min-width:0;scroll-margin-top:25px}.room-detail figure{overflow:hidden;border-radius:0;background:#e9eee7}.room-detail figure img{display:block;width:100%;height:auto;aspect-ratio:1.35;object-fit:contain}.room-detail-copy{padding:26px 8px 0}.room-capacity{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700}.room-detail h2{font-family:Gabriela,Georgia,serif;font-size:42px;font-weight:400;margin:12px 0 16px}.room-detail p{font-size:16px}.room-detail .room-bed{font-size:14px;color:#4e6258;min-height:48px;margin-top:15px}.room-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:22px 0}.room-tags li{font-size:12px;border:1px solid var(--line);border-radius:30px;padding:6px 11px}.room-detail .button{font-size:13px;padding:15px 22px}.room-photo-note{margin-top:40px;max-width:850px;font-size:14px}.bathroom-section{display:grid;grid-template-columns:.75fr 1.5fr;gap:5vw;background:#e9eee7;align-items:center}.bathroom-section p:not(.eyebrow){margin-top:25px}.bathroom-photos{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.bathroom-photos img{width:100%;height:420px;object-fit:cover;border-radius:0}.bathroom-photos img:last-child{margin-top:80px}
.booking-close{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw}.booking-close .hero-actions{gap:12px;flex-wrap:wrap;margin:25px 0 18px}.booking-close .button{font-size:14px}.booking-close .small-copy{font-size:13px}.contact-intro{padding-bottom:45px}.booking-direct{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:0;padding-bottom:50px}.booking-direct article{border-top:1px solid var(--line);padding-top:25px}.booking-direct h2{font-family:Gabriela,Georgia,serif;font-weight:400;font-size:32px}.booking-direct p{margin:16px 0 22px;max-width:500px}.booking-direct .phone{font-family:Gabriela,Georgia,serif;font-size:27px}.contact-layout{padding-top:25px}.contact-help h2{font-size:47px;line-height:1.12}.contact-help ol{padding-left:24px;margin:25px 0 35px}.contact-help li{margin-bottom:17px;padding-left:6px}.contact-help address{font-style:normal;margin:15px 0}.contact-help .text-link{margin-top:18px}.contact-submit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.contact-submit-actions .button{font-size:13px;flex:1;white-space:normal}.enquiry-result[hidden]{display:none!important}.enquiry-result pre{white-space:pre-wrap;font-family:var(--sans);font-size:14px}.enquiry-form small{display:block;margin-top:18px}.form-error:not(:empty){border-left:3px solid #963628;padding:8px 12px}.enquiry-form>p{margin-bottom:22px}.enquiry-result .result-actions{display:flex;gap:15px;flex-wrap:wrap}.enquiry-result .result-actions a{font-size:13px;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}.enquiry-result h3{font-size:26px}
@media(max-width:1000px){.visit-info{grid-template-columns:1fr}.stay-photo img{height:540px}.real-reviews{gap:45px}.room-grid{gap:45px 25px}.bathroom-section{grid-template-columns:1fr}.bathroom-section>div:first-child{max-width:650px}.booking-close{gap:35px}.family-after{gap:30px}}
@media(max-width:700px){.stay-preview,.real-reviews,.booking-close{grid-template-columns:1fr;gap:40px}.stay-photo img{height:440px}.stay-photo{max-width:500px}.stay-preview h2,.family-story h2,.real-reviews h2,.visit-info h2,.bathroom-section h2,.booking-close h2{font-size:37px}.family-story{padding-top:65px;padding-bottom:65px}.family-heading{text-align:left;margin-bottom:30px}.family-heading>p:last-child{margin-top:22px}.family-postcard img{border-radius:0}.family-postcard figcaption{font-size:11px;text-align:left}.family-after{display:block}.family-after .text-link{margin-top:22px}.visit-columns{flex-direction:column;gap:40px}.visit-columns article{width:100%}.room-grid{grid-template-columns:1fr;gap:50px}.room-detail-copy{padding:23px 0 0}.room-detail .room-bed{min-height:0}.room-detail h2{font-size:36px}.room-catalog{padding-top:10px}.room-photo-note{font-size:13px}.bathroom-photos{gap:16px}.bathroom-photos img{height:290px}.bathroom-photos img:last-child{margin-top:55px}.booking-direct{grid-template-columns:1fr;gap:28px}.booking-direct article{padding-top:22px}.booking-direct h2{font-size:29px}.contact-help h2{font-size:39px}.contact-submit-actions{flex-direction:column}.contact-submit-actions .button{width:100%;justify-content:center}.featured-dishes .eb-collection-copy>p:not(.eyebrow){font-size:16px;max-width:100%}.dish-card .text-link{font-size:12px;min-height:44px;line-height:1.4}.eb-place.dish-card p{font-size:14px}.real-reviews .text-link{margin-top:25px}.booking-close .button{width:100%;justify-content:center}.family-heading .eyebrow{font-size:11px}}
