/* Shared page layouts. Integrations retain their own form and commerce behavior. */
.tb-page-container{width:min(calc(100% - 48px),1280px);margin-inline:auto;min-width:0}
.tb-template-page{color:var(--tb-ivory,#f7f2e8);background:var(--tb-bg,#070707);overflow-wrap:anywhere}
.tb-page-hero{padding:calc(var(--tb-header-offset,100px) + 64px) 0 64px;background:radial-gradient(ellipse at 20% 10%,rgba(212,164,55,.08),transparent 65%);border-bottom:1px solid var(--tb-line,rgba(255,255,255,.12))}
.tb-page-hero-inner{display:grid;gap:32px}
.tb-page-hero-copy{min-width:0;max-width:850px}
.tb-page-hero h1{font-size:clamp(3.2rem,7vw,6.5rem);line-height:1.04;margin:22px 0;overflow-wrap:anywhere}
.tb-page-intro{max-width:720px;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.8;color:var(--tb-muted,#aaa398)}
.tb-page-intro p{margin:0 0 1em}.tb-page-intro p:last-child{margin-bottom:0}
.tb-page-hero-media{min-width:0;max-width:980px}
.tb-page-hero-image{display:block;width:100%;height:auto;max-height:460px;object-fit:contain;border-radius:8px}
.tb-page-hero--split .tb-page-hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
.tb-page-hero--compact{padding-top:calc(var(--tb-header-offset,100px) + 30px);padding-bottom:36px}
.tb-page-hero--compact h1{font-size:clamp(2.6rem,5vw,4.8rem);margin:14px 0}
.tb-page-hero--compact .tb-page-hero-media{max-width:800px}
.tb-page-hero--compact .tb-page-hero-image{max-height:240px}
.tb-page-section{padding-block:64px 88px;min-width:0}
.tb-page-native-content{margin-bottom:48px;min-width:0;line-height:1.8}
.tb-page-container>.tb-page-native-content{width:100%;margin-inline:0}
.tb-page-native-content:empty{display:none}
.tb-page-native-content h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.15}
.tb-page-native-content iframe,.tb-page-native-content video,.tb-page-native-content img{max-width:100%}
.tb-page-empty{padding:24px 0;color:var(--tb-muted,#aaa398);line-height:1.8}
.tb-page-empty p{margin:0}
.tb-page-reservation-output{min-width:0;max-width:100%}
.tb-page-contact-fallback{max-width:780px;line-height:1.8}
.tb-page-contact-fallback h2,.tb-page-contact-details h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.2;margin:0 0 28px}
.tb-page-contact-link,.tb-page-contact-list a{display:inline-flex;align-items:center;min-height:40px;text-decoration:underline;text-underline-offset:4px;color:var(--tb-gold,#d4a437)}
.tb-page-contact-grid{display:grid;gap:clamp(36px,6vw,88px);min-width:0}
.tb-page-contact-grid--split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.tb-page-contact-grid--stacked,.tb-page-contact-grid--details-only{grid-template-columns:minmax(0,1fr)}
.tb-page-contact-grid>*{min-width:0}
.tb-page-contact-list{margin:0;max-width:720px}
.tb-page-contact-item{padding:18px 0;border-bottom:1px solid var(--tb-line,rgba(255,255,255,.12))}
.tb-page-contact-item:first-child{padding-top:0}
.tb-page-contact-item dt{color:var(--tb-gold,#d4a437);font-size:.75rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}
.tb-page-contact-item dd{margin:0;color:var(--tb-muted,#aaa398);line-height:1.7}
.tb-page-contact-form{min-width:0;padding:clamp(20px,3vw,36px);border:1px solid var(--tb-line,rgba(255,255,255,.12));border-radius:8px;background:var(--tb-surface,#11100e)}
.tb-page-contact-map{margin-top:56px;min-width:0}
.tb-page-contact>.tb-page-contact-map{margin-top:0}
.tb-page-contact-map iframe{display:block;width:100%;height:380px;border:1px solid var(--tb-line,rgba(255,255,255,.12));border-radius:8px;background:var(--tb-surface,#11100e)}
.tb-page-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tb-page-blog-card{min-width:0;border:1px solid var(--tb-line,rgba(255,255,255,.12));border-radius:8px;overflow:hidden;background:var(--tb-surface,#11100e)}
.tb-page-blog-card>a{color:inherit}
.tb-page-blog-image{display:block;position:relative;min-width:0;aspect-ratio:1.5;background:linear-gradient(140deg,#21190d,#090909);overflow:hidden}
.tb-page-blog-image img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.tb-page-blog-card:hover .tb-page-blog-image img{transform:scale(1.025)}
.tb-page-blog-copy{padding:26px;min-width:0;flex:1}
.tb-page-blog-copy h2{font-size:clamp(1.45rem,2vw,2rem);line-height:1.2;margin:12px 0 16px}
.tb-page-blog-meta{color:var(--tb-gold,#d4a437);font-size:.75rem}
.tb-page-blog-excerpt{color:var(--tb-muted,#aaa398);font-size:.95rem;line-height:1.75}
.tb-page-blog-link{display:inline-block;color:var(--tb-gold,#d4a437);font-size:.8rem;margin-top:12px}
.tb-page-blog-pagination{margin-top:42px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.tb-page-blog-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 13px;border:1px solid var(--tb-line,rgba(255,255,255,.12))}
.tb-page-blog-pagination .current{border-color:var(--tb-gold,#d4a437);background:var(--tb-gold,#d4a437);color:#070707}
.tb-template-page a:focus-visible,.tb-template-page button:focus-visible{outline:2px solid var(--tb-gold,#d4a437);outline-offset:4px}
/* WPForms retains field layout, validation, anti-spam and submission handling. */
.tb-template-page .wpforms-container .wpforms-form label{color:var(--tb-ivory,#f7f2e8)}
.tb-template-page .wpforms-container .wpforms-form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),.tb-template-page .wpforms-container .wpforms-form textarea,.tb-template-page .wpforms-container .wpforms-form select,.tb-template-page .post-password-form input[type=password]{max-width:100%;min-height:46px;background:#090909;color:var(--tb-ivory,#f7f2e8);border:1px solid #615544;border-radius:4px;padding:12px;font:inherit}
.tb-template-page .wpforms-container .wpforms-form input:focus,.tb-template-page .wpforms-container .wpforms-form textarea:focus,.tb-template-page .wpforms-container .wpforms-form select:focus{outline:2px solid var(--tb-gold,#d4a437);outline-offset:2px}
.tb-template-page .wpforms-container .wpforms-form button[type=submit],.tb-template-page .post-password-form input[type=submit]{min-height:46px;padding:12px 24px;border:1px solid var(--tb-gold,#d4a437);background:var(--tb-gold,#d4a437);color:#070707;font:750 .85rem/1.4 Inter,system-ui,sans-serif;border-radius:4px;cursor:pointer}
.tb-template-page .wpforms-container .wpforms-form .wpforms-error{color:#ffb0a4}
.tb-template-page .wpforms-container .wpforms-confirmation-container-full{background:rgba(212,164,55,.1);color:var(--tb-ivory,#f7f2e8);border-color:var(--tb-gold,#d4a437)}
@media(max-width:900px){.tb-page-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-page-hero--split .tb-page-hero-inner,.tb-page-contact-grid--split{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.tb-page-container{width:calc(100% - 36px)}.tb-page-hero{padding-top:calc(var(--tb-header-offset,80px) + 36px);padding-bottom:42px}.tb-page-hero h1{font-size:clamp(2.8rem,12vw,4rem)}.tb-page-hero--compact{padding-top:calc(var(--tb-header-offset,80px) + 24px);padding-bottom:28px}.tb-page-hero--compact h1{font-size:2.8rem}.tb-page-section{padding-block:40px 64px}.tb-page-blog-grid{grid-template-columns:minmax(0,1fr);gap:20px}.tb-page-blog-copy{padding:22px}.tb-page-contact-map iframe{height:300px}.tb-page-contact-map{margin-top:38px}}
@media(prefers-reduced-motion:reduce){.tb-page-blog-image img{transition:none}.tb-page-blog-card:hover .tb-page-blog-image img{transform:none}}
