:root {

    --font-family: "Inter", sans-serif;

    --font-size-xs: 0.8rem;      /* 12px */
    --font-size-sm: 0.875rem;     /* 14px */
    --font-size-stm: 0.925rem;     /* 15px */
    --font-size-md: 1rem;         /* 16px */
    --font-size-mt: 1.125rem;     /* 18px */
    --font-size-lg: 1.25rem;      /* 20px */
    --font-size-lgt: 1.375rem;    /* 22px */
    --font-size-xl: 1.5rem;       /* 24px */
    --font-size-xltt:1.7rem;
    --font-size-xlt: 1.875rem;    /* 30px */
    --font-size-xxl: 2rem;        /* 32px */
    --font-size-xxxl: 2.5rem;     /* 40px */
    --font-size-3xl: 3rem;        /* 48px */
    --font-size-4xl: 3.5rem;      /* 56px */

    --topbar-height: 100px;
    --header-height: 20vh;

    --font-weight-thin: 100;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-black: 800;

    --color-primary: black;
    --color-secondary: white;
    --color-gray: rgb(37, 37, 37);
    --color-three: rgb(0, 113, 227);
    --color-gradient-blue-transparent: rgba(37, 99, 235, 0.9);
    /* --apple-gradient: linear-gradient(90deg,
    #72A1D6 10%,
    #468AE8 15%,
    #6B7CEB 20%,
    #A571EE 30%,
    #BC71E3 40%,
    #D05BC2 50%,
    #D556A0 60%,
    #D95272 70%,
    #D7605F 80%,
    #DD6C42 95%,
    #DE603D 100%); */

    --apple-gradient: linear-gradient(30deg,
    #1de9f0 0%,
    /* #17dff0 0%, */
    #1e63ff 32%,
    #6a2bff 58%,
    /* #c02c9c 72%, */
    #b51bd0 70%,
    #ff3a1a 92%);

    /* --apple-gradient: linear-gradient(30deg,
    #17dff0 0%,
    #1e63ff 32%,
    #6a2bff 58%,
    #b51bd0 70%,
    #ff3a1a 92%); */

    --back-header: black;
    --back-apple: rgb(0, 113, 227);
    --border-apple: 1px solid #0071e3;
    --color-apple: rgb(0, 113, 227);
    --back-trans-apple: rgb(5, 121, 237);
    --color-btn-mas-info: rgb(0, 113, 227);
    --color-btn-compra: white; 
    --back-gray-plunge:rgb(244, 244, 244);
    --df: #3EC9FF;

    --color-gradient-blue: linear-gradient(90deg, #0a48a2, #0b5bdc);
    /* --color-gradient-blue: linear-gradient(90deg, #0a48a2, #1e63ff); */
    --color-gradient-blue-gray: linear-gradient(to right, #0e295b, #7192bc);

    /* --color-chamber: #5EDC63; */
    /* --color-chamber: #95da54; */
    --color-chamber: #00D96C;
    --color-chamber4: #00D96C;
    --color-crio: #1E8BFF;
    /* --color-crio: #2F94E6; */
    /* --color-redlight: #FF3A1A; */
    /* --color-redlight: #F54741; */
    --color-redlight: #E43A22;
    --color-sauna: #b51bd0;
    /* --color-sauna: #5A24D6; */
    /* --color-sauna: #5B3DF5; */
    /* --color-sauna: #5B25DB; */
    /* --color-preso: #1e63ff; */
    /* --color-preso: #1A4ED6; */
    /* --color-preso: #0F5CE0; */
    /* --color-preso:#1557E6; */
    --color-preso:#1756E6;
    /* --color-mat: #6a2bff; */
    /* --color-mat: #5A32F5; */
    --color-mat: #5B25DB;

    /* --color-gradient-chamber: linear-gradient(90deg, #00E676 0%, #00C853 50%, #00BFA5 100%);
    --color-gradient-crio: linear-gradient(90deg,#6ED6E8 0%,#4CBFE3 45%,#2F9FDB 100%);
    --color-gradient-redlight: linear-gradient(
            90deg,
            #F7B26A 0%,
            #F29A55 25%,
            #E87F3F 55%,
            #D96A2E 80%,
            #C85A22 100%
          ); */
    /* --color-gradient-sauna: linear-gradient(
        135deg,
        #8C2B1F 0%,
        #B03A2E 35%,
        #C65336 60%,
        #9A4E2F 85%,
        #6A3A26 100%
      ); */
    /* --color-gradient-preso: linear-gradient(
        90deg,
        #1F3348 0%,
        #27435D 30%,
        #345673 55%,
        #4A6E8F 80%,
        #5F7F9C 100%
      ); */
    /* --color-gradient-mat: linear-gradient(
        90deg,
        #7B5BD6 0%,
        #7A63D9 30%,
        #6F6FE0 55%,
        #6B7AE4 75%,
        #6A82E6 100%
      ); */
    

/* --apple-gradient: linear-gradient(
    90deg,
    #72A1D6 0%,
    #468AE8 10%,
    #6B7CEB 20%,
    #A571EE 30%,
    #BC71E3 40%,
    #D05BC2 50%,
    #D556A0 60%,
    #D95272 70%,
    #D7605F 80%,
    #DD6C42 95%,
    #DE603D 100%
  ); */

    --section-padding_xs: 20px;
    --section-padding: 36px;
    --section-padding-xl: 38px;
    --section-padding-xs2: 40px;
    --section-padding-2: 70px;
    --section-padding-xl2: 76px;

    --line-height-title1: 1.1;
    --line-height-text3: 1.3;
    --line-height-text4: 1.4;
    --line-height-text5: 1.5;
    --line-height-title: 1.4;

    --border-radius-img: 20px;
    --height-img-mov: 40vh;
    --nav-padding: 16px 32px;
    --gap-titulo-conjunto-section-10: 10px;   
    --gap-titulo-conjunto-section-20: 20px;
    --gap-titulo-conjunto-section-30: 30px;
    --gap-titulo-conjunto-section-40: 40px;   
    --gap-titulo-conjunto-section-60: 60px; 
    --gap-card-text-img: 16px; 
    --gap-card-text-btn: 20px; 
    --gap-card-text-title: 12px; 
    --gap-nav: 60px; 
    --gap-logo-empresas: 120px;
    --gap-item-img: 30px;
    --gap-info-producto: 15px;
    --gap-bottom-section: 30px;
    --border-img: 20px;
    --height-header: 66px;
    --height-logo: 200px;
    --gap-logo-empresas: 7.5rem;                     /* 120px to rem */
    --gap-item-img: 1.875rem;                        /* 30px to rem */
    --gap-info-producto: 0.9375rem;                  /* 15px to rem */
    --gap-bottom-section: 1.875rem;                  /* 30px to rem */
    --border-img: 20px;
    --height-header: 4.125rem;                       /* 66px to rem */
    --height-logo: 12.5rem;                          /* 200px to rem */
    --gap-nav: 3.75rem;                              /* 60px to rem */
    --text-deco: underline;

    --letter-space1: 0.1px;
    --letter-space2: 0.2px;
    --letter-space3: 0.3px;
    --letter-space4: 0.4px;
    --letter-space5: 0.5px;
    --letter-space6: 0.6px;
    --letter-space7: 0.7px;
    --letter-space8: 0.8px;
    --letter-space10: 0.10px;
    --letter-space-1:-0.374px;

    --border-radius-btn-mas-compra: 980px;
    --padding-btn-mas-compra: 11px 21px;
    --font-size-btn-mas-compra: 17px;
    --color-btn-compra: white; 

    --gap-btn-mas-compra: 30px;           

    --line-hei: 28px; 
    --max-width8: 80%;
}


/* -------------------------------- */
/* --- Estilos globales ----------- */
/* -------------------------------- */

/* Base */
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family: var(--font-family);
  background:#fff;
  color:#000;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  *{ scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}












/* -------------------------------- */
/* --- botones -------------------- */
/* -------------------------------- */

.btn_action_solid1 {
    width: fit-content;
    font-size: var(--font-size-btn-mas-compra);
    background-color: var(--back-apple);
    border-radius: var(--border-radius-btn-mas-compra);
    padding: var(--padding-btn-mas-compra);
}

.btn_action_apple{
    background-color: var(--back-apple);
    border: 0.8px solid inherit;
    color: white;
    background-color: var(--back-apple);
}

.btn_action_white {
    background-color: white;
    color: black;
    border: 2px solid white;
    width: fit-content;
    /* font-size: var(--font-size-btn-mas-compra); */
    font-size: var(--font-size-mt);
    border-radius: var(--border-radius-btn-mas-compra);
    padding: var(--padding-btn-mas-compra);
    /* padding: 12px 30px 12px 30px; */
    font-weight: var(--font-weight-semibold);
}

.btn_action_transparent {
    background-color: transparent;
    color: white;
    border: 1.4px solid white;
    width: fit-content;
    /* font-size: var(--font-size-btn-mas-compra); */
    border-radius: var(--border-radius-btn-mas-compra);
    /* padding: var(--padding-btn-mas-compra); */
    /* font-weight: var(--font-weight-medium); */
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold); 
    padding: 16px 30px 16px 30px;
}

.btn_border_multi{
    transition:
    border-color 1s ease
    background-color 1s ease,
    color 1s ease,
    transform 1s ease;
    transform: translateY(-1px);
}

.btn_border_multi:hover {
    border: 2.5px solid transparent;
    background:
        linear-gradient(var(--color-gray), var(--color-gray)) padding-box,
        var(--apple-gradient) border-box; 
}

/* .btn_border_multi:focus {
    outline: none;
    border: none;
  } */

.btn_action_gray {
    background:var(--color-gray);
    color: white;
    border: 2px solid var(--color-gray);
    width: fit-content;
    font-size: var(--font-size-btn-mas-compra);
    border-radius: var(--border-radius-btn-mas-compra);
    padding: var(--padding-btn-mas-compra);
    font-weight: var(--font-weight-medium);
}

.btn_action_black {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    /* background: black; */
    background:var(--color-gray);
    color: white;
    border: 2px solid var(--color-gray);
    font-size: var(--font-size-btn-mas-compra);
    border-radius: var(--border-radius-btn-mas-compra);
    padding: var(--padding-btn-mas-compra);
    font-weight: var(--font-weight-medium);
    
}

.btn_action_blue {
    width: fit-content;
    font-size: var(--font-size-btn-mas-compra);
    border-radius: var(--border-radius-btn-mas-compra);
    padding: var(--padding-btn-mas-compra);
    color: white;
    background: linear-gradient(90deg, #0a48a2, #0b5bdc);;
    font-weight: var(--font-weight-medium);
}

.cartel_color {
    padding: 6px 14px;
    border-radius: 999px;
    color: white;
    font-size: var(--font-size-xs);
    font-weight:var(--font-weight-semibold);
    margin-bottom: 8px;
    width: fit-content;
    background: linear-gradient(90deg, #0a48a2, #0b5bdc);
}

/* .btn_tera{
    background: var(--color-gradient-gradient-blue);
} */

/* .btn_hero{
    background-color: transparent;
    color: white;
    border: 2px solid white;
    font-weight: var(--font-weight-medium);
} */

.btn_touch_white{
    transition:
    border-color 1s ease,
    background-color 1s ease,
    color 1s ease,
    transform 1s ease;
    transform: translateY(-1px);
}

.btn_touch_white:hover {
    /* border: 2px solid transparent; */
    background: rgb(211, 211, 211);
}

.btn_action_black_h:hover {
    background: black;
    border: 2px solid var(--color-gray);
}

.black{
    color: #000;
}

.fp_lab{
    display: inline-block;
    color: #000;
    /* border: 1px solid black; */
    font-size: 14px;
    font-weight:var(--font-weight-medium);
    text-transform: uppercase;
    /* width: fit-content; */
}

.fp_lab_t{
    display: inline-block;
    color: white;
    background: transparent;
    border: 1px solid white;
    font-size: 14px;
    font-weight:var(--font-weight-medium);
    text-transform: uppercase;
    /* width: fit-content; */
}

.fp_lab_t2{
    text-transform: uppercase;
    font-size: 14px;
}

.fp_lab_t3{
    width: fit-content;
    margin: 0 auto;
    padding: 5px 10px;
    /* width: fit-content; */
    color: white;
    border-radius: 999px;
    background: transparent;
    border: 1px solid white;
    font-size: 12px;
    font-weight:var(--font-weight-medium);
    text-transform: uppercase;
    /* width: fit-content; */
}

.fp_inline{
    display: inline-block;
    width: 100%;
}















/* ------------------------------ */
/* ------ nav ------------------- */
/* ------------------------------ */

/* Header */
.header_head {
    background: var(--color-primary);
    color: var(--color-secondary);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    border-bottom: 0.6px solid rgb(177, 177, 177);
}

.header_container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    background-color: #ffffff;
    height: 8vh;
    width: 100%;
    z-index: 10;
}

.link_logo {
    display: flex;
    align-items: center;
}

.logo{
    height: 30px;
    margin: 0px auto;
}

.menu-toggle {
    display: none;
    margin: 0 auto;
}

.menu-label {
    display: flex;
    cursor: pointer;
}

.hamburger {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.hamburger .line {
    width: 22px;
    height: 1.6px;
    background: #000;
    border-radius: 20px;
    transition: all 0.3s ease;
}

.menu-toggle:checked + .menu-label .line:nth-child(1) {
    transform: rotate(45deg) translateY(5px);
}

.menu-toggle:checked + .menu-label .line:nth-child(2) {
    transform: rotate(-45deg) translateY(-5px);
}

.menu-toggle:checked + .menu-label .line:nth-child(3) {
    display: none;
}

.navbar {
    display: none;
    position: fixed;
    top: 8vh;            
    left: 0;
    width: 100vw;
    height: calc(100vh - 8vh); 
    background: white;
    color: black;
    z-index: 10;
    overflow-y: auto;
}

/* 🔥 FIX CLAVE — ESTE ES EL BUENO */
.menu-toggle:checked ~ .navbar {
    display: flex;
    flex-direction: column;
}

.navbar_list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 30px 16px;
}

.item_navbar_list, .item_navbar_list h5 {
    /* width: 100%; */
    display: flex;
    flex-direction: column;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-medium);
}

.submenu-toggle {
    display: flex;
    gap: 20px;
    cursor: pointer;
    align-items: center;
}

.arrow {
    height: 2vh;
    transform: rotate(90deg);
    transition: transform 0.3s ease;
}

/* Flecha rotada */
.submenu-toggle.open .arrow {
    transform: rotate(270deg);
}

/* Submenu oculto */
.submenu {
    display: none;
    padding-left: 30px;
    margin-top: 20px;
}

/* Submenu visible */
.submenu-toggle.open + .submenu {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Items submenu */
.item_submenu {
    font-size: var(--font-size-mt);
    font-weight: var(--font-weight-medium);
}

.item_navbar_list span{
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-md);
}


body.menu-open {
    overflow: hidden;
}
  














/* -------------------------------------------------- */
/* ------ footer ------------------------------------ */
/* -------------------------------------------------- */

/* ==== FOOTER BASE ==== */

.footer { 
    padding: 25px 25px 0 25px;
    margin-top: 30px;
    background-color: white;
    /* background: #e6e5e0; */
}

.footer_container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin: 0 auto;
    padding: 32px 0 40px;
    border-top: 1px solid #000000;
}

.footer_section {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer_title {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semibold)
}

.footer_text {
    color: #222;
    font-size: 14px;
    line-height: 1.4;
}

.footer_tel {
    color: #000000;
    font-size: 18px;
    font-weight: 600;
}

/* REDES */
.footer_socials {
    display: flex;
    gap: 20px;
    margin-top: 8px;
}

.social_btn img {
    width: 32px;
    height: 32px;
}

/* BOTÓN PRINCIPAL */
.footer_btn {
    background: linear-gradient(90deg, #0a48a2, #0b5bdc);
    color: white;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 20px;
    border-radius: 4px;
    text-align: center;
    width: 100%;
    margin-top: 10px;
    display: block;
    letter-spacing: 1px;

}

.footer_acc_toggle span, .acc_icon{
    color: black;
}

/* COPYRIGHT */
.footer_copy {
    font-size: 12px;
    color: #777;
    /* margin-top: 10px; */
}

/* ==== ACORDEONES FOOTER ==== */

.footer_accordions {
    width: 100%;
    /* border-top: 1px solid #e3e3e3; */
    padding-top: 10px; 
}

/* cada bloque */
.footer_accordion {
    border-bottom: 1px solid #e3e3e3;
}

/* cabecera clickeable */
.footer_acc_toggle {
    width: 100%;
    padding: 14px 0;
    background: none;
    border: none;
    outline: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: var(--font-size-md);
    font-weight: 600;
    cursor: pointer;
}

.acc_icon {
    font-size: 20px;
    line-height: 1;
}

/* contenido desplegable */
.footer_acc_content {
    display: none;
    flex-direction: column;
    gap: 8px;
    padding: 0 0 12px 0;
}

.footer_acc_content a {
    text-decoration: none;
    font-size: var(--font-size-md);
    opacity: 0.85;
}

.footer_acc_content a:hover {
    opacity: 1;
}

/* estado abierto */
.footer_accordion.open .footer_acc_content {
    display: flex;
}

.derechos{
    display: flex;
    justify-content: center;
    gap: 10px;
    text-align: center;
    align-items: center;
}

.icono_derecho{
    height: 20px;
}

.line_sim{
    flex-direction: row;
    gap: 1px;
}

.icono_derecho_2{
    height: 3px;
    flex-direction: row;
}

/* -- mapa ------------------------------- */

.mapa_wrap{
    position: relative;
    width: 100%;
    height: 20vh;
  
    border-radius: 4px;
    overflow: hidden;
  
    transition: transform 0.4s ease, box-shadow 0.4s ease;
  }
  
  .mapa_wrap:hover{
    transform: translateY(-4px);
  }
  
  /* mapa */
  .mapa_iframe{
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
  }
  
  /* overlay degradado premium */
  .mapa_wrap::after{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
  
    background: linear-gradient(
      180deg,
      rgba(5, 10, 20, 0.55) 0%,
      rgba(5, 10, 20, 0.15) 40%,
      rgba(5, 10, 20, 0.7) 100%
    );
  }
  
  /* badge glass */
  .mapa_badge{
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 2;
  
    padding: 14px 18px;
    border-radius: 16px;
  
    background: rgba(255, 255, 255, 0.039);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  
    color: white;
  }
  
  .mapa_badge_title{
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
  }
  
  .mapa_badge_text{
    font-size: 13px;
    opacity: 0.85;
  }
  
  /* overlay clickeable */
  .mapa_overlay{
    position: absolute;
    inset: 0;
    z-index: 3;
    cursor: pointer;
  }
  
  @media (min-width: 1000px){

    .footer{
      padding: 32px 32px 0;
      margin-top: 40px;
    }
  
    .footer_container{
      width: min(1280px, 94%);
      display: grid;
      grid-template-columns: 1.35fr 1fr 1fr;
      grid-template-areas:
        "ubicacion terapias circuitos"
        "mapa terapias circuitos"
        "horarios terapias circuitos"
        "contacto terapias circuitos"
        "bottom bottom bottom";
      column-gap: 80px;
      row-gap: 22px;
      align-items: start;
      padding: 40px 0 30px;
    }
  
    /* ---------------------------
       COLUMNA 1
    --------------------------- */
  
    .footer_container > .footer_section:nth-of-type(1){
      grid-area: ubicacion;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
  
    .footer_container > .mapa_wrap{
      grid-area: mapa;
      width: 100%;
      height: 220px;
      margin: 0;
      border-radius: 4px;
    }
  
    .footer_container > .footer_section:nth-of-type(2){
      grid-area: horarios;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
  
    /* ESTE pasa a ser el bloque de contacto visible en desktop */
    .footer_container > .footer_section:nth-of-type(4){
      grid-area: contacto;
      display: flex;
      flex-direction: column;
      gap: 10px;
      align-items: flex-start;
    }
  
    /* oculto el bloque viejo de redes porque ya va dentro de contacto */
    .footer_container > .footer_section:nth-of-type(3){
      display: none;
    }
  
    .footer_btn{
      width: 100%;
      /* max-width: 420px; */
      margin: 8px 0 6px;
      padding: 18px 22px;
      font-size: 16px;
    }
  
    .footer_socials{
      display: flex;
      gap: 16px;
      margin-top: 8px;
    }
  
    .social_btn img{
      width: 34px;
      height: 34px;
    }
  
    /* ---------------------------
       COLUMNA 2 Y 3
    --------------------------- */
  
    .footer_accordions{
      display: contents;
      width: 100%;
      padding-top: 0;
    }
  
    .footer_accordion{
      border-bottom: 0;
    }
  
    .footer_accordion:nth-child(1){
      grid-area: circuitos;
    }
  
    .footer_accordion:nth-child(2){
      grid-area: terapias;
    }
  
    /* oculto lab y contacto del bloque de acordeones */
    .footer_grupo_lab{
      display: none;
    }
  
    .footer_accordion:nth-child(4){
      display: none;
    }
  
    /* sin acordeón en desktop */
    .footer_acc_toggle{
      width: 100%;
      padding: 0;
      background: none;
      border: none;
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      pointer-events: none;
      cursor: default;
    }
  
    .footer_acc_toggle span{
      color: #000;
      font-size: 24px;
      line-height: 1.1;
      font-weight: 600;
    }
  
    .acc_icon{
      display: none;
    }
  
    .footer_acc_content{
      display: flex !important;
      flex-direction: column;
      gap: 14px;
      padding: 18px 0 0 0;
    }
  
    .footer_acc_content a{
      text-decoration: none;
      color: #222;
      font-size: 17px;
      line-height: 1.45;
      opacity: 0.9;
    }
  
    .footer_acc_content a:hover{
      opacity: 1;
    }
  
    /* ---------------------------
       TIPOGRAFÍA
    --------------------------- */
  
    .footer_title{
      margin: 0;
      font-size: 22px;
      line-height: 1.1;
      font-weight: 600;
    }
  
    .footer_text{
      font-size: 16px;
      line-height: 1.45;
      margin: 0;
    }
  
    .footer_tel{
      font-size: 20px;
      line-height: 1.2;
      font-weight: 600;
      margin: 0;
    }
  
    /* ---------------------------
       BOTTOM
    --------------------------- */
  
    .derechos{
      grid-area: bottom;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 18px;
      margin-top: 20px;
      padding-top: 18px;
      border-top: 1px solid #e0e0e0;
    }
  
    .footer_copy{
      font-size: 12px;
      color: #777;
    }
  
    .icono_derecho{
      height: 18px;
    }
  }










/* ---------------------------------------  */
/* -- seccion facilidades ----------------- */
/* ---------------------------------------  */

.section_facilidades {
    position: relative;
    height: 100vh;
    background-image: url("imgs_simviosis/imgs_inicio/img_centro_ia.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0 auto;
  }
  
  .overlay_facil {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.85) 0%,
      rgba(0, 0, 0, 0.7) 50%,
      rgba(0, 0, 0, 0.95) 100%
    );
    z-index: 1;
  }
  
  .content_facil {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 180px;
    margin: 0 auto;
    padding: 64px 0px;
    width: 88%;
    color: white;
  }
  
  .facil_title {
    font-size: var(--font-size-xxxl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-title1);
  }
  
  .facil_features_inside {
    display: grid;
    gap: 28px;
  }
  
  .facil_feature_item h3 {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    margin-bottom: 6px;
    text-transform: uppercase;
  }
  
  .facil_feature_item p {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-text4);
    max-width: 320px;
  }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  
  
  
  /* ---------------------------------------  */
  /* -- seccion beneficios ------------------ */
  /* ---------------------------------------  */
  
  .benefits_plunge_style_cir {
    background-color: rgb(8, 8, 8);
    text-align: center;
    color: white;
    padding-top: var(--section-padding-xl2);
    padding-bottom: var(--section-padding-xl2);
  }
  
  .marge {
    padding-top: var(--section-padding-2);
  }
  
  .benefits_container_cir {
    display: flex;
    flex-direction: column;
    padding-bottom: var(--section-padding-2);
    padding-top: var(--section-padding-xs);
  }
  
  .bp_title_cir {
    font-size: var(--font-size-xxl);
    font-weight: var(--font-weight-bold);
    line-height: 1.3;
    margin-bottom: 50px;
  }
  
  .bp_list_cir {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 55px;
    width: 90%;
    margin: 0 auto;
  }
  
  .bp_item_cir {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }
  
  .bp_item_cir p {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-title1);
  }
  
  .bp_icon_cir {
    width: 36px !important;
    height: 36px !important;
    display: block;
  }
  
  .benefits_plunge_style.use-gradient_cir .bp_icon_cir {
    stroke: url(#appleGradient);
  }





/* media query seccion facilidades y beneficios */

@media (min-width: 768px) and (max-width: 1023px) {

    /* facilidades */
    .content_facil {
      width: 90%;
      padding: 72px 0;
      gap: 140px;
    }
  
    .facil_title {
      font-size: var(--font-size-4xl);
    }
  
    .facil_feature_item h3 {
      font-size: var(--font-size-md);
    }
  
    .facil_feature_item p {
      font-size: var(--font-size-mt);
      max-width: 380px;
    }
  
    /* beneficios */
    .bp_title_cir {
      font-size: var(--font-size-xxxl);
      margin-bottom: 52px;
    }
  
    .bp_list_cir {
      width: 92%;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 42px 26px;
    }
  
    .bp_item_cir p {
      font-size: var(--font-size-lg);
      max-width: 18ch;
      margin: 0 auto;
    }
  
    .bp_icon_cir {
      width: 38px !important;
      height: 38px !important;
    }
  }
  
  
  /* ---------------------------------------  */
  /* -- desktop 1024+ ---------------------- */
  /* ---------------------------------------  */
  
  
  
  @media (min-width: 1024px) {
  
  
    /* -------- FACILIDADES -------- */
    .section_facilidades{
      padding-top: 0px !important;
    }
  
    .content_facil {
      width: 88%;
      padding: 64px 0px;
      gap: 180px;
      display: flex;
    }
  
    .facil_title {
      font-size: var(--font-size-4xl);
      /* font-weight: var(--font-weight-bold); */
      line-height: var(--line-height-title1);
      width: 100%;
    }
  
    .facil_features_inside {
      gap: 28px;
      display: flex;
      flex-direction: column;
      margin-bottom: 600px;
    }
  
    .facil_feature_item h3 {
      font-size: var(--font-size-mt) !important;
      /* font-weight: var(--font-weight-semibold); */
      margin-bottom: 8px;
      text-transform: uppercase;
    }
  
    .facil_feature_item p {
      font-size: var(--font-size-lg);
      /* font-weight: var(--font-weight-regular); */
      line-height: var(--line-height-text4);
      max-width: 420px;
    }
  
    /* -------- BENEFICIOS -------- */
    .benefits_plunge_style_cir {
      padding-top: var(--section-padding-xl2);
      /* padding-bottom: var(--section-padding-xl2); */
      padding-bottom: 140px;
      display: flex;
      flex-direction: column;
      gap: 30px;
    }
  
    .bp_title_cir {
      width: 100%;
      margin: 0 auto 46px;
      font-size: var(--font-size-xxxl);
      font-weight: var(--font-weight-bold);
      line-height: 1.25;
    }
  
    .bp_list_cir {
      width: min(100%, 1120px);
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 42px 28px;
      align-items: start;
    }
  
    .bp_item_cir {
      gap: 16px;
    }
  
    .bp_item_cir p {
      font-size: var(--font-size-lg);
      font-weight: var(--font-weight-bold);
      line-height: var(--line-height-text3);
      max-width: 18ch;
      margin: 0 auto;
    }
  
    .bp_icon_cir {
      width: 40px !important;
      height: 40px !important;
    }
  }
  
  
  /* ---------------------------------------  */
  /* -- desktop grande 1280+ ---------------- */
  /* ---------------------------------------  */
  
  @media (min-width: 1280px) {
  
    /* facilidades */
    .facil_title {
      font-size: var(--font-size-4xl);
    }
  
    .facil_feature_item h3 {
      font-size: var(--font-size-mt);
    }
  
    .facil_feature_item p {
      font-size: var(--font-size-lg);
      max-width: 100%;
    }
  
    /* beneficios */
    .bp_title_cir {
      font-size: var(--font-size-xxxl);
      margin-bottom: 52px;
    }
  
    .bp_list_cir {
      width: 100%;
      gap: 48px 32px;
    }
  
    .bp_item_cir p {
      max-width: 100%;
      font-size: var(--font-size-lg);
    }
  
    .bp_icon_cir {
      width: 42px !important;
      height: 42px !important;
    }
  }











/* -------------------------------------------------- */
/* --- hero terapias / circuitos -------------------- */
/* -------------------------------------------------- */

.therapy_hero {
    position: relative;
    height: 60vh;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 40px 20px;
    /* color: #fff; */
    color: white;
}

.chamber_hero {
    background-image: url("imgs_simviosis/imgs_terapias/img_terapia_chamber.png"); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.crio_hero {
    background-image: url("imgs_simviosis/imgs_terapias/img_terapia_crioterapia.png"); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.redlight_hero {
    background-image: url("imgs_simviosis/imgs_terapias/img_terapia_luz_roja.png"); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.sauna_hero {
    background-image: url("imgs_simviosis/imgs_terapias/img_terapia_sauna.jpg"); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.infrasauna_hero {
    background-image: url("imgs_simviosis/imgs_terapias/img_terapia_sauna_infrarrojo.png"); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.compe_hero {
    background-image: url("imgs_simviosis/imgs_terapias/img_compre.png"); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.compepro_hero {
    background-image: url("imgs_simviosis/imgs_terapias/img_compre2.png"); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.mat_hero {
    background-image: url("imgs_simviosis/imgs_terapias/img_mat_terapia.png"); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.contraste_hero{
    background-image: url("imgs_simviosis/imgs_terapias/img_contraste.png"); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.cir_longevidad_hero{
    background-image: url("imgs_simviosis/imgs_terapias/hero_cir.png"); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.cir_estetica_hero{
    background-image: url("imgs_simviosis/imgs_terapias/hero_cir.png"); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.cir_deporte_hero{
    background-image: url("imgs_simviosis/imgs_terapias/hero_cir.png"); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


.therapy_hero_overlay {
    position: absolute;
    inset: 0;
    /* background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.35) 0%,
        rgba(0, 0, 0, 0.55) 20%,
        rgba(0, 0, 0, 0.75) 60%
    ); */
}

.therapy_hero_content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.therapy_label {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.6);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 10px;
    background: ehite;
}

.therapy_hero_title {
    font-size: var(--font-size-xxxl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-title1);
    margin-bottom: 8px;
}



















 /* ---------------------------------------  */
 /* -- seccion descrip + pricing ---------- */
 /* ---------------------------------------  */

 .therapy_pricing {
    padding-bottom: var(--section-padding-xl);
}

.therapy_pricing_container {
    margin: 0 auto;
    width: 90%;
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 30px 0;
}

.therapy_pricing_intro {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-text5);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ================================
   CARDS GRID
================================ */
.therapy_pricing_cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
}

/* ================================
   BASE CARD
================================ */
.price_card {
    border-radius: 20px;
    padding: 18px 20px;
    background: transparent;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    display: flex;
    border: 0.6px solid gainsboro;
    flex-direction: column;
    gap: 6px;
    display: flex;
    flex-direction: column;
}

/* ================================
   FEATURED CARD (GRADIENT BORDER)
================================ */
.price_card_featured {
    border: 1.5px solid transparent;
    background:
        linear-gradient(white, white) padding-box,
        var(--apple-gradient) border-box;
}


/* ================================
   CARD CONTENT
================================ */
.price_title {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-bold);
    margin-bottom: 6px;
}

.price_desc {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: #4b5563;
    margin-bottom: 10px;
}

.price_membership {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.price_row {
    display: flex;
    align-items: baseline;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
}

.price_values {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.price_now {
    font-size: var(--font-size-lgt);
    font-weight: var(--font-weight-black);
}

.price_old {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-light);
    text-decoration: line-through;
}

.price_freq {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: #4b5563;
    /* margin-bottom: 10px; */
}

.price_small_note {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: #6b7280;
}

.price_tag {
    display: inline-block;
    margin-top: 8px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    background: #f3f4ff;
    color: #4338ca;
}

.price_unit{
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-regular);
}



/* ===================================================== */
/* ================== TABLET 768+ ====================== */
/* ===================================================== */

@media (min-width: 768px){

  /* ---------- HERO ---------- */
  .therapy_hero{
    min-height: 84vh;
  }

  .therapy_hero_content{
    padding-top: 92px;
    padding-bottom: 58px;
    align-items: center;
    text-align: center;
  }

  .therapy_hero_title{
    font-size: var(--font-size-4xl);
    line-height: var(--line-height-title1);
  }


  /* ---------- PRICING ---------- */
  .therapy_pricing{
    padding-top: 48px;
    padding-bottom: 72px;
  }

  .therapy_pricing_container{
    width: 94%;
    margin: 0 auto;
  }

  .therapy_pricing_intro p{
    font-size: var(--font-size-mt);
    line-height: var(--line-height-text4);
    max-width: 62ch;
  }

  .therapy_pricing_cards{
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: start;
  }

  .price_card,
  .price_card_featured{
    height: auto;
    min-height: unset;
    align-self: start;
  }



/* ===================================================== */
/* ================= DESKTOP 1024+ ===================== */
/* ===================================================== */

@media (min-width: 1024px){

    /* ---------- HERO ---------- */
    .therapy_hero{
      min-height: 100vh;
      align-items: flex-start;
    }
  
    .therapy_hero_content{
      padding-top: 500px;
      padding-bottom: 70px;
      width: 100%;

    }
  
    .therapy_hero_title{
      font-size: var(--font-size-4xl);
      width: 90%;
      margin-bottom: 100px !important;
      text-align: left;
    }
  
  
    /* ---------- PRICING ---------- */
    .therapy_pricing{
      padding-top: 32px;
      padding-bottom: 80px;
      width: 92%;
      margin: 0 auto;
    }
  
    .therapy_pricing_container{
      display: grid;
      grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
      grid-template-areas:
        "text cards"
        ". button";
      column-gap: 34px;
      row-gap: 18px;
      align-items: start;
      text-align: left;
    }
  
    .therapy_pricing_container > .therapy_pricing_intro{
      display: contents;
    }
  
    .therapy_pricing_container > .therapy_pricing_intro > .therapy_pricing_intro{
      grid-area: text;
      display: block;
    }
  
    .therapy_pricing_container > .therapy_pricing_cards{
      grid-area: cards;
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 16px;
      align-items: stretch;
    }
  
    .therapy_pricing_container > .therapy_pricing_intro > .btn_action_black{
      grid-area: button;
      justify-self: stretch;
      align-self: start;
      width: 100%;
      text-align: center;
    }
  
    .therapy_pricing_intro p{
      font-size: var(--font-size-lg);
      line-height: 1.6;
      max-width: 56ch;
      text-align: left;
    }
  
    .price_card,
    .price_card_featured{
      width: 100%;
      height: auto;
      min-height: unset;
      align-self: start;
    }
}
  

  
  
  
  /* ===================================================== */
  /* =============== DESKTOP GRANDE 1280+ =============== */
  /* ===================================================== */
  
  @media (min-width: 1280px){
  
    .therapy_pricing_container{
      /* width: min(1240px, 95%); */
      grid-template-columns: minmax(0, 1.04fr) minmax(390px, 0.96fr); 
      column-gap: 40px;
    }
  }






/* -----------------------------------------------  */
/* -- seccion acordeon beneficios ---------------- */
/* -----------------------------------------------  */

.section_ben_accordion{
    padding-top: 50px;
    padding-bottom: var(--section-padding);
  }
  
  .container_ben{
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  
  /* Head */
  .ben_head{
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  
  .ben_head h2{
    font-size: var(--font-size-xxl);
    font-weight: var(--font-weight-semibold);
    letter-spacing: -0.02em;
  }
  
  .ben_head p{
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-regular);
    color: rgba(17, 24, 39, 0.75);
    max-width: 64ch;
  }
  
  /* Accordion group */
  .accordion_group{
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  
  /* Accordion item */
  .accordion_item{
    border-radius: 20px;
    border: 1px solid #e5e7eb;
    overflow: hidden;
    background: transparent;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
  }
  
  .accordion_item:hover{
    border-color: #d1d5db;
  }
  
  /* Header */
  .accordion_header{
    width: 100%;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: none;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    background: transparent;
  }
  
  .accordion_header span{
    color: #020617;
  }
  
  .accordion_header:focus-visible{
    outline: none;
  }
  
  /* Icon */
  .accordion_icon{
    font-size: 20px;
    transition: transform 0.2s ease;
  }
  
  .accordion_item.open .accordion_icon{
    transform: rotate(45deg);
  }
  
  /* Body */
  .accordion_body{
    max-height: 0;
    overflow: hidden;
    padding: 0 18px;
    font-size: 14px;
    color: #4b5563;
    transition: max-height 0.25s ease, padding 0.25s ease;
  }
  
  .accordion_item.open .accordion_body{
    max-height: 520px;
    padding: 0 18px 14px;
  }
  
  /* List */
  .accordion_body ul{
    padding-left: 18px;
    margin: 8px 0 0;
  }
  
  .accordion_body li{
    margin-bottom: 8px;
    line-height: 1.45;
    color: #374151;
  }
  
  /* ===================================== */
  /* Links embebidos a estudios (minimal)  */
  /* ===================================== */
  
  .accordion_body a{
    color: #0b5bdc;
    text-decoration: none;
    /* border-bottom: 1px solid rgba(11, 91, 220, 0.45); */
    transition: color 0.15s ease, border-color 0.15s ease;
  }
  
  .accordion_body a:hover{
    color: #083f9b;
    border-bottom-color: rgba(11, 91, 220, 0.85);
  }
  
  .accordion_body a:focus-visible{
    outline: none;
    /* border-bottom-color: #083f9b; */
  }
}
  
  /* Responsive */
  @media (max-width: 520px){
    .accordion_group{
      padding: 0 14px;
    }
  
    .accordion_header{
      padding: 14px;
    }
  
    .accordion_body{
      padding: 0 14px;
    }
  
    .accordion_item.open .accordion_body{
      padding: 0 14px 14px;
    }
  }
  












/* ---------------------------------------  */
/* -- preguntas freccuentes -------------- */
/* ---------------------------------------  */

.section_faq{
    padding-top: 66px;
    padding-bottom: var(--section-padding);
    gap: 30px;
    display: flex;
    flex-direction: column;
  }

.faq_head{
    text-align: center;
}

.titulo_faq{
    font-size: var(--font-size-xxl);
    font-weight: var(--font-weight-semibold);
    text-align: center;
}
  
.accordion_group{
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
  
.accordion_item{
    border-radius: 20px;
    border: 1px solid #e5e7eb;
    overflow: hidden;
    text-align: left;
}
  
.accordion_header{
    width: 100%;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    border: 0;
    cursor: pointer;
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semibold);
    color: #000;
    text-align: left;
}
  
.accordion_icon{
    font-size: var(--font-size-lg);
    transition: transform 0.2s ease;
}
  
.accordion_body{
    max-height: 0;
    overflow: hidden;
    padding: 0 18px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-regular);
    color: #4b5563;
    transition: max-height 0.25s ease, padding 0.25s ease;
}
  
.accordion_item.open .accordion_body{
    max-height: 400px;
    padding: 0 18px 14px;
}
  
.accordion_item.open .accordion_icon{
    transform: rotate(45deg);
}



@media (min-width: 1024px){
    .titulo_faq{
        padding-top: 20px;
        font-size: var(--font-size-xxxl);
    }
}