/* Native Gutenberg service pages, shared fonts, champagne and green palette. */
.booking-page{--gold:#d9bc82;--paper:#f7f5ef;--ink:#18251e;--line:#e1e4db;color:var(--ink)}
.booking-page h2{font-size:clamp(32px,3.6vw,49px);line-height:1.2;letter-spacing:-.6px}
.booking-page h3{font-family:var(--sans);font-size:21px;line-height:1.35;letter-spacing:-.2px}
.booking-page .eyebrow{font-size:10px;letter-spacing:1.7px;color:#876b36}
.booking-page p{font-size:14px;line-height:1.9;color:#617066}
.booking-page .wp-block-button__link{border-radius:2px;font-size:11px;letter-spacing:.2px;background:var(--brand-gradient);color:#18211d;border:1px solid #c7a866}
.booking-page .is-style-outline .wp-block-button__link{background:transparent}
.booking-page .extras-breadcrumb{font-size:10px;color:#d7dfd7}
.booking-page .booking-hero .eyebrow{color:#e3c894}
.booking-page .booking-hero-tagline{font-size:23px;line-height:1.5;color:#e3d4b4;margin:0 0 20px}
.booking-page .booking-hero .extras-lead{color:#e2e4df}
.booking-nav{border-bottom:1px solid var(--line);background:#fff}
.booking-nav .shell{display:flex;gap:35px;padding-block:20px;overflow-x:auto}
.booking-nav p{margin:0;white-space:nowrap;font-size:12px}
.booking-nav a:hover,.booking-source a:hover{color:#9a7235}
.booking-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.booking-intro h2{margin:18px 0 27px}.booking-intro-copy>p:not(.eyebrow){max-width:580px}
.booking-intro>.wp-block-image img{width:100%;height:430px;object-fit:cover;border-radius:6px}
.booking-heading{max-width:760px;margin-bottom:36px}.booking-heading h2{margin:16px 0 22px}
.booking-heading>p:not(.eyebrow){max-width:700px}
.booking-paper,.booking-faq{background:var(--paper)}
.booking-venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.booking-venue{background:white;overflow:hidden;border-radius:6px;display:flex;flex-direction:column;border:1px solid var(--line)}
.booking-venue>.wp-block-image{margin:0}.booking-venue>.wp-block-image img{width:100%;height:285px;object-fit:cover}
.booking-venue-copy{padding:28px 30px;display:flex;flex-direction:column;flex:1}
.booking-venue h3{margin:14px 0 16px;font-size:24px}.booking-venue-copy>.wp-block-buttons{margin-top:auto;padding-top:13px}
.booking-page .booking-source{font-size:11px;line-height:1.8}.booking-source a{border-bottom:1px solid #bb9b6344}
.booking-note{margin-top:30px;border-left:2px solid #c6a363;padding:18px 23px;background:#ebeee4}
.booking-note p{margin:0;font-size:13px}
.booking-card-grid,.booking-quote-grid,.booking-tip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.booking-info-card{padding:28px;border:1px solid var(--line);border-radius:6px;background:#fff}
.booking-info-card h3{margin:15px 0}.booking-info-card>p:last-child{margin-bottom:0}
.booking-page .booking-number{font-size:12px;letter-spacing:1px;color:#957b47;margin:0}
.booking-quote-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:38px;align-items:start}
.booking-quote-grid{gap:18px}.booking-quote-grid .booking-info-card{padding:24px}
.booking-quote-aside{background:#1e3528;padding:34px;border-radius:6px;position:sticky;top:125px}
.booking-quote-aside h3{color:white;margin:17px 0 24px;font-size:26px}
.booking-quote-aside p{color:#d1dbc9;font-size:13px}.booking-quote-aside .eyebrow{color:#e1c78f}
.booking-page .booking-aside-note{font-size:11px;line-height:1.8;margin:25px 0 0}
.booking-quote-aside .wp-block-button__link{font-size:10px}
.booking-price-block+.booking-price-block{margin-top:35px}.booking-price-block h3{margin:0 0 20px}
.booking-quote-main,.booking-price-block{min-width:0}
.booking-price-table{width:100%;min-width:0;margin:0;overflow-x:auto}.booking-price-table table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;font-size:13px}
.booking-price-table th{background:#20362a;color:#dfcd9e;font-weight:600;text-align:left}
.booking-price-table th:first-child,.booking-price-table td:first-child{width:42%}
.booking-price-table th,.booking-price-table td{border:1px solid #dce1d7;padding:17px 16px;vertical-align:middle;line-height:1.6}
.booking-price-table td{color:#203128}.booking-price-table tbody tr:nth-child(even){background:#f6f7ef}
.booking-page .booking-price-note{font-size:11px;line-height:1.9;margin-top:16px}
.booking-process{background:#17291f;color:white}.booking-process h2{color:white}.booking-process .eyebrow{color:#ddc390}
.booking-process p{color:#c5d0c1}.booking-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.booking-step-grid .booking-info-card{background:transparent;border:0;border-radius:0;border-top:1px solid #bca37377;padding:25px 0 0}
.booking-step-grid h3{color:white}.booking-process .booking-number{color:#e1c78f}
.booking-tip-grid .booking-info-card{background:#f8f8f3}
.booking-faq-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.booking-faq .wp-block-details{padding:23px 0}
.booking-faq summary{font-size:15px;line-height:1.6}.booking-faq .wp-block-details>p{font-size:13px;margin:16px 0 0}
.booking-related-links{display:flex;flex-wrap:wrap;gap:12px}.booking-related-links p{margin:0}
.booking-related-links a{display:block;padding:13px 18px;border:1px solid var(--line);font-size:12px;border-radius:3px;background:#fafaf7}
.booking-related-links a:hover{background:#eee9db}.booking-sources{padding-bottom:45px}.booking-sources p{max-width:960px}
.booking-page .extras-cta h2{color:white}.booking-page .extras-cta .eyebrow{color:#dfc48d}
.extras-visa{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}.extras-visa h2{margin:15px 0 25px}
.extras-visa-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#617066}.extras-visa-action{background:#20352a;padding:36px;border-radius:5px}
.extras-visa-action .extras-small-label{color:#dfc48d}.extras-visa-action>p:last-child{margin:20px 0 0}
.extras-visa-action a{display:inline-block;color:#eed6a2;font-size:clamp(20px,2.2vw,27px);line-height:1.6;overflow-wrap:anywhere;border-bottom:1px solid #d2b57477}
@media(max-width:1000px){.booking-intro{gap:35px}.booking-quote-layout{grid-template-columns:1.4fr 1fr;gap:25px}.booking-quote-aside{padding:25px}.booking-quote-grid{grid-template-columns:1fr}.booking-faq-grid{gap:35px}.booking-venue-copy{padding:24px}.extras-visa{gap:30px}}
@media(max-width:780px){.booking-intro,.booking-quote-layout,.booking-faq-grid,.extras-visa{grid-template-columns:1fr;gap:30px}.booking-intro>.wp-block-image img{height:320px}.booking-quote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-quote-aside{position:static}.booking-step-grid{grid-template-columns:1fr;gap:25px}.booking-faq-grid{gap:0}.booking-venue>.wp-block-image img{height:225px}.booking-venue h3{font-size:21px}.booking-venue-copy{padding:22px}.booking-nav .shell{gap:26px}.booking-nav p{font-size:11px}.booking-heading{margin-bottom:30px}}
@media(max-width:600px){.booking-venue-grid,.booking-card-grid,.booking-quote-grid,.booking-tip-grid{grid-template-columns:1fr;gap:20px}.booking-venue>.wp-block-image img{height:230px}.booking-page .booking-hero-tagline{font-size:20px;line-height:1.5}.booking-intro>.wp-block-image img{height:270px}.booking-page h2{font-size:34px}.booking-info-card{padding:25px}.booking-price-table table{font-size:11px}.booking-price-table th,.booking-price-table td{padding:14px 10px}.booking-price-table th:first-child,.booking-price-table td:first-child{width:38%}.booking-price-table th{font-size:10px}.booking-sources{padding-bottom:30px}.booking-related-links{display:grid;grid-template-columns:1fr;width:100%}.booking-related-links a{padding:14px 17px}.booking-note{padding:18px}.booking-page .extras-breadcrumb{font-size:9px;line-height:1.9}.extras-visa-action{padding:28px}}
