@font-face {
    font-family: 'ACHS Nueva Sans';
    src: url('/themes/custom/coihues_theme/fonts/ACHSNuevaSans-Light.woff2') format('woff2'),
        url('/themes/custom/coihues_theme/fonts/ACHSNuevaSans-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ACHS Nueva Sans';
    src: url('/themes/custom/coihues_theme/fonts/ACHSNuevaSans-Regular.woff2') format('woff2'),
        url('/themes/custom/coihues_theme/fonts/ACHSNuevaSans-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ACHS Nueva Sans';
    src: url('/themes/custom/coihues_theme/fonts/ACHSNuevaSans-Bold.woff2') format('woff2'),
        url('/themes/custom/coihues_theme/fonts/ACHSNuevaSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

:root {
  /* Colores */
  --celestePrincipal: #348FFF;
  --azulPrincipal: #002A6C;
  --grisEncabezado: #E7E5E5;
  --grisLetra: #6D6D6D;
  --verdePrincipal: #7EFF45;
  --topbar-bg: #E7E5E5;
  --topbar-text: #A7A7A7;

  /* Radius */
  --radiusBtn: 80px;
  --radiusSecundario: 20px;

  /* Alturas */
   --topbar-height: 54px; 

  --header-max: 1200px;
  --header-h: 72px;
  --shadow: 0 10px 24px rgba(0,0,0,0.2);

}

html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  font-family: "ACHS Nueva Sans";
  margin: 0;
}

h1, h2, h3 {
  font-size: 20px;
  font-weight: 400;
  line-height: 100%;
}

p {
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 150%;
}

.sky, .celeste {
 color: var(--celestePrincipal);
}

.sky {
  font-weight: 300;
}

.celeste {
  font-weight: bold;
}

.btn {
  display: inline-block;
  background-color: var(--celestePrincipal);
  color: white;
  padding: 12px 24px;
  font-weight: 300;
  border-radius: var(--radiusBtn);
  width: fit-content;
  text-decoration: none;
  border: 2px solid transparent;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}

.btn:hover {
  background-color: white;
  color: var(--celestePrincipal);
  border: 2px solid var(--celestePrincipal);
}

.btn-secondary {
  display: inline-block;
  background-color: var(--celestePrincipal);
  color: white;
  padding: 12px 24px;
  font-weight: 300;
  border-radius: var(--radiusBtn);
  text-decoration: none;
  width: fit-content;
  border: 2px solid white;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}

.btn-secondary:hover {
  background-color: white;
  color: var(--celestePrincipal);
  border: 2px solid var(--celestePrincipal);
}

.underline{
  display:block; 
  width:56px; 
  height:2px; 
  background:var(--verdePrincipal); 
  border-radius:2px;
  margin-bottom: 20px;
}


@media (min-width: 768px) {
  .btn {
  border-radius: var(--radiusBtn);
}

h1, h2, h3 {
  font-size: 30px;
}

p {
font-size: 18px;
}


}

.swiper-button-next:after,
.swiper-button-prev:after {
  content: none !important; 
}
.swiper-button-next, 
.swiper-button-prev {
  width: 30px;  
  height: 30px; 
}

.swiper-button-next {
  background: url('/themes/custom/coihues_theme/images/banner-right.svg') no-repeat center center;
  background-size: contain;
}

.swiper-button-prev {
  background: url('/themes/custom/coihues_theme/images/banner-left.svg') no-repeat center center;
  background-size: contain;
}

/* HEADER TOP */

.header-top {
  background: var(--topbar-bg);
  border-top: 4px solid var(--topbar-border);
  color: var(--topbar-text);
  width: 100%;
}
.header-top__inner{
  max-width: 1200px;
  padding: 0 16px;        
  height: var(--topbar-height);
  display: flex;
  align-items: center;
  column-gap: 20px;  
  font-size: 14px;   
}

.header-top__left{
  display: flex;
  align-items: center;
  column-gap: 20px;       
  flex: 0 0 auto;
  min-width: 0;
}

.header-top__right{ flex:0 0 auto; }

.header-top__group{
  display: inline-flex;
  align-items: center;
  column-gap: 10px;         
  white-space: nowrap;    
}

.header-top__icon img,
.header-top__icon svg{
  width: 25px;
  height: 25px;
  display: block;
  object-fit: contain;
}

.header-top__text,
.header-top a{
  color: var(--topbar-text);
  text-decoration: none;
  line-height: 1;
}
.header-top__telefono:hover{ text-decoration: underline; }

.header-top__redes div {
  display: flex;
  align-items: center;
  column-gap: 12px;
}

.header-top__redes .field,
.header-top__redes .field__items,
.header-top__redes .field__item,
.header-top__redes .paragraph{ display: contents; }

.social-btn {
  width: 34px; 
  height: 34px;
  display: inline-flex;
  align-items: center; 
  justify-content: center;
}
.social-btn__icon img,
.social-btn__icon svg{
  display: block;
}

@media (max-width: 768px){

  .header-top__inner{
    height: auto;
    padding: 8px 16px;  
    flex-wrap: wrap;
    row-gap: 8px;
    font-size: 12px;
  }
  .header-top__left{
    flex-basis: 100%;
    column-gap: 18px;
  }
  .header-top__group{ white-space: normal; } 
  .header-top__right{ margin-left: 0; }
}
.site-header{ background:#fff; border-bottom:1px solid #EEF1F5; position:relative; z-index:50; }
.site-header__bar{ height:var(--header-h); display:flex; align-items:center; padding: 2rem 0;}
.site-header__wrap, .site-nav__wrap{
  width:min(100%, var(--header-max)); 
  margin:0 auto; 
  padding:0 16px; 
  display:flex; 
  align-items:center; 
  justify-content:space-between; 
  box-sizing: border-box; 
}
.header-actions{ display:flex; align-items:center; gap:12px; }
.contact-dd{ position:relative; }
.contact-dd__btn {
    display: flex;
    font-family: "ACHS Nueva Sans";
    align-items: center;
    gap: 15px;
    cursor: pointer;
}
.contact-dd__btn:hover svg path {
  fill: var(--celestePrincipal);
}
.contact-dd__btn .chev{ transform:rotate(0deg); transition:0.2s; margin-left: auto; }              
.contact-dd__btn[aria-expanded="true"] .chev{ transform:rotate(180deg); }         
.contact-dd__panel{
  position:absolute; right:0; top:calc(100% + 10px); width:fit-content; min-width: 250px; background:#fff; border-radius:18px;
  box-shadow: var(--shadow); padding:14px; display:flex; flex-direction:column; gap:10px; z-index:60;
}
.contact-dd__panel[hidden]{ display:none; }
.contact-dd__item{ display:flex; gap:12px; align-items:center; padding:5px; border-radius:12px; text-decoration:none; color:var(--celestePrincipal); }
.contact-dd__item:hover{ background:#F3F7FF; }
.contact-dd__item img{ width:45px; height:45px; object-fit:contain; background:#EDF0F3; border-radius:50%; }
.burger{ display:none; background:transparent; border:0; width:46px; height:56px; position:relative;  padding: 0;}
.burger span{ position:absolute; left:7px; right:7px; height:2px; background:var(--celestePrincipal); transition:0.2s; top:50%;
  transform: translateY(-50%); }
.burger{ --bar-h: 2px; --side: 8px; --gap: 5px; }
.burger span:nth-child(1){ top:11px; transform: translateY(calc(-50% - var(--gap))); }
.burger span:nth-child(2){ top:17px; transform: translateY(-50%); }
.burger span:nth-child(3){ top:23px; transform: translateY(calc(-50% + var(--gap))); }
.burger[aria-expanded="true"] span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }
.site-nav{ position:relative; }
.site-nav__wrap{ 
  width:min(100%, var(--header-max)); 
  margin:0 auto; 
  padding:0 16px; 
  position:relative;
  background-color: #fff;
 }
.menu{ display:flex; gap:18px; padding: 10px 0 0; margin:0; list-style:none; }
.menu__item{ position:relative; list-style:none; }
.menu__link{
  background:transparent; border:0; color:var(--celestePrincipal); cursor:pointer;
   gap:8px; padding: 15px;  font-size:16px;
  display: block;
  text-decoration: none; white-space: nowrap;
}
.menu__link .chev{ transform:rotate(0deg); transition:0.2s; margin-left: 5px; }  
.menu__link[aria-expanded="true"] .chev{ transform:rotate(180deg); }  
.menu__link[aria-expanded="true"]{
  background: var(--celestePrincipal);
  color: #fff;
  border-bottom-left-radius: 0;       
  border-bottom-right-radius: 0;
}
.menu__link[aria-expanded="true"]::after{
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: -2px;                       
  height: 2px;
  background: var(--celestePrincipal);
}
.menu__link .chev path{ transition: fill 0.2s ease; }
.menu__link[aria-expanded="true"] .chev path{ fill: #fff; }
.mega-area{
  position:absolute; left:0; right:0; top: 100%; z-index:40;
}
.mega-area[hidden]{ display:none; }
.mega-panel[hidden]{ display:none; }
.mega-grid{
  background: var(--celestePrincipal); color:#fff;  box-shadow: var(--shadow);
  padding:18px 20px;
  display:grid; gap:24px;
}
.mega-grid.cols-1{ grid-template-columns: repeat(1,minmax(0,1fr)); }
.mega-grid.cols-2{ grid-template-columns: repeat(2,minmax(0,1fr)); }
.mega-grid.cols-3{ grid-template-columns: repeat(3,minmax(0,1fr)); }
.mega-grid.cols-4{ grid-template-columns: repeat(4,minmax(0,1fr)); }
.mega-col{ position:relative; padding-left:18px; }
.mega-grid.cols-2 .mega-col:nth-child(n+2)::before,
.mega-grid.cols-3 .mega-col:nth-child(n+2)::before,
.mega-grid.cols-4 .mega-col:nth-child(n+2)::before {
  content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background: var(--verdePrincipal);
}
.mega-col h4{ margin:0 0 15px; font-weight:600; color:#E7F3FF;}
.mega-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:15px; }
.mega-col a{ color:#fff; text-decoration:none; }
.mega-col a:hover{ text-decoration:underline; }
.mnav{ position:absolute; left:0; right:0; top:90%; background:#fff; box-shadow: var(--shadow); padding:12px 10px; z-index:45; }
.mnav[hidden]{ display:none; }
.mnav__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.mnav__btn{
  width:100%; background:transparent; border:0; text-align:left; color:var(--celestePrincipal);
  font-size:16px; padding:5px; border-radius:10px; display:flex; justify-content:space-between; align-items:center; cursor:pointer;
}
.mnav__btn a {
  text-decoration: none; color: var(--celestePrincipal);
}
.mnav__btn .chev{ transform:rotate(0deg); transition:0.2s; }   
.mnav__btn[aria-expanded="true"] .chev{ transform:rotate(180deg); }
.mnav__sub{ list-style:none; margin:0; padding:8px 0 12px 16px; }
.mnav__sub ul { list-style:none; color:#4B5563; margin-left: -15px;}
.mnav__sub[hidden]{ display:none; }
.mnav__sub a{ color:#4B5563; text-decoration:none; font-size:14px; padding:5px; display:block; margin-left: -15px;}
.mnav__subitem{ list-style:none; }
.mnav__subbtn{
  background:transparent; border:0; color:var(--celestePrincipal); font-size:16px;
  width:100%; display:flex; align-items:center; justify-content:space-between; cursor:pointer;
}
.mnav__subbtn a{
  color:var(--celestePrincipal); font-size:16px; cursor:pointer; text-decoration: none;
}
.mnav__subbtn .chev{ transform:rotate(0deg); transition:0.2s; }
.mnav__subbtn[aria-expanded="true"] .chev{ transform:rotate(180deg); }
.mnav__sublist{ list-style:none; margin:0; padding:6px 0 10px 16px; }
.mnav__sublist ul { list-style:none; margin-left: -20px;}
.mnav__sublist[hidden]{ display:none; }
.mnav__sublist a{ font-size:14px; color:#4B5563; }
.mnav__contact-btn{
  background: var(--celestePrincipal); color:#fff; border:0; border-radius:999px; padding:10px 20px;
  font-size:16px; width:100%; display:flex; justify-content:space-between; align-items:center; margin-top: 10px;
}
.mnav__contact-btn .chev{ transform:rotate(0deg); transition:0.2s; }
.mnav__contact-btn[aria-expanded="true"] .chev{ transform:rotate(180deg); }
.mnav__contact-panel{ background:#fff; border-radius:14px; box-shadow: var(--shadow); padding:12px; margin-top:10px; display:flex; flex-direction:column; }
.mnav__contact-panel[hidden]{ display:none; }
.mnav__citem{ display:flex; align-items:flex-start; gap:12px; text-decoration:none; color:#1F2937; padding:5px; border-radius:10px; }
.mnav__citem img{ width:32px; height:32px; background:#EDF0F3; border-radius:50%; }
.mnav__citem span { font-size: 14px; align-self: center;}
@media (max-width: 768px){
  .site-nav{ display:none; }
  .contact-dd{ display:none; }
  .burger{ display:inline-block; }
  .brand__full{ height:36px; }
}
@media (min-width: 300px) and (max-width: 1100px){
.menu{ flex-wrap: wrap; justify-content: center; }
}

@media (min-width: 769px){
  .contact-dd__btn {
    font-size: 16px;
    min-width: 290px;
  }
  .mega-grid{
  min-height: 262px;
}
.brand__full{ height:66px; }




}
@media (min-width: 1200px){
.menu{ gap:28px; }
}
.mega-grid{
  background: var(--celestePrincipal); color:#fff;  box-shadow: var(--shadow);
  padding:18px 20px;
  display:grid; gap:24px;
  min-height: 262px;
}

.menu__item { display:flex; align-items:center; position:relative; }
.menu__toggle{
  background:transparent; border:0; padding: 15px 10px;
  cursor:pointer; display:inline-flex; align-items:center; justify-content:center; height: 100%;
  margin-left: -5px;
}
.menu__toggle .chev{ transform:rotate(0deg); transition:transform 0.2s ease; }
.menu__toggle[aria-expanded="true"] .chev{ transform:rotate(180deg); }
.menu__item.is-open .menu__link,
.menu__link[aria-expanded="true"]{
  background: var(--celestePrincipal);
  color:#fff;
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
}
.menu__item.is-open .menu__toggle .chev path,
.menu__link[aria-expanded="true"] .chev path{ fill:#fff; }
.menu__item.is-open .menu__toggle {
  background-color: var(--celestePrincipal);
}
.menu__item.is-open::after,
.menu__link[aria-expanded="true"]::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--celestePrincipal);
}
.mega-area{ top:100%; }


/* BANNER */

.banner-home .swiper-wrapper .swiper-slide .banner-mobile img,
.banner-home .swiper-wrapper .swiper-slide .banner-desktop img {
  width: 100%;
  height: auto;
  display: block;
  z-index: 1;
}

.banner-home .swiper-wrapper .swiper-slide .banner-texto {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: left;
  color: white;
  z-index: 10;
  width: 90%;
  max-width: 800px;
  z-index: 5;
}

.banner-home .swiper-wrapper .swiper-slide {
  position: relative;
  overflow: hidden;
}

.banner-home .swiper-wrapper .swiper-slide picture::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3); 
  z-index: 2;
}

.banner-home .swiper-wrapper .swiper-slide .banner-texto h2 {
  font-size: 28px;
  margin-bottom: 10px;
  position: relative;
  color: white;
  font-weight: 500;
}

.banner-home .swiper-wrapper .swiper-slide .banner-texto h2::after {
  content: '';
  position: absolute;
  bottom: -20px; 
  left: 0;
  width: 13%; 
  height: 2px;
  background-color: white;
}

.banner-home .swiper-wrapper .swiper-slide .banner-texto p {
  margin-top: 40px;
  margin-bottom: 24px;
  color: white;
  font-weight: 200;
  line-height: 130%;
}

.banner-home .swiper-wrapper .swiper-slide .svg-desktop {
  position: absolute;
  top: 1rem;              
  left: 50%;             
  right: auto;           
  bottom: 1rem;          
  width: 90%;            
  z-index: 3;
  display: none;          
  transform: translateX(-50%); 
}

.banner-home .swiper-wrapper .swiper-slide .svg-desktop svg {
  width: 100%;           
  height: auto;
}

.banner-home .swiper-wrapper .swiper-slide .svg-mobile {
  position: absolute;
  top: 0.75rem;              
  left: 50%;               
  right: auto;           
  bottom: 0.75rem;          
  width: 95%;  
  height: 90%;           
  z-index: 3;
  display: block;     
  transform: translateX(-50%);
}

.banner-home .swiper-wrapper .swiper-slide .svg-mobile svg {
  width: 100%;       
  height: 100%;
  display: block;
}

.banner-home .swiper-wrapper .swiper-slide .banner-desktop {
  display: none;
}

.banner-home .swiper-wrapper .swiper-slide .banner-mobile {
  display: block;
}

.banner-home.swiper .swiper-pagination .swiper-pagination-bullet {
  width: 36px !important;       
  height: 8px !important;       
  margin: 0 4px !important;    
  border-radius: 0 !important;
}

.banner-home.swiper .swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--celestePrincipal) !important;  
}

.banner-home.swiper .swiper-pagination-bullet {
  margin-left: 8px !important;  
  margin-right: 8px !important;
  background-color: #E6E6E6 !important;  
  opacity: 1 !important;
}

.banner-home.swiper .swiper-pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

@media (max-width: 768px){

  .banner-home .swiper-wrapper .swiper-slide .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }

.swiper-button-prev,
.swiper-button-next {
  display: none !important;
}

.banner-home .swiper-wrapper .swiper-slide picture::before {
  background-color: rgba(0, 0, 0, 0.5); 
}

  .banner-home .swiper-wrapper .swiper-slide{
    min-height: 620px; 
  }

  .banner-home .swiper-wrapper .swiper-slide picture{
    position: absolute;
    inset: 0;
    height: 100%;
  }

  .banner-home .swiper-wrapper .swiper-slide .banner-mobile,
  .banner-home .swiper-wrapper .swiper-slide .banner-desktop{
    height: 100%;
  }

  .banner-home .swiper-wrapper .swiper-slide .banner-mobile img,
  .banner-home .swiper-wrapper .swiper-slide .banner-desktop img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .banner-home .swiper-wrapper .swiper-slide .banner-texto{
    width: 80%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .banner-home .swiper-wrapper .swiper-slide .banner-texto h2{
    font-size: 26px;
    margin-bottom: 40px;
  }

  .banner-home .swiper-wrapper .swiper-slide .banner-texto p{
    margin-top: 24px;
  }

}

@media (min-width: 769px) and (max-width: 1299px){


.banner-home .swiper-wrapper .swiper-slide picture::before {
  background-color: rgba(0, 0, 0, 0.5); 
}

  .banner-home .swiper-wrapper .swiper-slide{
    min-height: 620px; 
  }

  .banner-home .swiper-wrapper .swiper-slide picture{
    position: absolute;
    inset: 0;
    height: 100%;
  }

  .banner-home .swiper-wrapper .swiper-slide .banner-mobile,
  .banner-home .swiper-wrapper .swiper-slide .banner-desktop{
    height: 100%;
  }

  .banner-home .swiper-wrapper .swiper-slide .banner-mobile img,
  .banner-home .swiper-wrapper .swiper-slide .banner-desktop img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .banner-home .swiper-wrapper .swiper-slide .banner-texto{
    width: 90%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 90%;
  }

  .banner-home .swiper-wrapper .swiper-slide .banner-texto h2{
    font-size: 36px;
    margin-bottom: 40px;
  }

  .banner-home .swiper-wrapper .swiper-slide .banner-texto p{
    margin-top: 24px;
    font-size: 18px;
  }

}


@media (min-width: 1300px) {

  .banner-home .swiper-wrapper .swiper-slide .banner-texto {
    text-align: justify;
  }
 .banner-home.swiper .swiper-pagination .swiper-pagination-bullet {
    margin: 0 4px 40px !important;  
  }
  .banner-home .swiper-wrapper .swiper-slide .banner-desktop {
    display: block;
  }
  .banner-home .swiper-wrapper .swiper-slide .banner-mobile {
    display: none;
  }

  .banner-home .swiper-wrapper .swiper-slide .svg-mobile {
    display: none; 
  }

  .banner-home .swiper-wrapper .swiper-slide .svg-desktop {
    display: block;
  }

  .banner-home .swiper-wrapper .swiper-slide .banner-texto h2 {
  font-size: 48px;
  margin-bottom: 20px;
}

.banner-home .swiper-wrapper .swiper-slide .banner-texto {
  left: 40%;
}

}

@media (min-width: 1800px) {
 
  .banner-home,
  .ancho-maximo {
    max-width: 1800px; 
    margin: 0 auto;
  }

  .banner-home .swiper-wrapper .swiper-slide .banner-desktop img,
  .banner-home .swiper-wrapper .swiper-slide .banner-mobile img {
    width: 100%; 
    height: auto;
    object-fit: cover; 
  }

  .banner-home {
  position: relative;  
  overflow: hidden;    
  width: 100%;
}
}

/* BANNER SIMPLE - color sólido */

.simple-banner{
  position: relative;
  background: var(--celestePrincipal);
  color:#fff;
  overflow:hidden;
  margin: 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;

  width: min(100%, 1445px);
  aspect-ratio: 1445 / 339;   
  padding: 0;
}

.simple-banner .simple-banner-texto{
  position:relative;
  z-index:2;
  text-align:center;
  padding:0 24px;
}

.simple-banner .simple-banner-texto h2{
  font-weight:500;
  margin:0;
  font-size: 48px;             
}

.simple-banner .simple-banner-texto h2::after{
  content:"";
  display:block;
  width:80px;
  height:2px;
  background:#fff;
  margin:16px auto 0;
}

.simple-banner .simple-banner-texto p{
  margin:24px 0 0;
  font-weight:300;
  line-height:130%;
}

.simple-banner .svg-desktop{
  position:absolute;
  inset: calc(12/339*100%) calc(83.5/1445*100%); 
  pointer-events:none;
  z-index:1;
  display:block;
}
.simple-banner .svg-desktop svg{ width:100%; height:100%; display:block; }
.simple-banner .svg-mobile{ display:none; }

@media (max-width: 445px){
    .simple-banner{
    aspect-ratio: 320 / 515;
  }
   .simple-banner .svg-desktop{ display:none; }
  .simple-banner .svg-mobile{
    display:block;
    position:absolute;
    inset: calc(20.5/515*100%) calc(20/320*100%); 
    pointer-events:none;
    z-index:1;
  }
  .simple-banner .svg-mobile svg{ width:100%; height:100%; display:block; }
  .simple-banner .simple-banner-texto{
    max-width: 280px;  
    text-align:left;
    padding:0;
  }
  .simple-banner .simple-banner-texto h2{
    font-size: 26px;
  }
  .simple-banner .simple-banner-texto p{ font-size: 18px; }
   .simple-banner .simple-banner-texto h2::after{
    margin-left:0; margin-right:auto; 
  }
}

@media (min-width: 446px) and (max-width: 600px){
  .simple-banner{
    aspect-ratio: 320 / 515;
  }

  .simple-banner .svg-desktop{ display:none; }
  .simple-banner .svg-mobile{
    display:block;
    position:absolute;
    inset: calc(20.5/515*100%) calc(20/320*100%); 
    pointer-events:none;
    z-index:1;
  }
  .simple-banner .svg-mobile svg{ width:100%; height:100%; display:block; }

  .simple-banner .simple-banner-texto{
    max-width: 280px;  
    text-align:left;
    padding:0;
    margin-left: -60px;
  }
  .simple-banner .simple-banner-texto h2{
    font-size: 36px;
  }
  .simple-banner .simple-banner-texto h2::after{
    margin-left:0; margin-right:auto; 
  }
  .simple-banner .simple-banner-texto p{ font-size: 22px; }
}
@media (min-width: 601px) and (max-width: 1024px)  {

  .simple-banner .simple-banner-texto h2{ font-size: 36px; } 
  .simple-banner .simple-banner-texto p{ font-size: 18px; }

  .simple-banner {
    width: 100%;
    aspect-ratio: 1445 / 939;
}
}
@media (min-width: 1025px)  {
  .simple-banner{
    width: 100%;               
    aspect-ratio: 1445 / 339;  
  }
  .simple-banner .simple-banner-texto h2{ font-size: 36px; } 
  .simple-banner .simple-banner-texto p{ font-size: 18px; max-width: 1000px; }
}

@media (min-width: 1800px){
  .simple-banner{ max-width: 1445px; }
}

/* IMAGE BANNER - banner estático con imagen de fondo */
.image-banner{
  position: relative;
  color:#fff;
  overflow:hidden;
  margin: 0 auto;
  display:flex;
  align-items:stretch;       
  justify-content:flex-start;
  width: min(100%, 1445px);
  aspect-ratio: 1445 / 360;
}

.image-banner-picture,
.image-banner-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.image-banner-img{
  object-fit:cover;
  object-position:center;    
  z-index:0;
}

.image-banner-texto{
  position:relative;
  z-index:2;
  background:#348fff86;     
  align-self:stretch;      
  display:flex;
  align-items:center;    
  margin-left: clamp(16px, 6vw, 96px);
  width: min(560px, 42%);
  padding: clamp(16px, 2.5vw, 28px) clamp(18px, 2.8vw, 32px);
  margin-left: 20%;
}

.image-banner-inner{ width:100%; text-align:left; }

.image-banner-texto h2{
  font-weight:500;
  margin:0;
  font-size: clamp(28px, 4vw, 48px);
  line-height:1.1;
}
.image-banner-texto h2::after{
  content:"";
  display:block;
  width:80px;
  height:2px;
  background:#fff;
  margin:16px 0 0;
}
.image-banner-texto p{
  margin:24px 0 0;
  font-weight:300;
  line-height:130%;
  font-size: clamp(14px, 1.6vw, 18px);
}

.image-banner .svg-desktop{
  position:absolute;
  inset: calc(12/339*100%) calc(83.5/1445*100%);
  pointer-events:none;
  z-index:3;
  display:block;
}
.image-banner .svg-desktop svg{ width:100%; height:100%; display:block; }
.image-banner .svg-mobile{ display:none; }

@media (max-width: 1024px) and (min-width: 601px){
  .image-banner{ width:100%; aspect-ratio: 1445 / 360; }
  .image-banner-texto{ width:min(520px,48%); }
}

@media (max-width: 600px){
  .image-banner{
    aspect-ratio: 320 / 455;
    justify-content:center;        
  }

  .image-banner .svg-desktop{ display:none; }
  .image-banner .svg-mobile{
    display:block;
    position:absolute;
    inset: calc(20.5/515*100%) calc(20/320*100%);
    pointer-events:none;
    z-index:3;
  }
  .image-banner-texto{
    margin-left: 0;
    width: 100%;      
    max-width: 100%;
    padding: 60px;
    margin-left: unset;
  }
  .image-banner-texto h2{ font-size: 26px; }
  .image-banner-texto h2::after{ margin-left:0; }
  .image-banner-texto p{ font-size: 16px; }
}

@media (min-width: 1800px){
  .image-banner{ max-width: 1445px; }
}

/* HOME - SECCIÓN 2 - CARDS */

.cards-cta { 
  margin: 24px;
 }

.cards-cta__header { margin-bottom: 12px; }
.cards-cta .cards-cta__title{
  color:var(--celestePrincipal); 
  font-weight:400; 
  font-size:20px; 
  font-style: normal;
  line-height:1.2; 
  margin:0 0 6px;
}

.cards-cta .cards-cta__grid{
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 16px !important; 
  align-items: stretch;
}

.cards-cta__grid > *{ margin:0 !important; }
.cards-cta__grid > * > *{ margin:0 !important; }
.cards-cta__grid > div,
.cards-cta__grid > div > div { display: contents !important; }

.cards-cta__grid > * a.cards-cta__item{ 
  width:90%; 
  display:flex;
 }

.cards-cta__item{
  display:flex;
  align-items:center;
  gap:16px;
  padding:16px 18px;
  background:#fff;
  color:var(--celestePrincipal);
  text-decoration:none;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(0,0,0, 0.08);
  transition:background-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.cards-cta__icon{
  position:relative;
  width:56px;
  height:56px;
  flex:0 0 56px;
  display:grid;
  place-items:center;
}
.cards-cta__icon::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:var(--celestePrincipal); 
  transition:background-color 0.2s;
}

.cards-cta__icon figure{ margin:0; }
.cards-cta__icon img{
  width:28px;
  height:28px;
  display:block;
  object-fit:contain;
  position:relative;
  z-index: 1; 
}
.cards-cta__icon--hover{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  opacity:0;
  pointer-events:none;
  transition:opacity 0.18s;
}
.cards-cta__icon--default{
  position:relative;
  z-index:1;
  transition:opacity 0.18s;
}

.cards-cta__label{
  color:inherit;
  font-size:16px;
  font-weight:500;
  line-height:1.25;
}

.cards-cta__item:hover,
.cards-cta__item:focus-visible{
  background:var(--celestePrincipal);
  color:#fff;
  box-shadow:0 12px 28px rgba(74,118,209,0.35);
  transform:translateY(-1px);
}
.cards-cta__item:hover .cards-cta__icon::before,
.cards-cta__item:focus-visible .cards-cta__icon::before{
  background:#fff; 
}
.cards-cta__item:hover .cards-cta__icon--default,
.cards-cta__item:focus-visible .cards-cta__icon--default{
  opacity:0;
}
.cards-cta__item:hover .cards-cta__icon--hover,
.cards-cta__item:focus-visible .cards-cta__icon--hover{
  opacity:1;
}

.cards-cta__item{ padding:14px 16px; min-height:64px; }
.cards-cta__icon{ width:44px; height:44px; flex:0 0 44px; }
.cards-cta__icon img{ width:30px; height:30px; }
.cards-cta__label{ font-size:15px; }

@media (min-width: 500px){
 .cards-cta { 
  padding: 2rem;
 }

}

@media (min-width: 1090px){
  .cards-cta .cards-cta__grid{
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 48px !important;      
    row-gap: 18px !important;
  }

  .cards-cta__grid > * a.cards-cta__item{ 
  width:fit-content; 
  min-width: 100%;
 }

 .cards-cta .cards-cta__title{
  font-size:30px; 
}

}

/* HOME - SECCIÓN 3 - NEUROREHAB */

.neurorehab { position: relative;}
.neurorehab__bg { 
  background: var(--grisEncabezado); 
  padding:24px 0 28px;
  height: fit-content;
}

.neurorehab__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px; 
}

.neurorehab__header {
  margin: 0 0 10px 0;
}

.neurorehab__title {
 color:var(--celestePrincipal); 
  font-weight:400; 
  font-size:20px; 
  font-style: normal;
  line-height:1.2; 
  margin:0 0 6px;
  flex-shrink: 0;

  display: flex;
width: 337px;
flex-direction: column;
justify-content: center;
}

.neurorehab__image{ margin: 0 0 14px 0; }
.neurorehab__image img,
.neurorehab__image figure { display:block; width:100%; height:auto; }
.neurorehab__image figure{ margin:0; }  

.neurorehab__body{
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.55;
  color: var(--grisLetra);
}
.neurorehab__body p{ margin: 0 0 10px 0; }  

.neurorehab__list{
  list-style: none;
  margin: 8px 0 18px;
  padding: 0;
}

.neurorehab__item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:16px;
  line-height:1.35;
  margin:10px 0;
}

.neurorehab__icon{
  flex:0 0 auto;
  display:inline-flex;
  transform:translateY(2px);
}
.neurorehab__icon svg{
  width:22px; height:22px;
}

.neurorehab__link-wrapper a{
  color: var(--celestePrincipal);
  text-decoration: none;
}
.neurorehab__link-wrapper a:hover,
.neurorehab__link-wrapper a:focus{
  text-decoration: underline;
}
.neurorehab__link-wrapper a:focus-visible{
  outline: 2px solid var(--celestePrincipal);
  outline-offset: 2px;
}

.neurorehab__cta{
  margin-top: 6px;
  cursor: pointer;
}
.neurorehab__cta a {
  text-decoration:none;
  color: white;
  font-weight: 300;
}

.neurorehab__cta:hover a {
  color: var(--celestePrincipal);
}

.neurorehab__title > div,
.neurorehab__body > div,
.neurorehab__cta > div,
.neurorehab__list > div,
.neurorehab__list > div > div,
.neurorehab__link-wrapper > div { 
  display: contents; 
}



@media (min-width: 768px){
  .neurorehab__bg{ padding: 32px 0 36px; }
  .neurorehab__title{ font-size: 24px; margin-bottom: 10px; }
  .neurorehab__body{ font-size: 16px; }
}

@media (min-width: 992px){

  .neurorehab__bg{ padding: 40px 0; margin-top: 5rem; margin-bottom: 4rem; }

  .neurorehab,
  .neurorehab__bg { overflow: visible; }

  .neurorehab__content{
    display:grid;
    grid-template-columns: 40% 60%; 
    grid-auto-rows: min-content; 
    column-gap: 100px;
    align-items: start; 
    margin: 0 auto;
  }

  .neurorehab__body > div { 
    display: contents !important; 
  }

  .neurorehab__header{ grid-column: 2; margin: 0 0 12px 0; max-width: 60%; }
  .neurorehab__title{ font-size: 20px; }
  .neurorehab__body{ font-size: 16px; grid-column:2; margin: 0 0 12px 0; max-width: 70%; }
  .neurorehab__list{ grid-column:2; margin: 6px 0 14px 0; max-width: 60%; }
  .neurorehab__item{ margin: 10px 0; }
  .neurorehab__cta{ grid-column:2; margin-top: 8px; }

  .neurorehab__image{
    grid-column: 1;
    grid-row: 1 / span 4;
    position: absolute;
    left: 1rem;                    
    top: -18px;                        
    bottom: -25px;                      
    margin: 0;
    z-index: 1;   
  }
  .neurorehab__image img,
  .neurorehab__image figure {
    max-width: none;
    height: auto;
    width: 100%;
    display: block;
    object-fit: cover; 
  }
      
  .neurorehab__header,
  .neurorehab__body,
  .neurorehab__list,
  .neurorehab__cta{
    grid-column: 2;
  }

}

@media (min-width: 1200px){
  .neurorehab__title{ font-size: 30px; }
    .neurorehab__image img,
  .neurorehab__image figure{ 
    width: calc(100% + 42px);
  }
  .neurorehab__image{
    top: -20px;                        
    bottom: -15px; 
    left: 2rem;   
}
}
@media (min-width: 1400px){
  .neurorehab__image{            
    top: -25px;                        
    bottom: -10px;    
    left: 5rem; 
  }

}
@media (min-width: 1600px){
   .neurorehab__image{ left: 10rem;  }
}


/* SECCIÓN - HISTORIAS DE PACIENTES */

.btn-secondary a {
  cursor: pointer;
  text-decoration:none;
  color: white;
  font-weight: 300;
}

.btn-secondary:hover a {
  color: var(--celestePrincipal);
}
.stories {
  padding: 2rem 0 2rem 0;
}
.stories__container{margin:0 auto;}
.stories__header{margin:0 20px 12px;}
.stories__title {
  color: var(--celestePrincipal);
  font-weight: 400;
  font-style: normal;
  margin:0 0 6px}

.stories__swiper{position:relative;overflow:visible}
.stories__slide{padding:0 0 12px}

.stories__panel{
  background:var(--celestePrincipal);
  color:#fff;
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  align-items:center;
  grid-template-areas:
    "title"
    "image"
    "body"
    "cta";
  align-items: start;
  row-gap: 16px;
}

.stories__slide .btn-secondary { 
  grid-area: cta;
  margin-top: auto;
 }
.stories__col--image{margin:0; grid-area: image;}
.stories__col--image picture, .stories__col--image img { 
  display:block; 
  width:100%;
  height:auto; 
  object-fit:cover;
  }

.stories__story-title{
  margin:0 0 10px;
  grid-area: title;
}
.stories__story-body{
  margin:10px 0 14px 0;
  grid-area: body;
}
.stories__col--text{ 
  display: contents;
  padding: 2rem;
 }

.stories .stories-pagination .swiper-pagination-bullet {
  width: 10px !important;       
  height: 10px !important;       
  margin: 20px 4px !important;    
  border-radius: 50% !important;
  margin-left: 8px !important;  
  margin-right: 8px !important;
  background-color: #E6E6E6 !important;  
  opacity: 1 !important;
}

.stories .stories-pagination .swiper-pagination-bullet-active {
  background-color: var(--azulPrincipal) !important;  
}

.stories .stories-pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
@media (max-width:991px) {
.stories__panel {
  padding: 20px 20px 40px 20px;
}
.stories__slide .btn-secondary {
  width: 80%;
  margin: 0 auto;
}

.stories__slide .btn-secondary a {
  display: flex;
  justify-content: center;
  align-items: center;
}

}

@media (min-width:992px){
  .stories__panel{
    grid-template-columns:50% 40%;
    grid-template-areas: "text image";
    padding: 0 80px;
    align-items: stretch;  
  }
  .stories__story-title{
    margin-bottom:20px;
  }
  .stories__col--text{ 
    display: block;
    grid-area: text;
    margin-top: 2rem;
   }
  .stories__header{margin:0 40px 12px; padding-left: 2rem;}
  .stories__story-body{
    max-width:520px;
  }
  .stories__col--image{
    grid-area: image;
    display: grid;                  
    align-self: stretch;
    overflow: hidden;
    position: relative;             
    min-height: 1px;
  }

  .stories__col--image picture,
  .stories__col--image div {
    width: 100%;
    height: 100%;                    
    display: block;
    max-width: none;
    max-height: none;
  }

  .stories__col--image img {
    width: 100%;
    height: 100%;
    object-fit: cover;              
    display: block;
    max-width: none;
    max-height: none;
  }

  .stories__col--image::after{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 19%;           
    height: 100%;
    background: #348fff86;
    pointer-events: none;   
  }

  .stories__swiper .swiper-wrapper{ align-items: stretch; }
  .stories__swiper .swiper-slide{ height: auto; }

}

/* NUESTRA CLÍNICA - SECCIÓN 1 */

.nc-sec1__grid{
  display: grid;
  background: var(--grisEncabezado);
  gap: 20px;
  padding: 28px 20px;    
}

.nc-sec1__media {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

.nc-sec1__title{
  color: var(--celestePrincipal);
  margin: 0 0 8px;
}

.nc-sec1__title::after{
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background: var(--verdePrincipal);
  margin-top: 10px;
}

.nc-sec1__copy p{
  margin: 0 0 14px;
  color: var(--grisLetra);
}

.nc-sec1__media img{
  width: 100%;
  height: auto;
  display: block;
}

@media (min-width: 992px){
  .nc-sec1{ padding: 56px 0; } 

  .nc-sec1__grid{
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "title media"
      "copy  media";
    gap: 22px;
    align-items: stretch;
  }
  .nc-sec1__title{ font-size: 30px; grid-area: title; }
  .nc-sec1__copy{  grid-area: copy; }
  .nc-sec1__media{ 
    grid-area: media; 
    align-self: stretch;      
    margin-top: -56px;        
    margin-bottom: -56px; 
  }
  .nc-sec1__media img{
    width: 95%;
    height: 100%;
    object-fit: cover;
  }
  .nc-sec1__copy p{
  font-size: 16px;
}
}

/* NUESTRA CLÍNICA - SECCIÓN 2 ENLACES */

.cta-split {
  margin-top: 2rem;
}

.cta-split__row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0;           
}

.cta-split__link{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 12px;
  min-height: 56px;         
  text-align: center;
  text-decoration: none;
  line-height: 1.25;
  font-weight: 500;
  font-size: 25px;
  word-break: break-word;    
}

.cta-split__link--light{
  background: var(--grisEncabezado);      
  color: var(--celestePrincipal);        
}

.cta-split__link--primary{
  background: var(--celestePrincipal);     
  color: #ffffff;           
  border-left: 1px solid var(--celestePrincipal); 
}
.cta-split__link--light:hover,
.cta-split__link--primary:hover {
  background: var(--azulPrincipal);      
  color: white; 
}

@media (max-width: 480px){
  .cta-split__link{
    padding: 14px 10px;
    min-height: 48px;
    font-size: 18px;
  }
}

/* NUESTRA CLÍNICA - SECCIÓN 3 - QUÉ NOS DIFERENCIA */

.nc-sec2 { padding: 0; margin-top: 2rem; }
.nc-sec2__grid {
  display: grid;
  gap: 20px;
  grid-template-areas:
    "title"
    "media"
    "intro"
    "items"
    "btn";
  background: var(--grisEncabezado);
  padding: 28px 20px; 
}
.nc-sec2__content{ display: contents; } 
.nc-sec2__media { margin: 0; padding: 0; grid-area: media; }
.nc-sec2__media img{
  width: 100%; height: auto; display: block;
}

.nc-sec2__title{
  color: var(--celestePrincipal);
  margin: 0 0 10px;
  font-weight: 500;
  font-size: 26px;
  grid-area: title; 
}
.nc-sec2__title::after{
  content:""; display:block; width:64px; height:3px;
  background: var(--celestePrincipal);
  margin-top: 10px;
}
.nc-sec2__intro{
  color: var(--grisLetra);
  margin: 14px 0 18px;
  line-height: 1.6;
  grid-area: intro;
}
.nc-sec2__items{ display: grid; gap: 14px; grid-area: items; }
.nc-sec2__toggle{ position: absolute; opacity: 0; pointer-events: none; }
.nc-sec2__item-head{
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  color: var(--celestePrincipal);
  font-weight: 600;
  padding: 8px 0;
}
 .nc-sec2__item-head span {
    font-size: 20px;
  }
.nc-sec2__chev{ flex: 0 0 auto; transform: rotate(0deg); transition: transform 0.2s ease; }
.nc-sec2__item-body{ display: none; padding: 6px 0 2px; }
.nc-sec2__item-body p{ margin: 0; color: var(--grisLetra); line-height: 1.6; }
.nc-sec2__toggle:checked + .nc-sec2__item-head .nc-sec2__chev{ transform: rotate(180deg); }
.nc-sec2__toggle:checked ~ .nc-sec2__item-body{ display: block; }
.nc-sec2 .btn{ margin-top: 18px; display: inline-block; grid-area: btn; justify-self: start; }


  .nc-sec2 .btn{ 
    grid-area: btn; 
    display: flex; 
    justify-content: center; 
    align-items: center ; 
    justify-self: center;
    width: 80%;
    margin: 18px auto; 
  }
@media (min-width: 992px){
  .nc-sec2__band { padding: 56px 0; }
  .nc-sec2__grid{
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: stretch;          
  }
  .nc-sec2__media{
    margin-top: -56px;               
    margin-bottom: -56px;
    align-self: stretch;
  }
  .nc-sec2__media img{
    height: 100%;
    object-fit: cover;
    max-width: 658px;
    margin: 0 auto;
  }
  .nc-sec2__title{ font-size: 30px; }
  .nc-sec2__item-body{ display: block; }
  .nc-sec2__chev{ display: none; }
  .nc-sec2__item-head{ cursor: default; }
  .nc-sec2__content{ display: block; } 
  .nc-sec2__grid{
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "media content";
  }
  .nc-sec2__media{   grid-area: media; }
  .nc-sec2__content{ grid-area: content; }
  .nc-sec2__title,
  .nc-sec2__intro,
  .nc-sec2__items,
  .nc-sec2 .btn{ 
    grid-area: auto; 
    display: inline-block; 
    justify-self: start;
    margin-top: 18px;
    width: fit-content;
  }
}

@media (min-width: 1800px){
  .nc-sec2__media img{
    max-width: 758px;
  }
}

/* NUESTRA CLÍNICA - SECCIÓN 4 - COMPROMISO */

.nc-sec3 { padding: 24px; }
.nc-sec3__title{
  color: var(--celestePrincipal);
  margin: 0 0 18px;
  font-weight: 500;
  line-height: 1.2;
  font-size: 26px;
}
.nc-sec3__title::after{
  content:"";
  display:block;
  width:64px;
  height:3px;
  background: var(--verdePrincipal);
  margin-top:10px;
}
.nc-sec3__cards{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  justify-content:center; 
}
.nc-card{
  background:#ffffff;
  border-radius:16px;
  box-shadow:0 4px 12px rgba(0,0,0,0.20);
  padding:18px;
  display:flex;
  align-items:flex-start;
  gap:14px;
  flex:1 1 100%;     
  max-width:520px;  
}
.nc-card__icon{
  width:56px;
  height:56px;
  border-radius:50%;
  background: var(--celestePrincipal);
  display:grid;
  place-items:center;
  flex:0 0 56px;
}
.nc-card__icon svg{
  width:36px;
  height:36px;
  fill:#ffffff;
}
.nc-card__title{
  margin:2px 0 4px;
  color: var(--celestePrincipal);
  font-weight:600;
  font-size:18px;
  line-height:1.2;
}
.nc-card__text{
  margin:0;
  color: var(--celestePrincipal);
}
@media (min-width: 640px){
  .nc-card{ flex: 1 1 calc(50% - 20px); }
  .nc-sec3 { padding: 44px; }
  .nc-sec3__cards{
   max-width: 1200px;
   margin: 0 auto;
  }
  .nc-sec3__title {
    margin-bottom: 2rem;
  }
}
@media (min-width: 992px){
  .nc-card{ flex: 1 1 calc(33.333% - 20px); }
}
@media (min-width: 1280px){
  .nc-card{ flex: 1 1 calc(25% - 20px); } 
}

/* NUESTRA CLÍNICA - SECCIÓN 5 - FLIP CARDS */
.nc-flipcards { padding: 24px;}
.nc-flipcards__title{
  color: var(--celestePrincipal);
  margin: 0 0 18px;
  font-weight: 500;
  line-height: 1.2;
  font-size: 26px;
}
.nc-flipcards__title::after{
  content:""; 
  display:block; 
  width:64px; 
  height:3px;
  background: var(--verdePrincipal); 
  margin-top:10px;
}
.nc-flipcards__grid{
  list-style:none; margin:0; padding:0;
  display:grid; gap:20px;
  justify-content:center; 
  grid-template-columns: repeat(1, minmax(220px, 1fr));
}
.flip-card{
  height:195px; perspective:1000px;
  border-radius:14px;
  box-shadow: 0 10px 28px rgba(0,0,0,.10);
  background:#fff; 
  position:relative;
  outline: none; 
}
.flip-card:focus-visible{ box-shadow:0 0 0 3px rgba(52,143,255,.35), 0 10px 28px rgba(0,0,0,.10); }
.flip-card__inner{
  position:relative; width:100%; height:100%;
  transform-style:preserve-3d;
  transition: transform 0.5s ease;
  will-change: transform;
}
.nc-flipcards__grid.cards-grid--collapsed:not(.is-expanded) .flip-card:nth-child(n+4){ display:none; }
.nc-flipcards__more {
    margin: 20px auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.nc-flipcards__more:hover {
  background-color: var(--celestePrincipal);
  color: white;
}
.flip-card.is-flipped .flip-card__inner{ transform: rotateY(180deg); }
.flip-card__face{
  position:absolute; inset:0;
  border-radius:14px;
  backface-visibility:hidden;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:18px; text-align:center;
}
.flip-card__front{
  background:#ffffff;
}
.flip-card__icon{
  width:74px; height:74px; border-radius:50%;
  display:grid; place-items:center; margin-bottom:20px;
  flex:0 0 64px;
}
.flip-card__icon svg{ width:74px; height:74px;}
.flip-card__title{ color: var(--grisLetra); font-weight:300; line-height:1.25; }
.flip-card__back{
  background:var(--celestePrincipal); 
  transform: rotateY(180deg);
  color:#ffffff; 
  text-align:left;
}
.flip-card__list{
  margin:0; 
  padding-left:18px;
  width:100%;
  max-height:150px;      
  overflow:auto;
  list-style: disc;
}
.flip-card__list li{ 
  margin:6px 0;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 120%; 
}
.flip-card{ touch-action: manipulation; }
@media (min-width:560px){ 
  .nc-flipcards__grid{ 
    grid-template-columns: repeat(2, minmax(220px, 1fr)); 
    max-width: 1200px;
    margin: 0 auto;
  }
  .nc-flipcards__title {
    margin-bottom: 2rem;
  }
 }
@media (min-width:768px){ 
.nc-flipcards__grid{ grid-template-columns: repeat(3, minmax(220px, 1fr)); } 
.nc-flipcards { padding: 44px;}}
@media (min-width:992px){ .nc-flipcards__grid{ grid-template-columns: repeat(4, minmax(220px, 1fr)); } }
@media (min-width:1280px){ .nc-flipcards__grid{ grid-template-columns: repeat(5, minmax(220px, 1fr)); } }
@media (min-width:992px){ .nc-flipcards__more{ display:none; } }
@media (hover:hover) and (pointer:fine){
  .flip-card:hover .flip-card__inner{ transform: rotateY(180deg); }
}

/* NUESTRA CLÍNICA - SECCIÓN 6 - ENLACES DE CONTACTO */

.nc-contacts { 
  padding: 24px;
  max-width: 1200px;
  margin: 0 auto;
 }
.nc-contacts__grid{
  display: grid;
  gap: 28px;
}
.nc-ct{ text-align: center; }
.nc-ct__title{
  margin: 0 0 14px;
  color: var(--celestePrincipal);
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
}
.nc-ct__line{ 
  margin: 12px 0;
}
.nc-ct__link{
  color: var(--grisLetra);             
  text-decoration: none;              
  border-bottom: 2px solid var(--celestePrincipal); 
  padding-bottom: 2px;
  display: inline-block;              
  overflow-wrap: anywhere;  
  font-size: 15px;  
}
.nc-ct__link:focus-visible{
  outline: 2px dashed var(--celestePrincipal);
  outline-offset: 3px;
}
@media (min-width: 992px){
  .nc-contacts__grid{
    grid-template-columns: repeat(3, minmax(260px, 1fr));
    gap: 40px;
    align-items: start;
  }
  .nc-ct__title{
  font-size: 20px;
  margin: 0 0 14px;
  color: var(--celestePrincipal);
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  min-height: 54px;                 
  display: flex;
  align-items: flex-start;
  justify-content: center;
  text-align: center;
}
.nc-ct__link{
  font-size: 16px;   
  text-align: center;          
}
}

























/* FOOTER */


.ct-footer {
  color: #FFFFFF;
  line-height: 1.5;
}

.ct-footer__top {
  background: var(--azulPrincipal);
  padding: 48px 0;
}

.ct-footer__bottom {
  background: var(--celestePrincipal);
  padding: 18px 0;
  color: #FFFFFF;
  font-size: 14px;
}

.ct-container {
  margin: 0 auto;
  padding-inline: 16px;
  max-width: 1200px;
}

/* ======= Grid ======= */
.ct-footer__grid {
  display: grid;
  gap: 22px;
}

@media (min-width: 992px) {
  .ct-footer__grid {
    grid-template-columns: 1fr 1fr 1fr; /* 3 columnas desktop */
    gap: 36px;
  }
  .ct-container {
  padding-left: 8rem;
}
}

/* ======= Columnas ======= */

/* Títulos con línea sutil debajo */
.ct-footer__title {
  font-size: 17.156px;
  margin: 0 0 16px;
  position: relative;
}

.ct-footer__title::after {
  content: "";
  display: block;
  width: 56px;
  height: 2px;
  background: var(--celestePrincipal);
  margin-top: 10px;
}

/* Listas de links */
.ct-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ct-footer__list ul {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

.ct-footer__list li { margin: 14px 0; }

.ct-footer__list a {
  color: #FFFFFF;
  text-decoration: none;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 14px; 
  transition: opacity 0.2s ease;
}

.ct-footer__list a:hover,
.ct-footer__list a:focus {
  opacity: 0.85;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ======= Redes sociales ======= */
.ct-footer__col--social { display: flex; flex-direction: column; gap: 24px; }

.ct-social {
  list-style: none;
  display: flex;
  gap: 16px;
  padding: 0;
  margin: 0 0 8px;
  align-items: center;
}

.ct-social a {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  text-decoration: none;
  transition: transform 0.15s ease, opacity 0.2s ease;
}

.ct-social a:hover,
.ct-social a:focus { transform: translateY(-2px); opacity: 0.9; }

.ct-icon {
  width: 42px;
  height: 42px;
  fill: currentColor;
}

/* ======= Sello de acreditación ======= */
.ct-accreditation img {
  max-width: 220px;              /* tamaño aproximado del mock */
  width: 100%;
  height: auto;
  opacity: 0.6;                   /* leve transparencia como referencia del ejemplo */
  display: block;
}

/* ======= Bottom strip ======= */
.ct-footer__bottom p {
  margin: 0;
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
}

/* ======= Espaciado móvil ======= */
@media (max-width: 992px) {
  .ct-footer__top { padding: 50px 40px; }
  .ct-footer__title { font-size: 20px; margin-bottom: 20px; }
  .ct-accreditation img { max-width: 260px; }
  .ct-footer__list a { font-size: 16px; }
  .ct-footer__bottom p { flex-wrap: wrap;}
}


/* CONTACTO */


/* Sección contacto - segunda */
.contacto{
  width:100%;
  margin:0;
  padding: 3rem 0 8px;
}
.contacto__wrap{
   width:min(100%, 1200px);
  margin:0 auto;
  padding: 0 24px;
}
.contacto__title{
  color: var(--celestePrincipal);
  font-weight:400; 
  line-height:1.2; 
  font-size: clamp(20px, 3vw, 30px);
  margin: 0 0 8px 0;
  position: relative;
}
.contacto__title::after{
  content:"";
  display:block;
  width:56px; height:3px;
  margin-top: 12px;
  background:var(--verdePrincipal); 
  border-radius:2px;
  margin-bottom: 20px;
}
.contacto__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 44px 72px;    
  width:min(100%, 900px);
  margin: 2rem auto;
}
.contacto__subtitle{
  color: var(--celestePrincipal);
  font-weight: 600;
  font-size: 20px;
  margin: 0 0 12px 0;
  line-height: 100%;
}
.contacto__list{
  list-style:none;
  margin:0;
  padding:0;
}
.contacto__item{
  display:grid;
  grid-template-columns: auto 1fr; 
  align-items: center;
  column-gap: 16px;
  row-gap: 6px;
  margin: 18px 0;
}
.contacto__icon{
  width: 44px; height: 44px;     
  display:block;
  object-fit: contain;
}
.contacto__text{
  color: var(--grisLetra);
  font-size: 16px;
  line-height: 1.45;
  word-break: break-word;
}
.contacto a{
  color: var(--grisLetra);
  text-decoration:none;
}
.contacto a:hover{ color: var(--azulPrincipal); }
@media (max-width: 1024px){
  .contacto__grid{ gap: 20px; }
  .contacto__text {
    max-width: 80%;
}
}
@media (max-width: 600px){
  .contacto__wrap{ padding: 0 20px; }
  .contacto__grid{ grid-template-columns: 1fr; gap: 24px; }
  .contacto__subtitle{ margin-top: 8px; font-size: 16px; }
  .contacto__icon{ width: 40px; height: 40px; }
  .contacto__text, .contacto a{ font-size: 15px; }
}
@media (min-width: 1024px) and (max-width: 1199px){
  .contacto__grid{ gap: 20px; }
  .contacto__text {
    max-width: 90%;
}
}
@media (min-width: 1200px){
  .contacto__block {
    margin: 20px;
    min-width: 500px;
}
.contacto__grid{ 
  width:min(100%, 1100px);
}
.contacto__title{
  font-size: 30px;
}
.contacto a{
  font-size: 18px;
}
}


/* ===== Sección categorías ===== */
.faq-categorias{
  padding: 24px 0 8px;
  margin-bottom: 2rem;
}
.faq-categorias__wrap{
  width: min(100%, 1200px);
  margin: 0 auto;
  padding: 0 24px;
}
.faq-categorias__title{
  color: var(--celestePrincipal);
  font-weight:400; 
  line-height:1.2; 
  font-size: clamp(20px, 3vw, 30px);
  margin: 0 0 8px 0;
}
.faq-categorias__title::after{
   content:"";
  display:block;
  width:56px; height:3px;
  margin-top: 12px;
  background:var(--verdePrincipal); 
  border-radius:2px;
  margin-bottom: 20px;
}
.faq-grid{
  display:grid;
  gap:24px;
  margin-top:28px;
  align-items:start; 
}
.acc{
  background:#fff;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
  padding:18px;
}
.acc__head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  cursor:pointer;
}
.acc__left{display:flex;align-items:center;gap:12px;min-width:0;}
.acc__icon{width:48px;height:48px;object-fit:contain;flex:0 0 auto;}
.acc__title{color:var(--celestePrincipal);font-size:16px;font-weight:600;margin:0;line-height:1.2;}
.acc__toggle{border:0;background:transparent;padding:6px;margin:-6px;cursor:pointer;flex:0 0 auto;}
.acc__chevron{display:block;transition:transform .2s ease;transform:rotate(0deg);}
.acc.is-open .acc__chevron{transform:rotate(180deg);}
.acc__content{
  overflow:hidden;
  height:0;          
  margin-top:0;
  opacity:0;
  transition:height .24s ease, margin-top .2s ease, opacity .2s ease;
}
.acc.is-open .acc__content{
  margin-top:20px;
  opacity:1;
  min-height: 180px;
  display: flex;
  flex-direction: column;
}
.acc__content > *{ min-height:0; }
.acc__list{ margin:0; padding-left: 18px; }
.acc__list li{ margin: 8px 0; color: var(--grisLetra); }
.acc__list li::marker{ color: var(--celestePrincipal); }
.acc__link{ color: var(--celestePrincipal); text-decoration: underline; }
.acc__cta-pill{
  display:inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border: 2px solid #D9F7C8;
  border-radius: 10px;
  padding: 8px 12px;
  color: var(--grisLetra);
  background: #FBFFFA;
  width: 80%;
}
.faq-more{ display:flex; justify-content:center; margin-top:16px; }
.faq-more__btn{
  display:inline-block;
  padding: 14px 24px;
  border-radius: 999px;
  background: var(--celestePrincipal);
  color:#fff; border:0; cursor:pointer;
  width: fit-content;
  max-width: 100%;
  min-width: 230px;
  margin-left: -30px;
  font-weight: 500;
}
.faq-more{ display: none; }             
.faq-more__btn[hidden]{ display: none !important; }
@media (max-width:600px){
  .acc.is-hidden-mobile{ display:none; }
  .faq-more{ display: flex; } 
  .acc {
  max-width: 80%;
}
}
@media (min-width:1200px){
  .faq-grid{ grid-template-columns: repeat(4, minmax(0,1fr)); }
  .faq-categorias__title{
  font-size: 30px;
}
  .acc.is-open .acc__content{
  align-items: center;
}
}
@media (min-width:601px) and (max-width:1199px){
  .faq-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .acc.is-open .acc__content{
  align-items: center;
}
.acc {
  max-width: 80%;
}

}
@media (max-width:600px){
  .faq-grid{ grid-template-columns: 1fr; }
}

/* ====== Preguntas Frecuentes (qa-*) ====== */
.qa{ padding:3rem 0 8px; }
.qa__wrap{ width:min(100%, 1200px); margin:0 auto; padding:0 24px; }
.qa__title{
  color: var(--celestePrincipal);
  font-weight: 500;
  font-size: clamp(20px, 3vw, 30px);
  margin: 0 0 10px;
}
.qa__title::after{
  content:""; display:block; width:72px; height:3px;
  background: var(--verdePrincipal); margin-top:12px;
}
.qa-list{ 
    list-style:none; 
    padding:0; 
    margin:2rem auto; 
    display:flex; 
    flex-direction:column; 
    gap:14px; 
    width:min(100%, 1100px);}
.qa-item{
  --qa-radius: 30px;
  --qa-stroke: 2px;
  position: relative;
  background: #fff;
  border-radius: 0 var(--qa-radius);
  padding: 10px;              
}
.qa-item::before{
  content:"";
  position:absolute; inset:0;
  border: var(--qa-stroke) solid var(--verdePrincipal);
  border-radius: inherit;
  pointer-events:none;         
}
.qa-head{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  width:100%; background:transparent; border:0; padding:12px 12px;
  cursor:pointer; text-align:left; border-radius: calc(var(--qa-radius) - 2px);
}
.qa-q{
  color: var(--celestePrincipal);
  font-weight: bold;
  font-size: 20px;
  line-height: 1.3;
}
.qa-toggle{ position:relative; width:24px; height:24px; flex:0 0 auto; }
.qa-toggle::before, .qa-toggle::after{
  content:""; position:absolute; left:50%; top:50%;
  width:16px; height:2px; background: var(--celestePrincipal);
  transform: translate(-50%,-50%);
  transition: transform .2s ease, opacity .2s ease;
}
.qa-toggle::after{ transform: translate(-50%,-50%) rotate(90deg); } 
.qa-item.is-open .qa-toggle::after{ transform: translate(-50%,-50%) rotate(90deg) scaleX(0); opacity:0; } 
.qa-panel{
  overflow:hidden;
  height:0;                   
  margin: 0 12px 10px;        
  transition: height .26s ease;
}
.qa-a{
  color: var(--grisLetra);
  font-size: 14px;
  line-height: 1.5;
  padding: 12px 0 12px 0; 
}
@media (max-width: 600px){
  .qa__wrap{ padding:0 16px; }
  .qa-q{ font-size: 15px; }
  .qa-item{
  max-width: 80%;
}
}
@media (min-width:601px) and (max-width:1199px){

.qa-item{
  max-width: 85%;
}

}

/* NOTICIAS */

/* filtrado */

.page-noticias .filtros-noticias .fechas fieldset,
.page-noticias .filtros-noticias .categorias fieldset {
    border: none;
}


#block-coihues-theme-views-block-not-princ > div {
  display: flex;
  flex-direction: column;
}
@media (min-width: 992px) {
  #block-coihues-theme-views-block-not-princ > div {
    flex-direction: row;
    align-items: flex-start;
  }
}

.filtros-noticias input[type="radio"] {
  display: none;
}

.filtros-noticias label.option {
  display: inline-block;
  padding: 0.4rem 1.2rem 0.4rem 0.8rem;
  margin: 0.25rem;
  border: 1px solid #999;
  border-radius: 0;
  cursor: pointer;
  font-size: 0.9rem;
  background: #fff;
  position: relative;
  transition: all 0.2s ease;
}

.filtros-noticias input[type="radio"]:checked + label.option {
  border-color: var(--celestePrincipal);
  color: var(--celestePrincipal);
  background: #e4f0ff;
  font-weight: 400;
  padding-right: 1.8rem;
}

.filtros-noticias label.option .chip-close {
  display: none;
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 400;
  font-size: 1.5rem;
  color: var(--celestePrincipal);
  cursor: pointer;
}

.filtros-noticias input[type="radio"]:checked + label.option .chip-close {
  display: inline;
}

.filtros-noticias input[value="All"] + label.option {
  display: none !important;
}

/* Card de cada noticia */
.card-noticia {
  max-width: 280px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.20);
  padding-block: 30px;
  border-radius: 16px;
  position: relative;

   .read-time {
    display: flex;
    color: var(--grisLetra);
    font-size: 14px;
    font-weight: 300;
    line-height: 100%;
    text-align: left; 
    margin: 20px 0 20px 0;

     svg {
      width: 18px;
      height: 19px;
      fill: #6D6D6D;
      margin-right: 5px;
      margin-top: -3px;
    }
  }

  .category-type {
    width: fit-content;
    font-size: 14px;
    color: var(--grisLetra);
    border: 1px solid var(--grisLetra);
    border-radius: 2px;
    margin: 0 0 12px 10px;
    padding: 5px 15px;
    text-align: center;
  }
  .img-container {
    height: 200px;
    padding: 8px 13px;
    border: 2px solid var(--verdePrincipal);
    border-radius: 0 52.335px;
  }
  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 52.335px;
  }
  .title-noticia {
    margin-top: 30px;
    color: #3E3D3F;
    font-size: 18px;
    font-weight: bold;
    padding-left: 20px;
  }
  .title-noticia::after{
    content:""; 
    display:block;
    width:90px;
    height:3px;
    background: var(--celestePrincipal);
    margin-top: 10px;
  }
  .date-noticia {
    color: var(--grisLetra);
    font-size: 16px;
    font-weight: 300;
    display: none;
  }
  .desc-noticia {
    color: var(--grisLetra);
    font-weight: 300;
    padding-inline: 20px;
    font-size: 16px;
    margin-bottom: 30px;
    line-height: 130%;
  }

}

/* PAGE NOTICIAS */

.page-noticias .filtros-noticias .fieldset-legend {
  color: #3E3D3F;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
}
.page-noticias .filtros-noticias .categorias legend,
.page-noticias .filtros-noticias .fechas legend {
  margin-bottom: 20px;
}
.page-noticias .filtros-noticias .fieldset-legend::after{
    content:""; 
    display:block;
    width: 50%;
    height:3px;
    background: var(--celestePrincipal);
    margin-top: 4px;
}

 .page-noticias {
   display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin: 60px 20px;

  .btn a {
    text-decoration: none;
    color: #fff;
    font-size: 16px;
   }
    .btn:hover a {
    color: var(--celestePrincipal);
   }
   .card-noticia {
      max-width: 100%;
      padding: 20px;
   }
}
[data-contextual-id^="block:block=coihues_theme_views_block_not_princ"] + div {
  display: flex;
  flex-direction: column;
}
@media (max-width: 991px) {
  .form-submit {
    padding: 10px 70px;
  }
   .page-noticias {
   .card-noticia {
      margin-bottom: 2rem;
   }
}
.page-noticias form.views-exposed-form {
  order: -1; 
}
#views-exposed-form-noticias-principal-block-noticias-principal input#edit-combine {
    width: 95%;
}
.page-noticias .filtros-noticias .categorias,
.page-noticias .filtros-noticias .fechas  {
  margin-top: 20px;
}
.page-noticias .filtros-noticias .fechas  {
  margin-bottom: 20px;
}
#views-exposed-form-programas-principal-block-program-princ .form-actions,
#views-exposed-form-especialidades-principal-block-especialidades-princ .form-actions,
#views-exposed-form-unidades-de-servicio-principal-block-unid-serv-princ .form-actions,
#views-exposed-form-informacion-para-la-familia-principal-block-info-familiar-princ .form-actions {
  display: block;
}
#views-exposed-form-noticias-principal-block-noticias-principal .form-actions {
  display: flex;
}
 }
@media (min-width: 992px) {
  #views-exposed-form-programas-principal-block-program-princ .form-actions,
#views-exposed-form-noticias-principal-block-noticias-principal .form-actions,
#views-exposed-form-especialidades-principal-block-especialidades-princ .form-actions,
#views-exposed-form-unidades-de-servicio-principal-block-unid-serv-princ .form-actions,
#views-exposed-form-informacion-para-la-familia-principal-block-info-familiar-princ .form-actions  {
  display: none;
}
 .page-noticias{
    display: flex;
    flex-direction: row;
    gap: 60px;
    align-items: flex-start;
  }
  [data-contextual-id^="block:block=coihues_theme_views_block_not_princ"] + div {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
  }
 
  .page-noticias:has(.noticias-list .card-noticia) .noticias-sidebar {
  width: 85%;
  margin-left: auto;
}

.page-noticias:has(.noticias-list:empty) .noticias-sidebar {
  width: auto;     
  margin-left: 0;
}
.page-noticias .view-empty {
  font-size: 18px;
  color: var(--grisLetra);
  text-align: center;
  margin: 40px 0;
}
 .page-noticias form.views-exposed-form {
    flex: 0 0 35%;   
    max-width: 35%;
    order: 0;
  }
  .page-noticias .noticias-list {
    flex: 0 0 65%;   
    max-width: 65%;
    min-height: 200px; 
  }
  .page-noticias .filtros-noticias {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .page-noticias .filtros-noticias .buscador {
    display: flex;
  }
  .page-noticias{
    .card-noticia {
      max-width: 400px;
      padding-block: 0;
      box-shadow: none;
      margin-bottom: 4rem;

      .category-type {
        margin-left: 0;
      }
      .title-noticia {
        padding-left: 0;
        margin-block: 20px;
      }
      .date-noticia {
        display: block;
      }
      .desc-noticia {
        padding-inline: 0;
        margin-bottom: 20px;
      }
      .img-container {
        position: absolute;
        top: 0;
        left: 0;
        height: 90%;
      }
    }
  }
}
@media (min-width: 992px) and (max-width: 1399px) {
#views-exposed-form-noticias-principal-block-noticias-principal input#edit-combine {
  width: min(220px, 80vw);
}
 [data-contextual-id^="block:block=coihues_theme_views_block_not_princ"] + div {
    gap: 0;
  }
  .page-noticias{
    gap: 0;

  .content-card p {
    font-size: 16px;
  }
  .btn a {
    font-size: 16px;
   }
    .card-noticia {
      padding-left: 360px;
    }
     .title-noticia {
        font-size: 18px;
      }
      .content-card p {
        font-size: 16px;
      }

      .img-container {
        width: 310px;
        max-height: 320px;
      }
    }
  
}
@media (min-width: 1400px) {
  #views-exposed-form-noticias-principal-block-noticias-principal input#edit-combine {
    width: min(320px, 80vw) !important;
  }
  [data-contextual-id^="block:block=coihues_theme_views_block_not_princ"] + div {
    gap: 60px !important;
  }
 .page-noticias{
    gap: 60px !important;
    
  .btn a {
    font-size: 18px !important;
   }
  }

  .page-noticias{
    .card-noticia {
      padding-left: 410px !important;
    }
     .title-noticia {
        font-size: 24px !important;
      }
      .content-card p {
        font-size: 18px !important;
      }

      .img-container {
        width: 360px !important;
        max-height: 350px !important;
      }
    }
  
}

