/* Shared conversion dock. Isolated from navigation and booking-form styles. */
.booking-cta-dock{position:fixed;right:22px;bottom:22px;z-index:850;display:flex;align-items:stretch;gap:8px;padding:8px;border:1px solid rgba(91,71,39,.15);border-radius:15px;background:rgba(255,253,248,.96);box-shadow:0 16px 46px rgba(48,35,19,.2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transform:translateY(18px);opacity:0;transition:transform .3s ease,opacity .3s ease}
.booking-cta-dock.is-ready{transform:none;opacity:1}.booking-cta-copy{display:flex;flex-direction:column;justify-content:center;max-width:180px;padding:4px 10px}.booking-cta-copy strong{color:#3f301a;font-size:.82rem;line-height:1.2}.booking-cta-copy span{margin-top:3px;color:#786a53;font-size:.65rem;line-height:1.3}
.booking-cta-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:47px;padding:10px 17px;border:1px solid transparent;border-radius:9px;font:800 .76rem/1.2 Inter,Arial,sans-serif;text-decoration:none!important;white-space:nowrap;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.booking-cta-action:hover{transform:translateY(-2px)}.booking-cta-action:focus-visible{outline:3px solid rgba(236,162,62,.35);outline-offset:2px}
.booking-cta-primary{background:#eca23e;color:#302313!important;box-shadow:0 8px 20px rgba(236,162,62,.25)}.booking-cta-primary:hover{background:#d98b27}.booking-cta-whatsapp{border-color:rgba(91,71,39,.25);background:#5b4727;color:#fff!important}.booking-cta-whatsapp:hover{background:#3f301a}.booking-cta-icon{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:rgba(255,255,255,.17);font-size:.75rem;font-weight:900}
.has-global-cta .mob-bar{display:none!important}
@media(max-width:760px){body.has-global-cta{padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}.booking-cta-dock{right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px max(10px,env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0;background:rgba(255,253,248,.98);box-shadow:0 -8px 28px rgba(48,35,19,.16)}.booking-cta-copy{display:none}.booking-cta-action{min-width:0;min-height:50px;padding:10px 8px;border-radius:8px;font-size:.78rem}.booking-cta-primary{order:2}.booking-cta-whatsapp{order:1}}
@media(max-width:360px){.booking-cta-dock{padding-inline:8px;gap:6px}.booking-cta-action{font-size:.7rem}.booking-cta-icon{width:19px;height:19px}}
@media(print){.booking-cta-dock{display:none!important}}
@media(prefers-reduced-motion:reduce){.booking-cta-dock,.booking-cta-action{transition:none}}

/* Booking popup used only when an internal link has no matching page file. */
.booking-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;visibility:hidden;opacity:0;transition:opacity .22s ease,visibility .22s ease}.booking-modal.is-open{visibility:visible;opacity:1}.booking-modal-backdrop{position:absolute;inset:0;background:rgba(38,28,14,.72);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.booking-modal-panel{position:relative;z-index:1;width:min(100%,680px);max-height:min(90vh,820px);border:1px solid rgba(236,162,62,.45);border-radius:18px;background:#fffdf8;box-shadow:0 28px 90px rgba(26,18,8,.38);overflow:auto;transform:translateY(18px) scale(.985);transition:transform .25s ease}.booking-modal.is-open .booking-modal-panel{transform:none}.booking-modal-open{overflow:hidden}.booking-modal-close{position:absolute;top:14px;right:14px;z-index:3;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.booking-modal-close:hover{background:#eca23e;color:#302313}.booking-modal-head{padding:34px 70px 28px 34px;background:linear-gradient(135deg,#3f301a,#5b4727);color:#fff}.booking-modal-head span{color:#f4bd70;font-size:.68rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.booking-modal-head h2{margin:8px 0 9px;color:#fff;font-size:clamp(1.65rem,4vw,2.35rem);line-height:1.08}.booking-modal-head p{max-width:56ch;margin:0;color:rgba(255,255,255,.72);font-size:.9rem;line-height:1.6}.booking-modal-form{display:grid;gap:15px;padding:30px 34px 34px}.booking-modal-form label{display:grid;gap:7px;color:#4b3a20;font-size:.75rem;font-weight:800}.booking-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-modal-form input,.booking-modal-form select,.booking-modal-form textarea{width:100%;min-height:47px;padding:11px 12px;border:1px solid #d9cfbf;border-radius:8px;background:#fff;color:#302a20;font:500 .9rem/1.4 Inter,Arial,sans-serif}.booking-modal-form textarea{min-height:98px;resize:vertical}.booking-modal-form input:focus,.booking-modal-form select:focus,.booking-modal-form textarea:focus{outline:3px solid rgba(236,162,62,.22);border-color:#eca23e}.booking-modal-submit{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:12px 18px;border:0;border-radius:8px;background:#eca23e;color:#302313;font-weight:850;cursor:pointer}.booking-modal-submit:hover{background:#d98b27}.booking-modal-form small{color:#776b58;font-size:.68rem;line-height:1.5;text-align:center}
@media(max-width:600px){.booking-modal{padding:10px}.booking-modal-panel{max-height:calc(100vh - 20px);border-radius:12px}.booking-modal-head{padding:27px 55px 22px 20px}.booking-modal-close{top:10px;right:10px;width:36px;height:36px}.booking-modal-form{gap:13px;padding:22px 18px 24px}.booking-modal-row{grid-template-columns:1fr}.booking-modal-form input,.booking-modal-form select{min-height:49px}}
@media(prefers-reduced-motion:reduce){.booking-modal,.booking-modal-panel{transition:none}}

/* Missing page destinations behave as booking controls, never dead links. */
a[data-booking-missing="true"]{cursor:pointer}
