/* CW Galería Premium — Punto Fisio 1.1.35 */
.cw-gallery-wrapper{
  --cw-gallery-gap:12px;--cw-gallery-radius:18px;--cw-gallery-columns:4;--cw-gallery-ratio:4/3;--cw-gallery-position:center center;
  --cw-gallery-accent:var(--cw-pf-primary,#00CFAB);
  --cw-gallery-text:var(--cw-pf-text,#333333);
  --cw-gallery-muted:var(--cw-pf-muted,color-mix(in srgb,var(--cw-gallery-text) 66%,transparent));
  --cw-gallery-line:var(--cw-pf-border,color-mix(in srgb,var(--cw-gallery-text) 14%,transparent));
  --cw-gallery-inner-border:rgba(255,255,255,.68);
  --cw-gallery-outer-border-width:1px;--cw-gallery-outer-border-color:var(--cw-gallery-line);
  width:100%;margin:0 auto;color:var(--cw-gallery-text)!important;
}
.cw-gallery-wrapper,.cw-gallery-wrapper *{box-sizing:border-box}
.cw-gallery-grid{display:grid;gap:var(--cw-gallery-gap);grid-template-columns:repeat(var(--cw-gallery-columns),minmax(0,1fr))}
.cw-gallery-figure{min-width:0;margin:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}.cw-gallery-figure.is-preview-hidden{display:none!important}
.cw-gallery-wrapper .cw-gallery-item,
.cw-gallery-wrapper .cw-gallery-item:link,
.cw-gallery-wrapper .cw-gallery-item:visited,
.cw-gallery-wrapper .cw-gallery-item:hover,
.cw-gallery-wrapper .cw-gallery-item:focus,
.cw-gallery-wrapper .cw-gallery-item:focus-visible,
.cw-gallery-wrapper .cw-gallery-item:active{
  position:relative;display:block;width:100%;height:100%;overflow:hidden;
  border:0 solid transparent!important;border-radius:var(--cw-gallery-radius);
  outline:0;
  background:transparent!important;cursor:zoom-in;isolation:isolate;text-decoration:none!important;color:#fff!important;
  box-shadow:none!important;-webkit-tap-highlight-color:transparent;
  transition:none;
}
.cw-gallery-wrapper.has-outer-border .cw-gallery-item,
.cw-gallery-wrapper.has-outer-border .cw-gallery-item:link,
.cw-gallery-wrapper.has-outer-border .cw-gallery-item:visited,
.cw-gallery-wrapper.has-outer-border .cw-gallery-item:hover,
.cw-gallery-wrapper.has-outer-border .cw-gallery-item:focus,
.cw-gallery-wrapper.has-outer-border .cw-gallery-item:focus-visible,
.cw-gallery-wrapper.has-outer-border .cw-gallery-item:active{border-width:var(--cw-gallery-outer-border-width)!important;border-style:solid!important;border-color:var(--cw-gallery-outer-border-color)!important}
.cw-gallery-wrapper .cw-gallery-item:focus-visible{outline:2px solid rgba(255,255,255,.92)!important;outline-offset:3px}
.cw-gallery-image{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:var(--cw-gallery-position);background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;transition:transform .72s cubic-bezier(.16,1,.3,1)}
.cw-gallery-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;padding:15px;background:linear-gradient(180deg,rgba(5,11,10,.24),transparent 38%,rgba(5,11,10,.24));opacity:0;transition:opacity .32s ease;color:#fff!important;pointer-events:none}
.cw-gallery-index{font-size:10px;font-weight:760;letter-spacing:.14em;color:#fff!important;opacity:.86}.cw-gallery-icon{align-self:flex-end;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.56)!important;background:rgba(7,13,12,.18)!important;color:#fff!important;transition:transform .32s cubic-bezier(.16,1,.3,1),background-color .28s ease}.cw-gallery-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.cw-gallery-wrapper.has-inner-border .cw-gallery-item::after{content:"";position:absolute;inset:10px;z-index:3;border:1px solid var(--cw-gallery-inner-border)!important;border-radius:max(0px,calc(var(--cw-gallery-radius) - 8px));pointer-events:none}
.cw-gallery-wrapper.is-lightbox-off .cw-gallery-item{cursor:default}.cw-gallery-caption{margin:9px 2px 0;color:var(--cw-gallery-muted)!important;font-size:12px;line-height:1.45}
.cw-gallery-hover--cinematic .cw-gallery-item:hover .cw-gallery-image,.cw-gallery-hover--cinematic .cw-gallery-item:focus-visible .cw-gallery-image{transform:scale(1.022)}.cw-gallery-hover--cinematic .cw-gallery-item:hover .cw-gallery-overlay,.cw-gallery-hover--cinematic .cw-gallery-item:focus-visible .cw-gallery-overlay{opacity:.9}.cw-gallery-hover--cinematic .cw-gallery-item:hover .cw-gallery-icon,.cw-gallery-hover--cinematic .cw-gallery-item:focus-visible .cw-gallery-icon{transform:translateY(-1px)}
.cw-gallery-hover--subtle .cw-gallery-item:hover .cw-gallery-overlay,.cw-gallery-hover--subtle .cw-gallery-item:focus-visible .cw-gallery-overlay{opacity:.55}.cw-gallery-hover--none .cw-gallery-item,.cw-gallery-hover--none .cw-gallery-image,.cw-gallery-hover--none .cw-gallery-overlay{transition:none!important}

/* Preview editorial: one large image + four supporting cells = two rows by default. */
.cw-gallery--preview .cw-gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,minmax(175px,18vw));grid-auto-rows:minmax(150px,14vw)}
.cw-gallery--preview .cw-gallery-figure{grid-column:span 3;min-height:0;overflow:hidden;border-radius:var(--cw-gallery-radius)}
.cw-gallery--preview .cw-gallery-figure:first-child{grid-column:span 6;grid-row:span 2}
.cw-gallery--preview .cw-gallery-item{height:100%;min-height:0}
.cw-gallery--preview .cw-gallery-figure:nth-child(n+6):not(.is-preview-hidden){grid-column:span 3}
.cw-gallery-more{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff!important;background:linear-gradient(180deg,rgba(5,13,12,.28),rgba(5,13,12,.72))!important;pointer-events:none}
.cw-gallery-more strong{font-size:clamp(34px,3.4vw,58px);line-height:.95;letter-spacing:-.05em;font-weight:650;color:#fff!important}.cw-gallery-more span{margin-top:4px;font-size:12px;font-weight:720;letter-spacing:.09em;text-transform:uppercase;color:#fff!important}
.cw-gallery--preview .is-more-tile .cw-gallery-overlay{display:none}
.cw-gallery--preview .is-more-tile .cw-gallery-image{transform:scale(1.01)}
.cw-gallery--preview .is-more-tile .cw-gallery-item:hover .cw-gallery-image,.cw-gallery--preview .is-more-tile .cw-gallery-item:focus-visible .cw-gallery-image{transform:scale(1.04)}

/* Editorial SD */
.cw-gallery--editorial .cw-gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(118px,11vw)}
.cw-gallery--editorial .cw-gallery-figure{grid-column:span 4;grid-row:span 2}.cw-gallery--editorial .cw-gallery-figure:first-child{grid-column:span 8;grid-row:span 4}.cw-gallery--editorial .cw-gallery-figure:nth-child(4n+4){grid-column:span 8;grid-row:span 3}.cw-gallery--editorial .cw-gallery-item{height:100%}

/* Mosaico cinematográfico */
.cw-gallery--mosaic .cw-gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(86px,8.3vw)}
.cw-gallery--mosaic .cw-gallery-figure{grid-column:span 4;grid-row:span 3}.cw-gallery--mosaic .cw-gallery-figure:nth-child(7n+1){grid-column:span 7;grid-row:span 5}.cw-gallery--mosaic .cw-gallery-figure:nth-child(7n+2){grid-column:span 5;grid-row:span 3}.cw-gallery--mosaic .cw-gallery-figure:nth-child(7n+3){grid-column:span 5;grid-row:span 2}.cw-gallery--mosaic .cw-gallery-figure:nth-child(7n+4),.cw-gallery--mosaic .cw-gallery-figure:nth-child(7n+5){grid-column:span 6;grid-row:span 3}.cw-gallery--mosaic .cw-gallery-item{height:100%}

