.contact-page{padding-top:60px;background:#ffffff00;color:var(--brown-deep)}
.contact-kicker{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--copper);font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.round-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(184,88,0,.28);border-radius:50%;background:#fffaf3;color:var(--copper);font-size:18px}
.contact-hero{position:relative;min-height:520px;display:grid;grid-template-columns:minmax(340px,.82fr) minmax(620px,1.18fr);align-items:center;gap:24px;overflow:hidden;padding:56px clamp(34px,5.5vw,82px);background:linear-gradient(90deg,#fffdf9 0%,rgba(255,253,249,.98) 31%,rgba(255,253,249,.72) 47%,rgba(255,253,249,.08) 73%),url("../assets/images/Ambiente/Evento_1.webp") center 38%/cover no-repeat;color:var(--brown-deep)}
.contact-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,200,112,.05),rgba(61,28,0,.08))}
.contact-hero-copy,.contact-channel-actions{position:relative;z-index:1;min-width:0}
.contact-hero-copy{width:min(100%,500px)}
.contact-hero h1{margin:0;color:var(--brown-deep);font-family:var(--font-heading);font-size:clamp(43px,4.6vw,66px);font-weight:800;letter-spacing:-.035em;line-height:.94;overflow-wrap:normal}
.contact-hero h1 em{display:block;color:var(--copper);font-style:italic;font-weight:700}
.contact-hero-copy>.contact-kicker{color:var(--copper)}
.contact-intro,.contact-hero-copy>.contact-intro{max-width:470px;margin:20px 0 0;color:#5f4b3b;font-size:14px;font-weight:700;line-height:1.62}
.contact-primary-button{box-sizing:border-box;width:100%;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:14px;margin:0;padding:0 18px;border-radius:6px;background:#b85800;color:#fff;font-size:13px;font-weight:900;line-height:1.2;text-align:center;box-shadow:0 10px 22px rgba(0,72,132,.22)}
.contact-primary-button:hover{background:#ffc870}
.contact-hero-copy>.contact-primary-button{width:min(100%,370px);justify-content:center}
.contact-primary-button>span:last-child{margin-left:0}.button-icon{width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center}
.response-note{margin:12px 0 0;color:#5f4b3b;font-size:12px;font-weight:750}.response-note span{margin-right:6px;color:var(--orange)}
.contact-channel-actions{width:min(100%,370px);display:grid;gap:24px;margin-top:24px}
.contact-channel-actions .contact-primary-button{width:100%;min-height:46px;margin-top:0}
.contact-button-copy{min-width:0;color:#fff;font-size:13px;font-weight:900;overflow-wrap:anywhere}
.contact-button-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.contact-button-icon svg,.contact-button-icon img{width:30px;height:30px;display:block;object-fit:contain}.whatsapp-icon svg circle{fill:#31c466}.whatsapp-icon svg path{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.whatsapp-icon svg path:first-of-type{fill:#fff;stroke:none}.phone-icon img{width:28px;height:28px}.pse-icon{width:30px;height:42px;flex-basis:30px;overflow:visible}.pse-icon img{width:70px;height:70px;max-width:none;object-fit:contain}.button-icon img,.channel-icon img,.footer-round-icon img{width:30px;height:30px;display:block;object-fit:contain}.channel-icon,.footer-round-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--copper);font-size:18px}
.map-apps small,.map-apps strong,.address-card small,.address-card strong,.contact-footer small,.contact-footer strong{display:block}.map-apps b{color:var(--copper);font-size:22px}
.visit-section{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(500px,1.15fr);gap:clamp(34px,5vw,66px);align-items:stretch;padding:52px clamp(34px,5.5vw,82px);background:radial-gradient(circle at 12% 30%,rgba(255,200,112,.2),transparent 26%),#fffaf3}.visit-copy{align-self:center}
.visit-section h2,.facilities-section h2{margin:0;color:var(--brown-deep);font-family:var(--font-heading);font-size:clamp(38px,4.2vw,56px);font-weight:800;line-height:1}.visit-copy>p:not(.contact-kicker){max-width:460px;margin:14px 0 0;color:#5f4b3b;font-size:13px;font-weight:750;line-height:1.55}
.map-apps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.map-apps a,.address-card{min-width:0;min-height:48px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px;border:1px solid rgba(184,88,0,.14);border-radius:10px;background:#fffdf9;box-shadow:0 12px 26px rgba(61,28,0,.08)}
.map-app-icon{width:38px;height:38px;display:block;border-radius:10px;object-fit:cover;object-position:center}.map-apps small,.address-card small{color:var(--copper);font-size:10px;font-weight:850}.map-apps strong,.address-card strong{color:var(--brown-deep);font-size:12px;line-height:1.35}
.address-card{margin:14px 0 0;font-style:normal}.building-icon{color:var(--copper);font-size:34px}.contact-map{width:100%;height:100%;min-height:355px;display:block;border:0;border-radius:14px;box-shadow:0 20px 42px rgba(61,28,0,.16);filter:sepia(.08) saturate(.85)}
.facilities-section{padding:42px clamp(28px,4.5vw,66px) 32px;background:#fffdf9}.facilities-heading{text-align:center}.facilities-heading .contact-kicker{justify-content:center}.facilities-heading h2{font-size:clamp(34px,3.7vw,50px)}.facilities-heading>p:last-child{margin:10px 0 0;color:#6b4b33;font-size:13px;font-weight:650}
.facilities-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:26px}.facilities-gallery figure{min-width:0;height:auto;aspect-ratio:615/341;margin:0;overflow:hidden;border-radius:9px;background:#f8ead6;box-shadow:0 10px 24px rgba(61,28,0,.12)}.facilities-gallery img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;transition:filter 240ms ease}.facilities-gallery figure:hover img{filter:brightness(1.04)}
.facilities-action{display:flex;justify-content:center;margin-top:14px}.facilities-link{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 22px;border-radius:6px;background:#b85800;color:#fff;font-size:13px;font-weight:900;line-height:1.2;text-align:center;box-shadow:0 10px 22px rgba(0,72,132,.18)}.facilities-link:hover{background:#ffc870}.facilities-link span{font-size:18px;line-height:1}
.contact-footer{display:grid;grid-template-columns:.8fr .8fr 1.1fr 1.5fr;gap:14px;padding:22px clamp(26px,4.5vw,68px);background:var(--brown-deep);color:#fffaf3}.contact-footer>a{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center}.contact-footer small{color:var(--gold);font-size:10px;font-weight:850}.contact-footer strong{color:#fffaf3;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.footer-round-icon{color:var(--gold)}.footer-map-logo{width:28px;height:28px;display:block;object-fit:cover;object-position:center}
.main-nav a[aria-current="page"]{color:var(--brown-deep)}
@media(max-width:980px){.contact-page{padding-top:0}.contact-hero{grid-template-columns:1fr;gap:34px;padding-top:54px;background:linear-gradient(90deg,rgba(255,253,249,.97),rgba(255,253,249,.78)),url("../assets/images/Ambiente/Evento_1.webp") center/cover no-repeat}.contact-channel-actions{justify-self:start}.visit-section{grid-template-columns:1fr}.facilities-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-footer{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){body,.site-page,.contact-page,.contact-hero,.visit-section,.facilities-section,.contact-footer{box-sizing:border-box;width:100%;max-width:100%;min-width:0}.site-header{box-sizing:border-box;left:0;width:100%;transform:none;display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 10px;padding:8px 14px;overflow:hidden}.logo{width:56px}.appointment-actions{display:none}.main-nav{grid-column:1/-1;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.main-nav a{overflow:hidden;font-size:11px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.contact-hero,.visit-section{padding:38px 18px}.contact-hero h1{font-size:clamp(38px,13vw,52px)}.contact-primary-button{width:100%;justify-content:center}.contact-channel-actions{width:100%}.map-apps{grid-template-columns:1fr}.contact-map{min-height:300px}.facilities-section{padding:36px 18px 28px}.facilities-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.facilities-gallery figure{height:auto}.facilities-link{width:100%;padding:0 16px}.contact-footer{grid-template-columns:1fr;padding:24px 18px}}

.facilities-gallery {
  --facilities-gap: 14px;
  --facilities-gap-half: 7px;
  --facilities-card-width: min(
    307px,
    calc(100vw - clamp(28px, 4.5vw, 66px) - clamp(28px, 4.5vw, 66px) - 8px)
  );
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  margin-top: 26px;
  padding: 6px 4px 20px;
  mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}

.facilities-gallery::-webkit-scrollbar {
  display: none;
}

.facilities-gallery:focus-visible {
  outline: 3px solid rgba(184, 88, 0, 0.35);
  outline-offset: 5px;
}

.facilities-track {
  width: max-content;
  display: flex;
  gap: var(--facilities-gap);
  animation: facilities-slide 44s linear infinite;
  will-change: transform;
}

.facilities-gallery:hover .facilities-track,
.facilities-gallery:focus-within .facilities-track {
  animation-play-state: paused;
}

.facilities-slide-group {
  display: flex;
  gap: var(--facilities-gap);
}

.facilities-gallery figure {
  width: var(--facilities-card-width);
  min-width: var(--facilities-card-width);
  height: auto;
  aspect-ratio: 615 / 341;
  flex: 0 0 var(--facilities-card-width);
}

@keyframes facilities-slide {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-50% - var(--facilities-gap-half)));
  }
}

@media (max-width: 620px) {
  .facilities-gallery {
    --facilities-gap: 12px;
    --facilities-gap-half: 6px;
    --facilities-card-width: min(615px, calc(100vw - 44px));
    padding-bottom: 18px;
  }

  .facilities-gallery figure {
    height: auto;
  }

  .main-nav a {
    min-height: 36px;
  }
}

@media (hover: none) and (pointer: coarse) {
  .facilities-gallery {
    mask-image: none;
    -webkit-mask-image: none;
    scroll-snap-type: x mandatory;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
  }

  .facilities-track {
    animation: facilities-slide 44s linear infinite;
  }

  .facilities-slide-group[aria-hidden="true"] {
    display: none;
  }

  .facilities-gallery figure {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}

@media (prefers-reduced-motion: reduce) {
  .facilities-gallery {
    overflow-x: auto;
    mask-image: none;
    -webkit-mask-image: none;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .facilities-track {
    animation: none;
  }

  .facilities-gallery figure {
    scroll-snap-align: start;
  }
}

/* Mantiene visible la acción principal al cambiar entre anchos de pantalla. */
@media (max-width: 620px) {
  .site-header {
    grid-template-areas:
      "logo actions"
      "nav nav";
  }

  .logo {
    grid-area: logo;
  }

  .appointment-actions {
    display: flex;
    grid-area: actions;
    width: auto;
    min-width: 0;
    max-width: 100%;
    justify-self: end;
    justify-content: flex-end;
    overflow: visible;
  }

  .appointment-button {
    max-width: 132px;
    min-height: 38px;
    padding-right: 10px;
    padding-left: 10px;
    font-size: 12px;
    white-space: nowrap;
  }

  .main-nav {
    grid-area: nav;
  }
}

/* Centra el texto y mantiene los iconos alineados en el extremo derecho. */
.contact-channel-actions .contact-primary-button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-right: 58px;
  padding-left: 58px;
}

.contact-channel-actions .contact-button-copy {
  width: auto;
  text-align: center;
}

.contact-channel-actions .contact-button-icon {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
}

/* Conserva el encuadre completo de la imagen principal y de la galería. */
.contact-hero {
  background-color: #fffdf9;
  background-image:
    linear-gradient(90deg, #fffdf9 0%, rgba(255, 253, 249, 0.98) 31%, rgba(255, 253, 249, 0.72) 47%, rgba(255, 253, 249, 0.08) 73%),
    url("../assets/images/Ambiente/Evento_1.webp");
  background-position: center, right center;
  background-size: 100% 100%, auto 100%;
  background-repeat: no-repeat;
}

.map-app-icon,
.footer-map-logo,
.facilities-gallery img {
  object-fit: contain;
  object-position: center;
}

.facilities-gallery img {
  background: #ffffff00;
}

.facilities-gallery figure:hover img {
  transform: none;
}

@media (max-width: 980px) {
  .contact-hero {
    background-image:
      linear-gradient(90deg, rgba(255, 253, 249, 0.97), rgba(255, 253, 249, 0.78)),
      url("../assets/images/Ambiente/Evento_1.webp");
    background-position: center, center bottom;
    background-size: 100% 100%, 100% auto;
    background-repeat: no-repeat;
  }
}
