/* Diseño basado en la referencia del interferómetro de Michelson. */
:root {
  --reference-navy: #17235e;
  --reference-link: #2c87c8;
  --reference-ink: #1c3156;
  --reference-paper: #ffffff;
}

html {
  min-height: 100%;
}

body {
  min-height: 100vh;
  padding-top: 270px;
  color: var(--reference-ink);
  background: #f4f4f6;
}

/* Cabecera alta: panel oscuro para el logotipo y menú claro como la referencia. */
.navbar.navbar-light,
.navbar.navbar-light.bg-light {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
  min-height: 270px;
  padding: 0;
  background: rgba(255, 255, 255, 0.99) !important;
  border-top: 4px solid #383d49;
  box-shadow: 0 7px 20px rgba(10, 16, 45, 0.18);
}

.navbar > .container {
  width: 100%;
  max-width: none;
  min-height: 266px;
  padding: 0 2.2rem 0 0;
}

.navbar .navbar-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  width: 355px;
  min-width: 355px;
  margin: 0 1.2rem 0 0;
  padding: 0.4rem 1rem;
  background: var(--reference-navy);
}

.navbar .navbar-brand img {
  width: 250px !important;
  height: 238px !important;
  object-fit: contain;
}

.navbar .navbar-collapse {
  align-self: stretch;
}

.navbar .navbar-nav {
  align-items: center;
  gap: 0.35rem;
}

.navbar .navbar-nav.px-3 {
  height: 100%;
}

.navbar .nav-link {
  padding: 0.7rem 0.68rem !important;
  color: var(--reference-link) !important;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.75;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus {
  color: #153f7c !important;
  background: rgba(44, 135, 200, 0.08);
}

.navbar .nav-link.active {
  color: #173d7d !important;
}

.navbar .nav-link.active::after {
  display: block;
  width: 2.4rem;
  height: 3px;
  margin-top: 0.1rem;
  content: "";
  background: var(--reference-navy);
  border-radius: 10px;
}

.navbar .navbar-nav.ms-auto {
  margin-left: auto;
}

.navbar .navbar-nav.ms-auto .nav-link {
  padding: 0.8rem 1.05rem !important;
  border: 1px solid rgba(44, 135, 200, 0.7);
  border-radius: 0.45rem;
}

.navbar .dropdown-menu {
  overflow: hidden;
  min-width: 11rem;
  border: 1px solid rgba(23, 35, 94, 0.2);
  border-radius: 0.5rem;
  box-shadow: 0 12px 28px rgba(9, 16, 48, 0.2);
}

.navbar .dropdown-item.active,
.navbar .dropdown-item:active {
  background: var(--reference-navy);
}

.navbar-toggler {
  margin-right: 1rem;
  border-color: var(--reference-link) !important;
}

/* Portada oscura y tipografía de gran formato. */
.header-container,
.carousel,
.carousel-item,
.carousel-item img {
  overflow: hidden;
}

.header-container,
.carousel {
  box-shadow: 0 10px 26px rgba(14, 14, 42, 0.25);
}

.header-container .img-header,
.carousel-item img {
  width: 100% !important;
  height: 550px !important;
  object-fit: cover;
  filter: brightness(0.58) saturate(0.9);
}

.titulo-principios,
.carousel-caption .display-2 {
  max-width: min(1180px, 82vw);
  color: #fff !important;
  font-size: clamp(2.8rem, 5.1vw, 5.2rem) !important;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: 0.018em;
  text-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
}

.titulo-principios {
  top: 50%;
  left: 9%;
  width: min(1120px, 78vw);
  text-align: left;
  transform: translateY(-50%);
}

.carousel-caption {
  right: auto;
  bottom: auto;
  left: 9%;
  width: min(1120px, 78vw);
  text-align: left;
  transform: translateY(-50%);
  top: 50%;
}

/* El contenido queda ordenado y legible bajo la portada. */
.con_2 {
  margin-top: 0.85rem !important;
}

.producto-con,
.c-contactos,
.michelson-content-area,
#comentariosForm {
  background: var(--reference-paper) !important;
  box-shadow: 0 9px 24px rgba(21, 31, 68, 0.13);
}

