.dzoc-wrap{--primary:#285967;--accent:#d5aa62;--card:#fff;--soft:#f0ede7;color:#304b54}.dzoc-wrap *{box-sizing:border-box}.dzoc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.dzoc-card{background:var(--card);border:1px solid #ded9d0;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .3s,box-shadow .3s}.dzoc-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(38,66,73,.12)}.dzoc-image{height:210px;position:relative;overflow:hidden;background:#eee}.dzoc-image img{width:100%;height:100%;object-fit:cover;display:block}.dzoc-placeholder{height:100%;display:grid;place-items:center;font-size:42px;color:#aaa}.dzoc-badge,.dzoc-date{position:absolute;padding:6px 13px;font-weight:700;font-size:12px}.dzoc-badge{top:13px;right:13px;background:var(--accent);border-radius:999px}.dzoc-date{bottom:14px;right:14px;background:#fff;border-radius:8px}.dzoc-body{padding:20px;display:flex;flex-direction:column;flex:1}.dzoc-title{font-size:21px;margin:0 0 10px;color:#203d46}.dzoc-sub{display:flex;gap:13px;flex-wrap:wrap;font-size:13px;color:#76868b}.dzoc-card h4{font-size:13px;color:var(--accent);margin:15px 0 8px}.dzoc-prices{display:grid;gap:7px}.dzoc-prices>div{display:flex;justify-content:space-between;gap:10px;background:var(--soft);border-radius:11px;padding:8px 13px;font-size:13px}.dzoc-prices strong{color:var(--primary);white-space:nowrap}.dzoc-features{display:grid;grid-template-columns:1fr 1fr;gap:8px 17px;list-style:none;padding:0;margin:0 0 18px;font-size:13px}.dzoc-features li:before{content:'✓';color:var(--accent);font-weight:900;margin-left:7px}.dzoc-bottom{margin-top:auto;border-top:1px solid #e5ded4;padding-top:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.dzoc-main-price small{display:block;font-size:11px;color:#809095;margin-bottom:3px}.dzoc-main-price strong{font-size:21px;color:var(--primary);white-space:nowrap}.dzoc-button,.dzoc-submit{border:0;background:var(--primary);color:#fff;border-radius:9px;padding:10px 15px;font-weight:700;cursor:pointer}.dzoc-overlay{position:fixed;inset:0;background:rgba(10,25,30,.65);z-index:999999;display:none;align-items:center;justify-content:center;padding:20px}.dzoc-overlay.is-open{display:flex}.dzoc-modal{position:relative;width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.dzoc-close{position:absolute;left:15px;top:10px;border:0;background:none;font-size:32px;cursor:pointer;color:#667}.dzoc-modal h3{margin:0 0 5px;font-size:25px}.dzoc-selected{color:var(--primary);font-weight:700;margin:0 0 18px}.dzoc-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dzoc-form label{display:grid;gap:6px;font-size:13px;font-weight:600}.dzoc-form input,.dzoc-form textarea{width:100%;border:1px solid #ddd6ca;border-radius:9px;background:#f7f5f1;padding:11px 12px;color:#203d46}.dzoc-full{grid-column:1/-1}.dzoc-hp{position:absolute!important;left:-9999px!important}.dzoc-submit{width:100%;padding:13px}.dzoc-submit:disabled{opacity:.6}.dzoc-feedback.ok{color:#157347}.dzoc-feedback.error{color:#b42318}.dzoc-lock{overflow:hidden}@media(max-width:1024px){.dzoc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.dzoc-grid{grid-template-columns:1fr}.dzoc-form{grid-template-columns:1fr}.dzoc-modal{padding:24px 18px}.dzoc-features{grid-template-columns:1fr 1fr}}
.dzoc-modal-subtitle{color:#718188;margin:0 0 18px;font-size:13px}.dzoc-selected-box{border:1px solid #dce1e3;border-radius:11px;padding:11px 14px;margin-bottom:20px;text-align:center}.dzoc-selected-box .dzoc-selected{margin:0}.dzoc-submit{background:var(--accent)}.dzoc-submit:after{content:' ↗';font-size:16px}
.dzoc-options{border:0;padding:0;margin:0}.dzoc-options legend{font-size:13px;font-weight:700;margin-bottom:8px}.dzoc-options-list{display:grid;gap:8px}.dzoc-option{display:block!important;cursor:pointer}.dzoc-option>input{position:absolute;opacity:0;pointer-events:none}.dzoc-option>span{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #ddd6ca;border-radius:10px;padding:11px 13px;background:#fff;transition:.2s}.dzoc-option em{font-style:normal;color:var(--primary);font-weight:700}.dzoc-option input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}

/* UX/UI v2.2 */
.dzoc-grid{align-items:stretch}.dzoc-card{isolation:isolate;height:100%;box-shadow:0 6px 24px rgba(28,53,61,.06);will-change:transform}.dzoc-hover-yes .dzoc-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(28,53,61,.14)}.dzoc-hover- .dzoc-card:hover{transform:none}.dzoc-image:after{content:'';position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(to top,rgba(12,31,37,.2),transparent);pointer-events:none}.dzoc-image img{transition:transform .55s ease}.dzoc-hover-yes .dzoc-card:hover .dzoc-image img{transform:scale(1.035)}.dzoc-badge,.dzoc-date{z-index:1;box-shadow:0 4px 14px rgba(20,40,46,.1);backdrop-filter:blur(6px)}.dzoc-body{gap:0}.dzoc-title{line-height:1.45}.dzoc-sub span{display:inline-flex;align-items:center;gap:5px}.dzoc-prices>div{min-height:38px;align-items:center;transition:background .2s}.dzoc-prices>div:hover{background:color-mix(in srgb,var(--soft) 76%,var(--accent))}.dzoc-features li{line-height:1.55}.dzoc-bottom{padding-top:16px}.dzoc-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;transition:transform .2s,box-shadow .2s,filter .2s}.dzoc-button:after{content:'←';margin-right:8px;transition:transform .2s}.dzoc-button:hover:after{transform:translateX(-3px)}.dzoc-button:hover{filter:brightness(.93);box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 25%,transparent)}.dzoc-button:focus-visible,.dzoc-submit:focus-visible,.dzoc-close:focus-visible,.dzoc-success-close:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:3px}
.dzoc-overlay{opacity:0;visibility:hidden;display:flex;transition:opacity .22s ease,visibility .22s ease}.dzoc-overlay.is-open{opacity:1;visibility:visible}.dzoc-modal{transform:translateY(18px) scale(.985);opacity:0;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .22s;padding:32px}.dzoc-overlay.is-open .dzoc-modal{transform:none;opacity:1}.dzoc-modal-head{display:flex;align-items:flex-start;gap:13px;padding-left:30px}.dzoc-modal-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent) 18%,white);color:var(--primary);font-weight:900}.dzoc-modal-subtitle{line-height:1.7}.dzoc-close{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;line-height:1;transition:background .2s,transform .2s}.dzoc-close:hover{background:#f1efeb;transform:rotate(4deg)}.dzoc-progress{display:flex;align-items:center;justify-content:center;margin:22px 0 18px;color:#9aa5a8;font-size:12px}.dzoc-progress span{display:flex;align-items:center;gap:6px;white-space:nowrap}.dzoc-progress i{font-style:normal;width:24px;height:24px;display:grid;place-items:center;border:1px solid #d9dedf;border-radius:50%;font-weight:800}.dzoc-progress b{width:54px;height:1px;background:#d9dedf;margin:0 9px}.dzoc-progress span.is-active{color:var(--primary);font-weight:700}.dzoc-progress span.is-active i{background:var(--primary);border-color:var(--primary);color:#fff}.dzoc-selected-box{text-align:right;display:flex;flex-direction:column;gap:3px;background:#fbfaf8;border-color:#e1ddd5}.dzoc-selected-box small{color:#7b898d}.dzoc-selected-box strong{font-size:15px;color:var(--primary)}.dzoc-form-divider{position:relative;text-align:center;margin:4px 0}.dzoc-form-divider:before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#ebe7df}.dzoc-form-divider span{position:relative;background:var(--card,#fff);padding:0 10px;color:#879397;font-size:11px}.dzoc-form label{color:#293f46}.dzoc-form input,.dzoc-form textarea{min-height:45px;transition:border-color .2s,box-shadow .2s,background .2s;outline:0}.dzoc-form input:hover,.dzoc-form textarea:hover{border-color:#bfc8ca}.dzoc-form input:focus,.dzoc-form textarea:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.dzoc-option>span{min-height:48px}.dzoc-option>span>i{width:18px;height:18px;border:2px solid #c5cdcf;border-radius:50%;flex:0 0 18px;position:relative}.dzoc-option b{margin-left:auto}.dzoc-option input:checked+span>i{border-color:var(--primary)}.dzoc-option input:checked+span>i:after{content:'';position:absolute;inset:3px;background:var(--primary);border-radius:50%}.dzoc-option input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--accent) 32%,transparent);outline-offset:2px}.dzoc-submit{min-height:48px;position:relative;display:flex;align-items:center;justify-content:center;gap:10px;transition:filter .2s,transform .2s}.dzoc-submit:hover{filter:brightness(.96);transform:translateY(-1px)}.dzoc-submit:after{display:none}.dzoc-spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:dzoc-spin .7s linear infinite}.dzoc-submit.is-loading .dzoc-spinner{display:block}.dzoc-feedback{min-height:0;text-align:center;font-size:13px}.dzoc-feedback:not(:empty){padding:9px;border-radius:8px;background:#f6f4ef}.dzoc-success{display:none;text-align:center;padding:34px 10px 12px}.dzoc-success.is-visible{display:block;animation:dzoc-pop .35s ease}.dzoc-success>span{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 18px;border-radius:50%;background:#e7f6ed;color:#187a41;font-size:30px;font-weight:900}.dzoc-success h4{font-size:23px;margin:0 0 8px;color:#203d46}.dzoc-success p{color:#718188;line-height:1.7;margin:0 auto 22px;max-width:400px}.dzoc-success-close{border:0;background:var(--primary);color:#fff;border-radius:9px;padding:11px 30px;cursor:pointer;font-weight:700}@keyframes dzoc-spin{to{transform:rotate(360deg)}}@keyframes dzoc-pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@media(max-width:680px){.dzoc-overlay{align-items:flex-end;padding:0}.dzoc-modal{width:100%!important;max-height:92vh;border-radius:22px 22px 0 0!important;padding:25px 17px 20px}.dzoc-modal:before{content:'';display:block;width:42px;height:4px;border-radius:4px;background:#d8dcdd;margin:-13px auto 18px}.dzoc-modal-head{padding-left:24px}.dzoc-modal-icon{width:34px;height:34px;flex-basis:34px}.dzoc-progress{margin:18px 0 14px}.dzoc-progress b{width:34px}.dzoc-selected-box{margin-bottom:15px}.dzoc-option>span{padding:12px}.dzoc-bottom{align-items:center}.dzoc-main-price strong{font-size:19px}.dzoc-button{min-height:40px;padding:9px 13px}}
@media(prefers-reduced-motion:reduce){.dzoc-card,.dzoc-image img,.dzoc-overlay,.dzoc-modal,.dzoc-button,.dzoc-submit{transition:none!important;animation:none!important}}

/* RTL-safe modal: hidden controls must never enlarge the scrollable area. */
.dzoc-wrap .dzoc-form .dzoc-hp{position:absolute!important;inset:0 auto auto 0!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;max-width:1px!important;max-height:1px!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}
.dzoc-wrap .dzoc-modal{box-sizing:border-box;min-width:0;max-width:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.dzoc-wrap .dzoc-form{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.dzoc-wrap .dzoc-form>*,.dzoc-wrap .dzoc-options,.dzoc-wrap .dzoc-options-list,.dzoc-wrap .dzoc-option-copy,.dzoc-wrap .dzoc-option-side{min-width:0}
.dzoc-wrap .dzoc-option{position:relative;min-width:0}
.dzoc-wrap .dzoc-option>input[type="radio"]{position:absolute;inset-block-start:14px;inset-inline-start:14px;inset-inline-end:auto;width:1px;min-width:0;height:1px;min-height:0;margin:0;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);opacity:0}
.dzoc-wrap .dzoc-option-copy,.dzoc-wrap .dzoc-option-side,.dzoc-wrap .dzoc-selected,.dzoc-wrap .dzoc-booking-summary strong{overflow-wrap:anywhere}
.dzoc-wrap .dzoc-option-copy{flex:1}
@media(max-width:680px){.dzoc-wrap .dzoc-form{grid-template-columns:minmax(0,1fr)}}

/* Telephone digits keep LTR order; both the hint and value align with RTL labels. */
.dzoc-wrap .dzoc-modal .dzoc-form input[type="tel"]{direction:ltr!important;text-align:right!important}
.dzoc-wrap .dzoc-modal .dzoc-form input[type="tel"]:placeholder-shown{direction:rtl!important}
.dzoc-wrap .dzoc-modal .dzoc-form input[type="tel"]::placeholder{direction:rtl;text-align:right}
/* iOS focus zoom: keep editable text at least 16px, including the quantity field.
   Do not restrict user zoom or change the page viewport meta tag. */
@media(max-width:1024px),(hover:none) and (pointer:coarse){
  .dzoc-wrap .dzoc-modal .dzoc-form input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]):not(.dzoc-hp),
  .dzoc-wrap .dzoc-modal .dzoc-form textarea,
  .dzoc-wrap .dzoc-modal .dzoc-form select{font-size:16px!important;font-size:max(16px,1em)!important}
}

