/* FONT AZUR · GALERÍA — Página interna. Basada en galeria.html de Mar Alta.
   Archivo exclusivo de galeria.html: no altera la Home ni Sobre el proyecto. */
.gallery-page{--dark:#2A3F54;--text:#2A3F54;--cream:#F8F8F5;--soft:#EEEAE2;--sand:#EEEAE2;--accent:#87AAA9;--accent-2:#d7e5e0;font-family:Arial,Helvetica,sans-serif;}
.gallery-page .page{overflow-x:clip;}
.gallery-page .page-hero-gallery{background-image:url('../assets/img/playa-muchavista.webp')!important;background-position:center 48%!important;min-height:480px!important;padding:158px 0 95px!important;}
.gallery-page .page-hero-gallery::before{background:linear-gradient(90deg,rgba(27,45,61,.88),rgba(34,52,68,.46) 70%,rgba(34,52,68,.25))!important;}
.gallery-page .page-hero-gallery .eyebrow{color:#D3E4DF!important;}
.gallery-page .page-hero-gallery h1{font-weight:800;}
.gallery-page .page-hero-meta span{background:rgba(42,63,84,.28);border-color:rgba(255,255,255,.28);}
.gallery-page .section-light{background:#F8F8F5;}
.gallery-page .gallery-film{padding:100px 0 34px;}
.gallery-page .gallery-film-inner{max-width:1180px;}
.gallery-page .film-heading{max-width:820px;margin:0 auto 36px;text-align:center;}
.gallery-page .film-heading .eyebrow{display:flex;justify-content:center;align-items:center;margin:0 auto 17px;}
.gallery-page .film-heading .section-title{font-size:clamp(2.25rem,4.1vw,4rem);line-height:1.05;max-width:820px;margin:0 auto 19px;letter-spacing:-.06em;}
.gallery-page .film-heading .section-text{max-width:670px;margin:0 auto;color:#637583;}
.gallery-page .film-frame{position:relative;max-width:1000px;margin:0 auto;background:#1b2834;aspect-ratio:16/9;box-shadow:0 24px 65px rgba(25,47,62,.16);overflow:hidden;}
.gallery-page .film-frame video{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;background:#122331;}
.gallery-page .film-caption{max-width:1000px;margin:15px auto 0;color:#67828a;text-align:right;font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;}
.gallery-page .gallery-identity{padding:66px 0 78px;}
.gallery-page .gallery-identity-content{max-width:820px;text-align:center;}
.gallery-page .gallery-identity .eyebrow{margin:0 auto 22px;}
.gallery-page .gallery-identity .section-title{font-size:clamp(2.1rem,4.1vw,3.9rem);margin:0 auto 24px;line-height:1.14;max-width:760px;}
.gallery-page .gallery-identity .section-text{max-width:740px;margin:0 auto;color:#566f7a;font-size:1.04rem;line-height:1.86;}
.gallery-page #fotografias{padding-top:80px;padding-bottom:110px;border-top:1px solid rgba(42,63,84,.08);}
.gallery-page #fotografias .gallery-intro{max-width:850px;margin-bottom:46px;}
.gallery-page #fotografias .gallery-intro .section-title{font-size:clamp(2.3rem,4vw,4rem);line-height:1.05;letter-spacing:-.06em;margin:11px auto 20px;}
.gallery-page #fotografias .gallery-intro .section-text{max-width:720px;margin:0 auto;color:#607582;line-height:1.75;}
.gallery-page #fotografias .gallery-grid{grid-template-columns:1.15fr .85fr .85fr;gap:15px;}
.gallery-page #fotografias .gallery-item{min-height:230px;box-shadow:none;background:#e3e9e6;cursor:default;isolation:isolate;}
.gallery-page #fotografias .gallery-item.large{min-height:475px;grid-row:span 2;}
.gallery-page #fotografias .gallery-item::before{display:none;}
.gallery-page #fotografias .gallery-card-action{appearance:none;-webkit-appearance:none;display:block;position:relative;border:0;padding:0;width:100%;height:100%;min-height:inherit;background:transparent;color:#fff;text-align:left;cursor:zoom-in;overflow:hidden;}
.gallery-page #fotografias .gallery-card-action::after{content:'';display:block;position:absolute;inset:32% 0 0;background:linear-gradient(0deg,rgba(15,35,52,.82),transparent);z-index:1;pointer-events:none;}
.gallery-page #fotografias .gallery-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.75,.2,1);}
.gallery-page #fotografias .gallery-card-action:hover .gallery-photo,.gallery-page #fotografias .gallery-card-action:focus-visible .gallery-photo{transform:scale(1.035);}
.gallery-page #fotografias .gallery-card-action:focus-visible{outline:3px solid #87AAA9;outline-offset:-3px;}
.gallery-page #fotografias .gallery-caption{z-index:2;transform:none;padding:24px 22px 21px;pointer-events:none;}
.gallery-page #fotografias .gallery-caption small{font-size:.62rem;font-weight:700;letter-spacing:.14em;color:#d0e6de;margin-bottom:7px;}
.gallery-page #fotografias .gallery-card-title{display:block;font-weight:800;font-size:clamp(1rem,1.45vw,1.24rem);line-height:1.24;letter-spacing:-.025em;}
.gallery-page .gallery-band{background:#2A3F54;padding:78px 0;}
.gallery-page .gallery-band .section-title{font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.12;}
.gallery-page .gallery-band .section-text{line-height:1.7;}
.gallery-page .gallery-band .band-card{padding:25px 20px;border-color:rgba(238,234,226,.19);background:rgba(238,234,226,.06);}
.gallery-page .gallery-band .band-card strong{color:#c8e0da;font-size:.77rem;letter-spacing:.09em;line-height:1.35;}
.gallery-page .gallery-band .band-card p{font-size:.83rem;line-height:1.65;}
.gallery-page .gallery-band .band-card .btn{display:inline-flex;margin-top:17px!important;font-size:.7rem!important;padding:11px 12px!important;color:#2A3F54;background:#F8F8F5;border:1px solid #F8F8F5;white-space:normal;}
.gallery-page .gallery-band .band-card .btn:hover{background:#dbe6e3;color:#2A3F54;}
.gallery-page .gallery-contact{padding:98px 0 110px;}
.gallery-page .gallery-contact .contact-grid{align-items:center;}
.gallery-page .gallery-contact .section-title{font-size:clamp(2.3rem,4vw,4rem);}
.gallery-page .gallery-contact .form-card{background:#fff;}
.gallery-page .gallery-contact .contact-box{margin-top:25px;}
.gallery-page .gallery-lightbox[hidden]{display:none!important;}
.gallery-page .gallery-lightbox{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:20px;}
.gallery-page .lightbox-backdrop{position:absolute;inset:0;background:rgba(12,23,33,.92);border:0;cursor:zoom-out;}
.gallery-page .lightbox-panel{z-index:1;position:relative;width:min(94vw,1180px);height:min(88vh,850px);display:flex;align-items:center;justify-content:center;}
.gallery-page .lightbox-figure{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;}
.gallery-page .lightbox-image{display:block;max-width:100%;max-height:calc(100% - 42px);width:auto;height:auto;object-fit:contain;}
.gallery-page .lightbox-caption{margin-top:12px;color:#f7f7f4;font-size:.84rem;line-height:1.3;text-align:center;}
.gallery-page .lightbox-close,.gallery-page .lightbox-previous,.gallery-page .lightbox-next{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.4);color:#fff;background:rgba(42,63,84,.72);cursor:pointer;display:grid;place-items:center;width:44px;height:44px;font-size:1.8rem;line-height:1;}
.gallery-page .lightbox-close{top:4px;right:4px;}
.gallery-page .lightbox-previous{left:0;top:50%;transform:translateY(-50%);}
.gallery-page .lightbox-next{right:0;top:50%;transform:translateY(-50%);}
.gallery-page .lightbox-close:hover,.gallery-page .lightbox-previous:hover,.gallery-page .lightbox-next:hover{background:#87AAA9;color:#2A3F54;}
body.gallery-modal-open{overflow:hidden;}
@media(max-width:1040px){
.gallery-page #fotografias .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.gallery-page #fotografias .gallery-item.large{grid-row:span 2;}
.gallery-page .gallery-band-grid{grid-template-columns:1fr;gap:36px;}
.gallery-page .gallery-band .band-list{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px){
.gallery-page .page-hero-gallery{min-height:430px!important;padding:135px 0 75px!important;}
.gallery-page .gallery-film{padding:64px 0 16px;}
.gallery-page .film-heading{margin-bottom:27px;}
.gallery-page .gallery-identity{padding:55px 0 60px;}
.gallery-page #fotografias{padding-top:68px;padding-bottom:72px;}
.gallery-page .gallery-band{padding:64px 0;}
.gallery-page .gallery-band .band-list{grid-template-columns:1fr;}
.gallery-page .gallery-contact{padding:68px 0 85px;}
.gallery-page .lightbox-panel{width:100%;height:calc(100dvh - 40px);}
.gallery-page .lightbox-close{top:16px;}
}
@media(max-width:520px){
.gallery-page #fotografias .gallery-grid{grid-template-columns:1fr;gap:12px;}
.gallery-page #fotografias .gallery-item{min-height:290px;}
.gallery-page #fotografias .gallery-item.large{min-height:350px;grid-row:span 1;}
.gallery-page .gallery-film .film-frame{box-shadow:0 14px 26px rgba(25,47,62,.12);}
.gallery-page .gallery-identity .section-text{font-size:.98rem;}
.gallery-page .lightbox-previous,.gallery-page .lightbox-next{top:auto;bottom:4px;transform:none;}
.gallery-page .lightbox-caption{padding:0 35px;}
}
@media(prefers-reduced-motion:reduce){.gallery-page #fotografias .gallery-photo{transition:none;}}
/* Encabezado de fotografías: una única columna alineada, sin estilos de slider heredados. */
.gallery-page #fotografias .gallery-intro{
  display:block!important;
  text-align:center!important;
  margin:0 auto 46px!important;
  max-width:850px!important;
}
.gallery-page #fotografias .gallery-intro > *{
  display:block;
  max-width:850px;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.gallery-page #fotografias .gallery-intro .eyebrow{
  display:flex!important;
  justify-content:center!important;
  align-items:center;
}
.gallery-page #fotografias .gallery-intro .section-title{margin-top:16px!important;margin-bottom:20px!important;}
.gallery-page #fotografias .gallery-intro .section-text{max-width:700px!important;}

/* La imagen de cada tarjeta utiliza background-image, como las tarjetas originales de Mar Alta. */
.gallery-page #fotografias .gallery-item{background-color:#e3e9e6;background-size:cover;background-position:center;}
.gallery-page #fotografias .gallery-photo{opacity:0;pointer-events:none;}
