:root {
  --black: var(--color-primary);
  --default: var(--color-secondary);
  --transparent: transparent;
  --white: var(--color-bg-light);
  --border-color: var(--color-tertiary);
  --grey: var(--color-bg-medium);
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

/* ... (todo el resto del CSS de Webflow, que no cambia, se mantiene igual) ... */

/* ========================================
   ESTILOS MODIFICADOS CON NUEVA PALETA
   ======================================== */

body {
  background-color: var(--color-bg-light);
  color: var(--color-primary);
  cursor: none;
  /*background-image: url('../images/oftalmology-1.webp');*/
  font-family: var(--font-primary);
  font-size: 22px;
  line-height: 28px;
}

h2 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 32px;
  font-weight: 600;
  line-height: 36px;
  color: var(--color-primary);
}

h4 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 30px;
  font-weight: 400;
  line-height: 28px;
  color: var(--color-primary);
}

p {
  margin-bottom: 0;
  line-height: 26px;
  color: var(--color-primary);
}

blockquote {
  border-left: 5px solid var(--color-secondary);
  margin-bottom: 10px;
  padding: 10px 20px;
  font-size: 18px;
  line-height: 22px;
  color: var(--color-primary);
}

.header {
  padding-top: 40px;
}

.menu-item {
  border-bottom: 2px solid transparent;
  color: var(--color-primary);
  text-transform: uppercase;
  margin-left: 15px;
  margin-right: 15px;
  padding: 10px 0;
  font-size: 17px;
  font-weight: 300;
}

.menu-item:hover {
  color: var(--color-secondary);
}

.menu-item.w--current {
  border-bottom-color: var(--color-secondary);
  color: var(--color-primary);
}

.menu-item.w--current:hover {
  color: var(--color-secondary);
}

/* Logo – tamaño base */
/* ============================================================
    LOGO – VERSIÓN FINAL CON PNG/WEBP
   ============================================================ */

.logo-img {
    width: 340px;       /* Ajusta al ancho deseado */
    height: 35px;       /* Ajusta al alto deseado (debe coincidir con la proporción de tu imagen) */
    display: block;
    flex-shrink: 0;
}

/* Header – glassmorphism sin altura fija (se adapta al contenido) */
.header-inner {
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    gap: 20px;
}

/*
.header-right-side {
  margin-left: auto;
  display: flex;
}

*/

.cart-button {
  border: 1px solid var(--color-tertiary);
  text-align: left;
  -webkit-text-stroke-color: #e8e7ef;
  background-color: transparent;
  border-radius: 5px;
  justify-content: center;
  width: auto;
  height: auto;
  padding: 15px;
  position: relative;
}

.header-inner {
  background-color: var(--color-bg-medium);
  border: 1px solid var(--color-tertiary);
  border-radius: 5px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  padding: 25px;
  display: flex;
}

.logo.w--current {
  flex: none;
}

.main-menu {
  border: 2px #f9dc4a;
  border-radius: 0;
  flex: 0 auto;
  align-self: center;
  margin-left: auto;
  padding: 0;
}

.shop-link {
  color: #1d1d1d;
  text-decoration: underline;
}

.shop-button {
  color: #f8ff00;
  background-color: #000;
  align-self: flex-end;
  margin-top: auto;
  padding: 20px 30px;
  font-size: 18px;
  line-height: 20px;
}

.cart-quantity {
  color: var(--color-primary);
  background-color: transparent;
  min-width: auto;
  height: auto;
  padding: 0;
  font-size: 17px;
  font-weight: 400;
  line-height: 18px;
  position: static;
  inset: 0% 0% auto auto;
}

.main-container {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 20px;
  font-weight: 300;
  line-height: 20px;
}

.cursor-wrapp {
  z-index: 9999;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: flex;
  position: fixed;
  inset: 0%;
}

.cursor {
  z-index: 9999;
  border: 1px solid var(--color-secondary);
  opacity: 0;
  -webkit-text-fill-color: inherit;
  cursor: none;
  mix-blend-mode: normal;
  background-color: rgba(169, 169, 169, 0.5);
  background-clip: border-box;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 70px;
  display: flex;
  position: absolute;
}

.project-cursor-text {
  opacity: 0;
  text-align: center;
  text-transform: uppercase;
  color: var(--color-bg-light);
}

/* ============================================================
  SECCIÓN HERO – Fondo con imagen y overlay de color
   ============================================================ */
.hero-section {
  padding-top: 20px;                 /* Espacio superior interno */
  padding-bottom: 50px;              /* Espacio inferior interno */
  background-image: 
    linear-gradient(
      rgba(132, 119, 99, 0.434),       /* <--- Overlay color Mermaid al 30% de opacidad */
      rgba(132, 119, 99, 0.434)        /* <--- Mismo color para cubrir toda la imagen */
    ),
    url('../images/oftalmology-1.webp');  /* <--- Tu imagen de fondo */
  background-size: cover;            /* La imagen y el overlay cubren toda la sección */
  background-position: center;       /* Centra la imagen */
  background-repeat: no-repeat;      /* Evita que la imagen se repita */
  /* Si el overlay no se ve bien, puedes ajustar el último valor de rgba (0.3 = 30%) */
}

.hero-grid {
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  padding-top: 150px;
  display: grid;
}

.hero-big-text {
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 140px;
  line-height: 100px;
  color: var(--color-primary);
}

.hero-paragraph {
  margin-bottom: 0;
  font-weight: 300;
  color: var(--color-primary);
}

.hero-projects-link {
  color: var(--color-primary);
  justify-content: flex-start;
  align-items: center;
  margin-top: 30px;
  text-decoration: none;
  display: flex;
}

.hero-projects-link-text {
  border-bottom: 1px solid var(--color-primary);
  font-weight: 300;
  line-height: 22px;
  text-decoration: none;
}

.hero-proect-link-arrow {
  width: 20px;
  margin-left: 10px;
}

.hero-under-text {
  border-left: 5px solid var(--color-secondary);
  text-transform: uppercase;
  margin-top: 100px;
  padding-left: 30px;
  font-size: 30px;
  font-weight: 200;
  line-height: 40px;
  color: var(--color-primary);
}

.hero-partners {
  border-top: 1px solid var(--color-tertiary);
  border-bottom: 1px solid var(--color-tertiary);
  margin-top: 50px;
  padding-top: 15px;
  padding-bottom: 15px;
  overflow: hidden;
}

.hero-partners.partners-about {
  margin-top: 0;
}

.hero-partners-moving {
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}

.hero-client-logo {
  margin-right: 100px;
}