.producto-con,
.c-contactos,
.michelson-content-area,
.card {
  border-radius: 0.35rem;
}

.txt-titulo,
.t-principios,
.t2-principios,
.t3-principios {
  color: #9b0505;
}

footer.bg-dark {
  background: #17235e !important;
}

@media (max-width: 1199.98px) {
  .navbar .navbar-brand {
    width: 285px;
    min-width: 285px;
  }

  .navbar .navbar-brand img {
    width: 205px !important;
    height: 210px !important;
  }

  .navbar .nav-link {
    font-size: 0.96rem;
    padding-right: 0.45rem !important;
    padding-left: 0.45rem !important;
  }
}

@media (max-width: 991.98px) {
  body {
    padding-top: 110px;
  }

  .navbar.navbar-light,
  .navbar.navbar-light.bg-light,
  .navbar > .container {
    min-height: 106px;
  }

  .navbar > .container {
    padding-right: 0;
  }

  .navbar .navbar-brand {
    width: 205px;
    min-width: 205px;
    margin-right: auto;
  }

  .navbar .navbar-brand img {
    width: 135px !important;
    height: 96px !important;
  }

  .navbar .navbar-collapse {
    width: 100%;
    padding: 0.75rem 1.2rem 1rem;
    background: #fff;
    border-top: 1px solid rgba(23, 35, 94, 0.13);
  }

  .navbar .navbar-nav,
  .navbar .navbar-nav.px-3 {
    align-items: stretch;
    height: auto;
  }

  .navbar .navbar-nav.ms-auto {
    margin-left: 0 !important;
  }

  .navbar .navbar-nav.ms-auto .nav-link {
    display: inline-block;
  }

  .header-container .img-header,
  .carousel-item img {
    height: 400px !important;
  }

  .titulo-principios,
  .carousel-caption .display-2 {
    font-size: clamp(2.15rem, 9vw, 3.5rem) !important;
  }

  .con_2 {
    margin-top: 0.75rem !important;
  }
}


/* Compact navigation while scrolling, shared by Spanish and English. */
.navbar.navbar-light.ep-compact,
.navbar.navbar-light.bg-light.ep-compact { min-height: 76px; }
.navbar.ep-compact > .container { min-height: 72px; padding-right: 1rem; }
.navbar.ep-compact .navbar-brand { width: 94px; min-width: 94px; margin-right: .6rem; padding: .2rem .5rem; }
.navbar.ep-compact .navbar-brand img { width: 66px !important; height: 64px !important; }
.navbar.ep-compact .nav-link { white-space: nowrap; padding: .45rem .55rem !important; font-size: 1rem; }
.navbar.ep-compact .navbar-nav { gap: .15rem; }
.navbar.ep-compact .navbar-nav.ms-auto .nav-link { padding: .5rem .75rem !important; }
@media (max-width: 991.98px) {
 .navbar.ep-compact .navbar-brand { margin-right: auto; }
 .navbar.ep-compact .navbar-collapse { max-height: calc(100dvh - 76px); overflow-y: auto; }
}


/* Smaller initial header, with the compact scrolling state preserved. */
@media (min-width: 992px) {
 body { padding-top: 124px; }
 .navbar.navbar-light, .navbar.navbar-light.bg-light { min-height: 124px; }
 .navbar > .container { min-height: 120px; padding-right: 1rem; }
 .navbar .navbar-brand { width: 150px; min-width: 150px; margin-right: .6rem; padding: .3rem .75rem; }
 .navbar .navbar-brand img { width: 112px !important; height: 108px !important; }
 .navbar .nav-link { white-space: nowrap; font-size: 1rem; padding: .6rem .55rem !important; }
 .navbar .navbar-nav { gap: .15rem; }
 .navbar .navbar-nav.ms-auto .nav-link { padding: .6rem .75rem !important; }
 .navbar.navbar-light.ep-compact { min-height: 76px; }
 .navbar.ep-compact > .container { min-height: 72px; }
 .navbar.ep-compact .navbar-brand { width: 94px; min-width: 94px; padding: .2rem .5rem; }
 .navbar.ep-compact .navbar-brand img { width: 66px !important; height: 64px !important; }
}