/* Professional booking selector v3 */
.dzoc-prices>div>span{display:grid;gap:2px}.dzoc-prices small{font-size:10px;color:var(--accent);font-weight:800}.dzoc-option-copy{display:grid;gap:3px;margin-left:auto}.dzoc-option-copy small{color:#7c898e;font-size:11px;font-weight:500}.dzoc-option-side{display:grid;justify-items:end;gap:3px}.dzoc-option-side mark{border-radius:999px;padding:2px 7px;background:color-mix(in srgb,var(--accent) 18%,white);color:#7b581f;font-size:9px;font-weight:800}.dzoc-booking-summary{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:1px;border:1px solid #e2ddd4;border-radius:13px;overflow:hidden;background:#e2ddd4}.dzoc-booking-summary[hidden]{display:none}.dzoc-booking-summary>div{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:12px;background:#fbfaf8}.dzoc-booking-summary span{font-size:10px;color:#7c898e}.dzoc-booking-summary strong{font-size:13px;color:var(--primary)}.dzoc-stepper{display:grid;grid-template-columns:32px 42px 32px;direction:ltr}.dzoc-stepper button,.dzoc-stepper input{height:32px!important;min-height:32px!important;border:1px solid #d9d3c8!important;background:#fff!important;padding:0!important;text-align:center}.dzoc-stepper button{cursor:pointer;font-size:17px;color:var(--primary)}.dzoc-stepper input{border-left:0!important;border-right:0!important;border-radius:0!important;-moz-appearance:textfield}.dzoc-stepper input::-webkit-inner-spin-button{display:none}.dzoc-summary-total{background:color-mix(in srgb,var(--accent) 12%,white)!important}.dzoc-summary-total strong{font-size:15px}@media(max-width:560px){.dzoc-booking-summary{grid-template-columns:1fr 1fr}.dzoc-booking-summary>div:first-child{grid-column:1/-1}.dzoc-option>span{align-items:flex-start}.dzoc-option-side em{font-size:12px}}