.numbers-grid {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.numbers-item {
  border-radius: 5px;
  flex-flow: column;
  height: auto;
  min-height: 320px;
  padding: 20px;
  display: flex;
  color: var(--color-bg-light);
}

.numbers-item.numbers-item-grey {
  background-color: var(--color-tertiary);
}

.numbers-item.numbers-item-orange {
  background-color: var(--color-secondary);
}

.numbers-item.numbers-item-dark {
  background-color: var(--color-primary);
}

.numbers-item.numbers-item-grey-light {
  background-color: var(--color-bg-medium);
  color: var(--color-primary);
}

.number-circle {
  border-radius: 50%;
  width: 20px;
  height: 20px;
}

.number-circle.circle-dark {
  background-color: var(--color-primary);
}

.number-circle.number-circle-black {
  background-color: var(--color-black);
}

.number-circle.circle-orange {
  background-color: var(--color-secondary);
}

.number-circle.circle-grey {
  background-color: var(--color-tertiary);
}

.number-text-box {
  margin-top: auto;
}

.number-text-small {
  text-transform: capitalize;
}

.number-text-big {
  margin-bottom: 15px;
  font-size: 70px;
  font-weight: 500;
  line-height: 50px;
}

.services-section {
  padding-top: 150px;
}

.main-title {
  border-bottom: 1px solid var(--color-secondary);
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 50px;
  font-size: 80px;
  font-weight: 600;
  line-height: 50px;
  color: var(--color-primary);
}

.services-item {
  border-bottom: 1px solid var(--color-tertiary);
  justify-content: flex-start;
  align-items: center;
  padding-top: 20px;
  padding-bottom: 20px;
  display: flex;
}

.service-nunmber {
  border: 1px solid var(--color-tertiary);
  background-color: var(--color-bg-medium);
  border-radius: 4px;
  padding: 7px;
  display: inline-block;
  color: var(--color-primary);
}

.service-text {
  text-transform: uppercase;
  flex: none;
  margin-left: 15px;
  font-size: 40px;
  font-weight: 200;
  line-height: 30px;
  color: var(--color-primary);
}

.service-img {
  border-radius: 10px;
  flex: none;
  width: 600px;
  margin-left: auto;
}

.who-we-are-section {
  padding-top: 150px;
}

.who-we-are-section.wo-we-are-about {
  padding-top: 100px;
}

.mission-grid {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.mission-title {
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 30px;
  display: flex;
}

.mission-title.mission-title-right {
  justify-content: flex-end;
  align-items: center;
}

.mission-plus {
  flex: 0 auto;
  width: 70px;
}

.mission-heading {
  text-transform: uppercase;
  flex: none;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 30px;
  font-size: 40px;
  font-weight: 200;
  line-height: 40px;
  color: var(--color-primary);
}

.mission-heading.mission-heading-right {
  text-align: right;
  margin-left: 0;
  margin-right: 30px;
}

.mission-content {
  border: 1px solid var(--color-tertiary);
  border-radius: 10px;
  justify-content: flex-start;
  align-items: center;
  padding: 10px;
  display: flex;
}

.mission-text-box {
  flex-flow: column;
  flex: 0 auto;
  display: flex;
}

.mission-paragraph {
  margin-bottom: 100px;
  font-size: 22px;
  line-height: 28px;
  color: var(--color-primary);
}

.mission-paragraph.mission-paragraph-right {
  margin-top: 100px;
  margin-bottom: 0;
  margin-left: 20px;
}

.mission-orange-box {
  border: 1px solid var(--color-secondary);
  background-color: var(--color-secondary);
  border-radius: 5px;
  align-self: flex-start;
  width: 30px;
  height: 30px;
}

.mission-orange-box.mission-transparent {
  background-color: transparent;
  margin-top: 20px;
  margin-left: 20px;
  border-color: var(--color-secondary);
}

/* ============================================================
   IMAGEN DE LA DOCTORA (Sección "Nosotros")
   ============================================================ */
.mission-img {
  border-radius: 10px;
  width: 278px;                 /* Ancho real de tu imagen */
  height: 417px;                /* Alto real de tu imagen */
  object-fit: cover;            /* La imagen cubre el contenedor sin distorsión */
  margin-left: 40px;
  flex-shrink: 0;               /* Evita que la imagen se encoja */
}

/* La imagen de la derecha (Visión) se mantiene como estaba */
.mission-img.mission-img-right {
  /* No tocar, o si quieres ajustarla después, lo hacemos aparte */
}

.mission-img.mission-img-right {
  margin-left: 0;
}

.work-section {
  padding-top: 150px;
}

.work-section.work-page-section {
  padding-top: 50px;
  padding-bottom: 50px;
}

.main-title-box {
  position: relative;
}

.all-projects {
  color: var(--color-primary);
  text-transform: uppercase;
  font-size: 18px;
  position: absolute;
  top: 10px;
  right: 0;
}

.work-list {
  grid-column-gap: 20px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.work-item {
  color: var(--color-primary);
  text-decoration: none;
  display: block;
}

.work-img {
  width: 100%;
}

.heading {
  margin-top: 30px;
  margin-bottom: 20px;
  font-size: 40px;
  font-weight: 200;
  line-height: 40px;
  color: var(--color-primary);
}

.work-category {
  text-transform: uppercase;
  background-color: var(--color-bg-medium);
  border-radius: 5px;
  padding: 8px;
  font-size: 16px;
  font-weight: 600;
  line-height: 17px;
  display: inline-block;
  color: var(--color-primary);
}

.testimonials-section {
  padding-top: 150px;
}

.testimonials-grid {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.trstimonials-item {
  border: 1px solid var(--color-tertiary);
  border-radius: 10px;
  padding: 30px;
}

.trstimonials-item:hover {
  background-color: var(--color-bg-medium);
}

.testimonial-item-box {
  border-bottom: 1px solid var(--color-tertiary);
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 30px;
  display: flex;
}

.testimonials-quote {
  width: 20px;
}

.testimonial-heading {
  text-transform: capitalize;
  margin: 0 0 0 20px;
  font-size: 28px;
  font-weight: 200;
  line-height: 26px;
  color: var(--color-primary);
}

.testimonials-img-txt {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.testimonial-img {
  background-color: var(--color-bg-medium);
  border-radius: 10px;
  width: 140px;
  padding-top: 10px;
}

.testimonials-txt {
  margin-bottom: 0;
  margin-left: 20px;
  font-size: 22px;
  line-height: 24px;
  color: var(--color-primary);
}

.blog-section {
  padding-top: 150px;
}

.blog-list-wrapper {
  margin-top: 50px;
}

.blog-list-wrapper.blog-list-page {
  margin-top: 0;
}

.blog-list {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.blog-arrow {
  background-color: var(--color-tertiary);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 55px;
  height: 55px;
  margin-left: 10px;
  text-decoration: none;
  display: flex;
}

.blog-left {
  border: 1px none var(--color-tertiary);
  border-radius: 10px;
  flex: 1;
  padding: 0;
}

.blog-author {
  object-fit: cover;
  border: 3px solid var(--color-tertiary);
  border-radius: 50%;
  width: 55px;
  height: 55px;
}

.link-to-single {
  margin-left: auto;
}

.blog-image {
  border-radius: 5px;
  width: 390px;
  margin-left: auto;
}

.blog-item {
  border: 1px solid var(--color-tertiary);
  cursor: pointer;
  border-radius: 5px;
  justify-content: flex-start;
  align-items: center;
  padding: 30px;
  text-decoration: none;
  display: flex;
}
.blog-item:hover {
  background-color: var(--color-bg-medium);
}

.blog-category {
  border: 1px solid var(--color-tertiary);
  color: var(--color-primary);
  border-radius: 10px;
  padding: 10px 20px;
  text-decoration: none;
  display: inline-block;
}

.blog-heading {
  color: var(--color-primary);
  text-transform: uppercase;
  width: 80%;
  margin-bottom: 0;
  font-size: 40px;
  font-weight: 200;
  line-height: 44px;
}

.blog-author-and-arrow {
  border-top: 1px solid var(--color-tertiary);
  width: 20%;
  margin-top: 20px;
  padding-top: 20px;
  display: flex;
}

.blog-arrow-icon {
  width: 25px;
}

.footer {
  margin-top: 50px;
  background-color: var(--color-primary);
  color: var(--color-bg-light);
}

.phone-link {
  color: var(--color-bg-light);
  margin-top: 30px;
  margin-bottom: 30px;
  font-family: var(--font-primary);
  font-size: 60px;
  font-weight: 400;
  line-height: 50px;
  text-decoration: none;
  display: block;
}

.copyright-text {
  color: var(--color-bg-light);
}

.socials {
  justify-content: center;
  display: flex;
}

.inner-footer {
  border-style: solid;
  border-width: 1px 1px 15px;
  border-color: var(--color-bg-medium);
  text-align: center;
  border-radius: 5px;
  padding-top: 110px;
  padding-bottom: 110px;
}

.copyright {
  justify-content: space-between;
  align-items: center;
  padding-top: 30px;
  padding-bottom: 30px;
  display: flex;
}

.backtotop {
  border: 1px solid var(--color-bg-medium);
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 40px;
  display: flex;
}

.mail-link {
  color: var(--color-bg-light);
  text-align: center;
  font-size: 36px;
  text-decoration: none;
  display: inline-block;
}

.social-link {
  color: var(--color-bg-light);
  justify-content: flex-start;
  align-items: center;
  margin-right: 20px;
  text-decoration: none;
  display: flex;
}

.social-link.last-social {
  margin-right: 0;
}

.social-text {
  text-transform: capitalize;
  font-size: 18px;
  line-height: 18px;
  text-decoration: underline;
  color: var(--color-bg-light);
}

.social-arrow {
  width: 15px;
  margin-left: 10px;
}

.right-copyright {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.license {
  color: var(--color-bg-light);
  text-transform: capitalize;
  margin-right: 20px;
  text-decoration: none;
}

.sitemap {
  margin-top: 20px;
}

.inner-sitemap {
  border: 1px solid var(--color-tertiary);
  border-radius: 5px;
  justify-content: flex-start;
  align-items: center;
  padding: 50px;
  display: flex;
}

.sitemap-heading {
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 80px;
  font-weight: 200;
  line-height: 60px;
  color: var(--color-primary);
}

.stemap-text {
  border: 1px solid var(--color-tertiary);
  background-color: rgba(0,0,0,0.7);
  border-radius: 5px;
  margin-left: 20px;
  padding: 10px;
  color: var(--color-bg-light);
}

.clients-section, .team-section {
  padding-top: 150px;
}

.team-scials {
  position: absolute;
  inset: 10px 10px auto auto;
}

.social-link-2 {
  border: 1px solid var(--color-tertiary);
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  width: 55px;
  height: 55px;
  margin-bottom: 5px;
  display: flex;
}

.team-job {
  font-size: 16px;
  line-height: 20px;
  color: var(--color-primary);
}

.team-image-wrapp {
  border: 1px solid var(--color-tertiary);
  background-color: var(--color-black);
  color: #1d1d1d;
  text-align: center;
  border-radius: 5px;
  padding: 60px 20px 0;
  position: relative;
}

.team-grid {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.social-image {
  width: 20px;
}

.team-img {
  object-fit: cover;
  width: auto;
  height: 247px;
}

.team-heading {
  margin-top: 0;
  font-size: 28px;
  font-weight: 500;
  line-height: 28px;
  color: var(--color-primary);
}

.team-details {
  padding-top: 20px;
  padding-bottom: 20px;
}

.contact-section {
  padding-top: 100px;
  padding-bottom: 50px;
}

.contact-text {
  border-bottom: 1px solid var(--color-primary);
  margin-bottom: 30px;
  padding-bottom: 30px;
  font-size: 40px;
  line-height: 40px;
  color: var(--color-primary);
}

.social-arrow-2 {
  width: 16px;
  margin-left: auto;
}

.input-style {
  border: 1px solid var(--color-tertiary);
  color: var(--color-primary);
  background-color: transparent;
  border-radius: 5px;
  flex: 1;
  align-self: auto;
  min-height: 50px;
  margin-bottom: 0;
  padding: 25px 20px 20px;
  line-height: 20px;
}

.input-style:active {
  color: var(--color-primary);
}

.input-style:focus {
  color: var(--color-primary);
  background-color: transparent;
  font-size: 20px;
  font-weight: 400;
}

.input-style:focus-visible {
  color: var(--color-primary);
  font-weight: 400;
}

.input-style[data-wf-focus-visible] {
  color: var(--color-primary);
  font-weight: 400;
}

.input-style::placeholder {
  color: var(--color-primary);
  font-size: 20px;
  font-weight: 400;
}

.input-style:lang(en) {
  color: var(--color-primary);
  font-weight: 400;
}

.input-style.textarea {
  min-height: auto;
  padding-bottom: 100px;
}

.form-stack {
  grid-row-gap: 20px;
  padding: 0;
}

.contact-stack {
  margin-top: 0;
  padding: 0;
}

.comtact-main-title {
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 30px;
  font-size: 38px;
  color: var(--color-primary);
}

.comtact-main-title.contact-title-with-border {
  text-transform: capitalize;
  border-bottom: 1px #fff;
  padding-bottom: 0;
  font-size: 30px;
  font-weight: 400;
  line-height: 30px;
}

.social-item {
  color: var(--color-primary);
  align-items: center;
  margin-right: 20px;
  text-decoration: none;
  display: flex;
}

.social-text-2 {
  text-transform: capitalize;
  margin-right: 10px;
  line-height: 20px;
  text-decoration: underline;
  color: var(--color-primary);
}

.contact-link {
  color: var(--color-primary);
  margin-bottom: 5px;
  font-size: 18px;
  line-height: 18px;
  text-decoration: none;
}

.contact-link.contact-last-link {
  border-bottom: 1px solid var(--color-primary);
  margin-bottom: 30px;
  padding-bottom: 30px;
}

.contact-location {
  width: 100%;
  margin-bottom: 30px;
}

.footer-socials {
  align-self: stretch;
  align-items: center;
  margin-top: 65px;
  display: flex;
}

.footer-socials.contact-socials {
  margin-top: 0;
}

.submit-button {
  float: none;
  color: var(--color-bg-light);
  text-transform: uppercase;
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: 5px;
  margin-top: 20px;
  margin-left: auto;
  padding: 20px 40px;
  font-size: 20px;
  font-weight: 500;
  transition: all .3s;
}

.submit-button:hover {
  color: var(--color-primary);
  background-color: var(--color-bg-light);
  border-color: var(--color-primary);
}

.success-message {
  background-color: transparent;
  border: 1px solid var(--color-tertiary);
  color: var(--color-primary);
}

.single-cell {
  align-items: stretch;
}

.contact-form-block {
  border: 5px #fff;
  border-radius: 0;
  margin-bottom: 0;
  padding: 0;
}

.error-message {
  background-color: #c4ecce;
}

.product-section {
  padding-top: 50px;
  padding-bottom: 50px;
}

.prod-description-title {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 25px;
  font-weight: 500;
  color: var(--color-primary);
}

.single-prod-right {
  border: 1px solid var(--color-tertiary);
  background-color: transparent;
  border-radius: 5px;
  padding: 50px;
}

.prod-description {
  border-top: 1px solid var(--color-tertiary);
  border-bottom: 1px solid var(--color-tertiary);
  margin-top: 30px;
  padding-top: 30px;
  padding-bottom: 30px;
}

.quantity {
  float: left;
  border-color: var(--color-tertiary);
  background-color: var(--color-black);
  border-radius: 0;
  height: 43px;
  margin-top: 20px;
  margin-bottom: 0;
  margin-right: 20px;
  padding-top: 10px;
  padding-bottom: 10px;
  color: var(--color-bg-light);
}

.single-prod-title {
  margin: 0 0 20px;
  font-size: 40px;
  font-weight: 400;
  color: var(--color-primary);
}

.refund-title {
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 400;
  color: var(--color-primary);
}

.option-list {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  border-bottom: 1px solid var(--color-tertiary);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  padding-top: 20px;
  padding-bottom: 20px;
  display: grid;
}

.single-prod-left {
  border: 1px solid var(--color-tertiary);
  background-color: transparent;
  border-radius: 5px;
  padding: 50px;
}

.select-field {
  color: var(--color-primary);
  background-color: var(--color-black);
  border: 1px solid var(--color-tertiary);
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 10px;
  padding-bottom: 10px;
}

.refund-div {
  border: 1px solid var(--color-tertiary);
  background-color: transparent;
  border-radius: 5px;
  margin-top: 20px;
  padding: 40px;
}

.buy-now-button {
  display: none;
}

.single-prod-price {
  line-height: 21px;
  color: var(--color-primary);
}

.add-to-cart-button {
  background-color: var(--color-bg-light);
  color: var(--color-primary);
  margin-top: 20px;
  margin-left: 20px;
}

.single-prod-grid {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.paragraph {
  margin-bottom: 0;
  color: var(--color-primary);
}

.shop-section {
  padding-top: 50px;
  padding-bottom: 50px;
}

.shop-list {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.shop-item {
  border: 1px solid var(--color-tertiary);
  border-radius: 5px;
  transition: all .2s;
}

.shop-item:hover {
  border-color: var(--color-secondary);
}

.shop-image-wrapper {
  padding: 20px 40px;
  display: block;
}

.shop-image-image {
  width: 100%;
}

.shop-text-wrapp {
  text-align: center;
  background-color: var(--color-bg-medium);
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  padding: 30px;
}

.shop-prod-title {
  border-bottom: 1px solid var(--color-tertiary);
  margin-top: 0;
  margin-bottom: 20px;
  padding-bottom: 20px;
  font-size: 24px;
  font-weight: 500;
  color: var(--color-primary);
}

.default-button {
  color: var(--color-black);
  text-transform: uppercase;
  background-color: #c4ef17;
  border: 1px solid #c4ef17;
  padding: 17px 23px;
  font-weight: 600;
  transition: all .2s;
}

.default-button:hover {
  color: #c4ef17;
  background-color: var(--color-black);
}

.default-button.order-button {
  border-color: var(--color-tertiary);
  background-color: var(--color-bg-light);
  margin-top: 20px;
  padding: 10px 40px;
  font-size: 20px;
  font-weight: 400;
  line-height: 25px;
  color: var(--color-primary);
}

.default-button.order-button:hover {
  background-color: var(--color-primary);
  color: var(--color-bg-light);
}

.sigle-work-section {
  padding-top: 50px;
  padding-bottom: 50px;
}

.single-work-grid {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.single-main-work-img {
  margin-bottom: 20px;
}

.single-main-title-heading {
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 40px;
  font-size: 50px;
  font-weight: 200;
  line-height: 40px;
  color: var(--color-primary);
}

.single-left-grid {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.single-left-item {
  border-left: 1px solid var(--color-primary);
  padding-left: 20px;
}

.single-detail-heading {
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 200;
  color: var(--color-primary);
}

.single-details-text {
  font-size: 18px;
  color: var(--color-primary);
}

.button {
  border: 1px solid var(--color-secondary);
  background-color: transparent;
  text-transform: uppercase;
  border-radius: 5px;
  margin-top: 50px;
  padding: 10px 40px;
  color: var(--color-primary);
}

.single-post-section {
  padding-top: 50px;
  padding-bottom: 50px;
}

.blog-author-and-category {
  margin-bottom: 20px;
}

.single-post-text-cell {
  border: 1px solid var(--color-tertiary);
  background-color: transparent;
  border-radius: 5px;
  padding: 30px;
}

.single-post-img {
  mix-blend-mode: normal;
  border-radius: 0;
  position: static;
  top: 10px;
}

.single-blog-heading {
  color: var(--color-primary);
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 50px;
  font-weight: 600;
  line-height: 50px;
  position: static;
}

.blog-category-2 {
  color: #19191a;
  border: 1px solid rgba(0,0,0,0.2);
  border-radius: 50px;
  padding: 10px 20px;
  text-decoration: none;
  display: inline-block;
}

.blog-category-2.single-category {
  border-color: var(--color-secondary);
  color: var(--color-primary);
  border-radius: 0;
  margin-left: 0;
}

.signel-post-image-cell {
  background-color: transparent;
  border-radius: 0;
}

.single-img-wrapper {
  position: sticky;
  top: 10px;
}

.single-stack {
  padding: 0;
}

.single-upper {
  border: 1px solid var(--color-tertiary);
  background-color: transparent;
  border-radius: 5px;
  padding: 30px 30px 40px;
}

.blog-page-section {
  padding-top: 50px;
  padding-bottom: 50px;
}

.pages-body {
  cursor: auto;
}

.checkout {
  color: var(--color-black);
  margin-top: 40px;
}

.checkout-button {
  background-color: var(--color-secondary);
  border-style: solid;
  border-color: var(--color-black);
}

.utility-section {
  padding-top: 50px;
  padding-bottom: 50px;
}

.utility-h4 {
  margin-top: 20px;
  margin-bottom: 20px;
  color: var(--color-primary);
}

.list-item.last-list-item {
  margin-bottom: 0;
}

.h1-heading {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 60px;
  line-height: 60px;
  color: var(--color-primary);
}

.style-guide {
  margin-top: 0;
}

.h5-heading {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
  line-height: 20px;
  color: var(--color-primary);
}

.block-quote {
  border-left-color: var(--color-secondary);
}

.quick-stack-2 {
  padding: 0;
}

.h6-heading {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
  line-height: 16px;
  color: var(--color-primary);
}

.h3-heading {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 25px;
  font-weight: 400;
  line-height: 25px;
  color: var(--color-primary);
}

.h3-heading.list-heading {
  margin-bottom: 30px;
  font-weight: 600;
}

.sample-link {
  color: var(--color-primary);
  font-size: 20px;
  font-weight: 400;
  line-height: 25px;
  text-decoration: underline;
}

.h2-heading {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 40px;
  font-weight: 400;
  line-height: 40px;
  color: var(--color-primary);
}

.ordered-list {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 20px;
  color: var(--color-primary);
}

._30mb-space {
  border-bottom: 1px solid var(--color-tertiary);
  height: 30px;
  margin-bottom: 30px;
}

.list-text {
  font-size: 20px;
  font-weight: 400;
  line-height: 27px;
  color: var(--color-primary);
}

.h4-heading {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 22px;
  font-weight: 400;
  line-height: 23px;
  color: var(--color-primary);
}

.paragraph-6 {
  margin-bottom: 0;
  font-size: 20px;
  font-weight: 400;
  line-height: 25px;
  color: var(--color-primary);
}

.sample-link-2 {
  color: var(--color-primary);
  font-size: 20px;
  font-weight: 400;
  line-height: 25px;
  text-decoration: underline;
}

.utility-p {
  text-align: center;
  margin-bottom: 30px;
  font-size: 20px;
  line-height: 30px;
  color: var(--color-primary);
}

.utility-p.change-paragrap {
  text-align: left;
  margin-top: 0;
  margin-bottom: 0;
}

.changelog-text {
  margin-top: 10px;
  font-size: 20px;
  font-weight: 300;
  line-height: 30px;
  color: var(--color-primary);
}

.cart-wrapper {
  color: var(--color-black);
}

.close-button {
  cursor: pointer;
}

.delete-me {
  color: var(--color-bg-light);
  text-transform: capitalize;
  background-image: linear-gradient(#55bdbe, #3da9af);
  border: 1px solid #7acfd8;
  border-radius: 50px;
  padding: 10px 40px;
  font-size: 20px;
  font-weight: 400;
  transition: all .2s;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(0,0,0,0.09);
}

.delete-me:hover {
  box-shadow: 0 2px 20px 5px rgba(0,0,0,0.05);
}

.delete-me.more-template {
  z-index: 5555;
  background-image: linear-gradient(180deg, var(--color-secondary), #6d2f00);
  text-transform: uppercase;
  border-style: none;
  margin-bottom: 10px;
  padding: 10px 20px;
  font-size: 16px;
  font-weight: 400;
  display: block;
  position: fixed;
  inset: auto 20px 10px auto;
}

/* ========================================
   RESPONSIVE – MEDIA QUERIES
   (solo se ajustan colores, no estructura)
   ======================================== */

@media screen and (min-width: 1440px) {
  .menu-item {
    padding: 10px 0;
    font-size: 20px;
  }

  .menu-item.w--current {
    margin-left: 15px;
    margin-right: 15px;
    padding: 10px 0;
  }

  .header-inner {
    justify-content: flex-end;
    display: flex;
  }

  .main-menu {
    flex: none;
    align-self: center;
    margin-left: auto;
  }

  .main-container {
    max-width: 1400px;
    padding-left: 0;
    padding-right: 0;
  }

  .cursor {
    opacity: 0;
  }

  .hero-big-text {
    font-size: 201px;
  }

  .hero-under-text {
    font-size: 39px;
  }

  .hero-partners {
    border-style: solid none;
    border-width: 1px;
    border-color: var(--color-tertiary);
    padding-top: 25px;
    padding-bottom: 25px;
  }

  .service-img {
    width: 770px;
  }

  .mission-paragraph {
    margin-top: 20px;
    margin-bottom: 130px;
    margin-left: 20px;
  }

  .mission-paragraph.mission-paragraph-right {
    margin-top: 130px;
    margin-bottom: 20px;
  }

  .mission-orange-box {
    border: 1px solid var(--color-secondary);
    margin-bottom: 20px;
    margin-left: 20px;
  }

  .mission-orange-box.mission-transparent {
    background-color: transparent;
    align-self: flex-start;
  }

  .mission-img {
    object-fit: cover;
    border-radius: 10px;
    align-self: stretch;
    margin-left: 20px;
  }

  .mission-img.mission-img-right {
    margin-left: 0;
    margin-right: 20px;
  }

  .blog-image {
    width: 420px;
  }

  .blog-heading {
    font-size: 50px;
    line-height: 55px;
  }

  .contact-stack {
    grid-column-gap: 70px;
    grid-row-gap: 70px;
  }

  .single-left-item {
    padding-left: 40px;
  }

  .single-stack {
    grid-column-gap: 50px;
    grid-row-gap: 50px;
  }

  .paragraph-6 {
    font-size: 22px;
    line-height: 28px;
  }
}

@media screen and (min-width: 1920px) {
  .menu-item {
    padding: 10px 0;
  }

  .menu-item.w--current {
    padding-left: 0;
    padding-right: 0;
  }

  .main-container {
    max-width: 1700px;
  }
}

@media screen and (max-width: 991px) {
  body {
    cursor: auto;
  }

  .menu-item {
    color: var(--color-primary);
    font-weight: 300;
  }

  .menu-item.w--current {
    color: var(--color-secondary);
    border-bottom-style: none;
  }

  .cart-button {
    justify-content: center;
    width: auto;
    height: auto;
    padding: 15px;
  }

  .main-menu {
    border: 1px solid var(--color-primary);
    background-color: var(--color-bg-light);
    border-radius: 0;
    padding: 20px;
  }

  .icon {
    color: var(--color-primary);
    font-size: 33px;
  }

  .shop-button {
    color: var(--color-bg-light);
    align-self: flex-start;
    margin-top: 25px;
  }

  .menu-button {
    border: 1px solid var(--color-primary);
    flex: 0 auto;
    order: 1;
    margin-left: 20px;
    padding: 8px;
  }

  .menu-button.w--open {
    background-color: transparent;
  }

  .hero-section {
    background-position: 50% 100%;
  }

  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-under-text {
    margin-top: 60px;
  }

  .numbers-grid {
    grid-template-columns: 1fr 1fr;
  }

  .services-item {
    display: block;
  }

  .service-text {
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: 0;
  }

  .service-img {
    flex: 0 auto;
    order: 0;
    margin-left: 0;
    display: block;
  }

  .mission-grid {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
    grid-template-columns: 1fr;
  }

  .testimonials-grid {
    grid-template-columns: 1fr;
  }

  .blog-left {
    flex: 1;
  }

  .blog-image {
    width: 300px;
  }

  .blog-heading {
    width: 100%;
  }

  .blog-author-and-arrow {
    width: 50%;
  }

  .socials {
    display: flex;
  }

  .team-image-wrapp {
    padding: 60px 60px 0;
  }

  .team-grid {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
    grid-template-columns: 1fr;
  }

  .single-prod-grid {
    grid-column-gap: 50px;
    grid-row-gap: 50px;
  }

  .shop-list {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    grid-template-columns: 1fr 1fr;
  }

  .single-stack {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
  }

  .cart-wrapper {
    color: var(--color-black);
  }
}

@media screen and (max-width: 767px) {
  .logo-img {
    width: 150px;
  }

  .menu-button {
    margin-left: 10px;
  }

  .service-img {
    width: 100%;
  }

  .work-list {
    grid-template-columns: 1fr;
  }

  .blog-left {
    margin-bottom: 20px;
  }

  .blog-image {
    width: 100%;
  }

  .blog-item {
    margin-bottom: 0;
    display: block;
  }

  .blog-heading, .blog-author-and-arrow {
    width: 100%;
  }

  .phone-link {
    font-size: 50px;
    line-height: 50px;
  }

  .socials {
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }

  .copyright {
    display: block;
  }

  .social-link {
    margin-bottom: 20px;
    margin-right: 0;
  }

  .right-copyright {
    justify-content: space-between;
    margin-top: 20px;
  }

  .inner-sitemap {
    display: block;
  }

  .sitemap-heading {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 60px;
    line-height: 50px;
  }

  .stemap-text {
    margin-left: 0;
  }

  .contact-stack {
    grid-column-gap: 50px;
    grid-row-gap: 50px;
    margin-top: 60px;
  }

  .footer-socials {
    margin-top: 40px;
  }

  .single-prod-grid, .shop-list {
    grid-template-columns: 1fr;
  }

  .single-work-grid {
    grid-column-gap: 50px;
    grid-row-gap: 50px;
    grid-template-columns: 1fr;
  }

  .single-left-grid {
    grid-column-gap: 35px;
    grid-row-gap: 35px;
    grid-template-columns: 1fr;
  }

  .single-left-item {
    border-bottom: 1px solid var(--color-primary);
    border-left-style: none;
    padding-bottom: 20px;
    padding-left: 0;
  }
}

@media screen and (max-width: 479px) {
  .logo-img {
    width: 120px;
  }

  .header-right-side {
    margin-top: 0;
  }

  .cart-button {
    padding: 8px;
  }

  .header-inner {
    justify-content: space-between;
    align-items: center;
    display: flex;
  }

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

  .hero-grid {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }

  .hero-big-text {
    font-size: 60px;
    line-height: 40px;
  }

  .hero-under-text {
    font-size: 26px;
    line-height: 35px;
  }

  .numbers-grid {
    grid-template-columns: 1fr;
  }

  .main-title {
    font-size: 30px;
    line-height: 19px;
  }

  .mission-content {
    display: block;
  }

  .mission-paragraph {
    margin-bottom: 20px;
  }

  .mission-paragraph.mission-paragraph-right {
    margin: 10px 0 0;
  }

  .mission-orange-box.mission-transparent {
    margin-left: 0;
  }

  .mission-img {
    width: 100%;
    margin-top: 20px;
    margin-left: 0;
  }

  .all-projects {
    top: 0;
  }

  .heading {
    font-size: 30px;
    line-height: 30px;
  }

  .testimonials-img-txt {
    display: block;
  }

  .testimonial-img {
    width: 100%;
  }

  .testimonials-txt {
    margin-left: 0;
    padding-top: 20px;
  }

  .phone-link {
    font-size: 34px;
    line-height: 40px;
  }

  .copyright-text {
    padding-right: 20px;
  }

  .inner-footer {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .backtotop {
    flex: none;
    width: 60px;
    height: 60px;
  }

  .mail-link {
    font-size: 28px;
  }

  .inner-sitemap {
    padding: 20px;
  }

  .sitemap-heading {
    font-size: 40px;
    line-height: 40px;
  }

  .team-image-wrapp {
    padding-left: 20px;
    padding-right: 20px;
  }

  .team-img {
    width: auto;
  }

  .social-item {
    margin-bottom: 15px;
  }

  .contact-location {
    width: 80%;
  }

  .footer-socials {
    margin-top: 30px;
    display: block;
  }

  .submit-button {
    float: none;
    background-image: none;
    margin-top: 10px;
    padding: 20px 60px;
    font-size: 19px;
  }

  .quantity {
    float: none;
  }

  .option-list {
    grid-template-columns: 1fr;
  }

  .select-field {
    color: var(--color-primary);
  }

  .add-to-cart-button {
    margin-left: 0;
  }

  .single-post-text-cell {
    padding: 20px;
  }

  .single-blog-heading {
    font-size: 40px;
    line-height: 40px;
  }

  .delete-me {
    text-align: center;
    padding: 10px 20px;
    font-size: 16px;
  }
}

#darkyn21 {
  align-self: end;
}

#w-node-_300d1045-815b-d871-744a-2aa00050ca14-3c872027 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#darkyn42, #darkyn36 {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
}

#darkyn30 {
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr 1fr;
}

#darkyn35 {
  grid-column: span 2 / span 2;
}

#w-node-_08bc5feb-2130-9b76-71de-0ef14c34c536-affb563a {
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
}

#w-node-_08bc5feb-2130-9b76-71de-0ef14c34c537-affb563a,
#w-node-_08bc5feb-2130-9b76-71de-0ef14c34c539-affb563a,
#w-node-_08bc5feb-2130-9b76-71de-0ef14c34c53b-affb563a,
#w-node-_08bc5feb-2130-9b76-71de-0ef14c34c53d-affb563a,
#w-node-_08bc5feb-2130-9b76-71de-0ef14c34c53f-affb563a,
#w-node-_08bc5feb-2130-9b76-71de-0ef14c34c541-affb563a {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

@media screen and (max-width: 991px) {
  #darkyn18 {
    order: 9999;
  }
  #darkyn42 {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 767px) {
  #darkyn36 {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 479px) {
  #darkyn30 {
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr;
  }
  #darkyn31, #darkyn32, #darkyn33, #darkyn34 {
    grid-column: span 2 / span 2;
  }
  #w-node-_08bc5feb-2130-9b76-71de-0ef14c34c536-affb563a {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   JUSTIFICAR TEXTO DE LA SECCIÓN "NOSOTROS"
   ============================================================ */
.mission-paragraph {
  text-align: justify;           /* Justifica el texto en ambos lados */
  text-justify: inter-word;      /* Mejora la justificación en navegadores modernos */
}

/* ============================================================
   CENTRAR VERTICALMENTE EL TEXTO EN LA COLUMNA DERECHA
   DE LA SECCIÓN "NOSOTROS"
   ============================================================ */
.mission-right .mission-content {
  align-items: center;        /* Centra verticalmente el contenedor del texto */
  justify-content: center;    /* Opcional: centra horizontalmente también */
}

.mission-right .mission-text-box {
  display: flex;
  flex-direction: column;
  justify-content: center;    /* Centra verticalmente el contenido interno */
  align-items: flex-start;   /* Mantiene el texto alineado a la izquierda */
  width: 100%;               /* Ocupa el ancho completo del contenedor */
  padding: 20px 0;           /* Espaciado interno para que no quede pegado */
}

/* Eliminamos el margen superior que desplaza el texto */
.mission-paragraph.mission-paragraph-right {
  margin-top: 0;             /* Elimina el margen superior que empujaba el texto */
  margin-left: 0;            /* Opcional: alinea a la izquierda del todo */
}

/* Ajuste para el bloque de texto extra (los <br> y el texto final) */
.mission-right .mission-text-box br {
  display: none;             /* Oculta los <br> (opcional, para mejor control) */
}

/* Si quieres mantener los saltos de línea, usa este bloque en su lugar: */

.mission-right .mission-text-box br {
  display: block;
  content: "";
  margin: 10px 0;
}

/* ============================================================
   IGUALAR ALTURA DE LOS MARCOS EN LA SECCIÓN "NOSOTROS"
   ============================================================ */

/* 1. Aseguramos que ambas columnas del grid tengan la misma altura base */
.mission-grid {
  align-items: stretch;  /* Hace que las celdas del grid se estiren verticalmente */
}

/* 2. Hacemos que el contenedor interno de la columna derecha ocupe toda la altura disponible */
.mission-right .mission-content {
  height: 100%;          /* Ocupa toda la altura de su celda */
  align-items: center;   /* Mantiene el contenido centrado verticalmente */
  justify-content: center;
}

/* 3. Opcional: si quieres que el contenedor de la izquierda también tenga height: 100% */
.mission-left .mission-content {
  height: 100%;
}

/* ============================================================
   SECCIÓN ESPECIALIDADES – GRID DE TARJETAS 4 COLUMNAS
   ============================================================ */

/* Contenedor del grid */
.services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 10px;
}

/* Estilos de cada tarjeta */
.service-card {
    background-color: var(--color-bg-medium);
    border: 1px solid var(--color-tertiary);
    border-radius: 12px;
    padding: 30px 20px;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 0;                      /* Inicio invisible para la animación */
    transform: translateY(30px);     /* Desplazamiento inicial hacia abajo */
    cursor: default;
}

/* Clase que se activa con JavaScript al hacer scroll */
.service-card.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Efecto hover (moderno y sutil) */
.service-card:hover {
    background-color: var(--color-bg-light);
    border-color: var(--color-secondary);
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(80, 70, 56, 0.12);
}

/* Número de la especialidad (mismo estilo que tenías) */
.service-number {
    border: 1px solid var(--color-tertiary);
    background-color: var(--color-bg-light);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px auto;
    font-size: 18px;
    font-weight: 600;
    color: var(--color-primary);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.service-card:hover .service-number {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-bg-light);
}

/* Nombre del servicio (texto principal) */
.service-name {
    font-size: 18px;
    font-weight: 600;
    color: var(--color-primary);
    line-height: 1.4;
    text-transform: uppercase;
    margin-bottom: 8px;
}

/* Descripción breve (subtítulo) */
.service-desc {
    font-size: 14px;
    color: var(--color-secondary);
    line-height: 1.4;
    font-weight: 300;
}

/* ============================================================
   RESPONSIVE: Adaptación a móviles y tabletas
   ============================================================ */

/* En tabletas: 2 columnas */
@media screen and (max-width: 991px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

/* En móviles: 1 columna */
@media screen and (max-width: 479px) {
    .services-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .service-card {
        padding: 24px 16px;
    }
    .service-name {
        font-size: 16px;
    }
}

/* ============================================================
   IMÁGENES DE FONDO PARA LAS TARJETAS DE ESPECIALIDADES
   ============================================================ */

/* Cada tarjeta tendrá su propia imagen de fondo */
.service-card {
    /* El fondo de color sólido se reemplaza por la imagen */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;            /* Necesario para el overlay */
    z-index: 1;                    /* Asegura que el contenido esté por encima */
    /* Mantenemos el color de fondo como respaldo mientras no haya imagen */
    background-color: var(--color-bg-medium);
}

/* Pseudo-elemento para el overlay oscuro que mejora la legibilidad del texto */
.service-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.2) 0%,
        rgba(0, 0, 0, 0.7) 100%
    );
    border-radius: 12px;          /* Mismo border-radius que la tarjeta */
    z-index: -1;                  /* Detrás del contenido, pero encima de la imagen */
    transition: opacity 0.4s ease;
    opacity: 1;
}

/* Efecto hover: el overlay se oscurece ligeramente */
.service-card:hover::before {
    opacity: 0.9;
}

/* Ajustamos el color del texto para que sea blanco y legible sobre la imagen */
.service-card .service-number,
.service-card .service-name,
.service-card .service-desc {
    color: #ffffff;
}

/* El número mantiene su borde, pero ahora con borde blanco */
.service-card .service-number {
    border-color: rgba(255, 255, 255, 0.6);
    background-color: rgba(0, 0, 0, 0.3);
    color: #ffffff;
}

/* En hover, el número se vuelve sólido y cambia de color */
.service-card:hover .service-number {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-bg-light);
}

/* ============================================================
    ASIGNACIÓN DE IMÁGENES POR TARJETA (CAMBIA LAS URLS)
   ============================================================ */

/* Tarjeta 1 */
.service-card.card-1 {
    background-image: url('../images/Servicio/consulta_oftalmologica_integral.webp');
}

/* Tarjeta 2 */
.service-card.card-2 {
    background-image: url('../images/Servicio/historia_clinica_completa.webp');
}

/* Tarjeta 3 */
.service-card.card-3 {
    background-image: url('../images/Servicio/medicion_agudeza_visual.webp');
}

/* Tarjeta 4 */
.service-card.card-4 {
    background-image: url('../images/Servicio/exploracion_lampara_hendidura.webp');
}

/* Tarjeta 5 */
.service-card.card-5 {
    background-image: url('../images/Servicio/cornea_cristalino.webp');
}

/* Tarjeta 6 */
.service-card.card-6 {
    background-image: url('../images/Servicio/evaluación_superficie_ocular.webp');
}

/* Tarjeta 7 */
.service-card.card-7 {
    background-image: url('../images/Servicio/exploración_fondo_ojo.webp');
}

/* Tarjeta 8 */
.service-card.card-8 {
    background-image: url('../images/Servicio/toma_presion_ocular.webp');
}

/* Altura fija para todas las tarjetas (opcional, pero mejora la consistencia) */
.service-card {
    min-height: 260px;             /* Ajusta según tus necesidades */
}

@media screen and (max-width: 767px) {
    .service-card::before {
        background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.4) 0%,
            rgba(0, 0, 0, 0.8) 100%
        );
    }
}

/* ============================================================
   ACORDEÓN EN SECCIÓN INSIGHTS
   ============================================================ */

/* Contenedor del acordeón – mantiene el cursor interactivo */
.accordion-item {
    cursor: pointer;
    transition: border-color 0.3s ease;
    position: relative;
}

/* Contenido desplegable – inicialmente oculto */
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                padding 0.3s ease,
                opacity 0.3s ease;
    opacity: 0;
    padding: 0 0 0 0;
}

/* Estado abierto del acordeón */
.accordion-item.active .accordion-content {
    max-height: 800px;          /* Ajusta esta altura si el contenido es más largo */
    opacity: 1;
    padding: 20px 0 10px 0;
}

/* Flecha que gira al abrir */
.accordion-item.active .blog-arrow {
    transform: rotate(90deg);
    transition: transform 0.3s ease;
}

.accordion-item .blog-arrow {
    transition: transform 0.3s ease;
}

/* Botón "Agendar cita" dentro del acordeón */
.btn-accordion {
    display: inline-block;
    padding: 10px 25px;
    margin-top: 10px;
    background-color: var(--color-primary);
    color: var(--color-bg-light);
    border-radius: 50px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: background-color 0.3s ease;
}

.btn-accordion:hover {
    background-color: var(--color-secondary);
    color: var(--color-bg-light);
}

/* Estilos para el texto del contenido */
.accordion-content p {
    margin-bottom: 12px;
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-primary);
}

