/*
 Theme Name:   Physeo Child
 Theme URI:    https://physeo.wpengine.com/
 Description:  Physeo Child Theme
 Author:       the WeDesignTech team
 Author URI:   https://wedesignthemes.com/
 Template:     physeo
 Version:      1.0.0
 Text Domain:  physeo-child
 Tested up to: 6.8 
 Requires PHP: 7.4
 Tags: Blog,Portfolio
 License: GNU General Public License v2 or later License URI: https: //www.gnu.org/licenses/gpl-2.0.html
 Copyright (C) 2025 designthemes. All rights reserved.
*/
/* ===========================================================
   EMANA · Color de pregunta activa en acordeones FAQ
   Sustituye el color por defecto del widget wdt-accordion-and-toggle
   por el burdeos hover oficial EMANA (#5e1326).
   Aplica a TODOS los acordeones de la web (5 padres + 26 hijas + soporte).
   =========================================================== */
/**
 * EMANA — FAQ accordion (WeDesignTech)
 * Override --wdtHeadAltColor del tema padre Physeo (verde #1F3D3F)
 * solo en estados activo/hover del accordion. Selectores reales del DOM
 * jQuery UI (no .wdt-active). Ver C.1 para diagnóstico.
 */
.wdt-accordion-toggle-title-holder.ui-state-active .wdt-accordion-toggle-title,
.wdt-accordion-toggle-title-holder.ui-state-hover .wdt-accordion-toggle-title,
.wdt-accordion-toggle-title-holder.ui-state-active .wdt-accordion-toggle-icon,
.wdt-accordion-toggle-title-holder.ui-state-hover .wdt-accordion-toggle-icon {
    color: #5e1326 !important;
}

/**
 * EMANA — Sidebar Servicio (shortcode [emana_sidebar_servicio])
 * Diseño replicado del widget WDT de la página ATM tuneada.
 * Color de fondo: #99324A (burdeos suave) + textura ondulada.
 */

/* Reset suave dentro del scope sidebar para no heredar márgenes raros de Elementor */
.elementor-widget-shortcode .emana-sidebar-servicio,
.emana-sidebar-servicio {
    width: 100%;
    margin: 0;
    padding: 0;
}