/* Grid precision */
.cw-gallery--grid .cw-gallery-item{aspect-ratio:var(--cw-gallery-ratio)}

/* Tira fotográfica */
.cw-gallery--rail .cw-gallery-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,34vw);grid-template-columns:none;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;padding:4px 2px 14px;scrollbar-width:thin}.cw-gallery--rail .cw-gallery-figure{scroll-snap-align:start}.cw-gallery--rail .cw-gallery-item{aspect-ratio:var(--cw-gallery-ratio)}

/* Lightbox: fixed neutral stage, independent from Elementor/global button styles. */
.cw-lightbox{position:fixed;inset:0;z-index:1000000;display:flex;flex-direction:column;background:rgba(7,12,12,.97)!important;color:#fff!important;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .20s ease,visibility .20s ease}.cw-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}.cw-lightbox[data-theme="light"]{background:rgba(247,249,248,.985)!important;color:#172220!important}
.cw-lightbox-toolbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,44px);flex:0 0 auto}.cw-lightbox-counter{font-size:11px;font-weight:760;letter-spacing:.12em;color:inherit!important;opacity:.72;font-variant-numeric:tabular-nums}
.cw-lightbox button,.cw-lightbox button:hover,.cw-lightbox button:focus,.cw-lightbox button:focus-visible,.cw-lightbox button:active{padding:0!important;margin:0;border:1px solid rgba(255,255,255,.22)!important;background:rgba(255,255,255,.045)!important;color:#fff!important;display:flex;align-items:center;justify-content:center;font:inherit!important;box-shadow:none!important;cursor:pointer;appearance:none!important}.cw-lightbox[data-theme="light"] button,.cw-lightbox[data-theme="light"] button:hover,.cw-lightbox[data-theme="light"] button:focus,.cw-lightbox[data-theme="light"] button:focus-visible,.cw-lightbox[data-theme="light"] button:active{border-color:rgba(23,34,32,.15)!important;background:rgba(23,34,32,.035)!important;color:#172220!important}.cw-lightbox button:hover,.cw-lightbox button:focus-visible{border-color:rgba(255,255,255,.42)!important;background:rgba(255,255,255,.09)!important;color:#fff!important}.cw-lightbox[data-theme="light"] button:hover,.cw-lightbox[data-theme="light"] button:focus-visible{border-color:rgba(23,34,32,.28)!important;background:rgba(23,34,32,.07)!important;color:#172220!important}.cw-lightbox-btn{width:42px;height:42px;border-radius:50%}.cw-lightbox-btn svg,.cw-lightbox-nav svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cw-lightbox-slider{position:relative;flex:1;min-height:0;overflow:hidden}.cw-lightbox-track{display:flex;width:100%;height:100%;transition:transform .30s cubic-bezier(.16,1,.3,1);will-change:transform}.cw-lightbox-slide{position:relative;flex:0 0 100%;height:100%;display:flex;align-items:center;justify-content:center;padding:8px clamp(58px,7vw,110px) 72px}.cw-lightbox-slide::before{content:"";position:absolute;left:50%;top:50%;width:min(760px,62vw);height:min(500px,52vh);transform:translate(-50%,-50%);border-radius:12px;background:#202827 linear-gradient(100deg,rgba(255,255,255,.015) 18%,rgba(255,255,255,.07) 42%,rgba(255,255,255,.015) 66%);background-size:220% 100%;animation:cw-lightbox-skeleton 1.5s ease-in-out infinite;opacity:1;transition:opacity .16s ease;pointer-events:none}.cw-lightbox[data-theme="light"] .cw-lightbox-slide::before{background:#f0f4f3 linear-gradient(100deg,rgba(37,53,54,.018) 18%,rgba(255,255,255,.82) 42%,rgba(37,53,54,.018) 66%);background-size:220% 100%}.cw-lightbox-slide.is-ready::before{opacity:0}.cw-lightbox-slide.is-error::before{animation:none;opacity:.55}.cw-lightbox-slide img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;box-shadow:none!important;opacity:0;transition:opacity .16s ease}.cw-lightbox-slide.is-ready img{opacity:1}@keyframes cw-lightbox-skeleton{0%{background-position:120% 0}100%{background-position:-120% 0}}.cw-lightbox-nav{position:absolute;top:50%;width:46px;height:46px;border-radius:50%;transform:translateY(-50%);z-index:3}.cw-lightbox-nav.prev{left:18px}.cw-lightbox-nav.next{right:18px}.cw-lightbox-caption{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);width:min(720px,calc(100% - 40px));margin:0;color:#fff!important;text-align:center;font-size:13px;line-height:1.45;opacity:.76}.cw-lightbox[data-theme="light"] .cw-lightbox-caption{color:#172220!important}

@media(max-width:1024px){
 .cw-gallery--preview .cw-gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(170px,25vw));grid-auto-rows:minmax(150px,22vw)}
 .cw-gallery--preview .cw-gallery-figure{grid-column:span 3}.cw-gallery--preview .cw-gallery-figure:first-child{grid-column:span 6;grid-row:span 1}
 .cw-gallery--editorial .cw-gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(120px,19vw)}.cw-gallery--editorial .cw-gallery-figure,.cw-gallery--editorial .cw-gallery-figure:nth-child(n){grid-column:span 3;grid-row:span 2}.cw-gallery--editorial .cw-gallery-figure:first-child{grid-column:span 6;grid-row:span 3}
 .cw-gallery--mosaic .cw-gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:105px}.cw-gallery--mosaic .cw-gallery-figure,.cw-gallery--mosaic .cw-gallery-figure:nth-child(n){grid-column:span 3;grid-row:span 3}.cw-gallery--mosaic .cw-gallery-figure:first-child{grid-column:span 6;grid-row:span 4}
}
@media(max-width:767px){
 .cw-gallery--preview .cw-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:auto}.cw-gallery--preview .cw-gallery-figure,.cw-gallery--preview .cw-gallery-figure:first-child{grid-column:span 1;grid-row:auto}.cw-gallery--preview .cw-gallery-figure:first-child{grid-column:1/-1}.cw-gallery--preview .cw-gallery-item{aspect-ratio:1/1}.cw-gallery--preview .cw-gallery-figure:first-child .cw-gallery-item{aspect-ratio:16/10}
 .cw-gallery--editorial .cw-gallery-grid,.cw-gallery--mosaic .cw-gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto}.cw-gallery--editorial .cw-gallery-figure,.cw-gallery--editorial .cw-gallery-figure:nth-child(n),.cw-gallery--mosaic .cw-gallery-figure,.cw-gallery--mosaic .cw-gallery-figure:nth-child(n){grid-column:1;grid-row:auto}.cw-gallery--editorial .cw-gallery-item,.cw-gallery--mosaic .cw-gallery-item{aspect-ratio:4/3}.cw-gallery--grid .cw-gallery-grid{grid-template-columns:repeat(var(--cw-gallery-columns),minmax(0,1fr))}.cw-gallery--rail .cw-gallery-grid{grid-auto-columns:84vw}
 .cw-lightbox-toolbar{height:58px}.cw-lightbox-slide{padding:4px 14px 76px}.cw-lightbox-nav{top:auto;bottom:18px;transform:none;width:40px;height:40px}.cw-lightbox-nav.prev{left:16px}.cw-lightbox-nav.next{right:16px}.cw-lightbox-caption{bottom:27px;width:calc(100% - 128px);font-size:12px}
}
@media(prefers-reduced-motion:reduce){.cw-gallery-item,.cw-gallery-image,.cw-gallery-overlay,.cw-gallery-icon,.cw-lightbox,.cw-lightbox-track,.cw-lightbox-slide img{transition:none!important}.cw-lightbox-slide::before{animation:none!important}}

