/* ============================================================
   ESTILOS ESPECÍFICOS: RESERVADOR WHATSAPP (BLINDADO VS ASTRA)
   ============================================================ */

.ndk-section-form { padding: 4rem 1.5rem; max-width: 1200px; margin: 0 auto; }
.ndk-grid-2 { display: grid; grid-template-columns: 1fr; gap: 4rem; }
@media (min-width: 992px) { .ndk-grid-2 { grid-template-columns: 1fr 1fr; } }

/* Tarjetas */
.ndk-form-container {
    background: white; border: 2px solid #f3f4f6; border-radius: 4rem;
    padding: 4rem; box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05); position: relative;
}
@media (max-width: 768px) {
    .ndk-form-container { padding: 2.5rem 1.5rem; border-radius: 2.5rem; }
}

/* CLASE VITAL: Ocultar elementos lógicos y banner de error */
.ndk .hidden { display: none !important; }

/* Botones de Opción (Chips) - BLINDADOS */
.ndk-btn-opt {
    background-color: #f9fafb !important; border: 1px solid #f3f4f6 !important; padding: 1rem !important;
    border-radius: 1.25rem !important; font-weight: 800 !important; text-transform: uppercase !important;
    font-size: 0.75rem !important; cursor: pointer !important; transition: all 0.3s ease !important; display: flex !important;
    flex-direction: column !important; align-items: center !important; justify-content: center !important;
    gap: 0.5rem !important; color: #9ca3af !important; text-align: center !important; letter-spacing: 0.05em !important;
    box-shadow: none !important;
}
.ndk-btn-opt:hover { border-color: var(--ndk-salmon) !important; color: var(--ndk-salmon) !important; transform: translateY(-2px); }
.ndk-btn-opt.active { 
    background-color: var(--ndk-salmon) !important; color: white !important; 
    border-color: var(--ndk-salmon) !important; box-shadow: 0 10px 20px -5px rgba(255, 162, 146, 0.4) !important; 
}
.ndk-btn-opt.disabled-opt { opacity: 0.3 !important; cursor: not-allowed !important; filter: grayscale(1) !important; pointer-events: none !important; }
.ndk-btn-opt.ndk-btn-error { border-color: #ff4d4d !important; background-color: #fffafa !important; color: #ff4d4d !important; }

/* Ocultar los circulitos nativos (Radio buttons) que mete Astra */
.ndk-btn-opt input[type="radio"] { display: none !important; }

/* Inputs estilo React - BLINDADOS */
.ndk-input {
    width: 100% !important; background: transparent !important; color: var(--ndk-text) !important;
    border-top: none !important; border-left: none !important; border-right: none !important;
    border-bottom: 1px solid #f0f0f0 !important; border-radius: 0 !important; box-shadow: none !important;
    padding: 12px 0 !important; font-style: italic !important; font-weight: 300 !important; 
    outline: none !important; transition: all 0.3s !important; font-size: 1.1rem !important; 
    display: block !important; line-height: normal !important; min-height: 2.8rem !important;
}
select.ndk-input {
    appearance: none !important; -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffa292' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important; background-position: right 10px center !important;
    padding-right: 35px !important; cursor: pointer !important; padding-top: 0.5rem !important;
}
#in-fecha.ndk-input {
    font-weight: 800 !important; color: var(--ndk-dark) !important; border-bottom: 2px solid var(--ndk-salmon) !important;
    background-color: #fdfdfd !important; padding: 1rem !important; border-radius: 0.5rem !important; margin-top: 0.5rem !important; font-style: normal !important;
}
.ndk-input:focus { border-bottom-color: var(--ndk-salmon) !important; box-shadow: none !important; }
.ndk-input-error { border-bottom: 2px solid #ff4d4d !important; background-color: #fffafa !important; }
.ndk-label-error { color: #ff4d4d !important; text-shadow: 0 0 1px rgba(255,0,0,0.1); }
.ndk-check-error { color: #ff4d4d !important; border: 1px solid #ff4d4d !important; padding: 0.5rem !important; border-radius: 1rem !important; }

/* Elementos UI Nuevos */
.ndk-blocking-msg {
    background-color: #fef2f2; border-left: 4px solid #ef4444; padding: 1rem; 
    color: #b91c1c; font-size: 12px; font-style: italic; border-radius: 0 1rem 1rem 0;
    margin-top: 0.8rem; animation: fadeIn 0.4s ease forwards;
}
.ndk-price-badge {
    background: linear-gradient(135deg, #fff5f3 0%, #ffffff 100%);
    border: 1px dashed var(--ndk-salmon); border-radius: 3rem; padding: 2.5rem; margin-bottom: 2rem;
}
.ndk-asap-box {
    border-left: 3px solid var(--ndk-salmon); background-color: var(--ndk-salmon-soft);
    padding: 1.5rem; border-radius: 1.5rem; margin-bottom: 1.5rem; font-size: 0.85rem;
    font-style: italic; color: var(--ndk-salmon-dark);
}
.ndk-radio-group { display: flex; gap: 0.5rem; margin-bottom: 1.5rem; }

/* Botón WhatsApp - CORREGIDO */
.whatsapp-btn-style {
    background-color: #25D366 !important; /* Verde oficial de WhatsApp */
    color: white !important; 
    border: none !important; 
    padding: 1.8rem !important;
    border-radius: 4rem !important; 
    font-weight: 800 !important; 
    text-transform: uppercase !important; 
    letter-spacing: 0.2em !important;
    cursor: pointer !important; 
    font-size: 0.9rem !important; 
    width: 100% !important; 
    transition: all 0.3s ease !important;
    box-shadow: 0 10px 25px rgba(37, 211, 102, 0.3) !important;
}
.whatsapp-btn-style:hover { 
    background-color: #128C7E !important; /* Verde oscuro al pasar el mouse */
    transform: translateY(-3px) !important; 
    box-shadow: 0 12px 24px -10px rgba(37, 211, 102, 0.5) !important; 
}