/* SINGLE NOTICIA */
.single-noticia {
  max-width: 1100px;
  justify-self: center;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  margin: 40px 20px;
  gap: 20px;

  .breadcrumb-noticia {
    a {
      font-size: 14px;
      font-weight: 400;
      color: var(--grisLetra);
      text-decoration: none;
    }
    span {
      font-size: 14px;
      font-weight: 700;
    }
  }
  .date-noticia {
    font-size: 16px;
    font-weight: 400;
  }
  .title-noticia {
    margin: 0;
    font-size: 22px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 120%;
  }
  .title-noticia::after{
    content:""; 
    display:block;
    width:90px;
    height:3px;
    background: var(--celestePrincipal);
    margin-top: 5px;
  }
  p {
    margin-top: 30px;
    text-align: justify;
  }
  .resumen-noticia, strong, .cita-noticia, p, .date-noticia {
    color: var(--grisLetra);
  }
  strong, .cita-noticia {
    margin-block: 10px;
  }

  ul li {
    color: var(--grisLetra);
    padding-bottom: 15px;
    font-size: 16px;
  }
  .cita-noticia {
    font-style: italic;
  }
  .rounded-frame {
    position: relative;
    display: inline-block;
    width: 100%;

    img {
      display: block;
      width: 100%;
      height: 300px;
      object-fit: cover;
      border-radius: 4px;
    }
  }
 
  .rounded-frame::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    border: 1px solid var(--verdePrincipal);
    border-radius: 0 90px;
    pointer-events: none;
  }
  .caption {
    color: var(--grisLetra);
    font-size: 14px;
  }
}
@media (min-width: 992px) {
  .single-noticia {
    width: 100%;

      ul li {
      font-size: 18px;
    }
    .breadcrumb-noticia {
      a, span {
        font-size: 16px;
      }
    }
    .rounded-frame::before {
      border: 2px solid var(--verdePrincipal);
    }
     .title-noticia {
    font-size: 30px;
    margin: 20px 0 30px 0;
  }
 
  }
}

