/* ============================================================
   CUESTIONARIO (#cuestionario) — CSS optimizado (sin cambios visuales)
   ============================================================ */

/* --- Base layout quiz --- */
#cuestionario .mq-wrap{
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 1.1rem;
    border-radius: 22px;
}

#cuestionario .mq-card{
    background: #fff;
    border: 1px solid #26734d;
    border-radius: 20px;
    padding: 1.1rem 1.1rem 1.2rem;
    /*box-shadow: 0 18px 50px rgba(31, 92, 58, .12);*/
    box-shadow: 0 10px 25px rgba(15, 23, 42, .08);
}

#cuestionario .mq-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:.9rem;
}

#cuestionario .mq-title{
    margin:0;
    color:#111827;
    font-weight:800;
    font-size:clamp(1.05rem, 1.6vw, 1.35rem);
    line-height:1.2;
}

#cuestionario .mq-sub{
    margin:.35rem 0 0;
    color:#6b7280;
    font-size:.92rem;
}

/* Progress */
#cuestionario .mq-progress{
    width:160px;
    height:10px;
    border-radius:999px;
    background:rgba(55,65,81,.12);
    border:1px solid rgba(55,65,81,.16);
    overflow:hidden;
    margin-top:.25rem;
}
#cuestionario .mq-progress > i{
    display:block;
    height:100%;
    width:0%;
    background:#40bf80;
    transition:width .22s ease;
}

/* Body */
#cuestionario .mq-body{
    background:#fff;
    border-radius:16px;
    border:1px solid rgba(55,65,81,.16);
    padding:1.05rem;
    display:flex;
    flex-direction:column;
    align-items:center;
}

#cuestionario .mq-stepcount{
    display:block;
    width:fit-content;
    margin:0 0 .55rem;
    color:#26734d;
    font-weight:800;
    font-size:.82rem;
    align-self:flex-start;
}

#cuestionario .mq-q{
    margin:.25rem 0 .85rem;
    color:#111827;
    font-weight:800;
    font-size:1.02rem;
    align-self:flex-start;
    width:100%;
}

/* Choices */
#cuestionario .mq-choices{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.75rem;
    align-items:stretch;
    justify-content:center;
    margin-left:auto;
    margin-right:auto;
    max-width:520px;
}

#cuestionario .mq-choice{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    width:100%;
    min-height:56px;
    padding:14px 16px;
    border-radius:18px;
    border:1px solid rgba(55,65,81,.20);
    background:#fff;
    cursor:pointer;
    font-weight:800;
    color:#111827;
    text-align:left;
    position:relative;
    -webkit-appearance:none;
    appearance:none;
    background-image:none;
    transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

/* radio right */
#cuestionario .mq-choice::after{
    content:"";
    width:22px;
    height:22px;
    border-radius:999px;
    border:2px solid rgba(55,65,81,.22);
    flex:0 0 auto;
    display:block;
    box-sizing:border-box;
    opacity:.9;
}

#cuestionario .mq-choice:hover{
    transform:translateY(-1px);
    border-color:rgba(59,162,115,.70);
    box-shadow:0 14px 28px rgba(15,23,42,.10);
}

#cuestionario .mq-choice[aria-pressed="true"]{
    border-color:rgba(59,162,115,1);
    /*box-shadow:0 12px 26px rgba(59,162,115,.15);*/
    box-shadow: 0 10px 25px rgba(15, 23, 42, .15);
}
#cuestionario .mq-choice[aria-pressed="true"]::after{
    border-color:rgba(59,162,115,1);
    /*box-shadow:0 0 0 6px rgba(59,162,115,.14);*/
    box-shadow: 0 10px 25px rgba(15, 23, 42, .14);
    background:radial-gradient(circle at center, #3ba273 0 55%, transparent 56% 100%);
}

/* Inputs */
#cuestionario .mq-input,
#cuestionario .mq-textarea{
    width:100%;
    border-radius:16px;
    border:1px solid rgba(55,65,81,.18);
    padding:12px 14px;
    font-size:1rem;
    color:#111827;
    background:#fff;
    outline:none;
    transition:box-shadow .12s ease, border-color .12s ease;
}
#cuestionario .mq-input{ height:52px; }
#cuestionario .mq-textarea{ min-height:120px; resize:vertical; padding-top:12px; }

#cuestionario .mq-input:focus,
#cuestionario .mq-textarea:focus{
    border-color:rgba(59,162,115,1);
    box-shadow:0 0 0 5px rgba(59,162,115,.18);
    outline:none;
}

