/*!
 * DSL Adventures — inquiry forms: Plan Your Trip page, tour Request Availability dialog and
 * Thank You page. Builds on dsl-design-system.css (20. FORMS, 07. BUTTONS, 19. ACCORDION).
 * Loaded only on those pages and on single tours (inc/assets.php).
 *
 * 01 Plan Your Trip header   02 Layout   03 Fields   04 Steps   05 Tour context card
 * 06 Aside                   07 FAQ      08 Request dialog      09 Thank You
 */

/* 01. Plan Your Trip header ------------------------------------ */
.dsl-plan-head{padding-block:clamp(20px,1rem + 1vw,32px) clamp(28px,1.25rem + 2vw,48px);background:var(--dsl-cream)}
.dsl-plan-head__body{display:grid;gap:12px;max-width:760px;margin-top:clamp(20px,1rem + 1.5vw,40px)}
.dsl-plan-head__body>*{margin:0}
.dsl-plan-head__title{text-wrap:balance}
.dsl-plan-trust{display:flex;flex-wrap:wrap;gap:10px 28px;margin:clamp(20px,1rem + 1vw,28px) 0 0;padding:0;list-style:none}
.dsl-plan-trust li{display:flex;align-items:center;gap:8px;font-size:var(--dsl-fs-small);font-weight:600;line-height:1.35;color:var(--dsl-secondary)}
.dsl-plan-trust .dsl-icon{flex:none;width:1.125rem;height:1.125rem;color:var(--dsl-primary)}
@media (max-width:599.98px){.dsl-plan-trust{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px}.dsl-plan-trust li{align-items:flex-start}}

