/* Booking page: dive-computer look. Scoped to body.kx-book; the booking engine markup and ids are untouched. */
body.kx-book{background:#031521}
body.kx-book main{background:#031521}

/* hero */
.kx-bk-hero{position:relative;overflow:hidden;color:#fff;padding:60px 0 84px;background:
  radial-gradient(900px 420px at 85% -10%,rgba(14,159,156,.38),transparent 60%),
  radial-gradient(700px 360px at 5% 110%,rgba(11,111,124,.35),transparent 60%),
  linear-gradient(180deg,#0B4F63 0%,#062A3F 55%,#041C2B 100%)}
.kx-bk-hero .kx-wrap{position:relative;z-index:2}
.kx-bk-kicker{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#6BDED8}
.kx-bk-kicker::before{content:"";width:26px;height:10px;border-radius:2px;background:linear-gradient(90deg,#0E9F9C,#6BDED8)}
.kx-bk-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(2.3rem,5.4vw,4rem);line-height:1.04;letter-spacing:-.02em;margin:16px 0 0;max-width:15ch}
.kx-bk-hero p.lead{margin:16px 0 0;max-width:36rem;color:#CBE5EA;font-size:1.08rem;line-height:1.6}
.kx-bk-flow{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0;padding:0}
.kx-bk-flow li{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:12px 16px;backdrop-filter:blur(6px)}
.kx-bk-flow b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#D8343B;font-family:var(--display);font-size:.95rem}
.kx-bk-flow span{font-weight:600;font-size:.95rem;color:#E6F4F6}
/* bubbles */
.kx-bubbles{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.kx-bubbles i{position:absolute;bottom:-40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4),rgba(255,255,255,.02) 60%);animation:kx-rise-b linear infinite}
.kx-bubbles i:nth-child(1){left:62%;width:16px;height:16px;animation-duration:11s}
.kx-bubbles i:nth-child(2){left:70%;width:9px;height:9px;animation-duration:8s;animation-delay:-3s}
.kx-bubbles i:nth-child(3){left:78%;width:24px;height:24px;animation-duration:14s;animation-delay:-6s}
.kx-bubbles i:nth-child(4){left:86%;width:12px;height:12px;animation-duration:9s;animation-delay:-1s}
.kx-bubbles i:nth-child(5){left:93%;width:18px;height:18px;animation-duration:12s;animation-delay:-8s}
.kx-bubbles i:nth-child(6){left:54%;width:8px;height:8px;animation-duration:7s;animation-delay:-5s}
@keyframes kx-rise-b{from{transform:translateY(0) translateX(0);opacity:0}10%{opacity:.9}to{transform:translateY(-520px) translateX(-26px);opacity:0}}
@media (prefers-reduced-motion:reduce){.kx-bubbles i{animation:none;opacity:.5;bottom:20%}}
.kx-bk-flag{position:absolute;left:0;right:0;bottom:0;height:16px;z-index:2;background:linear-gradient(90deg,rgba(107,222,216,.95) 0 2px,transparent 2px) 0 100%/80px 14px repeat-x,linear-gradient(90deg,rgba(107,222,216,.7) 0 2px,transparent 2px) 0 100%/16px 7px repeat-x,#031B2B}

/* booking section */
body.kx-book #booking{position:relative;background:linear-gradient(180deg,#041C2B 0%,#031521 100%)!important;padding-top:56px!important;padding-bottom:84px!important}
body.kx-book #booking::before{content:"";position:absolute;left:0;top:0;bottom:0;width:16px;opacity:.5;background:repeating-linear-gradient(180deg,rgba(255,255,255,.55) 0 2px,transparent 2px 14px)}
body.kx-book #booking::after{display:none}
body.kx-book #booking>div>.max-w-2xl{display:none}
body.kx-book #booking>div{position:relative}
body.kx-book #booking .mt-10.grid{margin-top:0!important}

/* activity cards = depth tickets */
body.kx-book #booking .activity-card{position:relative;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03))!important;border:1.5px solid rgba(255,255,255,.16)!important;border-radius:22px!important;box-shadow:none!important;min-height:250px;overflow:hidden;transition:transform .2s,border-color .2s,background .2s;color:#fff}
body.kx-book #booking .activity-card:hover{transform:translateY(-3px);border-color:rgba(107,222,216,.6)!important}
body.kx-book #booking .activity-card::before{content:attr(data-depth);position:absolute!important;right:18px!important;bottom:6px!important;top:auto!important;left:auto!important;width:auto!important;height:auto!important;background:none!important;border-radius:0!important;transform:none!important;font-family:var(--display);font-weight:800;font-size:4.6rem;line-height:1;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.14);pointer-events:none}
body.kx-book #booking .activity-card[data-activity=fun]::before{content:"25m"}
body.kx-book #booking .activity-card[data-activity=discovery]::before{content:"12m"}
body.kx-book #booking .activity-card[data-activity=snorkeling]::before{content:"0m"}
body.kx-book #booking .activity-card::after{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(90deg,#0E9F9C,#6BDED8);opacity:0;transition:opacity .2s}
body.kx-book #booking .activity-card.is-selected{border-color:#6BDED8!important;background:linear-gradient(160deg,rgba(14,159,156,.28),rgba(14,159,156,.06))!important;box-shadow:0 0 0 4px rgba(107,222,216,.14),0 20px 50px rgba(0,0,0,.35)!important}
body.kx-book #booking .activity-card.is-selected::after{opacity:1}
body.kx-book #booking .activity-card h3{color:#fff!important;font-family:var(--display)!important;font-weight:800!important;letter-spacing:-.01em}
body.kx-book #booking .activity-card p{color:#CBE5EA!important}
body.kx-book #booking .activity-card .activity-kicker{color:#6BDED8!important}
body.kx-book #booking .activity-card .canva-tag{background:rgba(107,222,216,.18)!important;color:#9FF0EA!important}
body.kx-book #booking .activity-card .rounded-full.border{background:#fff!important}

/* form panel */
body.kx-book #booking-form{position:relative;background:#F4F8F8!important;border:0!important;border-radius:22px!important;box-shadow:0 30px 80px rgba(0,0,0,.45)!important;overflow:hidden;padding-top:38px}
body.kx-book #booking-form::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:linear-gradient(90deg,#0E9F9C,#6BDED8)}
body.kx-book #booking-progress{position:relative;gap:8px!important}
body.kx-book #booking-progress li{border-radius:10px!important;background:#fff;border:1.5px solid #DCE9EA;color:#7A97A0;letter-spacing:.06em}
body.kx-book #booking-progress li[class*="eaf8f7"]{background:#062A3F!important;border-color:#062A3F;color:#fff!important}
body.kx-book #step-eyebrow{color:#0E9F9C!important;letter-spacing:.14em!important;font-size:.8rem!important}
body.kx-book #step-title{font-family:var(--display)!important;font-size:1.5rem!important;font-weight:800!important;color:#062A3F!important}
body.kx-book #activity-pill{background:#062A3F!important;color:#fff!important}
body.kx-book #booking-form label{font-size:.78rem!important;text-transform:uppercase;letter-spacing:.08em;color:#0B4F63!important}
body.kx-book #booking-form .form-field{background:#fff!important;border:2px solid #CFE0E3!important;border-radius:12px!important;color:#062A3F;transition:border-color .15s,box-shadow .15s}
body.kx-book #booking-form .form-field:focus{outline:0!important;border-color:#0E9F9C!important;box-shadow:0 0 0 4px rgba(14,159,156,.18)!important}
body.kx-book #booking-form .form-field.is-invalid{border-color:#D8343B!important}
body.kx-book #private-wrap label{text-transform:none;letter-spacing:0;border:2px dashed #0E9F9C!important;background:#E8F6F5!important;border-radius:14px}
body.kx-book #private-wrap input{accent-color:#D8343B}
body.kx-book #booking-form .canva-button,body.kx-book #booking-form button[type=submit],body.kx-book #booking-form #step-next{background:#D8343B!important;color:#fff!important;border-radius:12px!important;font-family:var(--display);letter-spacing:.01em;box-shadow:0 10px 24px rgba(216,52,59,.35)}
body.kx-book #booking-form .canva-button:hover,body.kx-book #booking-form #step-next:hover{background:#B22A30!important}

/* summary = dive computer */
body.kx-book #booking aside{position:sticky;top:92px;background:linear-gradient(160deg,#0B2E44,#031521 70%)!important;border:2px solid rgba(107,222,216,.35);border-radius:28px!important;box-shadow:0 30px 70px rgba(0,0,0,.5),inset 0 0 0 6px #04202F!important;overflow:hidden}
body.kx-book #booking aside::before{content:"";position:absolute;left:50%;top:10px;width:34px;height:5px;margin-left:-17px;border-radius:5px;background:rgba(255,255,255,.18)}
body.kx-book #booking aside [data-template-id=summary-eyebrow]{color:#6BDED8!important;letter-spacing:.2em!important;font-size:.74rem!important;margin-top:8px}
body.kx-book #booking aside [data-template-id=summary-title]{font-family:var(--display)!important;font-size:1.25rem!important;font-weight:800!important}
body.kx-book #booking aside dt{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem!important;color:#7FA5B2!important}
body.kx-book #booking aside dd{font-variant-numeric:tabular-nums}
body.kx-book #summary-total{font-family:var(--display);font-size:2.2rem!important;font-weight:800;color:#6BDED8;text-shadow:0 0 18px rgba(107,222,216,.45);background:#021019;border:1px solid rgba(107,222,216,.3);border-radius:12px;padding:10px 14px;display:block}
body.kx-book #summary-rate{color:#9FC7D1!important;opacity:1!important}
@media (max-width:1023px){body.kx-book #booking aside{position:static}}
@media (max-width:640px){.kx-bk-hero{padding:44px 0 70px}.kx-bk-flow li{width:100%}body.kx-book #booking::before{width:8px}body.kx-book #booking .activity-card{min-height:200px}}

body.kx-book #booking .activity-arrow{display:none!important}
body.kx-book #booking aside [data-template-id=summary-disclaimer]{font-size:.8rem!important;color:#7FA5B2!important}

/* multi-day booking */
.kx-step-off{display:none!important}
.kx-days{margin-top:-.25rem}
.kx-dayrow{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}
.kx-dayrow input{flex:1;min-width:0}
.kx-daylab{flex:0 0 3.6rem;font-weight:700;font-size:.85rem;color:#06334d}
.kx-rmday{flex:0 0 2.6rem;height:2.6rem;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#64748b;font-size:1.3rem;line-height:1;cursor:pointer}
.kx-rmday:hover{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}
.kx-addday{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem;border-radius:999px;border:1.5px dashed #0e9aa7;background:#eaf8f7;color:#06334d;font-weight:700;font-size:.9rem;cursor:pointer}
.kx-addday:hover{background:#d4f1ef}
.kx-dayhint{margin-top:.5rem;font-size:.78rem;color:#64748b;line-height:1.5}
.kx-dayrow{flex-wrap:wrap}
.kx-dayrow input{flex:1 1 8rem}
.kx-dayrow>:not(.kx-daylab):not(input):not(.kx-rmday){flex:1 0 100%;order:5;margin:0;padding-left:4.2rem}
