.ok-booking-stage1{position:relative;isolation:isolate;box-sizing:border-box;width:100%;max-width:1200px;min-width:0;margin:24px auto;padding:clamp(12px,3vw,38px);border-radius:32px;background:#dfb5bb;color:#492a32;font:400 16px/1.6 Montserrat,Arial,sans-serif;scroll-margin-top:130px;text-align:left}
.ok-booking-stage1 *,.ok-booking-stage1 *::before,.ok-booking-stage1 *::after{box-sizing:border-box}
.ok-booking-stage1 .background{display:block;position:absolute!important;inset:0;z-index:-1;pointer-events:none;border-radius:inherit}
.ok-booking-stage1 .background img{display:block;width:100%;height:100%!important;max-height:100%;object-fit:cover;object-position:center;border-radius:inherit}
.ok-booking-stage1 .card{width:100%;min-width:0;padding:clamp(18px,4vw,44px);border:1px solid #ffffffd9;border-radius:26px;background:rgba(255,249,248,.88);box-shadow:0 12px 40px #492a3220}
.ok-booking-stage1 .heading{font:600 clamp(27px,3.3vw,40px)/1.2 Montserrat,Arial,sans-serif;color:#492a32;margin:0 0 14px;text-align:left;overflow-wrap:anywhere}
.ok-booking-stage1 h3{font:600 22px/1.35 Montserrat,Arial,sans-serif;color:#492a32;margin:30px 0 14px}
.ok-booking-stage1 p{margin:0 0 16px;white-space:normal;overflow-wrap:anywhere}
.ok-booking-stage1 .lead{margin-bottom:24px}
.ok-booking-stage1 .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;min-width:0}
.ok-booking-stage1 label{display:block;min-width:0;font-size:16px;line-height:1.5;font-weight:600;color:inherit;white-space:normal}
.ok-booking-stage1 form,.ok-booking-stage1 .guard{display:block;min-width:0;width:100%;padding:0;border:0;margin:0}
.ok-booking-stage1 input:not([type=checkbox]),.ok-booking-stage1 select{display:block;width:100%;max-width:100%;min-width:0;height:auto;min-height:48px;margin:7px 0 0;padding:12px 14px;border:1px solid #a9899670;border-radius:12px;background:#fff;color:#492a32;font:400 16px/1.5 Montserrat,Arial,sans-serif;box-shadow:none}
.ok-booking-stage1 select{padding-right:30px;text-overflow:ellipsis}
.ok-booking-stage1 input:focus-visible,.ok-booking-stage1 select:focus-visible,.ok-booking-stage1 a:focus-visible,.ok-booking-stage1 button:focus-visible{outline:3px solid #725aa2;outline-offset:3px}
.ok-booking-stage1 .check{display:flex;gap:12px;align-items:flex-start;font-weight:400;margin:20px 0;min-width:0}
.ok-booking-stage1 .check span{min-width:0;overflow-wrap:anywhere}
.ok-booking-stage1 .check input{appearance:auto;width:22px;height:22px;min-width:22px;flex:0 0 22px;margin:3px 0 0;accent-color:#86558e}
.ok-booking-stage1 .row{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #a9899640}
.ok-booking-stage1 .row small{display:block;font-weight:400}
.ok-booking-stage1 small,.ok-booking-stage1 .muted{font-size:14px;line-height:1.6}
.ok-booking-stage1 .note{padding:14px 18px;border-radius:14px;background:#fff9;margin:14px 0}
.ok-booking-stage1 .quote{background:#ffffffc9;border:1px solid #a9899640;border-radius:18px;padding:18px;margin:22px 0;overflow-wrap:anywhere}
.ok-booking-stage1 .quote p{margin:7px 0}
.ok-booking-stage1 .total{font-weight:700;font-size:21px}
.ok-booking-stage1 button{width:100%;min-height:52px;padding:16px 24px;border:1px solid #fff;border-radius:999px;background:linear-gradient(100deg,#b8a0d3,#835087);color:#fff;font:600 17px/1.4 Montserrat,Arial,sans-serif;white-space:normal}
.ok-booking-stage1 button:disabled{opacity:.7;cursor:not-allowed}
.ok-booking-stage1 .error{color:#862035;font-weight:600}
.ok-booking-stage1 [hidden]{display:none!important}
.ok-booking-stage1 [data-ok-field=fixed-tour]{margin-top:7px;font-size:19px;font-weight:600}
.ok-booking-stage1 .wide{grid-column:1/-1}
.ok-booking-stage1 a{color:#613c79;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.ok-booking-stage1 .stage-notice{padding:12px 18px;background:#fffc;border-radius:14px;margin-bottom:16px;font-size:14px}
@media(max-width:767px){.ok-booking-stage1{margin:16px auto;border-radius:24px;padding:12px;scroll-margin-top:24px}.ok-booking-stage1 .grid{grid-template-columns:minmax(0,1fr);gap:16px}.ok-booking-stage1 .card{padding:20px 16px;border-radius:18px}.ok-booking-stage1 .row{grid-template-columns:minmax(0,1fr) 76px;gap:10px}.ok-booking-stage1 .row input{padding:10px}.ok-booking-stage1 .total{font-size:19px}.ok-booking-stage1 h3{font-size:20px}.ok-booking-stage1 .quote,.ok-booking-stage1 .note{padding:13px}.ok-booking-stage1 .check{gap:10px}}

/* Only the booking shortcode widget is stretched; no other Elementor containers change. */
.elementor-widget-shortcode.ok-booking-widget,.elementor-widget-shortcode:has(.ok-booking-stage1){width:100%!important;max-width:100%!important;min-width:0;align-self:center;margin-inline:auto!important;flex-basis:100%}
.ok-booking-widget>.elementor-widget-container{width:100%;min-width:0}
.ok-booking-stage1{max-width:900px;margin-inline:auto!important;padding:22px;border-radius:26px}
.ok-booking-stage1 .background img{object-position:center 60%}
.ok-booking-stage1 .ok-booking-intro{text-align:center;padding:24px 22px;background:rgba(255,249,248,.88);border:1px solid #fff;border-radius:20px}
.ok-booking-stage1 .ok-booking-intro h2{margin:0 0 12px;color:#492a32;font:600 clamp(24px,2.5vw,32px)/1.25 Montserrat,Arial,sans-serif}
.ok-booking-stage1 .ok-booking-intro p{margin:0 auto 18px;max-width:600px;font-size:15px}
.ok-booking-stage1 [data-ok-toggle]{max-width:360px;cursor:pointer}
.ok-booking-stage1 [data-ok-panel]{margin-top:18px}
.ok-booking-stage1 .card{padding:24px;border-radius:20px}
.ok-booking-stage1 .card .heading{font-size:24px;margin-bottom:12px}
.ok-booking-stage1 h3{margin-top:22px;font-size:20px}
.ok-booking-stage1 .row{padding:8px 0}
.ok-booking-stage1 .ok-booking-close{display:block;max-width:300px;margin:16px auto 0;cursor:pointer}
@media(max-width:767px){.ok-booking-stage1{padding:12px;max-width:100%}.ok-booking-stage1 .ok-booking-intro{padding:20px 16px}.ok-booking-stage1 .card{padding:18px 14px}.ok-booking-stage1 .ok-booking-intro h2{font-size:24px}.ok-booking-stage1 [data-ok-toggle]{max-width:100%}}

/* Normalize native iOS date sizing within the existing grid column. */
.ok-booking-stage1 input[type="date"][data-ok-field="date"]{
 -webkit-appearance:none;appearance:none;box-sizing:border-box!important;
 width:100%!important;min-width:0!important;max-width:100%!important;
 inline-size:100%;min-inline-size:0;max-inline-size:100%;
 margin-inline:0;text-align:left;
}
.ok-booking-stage1 input[type="date"][data-ok-field="date"]::-webkit-date-and-time-value{
 min-width:0;min-inline-size:0;text-align:left;
}
.ok-booking-stage1 input[type="date"][data-ok-field="date"]::-webkit-datetime-edit{
 min-width:0;padding:0;
}