/* Responsive media and Bootstrap gutters on all public pages. */
body img { max-width: 100%; }
body > .row { margin-left: 0; margin-right: 0; }
.container-fluide { width: 100%; margin-right: auto; margin-left: auto; padding-right: 12px; padding-left: 12px; }
iframe[src*="youtube.com"], iframe[src*="youtube-nocookie.com"] { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; }
body > .container, body > .container-fluid, .container-fluide { overflow-wrap: break-word; }
@media (max-width: 991.98px) {
 .navbar .navbar-collapse { max-height: calc(100dvh - 110px); overflow-y: auto; }
 .navbar-toggler { min-width: 44px; min-height: 44px; }
 .navbar-toggler:empty::before { content: "☰"; display: block; color: var(--reference-link); font-size: 1.6rem; line-height: 1; }
}
@media (max-width: 575.98px) {
 .header-container .img-header, .carousel-item img { height: 340px !important; }
 .titulo-principios, .carousel-caption .display-2 { font-size: clamp(1.65rem, 7.6vw, 2.7rem) !important; overflow-wrap: break-word; }
 .navbar .navbar-nav.px-3 { padding-right: 0 !important; padding-left: 0 !important; }
 .navbar .nav-link { padding-top: .45rem !important; padding-bottom: .45rem !important; }
}


/* Shorter covers with a single-line title in both languages. */
.header-container .img-header, .carousel-item img { height: 230px !important; }
.titulo-principios, .carousel-caption .display-2 { white-space: nowrap; max-width: 100%; font-size: var(--ep-title-size, 2.5rem) !important; line-height: 1.2; letter-spacing: 0; margin-bottom: 0; }
.titulo-principios { width: 84%; max-width: 84%; left: 8%; }
.carousel-caption { width: 84%; left: 8%; }
@media (max-width: 575.98px) {
 .header-container .img-header, .carousel-item img { height: 150px !important; }
 .titulo-principios, .carousel-caption .display-2 { font-size: var(--ep-title-size, 1.25rem) !important; }
}

/* Stable proportional title sizing, including the longest translated cover. */
.titulo-principios { font-size: clamp(7px, 2.15vw, 34px) !important; }
.carousel-caption .display-2 { font-size: clamp(14px, 5vw, 40px) !important; }


/* Edge-to-edge cover bands with identical image treatment. */
#carouselExampleControls { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.header-container { padding-left: 0; padding-right: 0; }
.header-container .img-header, .carousel-item img { opacity: 1; filter: brightness(.58) saturate(.9); }


/* Centered cover at 65% of the viewport width. */
#carouselExampleControls { width: 65vw; margin-left: calc(50% - 32.5vw); margin-right: calc(50% - 32.5vw); }
.header-container { flex: 0 0 65%; max-width: 65%; margin-left: auto; margin-right: auto; }
body[data-page="home"] .card { width: 100%; height: auto !important; }
body[data-page="home"] .card > a { display: block; }
body[data-page="home"] .card .card-img-top { width: 100%; height: clamp(220px, 35vw, 420px) !important; object-fit: contain; }
body[data-page="home"] .card .card-body { display: flex; min-height: var(--ep-card-body-height, 0px); }
body[data-page="home"] .card .card-body > .p-4 { width: 100%; display: flex; align-items: center; justify-content: center; }


/* Full-width bands, 35% shorter than the previous cover height. */
#carouselExampleControls { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.header-container { flex: 0 0 100%; max-width: 100%; }
.header-container .img-header, .carousel-item img { height: 149.5px !important; }
@media (max-width: 575.98px) { .header-container .img-header, .carousel-item img { height: 97.5px !important; } }
body[data-page="home"] .card .card-body { min-height: 0; }
body[data-page="home"] .card:has(> a > .card-img-top) { width: min(420px, calc(100vw - 48px)); max-width: 100%; margin-left: auto; margin-right: auto; margin-bottom: 24px; }
body[data-page="home"] .card:has(> a > .card-img-top) .card-body { min-height: var(--ep-card-body-height, 0px); }
@media (min-width: 768px) { body[data-page="home"] .card:has(> a > .card-img-top) { width: min(420px, calc((100vw - 120px) / 2)); } }