/* SECCION CARRUSEL NOTICIAS */

.noticias-destacadas {
  margin-left: 20px !important;
  margin-right: 20px !important;
  margin-block: 60px;

  & .noticias-destacadas-title {
    color: var(--celestePrincipal);
    font-size: 25px;
    font-weight: 500;
    line-height: 20px;
    margin-bottom: 60px;
    margin-left: 5%;
    text-align: left;
  }
  & .noticias-destacadas-title::after{
    content:""; 
    display:block;
    width:90px;
    height:3px;
    background: var(--verdePrincipal);
    margin-top: 10px;
  }
  & .swiper {
    width: 100%;
    height: 100%;
    position: relative;

    & .swiper-wrapper {
    overflow: visible; display: flex; align-items: stretch;
    justify-self: center;
    height: 100%;
    min-height: 640px;
    margin-bottom: 60px;

      & .swiper-slide {
      height: auto;
      display: block;
      text-align: center;
      font-size: 18px;

        .card-noticia {
        height: 95%;
        max-width: 80%;
        margin: 0 auto;
        padding: 20px;
        display: flex;
        flex-direction: column;

          & .img-container {
            flex: 0 0 auto;
          }
          & .content-card {
            display: flex;
            flex-direction: column;
            flex: 1 1 auto;
          }
          & .btn {
            margin-top: auto;    
            align-self: center; 
            display: inline-flex;    
          }
          & .btn a {
            text-decoration: none;
            font-size: 16px;
            font-weight: 300;
            color: #fff;
          }
          & .btn:hover a{
            color: var(--celestePrincipal);
          }
          & .desc-noticia, & p {
            text-align: justify;
            margin: 0 20px;
            font-size: 16px;
          }
          & .title-noticia {
            text-align: left;
          }
      }

    }
  }
}
 
  & .swiper-button-next, & .swiper-button-prev {
    background: url('/themes/custom/coihues_theme/images/arrow-blue.svg') no-repeat center center;
    background-size: contain;
    transition: all 0.2s ease-in-out;
  }
  & .swiper-button-prev {
    transform: rotate(180deg);
  }
  & .swiper-button-next:hover, .swiper-button-prev:hover {
    opacity: 0.7;
  }
  & .swiper-pagination {
    z-index: 1000;
  }
  & .card-noticia {
    & .title-noticia {
      margin-top: 30px;
    }
    & .desc-noticia {
      margin-bottom: 30px;
      margin-top: 16px;
    }
  }
}