/* Ajuste responsive para móviles */
@media screen and (max-width: 767px) {
    .accordion-content p {
        font-size: 15px;
    }
    .accordion-item.active .accordion-content {
        padding: 15px 0 10px 0;
    }
}

/* ============================================================
  CORREGIR HOVER DE LA PRIMERA TARJETA EN INSIGHTS
   ============================================================ */
.blog-item.accordion-item:first-of-type:hover,
.blog-item.accordion-item:first-of-type:focus {
    background-color: var(--color-bg-medium) !important;
    border-color: var(--color-tertiary);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* Aseguramos que el arrow también herede el comportamiento */
.blog-item.accordion-item:first-of-type .blog-arrow {
    background-color: var(--color-tertiary) !important;
}

.blog-item.accordion-item:first-of-type:hover .blog-arrow {
    background-color: var(--color-tertiary) !important;
}

/* ============================================================
   CORREGIR DESTELLO NEGRO AL RETIRAR EL CURSOR
   ============================================================ */

/* Color base de la primera tarjeta (sin hover) */
.blog-item.accordion-item:first-of-type {
    background-color: var(--color-bg-light) !important;  /* Fondo claro por defecto */
    transition: background-color 0.3s ease;               /* Transición suave en ambos sentidos */
}

/* Color base del arrow (sin hover) */
.blog-item.accordion-item:first-of-type .blog-arrow {
    background-color: var(--color-tertiary) !important;
    transition: background-color 0.3s ease;
}

/* Hover (ya lo tienes, pero lo refuerzo) */
.blog-item.accordion-item:first-of-type:hover {
    background-color: var(--color-bg-medium) !important;
    border-color: var(--color-tertiary);
}

.blog-item.accordion-item:first-of-type:hover .blog-arrow {
    background-color: var(--color-tertiary) !important;
}

/* ============================================================
   FOOTER – NUEVA ESTRUCTURA DE 4 COLUMNAS
   ============================================================ */

/* Contenedor grid de 4 columnas */
.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 30px 0 40px 0;
}

