/* Aurora Travels: step-by-step 3D card enquiry form. Progressive enhancement of #enquiry-form.
   Works without the script (the original form stays). Honours prefers-reduced-motion. */
.wz,.wz-modal{--g:#477e22;--gd:#2f5a16;--gl:#e9f4df;--ink:#1f3324;--mute:#5b6b5d;--line:#d6e3cc;--gold:#f2bf43;--err:#a8321f;position:relative;max-width:760px;margin:0 auto;color:var(--ink)}
.wz *,.wz-modal *{box-sizing:border-box}
.enquiry-form.wz-on{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.enquiry-form.wz-on>h2,.enquiry-form.wz-on>.form-intro,.enquiry-form.wz-on>.form-grid,.enquiry-form.wz-on>.form-help,.enquiry-form.wz-on>.reset-enquiry,.enquiry-form.wz-on>button.button,.enquiry-form.wz-on>noscript{display:none!important}
.wz-head{margin:0 0 18px;text-align:left}
.wz-head h2{font-size:clamp(26px,3.2vw,36px);line-height:1.15;margin:0 0 6px}
.wz-head p{margin:0;color:var(--mute);font-size:16px}
/* progress */
.wz-progress{position:relative;margin:0 0 22px}
.wz-bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.wz-bar>i{display:block;height:100%;width:20%;border-radius:99px;background:linear-gradient(90deg,var(--g),#8cc152);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.wz-steps{display:flex;justify-content:space-between;list-style:none;margin:12px 0 0;padding:0;gap:6px}
.wz-steps li{flex:1;text-align:center;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#7d8c7e;transition:color .3s}
.wz-steps li b{display:grid;place-items:center;width:30px;height:30px;margin:0 auto 4px;border-radius:50%;background:#fff;border:2px solid var(--line);font-size:13px;color:var(--mute);transition:all .35s cubic-bezier(.2,.8,.2,1)}
.wz-steps li[aria-current=step]{color:var(--gd)}
.wz-steps li[aria-current=step] b{background:var(--g);border-color:var(--g);color:#fff;transform:scale(1.15);box-shadow:0 6px 16px #477e2a55}
.wz-steps li.done b{background:var(--gl);border-color:var(--g);color:var(--g)}
.wz-steps li.done b:before{content:"\2713"}
.wz-steps li.done b span{display:none}
/* 3D deck */
.wz-scene{perspective:1500px;perspective-origin:50% 30%;padding:6px 6px 30px}
.wz-deck{position:relative;display:grid;transition:transform .25s ease-out}
.wz-deck.tilting{transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.wz-deck:before,.wz-deck:after{content:"";position:absolute;inset:0;border-radius:26px;background:#fff;border:1px solid var(--line);z-index:0}
.wz-deck:before{transform:translate3d(0,16px,-60px) scale(.94);opacity:.7;box-shadow:0 18px 30px #1f33241a}
.wz-deck:after{transform:translate3d(0,30px,-120px) scale(.88);opacity:.45}
.wz-card{grid-area:1/1;position:relative;z-index:1;background:radial-gradient(120% 60% at 0% 0%,#fff,#ffffff00 55%),linear-gradient(180deg,#fff,#f8fbf4);border:1px solid var(--line);border-radius:26px;padding:34px 34px 30px;box-shadow:0 1px 0 #fff inset,0 30px 60px -20px #1f33242e,0 12px 24px -12px #1f33241f;transform-origin:50% 60%;opacity:0;visibility:hidden;pointer-events:none;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .45s ease,visibility 0s linear .7s}
.wz-card.is-next{transform:translate3d(14%,0,-90px) rotateY(-16deg) scale(.94)}
.wz-card.is-prev{transform:translate3d(-14%,0,-90px) rotateY(16deg) scale(.94)}
.wz-card.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .45s ease .08s,visibility 0s}
.wz-card.shake{animation:wz-shake .45s}
@keyframes wz-shake{20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
.wz-card h3{font-size:clamp(22px,2.4vw,28px);line-height:1.2;margin:0 0 4px}
.wz-card .wz-sub{margin:0 0 22px;color:var(--mute);font-size:15.5px}
.wz-card.is-active .wz-in>*{animation:wz-rise .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0)*70ms + 120ms)}
@keyframes wz-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* fields */
.wz label{display:block;font-size:14px;font-weight:700;line-height:1.45;letter-spacing:.01em;margin:0 0 4px;color:var(--ink)}
.wz label>input:not([type=checkbox]),.wz label>select,.wz label>textarea{display:block;margin-top:9px}
.wz label .wz-stepper{margin-top:9px}
.wz label.full{grid-column:1/-1}
.wz input,.wz select,.wz textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid #c4d4b8;border-radius:14px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,transform .2s}
.wz textarea{min-height:130px;resize:vertical}
.wz input:hover,.wz select:hover,.wz textarea:hover{border-color:#9fbb8c}
.wz input:focus,.wz select:focus,.wz textarea:focus{outline:0;border-color:var(--g);box-shadow:0 0 0 3px #477e2a3d;transform:none}
.wz input:focus-visible,.wz select:focus-visible,.wz textarea:focus-visible{outline:0;border-color:var(--gd);box-shadow:0 0 0 3px #477e2a66}
.wz button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wz .wz-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.wz [aria-invalid=true]{border-color:var(--err)!important;box-shadow:0 0 0 4px #a8321f1f}
.wz-err{display:block;min-height:0;margin:6px 0 0;color:var(--err);font-size:13.5px;font-weight:600}
/* destination chips */
.wz-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.wz-chip{appearance:none;border:1.5px solid #c4d4b8;background:#fff;color:var(--ink);font:600 15px inherit;border-radius:999px;padding:10px 18px;cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .2s,border-color .2s,box-shadow .2s,color .2s}
.wz-chip:hover{transform:translateY(-2px) scale(1.03);border-color:var(--g);box-shadow:0 8px 18px #477e2a24}
.wz-chip[aria-pressed=true]{background:var(--g);border-color:var(--g);color:#fff;box-shadow:0 10px 22px #477e2a40;animation:wz-pop .45s}
@keyframes wz-pop{40%{transform:scale(1.12)}70%{transform:scale(.97)}}
/* traveller stepper */
.wz-stepper{display:flex;align-items:center;gap:10px}
.wz-stepper input{text-align:center;max-width:110px;-moz-appearance:textfield}
.wz-stepper input::-webkit-outer-spin-button,.wz-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.wz-stepper button{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--g);background:#fff;color:var(--g);font-size:22px;line-height:1;cursor:pointer;transition:transform .2s,background .2s,color .2s}
.wz-stepper button:hover{background:var(--g);color:#fff;transform:scale(1.08)}
.wz-stepper button:active{transform:scale(.94)}
.wz-tag{display:inline-flex;align-items:center;gap:8px;background:var(--gl);border:1px solid #bcd8a8;border-radius:999px;padding:6px 8px 6px 14px;font-size:14px;font-weight:600;margin:0 0 14px}
.wz-tag button{border:0;background:#fff;border-radius:50%;width:24px;height:24px;cursor:pointer;color:var(--gd);font-size:15px;line-height:1}
.wz-count{display:block;text-align:right;font-size:12.5px;color:var(--mute);margin-top:4px}
/* summary */
.wz-sum{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0 0 18px;padding:18px 20px;background:var(--gl);border:1px solid #cfe3bf;border-radius:18px;font-size:15px}
.wz-sum dt{color:var(--mute);font-weight:600}
.wz-sum dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.wz .enquiry-privacy-notice{font-size:13.5px;line-height:1.65;color:var(--mute);margin:0 0 6px}
.wz .enquiry-privacy-check{display:flex;gap:12px;align-items:flex-start;font-weight:500;font-size:14px;line-height:1.6;color:var(--ink);letter-spacing:0;margin:14px 0 0;padding:14px;border:1.5px dashed #bcd0ad;border-radius:14px;background:#fff}
.wz .enquiry-privacy-check input{width:22px;min-width:22px;height:22px;margin:2px 0 0;accent-color:var(--g);padding:0;box-shadow:none}
/* nav */
.wz-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 0}
.wz-btn{appearance:none;border:0;cursor:pointer;font:700 16px inherit;border-radius:999px;padding:15px 30px;display:inline-flex;align-items:center;gap:10px;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .2s,opacity .2s}
.wz-btn.primary{color:#fff;background:linear-gradient(135deg,#4f8a28,#2f5a16);box-shadow:0 14px 26px -8px #2f5a1688}
.wz-btn.primary:hover{transform:translateY(-2px);box-shadow:0 20px 30px -10px #2f5a16aa}
.wz-btn.primary:active{transform:translateY(0) scale(.98)}
.wz-btn.ghost{background:transparent;color:var(--gd);padding-inline:14px}
.wz-btn.ghost:hover{background:var(--gl)}
.wz-btn[disabled]{opacity:.55;cursor:wait}
.wz-btn .arr{transition:transform .25s}.wz-btn.primary:hover .arr{transform:translateX(4px)}
.wz-hide{display:none!important}
.wz-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.wz-status{min-height:22px;margin:14px 0 0;font-size:14.5px;color:var(--mute)}
.wz-status.bad{color:var(--err);font-weight:600}
/* success modal */
.wz-modal{position:fixed!important;inset:0;margin:auto!important;height:fit-content;max-height:calc(100dvh - 24px);border:0;padding:0;background:transparent;max-width:min(520px,calc(100% - 32px));width:100%;overflow:auto;z-index:2147483000}
.wz-modal::backdrop{background:radial-gradient(circle at 50% 40%,#10281799,#0c1d1299);backdrop-filter:blur(6px);animation:wz-fade .35s both}
.wz-modal[open] .wz-panel{animation:wz-modal-in .6s cubic-bezier(.2,.9,.25,1.1) both}
@keyframes wz-fade{from{opacity:0}to{opacity:1}}
@keyframes wz-modal-in{from{opacity:0;transform:perspective(900px) translateY(40px) rotateX(18deg) scale(.92)}to{opacity:1;transform:none}}
.wz-panel{position:relative;text-align:center;background:linear-gradient(180deg,#fff,#f6fbf1);border-radius:28px;padding:40px 32px 30px;box-shadow:0 40px 80px -20px #0a1a0f88;border:1px solid #d6e3cc;color:var(--ink)}
.wz-modal .wz-panel .wz-check{width:92px!important;height:92px!important;max-width:none;margin:0 auto 18px;display:block}
.wz-check circle{fill:#e9f4df;stroke:#477e22;stroke-width:3;stroke-dasharray:290;stroke-dashoffset:290;animation:wz-draw .8s .15s ease forwards}
.wz-check path{fill:none;stroke:#2f5a16;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:wz-draw .5s .75s ease forwards}
@keyframes wz-draw{to{stroke-dashoffset:0}}
.wz-panel:before{content:"";position:absolute;left:50%;top:92px;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;border:2px solid #477e2a66;animation:wz-ring 1.6s .9s ease-out infinite;pointer-events:none}
@keyframes wz-ring{from{transform:scale(1);opacity:.7}to{transform:scale(2.2);opacity:0}}
.wz-panel h3{font-size:26px;margin:0 0 10px}
.wz-panel p{margin:0 0 10px;color:var(--mute);font-size:16px;line-height:1.6}
.wz-panel .wz-ref{display:inline-block;margin:6px 0 14px;padding:6px 14px;border-radius:999px;background:var(--gl);color:var(--gd);font-weight:700;font-size:14px}
.wz-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}
.wz-actions a,.wz-actions button{cursor:pointer;text-decoration:none;font:700 15px inherit;border-radius:999px;padding:12px 22px;border:1.5px solid var(--g);background:#fff;color:var(--gd);transition:transform .2s,background .2s}
.wz-actions a:hover,.wz-actions button:hover{background:var(--gl);transform:translateY(-2px)}
.wz-actions .main{background:var(--g);color:#fff}
.wz-actions .main:hover{background:var(--gd)}
/* responsive */
@media(max-width:700px){
 .wz-card{padding:24px 18px 22px;border-radius:20px}
 .wz .wz-grid{grid-template-columns:1fr}
 .wz-steps li{font-size:0}.wz-steps li b{font-size:13px}
 .wz-deck:before,.wz-deck:after{border-radius:20px}
 .wz-card.is-next{transform:translate3d(8%,0,-40px) scale(.97)}.wz-card.is-prev{transform:translate3d(-8%,0,-40px) scale(.97)}
 .wz-nav{flex-wrap:wrap}.wz-btn{padding:14px 24px}.wz-btn.primary{flex:1;justify-content:center}
 .enquiry-form.wz-on{margin-bottom:96px}
 .wz-sum{grid-template-columns:1fr;gap:2px 0}.wz-sum dd{margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){
 .wz-deck,.wz-deck.tilting{transform:none!important;transition:none}
 .wz-card,.wz-card.is-active{transition:opacity .2s ease,visibility 0s}
 .wz-card.is-next,.wz-card.is-prev{transform:none}
 .wz-card.is-active .wz-in>*{animation:none}
 .wz-bar>i,.wz-chip,.wz-btn,.wz-steps li b{transition:none}
 .wz-card.shake,.wz-chip[aria-pressed=true]{animation:none}
 .wz-modal[open] .wz-panel,.wz-modal::backdrop{animation:none}
 .wz-check circle,.wz-check path{animation:none;stroke-dashoffset:0}
 .wz-panel:before{display:none}
}
/* Contact column WhatsApp button: a general '.contact-details a' rule was turning it into a block */
.contact-details a.whatsapp-inline{display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;line-height:1.2}
.contact-details a.whatsapp-inline svg{width:22px;height:22px;flex:0 0 22px}