.noticias-destacadas .swiper-button-prev,
.noticias-destacadas .swiper-button-next {
  display: none;
}

 @media (max-width: 899px) {
  .noticias-destacadas .swiper-button-prev,
  .noticias-destacadas .swiper-button-next {
    display: none;
  }
  .noticias-destacadas .swiper .swiper-pagination { display: block; }
}


@media (min-width: 900px) {
    .noticias-destacadas {
      & .swiper-pagination { display: none; }
      & .swiper-button-prev, & .swiper-button-next { display: flex; }

       .card-noticia {
      .title-noticia {
        font-size: 18px;
      }
      .desc-noticia {
        font-size: 16px;
      }
    }
  }
  .noticias-destacadas .swiper .swiper-pagination { display: none !important; }
  .noticias-destacadas .swiper.swiper-initialized .swiper-button-prev,
  .noticias-destacadas .swiper.swiper-initialized .swiper-button-next {
    display: flex;
  }
  .noticias-destacadas .swiper .swiper-button-lock {
    display: none !important;
  }
  .noticias-carrusel .swiper-button-disabled {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

@media (min-width: 1200px) {
  .noticias-destacadas {
    & .swiper {
      max-width: 1230px;
    }
    & .card-noticia {
      max-width: 320px;
    }
    & .swiper-button-prev {
      left: 0;
    }
    & .swiper-pagination {
      display: none;
    }
    & .swiper-slide {
      max-width: 400px;
    }
  }
}

/* Sección de Noticias del Home */

.noticias-home {
  width: 100%;
  margin: 0 auto;
  padding-bottom: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;

  & .noticias-home-title {
    color: #fff;
    background-color: var(--celestePrincipal);
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    font-size: 20px;
    width: 133px;
    height: 45px;
    padding: 20px 20px 0 20px;
    text-align: center;
    margin-left: 2rem;
  }
  & .linea-gris {
    display: block;
    width: 100%; 
    height: 1px;
    background-color: #ccc;
    margin-top: -17px;
    margin-bottom: 2rem;
  }
  & .btn-secondary {
    display: inline-block;
    background-color: white;
    color: var(--celestePrincipal);
    padding: 12px 34px;
    font-weight: 300;
    border-radius: var(--radiusBtn);
    text-decoration: none;
    width: fit-content;
    min-width: 240px;
    border: 2px solid var(--celestePrincipal);
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    margin: 2rem auto;
    text-align: center;

    &:hover {
      background-color: var(--celestePrincipal);
      color: white;
    }
  }
  & .noticias-grid {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: 3%;
    row-gap: 30px;
    padding: 0 2rem;

    & .card-noticia {
      padding: 20px;
      max-width: 80%;
      margin: 0 auto;

      & .content-card > * {
        margin: 5px 0;
      }

      & .content-card {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;

        & .desc-noticia {
          margin: 0;

          & p {
            color: #6D6D6D;
            font-size: 16px;
            margin: 12px 0;
          }
        }
        & .title-noticia {
          padding-left: 0;
          font-size: 20px;
          margin: 12px 0;

          &::after {
            display: none;
          }
          & a {
            text-decoration: none;
            color: #3E3D3F;
          }
        }
        & .btn {
          margin-top: auto;   
          align-self: center;   
          display: inline-flex; 
          flex: 0 0 auto; 
          margin-bottom: 0 !important;

          &:hover a {
            color: var(--celestePrincipal);
          }

          & a {
            text-decoration: none;
            color: #fff;
          }
        }
      }
    }
  }
}

@media (min-width: 900px) {
  .noticias-home {
  width: 90%;
  margin: 0 auto;

   & .noticias-home-title {
    margin-left: 0;
  }

  & .noticias-grid {
    flex-direction: row;

    & .card-noticia {
       & .content-card > * {
        margin: 12px 0;
      }
      & .content-card {
        min-height: 420px;

        & .desc-noticia {
          & p {
            font-size: 18px;
          }
        }
        & .title-noticia {
          margin: 20px 0;

        }
      }
    }
  }
}

}

/* PÁGINA PRINCIPAL DE PROGRAMAS DE NEUROREHABILITACIÓN */

.programas-principal {
  margin: 2rem auto;
  padding: 0 2rem;
}

.programa-card{
  background:#fff;
  border-radius:16px;
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.20);
  padding:18px 20px;
  display:grid;
  grid-template-columns: 64px 1fr 28px; 
  grid-template-rows: auto auto;  
  column-gap:14px;
  row-gap:8px;    
  margin: 2rem auto;
  align-items: start;              
  transition: background 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}

.programas-principal .programas__grid {
  margin-top: 2rem;
  gap: 2rem;
  column-gap: 4rem;
}

.programa-card__icon{
  grid-column:1; grid-row:1 / span 2; 
  width:48.022px; height:65px;
  display:flex; align-items:center; justify-content:center;  align-self: start;  
}
.programa-card__icon img{ max-width:100%; max-height:100%; display:block; }
.programa-card__icon .icon--white{ display:none; }
.programa-card__title{
  grid-column:2; grid-row:1;
  margin:0; font-size:20px; font-weight:600; line-height:1.2;
  color:var(--celestePrincipal);
  padding-top: 20px;
}
.programa-card__title a{ color:inherit; text-decoration:none; }
.programa-card__desc{
  grid-column:2 / 4; grid-row:2;
  color:#6D6D6D; line-height:1.45; margin:0;
}
.programa-card__arrow{
  grid-column:3; grid-row:1;
  justify-self:end; align-self:center; align-self: center;  
  width:22px; height:22px; border-radius:2px;
  border-right:3px solid var(--celestePrincipal); border-top:3px solid var(--celestePrincipal);
  transform: rotate(45deg);           
  transition: transform 0.2s ease, border-color 0.2s ease;
  margin-top: 20px;
}
@media (max-width: 991px){
  .programa-card__desc{ display:none; }
  .programa-card.is-open .programa-card__desc{ display:block; margin-top: 20px; }
  .programa-card.is-open .programa-card__arrow{ transform: rotate(135deg); }
  .programas__more {display: flex; justify-content: center; align-items: center;}
  #views-exposed-form-programas-principal-block-program-princ,
  #views-exposed-form-especialidades-principal-block-especialidades-princ {
  display: flex;
  align-items: center;
  flex-direction: column;        
}
#views-exposed-form-noticias-principal-block-noticias-principal .form-submit {
  margin: 10px auto;
}
.programa-card__title{
  font-size:16px; 
  padding-top: 15px;
}
.programa-card__icon img {
    max-width: 35px;
}
.programa-card {
    padding: 15px 10px;
    grid-template-columns: 44px 1fr 28px;
    column-gap: 10px;
}
.programas-principal {
    margin: 2rem auto;
    padding: 0;
}
.programa-card__arrow {
    width: 12px;
    height: 12px;
    margin-right: 10px;
}

}
@media (min-width: 992px){
  .programa-card__arrow{ display:none; }
  .programas-principal .programas__grid{
    display: grid !important;                      
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 2rem;
    column-gap: 4rem;
  }
  .programas-principal .programa-card{
    width: 100%;                              
  }
  .programas-principal {
  margin: 4rem auto;
  padding: 0 4rem 0 2rem;
}
.programas__more {display: none;}
.programa-card{ 
  margin: 0 auto;
}

}
@media (hover:hover) and (pointer:fine){
  .programa-card:hover{ background:var(--azulPrincipal); box-shadow:0 10px 22px rgba(0,0,0,0.12); }
  .programa-card:hover .programa-card__title,
  .programa-card:hover .programa-card__title a,
  .programa-card:hover .programa-card__desc{ color:#fff; }
  .programa-card:hover .programa-card__icon .icon--blue{ display:none; }
  .programa-card:hover .programa-card__icon .icon--white{ display:block; }
}

/* buscador */

#views-exposed-form-noticias-principal-block-noticias-principal {
  display: flex;
  align-items: self-start;
  gap: 8px;
  margin: 8px 0 16px;
  justify-content: center;         
}