/* Estilos base para cada columna */
.footer-col {
    display: flex;
    flex-direction: column;
    color: var(--color-bg-light);
}

/* ============================================================
   COLUMNA 1 – Logo y redes sociales (centrado)
   ============================================================ */
.footer-col-1 {
    align-items: center;
    text-align: center;
}

.footer-logo {
    max-width: 180px;
    height: auto;
    margin-bottom: 15px;
}

.footer-divider {
    width: 70px;
    height: 2px;
    background-color: var(--color-bg-medium);
    border: none;
    margin: 0 auto 15px auto;
}

.footer-social-label {
    font-size: 14px;
    font-weight: 300;
    margin-bottom: 12px;
    color: var(--color-bg-light);
}

.footer-socials {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 50%;
    color: var(--color-bg-light);
    transition: all 0.3s ease;
}

.footer-social-link:hover {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
    transform: translateY(-2px);
}

.footer-social-link svg {
    width: 20px;
    height: 20px;
}

/* ============================================================
   COLUMNA 2 – Mapa del sitio
   ============================================================ */
.footer-heading {
    font-size: 18px;
    font-weight: 600;
    color: var(--color-bg-light);
    margin-bottom: 15px;
    letter-spacing: 0.5px;
}

.footer-sitemap {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-sitemap li {
    margin-bottom: 8px;
}

.footer-sitemap a {
    color: var(--color-bg-light);
    text-decoration: none;
    font-size: 15px;
    font-weight: 300;
    transition: color 0.3s ease;
}

.footer-sitemap a:hover {
    color: var(--color-secondary);
}

/* ============================================================
   COLUMNA 3 – Contacto
   ============================================================ */
.footer-contact {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 15px;
    font-weight: 300;
    color: var(--color-bg-light);
}

.footer-contact-icon {
    font-size: 18px;
    line-height: 1.4;
    min-width: 24px;
}

.footer-contact a {
    color: var(--color-bg-light);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-contact a:hover {
    color: var(--color-secondary);
}

/* ============================================================
   COLUMNA 4 – Google Maps (DESPLAZADO A LA IZQUIERDA)
   ============================================================ */
.footer-col-4 {
    padding-left: 0;           /* Quitamos padding izquierdo */
    padding-right: 10px;
}

.footer-map-wrapper {
    flex: 1;
    width: 100%;
    max-width: 100%;
    min-height: 180px;
    max-height: 220px;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: flex-start;  /* Alineación a la izquierda */
    background-color: rgba(255,255,255,0.05);
    margin-left: -15px;          /* Desplazamos TODO el contenedor 15px a la izquierda */
}

.footer-map-wrapper iframe {
    display: block;
    width: calc(100% + 15px);    /* Compensamos el margen negativo para que no se corte */
    height: 100%;
    min-height: 180px;
    border: none;
    border-radius: 8px;
}

/* ============================================================
   COPYRIGHT (con texto desplazado 50px a la derecha)
   ============================================================ */
.footer-copyright {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 35px 0 20px 0;
    border-top: 1px solid rgba(255,255,255,0.1);
    font-size: 14px;
    font-weight: 300;
    color: var(--color-bg-light);
    margin-top: 20px;
}

.footer-copyright-text {
    padding-left: 50px;
}

.footer-copyright-text a {
    color: var(--color-bg-light);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-copyright-text a:hover {
    color: var(--color-secondary);
}

.footer-backtotop .backtotop {
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 5px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    margin-right: 60px;          /* Desplaza el botón 60px a la izquierda */
}

.footer-backtotop .backtotop:hover {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
}

/* ============================================================
   RESPONSIVE – Ajustes en tabletas y móviles
   ============================================================ */

@media screen and (max-width: 991px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 30px;
    }
    .footer-col-4 {
        grid-column: span 2;
        max-width: 400px;
        margin: 0 auto;
        padding-left: 0;
        padding-right: 0;
    }
    .footer-map-wrapper {
        margin-left: 0;        /* Quitamos el margen negativo en tablets */
        min-height: 200px;
        max-height: 240px;
    }
    .footer-map-wrapper iframe {
        width: 100%;           /* Restauramos el ancho normal */
    }
    .footer-copyright {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
    .footer-copyright-text {
        padding-left: 0;
    }
}

@media screen and (max-width: 767px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .footer-col-4 {
        grid-column: span 1;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    .footer-map-wrapper {
        margin-left: 0;        /* Quitamos el margen negativo en móviles */
        min-height: 200px;
        max-height: 240px;
    }
    .footer-map-wrapper iframe {
        width: 100%;           /* Restauramos el ancho normal */
    }
    .footer-logo {
        max-width: 150px;
    }
    .footer-copyright {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
    .footer-copyright-text {
        padding-left: 0;
        font-size: 13px;
    }
}

/* ============================================================
   VIDEO DE FONDO EN EL HERO
   ============================================================ */
.hero-section {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 0;  /* Eliminamos el padding para que el video ocupe todo */
}

/* Contenedor del video */
.hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* Overlay sobre el video (para legibilidad) */
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(132, 119, 99, 0.43);  /* Mermaid al 43% */
    z-index: 1;
    pointer-events: none;  /* Permite hacer clic a través del overlay */
}

/* Asegurar que el contenido del hero esté por encima del overlay */
.hero-section .main-container {
    position: relative;
    z-index: 2;
    padding-top: 80px;      /* Espacio para el header fijo */
    padding-bottom: 50px;
}

/* Ajustar el grid para que se vea bien sobre el video */
.hero-grid {
    padding-top: 50px;      /* Reducimos el padding porque ya tenemos padding-top del contenedor */
}

/* ============================================================
   HEADER – Base transparente + glassmorphism al aparecer
   ============================================================ */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding-top: 20px;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                background 0.3s ease;
}

/* Contenedor del logo + menú (glassmorphism) */
.header-inner {
    background: rgba(255, 255, 255, 0.08);        /* Fondo semitransparente */
    backdrop-filter: blur(14px);                   /* Desenfoque (glassmorphism) */
    -webkit-backdrop-filter: blur(14px);           /* Safari */
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.3s ease;
}

/* Estado oculto (scrolldown) */
.header.js-header-hidden {
    transform: translateY(-120%);
}

/* Estado visible (scrollup o top) */
.header.js-header-visible {
    transform: translateY(0);
}

/* Textos del menú en blanco con negrita */
.menu-item {
    color: #ffffff !important;            /* Blanco para contraste */
    font-weight: 700 !important;          /* Negrita para legibilidad */
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);  /* Sombra para destacar sobre el video */
    border-bottom: 2px solid transparent;
    text-transform: uppercase;
    margin-left: 15px;
    margin-right: 15px;
    padding: 10px 0;
    font-size: 17px;
    letter-spacing: 0.3px;
}

.menu-item:hover {
    color: var(--color-secondary) !important;
}

.menu-item.w--current {
    border-bottom-color: var(--color-secondary);
    color: #ffffff !important;
}

/* Logo (blanco para que contraste) */
.logo-img {
    width: 180px;
    filter: brightness(0) invert(1);       /* Convierte el logo a blanco */
}

/* Botón hamburguesa (blanco) */
.icon {
    color: #ffffff !important;
    font-size: 33px;
}

/* ============================================================
   HERO SECTION – Video de fondo y espaciado
   ============================================================ */
.hero-section {
    position: relative;
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Video de fondo */
.hero-video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* Overlay sobre el video (Mermaid al 43%) */
.hero-section::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(132, 119, 99, 0.43);
    z-index: 1;
    pointer-events: none;
}

/* Contenido del Hero (por encima del overlay) */
.hero-section .main-container {
    position: relative;
    z-index: 2;
}

/* Grid de 3 columnas – con más padding-top para separar del header */
.hero-grid {
    grid-column-gap: 50px;
    grid-row-gap: 50px;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    padding-top: 220px;                 /* Antes 150px – más separación del header */
    padding-bottom: 60px;
    display: grid;
}

/* Textos en blanco para que contrasten con el video */
.hero-big-text,
.hero-paragraph,
.hero-projects-link-text,
.hero-under-text {
    color: #ffffff !important;
}

.hero-under-text {
    border-left-color: var(--color-secondary);
}

/* Enlace "Projects" (blanco) */
.hero-projects-link {
    color: #ffffff !important;
}

.hero-projects-link-text {
    border-bottom-color: #ffffff !important;
}

/* Partners (se mantiene igual, solo ajustamos el z-index) */
.hero-partners {
    position: relative;
    z-index: 2;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    margin-top: 50px;
    padding-top: 15px;
    padding-bottom: 15px;
    overflow: hidden;
}

/* ============================================================
   RESPONSIVE – Ajustes para tablets y móviles
   ============================================================ */
@media screen and (max-width: 991px) {
    .header-inner {
        padding: 12px 16px;
        border-radius: 12px;
    }
    .logo-img {
        width: 140px;
    }
    .hero-grid {
        padding-top: 180px;
        grid-template-columns: 1fr;
    }
    .menu-item {
        font-size: 15px;
        margin-left: 10px;
        margin-right: 10px;
    }
}

@media screen and (max-width: 767px) {
    .header {
        padding-top: 12px;
    }
    .header-inner {
        padding: 10px 14px;
        border-radius: 10px;
    }
    .logo-img {
        width: 120px;
    }
    .hero-grid {
        padding-top: 140px;
    }
    .menu-item {
        font-size: 14px;
        margin-left: 5px;
        margin-right: 5px;
        padding: 8px 0;
    }
    .hero-big-text {
        font-size: 80px;
        line-height: 70px;
    }

     /* Centrar "Conocenos" y flecha en móvil */
    .hero-projects-link {
        justify-content: center !important;
    }
    .hero-proect-link-arrow {
        margin-left: 8px;
    }
}

@media screen and (max-width: 479px) {
    .header-inner {
        padding: 8px 12px;
        border-radius: 8px;
    }
    .logo-img {
        width: 100px;
    }
    .hero-grid {
        padding-top: 120px;
    }
    .hero-big-text {
        font-size: 60px;
        line-height: 50px;
    }
    .hero-under-text {
        font-size: 24px;
        line-height: 30px;
    }
}

/* ============================================================
   ESTILOS DEL MENÚ – BOLD PARA LEGIBILIDAD
   ============================================================ */
.menu-item {
    font-weight: 700 !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

.menu-item:hover {
    color: var(--color-secondary) !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}

.menu-item.w--current {
    border-bottom-color: var(--color-secondary) !important;
    color: var(--color-bg-light) !important;
}

.menu-item.w--current:hover {
    color: var(--color-secondary) !important;
}

/* Icono del menú hamburguesa en móviles */
.icon {
    color: var(--color-bg-light) !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Logo – aseguramos que sea visible */
.logo-img {
    filter: brightness(0) invert(1);  /* Hace el logo blanco */
}

/* Cuando el header tiene glassmorphism, ajustamos sutilmente el logo */
.header.visible .logo-img {
    filter: brightness(0) invert(1);
}

/* En móviles, el menú desplegable mantiene el fondo oscuro para legibilidad */
.main-menu {
    /*background-color: rgba(0, 0, 0, 0.85) !important;*/
    border-color: rgba(255, 255, 255, 0.1) !important;
}

.menu-button {
    border-color: rgba(255, 255, 255, 0.3) !important;
}

/* ============================================================
   AJUSTE DE RESPONSIVE PARA EL VIDEO
   ============================================================ */
@media screen and (max-width: 991px) {
    .hero-section .main-container {
        padding-top: 60px;
    }
    .hero-grid {
        padding-top: 30px;
    }

    /* Centrar el botón "Conocenos" en móvil */
    .hero-projects-link {
        justify-content: center !important;
    }

    .hero-proect-link-arrow {
        margin-left: 8px; /* o el valor que prefiera */
    }
}

@media screen and (max-width: 767px) {
    .hero-section .main-container {
        padding-top: 50px;
    }
    .hero-grid {
        padding-top: 20px;
    }
    /* Centrar el botón "Conocenos" en móvil */
    .hero-projects-link {
        justify-content: center !important;
    }

    .hero-proect-link-arrow {
        margin-left: 8px; /* o el valor que prefiera */
    }

}

/* ============================================================
   SECCIÓN HORARIOS Y CONTACTO
   ============================================================ */

.schedule-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    margin-top: 30px;
}

.schedule-col,
.contact-form-col {
    display: flex;
    flex-direction: column;
}

/* ============================================================
   COLUMNA IZQUIERDA – Horarios
   ============================================================ */
.schedule-title {
    font-size: 24px;
    font-weight: 600;
    color: var(--color-primary);
    margin-bottom: 20px;
    border-bottom: 2px solid var(--color-secondary);
    padding-bottom: 12px;
}

.schedule-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.schedule-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--color-tertiary);
    font-size: 17px;
    color: var(--color-primary);
}

.schedule-list li:last-child {
    border-bottom: none;
}

.schedule-day {
    font-weight: 600;
    color: var(--color-primary);
}

.schedule-time {
    font-weight: 400;
    color: var(--color-secondary);
}

.schedule-note {
    font-size: 14px;
    font-weight: 300;
    color: var(--color-secondary);
    margin-top: 10px;
    font-style: italic;
}

/* ============================================================
   COLUMNA DERECHA – Formulario
   ============================================================ */
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group label {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-primary);
    margin-bottom: 5px;
}