/* Hint + nav */
#cuestionario .mq-nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:.9rem;
}
#cuestionario .mq-hint{
    margin:.6rem 0 0;
    color:#6b7280;
    font-size:.92rem;
}

/* Remove “halos” inherited inside body */
#cuestionario .mq-body *,
#cuestionario .mq-body *::before,
#cuestionario .mq-body *::after{
    box-shadow:none;
}

/* Focus only on choice */
#cuestionario .mq-choice:focus,
#cuestionario .mq-choice:focus-visible{
    outline:none;
    box-shadow:0 0 0 5px rgba(59,162,115,.18);
}

/* Responsive */
@media (max-width:640px){
    #cuestionario .mq-choices{ grid-template-columns:1fr; }
    #cuestionario .mq-wrap{ padding:1rem; }
    #cuestionario .mq-card{ padding:1rem; }

}

/* ============================================================
   MotoPress host en wizard
   ============================================================ */

#cuestionario #mqCalendarHost{ margin-top:14px; }

/* OCULTO compatible con MotoPress: mantener ancho real para cálculos */
#cuestionario #mqCalendarHost.mq-is-hidden{
    position:absolute !important;
    left:-99999px !important;
    top:0 !important;
    width:min(980px, 100vw) !important;
    height:auto !important;
    visibility:hidden !important;
    pointer-events:none !important;
    overflow:visible !important;
}
#cuestionario #mqCalendarHost{
    position:static !important;
    left:auto !important;
    width:100% !important;
    visibility:visible !important;
    pointer-events:auto !important;
}

/* Botones internos MotoPress: ocultos (wizard manda) */
#cuestionario .mpa-actions,
#cuestionario .mpa-booking-step .mpa-actions,
#cuestionario .mpa-button-next,
#cuestionario .mpa-button-back{
    display:none !important;
}
#cuestionario .flatpickr-day.selected{
    background: #339966 !important;
    border-color: #339966 !important;
}
/* Cart: ocultar editar */
#cuestionario #mqCalendarHost .mpa-booking-step-cart .mpa-button-edit-or-remove{
    display:none !important;
}

/* Cart: ocultar precios/totales (seguro) */
#cuestionario #mqCalendarHost .mpa-booking-step-cart .mpa-cart-total,
#cuestionario #mqCalendarHost .mpa-booking-step-cart .mpa-cart-price,
#cuestionario #mqCalendarHost .mpa-booking-step-cart [class*="total"],
#cuestionario #mqCalendarHost .mpa-booking-step-cart [class*="price"]{
    display:none !important;
}
#cuestionario #mqCalendarHost .mpa-booking-step-cart .item-footer{
    display: none !important;
}
/* Ajustes widget general */
#cuestionario #mqCalendarHost{
    max-width:100%;
    overflow:hidden;
}
#cuestionario #mqCalendarHost .mpa-booking-step,
#cuestionario #mqCalendarHost .mpa-booking-step-period,
#cuestionario #mqCalendarHost .mpa-period{
    max-width:100%;
}
#cuestionario #mqCalendarHost .mpa-times,
#cuestionario #mqCalendarHost .mpa-timepicker{
    width:100%;
    max-width:100%;
}
#cuestionario #mqCalendarHost .mpa-timepicker{ padding-right:8px; }

/* CALENDARIO jQuery UI */
#cuestionario #mqCalendarHost .ui-datepicker,
#cuestionario #mqCalendarHost .ui-datepicker-inline{
    width:100% !important;
    max-width:100% !important;
}
#cuestionario #mqCalendarHost .ui-datepicker-header{ border-radius:14px; }
#cuestionario #mqCalendarHost .ui-datepicker td a.ui-state-active,
#cuestionario #mqCalendarHost .ui-datepicker td a.ui-state-hover{
    border-radius:999px;
}

/* HORAS MotoPress: soportar ambas clases (.mpa-time y .mpa-time-period) */
#cuestionario #mqCalendarHost :is(.mpa-time, .mpa-time-period){
    border-radius:999px !important;
    border:1px solid rgba(55,65,81,.28) !important;
    background:#f9f9f6 !important;
    color:#374151 !important;
    font-weight:700 !important;
    line-height:1 !important;
    transition:transform .08s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}

/* Tamaños (mantiene tu look final) */
#cuestionario #mqCalendarHost .mpa-time-period{
    padding:.6rem .9rem !important;
    font-size:.95rem !important;
    min-height:40px !important;
}

