/* Galerías compactas administrables, independientes de la cantidad de imágenes. */
.book-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.book-info h3{overflow-wrap:break-word}.book-availability{font-size:.8rem;font-weight:700;color:#a13262}.sh-hero-photo{object-fit:cover}.sh-carousel-wrap{position:relative;width:100%;min-width:0}.sh-carousel{display:flex!important;grid-template-columns:none!important;grid-template-rows:none!important;gap:18px!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#d0d4df transparent;padding:8px 3px 20px}.sh-carousel>*{flex:0 0 auto;min-width:0;scroll-snap-align:start}.sh-carousel-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.sh-carousel-controls button{display:grid;place-items:center;width:42px;height:42px;background:transparent;color:var(--ink);border:1px solid #a6aab3;border-radius:50%;cursor:pointer;font-size:29px;line-height:1}.sh-carousel-controls button:hover{background:var(--ink);color:white}.gallery-section{padding-top:82px;padding-bottom:85px}.gallery-grid.sh-carousel{height:auto;max-height:none}.gallery-grid.sh-carousel .gallery-item{width:clamp(210px,27vw,300px);height:clamp(250px,29vw,330px);aspect-ratio:auto;min-height:250px;grid-column:auto;grid-row:auto}.gallery-grid.sh-carousel .gallery-item:nth-child(3) img,.gallery-grid.sh-carousel .gallery-item:nth-child(4) img{padding:0;object-fit:cover;background:transparent}.video-grid.sh-carousel .video-card{width:min(520px,85vw);max-width:90vw}.podcast-grid.sh-carousel .podcast-card{width:min(530px,85vw);max-width:90vw}.art-grid.sh-carousel .art-card{width:min(365px,80vw);max-width:86vw}.art-grid.sh-carousel .art-card-copy{gap:10px}.art-grid.sh-carousel .art-card-price strong{white-space:normal}.art-heading{margin-bottom:34px}.service-list{grid-template-columns:repeat(5,minmax(0,1fr))}.service-card{min-width:0}.service-card h3{overflow-wrap:break-word}.sh-service-disclaimer{position:relative;z-index:1;color:#c8d3e3;font-size:.75rem;margin-top:25px;max-width:850px}.art-section .sh-carousel-controls,.video-section .sh-carousel-controls,.podcast-section .sh-carousel-controls{position:relative;z-index:3}.gallery-section .section-heading{margin-bottom:28px}@media(max-width:1180px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.book-grid{grid-template-columns:1fr}.service-list{grid-template-columns:1fr}.gallery-grid.sh-carousel .gallery-item{width:76vw;max-width:280px;height:320px}.video-grid.sh-carousel .video-card,.podcast-grid.sh-carousel .podcast-card{width:88vw;max-width:88vw}.art-grid.sh-carousel .art-card{width:84vw;max-width:340px}.sh-carousel-controls button{width:40px;height:40px}}

.sh-gallery-modal-toolbar{display:flex;align-items:center;justify-content:center;gap:25px;margin:12px 0 0;color:white}.sh-gallery-modal-toolbar button{background:#ffffff1c;border:1px solid #ffffff55;color:white;border-radius:50%;width:42px;height:42px;font-size:30px;cursor:pointer}.sh-gallery-modal-toolbar span{font-size:13px;font-weight:700;letter-spacing:.12em}.sh-gallery-modal-toolbar button:hover{background:#ff347f}

/* Carruseles automáticos: controles accesibles y avance pausado al interactuar. */
.sh-carousel-controls .sh-carousel-pause{margin-right:auto;font-size:17px;font-weight:700}
.sh-carousel-controls .sh-carousel-pause span{display:block;line-height:1}
/* Servicios con fotografías editables desde el panel. */
.services-section .service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:0;gap:24px;align-items:stretch}
.services-section .service-card{display:flex;flex-direction:column;min-height:0;padding:0;border:1px solid rgba(255,255,255,.16)!important;border-radius:17px;overflow:hidden;background:rgba(255,255,255,.035);transition:background-color .3s,transform .3s}
.services-section .sh-service-photo{width:100%;aspect-ratio:16/10;overflow:hidden;background:radial-gradient(circle at 26% 25%,#263858,#081a33 70%)}
.services-section .sh-service-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.services-section .service-card:hover .sh-service-photo img{transform:scale(1.04)}
.services-section .sh-service-photo-pending{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(130deg,#10284a,#1c1935 65%,#46213e)}
.services-section .sh-service-photo-pending svg{width:54px;height:54px;fill:none;stroke:#f287b5;stroke-width:1;opacity:.7}
.services-section .sh-service-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:25px 24px 27px}
.services-section .sh-service-copy h3{margin:0 0 13px;font-size:clamp(1.42rem,2vw,1.75rem)}
.services-section .sh-service-copy p{margin:0 0 22px;font-size:.86rem;line-height:1.65;flex:1}
.services-section .sh-service-copy a{position:static;display:inline-flex;gap:9px;align-items:center;margin-top:auto;font-size:.79rem}
.services-section .sh-service-copy a svg{width:16px;height:16px}
@media(max-width:1050px){.services-section .service-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.services-section .service-list{grid-template-columns:1fr;gap:18px}.services-section .sh-service-photo{aspect-ratio:16/9}.services-section .sh-service-copy{padding:22px}}

/* V1.2 Carruseles sin barras de desplazamiento visibles. */
.sh-carousel{scrollbar-width:none!important;-ms-overflow-style:none!important;overflow-y:hidden!important;scroll-padding-inline:3px;}
.sh-carousel::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
.sh-carousel-wrap{overflow:hidden;}
.sh-carousel-controls{margin-top:14px;}
.sh-carousel-controls button:focus-visible{outline:3px solid #ff347f;outline-offset:3px;}
/* Evitar animaciones repetidas al copiar elementos dentro de un carrusel infinito. */
.sh-carousel [aria-hidden="true"].sh-loop-copy{visibility:visible;}
.sh-carousel .sh-loop-copy.reveal{opacity:1;transform:none;}
.sh-art-gallery-link{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px;margin:30px 0 12px;}
.sh-art-gallery-link .button{min-width:270px;justify-content:center;}
.sh-art-gallery-link span{font-size:.76rem;color:var(--ink-soft);}
/* Servicios: ahora son tarjetas horizontales independientes dentro del carrusel. */
.services-section .sh-services-wrap{position:relative;z-index:2;}
.services-section .service-list.sh-carousel{display:flex!important;grid-template-columns:none!important;align-items:stretch;gap:20px!important;border:0;margin:0;padding:8px 3px 20px;}
.services-section .service-list.sh-carousel .service-card{width:calc((100% - 44px)/3);flex:0 0 calc((100% - 44px)/3);height:auto;margin:0;box-sizing:border-box;}
.services-section .sh-carousel-controls button{color:#fff;border-color:#8490a6;}
.services-section .sh-carousel-controls button:hover{background:#fff;color:#071124;}
.services-section .sh-carousel-controls button:focus-visible{outline-color:#ff73ae;}
@media(max-width:1050px){.services-section .service-list.sh-carousel .service-card{flex-basis:calc((100% - 22px)/2);width:calc((100% - 22px)/2);}}
@media(max-width:650px){.services-section .service-list.sh-carousel .service-card{flex-basis:88%;width:88%;}.sh-art-gallery-link .button{width:100%;}}

.gallery-section .section-heading{display:block;max-width:100%;}
