.elementor-kit-324{--e-global-color-primary:#00B2A9;--e-global-color-secondary:#C9B8A8;--e-global-color-text:#2B2B2B;--e-global-color-accent:#00726C;--e-global-color-bkhover:#005A55;--e-global-color-bkvelo:#E6F6F5;--e-global-color-bkarenao:#7F6A58;--e-global-color-bkcrema:#F7F5F2;--e-global-color-bkborde:#E8E3DC;--e-global-color-bkambar:#F5B942;--e-global-color-bkoscuro:#1A1A1A;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:-0.4px;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:1.2px;--e-global-typography-f9be18b-font-family:"Poppins";--e-global-typography-f9be18b-font-size:48px;--e-global-typography-f9be18b-font-weight:600;--e-global-typography-f9be18b-line-height:1.15em;--e-global-typography-f9be18b-letter-spacing:-0.5px;--e-global-typography-7631666-font-family:"Poppins";--e-global-typography-7631666-font-size:34px;--e-global-typography-7631666-font-weight:600;--e-global-typography-7631666-line-height:1.15em;--e-global-typography-7631666-letter-spacing:-0.5px;--e-global-typography-b2b8c7a-font-family:"Poppins";--e-global-typography-b2b8c7a-font-size:25px;--e-global-typography-b2b8c7a-font-weight:600;--e-global-typography-b2b8c7a-line-height:1em;--e-global-typography-f30ab09-font-family:"Poppins";--e-global-typography-f30ab09-font-size:23px;--e-global-typography-f30ab09-font-weight:600;--e-global-typography-f30ab09-line-height:1em;--e-global-typography-ab847fc-font-family:"Poppins";--e-global-typography-ab847fc-font-size:21px;--e-global-typography-ab847fc-font-weight:600;--e-global-typography-ab847fc-line-height:1em;--e-global-typography-d781418-font-family:"Poppins";--e-global-typography-d781418-font-size:17px;--e-global-typography-d781418-font-weight:600;--e-global-typography-d781418-line-height:1em;--e-global-typography-e2cfe1a-font-family:"Poppins";--e-global-typography-e2cfe1a-font-size:17px;--e-global-typography-e2cfe1a-font-weight:600;--e-global-typography-e2cfe1a-line-height:2.5em;--e-global-typography-8a91918-font-family:"Poppins";--e-global-typography-8a91918-font-size:18px;--e-global-typography-8a91918-font-weight:600;--e-global-typography-8a91918-line-height:1em;--e-global-typography-b27a331-font-family:"Poppins";--e-global-typography-b27a331-font-size:40px;--e-global-typography-b27a331-font-weight:600;--e-global-typography-b27a331-line-height:1.15em;--e-global-typography-b27a331-letter-spacing:-0.5px;--e-global-typography-4fab140-font-family:"Poppins";--e-global-typography-4fab140-font-size:52px;--e-global-typography-4fab140-font-weight:600;--e-global-typography-4fab140-text-transform:none;--e-global-typography-4fab140-line-height:1.15em;--e-global-typography-4fab140-letter-spacing:-0.5px;--e-global-typography-8688051-font-family:"Inter";--e-global-typography-8688051-font-size:18px;--e-global-typography-8688051-font-weight:400;--e-global-typography-8163cf4-font-family:"Inter";--e-global-typography-8163cf4-font-size:16px;--e-global-typography-8163cf4-font-weight:400;--e-global-typography-8163cf4-line-height:1em;--e-global-typography-6bb23a7-font-family:"Inter";--e-global-typography-6bb23a7-font-size:44px;--e-global-typography-6bb23a7-font-weight:600;--e-global-typography-6bb23a7-line-height:1.15em;--e-global-typography-6bb23a7-letter-spacing:-0.5px;--e-global-typography-0594294-font-family:"Inter";--e-global-typography-0594294-font-size:20px;--e-global-typography-0594294-font-weight:400;--e-global-typography-0594294-line-height:1.5em;--e-global-typography-ad08aa6-font-family:"Poppins";--e-global-typography-ad08aa6-font-size:21px;--e-global-typography-ad08aa6-font-weight:600;--e-global-typography-ad08aa6-line-height:1.4em;--e-global-typography-ce60656-font-family:"Poppins";--e-global-typography-ce60656-font-size:150px;--e-global-typography-ce60656-font-weight:600;--e-global-typography-ce60656-line-height:1.15em;--e-global-typography-ce60656-letter-spacing:-0.5px;--e-global-typography-6fbbc70-font-family:"Inter";--e-global-typography-6fbbc70-font-size:17px;--e-global-typography-6fbbc70-font-style:italic;--e-global-typography-6fbbc70-line-height:1.5em;--e-global-typography-e378e23-font-family:"Inter";--e-global-typography-e378e23-font-size:16px;--e-global-typography-e378e23-font-weight:600;}.elementor-kit-324 button,.elementor-kit-324 input[type="button"],.elementor-kit-324 input[type="submit"],.elementor-kit-324 .elementor-button{background-color:#00726C;font-family:"Inter", sans-serif;font-size:16px;font-weight:400;color:#FFFFFF;border-style:solid;border-width:0px 0px 0px 0px;border-radius:50px 50px 50px 50px;padding:15px 35px 15px 35px;}.elementor-kit-324 button:hover,.elementor-kit-324 button:focus,.elementor-kit-324 input[type="button"]:hover,.elementor-kit-324 input[type="button"]:focus,.elementor-kit-324 input[type="submit"]:hover,.elementor-kit-324 input[type="submit"]:focus,.elementor-kit-324 .elementor-button:hover,.elementor-kit-324 .elementor-button:focus{background-color:#005A55;color:#FFFFFF;}.elementor-kit-324 e-page-transition{background-color:#FFBC7D;}.elementor-kit-324 a{color:#00726C;font-family:"Inter", sans-serif;font-size:16px;font-weight:400;}.elementor-kit-324 a:hover{color:#005A55;}.elementor-kit-324 h2{font-family:"Poppins", sans-serif;font-weight:600;}.elementor-kit-324 label{color:#2B2B2B;font-family:"Inter", sans-serif;font-size:16px;font-weight:400;line-height:2.2em;}.elementor-kit-324 input:not([type="button"]):not([type="submit"]),.elementor-kit-324 textarea,.elementor-kit-324 .elementor-field-textual{font-family:"Inter", sans-serif;font-size:16px;font-weight:400;color:#2B2B2B;border-radius:10px 10px 10px 10px;padding:13px 18px 13px 18px;}.elementor-kit-324 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-324 textarea:focus,.elementor-kit-324 .elementor-field-textual:focus{color:#2B2B2B;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-324{--e-global-typography-text-font-size:16px;--e-global-typography-f9be18b-font-size:42px;--e-global-typography-f9be18b-line-height:1em;--e-global-typography-7631666-font-size:31px;--e-global-typography-7631666-line-height:1em;--e-global-typography-b2b8c7a-font-size:23px;--e-global-typography-b2b8c7a-line-height:1em;--e-global-typography-f30ab09-font-size:21px;--e-global-typography-f30ab09-line-height:1em;--e-global-typography-ab847fc-font-size:20px;--e-global-typography-ab847fc-line-height:1em;--e-global-typography-d781418-font-size:16px;--e-global-typography-e2cfe1a-font-size:16px;--e-global-typography-8a91918-font-size:17px;--e-global-typography-b27a331-font-size:36px;--e-global-typography-4fab140-font-size:44px;--e-global-typography-8688051-font-size:17px;--e-global-typography-8163cf4-font-size:16px;--e-global-typography-6bb23a7-font-size:40px;--e-global-typography-0594294-font-size:19px;--e-global-typography-ad08aa6-font-size:20px;--e-global-typography-ce60656-font-size:110px;--e-global-typography-6fbbc70-font-size:16px;--e-global-typography-e378e23-font-size:15px;}.elementor-kit-324 button,.elementor-kit-324 input[type="button"],.elementor-kit-324 input[type="submit"],.elementor-kit-324 .elementor-button{font-size:12px;}.elementor-kit-324 label{font-size:12px;}.elementor-kit-324 input:not([type="button"]):not([type="submit"]),.elementor-kit-324 textarea,.elementor-kit-324 .elementor-field-textual{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-324{--e-global-typography-text-font-size:16px;--e-global-typography-f9be18b-font-size:34px;--e-global-typography-7631666-font-size:27px;--e-global-typography-b2b8c7a-font-size:21px;--e-global-typography-f30ab09-font-size:20px;--e-global-typography-ab847fc-font-size:19px;--e-global-typography-d781418-font-size:16px;--e-global-typography-e2cfe1a-font-size:16px;--e-global-typography-8a91918-font-size:16px;--e-global-typography-b27a331-font-size:30px;--e-global-typography-4fab140-font-size:34px;--e-global-typography-8688051-font-size:16px;--e-global-typography-8163cf4-font-size:16px;--e-global-typography-6bb23a7-font-size:36px;--e-global-typography-0594294-font-size:17px;--e-global-typography-ad08aa6-font-size:19px;--e-global-typography-ce60656-font-size:72px;--e-global-typography-6fbbc70-font-size:16px;--e-global-typography-e378e23-font-size:15px;}.elementor-kit-324 button,.elementor-kit-324 input[type="button"],.elementor-kit-324 input[type="submit"],.elementor-kit-324 .elementor-button{font-size:14px;}.elementor-kit-324 label{font-size:14px;}.elementor-kit-324 input:not([type="button"]):not([type="submit"]),.elementor-kit-324 textarea,.elementor-kit-324 .elementor-field-textual{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Baraka — accesibilidad y ajustes finos. Editable en Elementor > Ajustes del sitio > CSS personalizado. */

/* Foco visible por teclado (WCAG 2.4.7). Solo con teclado, no al hacer clic. */
:focus-visible {
    outline: 3px solid var(--e-global-color-accent, #00726C);
    outline-offset: 3px;
    border-radius: 3px;
}
.elementor-button:focus-visible,
.e-loop-item a:focus-visible {
    outline: 3px solid var(--e-global-color-primary, #00B2A9);
    outline-offset: 4px;
}

/* Sin desbordamiento horizontal en ningun breakpoint (regla 4.2 de la skill). */
html, body { overflow-x: hidden; max-width: 100%; }
img, video, iframe { max-width: 100%; height: auto; }

/* Los titulares de las tarjetas del bucle son enlaces: sin subrayado, con color al pasar. */
.e-loop-item .elementor-widget-heading a {
    text-decoration: none;
    transition: color .2s ease;
}
.e-loop-item .elementor-widget-heading a:hover,
.e-loop-item .elementor-widget-heading a:focus-visible {
    color: var(--e-global-color-accent, #00726C);
}

/* Tarjetas del bucto: elevacion sutil al pasar. */
.e-loop-item > .e-con { transition: transform .25s ease, box-shadow .25s ease; }
.e-loop-item > .e-con:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(43,43,43,.13); }

/* Menu: sin saltos de linea antiesteticos (regla 4.2 de la skill). */
.elementor-nav-menu > li > a { white-space: nowrap; }

/* Carruseles y pestanas: ocultar la barra de desplazamiento nativa. */
.elementor-swiper, .e-con [class*="carousel"] { scrollbar-width: none; }
.elementor-swiper::-webkit-scrollbar, .e-con [class*="carousel"]::-webkit-scrollbar { display: none; }

/* Respetar la preferencia de movimiento reducido del sistema. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* === BARAKA: rejilla de servicios === */

/* Rejilla uniforme: todas las tarjetas a la misma altura. */
.elementor-widget-loop-grid .elementor-grid { align-items: stretch; }
.e-loop-item { margin-top: 0 !important; }

/* Imagen cuadrada y recortada, nunca deformada. */
.bk-card-img { overflow: hidden; line-height: 0; }
.bk-card-img img {
    width: 100%;
    display: block;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transition: transform .6s cubic-bezier(.22,.61,.36,1);
}
.e-loop-item > .e-con:hover, .bk-card-servicio:hover .bk-card-img img { transform: scale(1.06); }

/* La tarjeta ocupa toda la celda para que las filas cuadren. */
.e-loop-item > .e-con,
.e-loop-item > .e-con, .bk-card-servicio { height: 100%; }

/* Elevacion al pasar, como en el resto del sitio. */
.e-loop-item > .e-con, .bk-card-servicio { transition: transform .3s ease, box-shadow .3s ease; }
.e-loop-item > .e-con:hover, .bk-card-servicio:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(43,43,43,.15);
}

/* El titulo es un enlace: sin subrayado, con color al pasar. */
.bk-card-servicio .elementor-widget-heading a { text-decoration: none; transition: color .25s ease; }
.e-loop-item > .e-con:hover, .bk-card-servicio:hover .elementor-widget-heading a { color: var(--e-global-color-accent, #00726C); }

/* La flecha del boton acompana el movimiento. */
.bk-card-btn .elementor-button-icon { transition: transform .25s ease; }
.e-loop-item > .e-con:hover, .bk-card-servicio:hover .bk-card-btn .elementor-button-icon { transform: translateX(4px); }

/* Quien prefiera menos movimiento, no lo tiene (WCAG 2.3.3). */
@media (prefers-reduced-motion: reduce) {
    .e-loop-item > .e-con, .bk-card-servicio,
    .bk-card-img img,
    .bk-card-btn .elementor-button-icon { transition: none !important; transform: none !important; }
    .e-loop-item > .e-con:hover, .bk-card-servicio:hover { transform: none !important; }
    .e-loop-item > .e-con:hover, .bk-card-servicio:hover .bk-card-img img { transform: none !important; }
}
/* === fin rejilla === */

/* === BARAKA: botones ===
   hello-elementor aplica .page-content a{text-decoration:underline} (0,1,1),
   que ganaba a .elementskit-btn. Se sube la especificidad a (0,2,1). */
.page-content a.elementor-button,
.page-content a.elementskit-btn,
.page-content a.ekit-double-btn,
.page-content .e-loop-item a,
.elementor a.elementor-button,
.elementor a.elementskit-btn,
.elementor a.ekit-double-btn { text-decoration: none; }
/* El texto no debe partirse ni salirse de la pastilla. */
.elementskit-btn, .ekit-double-btn, .elementor-button { white-space: nowrap; }
@media (max-width: 480px) {
    .elementskit-btn, .ekit-double-btn, .elementor-button { white-space: normal; }
}
/* === fin botones === */

/* === BARAKA: collage ===
   Dos imagenes grandes superpuestas en lugar de cuatro miniaturas. */
.bk-collage-a img, .bk-collage-b img { width: 100%; display: block; object-fit: cover; }
.bk-collage-a img { aspect-ratio: 4 / 5; }
.bk-collage-b img { aspect-ratio: 1 / 1; border: 8px solid #fff; }
/* En movil se apilan y se quita el solape, que ahi no cabe. */
@media (max-width: 767px) {
    .bk-collage-a img { aspect-ratio: 4 / 3; }
    .bk-collage-b img { aspect-ratio: 4 / 3; border-width: 6px; }
}
/* === fin collage === */

/* === BARAKA: par de botones ===
   "Conocenos" es de ElementsKit y "Reservar cita" de Elementor: cada widget
   trae sus propios controles. El padding se iguala en cada uno; aqui se
   neutraliza el max-width:auto invalido que genera Elementor (colapsaba el
   widget a 0 y partia el texto) y se alinean caja, icono y altura. */
.elementor-widget.bk-btn-par { width: auto; max-width: none; }
.bk-btn-par .elementor-button,
.bk-btn-par .elementskit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    line-height: 1.6;
    white-space: nowrap;
    box-sizing: border-box;
    border-style: solid;
    border-width: 1px;
}
/* El macizo lleva borde transparente para igualar altura con el perfilado. */
.elementor-widget.bk-btn-par .elementskit-btn { border-color: transparent; }
.bk-btn-par .elementor-button-icon,
.bk-btn-par .elementskit-btn i { margin: 0; }
/* === fin par === */

/* === BARAKA: imagenes de tarjeta ===
   Misma relacion de aspecto para que las columnas cuadren entre si. */
.bk-img-card img {
    width: 100%;
    display: block;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
/* === fin imagenes === */

/* === BARAKA: pie ===
   Los enlaces del pie heredaban 16px del estilo global mientras el texto
   que los rodea es de 13px, y el turquesa oscuro sobre fondo casi negro
   daba ~2:1 de contraste. */
#pie-baraka a { font-size: inherit; line-height: inherit; }
#pie-baraka .elementor-widget-text-editor a { color: #00B2A9; }
#pie-baraka .elementor-widget-text-editor a:hover { color: #FFFFFF; }

/* Logo del PRTR: el arte es negro sobre fondo transparente. invert(1) lo
   pasa a blanco sin tocar el trazado ni las proporciones oficiales. */
.bk-prtr img { filter: invert(1); }
/* === fin pie === */

/* === BARAKA: interaccion ===
   Un unico comportamiento para todo lo pulsable. El menu queda fuera a
   proposito: tiene su propio subrayado animado del widget. */

/* --- Botones: todos los tipos, mismo movimiento --- */
.elementor-button,
body .ekit-wid-con .elementskit-btn,
body .ekit-wid-con .ekit-double-btn,
.elementskit-btn,
.ekit-double-btn,
.elementor-field-type-submit button,
.e-form__buttons__wrapper button {
    transition: background-color .25s ease,
                color .25s ease,
                border-color .25s ease,
                transform .25s ease,
                box-shadow .25s ease;
    will-change: transform;
}
.elementor-button:hover,
body .ekit-wid-con .elementskit-btn:hover,
body .ekit-wid-con .ekit-double-btn:hover,
.elementskit-btn:hover,
.ekit-double-btn:hover,
.elementor-field-type-submit button:hover,
.e-form__buttons__wrapper button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(43,43,43,.18);
}
.elementor-button:active,
body .ekit-wid-con .elementskit-btn:active,
body .ekit-wid-con .ekit-double-btn:active {
    transform: translateY(0);
    box-shadow: 0 3px 8px rgba(43,43,43,.16);
}

/* El icono acompana el gesto (flecha, patita...). */
.elementor-button .elementor-button-icon,
.elementskit-btn i,
.elementskit-btn svg {
    transition: transform .25s ease;
}
.elementor-button:hover .elementor-button-icon { transform: translateX(3px); }

/* --- Enlaces de texto: color y subrayado con aire --- */
.elementor-widget-text-editor a,
.elementor-widget-theme-post-content a {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color .2s ease, text-decoration-color .2s ease;
}
.elementor-widget-text-editor a:hover {
    color: var(--e-global-color-accent, #00726C);
}

/* --- Listas de iconos (barra de contacto, pie): no tenian transicion --- */
.elementor-icon-list-item a {
    transition: color .2s ease, opacity .2s ease;
}
.elementor-icon-list-item a:hover { opacity: .78; }

/* --- Titulares enlazados (tarjetas del bucle) --- */
.elementor-widget-heading a { transition: color .25s ease; }

/* --- Tarjetas: mismo tiempo y curva en todas --- */
.e-loop-item > .e-con, .bk-card-servicio,
.e-loop-item > .e-con {
    transition: transform .25s ease, box-shadow .25s ease;
}

/* --- Foco por teclado: mismo tratamiento que el hover, sin excepciones --- */
.elementor-button:focus-visible,
body .ekit-wid-con .elementskit-btn:focus-visible,
body .ekit-wid-con .ekit-double-btn:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(43,43,43,.18);
}

/* --- Quien pide menos movimiento, no lo tiene (WCAG 2.3.3) --- */
@media (prefers-reduced-motion: reduce) {
    .elementor-button, .elementskit-btn, .ekit-double-btn,
    .e-loop-item > .e-con, .bk-card-servicio, .e-loop-item > .e-con,
    .elementor-button .elementor-button-icon {
        transition: none;
    }
    .elementor-button:hover, .elementskit-btn:hover, .ekit-double-btn:hover,
    .elementor-button:focus-visible, .elementskit-btn:focus-visible,
    .e-loop-item > .e-con:hover, .bk-card-servicio:hover, .e-loop-item > .e-con:hover {
        transform: none;
    }
}
/* === fin interaccion === */

/* === BARAKA: botones sin fondo ===
   Los botones de texto no tienen caja que levantar: una sombra flotando
   sin fondo se ve como un error. Se quedan solo con el cambio de color y
   el desplazamiento del icono. */
body .bk-btn-sinfondo .elementor-button:hover,
body .bk-btn-sinfondo .elementor-button:focus-visible,
body .bk-btn-sinfondo.elementor-button:hover,
body .bk-btn-sinfondo.elementor-button:focus-visible {
    box-shadow: none;
    transform: none;
}
body .bk-btn-sinfondo .elementor-button:active { transform: none; box-shadow: none; }
/* === fin sin fondo === */

/* === BARAKA: paginas legales ===
   Texto largo: jerarquia clara y aire entre bloques. Los encabezados van
   dentro del HTML del editor, asi que se tratan aqui. */
.bk-legal h2 {
    font-family: Poppins, sans-serif;
    font-size: 26px;
    font-weight: 600;
    color: var(--e-global-color-text, #2B2B2B);
    margin: 48px 0 14px;
    line-height: 1.3;
}
.bk-legal h3 {
    font-family: Poppins, sans-serif;
    font-size: 19px;
    font-weight: 600;
    color: var(--e-global-color-accent, #00726C);
    margin: 32px 0 10px;
    line-height: 1.4;
}
.bk-legal h2:first-child { margin-top: 0; }
.bk-legal p { margin: 0 0 16px; }
.bk-legal ul, .bk-legal ol { margin: 0 0 18px; padding-left: 22px; }
.bk-legal li { margin-bottom: 8px; }
.bk-legal a { color: var(--e-global-color-accent, #00726C); }
@media (max-width: 767px) {
    .bk-legal h2 { font-size: 22px; margin-top: 36px; }
    .bk-legal h3 { font-size: 17px; }
}
/* === fin legales === */

/* === BARAKA: ficha ampliada ===
   El detalle de cada servicio se abre sobre el listado. Elementor no imprime
   las clases personalizadas en contenedores, asi que se engancha por el id de
   elemento: fd1f099 = raiz de la ficha, 82a4556 = la caja. */

/* Oculta mientras no se abre. */
.elementor-element-fd1f099 { display: none; }

.elementor-element-fd1f099.is-open {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(26, 26, 26, .62);
    overflow-y: auto;
    padding: 44px 18px;
    -webkit-overflow-scrolling: touch;
}
body.bk-modal-abierto { overflow: hidden; }

/* La caja solo se posiciona y anima cuando la ficha esta abierta. */
.elementor-element-fd1f099.is-open .elementor-element-82a4556 {
    position: relative;
    max-width: 620px;
    margin: 0 auto;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .34);
    animation: bkFichaEntra .26s cubic-bezier(.22, .61, .36, 1) both;
}
@keyframes bkFichaEntra {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}

.bk-modal__img img {
    width: 100%;
    display: block;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 18px 18px 0 0;
}
.bk-modal__dato p { margin: 0; }
.bk-modal__lista ul { margin: 6px 0 0; padding-left: 20px; }
.bk-modal__lista li { margin-bottom: 7px; }

/* El boton de cierre lo inyecta el JS; aqui solo se viste. */
.bk-modal__cerrar {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #2B2B2B;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
    transition: background-color .2s ease, transform .2s ease;
}
.bk-modal__cerrar:hover { background: #FFFFFF; transform: scale(1.06); }
.bk-modal__cerrar:focus-visible {
    outline: 3px solid var(--e-global-color-accent, #00726C);
    outline-offset: 2px;
}

@media (max-width: 600px) {
    .elementor-element-fd1f099.is-open { padding: 0; }
    .elementor-element-fd1f099.is-open .elementor-element-82a4556 {
        max-width: none;
        min-height: 100%;
        border-radius: 0;
    }
    .bk-modal__img img { border-radius: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .elementor-element-fd1f099.is-open .elementor-element-82a4556 { animation: none; }
    .bk-modal__cerrar { transition: none; }
    .bk-modal__cerrar:hover { transform: none; }
}
/* === fin ficha === */
/* === BARAKA: sin transform con ficha ===
   Un transform en un ancestro rompe position:fixed. Aunque la ficha ya
   se extrae al body, se desactiva el gesto de la tarjeta mientras hay
   una abierta. */
body.bk-modal-abierto .e-loop-item > .e-con:hover,
body.bk-modal-abierto .bk-card-servicio:hover { transform: none; }
/* === fin sin transform === */

/* === BARAKA: contenedor de fichas ===
   Aloja las fichas fuera de las tarjetas conservando el ambito de
   Elementor (.elementor-546), del que dependen sus variables CSS. */
#bk-fichas { display: contents; }
/* === fin contenedor === */

/* === BARAKA: portada de ficha === */
/* Con imagen dinamica, Elementor solo emite la URL en linea. */
.elementor-557 .e-con[style*="background-image"] {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
/* === fin portada === */

/* === BARAKA: horario ===
   Estado en vivo y dia actual resaltado. El horario NO vive aqui: sale de la
   tabla de Elementor, esto solo lo viste. */

.bk-horario-estado .elementor-heading-title {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    line-height: 1.3;
}
.bk-horario-estado .elementor-heading-title::before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: currentColor;
    flex: 0 0 auto;
}
.bk-horario-estado.bk-abierto .elementor-heading-title       { color: #00726C; }
.bk-horario-estado.bk-cierra-pronto .elementor-heading-title { color: #8A5300; }
.bk-horario-estado.bk-cerrado .elementor-heading-title       { color: #5E5E5E; }

/* Fila del dia actual. */
.bk-hoy .bk-horario-dia .elementor-heading-title,
.bk-hoy .bk-horario-horas .elementor-heading-title {
    font-weight: 700;
    color: #1A1A1A;
}
.bk-hoy .bk-horario-horas .elementor-heading-title { color: #00726C; }

.bk-chip-hoy {
    display: inline-block;
    margin-left: 9px;
    padding: 2px 9px;
    border-radius: 999px;
    background: #E6F6F5;
    color: #00726C;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    vertical-align: middle;
}

/* Botonera de reserva bajo la tabla. La clase va en cada boton: Elementor no
   imprime _css_classes en secciones, solo en widgets. */
/* Elementor anula el margen inferior de los widgets de ancho automatico
   (.elementor-widget:not(:last-child).elementor-widget__width-auto), asi que
   hay que igualar esa especificidad o los botones salen pegados al envolver. */
.elementor-widget.bk-btn-horario { margin: 0 14px 14px 0; }
.elementor-widget.elementor-widget__width-auto.bk-btn-horario:not(:last-child) {
    margin-block-end: 14px;
}
.bk-btn-horario .elementor-button { text-align: center; }
@media (max-width: 767px) {
    /* En movil ocupan el ancho completo: mejor zona de toque. Hay que ganar a
       la regla por elemento que Elementor emite para el ancho automatico
       (.elementor-38 .elementor-element-XXX { width: auto }), de ahi la cuarta
       clase en el .elementor-kit-324. */
    .elementor-element.elementor-widget.elementor-widget__width-auto.bk-btn-horario {
        width: 100%;
        max-width: none;
        margin-right: 0;
    }
    .bk-btn-horario .elementor-button { width: 100%; }
}
/* === fin horario === */

/* === BARAKA: campos de formulario ===
   Elementor pone .elementor-field en los input pero no en los <select>, asi que
   sin esto el desplegable queda con otra letra y otra altura que el resto.
   La unica clase que comparten todos es .elementor-field-textual. */

.elementor-kit-324 .elementor-field-textual,
.elementor-kit-324 select.elementor-field-textual {
    font-size: 16px;
    line-height: 1.5;
    min-height: 52px;
}

/* El desplegable: Elementor ya dibuja su flecha en un ::before del envoltorio,
   asi que aqui solo se reserva sitio para ella y se fija la altura. Poner otra
   flecha de fondo dejaba dos superpuestas. */
.elementor-kit-324 select.elementor-field-textual {
    height: 52px;
    cursor: pointer;
    padding-right: 44px;
}

/* El area de texto respira igual que los demas campos. */
.elementor-kit-324 textarea.elementor-field-textual { min-height: 120px; }

/* Foco visible: requisito de accesibilidad, no solo estetica. */
.elementor-kit-324 .elementor-field-textual:focus {
    outline: 2px solid #00726C;
    outline-offset: 2px;
    border-color: #00726C;
}
/* === fin campos === *//* End custom CSS */