#views-exposed-form-programas-principal-block-program-princ,
#views-exposed-form-especialidades-principal-block-especialidades-princ,
#views-exposed-form-unidades-de-servicio-principal-block-unid-serv-princ,
#views-exposed-form-informacion-para-la-familia-principal-block-info-familiar-princ {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 16px;
  justify-content: center;         
}

.form-submit {
  color: white;
  background-color: var(--celestePrincipal);
  padding: 10px 20px;
  text-align: center;
  cursor: pointer;
  border: none;
}

@media (min-width: 992px){
  #views-exposed-form-programas-principal-block-program-princ,
  #views-exposed-form-especialidades-principal-block-especialidades-princ,
  #views-exposed-form-unidades-de-servicio-principal-block-unid-serv-princ,
  #views-exposed-form-informacion-para-la-familia-principal-block-info-familiar-princ {
    justify-content: flex-end;     
  }
  #views-exposed-form-noticias-principal-block-noticias-principal {
    justify-content: flex-start;     
  }
}
#views-exposed-form-programas-principal-block-program-princ input#edit-combine,
#views-exposed-form-noticias-principal-block-noticias-principal input#edit-combine,
#views-exposed-form-especialidades-principal-block-especialidades-princ input#edit-combine,
#views-exposed-form-unidades-de-servicio-principal-block-unid-serv-princ input#edit-combine,
#views-exposed-form-informacion-para-la-familia-principal-block-info-familiar-princ input#edit-combine,
.form-text  {
  padding: 10px 14px;
  border: 1px solid #6D6D6D;
  border-radius: 0;
  font-size: 16px;
  outline: none;
}
#views-exposed-form-programas-principal-block-program-princ input#edit-combine,
#views-exposed-form-especialidades-principal-block-especialidades-princ input#edit-combine,
#views-exposed-form-unidades-de-servicio-principal-block-unid-serv-princ input#edit-combine,
#views-exposed-form-informacion-para-la-familia-principal-block-info-familiar-princ input#edit-combine {
width: min(320px, 80vw);
}
#views-exposed-form-programas-principal-block-program-princ .form-item-combine,
#views-exposed-form-noticias-principal-block-noticias-principal .form-item-combine,
#views-exposed-form-especialidades-principal-block-especialidades-princ .form-item-combine,
#views-exposed-form-unidades-de-servicio-principal-block-unid-serv-princ .form-item-combine,
#views-exposed-form-informacion-para-la-familia-principal-block-info-familiar-princ .form-item-combine {
  position: relative;   
}
#views-exposed-form-programas-principal-block-program-princ #edit-combine,
#views-exposed-form-noticias-principal-block-noticias-principal #edit-combine,
#views-exposed-form-especialidades-principal-block-especialidades-princ #edit-combine,
#views-exposed-form-unidades-de-servicio-principal-block-unid-serv-princ #edit-combine,
#views-exposed-form-informacion-para-la-familia-principal-block-info-familiar-princ #edit-combine{
  padding-right: 40px;     
}
#views-exposed-form-programas-principal-block-program-princ .form-item-combine::after,
#views-exposed-form-noticias-principal-block-noticias-principal .form-item-combine::after,
#views-exposed-form-especialidades-principal-block-especialidades-princ .form-item-combine::after,
#views-exposed-form-unidades-de-servicio-principal-block-unid-serv-princ .form-item-combine::after,
#views-exposed-form-informacion-para-la-familia-principal-block-info-familiar-princ .form-item-combine::after{
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21' fill='none'%3E%3Cpath d='M15.3423 8.33077C15.3423 4.45077 12.1963 1.30477 8.31628 1.30477C4.43628 1.30477 1.29028 4.45077 1.29028 8.33077C1.29028 12.2108 4.43628 15.3568 8.31628 15.3568C12.1963 15.3568 15.3423 12.2108 15.3423 8.33077ZM9.42428 0.0397663C13.8743 0.490767 17.1013 4.98377 16.5913 9.31777C16.3953 10.9878 15.6613 12.4308 14.6893 13.7678L20.2563 19.3948C20.2153 19.7118 20.3563 19.9168 20.0223 20.1558C19.7563 20.3468 19.6433 20.2368 19.3803 20.2708L13.7533 14.7038C11.0313 16.8358 7.45328 17.3168 4.35228 15.6648C2.01228 14.4178 0.454281 12.0328 0.0252812 9.43877C0.0482812 8.74977 -0.0417188 7.95377 0.0252812 7.28777C0.386281 3.71877 3.70828 0.400766 7.27328 0.0397663C7.80328 -0.0132332 8.89428 -0.0132332 9.42428 0.0397663Z' fill='%236D6D6D'/%3E%3Cpath d='M4.7634 4.67617C5.1994 4.54517 5.6684 4.78517 5.6684 5.25717C5.6674 5.63817 5.0034 6.21017 4.7974 6.62117C4.3034 7.60517 4.2554 8.73317 4.6694 9.75517C4.8484 10.1972 5.6394 11.0882 5.6634 11.3172C5.7254 11.9282 5.0084 12.2682 4.5074 11.8292C3.3024 10.7752 2.8884 8.63417 3.2314 7.12617C3.3614 6.55417 4.1964 4.84617 4.7634 4.67617Z' fill='%236D6D6D'/%3E%3C/svg%3E");
}