.emana-sidebar-servicio .emana-sidebar-card {
    background-color: #99324A;
    background-image: url("assets/img/sidebar-bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 40px;
    padding: 60px;
    color: #ffffff;
    box-shadow: 0 8px 24px rgba(126, 26, 50, 0.18);
}

@media (max-width: 1366px) {
    .emana-sidebar-servicio .emana-sidebar-card {
        padding: 40px;
    }
}
@media (max-width: 1024px) {
    .emana-sidebar-servicio .emana-sidebar-card {
        padding: 30px;
    }
}

.emana-sidebar-servicio .emana-sidebar-bloque {
    margin-bottom: 0;
}
.emana-sidebar-servicio .emana-sidebar-bloque--titulo {
    padding-bottom: 20px;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}
.emana-sidebar-servicio .emana-sidebar-bloque--contacto {
    padding-bottom: 40px;
}
.emana-sidebar-servicio .emana-sidebar-bloque--servicios {
    padding-top: 10px;
}

.emana-sidebar-servicio .emana-sidebar-titulo {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 35px;
    font-weight: 600;
    line-height: 1.2;
    color: #ffffff !important;
    margin: 0;
}

.emana-sidebar-servicio .emana-sidebar-titulo--servicios {
    font-size: 33px;
    font-weight: 700;
    margin-bottom: 18px;
}

/* Bloque contacto: 2 columnas en desktop, 1 en móvil */
.emana-sidebar-servicio .emana-sidebar-contacto {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

@media (max-width: 480px) {
    .emana-sidebar-servicio .emana-sidebar-contacto {
        grid-template-columns: 1fr;
    }
}

.emana-sidebar-servicio .emana-sidebar-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.emana-sidebar-servicio .emana-sidebar-info-label {
    font-family: "DM Sans", sans-serif !important;
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: 0.01em;
}

.emana-sidebar-servicio .emana-sidebar-info-value {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: "DM Sans", sans-serif !important;
    font-size: 17px;
    font-weight: 500;
    color: #ffffff !important;
    text-decoration: none;
    line-height: 1.3;
}

.emana-sidebar-servicio .emana-sidebar-info-value--link:hover {
    color: #d9af5b !important;
}

.emana-sidebar-servicio .emana-sidebar-icono {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    flex-shrink: 0;
}

.emana-sidebar-servicio .emana-sidebar-icono svg {
    width: 16px;
    height: 16px;
    color: #ffffff;
}

/* Lista de servicios */
.emana-sidebar-servicio .emana-sidebar-servicios {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.emana-sidebar-servicio .emana-sidebar-servicio-item {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.4;
    padding: 8px 0 8px 22px;
    margin: 0 !important;
    position: relative;
    list-style: none !important;
}

.emana-sidebar-servicio .emana-sidebar-servicio-item::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 7px;
    color: #d9af5b;
    font-size: 24px;
    line-height: 1;
}

.emana-sidebar-servicio .emana-sidebar-servicio-item a {
    color: #ffffff !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.emana-sidebar-servicio .emana-sidebar-servicio-item a:hover {
    color: #d9af5b !important;
}

.emana-sidebar-servicio .emana-sidebar-servicio-item.is-active {
    font-weight: 500;
}

.emana-sidebar-servicio .emana-sidebar-servicio-item.is-active span {
    color: #d9af5b !important;
}

/**
 * EMANA - Enlaces dentro de parrafos de contenido (text-editor + FAQ accordion)
 * Color burdeos principal #7e1a32 con subrayado para destacar links internos.
 * Aplica a:
 *   - <a> dentro de cualquier elementor-widget-text-editor (paginas servicio, blog, etc.)
 *   - <a> dentro de las respuestas del accordion FAQ (wdt-accordion-toggle-description)
 */
.elementor-widget-text-editor p a,
.elementor-widget-text-editor li a,
.wdt-accordion-toggle-description a,
.wdt-accordion-toggle-description p a {
    color: #7e1a32;
    text-decoration: underline;
    text-underline-offset: 0.18em;
    text-decoration-thickness: 1px;
    transition: color 0.2s ease;
}

.elementor-widget-text-editor p a:hover,
.elementor-widget-text-editor li a:hover,
.wdt-accordion-toggle-description a:hover,
.wdt-accordion-toggle-description p a:hover {
    color: #5e1326;
    text-decoration: underline;
}

/**
 * EMANA - Tamaño H1 unificado: padres dt_service (5) + hijas page del silo (26).
 *
 * Sin esta regla, las páginas que NO son single-dt_service usan el default del
 * tema padre Physeo (--wdtFontSize_H1 = 64px), mucho más grande que el resto
 * de headings (H2 = 44px). Aquí forzamos H1 = 44px para igualar al H2 en todas
 * las páginas del silo: tanto los 5 padres CPT como las 26 hijas (page con
 * post_parent en {1923,1924,1925,1926,1927}).
 *
 * Body classes que cubre:
 *   .single-dt_service              → los 5 padres CPT
 *   .parent-pageid-{1923..1927}     → cada hija lleva su parent en body class
 *
 * Resto de headings (H2/H3/H4/H5/H6/body) ya son idénticos en padre y hijas
 * porque ambos heredan las variables --wdtFontSize_* del tema padre Physeo.
 */
.single-dt_service h1.wdt-heading-title,
.single-dt_service .wdt-heading-holder h1,
.parent-pageid-1923 h1.wdt-heading-title,
.parent-pageid-1924 h1.wdt-heading-title,
.parent-pageid-1925 h1.wdt-heading-title,
.parent-pageid-1926 h1.wdt-heading-title,
.parent-pageid-1927 h1.wdt-heading-title,
.parent-pageid-1923 .wdt-heading-holder h1,
.parent-pageid-1924 .wdt-heading-holder h1,
.parent-pageid-1925 .wdt-heading-holder h1,
.parent-pageid-1926 .wdt-heading-holder h1,
.parent-pageid-1927 .wdt-heading-holder h1 {
    font-size: 44px;
    line-height: 1.15;
}
@media (max-width: 1024px) {
    .single-dt_service h1.wdt-heading-title,
    .single-dt_service .wdt-heading-holder h1,
    .parent-pageid-1923 h1.wdt-heading-title,
    .parent-pageid-1924 h1.wdt-heading-title,
    .parent-pageid-1925 h1.wdt-heading-title,
    .parent-pageid-1926 h1.wdt-heading-title,
    .parent-pageid-1927 h1.wdt-heading-title,
    .parent-pageid-1923 .wdt-heading-holder h1,
    .parent-pageid-1924 .wdt-heading-holder h1,
    .parent-pageid-1925 .wdt-heading-holder h1,
    .parent-pageid-1926 .wdt-heading-holder h1,
    .parent-pageid-1927 .wdt-heading-holder h1 { font-size: 36px; }
}
@media (max-width: 600px) {
    .single-dt_service h1.wdt-heading-title,
    .single-dt_service .wdt-heading-holder h1,
    .parent-pageid-1923 h1.wdt-heading-title,
    .parent-pageid-1924 h1.wdt-heading-title,
    .parent-pageid-1925 h1.wdt-heading-title,
    .parent-pageid-1926 h1.wdt-heading-title,
    .parent-pageid-1927 h1.wdt-heading-title,
    .parent-pageid-1923 .wdt-heading-holder h1,
    .parent-pageid-1924 .wdt-heading-holder h1,
    .parent-pageid-1925 .wdt-heading-holder h1,
    .parent-pageid-1926 .wdt-heading-holder h1,
    .parent-pageid-1927 .wdt-heading-holder h1 { font-size: 28px; }
}

/**
 * EMANA — Override text-transform global del tema padre Physeo y plugins WDT.
 * 
 * Problema detectado: el demo Physeo aplica `text-transform: capitalize` a:
 *  - h1, h2, h3, h4, h5, h6 globales (theme.css:66 del tema padre)
 *  - widgets WDT heading/image-box/testimonial/counter/animation/button
 *  - .elementor-button
 * 
 * En castellano esto rompe la naturalidad ("Cinco Especialidades" vs
 * "Cinco especialidades"). Forzamos `none` para respetar la capitalización
 * natural de cada texto.
 * 
 * Se mantiene `uppercase` donde el demo lo pone explícitamente (eyebrows,
 * firma autor, decoraciones) porque esos selectores son distintos.
 */

/* Headings globales (theme.css del padre fija capitalize en h1-h6) */
h1, h2, h3, h4, h5, h6 {
    text-transform: none !important;
}

/* Headings y contenidos de widgets WeDesignTech */
.wdt-heading-title-wrapper,
.wdt-heading-title,
.wdt-heading-subtitle,
.wdt-content-title,
.wdt-content-title h5,
.wdt-content-subtitle,
.wdt-content-description,
.wdt-content-item .wdt-content-title h5,
.wdt-counter-holder .wdt-content-title h5,
.wdt-testimonial-holder .wdt-content-description,
.wdt-testimonial-holder .wdt-content-title h5,
.wdt-testimonial-holder .wdt-content-title h5 a,
.wdt-testimonial-holder .wdt-content-subtitle,
.wdt-animation .wdt-animation-text {
    text-transform: none !important;
}

/* Botones WDT y Elementor */
.wdt-button,
.wdt-button-holder .wdt-button,
.elementor-button {
    text-transform: none !important;
}

/* Fix legibilidad subtítulo testimonio (item_sub_title) — el demo asume 
   fondo oscuro y aplica color blanco; en EMANA va sobre fondo claro */
.wdt-testimonial-holder .wdt-content-subtitle {
    color: #5e1326 !important;
    opacity: 0.85;
}

/* ============================================================
   Patch capitalize override v2 — split_heading WDT
   Causa: widget wdt-heading con split_heading=true crea spans
   .wdt-heading-colored-elements + .wdt-split-heading-title
   con text-transform: capitalize propio que el patch v1 no cubría.
   Aplicado: 08/05/2026
   ============================================================ */
.wdt-heading-title-wrapper,
.wdt-heading-title,
.wdt-heading-colored-elements,
.wdt-split-heading-title {
    text-transform: none !important;
}


/* ============================================================================
   === VÍA 37 (2026-05-24) — Header responsive en monitores grandes ==========
   ============================================================================
   Los containers raíz del header (post 119) tienen boxed_width:1690 configurado
   en BD desde el demo Physeo, pero Elementor no emite la regla CSS — los
   contenedores caen al max-width genérico del tema (~1140px). Forzamos el
   valor real solo cuando el viewport ≥1600px (monitores 24"+ típicos).
   Por debajo, mantiene comportamiento nativo de Physeo intacto.
   ============================================================================ */
@media (min-width: 1600px) {
  .elementor-element.elementor-element-4daf8af,
  .elementor-element.elementor-element-9830aaa {
    max-width: 1690px;
  }
}

/* ============================================================================
   === VÍA 37 — Botón "Reserva tu cita" del header en 1 línea ===============
   ============================================================================
   El widget wdt-button creado en VÍA 35 (insertado en el header post 119)
   tiene ID #wdt-button-62f5c01. En monitores grandes el texto "Reserva tu
   cita" se partía en 2 líneas dentro de la píldora burdeos. Forzamos 1 línea.

   ADVERTENCIA — DEUDA TÉCNICA DOCUMENTADA:
   Este selector está acoplado al ID concreto del widget. Si en el futuro
   Elementor regenera el _elementor_data del post 119 (por ejemplo, al
   guardar el header desde el editor visual), el ID 62f5c01 puede cambiar
   y este selector dejará de aplicar — el botón volverá a partirse en 27".
   En ese caso: detectar visualmente y actualizar el ID aquí mismo.
   ============================================================================ */
#wdt-button-62f5c01 .wdt-button-text {
  white-space: nowrap;
}