/* Compact product cards: smaller image panels and less text padding. */
body[data-page="home"] .card:has(> a > .card-img-top) .card-img-top { height: 250px !important; padding: 8px; }
body[data-page="home"] .card:has(> a > .card-img-top) .card-body { padding: 10px; }
body[data-page="home"] .card:has(> a > .card-img-top) .card-body > .p-4 { padding: 14px 12px !important; }
body[data-page="home"] .card:has(> a > .card-img-top) h4 { font-size: 1.1rem; line-height: 1.35; }
@media (max-width: 575.98px) {
 body[data-page="home"] .card:has(> a > .card-img-top) .card-img-top { height: 195px !important; }
 body[data-page="home"] .card:has(> a > .card-img-top) h4 { font-size: 1rem; }
}

body[data-page="home"] .card:has(> a > .card-img-top) .card-body { min-height: 0 !important; height: 190px; flex: none; }
@media (max-width: 767.98px) { body[data-page="home"] .card:has(> a > .card-img-top) .card-body { height: 210px; } }


body[data-page="home"] .ep-article-card { width: min(420px, calc(100vw - 48px)); max-width: 100%; margin: 0 auto 24px; }
.ep-article-media { height: 250px; padding: 8px; text-align: center; }
.ep-article-media img { width: 100% !important; height: 100% !important; object-fit: contain; }
body[data-page="home"] .ep-article-card .ep-article-body { display: block; height: 190px; min-height: 0 !important; margin: 0 10px 10px; padding: 10px 12px; background: linear-gradient(90deg,#f8d34f,#f4c430); border-radius: .25rem; }
body[data-page="home"] .ep-article-body > .p-4 { display: block; padding: 0 !important; margin-bottom: 7px !important; background: transparent !important; }
body[data-page="home"] .ep-article-body h4 { font-size: .95rem; line-height: 1.25; }
.ep-article-body p { font-size: .72rem; line-height: 1.25; margin-bottom: 6px !important; }
.ep-article-body .btn { font-size: .75rem; padding: 4px 8px; }
@media (min-width: 768px) { body[data-page="home"] .ep-article-card { width: min(420px, calc((100vw - 120px) / 2)); } }
@media (max-width: 767.98px) { body[data-page="home"] .ep-article-card .ep-article-body { height: 210px; } }
@media (max-width: 575.98px) { .ep-article-media { height: 195px; } body[data-page="home"] .ep-article-body h4 { font-size: .9rem; } }

body[data-page="home"] .ep-article-card .ep-article-body { height: 180px; }
@media (max-width: 767.98px) { body[data-page="home"] .ep-article-card .ep-article-body { height: 200px; } }

@media (max-width: 991.98px) {
 body[data-page="home"] .ep-article-card .ep-article-body { padding: 6px 10px; }
 body[data-page="home"] .ep-article-body > .p-4 { margin-bottom: 4px !important; }
 body[data-page="home"] .ep-article-body h4 { font-size: .85rem; }
 .ep-article-body p { font-size: .68rem; margin-bottom: 4px !important; }
}


/* Two wide home-card columns with small outer margins. */
body[data-page="home"] > .container.con_2 { width: calc(100% - 24px); max-width: none; }
body[data-page="home"] .card:has(> a > .card-img-top), body[data-page="home"] .ep-article-card { width: 100%; max-width: none; }
@media (min-width: 768px) {
 body[data-page="home"] .card:has(> a > .card-img-top), body[data-page="home"] .ep-article-card { width: calc(50vw - 48px); max-width: 100%; }
}


/* Twice the image area, preserving the full image without cropping. */
body[data-page="home"] .card:has(> a > .card-img-top) .card-img-top { height: 500px !important; }
.ep-article-media { height: 500px; }
@media (max-width: 575.98px) {
 body[data-page="home"] .card:has(> a > .card-img-top) .card-img-top { height: 390px !important; }
 .ep-article-media { height: 390px; }
}

body[data-page="home"] .card:not(:has(> a > .card-img-top)):not(.ep-article-card) .card-body { display: block; }


/* Slightly shorter yellow panels, keeping matching outer card heights. */
body[data-page="home"] .card:has(> a > .card-img-top) .card-body { height: 170px; }
body[data-page="home"] .ep-article-card .ep-article-body { height: 160px; }
@media (max-width: 767.98px) {
 body[data-page="home"] .card:has(> a > .card-img-top) .card-body { height: 200px; }
 body[data-page="home"] .ep-article-card .ep-article-body { height: 190px; }
}

@media (max-width: 575.98px) { body[data-page="home"] .ep-article-card .ep-article-body { padding-top: 4px; padding-bottom: 4px; } }


.ep-kits-banner { margin: 8px 0 24px; padding: 24px 20px; border-left: 6px solid #f4c430; border-radius: 8px; background: linear-gradient(115deg,#101d52,#143f78); box-shadow: 0 7px 20px rgba(16,29,82,.16); text-align: center; }
.ep-kits-banner h2 { margin: 0; color: #fff; font-size: clamp(1.15rem,2.35vw,2rem); font-weight: 800; line-height: 1.3; text-transform: uppercase; letter-spacing: .035em; }
@media (max-width: 575.98px) { .ep-kits-banner { padding: 18px 12px; margin-bottom: 20px; } }

/* No repeated comment invitation or empty space at the end of public pages. */
.container:has(> .card.bg-warning a.btn[href*="comentarios.html"]) { display: none !important; }


/* White logo panel in all header sizes. */
.navbar .navbar-brand { background: #fff; }


/* Enlarge the Sagnac photograph by 1.5 without changing the card layout. */
body[data-page="home"] .card > a:has(> img.card-img-top[src="source/IS.jpg"]) { overflow: hidden; }
body[data-page="home"] img.card-img-top[src="source/IS.jpg"] { transform: scale(1.5); transform-origin: center; }

/* Reduce the enlarged Sagnac image by 15% (1.5 × .85). */
body[data-page="home"] img.card-img-top[src="source/IS.jpg"] { transform: scale(1.275); }

/* Language-based image replacement while older scripts remain cached. */
body[data-page="home"][data-language="en"] img[src$="source/about.png"] { content: url("../source/about-en.png"); }

body[data-page="home"][data-language="en"] img[src*="source/about"] { content: url("../source/about-en.png?v=3"); }


/* English text inside kit photographs and the publication poster. */
body[data-language="en"] img[src$="IMG_4311.png"] { content: url("../source/michelson-kit-en.png"); }
body[data-language="en"] img[src$="IMZ33.png"] { content: url("../source/mach-zehnder-kit-en.png"); }
body[data-language="en"] img[src$="Figure 3.png"] { content: url("../source/interferometer-at-home-en.png"); }


/* Contact page: clear, accessible email and WhatsApp actions. */
body[data-page="contact"] { background: linear-gradient(160deg,#f3f7fc 0%,#eef1f7 100%); }
body[data-page="contact"] > .container.con_2 { max-width: 820px; padding: 36px 20px 48px; margin-top: 0 !important; }
body[data-page="contact"] .c-contactos { flex: 0 0 100%; max-width: 640px; padding: 36px !important; border: 1px solid #e2e8f1; border-radius: 20px; background: #fff !important; box-shadow: 0 18px 48px rgba(23,35,94,.1); }
body[data-page="contact"] .c-contactos h1 { margin: 0 0 30px; color: #17235e; font-size: clamp(1.8rem,4vw,2.4rem); font-weight: 800; letter-spacing: -.025em; }
body[data-page="contact"] .c-contactos h4 { display: flex; align-items: center; gap: 10px; margin: 22px 0 10px; padding: 0 !important; color: #51627b; font-size: 1rem; font-weight: 700; }
body[data-page="contact"] .c-contactos h4 svg { width: 22px; height: 22px; }
body[data-page="contact"] .c-contactos h4 a { display: inline-flex; align-items: center; gap: 10px; color: #18854d; text-decoration: none; }
body[data-page="contact"] .c-contactos .text-bold { margin: 0; line-height: 1.5; }
body[data-page="contact"] .c-contactos .text-bold > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 66px; padding: 18px 20px; border: 1px solid #dbe4f1; border-radius: 12px; background: #f2f6fc; color: #173c76; font-size: clamp(.95rem,2.7vw,1.12rem); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; transition: background-color .2s,box-shadow .2s; }
body[data-page="contact"] .c-contactos .text-bold > a::after { content: "→"; flex-shrink: 0; font-size: 1.4rem; }
body[data-page="contact"] .c-contactos .text-bold > a[href^="https://wa.me/"] { border-color: #b9e2c9; background: #eaf8ef; color: #13723e; }
body[data-page="contact"] .c-contactos .text-bold > a:hover { background: #e4edf9; box-shadow: 0 5px 14px rgba(23,35,94,.1); }
body[data-page="contact"] .c-contactos .text-bold > a[href^="https://wa.me/"]:hover { background: #d9f1e2; }
body[data-page="contact"] .c-contactos a:focus-visible { outline: 3px solid #2c87c8; outline-offset: 4px; }
footer .contact-action { color: inherit; text-underline-offset: 3px; }
@media (max-width: 575.98px) {
 body[data-page="contact"] > .container.con_2 { padding: 24px 18px 32px; }
 body[data-page="contact"] .c-contactos { padding: 26px 20px !important; border-radius: 16px; }
 body[data-page="contact"] .c-contactos h1 { margin-bottom: 24px; }
 body[data-page="contact"] .c-contactos .text-bold > a { padding: 16px 14px; }
}


/* Consistent contact action tiles in every page footer. */
footer h5 { margin-bottom: 18px; font-weight: 750; }
footer p:has(> a[href^="mailto:"]), footer p:has(> a[href^="https://wa.me/"]) { display: flex; align-items: center; gap: 12px; width: min(100%,460px); min-height: 58px; margin-bottom: 12px; padding: 14px 16px; border: 1px solid #dbe4f1; border-radius: 12px; background: #f2f6fc; color: #173c76; line-height: 1.5; box-shadow: 0 4px 12px rgba(0,0,0,.06); }
footer p:has(> a[href^="https://wa.me/"]) { background: #eaf8ef; border-color: #b9e2c9; color: #13723e; }
footer p:has(> a[href^="mailto:"]) > a, footer p:has(> a[href^="https://wa.me/"]) > a { flex: 1; color: inherit; font-size: .98rem; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
footer p:has(> a[href^="mailto:"])::after, footer p:has(> a[href^="https://wa.me/"])::after { content: "→"; font-size: 1.3rem; }
footer p:has(> a[href^="mailto:"]):hover { background: #e4edf9; }
footer p:has(> a[href^="https://wa.me/"]):hover { background: #d9f1e2; }
footer a:focus-visible { outline: 3px solid #f4c430; outline-offset: 4px; }
footer p:has(> a) > svg, footer p:has(> a) > i { flex-shrink: 0; font-size: 20px; }
@media (max-width: 575.98px) { footer p:has(> a[href^="mailto:"]), footer p:has(> a[href^="https://wa.me/"]) { padding: 12px 14px; } footer .text-md-end { margin-top: 18px; } }


/* Email and WhatsApp side by side, including the page footers. */
footer .row > div:has(> h5):has(a[href^="mailto:"]) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; flex: 0 0 100%; max-width: 100%; }
footer .row > div:has(> h5):has(a[href^="mailto:"]) > h5 { grid-column: 1 / -1; margin-bottom: 4px; }
footer p:has(> a[href^="mailto:"]), footer p:has(> a[href^="https://wa.me/"]) { width: 100%; margin: 0; }
footer .row > .text-md-end { flex: 0 0 100%; max-width: 100%; margin-top: 20px; }
body[data-page="contact"] .c-contactos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 18px; }
body[data-page="contact"] .c-contactos h1 { grid-column: 1 / -1; }
body[data-page="contact"] .c-contactos h4:nth-of-type(1) { grid-column: 1; grid-row: 2; }
body[data-page="contact"] .c-contactos h4:nth-of-type(2) { grid-column: 2; grid-row: 2; }
body[data-page="contact"] .c-contactos p.text-bold:nth-of-type(1) { grid-column: 1; grid-row: 3; }
body[data-page="contact"] .c-contactos p.text-bold:nth-of-type(2) { grid-column: 2; grid-row: 3; }
body[data-page="contact"] .c-contactos h4 { margin-top: 0; }
body[data-page="contact"] .c-contactos .text-bold > a { height: 100%; margin-top: 0; }
@media (max-width: 575.98px) {
 footer .row > div:has(> h5):has(a[href^="mailto:"]) { gap: 10px; }
 footer p:has(> a[href^="mailto:"]), footer p:has(> a[href^="https://wa.me/"]) { padding: 12px 10px; gap: 6px; }
 footer p:has(> a[href^="mailto:"]) > a, footer p:has(> a[href^="https://wa.me/"]) > a { font-size: .8rem; }
 footer p:has(> a)::after { display: none; }
 body[data-page="contact"] .c-contactos { column-gap: 10px; padding-left: 14px !important; padding-right: 14px !important; }
 body[data-page="contact"] .c-contactos .text-bold > a { padding: 12px 10px; gap: 5px; font-size: .83rem; }
 body[data-page="contact"] .c-contactos .text-bold > a::after { display: none; }
}


/* Recognizable WhatsApp logo before contact numbers. */
footer p:has(> a[href^="https://wa.me/"]) > svg, footer p:has(> a[href^="https://wa.me/"]) > i { display: none; }
footer p:has(> a[href^="https://wa.me/"])::before, body[data-page="contact"] .c-contactos .text-bold > a[href^="https://wa.me/"]::before { content: ""; display: inline-block; flex: 0 0 22px; width: 22px; height: 22px; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M13.601%202.326A7.854%207.854%200%200%200%207.994%200C3.627%200%20.068%203.558.064%207.926c0%201.399.366%202.76%201.057%203.965L0%2016l4.204-1.102a7.933%207.933%200%200%200%203.79.965h.004c4.368%200%207.926-3.558%207.93-7.93A7.898%207.898%200%200%200%2013.6%202.326zM7.994%2014.521a6.573%206.573%200%200%201-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56%206.56%200%200%201-1.007-3.505c0-3.626%202.957-6.584%206.591-6.584a6.56%206.56%200%200%201%204.66%201.931%206.557%206.557%200%200%201%201.928%204.66c-.004%203.639-2.961%206.592-6.592%206.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729%200%200%200-.529.247c-.182.198-.691.677-.691%201.654%200%20.977.71%201.916.81%202.049.098.133%201.394%202.132%203.383%202.992.47.205.84.326%201.129.418.475.152.904.129%201.246.08.38-.058%201.171-.48%201.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M13.601%202.326A7.854%207.854%200%200%200%207.994%200C3.627%200%20.068%203.558.064%207.926c0%201.399.366%202.76%201.057%203.965L0%2016l4.204-1.102a7.933%207.933%200%200%200%203.79.965h.004c4.368%200%207.926-3.558%207.93-7.93A7.898%207.898%200%200%200%2013.6%202.326zM7.994%2014.521a6.573%206.573%200%200%201-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56%206.56%200%200%201-1.007-3.505c0-3.626%202.957-6.584%206.591-6.584a6.56%206.56%200%200%201%204.66%201.931%206.557%206.557%200%200%201%201.928%204.66c-.004%203.639-2.961%206.592-6.592%206.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729%200%200%200-.529.247c-.182.198-.691.677-.691%201.654%200%20.977.71%201.916.81%202.049.098.133%201.394%202.132%203.383%202.992.47.205.84.326%201.129.418.475.152.904.129%201.246.08.38-.058%201.171-.48%201.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }


/* Contact details are already shown in the main card on this page. */
body[data-page="contact"] footer .row > div:has(> h5):has(a[href^="mailto:"]) { display: none; }
body[data-page="contact"] footer .row > .text-md-end { margin-top: 0; text-align: center !important; }