/* v1.0.90 · botón de cierre fotográfico idéntico al del vídeo; evita que
   estilos globales de WordPress/Elementor para «.close» cambien su forma. */
#cw-lightbox .cw-lightbox-toolbar :is(.cw-lightbox-close,.cw-lightbox-close:hover,.cw-lightbox-close:focus,.cw-lightbox-close:focus-visible,.cw-lightbox-close:active){
  box-sizing:border-box!important;
  position:relative!important;display:grid!important;place-items:center!important;
  flex:0 0 42px!important;width:42px!important;height:42px!important;
  min-width:42px!important;min-height:42px!important;
  padding:0!important;margin:0!important;
  border-radius:50%!important;border:1px solid currentColor!important;
  appearance:none!important;-webkit-appearance:none!important;
  transform:none!important;rotate:none!important;scale:1!important;
  opacity:1!important;box-shadow:none!important;filter:none!important;
  font-size:0!important;line-height:0!important;
  background:transparent!important;color:inherit!important;
  transition:background-color .18s ease,border-color .18s ease!important;
}
#cw-lightbox .cw-lightbox-toolbar .cw-lightbox-close::before,
#cw-lightbox .cw-lightbox-toolbar .cw-lightbox-close::after{
  content:none!important;display:none!important;
}
#cw-lightbox .cw-lightbox-toolbar .cw-lightbox-close svg,
#cw-lightbox .cw-lightbox-toolbar .cw-lightbox-close:is(:hover,:focus,:focus-visible,:active) svg{
  display:block!important;position:static!important;
  flex:none!important;width:17px!important;height:17px!important;
  stroke:currentColor!important;stroke-width:1.85!important;
  fill:none!important;transform:none!important;rotate:none!important;
  transition:none!important;filter:none!important;opacity:1!important;
}
#cw-lightbox .cw-lightbox-toolbar .cw-lightbox-close:hover,
#cw-lightbox .cw-lightbox-toolbar .cw-lightbox-close:focus-visible{
  background:color-mix(in srgb,currentColor 7%,transparent)!important;
}
#cw-lightbox .cw-lightbox-toolbar .cw-lightbox-close:focus-visible{
  outline:2px solid var(--cw-video-accent,#00cfab)!important;
  outline-offset:3px!important;
}