/* Hover */
@media (hover:hover){
    #cuestionario #mqCalendarHost :is(.mpa-time, .mpa-time-period):hover{
        background:#d9f2e6 !important;
        border-color:rgba(31,92,58,.45) !important;
        box-shadow:0 8px 18px rgba(31,92,58,.10) !important;
        transform:translateY(-1px);
    }
}

/* Seleccionada (cubrir varias variantes + la real mpa-time-period-selected) */
#cuestionario #mqCalendarHost .mpa-time-period.mpa-time-period-selected,
#cuestionario #mqCalendarHost .mpa-time.is-selected,
#cuestionario #mqCalendarHost .mpa-time.selected,
#cuestionario #mqCalendarHost .mpa-time[aria-selected="true"],
#cuestionario #mqCalendarHost .mpa-time.mpa-selected,
#cuestionario #mqCalendarHost .mpa-time.mpa-time--selected{
    background:#339966 !important;
    border-color:#339966 !important;
    color:#ffffff !important;
    box-shadow:0 10px 26px rgba(31,92,58,.22) !important;
}

/* Disabled */
#cuestionario #mqCalendarHost :is(.mpa-time, .mpa-time-period)[disabled],
#cuestionario #mqCalendarHost :is(.mpa-time, .mpa-time-period).mpa-disabled,
#cuestionario #mqCalendarHost :is(.mpa-time, .mpa-time-period).is-disabled{
    opacity:.45 !important;
    cursor:not-allowed !important;
    box-shadow:none !important;
    transform:none !important;
}

/* MÓVIL: horas más compactas + apilar columnas si las hay */
@media (max-width:640px){
    #cuestionario #mqCalendarHost{ overflow:hidden; }

    #cuestionario #mqCalendarHost :is(.mpa-time, .mpa-time-period){
        min-height:38px !important;
        padding:9px 12px !important;
        font-size:13px !important;
    }

    #cuestionario #mqCalendarHost .ui-datepicker-title{ font-size:16px; }

    #cuestionario #mqCalendarHost .mpa-period,
    #cuestionario #mqCalendarHost .mpa-timepicker{
        width:100% !important;
        max-width:100% !important;
    }

    #cuestionario #mqCalendarHost .mpa-booking-step-period .mpa-booking-step-content,
    #cuestionario #mqCalendarHost .mpa-booking-step-period .mpa-period-wrapper,
    #cuestionario #mqCalendarHost .mpa-booking-step-period .mpa-period,
    #cuestionario #mqCalendarHost .mpa-booking-step-period .mpa-timepicker{
        flex:0 0 100% !important;
    }
}

/* FIX MÓVIL: Flatpickr (MotoPress) demasiado grande */
@media (max-width:640px){
    #cuestionario #mqCalendarHost .mpa-booking-step-period{
        max-width:100%;
        overflow:visible;
    }
    #cuestionario #mqCalendarHost .mpa-booking-step-period .flatpickr-calendar{
        max-width:100% !important;
        box-sizing:border-box !important;
    }
    #cuestionario #mqCalendarHost .mpa-booking-step-period .flatpickr-weekdays,
    #cuestionario #mqCalendarHost .mpa-booking-step-period .flatpickr-days{
        width:100% !important;
    }
}
@media (max-width:420px){
    #cuestionario #mqCalendarHost .mpa-booking-step-period .flatpickr-calendar{
        transform:scale(.88);
        transform-origin:top left;
        width:calc(100% / .88) !important;
    }
}
@media (min-width:421px) and (max-width:640px){
    #cuestionario #mqCalendarHost .mpa-booking-step-period .flatpickr-calendar{
        transform:scale(.94);
        transform-origin:top left;
        width:calc(100% / .94) !important;
    }
}

/* FIX MÓVIL: jQuery UI datepicker “recorta” días */
#cuestionario #mqCalendarHost .ui-datepicker,
#cuestionario #mqCalendarHost .ui-datepicker-inline{
    width:auto !important;
    max-width:100% !important;
}
@media (max-width:420px){
    #cuestionario #mqCalendarHost .ui-datepicker-inline{
        transform:scale(.92);
        transform-origin:top left;
        width:calc(100% / .92) !important;
    }
}
@media (min-width:421px) and (max-width:640px){
    #cuestionario #mqCalendarHost .ui-datepicker-inline{
        transform:scale(.96);
        transform-origin:top left;
        width:calc(100% / .96) !important;
    }
}
#cuestionario #mqCalendarHost{ overflow:visible; }

