.isb-booking[data-resource="field-production"]{--contract-gold:#c9a45c;--contract-light:#f0d38a;--contract-ink:#090806}
.isb-booking[data-resource="field-production"] .isb-production-addons{margin:28px 0 8px;border:2px solid rgba(201,164,92,.65);background:linear-gradient(135deg,rgba(201,164,92,.14),rgba(8,8,8,.96));box-shadow:0 18px 44px rgba(0,0,0,.32)}.isb-booking[data-resource="field-production"] .isb-production-addons>summary{padding:26px 28px}.isb-booking[data-resource="field-production"] .isb-production-addons>summary strong{font-size:clamp(18px,2.3vw,27px);letter-spacing:.1em;color:#e2c57c}.isb-booking[data-resource="field-production"] .isb-production-addons>summary span{font-size:13px;line-height:1.6;color:#c8bead}.isb-booking[data-resource="field-production"] .isb-production-addons[hidden]{display:none!important}
.isb-event-type{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:28px 0;padding:24px;border:1px solid rgba(201,164,92,.45);background:linear-gradient(120deg,rgba(201,164,92,.12),rgba(8,8,8,.9))}.isb-event-type legend{padding:0 10px;color:var(--contract-light);font-size:12px;font-weight:800;letter-spacing:.16em}.isb-event-type label{cursor:pointer}.isb-event-type input{position:absolute;opacity:0;pointer-events:none}.isb-event-type span{display:flex;min-height:92px;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(201,164,92,.35);background:#0e0c09;color:#fff;font-weight:800;letter-spacing:.12em;transition:.2s}.isb-event-type small{margin-top:7px;color:#a99d86;font-size:11px;letter-spacing:.04em}.isb-event-type input:checked+span{border-color:var(--contract-light);background:linear-gradient(145deg,#3c2c13,#161006);color:var(--contract-light);box-shadow:0 0 0 2px rgba(226,197,124,.25),0 12px 30px rgba(0,0,0,.35)}
.isb-event-contract{margin-top:34px;border:1px solid rgba(201,164,92,.55);background:linear-gradient(150deg,#17120b,#090806 45%,#120d06);color:#f6f2ea;box-shadow:0 24px 65px rgba(0,0,0,.4)}.isb-event-contract>header{text-align:center;padding:38px 24px;border-bottom:1px solid rgba(201,164,92,.4);background:radial-gradient(circle at top,rgba(201,164,92,.18),transparent 62%)}.isb-event-contract>header small{color:var(--contract-light);font-weight:700;letter-spacing:.22em}.isb-event-contract>header h3{margin:12px 0 8px;color:#fff;font-size:clamp(23px,4vw,38px);letter-spacing:.05em}.isb-event-contract>header p{margin:0;color:#c9a45c;font-family:Georgia,serif;font-style:italic}.isb-contract-introduction,.isb-contract-fields,.isb-contract-summary,.isb-contract-package,.isb-contract-payments,.isb-contract-terms,.isb-contract-signature{padding:28px clamp(18px,4vw,40px);border-bottom:1px solid rgba(201,164,92,.24)}.isb-contract-introduction{color:#c8c0b3;line-height:1.75}.isb-contract-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.isb-contract-fields label,.isb-contract-signature label{display:flex;flex-direction:column;gap:8px;color:var(--contract-light);font-size:11px;font-weight:700;letter-spacing:.1em}.isb-contract-fields label small{color:#8e8576;font-weight:400;letter-spacing:0}.isb-event-contract input,.isb-event-contract textarea{width:100%;box-sizing:border-box;border:1px solid rgba(201,164,92,.48)!important;background:#080808!important;color:#fff!important;padding:13px!important;border-radius:0!important}.isb-event-contract input:focus,.isb-event-contract textarea:focus{border-color:var(--contract-light)!important;box-shadow:0 0 0 2px rgba(226,197,124,.2)!important}.isb-event-contract textarea{min-height:88px;resize:vertical}.isb-event-contract h4{margin:0 0 20px;color:var(--contract-light);font-size:14px;letter-spacing:.17em}.isb-contract-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.isb-contract-summary dl div{padding:16px;border:1px solid rgba(201,164,92,.26);background:rgba(255,255,255,.025)}.isb-contract-summary dt{color:#9e917c;font-size:10px;letter-spacing:.12em}.isb-contract-summary dd{margin:7px 0 0;color:#fff;line-height:1.45}.isb-contract-package>strong{display:block;color:#fff;font-size:24px;margin-bottom:10px}.isb-contract-package>p{color:#c8c0b3;line-height:1.7}.isb-contract-package [data-contract-addons]{margin-top:16px;color:#dbc17f}.isb-contract-package ul{color:#c8c0b3}.isb-contract-payments>p{color:#c8c0b3;line-height:1.65}.isb-payment-row,.isb-schedule-total{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;margin:0;border:1px solid rgba(201,164,92,.24);border-bottom:0}.isb-payment-row:last-of-type{border-bottom:1px solid rgba(201,164,92,.24)}.isb-payment-row span{color:#ddd4c5}.isb-payment-row small{color:#9e917c}.isb-payment-row strong,.isb-schedule-total strong{color:var(--contract-light);font-size:18px}.isb-payment-row.is-retainer{background:rgba(201,164,92,.12)}.isb-schedule-total{margin-top:14px;border:1px solid var(--contract-gold);font-weight:800}.isb-contract-scroll{max-height:500px;overflow:auto;padding:24px;border:1px solid rgba(201,164,92,.28);background:#0a0907;color:#c9c1b5;line-height:1.65;white-space:normal}.isb-contract-scroll p{margin:0 0 17px}.isb-contract-read{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px;margin-top:18px;padding:18px;border:1px solid var(--contract-gold);color:#fff!important;font-size:13px!important;line-height:1.5;letter-spacing:0!important}.isb-contract-read input{width:20px!important;height:20px;margin:1px 0 0;flex:0 0 20px}.isb-contract-signature p{color:#c8c0b3}.isb-signature-preview{min-height:70px;display:flex;align-items:center;margin-top:18px;padding:12px 20px;border-bottom:2px solid var(--contract-gold);color:var(--contract-light);font-family:"Brush Script MT","Segoe Script",cursive;font-size:34px;font-style:italic}.isb-booking[data-resource="field-production"] [data-isb-submit]{background:linear-gradient(135deg,#f0d38a,#bd8d36);color:#0a0804;box-shadow:0 10px 30px rgba(201,164,92,.25)}
@media(max-width:760px){.isb-event-type{grid-template-columns:1fr;padding:16px}.isb-event-type span{min-height:70px}.isb-contract-fields,.isb-contract-summary dl{grid-template-columns:1fr}.isb-contract-introduction,.isb-contract-fields,.isb-contract-summary,.isb-contract-package,.isb-contract-payments,.isb-contract-terms,.isb-contract-signature{padding:22px 16px}.isb-contract-scroll{max-height:430px;padding:16px}.isb-payment-row{align-items:flex-start}.isb-payment-row strong{white-space:nowrap}.isb-booking[data-resource="field-production"] .isb-production-addons>summary{padding:20px 16px}}

.isb-date-tbd{display:flex;gap:14px;align-items:flex-start;margin:0 0 22px;padding:18px;border:1px solid rgba(201,164,92,.55);background:linear-gradient(120deg,rgba(201,164,92,.14),rgba(8,8,8,.94));color:#fff}.isb-date-tbd input{width:22px;height:22px;flex:0 0 22px}.isb-date-tbd span{display:grid;gap:6px}.isb-date-tbd strong{color:#f0d38a;letter-spacing:.1em}.isb-date-tbd small{color:#d2c7b6;line-height:1.5}
.isb-route-auto-status{display:block;margin-top:7px;min-height:20px;color:#bcb09d!important;font-weight:700!important;line-height:1.5}.isb-route-auto-status[data-state="loading"]{color:#f0d38a!important;animation:isb-route-status 1.15s ease-in-out infinite}.isb-route-auto-status[data-state="ready"]{color:#9ed6a9!important}.isb-route-auto-status[data-state="error"]{color:#ff9b91!important}.isb-route-preview{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(230px,.8fr);gap:22px;padding:22px clamp(18px,4vw,40px);border-bottom:1px solid rgba(201,164,92,.24);background:#070604;opacity:1;transform:translateY(0);transition:opacity .35s ease,transform .35s ease}.isb-route-preview[hidden]{display:none}.isb-route-map{position:relative;min-height:260px;overflow:hidden;border:1px solid rgba(201,164,92,.45);background:linear-gradient(135deg,#15110b,#050505)}.isb-route-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.72) contrast(1.05)}.isb-route-map i{pointer-events:none;position:absolute;z-index:2;left:19%;top:66%;width:64%;height:2px;background:linear-gradient(90deg,#e2c57c,#fff3b6,#e2c57c);transform:rotate(-19deg);transform-origin:left;box-shadow:0 0 16px #e2c57c;animation:isb-route-pulse 1.7s infinite}.isb-route-map i:after{content:"";position:absolute;right:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#fff3b6;box-shadow:0 0 20px #fff3b6}.isb-route-map span{pointer-events:none;z-index:3;position:absolute;padding:7px 9px;border:1px solid #e2c57c;background:#080808;color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;box-shadow:0 8px 20px rgba(0,0,0,.35)}.isb-map-origin{left:8%;bottom:14%}.isb-map-destination{right:8%;top:12%}@keyframes isb-route-pulse{50%{filter:brightness(1.8);box-shadow:0 0 28px #e2c57c}}@keyframes isb-route-status{50%{opacity:.48}}.isb-route-preview>div:last-child{display:flex;flex-direction:column;justify-content:center;gap:11px}.isb-route-preview small{color:#a99d86;letter-spacing:.15em}.isb-route-preview strong{font-size:24px;color:#fff}.isb-route-preview b{font-size:20px;color:#f0d38a}.isb-route-preview a{color:#e2c57c;text-decoration:none;font-weight:800}
.isb-event-payment-choice{padding:28px clamp(18px,4vw,40px);border-bottom:1px solid rgba(201,164,92,.24)}.isb-event-payment-choice>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.isb-event-payment-choice label{cursor:pointer}.isb-event-payment-choice input{position:absolute;opacity:0;pointer-events:none}.isb-event-payment-choice label>span{min-height:150px;display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid rgba(201,164,92,.4);background:#0a0907;color:#fff}.isb-event-payment-choice input:checked+span{border-color:#f0d38a;background:linear-gradient(145deg,#3b2a12,#100c06);box-shadow:0 0 0 2px rgba(240,211,138,.2)}.isb-event-payment-choice b{color:#f0d38a;letter-spacing:.1em}.isb-event-payment-choice small{color:#c8c0b3;line-height:1.45}.isb-event-payment-choice del{color:#978b77}.isb-event-payment-choice strong{color:#fff;font-size:26px}.isb-event-payment-choice em{color:#f0d38a;font-style:normal;font-weight:900}
@media(max-width:760px){.isb-route-preview,.isb-event-payment-choice>div{grid-template-columns:1fr}.isb-route-map{min-height:170px}}

/* 4.12.3: two verified location pins only; no route artwork or connecting line. */
.isb-route-preview{grid-template-columns:minmax(0,1.8fr) minmax(260px,.55fr);gap:28px;padding:30px clamp(20px,3vw,48px)}
.isb-route-map{aspect-ratio:16/9;min-height:0!important;border-width:2px;box-shadow:0 20px 55px rgba(0,0,0,.42)}
.isb-route-map span{max-width:180px;padding:6px 9px;font-size:8px;line-height:1.25;letter-spacing:.055em;text-align:center;white-space:normal;transform:translate(-50%,-155%)!important}
.isb-route-map span::after{content:"";position:absolute;left:50%;bottom:-15px;width:13px;height:13px;border:2px solid #080808;border-radius:50% 50% 50% 0;background:#e2c57c;box-shadow:0 0 0 2px rgba(242,212,125,.68),0 5px 13px rgba(0,0,0,.55);transform:translateX(-50%) rotate(-45deg)}
.isb-route-map span::before{content:"";position:absolute;z-index:1;left:50%;bottom:-8px;width:4px;height:4px;border-radius:50%;background:#080808;transform:translateX(-50%)}
@media(max-width:760px){.isb-route-preview{grid-template-columns:1fr;padding:18px}.isb-route-map{aspect-ratio:16/9;min-height:0!important}.isb-route-map span{max-width:120px;font-size:6.5px}}

/* 4.12.4: the reference map is intentionally static. */
.isb-route-map iframe{pointer-events:none!important;user-select:none!important;-webkit-user-select:none!important;touch-action:none!important}
.isb-route-map::after{content:"";position:absolute;z-index:2;inset:0;cursor:default;touch-action:pan-y;overscroll-behavior:contain}

/* 4.12.5: markers and tiles now share Leaflet's native Web Mercator projection. */
.isb-route-map{isolation:isolate}
.isb-route-map .leaflet-pane,.isb-route-map .leaflet-control{font:inherit}
.isb-route-map .leaflet-control-attribution{z-index:1;padding:2px 5px;background:rgba(255,255,255,.8);color:#333;font-size:9px;line-height:1.25}
.isb-route-map .leaflet-control-attribution a{color:#333}
.isb-route-map .isb-location-div-icon{border:0!important;background:transparent!important}
.isb-route-map .isb-location-marker{position:absolute;left:0;top:0;display:flex;width:max-content;max-width:190px;flex-direction:column;align-items:center;transform:translate(-50%,-100%);filter:drop-shadow(0 7px 9px rgba(0,0,0,.48))}
.isb-route-map .isb-location-marker span{position:static;max-width:180px;padding:6px 9px;border:1px solid #e2c57c;background:#080808;color:#fff;font-size:8px;font-weight:900;line-height:1.25;letter-spacing:.055em;text-align:center;white-space:normal;transform:none!important;box-shadow:none}
.isb-route-map .isb-location-marker span::before,.isb-route-map .isb-location-marker span::after{display:none!important}
.isb-route-map .isb-location-marker b{display:block;width:14px;height:14px;margin-top:4px;border:2px solid #080808;border-radius:50% 50% 50% 0;background:#e2c57c;box-shadow:0 0 0 2px rgba(242,212,125,.68);transform:rotate(-45deg)}
.isb-route-map .isb-location-marker b::after{content:"";display:block;width:4px;height:4px;margin:3px;border-radius:50%;background:#080808}
@media(max-width:760px){.isb-route-map .isb-location-marker{max-width:125px}.isb-route-map .isb-location-marker span{max-width:120px;font-size:6.5px}}
