/*
 * Theme Name: GeneratePress Child
 * Theme URI: https://thnk-popup-descenamkhan.com/
 * Description: Child theme for GeneratePress
 * Author: Agustina
 * Template: generatepress
 * Version: 7.0.0 - Expert Review & Final Implementation
 */

/* =================================================================== */
/* --- 1. CONFIGURACIÓN GLOBAL Y VARIABLES --- */
/* =================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Arsenal:ital,wght@0,400;0,700;1,400;1,700&family=Lora:wght@400;700&display=swap");

:root {
    --fuente-principal: 'Arsenal', sans-serif;
    --fuente-headings: 'Lora', serif;
    --verde: #5f6f52;
    --verde-claro: #f0f5ee;
    --gris-borde: #e5e7eb;
    --gris-texto: #6b7280;
    --gris-deshabilitado: #9ca3af;
    --texto-principal: #1f2937;
}

html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: border-box; }

/* Soporte para el bloqueo de scroll del menú móvil desde script.js */
body.no-scroll {
    overflow: hidden !important;
}


/* =================================================================== */
/* --- 2. ESTILOS BASE Y TIPOGRAFÍA (ORIGINALES) --- */
/* =================================================================== */
body{
	background-color: #FFF !important;
}
body, .elementor-widget, .elementor-widget-container { line-height: 1.2em !important; }
div, a, span, button, input[type=button], input[type=submit], a.button, input, textarea { font-family: var(--fuente-principal) !important; margin: 0; }
p, h4, h5, h6, .thenamkhan-seemore span, .thenamkhan-seemore span span, .link-footer a { font-family: var(--fuente-headings) !important; margin: 0; }
a, span { font-weight: 400 !important; }
button, input[type=button], input[type=submit], a.button { font-weight: 300 !important; }
h1, .elementor-slide-heading { font-family: var(--fuente-principal) !important; font-weight: 300 !important; letter-spacing: -0.6px !important; color: #fff !important; padding-bottom: 1rem !important; }
h2 { font-family: var(--fuente-headings) !important; font-weight: 700; margin: 0; }
h3, h3 a { font-family: var(--fuente-principal) !important; font-weight: 700; margin: 0; font-size: 1.4rem !important;}
.blog-title h1 { color: var(--verde) !important; font-size: 1.6rem !important; }
h1, h2, h3, h4, h5, h6, p, a, span, div, li, .elementor-heading-title, .elementor-slide-description { line-height: 1.4em !important; }


/* =================================================================== */
/* --- 3. COMPONENTES Y ESTILOS GENERALES (ORIGINALES) --- */
/* =================================================================== */

img { display: block !important; max-width: 100% !important; height: auto !important; }
.thenamkhan-img img { object-fit: cover !important; }
.features-container { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 0 auto; max-width: 1200px; }
.feature-item { display: flex; flex-direction: row; align-items: center; gap: 20px; }
.feature-image { width: 30px; height: 30px; object-fit: cover; }
.feature-text { font-size: 0.8rem !important; }
.features-container-grande { display: flex; justify-content: center; align-items: flex-start; gap: 20px; flex-wrap: wrap; padding: 0; margin: 0; }
.feature-item-grande { display: flex; flex-wrap: nowrap !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 12%; }
.feature-image-grande { max-width: 50px; margin-bottom: 5px; width: 60px; height: 60px; object-fit: cover; }
.feature-text-grande { font-size: 1.2rem; color: #333; }
.retreat-table, .activity-table { border-collapse: collapse; width: 100%; font-size: 1rem; }
.retreat-table th, .retreat-table td, .activity-table th, .activity-table td { border: 1px solid #ddd; padding: 8px; text-align: center; }
.retreat-table th, .activity-table thead { background-color: #f2f2f2; }


/* =================================================================== */
/* --- 4 a 10. ESTILOS DE WIDGETS Y RESPONSIVE (ORIGINALES) --- */
/* =================================================================== */

.cb-booking { --cb-label-color: var(--texto-principal, #1f2937); --cb-field-bg: #fff; --cb-field-text: var(--texto-principal, #1f2937); --cb-field-border: var(--gris-borde, #e5e7eb); --cb-btn-bg: var(--verde, #5f6f52); --cb-btn-text: #fff; --cb-btn-border: var(--verde, #5f6f52); font-family: var(--fuente-principal) !important; }
.cb-booking .widgetHotelsForm .horizontal-widget { display: flex !important; align-items: flex-end !important; gap: 12px !important; flex-wrap: nowrap !important; }
.cb-booking .acessa_widget_block { display: flex !important; flex-direction: column !important; flex: 1 1 0 !important; min-width: 150px !important; }
.cb-booking .acessa_widget_block > p { margin: 0 0 6px !important; font-size: 14px !important; font-weight: 400 !important; color: var(--cb-label-color) !important; }
.cb-booking .widgetHotelsInputText.date { height: 48px !important; padding: 0 14px !important; border: 1px solid var(--cb-field-border) !important; border-radius: 8px !important; background-color: var(--cb-field-bg) !important; color: var(--cb-field-text) !important; font-size: 16px !important; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.cb-booking .widgetHotelsInputText.date:focus { outline: none; border-color: var(--verde) !important; box-shadow: 0 0 0 2px var(--verde-claro, #f0f5ee) !important; }
.cb-booking a.submit_link { display: inline-flex !important; align-items: center !important; justify-content: center !important; height: 48px !important; padding: 0 24px !important; border: 1px solid var(--cb-btn-border) !important; background-color: var(--cb-btn-bg) !important; color: var(--cb-btn-text) !important; text-decoration: none !important; font-size: 16px !important; font-weight: 700 !important; border-radius: 8px !important; transition: background-color 0.2s ease, transform 0.2s ease; }
.cb-booking a.submit_link:hover { background-color: #4a5a41 !important; transform: translateY(-2px); }
.cb-booking.bk-theme-white { --cb-label-color: rgba(255, 255, 255, 0.9); --cb-field-bg: rgba(0, 0, 0, 0.2); --cb-field-text: #fff; --cb-field-border: rgba(255, 255, 255, 0.4); --cb-btn-bg: #fff; --cb-btn-text: var(--texto-principal, #1f2937); --cb-btn-border: #fff; }
.cb-booking.bk-theme-white a.submit_link:hover { background-color: #f0f0f0 !important; }
.cb-booking.bk-theme-white .widgetHotelsInputText.date:focus { border-color: #fff !important; box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.2) !important; }
div.pika-single.is-bound { font-family: var(--fuente-principal) !important; background-color: #fff !important; border: 1px solid var(--gris-borde, #e5e7eb) !important; border-radius: 12px !important; box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important; width: 320px !important; max-width: 95vw !important; z-index: 10001 !important; margin-top: 8px !important; padding: 15px 0 5px 30px !important; }
div.pika-single .pika-title { position: relative !important; display: flex !important; justify-content: center !important; align-items: center !important; padding: 0 !important; margin-bottom: 16px !important; height: 40px !important; }
div.pika-single .pika-select { display: none !important; }
div.pika-single .pika-label { font-family: var(--fuente-headings) !important; font-size: 18px !important; font-weight: 700 !important; color: var(--texto-principal) !important; display: inline !important; padding: 0 4px !important; }
div.pika-single .pika-prev, div.pika-single .pika-next { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; width: 36px !important; height: 36px !important; border: none !important; background-color: transparent !important; border-radius: 50% !important; cursor: pointer !important; transition: background-color 0.2s ease; display: flex !important; justify-content: center !important; align-items: center !important; font-size: 0 !important; color: transparent !important; }
div.pika-single .pika-prev:hover, div.pika-single .pika-next:hover { background-color: #f3f4f6 !important; }
div.pika-single .pika-prev { left: 4px !important; }
div.pika-single .pika-next { right: 4px !important; }
div.pika-single .pika-prev::before, div.pika-single .pika-next::before { content: '' !important; display: block; width: 20px; height: 20px; background-color: var(--texto-principal); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; }
div.pika-single .pika-prev::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z' clip-rule='evenodd' /%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z' clip-rule='evenodd' /%3E%3C/svg%3E"); }
div.pika-single .pika-next::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z' clip-rule='evenodd' /%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z' clip-rule='evenodd' /%3E%3C/svg%3E"); }
div.pika-single .pika-table { width: 100% !important; border-collapse: collapse !important; border-spacing: 0 !important; }
div.pika-single .pika-table th, div.pika-single .pika-table td { padding: 1px !important; border: none !important; }
div.pika-single .pika-table th { font-family: var(--fuente-principal) !important; font-size: 12px !important; font-weight: 600 !important; color: var(--gris-texto, #6b7280) !important; padding-bottom: 8px !important; text-align: center; }
div.pika-single .pika-table th abbr { text-decoration: none !important; }
div.pika-single .pika-button { width: 100% !important; aspect-ratio: 1 / 1; height: auto !important; line-height: normal; display: flex; align-items: center; justify-content: center; border-radius: 50% !important; background: transparent !important; border: none !important; font-size: 15px !important; color: var(--texto-principal) !important; font-weight: 400 !important; transition: all 0.2s ease-in-out; padding: 0 !important; text-align: center; cursor: pointer; }
div.pika-single td:not(.is-disabled) .pika-button:hover { background: var(--verde-claro, #f0f5ee) !important; color: var(--texto-principal) !important; transform: scale(1.05); }
div.pika-single td.is-today .pika-button { font-weight: 700 !important; box-shadow: inset 0 0 0 1px var(--verde); }
div.pika-single td.is-disabled .pika-button { color: var(--gris-deshabilitado, #9ca3af) !important; background: transparent !important; pointer-events: none; cursor: default; text-decoration: none !important; }
div.pika-single td.is-selected .pika-button, div.pika-single td.is-startrange .pika-button, div.pika-single td.is-endrange .pika-button { background: var(--verde) !important; color: #ffffff !important; font-weight: 700 !important; transform: scale(1); }
div.pika-single td.is-selected .pika-button:hover { background: var(--verde) !important; }
div.pika-single td.is-inrange { background: var(--verde-claro, #f0f5ee) !important; border-radius: 0 !important; }
div.pika-single td.is-inrange .pika-button { background: transparent !important; }
div.pika-single td.is-startrange { border-radius: 50px 0 0 50px !important; background-color: var(--verde-claro, #f0f5ee) !important; }
div.pika-single td.is-endrange { border-radius: 0 50px 50px 0 !important; background-color: var(--verde-claro, #f0f5ee) !important; }
div.pika-single td.is-startrange.is-endrange { border-radius: 50px !important; background-color: transparent !important; }
.e-loop-item .cb-booking { width: 100% !important; max-width: none !important; margin-top: 1.5rem; padding: 0 !important; }
.e-loop-item .cb-booking .widgetHotelsForm .horizontal-widget { display: flex !important; flex-wrap: nowrap !important; align-items: flex-end !important; gap: 10px !important; }
.e-loop-item .cb-booking .acessa_widget_block { flex: 1 1 auto !important; }
.e-loop-item .cb-booking a.submit_link { flex: 0 0 auto !important; padding: 0 24px !important; }
.e-loop-item .cb-booking .widgetHotelsInputText.date { height: 48px !important; padding: 0 14px !important; border: 1px solid var(--gris-borde) !important; border-radius: 8px !important; background-color: #fff !important; color: var(--texto-principal) !important; font-size: 16px !important; }
.e-loop-item .cb-booking a.submit_link { height: 48px !important; padding: 0 24px !important; border: 1px solid var(--verde) !important; background-color: var(--verde) !important; color: #fff !important; font-size: 16px !important; font-weight: 700 !important; border-radius: 8px !important; }
@media (min-width: 1025px) { div.pika-single.is-bound { transform: translateX(calc(-50% + 80px)) !important; } }
@media (max-width: 1024px) { div.pika-single.is-bound { left: 50% !important; transform: translateX(-50%) !important; } .cb-booking .widgetHotelsForm .horizontal-widget { flex-wrap: wrap !important; gap: 16px !important; } .cb-booking .acessa_widget_block { width: 100% !important; flex: 1 1 100% !important; } .cb-booking a.submit_link { width: 100% !important; } .cb-booking .acessa_widget_block > p { font-size: 13px !important; } .cb-booking .widgetHotelsInputText.date { height: 44px !important; font-size: 15px !important; } .cb-booking a.submit_link { height: 44px !important; font-size: 15px !important; padding: 0 20px !important; } }
@media (max-width: 767px) { h1 { font-size: 2rem !important; } .retreat-table, .activity-table, .retreat-table thead, .activity-table thead, .retreat-table tbody, .activity-table tbody, .retreat-table th, .activity-table th, .retreat-table td, .activity-table td, .retreat-table tr, .activity-table tr { display: block; } .retreat-table thead tr, .activity-table thead tr { position: absolute; top: -9999px; left: -9999px; } .retreat-table tr, .activity-table tr { margin-bottom: 15px; border: 1px solid var(--gris-borde, #ccc); padding: 10px; } .retreat-table td, .activity-table td { border: none; border-bottom: 1px solid var(--gris-borde, #eee); position: relative; padding-left: 50% !important; text-align: center !important; } .retreat-table td:last-child, .activity-table td:last-child { border-bottom: 0; } .retreat-table td:nth-of-type(1), .activity-table td:nth-of-type(1) { padding-left: 10px !important; text-align: center !important; font-weight: bold; } .retreat-table td:before, .activity-table td:before { position: absolute; top: 10px; left: 10px; width: 45%; padding-right: 10px; white-space: nowrap; font-weight: bold; text-align: left; } .retreat-table td:nth-of-type(1):before, .activity-table td:nth-of-type(1):before { content: ""; } .retreat-table td:nth-of-type(2):before { content: "Mini 2N / 3D"; } .retreat-table td:nth-of-type(3):before { content: "Escape 4N / 5D"; } .retreat-table td:nth-of-type(4):before { content: "Bliss 6N / 7D"; } .activity-table td:nth-of-type(2):before { content: "Mini 2N / 3D"; } .activity-table td:nth-of-type(3):before { content: "Escape 4N / 5D"; } .activity-table td:nth-of-type(4):before { content: "Bliss 6N / 7D"; } .retreat-table .total-price td:before { text-align: center !important; } .retreat-table .total-price td > div { padding-top: 1rem; } .retreat-table tr.total-price td { padding: 10px !important; text-align: center !important; } .retreat-table tr.total-price td > div { display: flex; flex-direction: column; align-items: center; margin-bottom: 10px; } .retreat-table tr.total-price td > div:first-of-type { flex-direction: column; gap: 10px; } .retreat-table tr.total-price td select { width: 100%; max-width: 250px; min-width: 0; margin: 5px 0; } .retreat-table .section-title, .activity-table .section-title { font-size: 1.2rem; text-align: center !important; font-weight: bold; padding: 10px 0 !important; background-color: #f9f9f9; border: none !important; } .retreat-table .section-title[colspan="4"], .activity-table .section-title[colspan="4"] { display: block; width: 100%; padding-left: 0 !important; } }
@media (max-width: 380px) { div.pika-single.is-bound { padding: 12px !important; } div.pika-single .pika-button { font-size: 14px !important; } }
body.post-type-archive-accommodation .e-loop-item .cb-booking .widgetHotelsForm .horizontal-widget, body.page .e-loop-item .cb-booking .widgetHotelsForm .horizontal-widget { display:flex !important; flex-wrap:nowrap !important; align-items:flex-end !important; gap:10px !important; }
body.post-type-archive-accommodation .e-loop-item .cb-booking .acessa_widget_block, body.page .e-loop-item .cb-booking .acessa_widget_block { flex:1 1 auto !important; }
body.post-type-archive-accommodation .e-loop-item .cb-booking .widgetHotelsInputText.date, body.page .e-loop-item .cb-booking .widgetHotelsInputText.date { height:48px !important; padding:0 14px !important; border:1px solid var(--gris-borde) !important; border-radius:8px !important; background:#fff !important; color:var(--texto-principal) !important; font-size:16px !important; transition:border-color .2s ease, box-shadow .2s ease; width:100% !important; }
body.post-type-archive-accommodation .e-loop-item .cb-booking a.submit_link, body.page .e-loop-item .cb-booking a.submit_link { display:inline-flex !important; align-items:center !important; justify-content:center !important; height:48px !important; padding:0 24px !important; border:1px solid var(--verde) !important; background:var(--verde) !important; color:#fff !important; font-size:16px !important; font-weight:700 !important; border-radius:8px !important; text-decoration:none !important; flex:0 0 auto !important; }
body.post-type-archive-accommodation .e-loop-item .cb-booking .widgetHotelsInputText.date:focus, body.page .e-loop-item .cb-booking .widgetHotelsInputText.date:focus { outline:none !important; border-color:var(--verde) !important; box-shadow:0 0 0 2px var(--verde-claro) !important; }
body.post-type-archive-accommodation .e-loop-item .cb-booking a.submit_link:hover, body.page .e-loop-item .cb-booking a.submit_link:hover { background-color:#4a5a41 !important; transform:translateY(-2px); }
@media (max-width:1024px){ body.post-type-archive-accommodation .e-loop-item .cb-booking .widgetHotelsForm .horizontal-widget, body.page .e-loop-item .cb-booking .widgetHotelsForm .horizontal-widget { flex-wrap:wrap !important; gap:16px !important; } body.post-type-archive-accommodation .e-loop-item .cb-booking a.submit_link, body.page .e-loop-item .cb-booking a.submit_link { width:100% !important; height:44px !important; font-size:15px !important; padding:0 20px !important; } }
.calendario-room .horizontal-widget { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 15px; }
.calendario-room .acessa_widget_block { flex: 0 1 180px; }
.calendario-room a.submit_link { margin-top: 0; }
@media (min-width: 768px) { .calendario-room a.submit_link { margin-bottom: 1.5rem !important; } }
@media (max-width: 767px) { .calendario-room a.submit_link { width: 90% !important; margin-top: 1rem; margin-left: auto; margin-right: auto; } }

/* ===== Header sticky con retardo ===== */

.elementor-element-e5212ea {
    transition: background-color 0.4s ease-in-out;
}
.elementor-element-e5212ea img {
    transition: width 0.6s ease-in-out !important; /* CORREGIDO: Se añadió 's' */
}
.elementor-element-e5212ea .elementor-nav-menu--main a.elementor-item {
    transition: font-size 0.6s ease-in-out !important; /* CORREGIDO: Se añadió 's' */
}
.elementor-element-e5212ea .elementor-icon-list-text {
    transition: font-size 0.6s ease-in-out !important; /* CORREGIDO: Se añadió 's' */
}
.elementor-element-e5212ea a.elementor-button {
    transition: font-size 0.6s ease-in-out, padding 0.4s ease-in-out !important; /* CORREGIDO: Se añadió 's' */
}
.header-scrolled {
    position: fixed !important;
    background-color: #5F6F52 !important;
}
.header-scrolled img {
    width: 60% !important;
}
.header-scrolled .elementor-nav-menu--main a.elementor-item {
    font-size: 0.9rem !important;
}
.header-scrolled .elementor-icon-list-text {
    font-size: 0.6rem !important;
}
.header-scrolled .elementor-button {
    font-size: 10px !important;
}

@media (max-width: 780px) {
    .header-scrolled img {
        width: 80% !important;
    }
    .header-scrolled .elementor-icon-list-text {
        font-size: 0.5rem !important;
    }
    .header-scrolled .elementor-button {
        font-size: 0.4rem !important;
    }
    #nk-popup-overlay .nk-bestprice-badge img {
        height: 100px !important;
        width: auto !important;
    }
}

/*
===================================================================
 --- 11. ESTILOS FINALES POP-UP ---
===================================================================
*/

/* --- A. Contenedor Principal (Overlay) --- */
#nk-popup-overlay {
    position: fixed !important; inset: 0 !important; background: transparent !important;
    pointer-events: none !important; display: none;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    z-index: 10000 !important; padding: 20px !important; box-sizing: border-box !important;
}

/* --- B. La Caja del Pop-up --- */
#nk-popup-overlay .nk-popup-box {
    pointer-events: auto !important; display: grid !important; grid-template-columns: 1fr 2fr !important;
    width: 100% !important; max-width: 500px !important; background: #fff !important;
    border-radius: 8px !important; overflow: hidden !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
    animation: nk-popup-slideup-fadein 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative !important;
}

/* --- C. Animación de Entrada --- */
@keyframes nk-popup-slideup-fadein {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* --- D. Columna Izquierda (Imagen) --- */
#nk-popup-overlay .nk-popup-left {
    background-image: url('https://thenamkhan.com/wp-content/uploads/2025/07/Eco-Chic-Lobby-Lounge-%E2%80%93-The-Namkhan-Resort-Laos.jpg') !important;
    background-size: cover !important; background-position: center center !important;
    display: flex !important; flex-direction: column !important; justify-content: space-between !important;
    padding: 15px !important; position: relative !important; z-index: 1 !important;
}
#nk-popup-overlay .nk-popup-left::before {
    content: '' !important; position: absolute !important; inset: 0 !important;
    background-color: rgba(0,0,0,0.35) !important; z-index: 2 !important;
}

/* --- E. Iconos Sociales (Arriba y Centrados) --- */
#nk-popup-overlay .nk-popup-socials {
    position: relative !important; z-index: 3 !important; display: flex !important;
    gap: 10px !important; flex-wrap: wrap !important; width: 100%; justify-content: center;
}
#nk-popup-overlay .nk-popup-socials svg { width: 20px !important; height: 20px !important; fill: #fff !important; color: #FFF; }

/* --- F. IMAGEN BEST PRICE (Abajo y Centrada) --- */
#nk-popup-overlay .nk-bestprice-badge {
    position: relative !important; z-index: 3 !important;
    margin: 10px auto 0 auto;
}
#nk-popup-overlay .nk-bestprice-badge img {
    height: 120px !important;
    width: auto !important;
}

/* --- G. Columna Derecha (Contenido) y Botón X --- */
#nk-popup-overlay .nk-popup-right {
    display: flex !important; flex-direction: column !important; justify-content: center !important;
    padding: 25px !important; position: relative !important;
}
#nk-popup-overlay .nk-popup-close {
    position: absolute !important; right: 8px !important; top: 8px !important; z-index: 10;
    width: 28px !important; height: 28px !important; border: 0 !important; border-radius: 50% !important;
    display: grid !important; place-items: center !important; cursor: pointer !important;
    background: transparent !important; color: #999 !important; font-size: 26px !important;
    line-height: 1 !important; padding: 0 !important;
}
#nk-popup-overlay .nk-popup-close:hover { color: #333 !important; }

/* --- H. Estilos del Formulario --- */
#nk-popup-overlay .nk-popup-title { font-family: 'Arsenal', sans-serif; font-size: 24px !important; font-weight: bold !important; line-height: 1.1 !important; margin: 0 0 10px !important; color: #5f6f52 !important; }

/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
/* --- ERROR CRÍTICO CORREGIDO AQUÍ --- */
#nk-popup-overlay .nk-popup-desc { font-family: 'Lora', serif !important; font-size: 14px !important; color: #344256 !important; margin: 0 0 15px !important; line-height: 1.2 !important; }
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
 
#nk-popup-overlay .nk-popup-btn {
   width: 100% !important;
    border: 2px solid #5F6F52 !important;
    border-radius: 0px !important;
    padding: 12px !important;
    font-weight: bold !important;
    font-size: 15px !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
    background: #02010100 !important;
    color: #5F6F52 !important;
}
#nk-popup-overlay .nk-popup-btn:hover {
    background-color: #5F6F52 !important;
	color: #FFF !important; 
}
#nk-popup-overlay .nk-popup-legal { display: none !important; }

/* --- I. AJUSTES PARA TABLETS Y MÓVILES --- */
@media (max-width: 900px) {
    #nk-popup-overlay {
        justify-content: center !important;
    }
}
@media (max-width: 480px) {
    #nk-popup-overlay .nk-popup-box {
        max-width: 90vw !important; grid-template-columns: 1fr 2.2fr !important;
    }
    #nk-popup-overlay .nk-popup-right { padding: 20px 15px !important; }
    #nk-popup-overlay .nk-popup-title { font-size: 18px !important; }
    #nk-popup-overlay .nk-popup-desc { font-size: 12px !important; } /* He quitado el font-family repetido */
}

#nk-popup-overlay .nk-popup-email-input {
    background-color: #f9f9f9 !important;
    border: 1px solid #dcdcdc !important; 
    border-radius: 0px !important;       
    padding: 10px !important;            
    width: 100% !important;              
    box-sizing: border-box !important;  
    font-size: 12px !important;          
    color: #333333 !important;    
	margin-bottom: 10px !important;
}
#nk-popup-overlay .nk-popup-email-input::placeholder {
    color: #999999 !important;
    opacity: 1;
}
#nk-popup-overlay .nk-popup-email-input:focus {
    outline: none !important;
    border-color: #5f6f52 !important;
    box-shadow: 0 0 0 2px rgba(95, 111, 82, 0.2) !important;
}
	
/* --- ESTILOS PARA LA LISTA DE BIENESTAR (AHORA DEBERÍAN FUNCIONAR) --- */
.wellnes-list .elementor-icon-list-item a {
    display: inline-block;
    background-color: #F6F6F6 !important;
    padding: 10px 20px !important;
    border-radius: 50px !important;
    transition: background-color 0.3s ease;
}
	
.wellnes-list .elementor-icon-list-item a:hover {
    background-color: #e0e0e0 !important;
    color: #000 !important;
}





































/* --- 2. Contenedores y Layout Principal --- */
.nk-wellness-section {
    padding: 5rem 0 !important;
    position: relative !important;
    overflow-x: hidden !important;
}

.nk-container {
    width: 90% !important;
    max-width: 1100px !important; /* Ancho para pantallas portátiles y grandes */
    margin: 0 auto !important;
    position: relative !important;
}

/* --- 3. Tipografía Global --- */
.nk-wellness-section h2,
.nk-wellness-section h3 {
    font-family: var(--fuente-headings) !important;
    color: var(--texto-principal) !important;
    text-align: center !important;
    margin: 0 auto 1.5rem auto !important;
    max-width: 700px !important;
}

.nk-wellness-section h2 {
    font-size: 2.8rem !important;
}

.nk-wellness-section p {
    font-family: var(--fuente-principal) !important;
    color: var(--gris-texto) !important;
    line-height: 1.7 !important;
    font-weight: 400 !important;
}

/*
===================================================================
===          ESTILOS ESPECÍFICOS DE CADA SECCIÓN                ===
===================================================================
*/

/* --- 4. Quick Nav [nk_wellness_quicknav] --- */
#quick-nav {
    padding: 15px 0 !important;
    position: sticky !important;
    top: 80px !important; /* Ajusta según la altura de tu header */
    z-index: 99 !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    width: 100vw !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08) !important;
}

#quick-nav .nk-container {
    max-width: 1100px !important; /* Mismo ancho que el resto del contenido */
    padding: 0 20px !important;
}

#quick-nav .wrap {
    display: flex !important;
    justify-content: center !important;
    gap: 12px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
}
#quick-nav .wrap::-webkit-scrollbar { display: none !important; }

#quick-nav a {
    flex-shrink: 0 !important;
    padding: 10px 18px !important;
    border-radius: 999px !important;
    background-color: #F6F6F6 !important;
    border: 1px solid #EAEAEA !important;
    color: #555 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
#quick-nav a:hover {
    transform: translateY(-2px) !important;
    color: #000 !important;
}
#quick-nav a.active {
    background-color: #0A1A14 !important;
    color: #fff !important;
    border-color: transparent !important;
}

/* --- Pantallas Extra Grandes --- */
@media (min-width: 1600px) {
    .nk-container,
    #quick-nav .nk-container {
        max-width: 1400px !important; /* Contenido más ancho */
    }
}

/* --- Tablets y Móviles --- */
@media (max-width: 967px) {
    .nk-wellness-section {
        padding: 1rem 0 !important;
    }
    .nk-container {
        width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .nk-wellness-section h2 {
        font-size: 2.2rem !important;
    }

    /* Ajustes específicos para Quick Nav en móvil */
    #quick-nav {
        top: 60px !important; /* Ajustar si el header móvil es más pequeño */
    }
    #quick-nav .wrap {
        justify-content: flex-start !important;
    }
     .nk-section-padded .nk-container .nk-facility-row .nk-facility-text h3{ margin-bottom: 10px !important; font-size: 1.4rem;}
          .nk-section-padded .nk-container .nk-facility-row .nk-facility-text p {font-size: 0.9rem;}
     .nk-section-padded .nk-container .nk-facility-row .nk-facility-text{ padding-bottom: 1rem;}
    .nk-section-padded { padding-bottom: 0 !important;}
    #nk-spa-menu-interactive .nk-tab-nav{ margin: 0;}
 #nk-spa-menu-interactive h3 { margin: 1rem !important;}
  #nk-spa-menu-interactive .nk-tab-nav { gap: 5px; padding-left: 8px !important;}
   #nk-spa-menu-interactive .nk-spa-tab{ font-size: 0.8rem; padding: 8px 16px;}
   #tab-laotian .nk-treatments-grid{ gap: 1rem !important; }
}



@media (max-width: 967px) {

    /* --- A. LAYOUT Y TIPOGRAFÍA GLOBAL PARA MÓVIL --- */
    .nk-wellness-section {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .nk-container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .nk-wellness-section h2,
    .nk-wellness-section .nk-section-title {
        font-size: 2.2rem !important;
        margin-bottom: 2rem !important;
    }

    /* --- B. AJUSTES ESPECÍFICOS PARA CADA SHORTCODE --- */

    /* [nk_wellness_quicknav] */
    #quick-nav {
        top: 60px !important;
    }
    #quick-nav .wrap {
        justify-content: flex-start !important;
    }

    /* [namkhan_spa_interactive_menu] */
    #spa-sanctuaries .nk-facility-row {
        gap: 1.5rem !important;
    }
    #spa-sanctuaries .nk-facility-text h3 {
        font-size: 1.8rem !important;
        margin-bottom: 0.75rem !important;
    }

    #spa-menu {
        padding-top: 3rem !important; /* Mantiene la separación de la sección anterior */
    }
    #spa-menu .nk-tab-nav {
        gap: 8px !important;
        margin-bottom: 2.5rem !important; /* Espacio adecuado antes de las tarjetas */
    }
    #spa-menu .nk-tab-nav button {
        font-size: 0.9rem !important;
        padding: 10px 18px !important;
    }
    #spa-menu .nk-treatments-grid {
        gap: 1.5rem !important;
    }
    #spa-menu.bg-light-earth { padding-top: 0 !important; }
.nk-treatment-card h5{ font-size: 0.9rem !important; text-transform: uppercase !important; font-weight: 700 !important;}
    .nk-treatment-card h5{ font-size: 0.9rem !important; text-transform: uppercase !important; font-weight: 700 !important;}
    .nk-wellness-wrapper p { font-size: 1rem !important;}
    .collage-img-3, .collage-img-2 {z-index: 99 !important;  border: 2px solid #FFF !important;}
    .nk-wellness-section{ padding-top: 1rem !important;}
    .nk-practices-header h3{ font-size: 1.4rem !important;    }
    .nk-wellness-container .nk-practices-header{ margin-bottom: 3rem !important;}
    .nk-slide-details .cta-button{ margin-bottom: 1rem !important;}
    .nk-practice-content-box h4 { font-size:1.2rem !important;} 
    .nk-wellness-section .nk-pools-hero{ display: none !important;}
    #pools{ padding-top: 0 !important ;}
    #pools h3 { font-size: 1.4rem !important;}
    .nk-card-content-wrapper h4{ color: #FFF;}
    .nk-booking-area { padding: 0 !important; margin: 0 !important;}
    .nk-retreat-dossier { margin-bottom: 2rem !important;}
    
    
    
}
.nk-wellness-section .nk-hero-content p { color: #FFF !important;}
    .nk-card-content-wrapper h4{ color: #FFF !important; }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    