/* DP Booking · todo dentro de .dpb para no afectar el resto del sitio */
.dpb{--dpb-ink:#1b2230;--dpb-muted:#5f6878;--dpb-line:#e1e4ea;--dpb-r:18px;
  font-family:var(--dpb-body);color:var(--dpb-ink);text-align:left;font-size:15px;line-height:1.5}
.dpb *,.dpb *::before,.dpb *::after{box-sizing:border-box}
.dpb-form{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.dpb-step{grid-column:1;background:#fff;border-radius:var(--dpb-r);padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.dpb-summary{grid-column:2;grid-row:1/span 4;position:sticky;top:96px;background:#fff;border-radius:var(--dpb-r);padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.dpb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

.dpb-step-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.dpb-num{flex:0 0 38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--dpb-accent);color:#fff;font-weight:800}
.dpb .dpb-step-head h3{margin:0;font-family:var(--dpb-display);font-size:26px;font-weight:600;line-height:1.1;color:var(--dpb-ink)}
.dpb-step-head p{margin:4px 0 0;color:var(--dpb-muted);font-size:14px}

.dpb-grid{display:grid;gap:14px}
.dpb-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dpb-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.dpb-grid-5{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:14px}
.dpb-span-2{grid-column:span 2}
.dpb-field{display:flex;flex-direction:column;gap:6px;margin:0}
.dpb-field>span{font-size:12px;font-weight:700;letter-spacing:.3px;color:var(--dpb-muted)}
.dpb .dpb-form input[type=text],.dpb .dpb-form input[type=email],.dpb .dpb-form input[type=tel],.dpb .dpb-form input[type=date],.dpb .dpb-form input[type=time],.dpb .dpb-form select,.dpb .dpb-form textarea{
  width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--dpb-line);border-radius:12px;background:#fff;
  font:inherit;color:var(--dpb-ink);box-shadow:none;transition:border-color .2s,box-shadow .2s}
.dpb textarea{min-height:auto}
.dpb .dpb-form input:focus,.dpb .dpb-form select:focus,.dpb .dpb-form textarea:focus{outline:none;border-color:var(--dpb-accent2);box-shadow:0 0 0 3px color-mix(in srgb,var(--dpb-accent2) 25%,transparent)}
.dpb [hidden]{display:none!important}

.dpb-transfer{border:0;margin:0 0 22px;padding:0}
.dpb-transfer legend{padding:0;margin-bottom:10px;font-size:15px}
.dpb-transfer legend span{color:var(--dpb-muted);font-size:13px;margin-left:6px}
.dpb-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.dpb-option,.dpb-act{position:relative;display:block;cursor:pointer;margin:0}
.dpb-act{cursor:default}
.dpb-option input{position:absolute;opacity:0;pointer-events:none}
.dpb-option-body,.dpb-act-body{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px;border:1.5px solid var(--dpb-line);border-radius:14px;background:#fff;transition:border-color .2s,background .2s,transform .2s}
.dpb-option-body strong,.dpb-act-body strong{font-size:14px;line-height:1.25}
.dpb-option-body small,.dpb-act-body small{color:var(--dpb-muted);font-size:12.5px;line-height:1.4}
.dpb-option-body em,.dpb-act-body em{font-style:normal;font-weight:800;font-size:13px;color:var(--dpb-accent);margin-top:auto}
.dpb-option:hover .dpb-option-body,.dpb-act:hover .dpb-act-body{border-color:var(--dpb-accent2)}
.dpb-option input:checked+.dpb-option-body,.dpb-act.is-selected .dpb-act-body{border-color:var(--dpb-accent);background:var(--dpb-soft);box-shadow:inset 0 0 0 1px var(--dpb-accent)}
.dpb-option input:focus-visible+.dpb-option-body{outline:3px solid var(--dpb-accent2);outline-offset:2px}

.dpb-acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:6px}
.dpb .dpb-form select.dpb-day-select{margin-top:10px;min-height:42px;padding:8px 10px;font-size:13px;font-weight:700;cursor:pointer}
.dpb-act.is-selected select.dpb-day-select{border-color:var(--dpb-accent);color:var(--dpb-accent)}
.dpb .dpb-form select.dpb-day-select:disabled{cursor:not-allowed;background:#f4f4f4}
.dpb-act-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.dpb-seats{flex:none;font-size:11px;font-weight:800;color:#a1301b;text-transform:uppercase;letter-spacing:.5px}
.dpb-note{color:var(--dpb-accent)!important;font-weight:700}
.dpb-act.is-blocked{cursor:not-allowed}
.dpb-act.is-blocked .dpb-act-body{opacity:.55;background:#f4f4f4}
.dpb-act.dpb-flash .dpb-act-body{animation:dpb-flash 1.2s ease}
@keyframes dpb-flash{0%,100%{transform:none}30%{transform:scale(1.03);box-shadow:0 0 0 4px var(--dpb-accent2)}}
.dpb-conflict{margin:4px 0 0;padding:10px 14px;border-radius:12px;background:var(--dpb-soft);font-size:13px;font-weight:600}

.dpb-policies{margin:18px 0 12px;border-top:1px solid var(--dpb-line);padding-top:14px}
.dpb-policies summary{cursor:pointer;font-weight:700;color:var(--dpb-accent)}
.dpb-policies ul{margin:10px 0 0;padding-left:18px;color:var(--dpb-muted);font-size:13.5px}
.dpb-check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;cursor:pointer}
.dpb-check input{margin-top:3px;width:18px;height:18px;accent-color:var(--dpb-accent)}

.dpb-summary-head{display:flex;flex-direction:column;gap:2px;padding-bottom:14px;border-bottom:1px solid var(--dpb-line)}
.dpb-summary-head span{font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--dpb-muted)}
.dpb-total{font-family:var(--dpb-display);font-size:40px;font-weight:600;line-height:1.1;color:var(--dpb-accent)}
.dpb-lines{list-style:none;margin:12px 0;padding:0;font-size:13px}
.dpb-lines li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed var(--dpb-line)}
.dpb-lines li span{color:var(--dpb-muted)}
.dpb-lines:empty::before{content:"Choose transfers or activities to see your total.";color:var(--dpb-muted)}
.dpb button.dpb-submit{width:100%;min-height:52px;margin:0;padding:0 20px;border:0;border-radius:999px;background:var(--dpb-accent);color:#fff;
  font:800 15px/1 var(--dpb-body);letter-spacing:0;text-transform:none;box-shadow:none;cursor:pointer;transition:transform .2s,filter .2s}
.dpb button.dpb-submit:hover,.dpb button.dpb-submit:focus{background:var(--dpb-accent);color:#fff;transform:translateY(-1px);filter:brightness(1.2)}
.dpb button.dpb-submit:disabled{opacity:.6;cursor:wait}
.dpb-error{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#fde7e3;color:#8a2f1d;font-size:13px;font-weight:600}
.dpb-fine{margin:12px 0 0;font-size:12.5px;color:var(--dpb-muted)}

.dpb-done{background:#fff;border-radius:var(--dpb-r);padding:48px 28px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.dpb-done-icon{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--dpb-accent);color:#fff;font-size:30px}
.dpb .dpb-done h3{margin:0 0 8px;font-family:var(--dpb-display);font-size:34px;color:var(--dpb-ink)}
.dpb-done p{margin:0 auto;max-width:520px;color:var(--dpb-muted)}

/* Tarjetas de Elementor con sold out: el botón no navega */
.dp-activity [aria-disabled=true]{pointer-events:none}

@media (max-width:1024px){
  .dpb-form{grid-template-columns:1fr}
  .dpb-summary{grid-column:1;grid-row:auto;position:static}
  .dpb-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dpb-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dpb-acts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .dpb-step{padding:20px}
  .dpb-grid-2,.dpb-grid-3,.dpb-grid-5,.dpb-acts,.dpb-options{grid-template-columns:1fr}
  .dpb-span-2{grid-column:auto}
}