.form-group .input-style {
    border: 1px solid var(--color-tertiary);
    color: var(--color-primary);
    background-color: var(--color-bg-light);
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 16px;
    font-family: var(--font-primary);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.form-group .input-style:focus {
    border-color: var(--color-secondary);
    box-shadow: 0 0 0 3px rgba(132, 119, 99, 0.2);
    outline: none;
}

.form-group .input-style.textarea {
    min-height: 120px;
    resize: vertical;
}

/* Select personalizado (para que se vea como los inputs) */
select.input-style {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23847763' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    cursor: pointer;
}

/* Botón de enviar */
.submit-button {
    float: none;
    color: var(--color-bg-light);
    text-transform: uppercase;
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: 8px;
    margin-top: 10px;
    padding: 14px 30px;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.3s ease;
    cursor: pointer;
    align-self: flex-start;
}

.submit-button:hover {
    color: var(--color-primary);
    background-color: var(--color-bg-light);
    border-color: var(--color-primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(80, 70, 56, 0.15);
}

/* ============================================================
   RESPONSIVE – Ajustes en tabletas y móviles
   ============================================================ */
@media screen and (max-width: 991px) {
    .schedule-contact-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .submit-button {
        align-self: stretch;
    }
}

@media screen and (max-width: 767px) {
    .schedule-title {
        font-size: 20px;
    }
    .schedule-list li {
        font-size: 15px;
        padding: 8px 0;
    }
    .form-group .input-style {
        font-size: 15px;
        padding: 10px 14px;
    }
    .submit-button {
        font-size: 15px;
        padding: 12px 20px;
    }
}

@media screen and (max-width: 479px) {
    .schedule-contact-grid {
        gap: 30px;
    }
    .schedule-title {
        font-size: 18px;
    }
    .schedule-list li {
        font-size: 14px;
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }
    .submit-button {
        font-size: 14px;
        padding: 10px 16px;
    }
}

/* ============================================================
   AJUSTE DE TEXTOS LATERALES EN EL HERO
   ============================================================ */
.hero-left .hero-big-text,
.hero-right .hero-big-text {
    font-size: 120px;          /* Tamaño reducido para "Dra." y "Carolina" */
    line-height: 70px;        /* Ajuste de altura de línea para que acompañe */
}

/* ============================================================
   TARJETAS CON IMAGEN – SECCIÓN DE NÚMEROS (VERSIÓN FINAL)
   ============================================================ */
.image-card {
    display: block !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    min-height: 320px !important;
    height: 320px !important;
    width: 100% !important;
    flex: none !important;
}

.image-card .number-circle,
.image-card .number-text-box {
    display: none !important;
}

/* ============================================================
   MENÚ – FONDO ADAPTATIVO AL HACER SCROLL UP
   ============================================================ */

/* Cuando el menú está visible (scroll up o top), pero NO en el Hero */
.header.js-header-visible:not(.at-top) .header-inner {
    background: rgba(219, 213, 195, 0.60) !important;  /* Bone White con 95% opacidad */
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-color: rgba(171, 162, 146, 0.3) !important;  /* Plaza Taupe sutil */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    transition: background 0.4s ease, backdrop-filter 0.4s ease, border-color 0.4s ease;
}

/* Cuando el menú está en el Hero (top) */
.header.js-header-visible.at-top .header-inner {
    background: rgba(255, 255, 255, 0.12) !important;  /* El glassmorphism original */
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    box-shadow: none;
}

/* Textos del menú cuando está sobre fondo claro (scroll up) */
.header.js-header-visible:not(.at-top) .menu-item {
    color: var(--color-primary) !important;  /* Chocolate Brown para contraste */
    text-shadow: none !important;
}

.header.js-header-visible:not(.at-top) .menu-item:hover {
    color: var(--color-secondary) !important;
}

/* Logo cuando está sobre fondo claro (scroll up) */
.header.js-header-visible:not(.at-top) .logo-img {
    filter: none !important;  /* Logo original (no invertido) */
}

/* Botón hamburguesa cuando está sobre fondo claro */
.header.js-header-visible:not(.at-top) .icon {
    color: var(--color-primary) !important;
}

/* ============================================================
   HEADER Y LOGO – VERSIÓN UNIFICADA Y DEFINITIVA
   ============================================================ */

/* Logo – base con !important para asegurar el ancho */
.logo-img {
    width: 320px !important;         /* Ajusta este valor para cambiar el tamaño */
    height: auto !important;
    max-height: 70px !important;     /* Limita la altura para que la barra no crezca */
    object-fit: contain;
    flex-shrink: 0;
}

/* Contenedor del logo (para separación del menú) */
.logo.w-inline-block {
    margin-right: 20px;
    flex-shrink: 0;
}

/* Header interno – glassmorphism con altura controlada */
.header-inner {
    min-height: 70px;
    max-height: 80px;
    padding: 8px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    transition: all 0.3s ease;
}

/* ============================================================
   TAMAÑOS DEL LOGO EN RESPONSIVE (sin sobrescribir el ancho)
   ============================================================ */

@media screen and (max-width: 991px) {
    .logo-img {
        width: 240px !important;
        max-height: 50px !important;
    }
    .header-inner {
        padding: 6px 16px;
        min-height: 60px;
        max-height: 70px;
    }
}

@media screen and (max-width: 767px) {
    .logo-img {
        width: 180px !important;
        max-height: 50px !important;
    }
    .header-inner {
        padding: 4px 12px;
        min-height: 50px;
        max-height: 60px;
    }
}

@media screen and (max-width: 479px) {
    .logo-img {
        width: 140px !important;
        max-height: 40px !important;
    }
    .header-inner {
        padding: 4px 10px;
        min-height: 46px;
        max-height: 54px;
    }
}

/* ============================================================
    LOGO – CAMBIO DE VERSIÓN SEGÚN SCROLL
   ============================================================ */

/* Por defecto (fuera del Hero) → mostramos logo oscuro, ocultamos blanco */
.logo-white {
    display: none;
}
.logo-dark {
    display: block;
}

/* En el Hero (cuando el header tiene la clase .at-top) → mostramos logo blanco, ocultamos oscuro */
.header.at-top .logo-white {
    display: block;
}
.header.at-top .logo-dark {
    display: none;
}

/* Transición suave para que el cambio no sea brusco */
.logo-img {
    transition: opacity 0.3s ease;
}

/* ============================================================
   CORRECCIÓN: ESPACIADO EN MÓVIL Y CARRUSEL EN ESCRITORIO
   ============================================================ */

/* ---- Ajustes para móvil (767px o menos) ---- */
@media screen and (max-width: 767px) {

    /* Reducir el espacio entre columnas del Hero para que "Salud" y "Visual" estén más cerca */
    .hero-grid {
        grid-column-gap: 10px !important;
        grid-row-gap: 10px !important;
        padding-top: 20px !important;
        text-align: center;
    }

    .hero-left,
    .hero-mid,
    .hero-right {
        text-align: center;
        margin-bottom: 5px;
    }

    .hero-left .hero-big-text,
    .hero-right .hero-big-text {
        font-size: 48px !important;
        line-height: 42px !important;
    }

    .hero-paragraph {
        font-size: 16px !important;
        line-height: 22px !important;
        padding: 0 10px;
    }

    .hero-under-text {
        font-size: 18px !important;
        line-height: 26px !important;
        border-left: none !important;
        padding-left: 0 !important;
        margin-top: 10px;
    }
}

/* ---- Ajustes para escritorio (992px o más) ---- */
@media screen and (min-width: 992px) {

    /* Asegurar que el Hero tenga espacio para el carrusel */
    .hero-section {
        aspect-ratio: auto !important;   /* Quitamos relación fija para que el carrusel no quede fuera */
        min-height: auto !important;
        height: auto !important;
        padding-bottom: 20px;
        display: block;
        overflow: visible !important;     /* Asegurar que el carrusel no se recorte */
    }

    /* El carrusel debe ser visible */
    .hero-partners {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        margin-top: 30px !important;
        position: relative;
        z-index: 5;
        border-top: 1px solid var(--color-tertiary);
        border-bottom: 1px solid var(--color-tertiary);
        padding-top: 15px;
        padding-bottom: 15px;
    }
}

/* ============================================================
   CORRECCIÓN: PÁRRAFO DEL HERO EN MÓVIL (SIN CORTES)
   ============================================================ */

@media screen and (max-width: 767px) {

    /* Contenedor del párrafo: asegura que no limite el espacio */
    .hero-mid {
        width: 100%;
        max-width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
    }

    /* Párrafo: padding lateral suficiente, palabras largas se rompen */
    .hero-paragraph {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 15px !important;
        margin: 0 auto !important;
        font-size: 16px !important;
        line-height: 22px !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        box-sizing: border-box !important;
    }

    /* El grid general del Hero mantiene el centrado */
    .hero-grid {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 0 5px;
    }

    .hero-left,
    .hero-right {
        width: 100%;
        text-align: center;
    }
}

/* ============================================================
   CORRECCIÓN: PÁRRAFO DEL HERO EN MÓVIL (CON WORD BREAK)
   ============================================================ */

@media screen and (max-width: 767px) {

    .hero-paragraph {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 20px !important;
        font-size: 16px !important;
        line-height: 22px !important;
        word-break: break-word !important;      /* Fuerza el corte de palabras largas */
        overflow-wrap: break-word !important;   /* Compatibilidad */
        hyphens: auto;                          /* Guiones silábicos (opcional) */
        white-space: normal !important;
        box-sizing: border-box !important;
    }

    /* Asegurar que el contenedor no limite el ancho */
    .hero-mid {
        width: 100%;
        max-width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
    }
}


/* ============================================================
   REDUCIR ALTURA DEL VIDEO EN ESCRITORIO (SIN CAMBIAR CONTENEDOR)
   ============================================================ */

@media screen and (min-width: 992px) {

    /* El video se ajusta sin recortar, mostrando fondo negro arriba/abajo */
    .hero-video-bg {
        object-fit: contain !important;   /* En lugar de cover, no recorta */
        height: 75% !important;           /* Altura reducida al 75% del contenedor */
        width: 100% !important;
        top: 7.5% !important;             /* Centra verticalmente (100% - 75% / 2) */
        left: 0;
        background: #000;                 /* Fondo negro para los bordes */
    }

    /* Fondo negro en el contenedor para que los bordes no se vean extraños */
    .hero-section {
        background: #000;
    }
}

/* ============================================================
   HEADER, MENÚ, HERO Y ACORDEÓN – VERSIÓN UNIFICADA
   ============================================================ */

/* ---- HEADER Y LOGO ---- */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding-top: 20px;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.header-inner {
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    gap: 20px;
}

.logo-img {
    width: 320px;
    height: auto;
    max-height: 70px;
    object-fit: contain;
    flex-shrink: 0;
    transition: opacity 0.3s ease;
}

.logo.w-inline-block {
    flex-shrink: 0;
}

.header.js-header-hidden {
    transform: translateY(-120%);
}

.header.js-header-visible {
    transform: translateY(0);
}

/* ---- MENÚ EN ESCRITORIO ---- */
.menu-item {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    border-bottom: 2px solid transparent;
    text-transform: uppercase;
    margin-left: 15px;
    margin-right: 15px;
    padding: 10px 0;
    font-size: 17px;
    letter-spacing: 0.3px;
}

.menu-item:hover {
    color: var(--color-secondary) !important;
}

.menu-item.w--current {
    border-bottom-color: var(--color-secondary);
    color: #ffffff !important;
}

/* ---- LOGO SEGÚN SCROLL (blanco/oscuro) ---- */
.logo-white { display: none; }
.logo-dark { display: block; }
.header.at-top .logo-white { display: block; }
.header.at-top .logo-dark { display: none; }

/* ---- FONDO DEL MENÚ AL HACER SCROLL UP ---- */
.header.js-header-visible:not(.at-top) .header-inner {
    background: rgba(219, 213, 195, 0.85) !important;
    backdrop-filter: blur(8px) !important;
    border-color: rgba(171, 162, 146, 0.3) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.header.js-header-visible.at-top .header-inner {
    background: rgba(255, 255, 255, 0.12) !important;
    backdrop-filter: blur(14px) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    box-shadow: none;
}

.header.js-header-visible:not(.at-top) .menu-item {
    color: var(--color-primary) !important;
    text-shadow: none !important;
}

.header.js-header-visible:not(.at-top) .logo-img {
    filter: none !important;
}

.header.js-header-visible:not(.at-top) .icon {
    color: var(--color-primary) !important;
}




@media screen and (max-width: 767px) {
    .logo-img {
        width: 180px !important;
        max-height: 50px !important;
    }
    .header-inner {
        padding: 8px 12px;
    }
    .hero-grid {
        padding-top: 20px;
        text-align: center;
    }
    .hero-left .hero-big-text,
    .hero-right .hero-big-text {
        font-size: 48px !important;
        line-height: 42px !important;
    }
    .hero-paragraph {
        font-size: 16px !important;
        line-height: 22px !important;
        padding: 0 15px !important;
        word-break: break-word !important;
    }
    .hero-under-text {
        font-size: 18px !important;
        line-height: 26px !important;
        border-left: none !important;
        padding-left: 0 !important;
        margin-top: 10px;
    }
    .hero-partners {
        margin-top: 20px;
    }
    .hero-client-logo {
        width: 60px !important;
        margin-right: 15px;
    }
    .accordion-item.active .accordion-content {
        max-height: 1500px !important;
    }
    .accordion-item.active {
        background-color: var(--color-bg-light) !important;
        border-color: var(--color-secondary) !important;
    }
    .accordion-item.active .blog-arrow {
        transform: rotate(90deg) !important;
    }
}

@media screen and (max-width: 479px) {
    .logo-img {
        width: 140px !important;
        max-height: 40px !important;
    }
    .header-inner {
        padding: 6px 10px;
    }
    .hero-left .hero-big-text,
    .hero-right .hero-big-text {
        font-size: 32px !important;
        line-height: 30px !important;
    }
    .hero-paragraph {
        font-size: 14px !important;
        line-height: 20px !important;
    }
    .hero-under-text {
        font-size: 16px !important;
        line-height: 22px !important;
    }
    .hero-client-logo {
        width: 50px !important;
        margin-right: 10px;
    }
}

/* ========================================
  FONT-FACE (sin cambios)
   ======================================== */

@font-face {
  font-family: 'Clashdisplay';
  src: url('../fonts/ClashDisplay-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Clashdisplay';
  src: url('../fonts/ClashDisplay-Extralight.otf') format('opentype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Clashdisplay';
  src: url('../fonts/ClashDisplay-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Clashdisplay';
  src: url('../fonts/ClashDisplay-Semibold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Clashdisplay';
  src: url('../fonts/ClashDisplay-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Clashdisplay';
  src: url('../fonts/ClashDisplay-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ============================================================
   BOTÓN FLOTANTE DE WHATSAPP – Branding personalizado
   ============================================================ */
.whatsapp-float {
    position: fixed;
    bottom: 100px;             /* Subimos el botón para que no tape el footer */
    right: 30px;
    display: flex;
    align-items: center;
    gap: 10px;
    background-color: var(--color-primary);
    color: var(--color-bg-light);
    padding: 14px 20px;
    border-radius: 50px;
    text-decoration: none;
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 500;
    box-shadow: 0 4px 15px rgba(80, 70, 56, 0.35);
    transition: all 0.3s ease;
    z-index: 9999;
    border: 2px solid transparent;
    line-height: 1;
}

.whatsapp-float:hover {
    background-color: var(--color-secondary);
    color: var(--color-bg-light);
    transform: scale(1.05);
    box-shadow: 0 6px 25px rgba(80, 70, 56, 0.5);
    border-color: var(--color-tertiary);
}

.whatsapp-float svg {
    width: 28px;
    height: 28px;
    fill: currentColor;
    flex-shrink: 0;
}

.whatsapp-label {
    display: inline-block;
    white-space: nowrap;
}

/* Responsive del WhatsApp */
@media screen and (max-width: 767px) {
    .whatsapp-float {
        bottom: 90px;
        right: 20px;
        padding: 12px 16px;
        font-size: 14px;
    }
    .whatsapp-float svg {
        width: 24px;
        height: 24px;
    }
}

@media screen and (max-width: 479px) {
    .whatsapp-float {
        bottom: 80px;
        right: 15px;
        padding: 10px 14px;
        font-size: 13px;
        border-radius: 40px;
    }
    .whatsapp-float svg {
        width: 22px;
        height: 22px;
    }
    .whatsapp-label {
        display: none;
    }
    .whatsapp-float {
        padding: 14px;
        border-radius: 50%;
    }
}

/* ============================================================
   RESPONSIVE – Ajustes en móviles
   ============================================================ */
@media screen and (max-width: 767px) {
  .whatsapp-float {
    bottom: 20px;
    right: 20px;
    padding: 12px 16px;
    font-size: 14px;
  }
  .whatsapp-float svg {
    width: 24px;
    height: 24px;
  }
}

@media screen and (max-width: 479px) {
  .whatsapp-float {
    bottom: 15px;
    right: 15px;
    padding: 10px 14px;
    font-size: 13px;
    border-radius: 40px;
  }
  .whatsapp-float svg {
    width: 22px;
    height: 22px;
  }
  /* En móviles muy pequeños, podemos ocultar el texto y mostrar solo el icono */
  /* Si prefieres mantener el texto, elimina las siguientes líneas */
  .whatsapp-label {
    display: none;
  }
  .whatsapp-float {
    padding: 14px;
    border-radius: 50%;
  }
}

/* ===============================================
   MENÚ MÓVIL - BASADO EN PROYECTO DR. GISELA
   =============================================== */

/* Variables de color (puede ajustarlas) */
:root {
    --menu-bg: rgba(0, 0, 0, 0.774);
    --menu-link-color: #ffffff;
    --menu-link-hover: var(--color-secondary); /* Usa el color secundario de su marca */
    --hamburger-color: #ffffff;
}

/* Botón hamburguesa */
.menu-toggle {
    display: none;          /* Oculto en desktop, visible en móvil */
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 22px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1001;
}
.menu-toggle span {
    display: block;
    width: 100%;
    height: 3px;
    background: var(--hamburger-color);
    border-radius: 2px;
    transition: all 0.3s ease;
}
.menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}
.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}
.menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
}

/* Contenedor del menú (oculto por defecto) */
.menu-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--menu-bg);
    z-index: 999;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 20px;
    box-sizing: border-box;
}
.menu-container.active {
    transform: translateX(0);
}

/* Lista del menú */
.menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}
.menu-list li {
    margin: 20px 0;
}
.menu-list a {
    color: var(--menu-link-color);
    font-size: 1.8rem;
    text-decoration: none;
    font-family: var(--font-primary);
    font-weight: 500;
    transition: color 0.3s ease;
}
.menu-list a:hover {
    color: var(--menu-link-hover);
}

/* Overlay (cierra el menú al hacer clic fuera) */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    z-index: 998;
    display: none;
}
.menu-overlay.active {
    display: block;
}

/* ===== RESPONSIVE: mostrar botón en móvil ===== */
@media screen and (max-width: 991px) {
    .menu-toggle {
        display: flex;
    }
}



/* ============================================================
   SOBRESCRITURA FINAL: MENÚ ESCRITORIO VISIBLE
   ============================================================ */
@media screen and (min-width: 992px) {
    /* Cuando el header está visible y NO en el Hero */
    body .header.js-header-visible:not(.at-top) .menu-item,
    body .header:not(.at-top) .menu-item {
        color: var(--color-primary) !important;
        text-shadow: none !important;
    }

    /* Cuando el header está en el Hero */
    body .header.at-top .menu-item {
        color: #ffffff !important;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
    }

    /* Para el enlace activo (w--current) en escritorio */
    body .header.js-header-visible:not(.at-top) .menu-item.w--current,
    body .header:not(.at-top) .menu-item.w--current {
        color: var(--color-primary) !important;
        border-bottom-color: var(--color-secondary) !important;
    }
    body .header.at-top .menu-item.w--current {
        color: #ffffff !important;
        border-bottom-color: var(--color-secondary) !important;
    }
}

@media screen and (min-width: 992px) {
    .main-menu {
        display: flex !important;
        align-items: center;
        gap: 15px;
    }
    .menu-toggle {
        display: none !important;
    }
}
@media screen and (max-width: 991px) {
    .main-menu {
        display: none !important;
    }
    .menu-toggle {
        display: flex !important;
    }
}

/* ============================================================
   CONTROL DE VISIBILIDAD: ESCRITORIO vs MÓVIL (DEFINITIVO)
   ============================================================ */
@media screen and (min-width: 992px) {
    /* Escritorio: mostrar menú, ocultar botón hamburguesa */
    .main-menu {
        display: flex !important;
        align-items: center;
        gap: 15px;
    }
    .menu-toggle {
        display: none !important;
    }
}

@media screen and (max-width: 991px) {
    /* Móvil: ocultar menú de escritorio, mostrar botón hamburguesa */
    .main-menu {
        display: none !important;
    }
    .menu-toggle {
        display: flex !important;
    }
}

/* Prevenir scroll horizontal en móvil */
@media screen and (max-width: 991px) {
    .header-inner {
        overflow-x: hidden !important;
        max-width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .main-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
        overflow-x: hidden !important;
    }
}

/* ============================================================
   REDUCIR ALTURA DEL HERO EN MÓVIL (sin afectar escritorio)
   ============================================================ */
@media screen and (max-width: 767px) {
    /* Reducir altura del Hero */
    .hero-section {
        min-height: 60vh !important;          /* Antes era 100vh */
        padding: 20px 0 10px 0 !important;     /* Reducir padding interno */
    }

    /* Reducir altura del video de fondo */
    .hero-video-bg {
        height: 100% !important;
        object-fit: cover !important;
    }

    /* Reducir padding del grid para acercar el contenido */
    .hero-grid {
        padding-top: 10px !important;
        gap: 5px !important;
    }

    /* Acercar el carrusel al texto */
    .hero-partners {
        margin-top: 85px !important;
        padding: 8px 0 !important;
    }

    /* Reducir márgenes del botón y del texto inferior */
    .hero-projects-link {
        margin-top: 10px !important;
    }

    .hero-under-text {
        margin-top: 10px !important;
        font-size: 16px !important;
        line-height: 22px !important;
    }

    /* Ajustar el párrafo para que no ocupe tanto espacio */
    .hero-paragraph {
        font-size: 14px !important;
        line-height: 20px !important;
        margin-bottom: 5px !important;
    }
}

/* ============================================================
   AJUSTES DE ESPACIADO EN EL HERO (SOLO ESCRITORIO)
   ============================================================ */
@media screen and (min-width: 992px) {
    /* Reducir el padding superior del grid para subir "Salud" y "Visual" */
    .hero-grid {
        padding-top: 100px !important;   /* Antes era 220px o 150px */
    }

    /* Reducir el margen superior del botón "Conócenos" */
    .hero-projects-link {
        margin-top: 30px !important;     /* Antes era 30px */
    }

    /* Reducir el margen superior del texto "Excelencia en salud visual." */
    .hero-under-text {
        margin-top: 50px !important;     /* Antes era 100px */
    }
}

/* ============================================================
   AJUSTE DE TÍTULOS EN "NOSOTROS" PARA MÓVIL
   ============================================================ */
@media screen and (max-width: 767px) {
    /* Reducir el tamaño de los subtítulos */
    .mission-heading {
        font-size: 24px !important;        /* Antes 40px */
        line-height: 28px !important;      /* Ajuste de altura */
        margin-left: 15px !important;      /* Reducir margen si es necesario */
        margin-right: 15px !important;
    }

    /* Reducir el tamaño del ícono "+" */
    .mission-plus {
        width: 40px !important;            /* Antes 70px */
        flex-shrink: 0 !important;
    }

    /* Ajustar el contenedor para que no se desborde */
    .mission-title {
        margin-bottom: 15px !important;
        gap: 10px !important;
        flex-wrap: nowrap !important;
    }

    /* Ajuste específico para el título de la derecha */
    .mission-title-right .mission-heading {
        margin-right: 15px !important;
        margin-left: 0 !important;
        text-align: right !important;
    }
}

/* ============================================================
   ICONOS EN INSIGHTS (reemplazo de avatares y flechas)
   ============================================================ */

/* Contenedor del avatar convertido a círculo con icono */
.blog-author {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--color-bg-medium) !important;
    border: 3px solid var(--color-tertiary) !important;
    border-radius: 50% !important;
    width: 55px !important;
    height: 55px !important;
    font-size: 24px !important;
    color: var(--color-primary) !important;
    transition: background 0.3s ease, color 0.3s ease;
}

/* Icono de flecha */
.blog-arrow i {
    font-size: 24px !important;
    color: var(--color-primary) !important;
    transition: transform 0.3s ease !important;
}

/* Girar flecha al abrir el acordeón */
.accordion-item.active .blog-arrow i {
    transform: rotate(90deg) !important;
}

/* Ajuste para que el contenedor de la flecha sea cuadrado y centrado */
.blog-arrow {
    background-color: var(--color-tertiary) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 55px !important;
    height: 55px !important;
    transition: background-color 0.3s ease !important;
}

/* Hover del avatar (opcional) */
.blog-item:hover .blog-author {
    background-color: var(--color-secondary) !important;
    color: #ffffff !important;
}

/* Hover de la flecha (opcional) */
.blog-item:hover .blog-arrow {
    background-color: var(--color-secondary) !important;
}

/* ============================================================
   IMAGEN DE LA DOCTORA EN MÓVIL (SIN CORTE)
   ============================================================ */
@media screen and (max-width: 767px) {
    .mission-img {
        width: 100% !important;
        height: auto !important;           /* Altura automática para mantener proporción */
        object-fit: contain !important;    /* Muestra la imagen completa sin recortar */
        margin-left: 0 !important;
        margin-top: 20px !important;
        border-radius: 10px !important;
    }
}