/* SINGLE DE PROGRAMAS - CPT  */

.single-cpt .landing-layout {
  display: flex;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1rem;
}
.single-cpt .landing-sidebar {
  flex: 0 0 30%; 
}
.single-cpt .landing-sidebar ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.single-cpt .landing-sidebar li {
  margin-bottom: 0.75rem;
}
.single-cpt .landing-sidebar a {
  text-decoration: none;
  color: #003366; 
  font-weight: 500;
  border-bottom: 2px solid transparent; 
  padding-bottom: 3px; 
}
.single-cpt .landing-sidebar a:hover {
  border-bottom-color: var(--celestePrincipal); 
}
.single-cpt .landing-sidebar .landing-select {
  display: none; 
}
.single-cpt .landing-content {
  flex: 0 0 70%; 
}
.single-cpt .landing-sidebar h3 {
  font-size: 20px;
}
.single-cpt .landing-content .seccion-cpt h2, .single-cpt .landing-sidebar h3 {
   color: var(--celestePrincipal);
  font-weight: 500;
}
.single-cpt .landing-content .seccion-cpt h2::after{
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background: var(--verdePrincipal);
  margin-top: 10px;
}
.single-cpt .landing-content .seccion-cpt {
  margin-bottom: 3rem;
}
.single-cpt .landing-content .seccion-cpt h2 {
  font-size: 30px;
  margin-bottom: 2rem;
  position: relative;
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt p,
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt {
  margin-bottom: -2rem;
  line-height: 1.6;
  color: var(--grisLetra);
  font-size: 18px;
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt a {
  color: var(--celestePrincipal);
  text-decoration: none;
  font-weight: 500;
  font-size: 18px;
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt a:hover {
  text-decoration: underline;
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt ul {
  margin: 1rem 0 1rem 1.25rem;
  padding: 0;
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt ul li {
  list-style-type: disc;
  margin-bottom: 0.5rem;
  line-height: 1.5;
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt ul li span {
  color: var(--celestePrincipal);
}

.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt ul li::marker {
  color: var(--celestePrincipal);
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt ul li strong {
   color: var(--celestePrincipal);
  font-weight: 500;
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt  .acc__content {
    height: auto;
    margin-top: 20px;
    padding-top: 20px;
    opacity: 1;
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt .acc__content .acc__cta-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border: 2px solid var(--verdePrincipal);
  border-radius: 30px;
  padding: 0.15rem 1.25rem;
  font-size: 1rem;
  font-weight: 500;
  color: var(--grisLetra);
  background-color: #fff;
  transition: background 0.2s ease, transform 0.2s ease;
  width: fit-content;
  cursor: pointer;
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt .acc__content .acc__cta-pill:hover {
  background-color: #f9fff5;
  transform: translateY(-2px);
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt .acc__content .acc__cta-pill img {
  width: 52px;
  height: auto;
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt img {
  max-width: 100%;
  margin: 1.5rem 0;
  display: block;
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards {
  display: grid;
  gap: 1.5rem;
  box-sizing: border-box;
}
 .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card {
  background: #fff;
  border-radius: 12px;
  padding: 1rem;
  box-shadow: 0 2px 10px #00000033;
  cursor: none;
}
 .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card .programa-card__icon {
  margin-bottom: 1rem;
}
 .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card .programa-card__icon img {
  width: 80px;
  height: auto;
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card .programa-card__title {
  font-size: 22px;
  font-weight: 500;
  color: var(--celestePrincipal);
  margin-bottom: 0.5rem;
}
.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card .programa-card__desc p {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  max-width: 100% !important;
  margin-bottom: 1rem;
}
.landing-sidebar .landing-select select {
  width: 100%;
  padding: 0.75rem 1rem; 
  border: 1px solid #6D6D6D;
  border-radius: 0;      
  font-size: 1rem;
  color: #4A4A4A;   
  background-color: #fff;
  appearance: none;     
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236D6D6D' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 12px 8px;
  box-sizing: border-box;
}
.landing-sidebar .landing-select select option {
  width: 100%;
  box-sizing: border-box;
}
@media (max-width: 992px) {
  .single-cpt .landing-layout {
    flex-direction: column;
  }
  .single-cpt .landing-sidebar {
    flex: 0 0 100%;
  }

  .single-cpt .landing-sidebar ul {
    display: none; 
  }
  .single-cpt .landing-sidebar .landing-select {
    display: flex; 
    justify-content: center;
    margin-bottom: 1.5rem;
  }
  .single-cpt .landing-content {
    flex: 0 0 100%;
  }
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card {
    margin: 10px auto;
    width: 90%;
    display: grid;
    grid-template-columns: 60px 1fr 24px; 
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 22px;
   }
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card .programa-card__icon {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card .programa-card__title {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card .programa-card__desc {
    display: none;
    grid-column: 1 / span 3;
    grid-row: 2;
    margin-top: -1rem;
  }
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card.is-open .programa-card__desc {
    display: block;
    margin-top: 1rem;
  }
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card .programa-card__arrow {
    transform: rotate(45deg); 
    transition: transform 0.3s ease;
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    margin-right: 10px;
  }
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card.is-open .programa-card__arrow {
    transform: rotate(135deg); 
  }
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards {
    gap: 0;
}
}

@media (min-width: 993px) {
  .contenido-seccion-cpt {
    grid-template-columns: repeat(2, 1fr);
  }
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards {
      margin-right: 20px;
      max-width: 900px;
      gap: 2rem;
  }
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card {
      min-height: 305px;
      grid-template-rows: unset;
      column-gap: unset;
      row-gap: unset;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 100px 1fr;
      align-items: center; 

  }
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards img {
      margin: 10px 0 0 10px;
  }
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt p,
  .single-cpt .landing-content .seccion-cpt h2  {
    max-width: 90%;
    box-sizing: border-box;
  }

  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card .programa-card__icon {
      width: 80px;
      margin-bottom: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%;
  }
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card .programa-card__icon img {
      width: 70px;
      height: auto;
  }
 .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card .programa-card__title,
  .single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt.cards .programa-card .programa-card__desc {
    grid-column: 2; 
  }

}

@media (min-width: 1200px) {
  .single-cpt .landing-sidebar {
    margin-left: -3rem;
    margin-right: 2rem;
}
}
/* __________________________________________________________________________________ */

/* PAGINA 404 y Términos y Condiciones */
.container-404 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--verdePrincipal);
  border-radius: 0 52.335px;
  padding: 25px 20px 70px 20px;
  margin: 55px 20px;

  .title-404 {
    font-size: 80px;
    color: var(--celestePrincipal);
    font-weight: 500;
    font-family: 'Poppins', sans-serif;
    margin-block: 0 25px;
  }
  .desc-404 {
    font-size: 18px;
    margin-block: 0 25px;
  }
  .btn {
    background-color: white;
    color: var(--celestePrincipal);
    border: 1px solid var(--celestePrincipal);
  }
  .btn:hover {
    background-color: var(--celestePrincipal);
    color: white;
  }
}
@media (min-width: 992px) {
  .container-404 {
    justify-self: center;
    padding-top: 30px;
    width: 90%;
    max-width: 1200px;

    .title-404 {
      font-size: 100px;
    }
    .btn {
      margin-top: 25px;
      padding: 18px 50px;
    }
  }
}

.page-terminos-condiciones {
  margin: 55px 20px;
  max-width: 1200px;
  justify-self: center;

  .title-terminos-condiciones {
    margin-top: 30px;
    color: var(--celestePrincipal);
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 2rem;
  }

  .title-terminos-condiciones::after {
    content: "";
    display: block;
    width: 90px;
    height: 3px;
    background: var(--verdePrincipal);
    margin-top: 10px;
  }

  .subtitle-terminos-condiciones {
    margin-bottom: 50px;
  }

  p {
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    color: var(--grisLetra);

    & span {
      font-weight: bold;
    }
  }

  .acordion-terminos-condiciones {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-block: 40px;

    .acordion-item-terminos-condiciones {
      padding: 20px 10px;
      border: 2px solid var(--verdePrincipal);
      border-radius: 0 24.533px;
      transition: border-color 0.3s ease;
    }

    .title-acordion-terminos-condiciones {
      font-size: 16px;
      color: var(--celestePrincipal);
      font-weight: bold;
      margin-block: 5px;
    }

    .acordion-header-terminos-condiciones {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
      cursor: pointer;
      position: relative;
    }

    .acordion-button {
      background-color: transparent;
      border: none;
      cursor: pointer;
    }

    .acordion-item-terminos-condiciones.open .icon-plus {
      display: none;
    }

    /* --- Transición suave --- */
    .acordion-content {
      max-height: 0;
      opacity: 0;
      overflow: hidden;
      transition: max-height 0.5s ease, opacity 0.4s ease;
    }

    .acordion-item-terminos-condiciones.open .acordion-content {
      max-height: 2000px; 
      opacity: 1;
    }
  }
}

@media (min-width: 992px) {
  .page-terminos-condiciones {
    max-width: 1200px;
    margin-inline: auto;

    .title-terminos-condiciones {
      font-size: 30px;
    }

    p {
      font-size: 18px;
    }

    .acordion-terminos-condiciones {
      .acordion-item-terminos-condiciones {
        padding: 20px 40px;
      }

      .title-acordion-terminos-condiciones {
        font-size: 20px;
      }

      .acordion-button svg {
        width: 20px;
        height: 20px;
      }
    }
  }
}

/* sección equipo médico en singles */

.equipo-medico {
  margin-top: 40px;
  margin-bottom: 60px;
}

.equipo-medico__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); 
  gap: 20px;
  justify-items: center;
}

.equipo-medico__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-align: left;
  margin-right: auto;
}

.equipo-medico__item.has-foto {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
}

.equipo-medico__imagen {
  display: inline-block;
  border: 2px solid var(--verdePrincipal);
  border-bottom-left-radius: 50px;
  border-top-right-radius: 50px;
  padding: 10px; 
  overflow: hidden;
}

.equipo-medico__imagen img {
  display: block;
  border-bottom-left-radius: 50px;
  border-top-right-radius: 50px;
  width: 230px;
  max-height: 240px;
  object-fit: cover;
  height: auto;
  margin: 0 !important;
}

.equipo-medico__icono {
  line-height: 0; 
}

.equipo-medico__icono img,
.equipo-medico__icono svg {
  width: auto;
  height: auto;
  display: inline-block;
  margin: 0.5rem !important;
}

.equipo-medico__info {
  color: var(--grisLetra);
}

.equipo-medico__nombre {
  color: var(--celestePrincipal);
  font-weight: 600;
  font-size: 18px;
  margin: 0 0 4px 0;
}

.equipo-medico__info .equipo-medico__cargo,
.equipo-medico__info  .equipo-medico__especialidad {
  margin-bottom: 0 !important;
  font-size: 16px !important;
}

.equipo-medico__cargo,
.equipo-medico__especialidad {
  margin: 0;
  font-size: 15px;
  line-height: 1.4;
}

@media (max-width: 767px) {
  .equipo-medico__grid {
    gap: 30px 20px;
  }

  .equipo-medico__imagen img {
    width: 160px;
  }
}
@media (min-width: 768px) {
  .equipo-medico__nombre {
    font-size: 20px;
  }
}

@media (max-width: 1024px) {
  .equipo-medico__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .equipo-medico__grid {
    grid-template-columns: 1fr;
  }
}

/* sección de imagen larga de los singles tipo programa */

.imagen-larga-seccion {
  margin: 40px 0;
  text-align: center;
}

.imagen-larga-seccion picture,
.imagen-larga-seccion img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Acordeón de información para la familia */
.single-cpt .landing-content .page-terminos-condiciones.section-single-cpt .acordion-terminos-condiciones .acordion-item-terminos-condiciones.open .acordion-content {
  padding: 20px;
  line-height: 160%;
}

.single-cpt .landing-content .page-terminos-condiciones.section-single-cpt .acordion-terminos-condiciones .acordion-item-terminos-condiciones.open .acordion-content li::marker {
  color: var(--celestePrincipal);
}

.single-cpt .landing-content .page-terminos-condiciones.section-single-cpt .acordion-terminos-condiciones .acordion-item-terminos-condiciones.open .acordion-content {
  color: var(--grisLetra);
}

/* Sección final de información para la familia */

.seccion-cpt .contenido-seccion-cpt .btn-wrapper .btn {
  color: #fff !important;
  margin-top: 2rem;
  text-decoration: none !important;
}

.seccion-cpt .contenido-seccion-cpt .btn-wrapper .btn:hover {
  color: var(--celestePrincipal) !important;
}

/* sección de logos de la página de convenios */

.logos-enlazados {
  margin: 60px 0;
  text-align: center;
  min-height: 50px;
}

.logos-grid {
  display: grid;
  gap: 40px 30px;
  justify-items: center;
  align-items: center;
  margin-top: -6rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

@media (min-width: 1025px) {
  .logos-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  .logos-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 767px) and (min-width: 480px) {
  .logos-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 479px) {
  .logos-grid {
    grid-template-columns: 1fr;
  }
}

.logo-item img {
  max-width: 160px;
  height: auto;
  transition: transform 0.2s ease;
}

.logo-item a:hover img {
  transform: scale(1.05);
}

/* Botón de especialidades */
.btn-especialidades {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1rem auto 2rem auto;
}

/* descargables de marco legal */

.descargables-grid {
  margin-top: 2rem;
}

@media (max-width: 767px) {
  .descargables-grid {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .descargables-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.descargables-grid .acc__cta-pill  {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    border-radius: 25px !important;
    padding: 0 1.75rem 0 0.75rem !important;
    min-width: 300px;
}

/* Bullet link de medios de pago */

.single-cpt .landing-layout .landing-content .neurorehab__list .neurorehab__link-wrapper {
  color: var(--grisLetra) !important;
}

/* ==== Carrusel de Videos ==== */
.testimonios-carousel {
  margin: 4rem;
  overflow: hidden;
  position: relative;
}

.testimonios-carousel h2 {
  color: var(--celestePrincipal);
  font-weight: 300;
  font-size: 30px;
  margin-bottom: 2rem;
  position: relative;
  text-align: left;
}

.testimonios-carousel h2::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background: var(--verdePrincipal);
  margin-top: 10px;
}
.mySwiperVideos {
  width: 100%;
  overflow: hidden;
}
.testimonios-carousel .mySwiperVideos {
  width: 100%;
  padding: 20px 10px 60px 10px;
  max-width: 1200px;
}

.testimonios-carousel .swiper-wrapper {
  display: flex;
}

.testimonios-carousel .swiper-slide {
  width: auto;
  max-width: 400px;
  display: flex;
  justify-content: center;
  align-items: stretch;
  padding: 10px;
  box-sizing: border-box;
}


.video-card__inner {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: 420px;
  margin: 0 auto;
  min-height: 400px;
}

.video-thumb {
  position: relative;
  overflow: hidden;
  border: 2px solid var(--verdePrincipal);
  border-top-right-radius: 40px;
  border-bottom-left-radius: 40px;
  padding: 10px;
}

.video-thumb .thumbnail,
.video-thumb  {
  min-height: 242px;
  border-top-right-radius: 40px;
  border-bottom-left-radius: 40px;
}

.video-thumb img,
.video-thumb video {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 2;
}

.play-button img {
  width: 70px;
  height: auto;
  transition: transform 0.3s ease;
}

.play-button:hover img {
  transform: scale(1.1);
}

.video-card__title {
  font-size: 18px;
  color: var(--grisLetra);
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  line-height: 1.3;
}

.btn-video {
  display: inline-block;
  background-color: var(--celestePrincipal);
  color: #fff;
  border-radius: 50px;
  padding: 0.6rem 1.5rem;
  text-decoration: none;
  font-weight: 500;
  transition: background 0.3s ease, transform 0.2s ease;
}

.btn-video:hover {
  background-color: #2d7ae8;
  transform: translateY(-2px);
}

.testimonios-carousel .swiper-button-next,
.testimonios-carousel .swiper-button-prev {
  background: url('/themes/custom/coihues_theme/images/arrow-blue.svg') no-repeat center center;
  background-size: contain;
  width: 40px;
  height: 40px;
  transition: all 0.2s ease-in-out;
}

.testimonios-carousel .swiper-button-prev {
  transform: rotate(180deg);
}

.testimonios-carousel .swiper-button-next:hover,
.testimonios-carousel .swiper-button-prev:hover {
  opacity: 0.7;
}

@media (max-width: 767px) {
  .testimonios-carousel {
  margin: 2rem;
}
  .testimonios-carousel .swiper-button-prev,
  .testimonios-carousel .swiper-button-next {
    display: none;
  }
}

.testimonios-carousel .swiper-pagination {
  bottom: 0 !important;
}

.testimonios-carousel .swiper-pagination-bullet {
  background-color: #ccc;
  opacity: 1;
}

.testimonios-carousel .swiper-pagination-bullet-active {
  background-color: var(--celestePrincipal);
}

.video-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.video-overlay iframe,
.video-overlay video {
  width: 80%;
  height: 80%;
  border: none;
  border-radius: 12px;
}

@media (max-width: 600px) {
  .video-overlay iframe,
  .video-overlay video {
    width: 95%;
    height: 55%;
  }
}
/* historias de pacientes de la página de testimonios */
.page-testimonios-principal .region-stories .stories .stories__container {
  margin: 4rem auto 0 auto;
}

.page-testimonios-principal .region-stories .stories .stories__container .stories__swiper .swiper-wrapper .stories__slide .stories__panel {
   background: #fff;
   color: var(--celestePrincipal);
}
.page-testimonios-principal .region-stories .swiper-button-next {
  background: url('/themes/custom/coihues_theme/images/arrow-blue.svg') no-repeat center center !important;
  background-size: contain;
}

.page-testimonios-principal .region-stories .swiper-button-prev {
  background: url('/themes/custom/coihues_theme/images/arrow-blue.svg') no-repeat center center !important;
  background-size: contain;
  transform: rotate(180deg);
}

/* Procedimientos principal */

.procedimientos-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 4rem 1.5rem;
}

.procedimientos-container {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}

.procedimientos-envolvedor {
  flex: 1 1 55%;
}

.procedimientos-title, .proc h2 {
  color: var(--celestePrincipal);
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 2rem;
  position: relative;
}

.procedimientos-title::after,
.proc h2::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background: var(--verdePrincipal);
  margin-top: 10px;
}

.procedimientos-text-wrapper {
  position: relative;
}

.procedimientos-text {
  color: var(--grisLetra);
  font-size: 18px;
  line-height: 1.7;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.procedimientos-text {
  color: var(--grisLetra);
  font-size: 18px;
  line-height: 1.7;
  overflow: visible;
  transition: max-height 0.4s ease;
}

.procedimientos-section .btn-ver-mas {
  display: none;
  background: none;
  border: 1.5px solid var(--celestePrincipal);
  border-radius: 50px;
  padding: 0.75rem 1.5rem;
  color: var(--celestePrincipal);
  font-size: 18px;
  margin-top: 1.5rem;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  width: 100%;
}

.procedimientos-section .btn-ver-mas:hover {
  background: var(--celestePrincipal);
  color: #fff;
}

.procedimientos-image {
  flex: 1 1 40%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
}

.procedimientos-image img {
  border: 2px solid var(--verdePrincipal);
  border-top-right-radius: 60px;
  border-bottom-left-radius: 60px;
  width: 100%;
  max-width: 400px;
  padding: 10px;
  height: auto;
  object-fit: cover;
}

.procedimientos-link {
  margin-top: 2rem;
}

.procedimientos-horarios {
  display: inline-block;
  padding: 1rem 1.5rem;
  font-size: 16px;
  background: #f6f7f8;
  border-radius: 10px;
  font-weight: 500;
  color: var(--celestePrincipal);
}

@media (max-width: 992px) {
  .procedimientos-container {
    flex-direction: column;
  }
  .procedimientos-title { order: 1; }
  .procedimientos-image { order: 2; }
  .procedimientos-content { order: 3; }

  .procedimientos-envolvedor {
    display: contents; 
  }

  .procedimientos-section .btn-ver-mas {
     display: inline-block;
    background: none;
    border: 1.5px solid var(--celestePrincipal);
    border-radius: 50px;
    padding: 0.5rem 1.5rem;
    color: var(--celestePrincipal);
    font-size: 16px;
    margin-top: 1.5rem;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
  }

   .procedimientos-section .btn-ver-mas:hover {
    background: var(--celestePrincipal);
    color: #fff;
  }

   .procedimientos-text-wrapper.collapsed .procedimientos-text {
    max-height: 220px;
    overflow: hidden;
  }

  .procedimientos-text-wrapper.collapsed .procedimientos-text::after {
    content: "";
    position: absolute;
    bottom: 3.5rem;
    left: 0;
    right: 0;
    height: 60px;
    background: linear-gradient(transparent, #fff);
  }
  .proc {
  margin: 2rem;
}

}
@media (min-width: 993px) {
  .procedimientos-section .btn-ver-mas {
    display: none !important;
  }
  .proc {
  margin: 4rem;
}
}

/* sección Consideraciones */
.procedimientos-consideraciones {
  text-align: center;
  max-width: 1200px;
  margin: 4rem auto;
  padding: 0 1.5rem;
}

.procedimientos-consideraciones__title {
  font-size: 30px;
  font-weight: 500;
  color: #6D6D6D;
  margin-bottom: 3rem;
}

.procedimientos-consideraciones__grid {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.procedimiento-item {
  background-color: #F8F8F8;
  border-radius: 14px;
  flex: 1 1 300px;
  max-width: 360px;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  max-height: 60px;
}

.procedimiento-item img {
  width: 55px;
  height: auto;
  flex-shrink: 0;
}

.procedimiento-item p {
  margin: 0;
  color: var(--celestePrincipal);
  font-size: 17px;
  font-weight: 500;
  text-align: left;
  line-height: 1.3;
}

@media (max-width: 768px) {
  .procedimientos-consideraciones__grid {
    flex-direction: column;
    align-items: center;
  }

  .procedimiento-item {
    width: 100%;
    max-width: 360px;
    justify-content: flex-start;
  }

  .procedimientos-consideraciones__title {
    font-size: 22px;
  }
}

/* FORMULARIO SOLICITUD DE PRESUPUESTO - VISITA */

.contact-message-formulario-de-presupuesto-form,
.contact-message-formulario-de-visita-form {
  max-width: 700px;
  padding: 1rem;
  font-family: inherit;
}

.js-form-item {
  margin-top: 20px;
}

.contact-message-formulario-de-presupuesto-form input[type="text"],
.contact-message-formulario-de-presupuesto-form input[type="email"],
.contact-message-formulario-de-presupuesto-form input[type="tel"],
.contact-message-formulario-de-presupuesto-form input[type="date"],
.contact-message-formulario-de-visita-form input[type="text"],
.contact-message-formulario-de-visita-form input[type="email"],
.contact-message-formulario-de-visita-form input[type="tel"],
.contact-message-formulario-de-visita-form input[type="date"],
.contact-message-formulario-de-visita-form select,
.contact-message-formulario-de-presupuesto-form select,
.contact-message-formulario-de-presupuesto-form textarea,
.contact-message-formulario-de-visita-form textarea {
  padding: 0.9rem 1.2rem;
  border: none;
  background-color: #f7f7f7;
  border-radius: 10px;
  font-size: 15px;
  color: #444;
  outline: none;
  transition: box-shadow 0.2s ease, background-color 0.2s ease;
  margin-top: 10px;
  width: 100%;
}

.contact-message-formulario-de-presupuesto-form select,
.contact-message-formulario-de-visita-form select {
  width: 105%;
}

.js-form-item-field-informe-medico-0 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 2rem;
  gap: 0.7rem;
}

.contact-message-formulario-de-presupuesto-form .file {
  order: 1;
  font-size: 14px;
  font-weight: 500;
  color: var(--grisLetra);
  margin-bottom: 0.4rem;
}

.contact-message-formulario-de-presupuesto-form .file a {
  color: var(--celestePrincipal);
  text-decoration: none;
}

.contact-message-formulario-de-presupuesto-form .file a:hover {
  text-decoration: underline;
}

.contact-message-formulario-de-presupuesto-form .form-managed-file {
  order: 2;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1.5rem;
  width: 100%;
  position: relative;
  min-height: 79px;
}

/* .contact-message-formulario-de-presupuesto-form .form-managed-file .form-submit {
  display: none !important;
} */
 .contact-message-formulario-de-presupuesto-form .form-managed-file .form-submit {
  opacity: 0;
  position: absolute;
  left: 0;
  width: 265px;
  height: 79px;
  cursor: pointer;
  z-index: 2;
}


.contact-message-formulario-de-presupuesto-form .form-managed-file input[type="file"] {
  position: absolute;
  left: 0;
  top: 0;
  width: 265px;
  height: 79px;
  opacity: 0;
  cursor: pointer;
  z-index: 3;
}

.contact-message-formulario-de-presupuesto-form .form-managed-file::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 265px;
  height: 79px;
  border: 2px solid var(--verdePrincipal);
  border-radius: 20px;
  pointer-events: none;
  transition: background-color 0.2s ease;
}

.contact-message-formulario-de-presupuesto-form .form-managed-file:hover::before {
  background-color: #f5fff0;
}

.contact-message-formulario-de-presupuesto-form .form-managed-file::after {
  content: "Sube aquí tu archivo";
  position: absolute;
  left: 35px;
  top: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  font-weight: 500;
  color: var(--grisLetra);
  pointer-events: none;
  background: url("/themes/custom/coihues_theme/images/pdf.svg") no-repeat left center;
  background-size: 34px;
  padding-left: 45px;
  height: 40px;
}

#edit-field-informe-medico-0--description {
  order: 3;
  margin-left: 285px;
  font-size: 14px;
  color: var(--grisLetra);
  line-height: 1.5;
  max-width: 350px;
  margin-top: -6.5rem;
}

.contact-message-formulario-de-presupuesto-form .form-managed-file .file {
    position: relative;
    margin: 2rem 0 0 0;
    top: 0;
    left: 50%;
}

.contact-message-formulario-de-presupuesto-form .form-managed-file .file + span {
  position: relative;
  margin: 2rem 0 0 0;
  top: 2rem;
  left: 65%;
  color: var(--grisLetra);
  font-size: 14px;
}

.contact-message-formulario-de-presupuesto-form input[type="submit"]:not([name*="upload"]),
.contact-message-formulario-de-visita-form input[type="submit"]:not([name*="upload"]) {
  background: var(--celestePrincipal);
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 0.9rem 2.8rem;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.2s ease;
  display: block;
  margin: 2rem auto 0;
}

.contact-message-formulario-de-presupuesto-form input[type="submit"]:not([name*="upload"]):hover,
.contact-message-formulario-de-visita-form input[type="submit"]:hover {
  background: #2d7ae8;
  transform: translateY(-2px);
}

.contact-message-formulario-de-presupuesto-form label.form-required::after,
.contact-message-formulario-de-visita-form label.form-required::after,
.contact-message-formulario-de-presupuesto-form .js-form-required.form-required::after,
.contact-message-formulario-de-visita-form .js-form-required.form-required::after  {
  content: " *";
  color: red;
}

#edit-field-fecha-de-nacimiento-wrapper h4 {
  font-weight: 300;
  margin-bottom: -15px;
}

.contact-message-formulario-de-presupuesto-form .form-managed-file {
    margin-bottom: 2rem;
}

@media (max-width: 767px) {

  .contact-message-formulario-de-presupuesto-form .form-managed-file input[type="file"],
  .contact-message-formulario-de-presupuesto-form .form-managed-file::before {
    width: 100%;
    height: 68px;
  }

  .contact-message-formulario-de-presupuesto-form .form-managed-file::after {
    left: 85px;
    top: 17px;
    background-size: 28px;
    font-size: 15px;
  }

  #edit-field-informe-medico-0--description {
    margin-left: 0;
    margin-top: -3rem;
    max-width: 100%;
  }
  .contact-message-formulario-de-presupuesto-form .form-managed-file .file {
    position: relative;
    margin: 0 0 0 0;
    top: 5rem;
    left: -6rem;
}
.contact-message-formulario-de-presupuesto-form .form-managed-file .file + span {
    position: relative;
    margin: 5px 0 0 0;
    top: 6rem;
    left: 1rem;
}
.contact-message-formulario-de-presupuesto-form .form-managed-file {
    margin-bottom: 3rem;
}
.contact-message-formulario-de-presupuesto-form input[type="text"], 
.contact-message-formulario-de-presupuesto-form input[type="email"], 
.contact-message-formulario-de-presupuesto-form input[type="tel"], 
.contact-message-formulario-de-presupuesto-form input[type="date"],  
.contact-message-formulario-de-presupuesto-form textarea,
.contact-message-formulario-de-visita-form input[type="text"],
.contact-message-formulario-de-visita-form input[type="email"],
.contact-message-formulario-de-visita-form input[type="tel"],
.contact-message-formulario-de-visita-form input[type="date"],
.contact-message-formulario-de-visita-form textarea  {
    width: 90%;
}
.contact-message-formulario-de-presupuesto-form select,
.contact-message-formulario-de-visita-form select {
  width: 100%;
}
}

/* Ocultar el botón “Eliminar” nativo */
/* .contact-message-formulario-de-presupuesto-form .form-managed-file input[type="submit"][name*="remove"] {
  display: none !important;
} */

/* PÁGINA PRINCIPAL DE SERVICIOS EN LÍNEA */

.page-servicios-linea-principal .proc h2,
.page-servicios-linea-principal .procedimientos-section .procedimientos-container .procedimientos-envolvedor .procedimientos-title {
  font-weight: 300;
}
.page-servicios-linea-principal .procedimientos-section {
  margin-bottom: -7rem;
}

/* single servicios en línea */

.single-servicios-linea.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt p, 
.single-servicios-linea.single-cpt .landing-content .seccion-cpt .contenido-seccion-cpt {
    margin-bottom: 0 !important;
}

.contenido-seccion-cpt .texto-destacado {
    background-color: #F8F8F8;
    border-radius: 20px;
    width: fit-content;
    padding: 0.75rem 1.75rem;
    margin: 2rem 0 2rem 0;
}
.contenido-seccion-cpt .texto-destacado p {
  color: var(--celestePrincipal) !important;
  font-size: 18px;
  font-style: normal;
  font-weight: 600 !important;
  max-width: none !important;
  padding-bottom: 10px;
}

@media (max-width: 767px) {
  .contenido-seccion-cpt .texto-destacado p {
  font-size: 16px;
}
}

/* cards de servicios en línea */
.contenido-seccion-cpt .cards-icon-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 2rem;
}
.contenido-seccion-cpt .cards-icon-grid .card-item {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  padding: 0.25rem 1.2rem;
  width: 250px;
  transition: all 0.3s ease;
  position: relative;
  text-decoration: none !important;
}
.contenido-seccion-cpt .cards-icon-grid .card-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.12);
  background: var(--azulPrincipal);
  cursor: pointer;
}
.contenido-seccion-cpt .cards-icon-grid .card-item .card-icon {
  width: 56px;
  height: auto;
  flex-shrink: 0;
  transition: opacity 0.3s ease;
}
.contenido-seccion-cpt .cards-icon-grid .card-item .card-icon.hover-icon {
  position: absolute;
  top: 0;
  left: 1.2rem;
  opacity: 0;
  pointer-events: none;
}
.contenido-seccion-cpt .cards-icon-grid .card-item:hover .hover-icon {
  opacity: 1;
}
.contenido-seccion-cpt .cards-icon-grid .card-item:hover .default-icon {
  opacity: 0;
}
.contenido-seccion-cpt .cards-icon-grid .card-item .card-title {
  font-size: 18px;
  color: var(--celestePrincipal);
  font-weight: 600;
  margin-bottom: 0.4rem;
  transition: color 0.3s ease;
  align-self: center;
  text-decoration: none !important;
}
.contenido-seccion-cpt .cards-icon-grid .card-item .card-description {
  font-size: 15px;
  color: var(--grisLetra);
  margin-top: 0.3rem;
  line-height: 1.4;
  transition: color 0.3s ease;
}
.contenido-seccion-cpt .cards-icon-grid .card-item:hover .card-title,
.contenido-seccion-cpt .cards-icon-grid .card-item:hover .card-description {
  color: #fff;
  text-decoration: none !important;
}
.contenido-seccion-cpt .cards-icon-grid .card-item:hover,
.contenido-seccion-cpt .cards-icon-grid .card-item:focus {
  text-decoration: none;
  outline: none;
}

@media (max-width:650px) {
  .contenido-seccion-cpt .cards-icon-grid {
    justify-content: center;
}
}

.rojo {
  color: red;
}
.formulario-servicio {
  margin-top: -3rem;
}
.formulario-servicio__titulo {
  text-align: center;
  color: var(--celestePrincipal);
  font-size: 18px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 0.5rem;
}

.formulario-servicio__aclaracion {
  text-align: center;
  font-size: 15px;
  color: var(--grisLetra);
  margin-bottom: 2rem;
}

.formulario-servicio__aclaracion .rojo {
  color: red;
}

/* POPUP FORMULARIOS */

/* === Overlay === */
.popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 42, 108, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  animation: fadeIn 0.25s ease-in;
}

/* === Popup Box === */
.popup-content {
  position: relative;
  background: #fff;
  border-radius: 12px;
  padding: 3rem 2.5rem 2.5rem;
  max-width: 400px;
  width: 90%;
  text-align: center;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  animation: popupScale 0.3s ease-out;
}

/* === Botón de cierre (X) === */
.popup-close {
  background: none;
  border: none;
  position: absolute;
  top: 16px;
  right: 16px;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.popup-close:hover {
  transform: scale(1.1);
}

/* === Icono de check === */
.popup-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
}

.popup-icon svg {
  width: 66px;
  height: 66px;
}

/* === Textos === */
.popup-content h2 {
  color: #003C8F;
  font-size: 1.2rem;
  margin-bottom: 0.8rem;
  font-weight: 600;
}

.popup-content p {
  color: #333;
  font-size: 1rem;
  margin-bottom: 2rem;
}

/* === Botón “Aceptar” === */
.popup-button {
  background: #3C83F9;
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 0.8rem 3rem;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.popup-button:hover {
  background: #2565d0;
  transform: translateY(-2px);
}

/* === Animaciones === */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes popupScale {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

.form-messages-below .messages {
  margin: 1rem 0 0 0;
  border: 2px solid var(--verdePrincipal);
  background-color: #f5fff0;
  padding: 10px;
}
