.odcx-contact-page,.odcx-booking-page{--ox-navy:#0b2e55;--ox-blue:#087fae;--ox-line:#d8e5ee;color:var(--ox-navy);font-size:17px;line-height:1.65}
.odcx-contact-hero,.odcx-booking-hero{padding:76px max(24px,calc((100% - 1180px)/2));background:linear-gradient(115deg,#edf8fc,#fff 75%)}
.odcx-contact-hero h1,.odcx-booking-hero h1{font-size:clamp(36px,5vw,66px);line-height:1.08;letter-spacing:-1.8px;max-width:850px;margin:18px 0 24px}
.odcx-eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:#08769e}.odcx-lead{max-width:690px;font-size:20px;line-height:1.7}
.odcx-contact-grid,.odcx-booking-grid{width:min(1180px,calc(100% - 48px));margin:64px auto 90px;display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:start}
/* Classic themes insert this extra Gutenberg wrapper. It must span the grid,
   and its children must fill the same width as direct-child block markup. */
.odcx-contact-grid>.wp-block-group__inner-container,.odcx-booking-grid>.wp-block-group__inner-container{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);gap:40px;width:100%;max-width:none;min-width:0}
.odcx-contact-details,.odcx-message-panel,.odcx-booking-guide,.odcx-booking-panel{width:100%;max-width:none;min-width:0;box-sizing:border-box;margin-inline:0!important}
.odcx-contact-details>.wp-block-group__inner-container,.odcx-message-panel>.wp-block-group__inner-container,.odcx-booking-guide>.wp-block-group__inner-container,.odcx-booking-panel>.wp-block-group__inner-container{width:100%;max-width:none;min-width:0;box-sizing:border-box}
.odcx-booking-panel .odcb-shell,.odcx-booking-panel .odcb-form{width:100%;max-width:none;box-sizing:border-box}
.odcx-contact-details h2,.odcx-message-panel h2,.odcx-booking-guide h2,.odcx-booking-panel h2{font-size:30px;line-height:1.25;margin:0 0 18px}.odcx-contact-details h3{font-size:16px;margin:30px 0 6px;color:#4b6680}.odcx-contact-details p{margin:0 0 16px}.odcx-contact-details a{overflow-wrap:anywhere;color:#086c94;text-decoration:underline;text-underline-offset:4px}
.odcx-book-callout{margin-top:38px;padding:28px;border-radius:16px;background:#eaf5fb;border:1px solid var(--ox-line)}.odcx-book-callout h3{margin-top:0;color:var(--ox-navy);font-size:22px}.odcx-link-button{display:inline-block;font-weight:700;padding:10px 0}
.odcx-message-panel{border:1px solid var(--ox-line);border-radius:20px;padding:38px;background:white;box-shadow:0 12px 45px #0b2e5508}
.odci-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.odci-form label{display:block;font-size:15px;font-weight:600;margin:0 0 18px}.odci-form input:not([type=checkbox]),.odci-form select,.odci-form textarea{display:block;width:100%;box-sizing:border-box;min-height:48px;border:1px solid #a9bfce;border-radius:8px;background:#fff;color:#18354e;padding:12px;font:400 16px/1.5 Arial,sans-serif;margin-top:8px}.odci-form textarea{resize:vertical}.odci-form .odci-consent{display:flex;gap:12px;align-items:flex-start;font-weight:400}.odci-consent input{width:20px;height:20px;margin:3px 0 0;flex:none}.odci-help{font-size:14px;color:#526a7b}.odci-submit{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:32px;background:#0b2e55;color:#fff;border:0;border-radius:8px;padding:14px 24px;font-size:16px;font-weight:700;cursor:pointer}.odci-submit:hover{background:#075f8b}.odci-submit:disabled{opacity:.6;cursor:wait}.odci-feedback{border-left:4px solid #ac2727;background:#fff3f3;padding:16px;margin-bottom:20px;color:#861d1d}.odci-success{padding:28px;background:#eef8f5;border:1px solid #8dbdaf;border-radius:12px}.odci-receipt{max-width:700px;margin:48px auto;padding:24px}.odcb-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.odcx-booking-hero{background:linear-gradient(110deg,#0b2e55,#105d88);color:white}.odcx-booking-hero h1,.odcx-booking-hero p{color:white}.odcx-booking-hero .odcx-eyebrow{color:#b4e9ff}.odcx-booking-guide{border-left:3px solid #28a1d5;padding:8px 0 8px 28px}.odcx-booking-guide h3{font-size:18px;margin:28px 0 8px}.odcx-booking-panel{min-width:0;background:#f5f9fc;border:1px solid var(--ox-line);border-radius:20px;padding:32px}.odcx-booking-panel .odcb-shell{margin:0}.odcx-booking-panel .odcb-form{padding:0;border:0;background:transparent}.odcx-booking-panel .odcb-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.odci-form :is(input,select,textarea,button):focus-visible,.odcx-contact-page a:focus-visible,.odcx-booking-page a:focus-visible{outline:3px solid #0a80b2;outline-offset:3px}
.odci-form :is(input,select,textarea,button),.odcb-form :is(input,select,textarea,button){scroll-margin-top:180px;scroll-margin-bottom:120px}
/* Keep the consultation action visible independently of the mobile menu. */
.site-header .header-actions .btn{white-space:nowrap;flex-shrink:0}
@media(min-width:801px) and (max-width:1200px){
 .site-header .nav-shell{flex-wrap:wrap;gap:12px;min-height:0;padding-top:12px;padding-bottom:12px}
 .site-header .header-actions{margin-left:auto}
 .site-header .primary-nav{order:3;flex:0 0 100%;min-width:0}
 .site-header .primary-nav>ul,.site-header .primary-nav>div>ul{justify-content:center;flex-wrap:wrap;gap:10px 22px}
}
@media(max-width:800px){
 .site-header .nav-shell{flex-wrap:wrap;height:auto;min-height:72px;padding-top:8px;padding-bottom:10px;gap:10px}
 .site-header .header-actions{display:flex!important;width:100%;order:4;margin:0;gap:10px}
 .site-header .header-actions .btn.btn-primary{display:flex!important;align-items:center;justify-content:center;flex:1;min-height:44px;font-size:15px!important;padding:10px 16px}
 .site-header .header-actions .btn.btn-outline{display:flex!important;align-items:center;justify-content:center;width:48px;min-height:44px;flex:none}
 .site-header .primary-nav{top:100%}.site-header .custom-logo{max-width:148px}
 body .mobile-cta{display:flex!important;position:fixed!important;bottom:0!important;left:0;right:0;z-index:1000;height:auto!important;min-height:70px;gap:10px;background:#fff;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -3px 17px #092f5b26}
 body .mobile-cta .btn{display:flex!important;justify-content:center;align-items:center;min-height:48px;flex:1;font-size:14px!important;padding:10px;white-space:nowrap}
 body{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}html{scroll-padding-bottom:100px}
 .odcx-contact-hero,.odcx-booking-hero{padding:48px 24px}.odcx-contact-grid,.odcx-booking-grid{grid-template-columns:1fr;gap:32px;margin:36px auto 54px}.odcx-message-panel,.odcx-booking-panel{padding:24px}.odcx-lead{font-size:18px}.odcx-contact-hero h1,.odcx-booking-hero h1{letter-spacing:-1px}.odci-submit{width:100%}
}
@media(max-width:440px){.odci-fields,.odcx-booking-panel .odcb-fields{grid-template-columns:1fr}.odcx-contact-grid,.odcx-booking-grid{width:calc(100% - 32px)}.odcx-message-panel,.odcx-booking-panel{padding:20px}.odcx-booking-guide{padding-left:20px}}