/* 02. Layout ---------------------------------------------------- */
.dsl-plan-main__grid{display:grid;gap:clamp(28px,1.5rem + 2vw,48px);align-items:start}
.dsl-plan-card{min-width:0;padding:clamp(20px,1rem + 2vw,40px);border:1px solid var(--dsl-border);border-radius:var(--dsl-radius-xl);background:var(--dsl-surface);box-shadow:var(--dsl-shadow-md)}
.dsl-plan-card__title{margin:0 0 6px}
.dsl-plan-card__req{margin:0 0 24px;font-size:var(--dsl-fs-small);color:var(--dsl-text-muted)}
@media (max-width:479.98px){.dsl-plan-card{padding:20px 16px;border-radius:var(--dsl-radius-lg)}}
@media (min-width:768px) and (max-width:1024.98px){.dsl-plan-aside{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
@media (min-width:1025px){
  .dsl-plan-main__grid{grid-template-columns:minmax(0,1fr) 340px}
  .dsl-plan-aside{position:sticky;top:calc(var(--dsl-header-h) + 24px)}
}

/* 03. Fields ---------------------------------------------------- */
.dsl-inquiry{display:grid;gap:var(--dsl-space-md)}
.dsl-inquiry fieldset{min-width:0;margin:0;padding:0;border:0}
.dsl-inquiry legend{padding:0}
.dsl-inquiry .dsl-field{align-content:start}
.dsl-field__opt{font-weight:400;color:var(--dsl-text-muted)}
.dsl-field__msg{color:var(--dsl-error)}
.dsl-field__msg .dsl-icon{flex:none}
.dsl-choice-group{gap:10px}
.dsl-choice-group>.dsl-field__label{margin-bottom:2px}
.dsl-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px}
.dsl-check.dsl-choice{align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1.5px solid var(--dsl-border);border-radius:var(--dsl-radius-md);background:#fff;font-size:.96875rem;line-height:1.3;transition:border-color var(--dsl-dur-fast),background-color var(--dsl-dur-fast)}
.dsl-check.dsl-choice:hover{border-color:var(--dsl-text-muted)}
.dsl-check.dsl-choice:has(input:checked){border-color:var(--dsl-primary);background:var(--dsl-primary-tint)}
.dsl-check.dsl-choice input{width:20px;height:20px}
.dsl-field--error .dsl-check.dsl-choice{border-color:color-mix(in srgb,var(--dsl-error) 45%,var(--dsl-border))}
.dsl-inquiry__consent .dsl-check{padding-block:4px}
.dsl-field--error .dsl-check input[type=checkbox]:not(:checked){border-color:var(--dsl-error)}
.dsl-inquiry .dsl-steppers{gap:16px 32px}
.dsl-inquiry .dsl-stepper input{height:48px}
.dsl-field--error .dsl-stepper{border-color:var(--dsl-error)}
.dsl-inquiry:not(.is-enhanced) .dsl-stepper button{display:none}
.dsl-inquiry:not(.is-enhanced) .dsl-stepper input{width:5rem}
.dsl-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.dsl-inquiry__alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1.5px solid color-mix(in srgb,var(--dsl-error) 35%,#fff);border-left:5px solid var(--dsl-error);border-radius:var(--dsl-radius-md);background:var(--dsl-error-tint);color:var(--dsl-text)}
.dsl-inquiry__alert:focus{outline:3px solid var(--dsl-focus);outline-offset:2px}
.dsl-inquiry__alert>.dsl-icon{flex:none;margin-top:2px;color:var(--dsl-error)}
.dsl-inquiry__alert p{margin:0;font-weight:600}
.dsl-inquiry__alert ul{margin:6px 0 0;padding-left:18px}
.dsl-inquiry__alert a{color:var(--dsl-error);font-weight:600}

/* 04. Steps ----------------------------------------------------- */
.dsl-inquiry__progress{display:grid;gap:10px}
.dsl-inquiry__count{margin:0;font-family:var(--dsl-font-head);font-size:var(--dsl-fs-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dsl-clay)}
.dsl-inquiry__steps{display:flex;gap:8px;margin:0;padding:0;list-style:none}
.dsl-inquiry__steps li{display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:0;font-size:var(--dsl-fs-small);font-weight:600;line-height:1.25;color:var(--dsl-text-muted)}
.dsl-inquiry__num{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1.5px solid var(--dsl-border-strong);border-radius:50%;background:#fff;font-family:var(--dsl-font-head);font-size:.8125rem;font-weight:700}
.dsl-inquiry__steps li[aria-current]{color:var(--dsl-secondary)}
.dsl-inquiry__steps li[aria-current] .dsl-inquiry__num{border-color:var(--dsl-primary);background:var(--dsl-primary);color:#fff}
.dsl-inquiry__steps li.is-done .dsl-inquiry__num{border-color:var(--dsl-primary);background:var(--dsl-primary-tint-2);color:var(--dsl-primary)}
.dsl-inquiry__bar{height:4px;border-radius:var(--dsl-radius-pill);background:var(--dsl-border);overflow:hidden}
.dsl-inquiry__bar span{display:block;width:33.34%;height:100%;border-radius:inherit;background:var(--dsl-primary);transition:width var(--dsl-dur) var(--dsl-ease)}
@media (max-width:519.98px){.dsl-inquiry__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.dsl-inquiry__steps li{flex:0 0 auto}}
.dsl-inquiry__step{display:grid;gap:var(--dsl-space-md)}
.dsl-inquiry__legend{margin:0 0 6px;font-family:var(--dsl-font-head);font-size:var(--dsl-fs-h4);font-weight:700;line-height:1.25;color:var(--dsl-secondary)}
.dsl-inquiry__legend:focus{outline:none}
.dsl-inquiry__intro{margin:0;color:var(--dsl-text-muted)}
.dsl-inquiry:not(.is-enhanced) .dsl-inquiry__step+.dsl-inquiry__step{padding-top:28px;border-top:1px solid var(--dsl-border)}
.dsl-inquiry__nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}
.dsl-inquiry__nav .dsl-inquiry__next,.dsl-inquiry__nav .dsl-inquiry__submit{margin-left:auto}
.dsl-inquiry:not(.is-enhanced) [data-dsl-next],.dsl-inquiry:not(.is-enhanced) [data-dsl-back]{display:none}
@media (max-width:479.98px){.dsl-inquiry__nav{flex-direction:column-reverse;align-items:stretch}.dsl-inquiry__nav .dsl-btn{width:100%;margin-left:0;white-space:normal}}
.dsl-inquiry__note{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:var(--dsl-fs-small);color:var(--dsl-text-muted)}
.dsl-inquiry__note .dsl-icon{flex:none;margin-top:2px;color:var(--dsl-success)}
.dsl-btn.is-busy,.dsl-btn.is-busy[aria-disabled="true"]{opacity:1;pointer-events:none;cursor:progress}
.dsl-btn.is-busy .dsl-icon{display:none}
.dsl-btn.is-busy::before{content:"";flex:none;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:dsl-spin .8s linear infinite}
@keyframes dsl-spin{to{transform:rotate(360deg)}}

/* 05. Tour context card ---------------------------------------- */
.dsl-inquiry-tour{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;padding:12px;border:1.5px solid var(--dsl-primary);border-radius:var(--dsl-radius-lg);background:var(--dsl-primary-tint)}
.dsl-inquiry-tour__img{flex:none;width:64px;height:64px;border-radius:var(--dsl-radius-md);object-fit:cover}
.dsl-inquiry-tour__body{display:grid;flex:1 1 160px;gap:2px;min-width:0}
.dsl-inquiry-tour__body>*{margin:0}
.dsl-inquiry-tour__eyebrow{font-family:var(--dsl-font-head);font-size:var(--dsl-fs-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dsl-clay)}
.dsl-inquiry-tour__title{font-family:var(--dsl-font-head);font-size:var(--dsl-fs-h5);font-weight:700;line-height:1.3;color:var(--dsl-secondary)}
.dsl-inquiry-tour__meta{font-size:var(--dsl-fs-small);color:var(--dsl-text-muted)}
.dsl-inquiry-tour__change{display:inline-flex;align-items:center;min-height:var(--dsl-touch);margin-left:auto;font-size:var(--dsl-fs-small)}

/* 06. Aside: next steps + WhatsApp ------------------------------ */
.dsl-plan-aside{display:grid;gap:20px;min-width:0}
.dsl-plan-box{padding:clamp(20px,1rem + 1vw,28px);border-radius:var(--dsl-radius-lg);background:var(--dsl-cream)}
.dsl-plan-box>*{margin:0}
.dsl-plan-box__title{margin-bottom:16px;font-size:var(--dsl-fs-h4)}
.dsl-next-steps{display:grid;gap:16px;padding:0;list-style:none;counter-reset:dsl-next}
.dsl-next-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;counter-increment:dsl-next}
.dsl-next-steps li::before{content:counter(dsl-next);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--dsl-primary);color:#fff;font-family:var(--dsl-font-head);font-size:.875rem;font-weight:700}
.dsl-next-steps strong{display:block;font-family:var(--dsl-font-head);font-size:1rem;line-height:1.3;color:var(--dsl-secondary)}
.dsl-next-steps p{margin:4px 0 0;font-size:var(--dsl-fs-small);line-height:1.5;color:var(--dsl-text-muted)}
.dsl-plan-box--wa{border:1px solid var(--dsl-border);background:var(--dsl-surface)}
.dsl-plan-box--wa>p{margin-bottom:16px;color:var(--dsl-text-muted)}
.dsl-plan-contact{display:grid;gap:4px;margin:14px 0 0;padding:0;list-style:none;font-size:var(--dsl-fs-small)}
.dsl-plan-contact li{display:flex;align-items:center;gap:8px}
.dsl-plan-contact .dsl-icon{flex:none;color:var(--dsl-primary)}
.dsl-plan-contact a{display:inline-flex;align-items:center;min-height:var(--dsl-touch);color:var(--dsl-primary);font-weight:600;overflow-wrap:anywhere}

/* 07. FAQ ------------------------------------------------------- */
.dsl-plan-faq__q{margin:0;font:inherit;color:inherit}
.dsl-plan-faq .dsl-accordion__content p{margin:0}

/* 08. Tour request dialog --------------------------------------- */
.dsl-request{width:min(600px,100% - 32px);max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:var(--dsl-radius-xl);background:var(--dsl-surface);color:var(--dsl-text);box-shadow:var(--dsl-shadow-lg);overflow:hidden}
.dsl-request[open]{display:flex;flex-direction:column}
.dsl-request::backdrop{background:rgba(6,24,31,.72)}
.dsl-request__head{display:flex;flex:none;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 14px 16px 24px;border-bottom:1px solid var(--dsl-border);background:var(--dsl-cream)}
.dsl-request__heading{display:grid;gap:4px;min-width:0}
.dsl-request__heading>*{margin:0}
.dsl-request__title{font-size:var(--dsl-fs-h4);line-height:1.25}
.dsl-request__meta{font-size:var(--dsl-fs-small);color:var(--dsl-text-muted)}
.dsl-request__body{flex:1 1 auto;min-height:0;gap:20px;padding:20px 24px 24px;overflow-y:auto;overscroll-behavior:contain}
.dsl-request__intro,.dsl-request__req{margin:0;color:var(--dsl-text-muted)}
.dsl-request__req{font-size:var(--dsl-fs-small)}
.dsl-request__body .dsl-form-grid{gap:18px 20px}
.dsl-request__consent{margin:0;font-size:var(--dsl-fs-caption);line-height:1.5;color:var(--dsl-text-muted)}
.dsl-request__actions{display:grid;gap:10px}
.dsl-request__alt{margin:0;text-align:center;font-size:var(--dsl-fs-small)}
html.dsl-request-open{overflow:hidden}
html.dsl-request-open .dsl-tour-bar{visibility:hidden}
@media (max-width:599.98px){
  .dsl-request{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0}
  .dsl-request__head{padding:max(14px,env(safe-area-inset-top)) 10px 14px 16px}
  .dsl-request__body{padding:18px 16px max(24px,calc(env(safe-area-inset-bottom) + 16px))}
}

/* 09. Thank You ------------------------------------------------- */
.dsl-thanks__hero{padding-block:clamp(48px,2rem + 5vw,96px);background:var(--dsl-cream)}
.dsl-thanks__inner{display:grid;justify-items:center;gap:16px;text-align:center}
.dsl-thanks__inner>*{margin:0}
.dsl-thanks__icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--dsl-success-tint);color:var(--dsl-success)}
.dsl-thanks__icon .dsl-icon{width:32px;height:32px}
.dsl-thanks__title{text-wrap:balance}
.dsl-thanks__ref{display:grid;gap:4px;margin-block:8px;padding:16px 28px;border:2px dashed color-mix(in srgb,var(--dsl-primary) 40%,#fff);border-radius:var(--dsl-radius-lg);background:#fff}
.dsl-thanks__ref-label{font-family:var(--dsl-font-head);font-size:var(--dsl-fs-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dsl-text-muted)}
.dsl-thanks__ref-code{font-family:var(--dsl-font-head);font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem);font-weight:800;letter-spacing:.04em;color:var(--dsl-secondary);overflow-wrap:anywhere}
.dsl-thanks__note{max-width:52ch;color:var(--dsl-text-muted)}
.dsl-thanks__note a{color:var(--dsl-primary);font-weight:600}
.dsl-thanks__actions{justify-content:center;margin-top:8px}
@media (max-width:479.98px){.dsl-thanks__actions{width:100%}.dsl-thanks__actions .dsl-btn{width:100%;white-space:normal}}