/* Checkout: Notas de reserva a ancho completo */
#cuestionario #mqCalendarHost .mpa-booking-step-checkout textarea,
#cuestionario #mqCalendarHost .mpa-booking-step-checkout .mpa-textarea,
#cuestionario #mqCalendarHost .mpa-booking-step-checkout textarea[name*="note"],
#cuestionario #mqCalendarHost .mpa-booking-step-checkout textarea[id*="note"]{
    width:100% !important;
    max-width:100% !important;
    min-height:140px !important;
    resize:vertical;
    border-radius:14px !important;
    padding:12px 14px !important;
    border:1px solid rgba(55, 65, 81, .22) !important;
    background:rgba(249, 249, 246, .92) !important;
    box-sizing:border-box !important;
}

/* =========================================================
   PASO FINAL: “traducciones” sin JS + pastillas calendario
   ========================================================= */

#cuestionario #mqCalendarHost .mpa-booking-step-booking p.mpa-message{
    font-size:0 !important;
    line-height:0 !important;
    margin:.25rem 0 1rem !important;
    text-align:center !important;
}
#cuestionario #mqCalendarHost .mpa-booking-step-booking p.mpa-message::before{
    content:"Gracias por tu reserva. Estos son los detalles:" !important;
    display:block !important;
    font-size:1.25rem !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    color:#111827 !important;
}

#cuestionario #mqCalendarHost .mpa-booking-step-booking .reservation-calendar-links{
    margin-top:.65rem !important;
}

#cuestionario #mqCalendarHost .mpa-booking-step-booking .reservation-calendar-links .cell.label{
    font-size:0 !important;
    line-height:0 !important;
    display:block !important;
    text-align:center !important;
    margin-bottom:.55rem !important;
}
#cuestionario #mqCalendarHost .mpa-booking-step-booking .reservation-calendar-links .cell.label::before{
    content:"Añade la reserva a tu calendario:" !important;
    display:block !important;
    font-size:1rem !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    color:#111827 !important;
}

#cuestionario #mqCalendarHost .mpa-booking-step-booking .reservation-calendar-links .cell.value{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    justify-content:center !important;
    align-items:center !important;
    font-size:0 !important; /* mata comas como nodos de texto */
}

#cuestionario #mqCalendarHost .mpa-booking-step-booking .reservation-calendar-links .cell.value a{
    font-size:14px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    padding:10px 14px !important;
    font-weight:800 !important;
    border:1px solid rgba(55,65,81,.22) !important;
    text-decoration:none !important;
}

#cuestionario #mqCalendarHost .mpa-booking-step-booking .reservation-calendar-links .cell.value a:nth-of-type(odd){
    background:#f9f9f6 !important;
    color:#374151 !important;
}
#cuestionario #mqCalendarHost .mpa-booking-step-booking .reservation-calendar-links .cell.value a:nth-of-type(even){
    background:#1f5c3a !important;
    color:#f9f9f6 !important;
    border-color:rgba(31,92,58,.25) !important;
}

@media (hover:hover){
    #cuestionario #mqCalendarHost .mpa-booking-step-booking .reservation-calendar-links .cell.value a:hover{
        transform:translateY(-1px);
        box-shadow:0 8px 18px rgba(31,92,58,.10);
    }
}
#cuestionario #mqCalendarHost .mq-confirm{
    max-width: 720px;
    margin: 10px auto 0;
    background: #ffffff;
    border: 1px solid rgba(59, 162, 115, .35);
    border-radius: 18px;
    padding: 22px 18px;
    text-align: center;
    box-shadow: 0 18px 50px rgba(31, 92, 58, .10);
}

#cuestionario #mqCalendarHost .mq-confirm-title{
    font-weight: 900;
    letter-spacing: .06em;
    color: #1f5c3a;
    margin-bottom: 10px;
    text-transform: uppercase;
}

#cuestionario #mqCalendarHost .mq-confirm-icon{
    width: 88px;
    height: 88px;
    margin: 8px auto 10px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: 54px;
    font-weight: 900;
    color: #ffffff;
    background: #3ba273; /* verde de tu paleta */
    box-shadow: 0 14px 35px rgba(59, 162, 115, .25);
}

#cuestionario #mqCalendarHost .mq-confirm-text{
    font-weight: 800;
    color: #111827;
    font-size: 1.05rem;
    line-height: 1.35;
}

#cuestionario #mqCalendarHost .mq-confirm-sub{
    margin-top: 8px;
    font-weight: 600;
    color: #6b7280;
    font-size: .95rem;
}
@media(max-width: 769px){
    #cuestionario .mq-title{font-size: 18px!important;};
}