/*
Theme Name:   Kadence Child SATO
Theme URI:    https://portalsato.es/
Description:  Tema hijo de Kadence para la web de la Sociedad Andaluza de Traumatología y Ortopedia (SATO).
Author:       Innovatech
Author URI:   https://www.innovatech.es/
Template:     kadence
Version:      1.0.10
Requires at least: 6.0
Requires PHP: 7.4
License:      GNU General Public License v3 or later
License URI:  https://www.gnu.org/licenses/gpl-3.0.html
Text Domain:  kadence-child-sato
*/

/* =========================================================
   Estilos propios de la web SATO.
   Los colores y tipografías principales se configuran en
   Apariencia > Personalizar (paleta global de Kadence);
   aquí solo van los ajustes que no se puedan hacer desde ahí.
   ========================================================= */

/* ---------------------------------------------------------
   Fichas de personas (Junta Directiva, Comité Científico,
   Senado, Patronato): foto redonda de tamaño fijo y centrada.
   --------------------------------------------------------- */
.wp-block-image.sato-ficha {
	text-align: center;
	margin-bottom: 0.5em;
}
.wp-block-image.sato-ficha img {
	width: 160px;
	height: 160px;
	object-fit: cover;
	border-radius: 50%;
	display: inline-block;
}

/* ---------------------------------------------------------
   Carrusel de la portada (.sato-slider con diapositivas .sato-slide)
   --------------------------------------------------------- */
.sato-slider{position:relative}
/* Todas las diapositivas en la misma celda: el carrusel toma el alto de la más alta y no salta. */
.sato-slider.is-ready > .wp-block-group__inner-container{display:grid}
.sato-slider.is-ready .sato-slide{grid-area:1/1;visibility:hidden;opacity:0;transition:opacity .5s ease,visibility .5s;margin:0 !important}
.sato-slider.is-ready .sato-slide.is-active{visibility:visible;opacity:1}
@media (prefers-reduced-motion:reduce){.sato-slider.is-ready .sato-slide{transition:none}}
.sato-slider .sato-hero-image{text-align:center;margin:0}
.sato-slider .sato-hero-image img{height:440px;width:auto;max-width:100%;object-fit:contain}
@media (max-width:781px){.sato-slider .sato-hero-image img{height:320px}}
.sato-slider:not(.is-ready) .sato-slide + .sato-slide{margin-top:56px}
.sato-slider__controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px}
.sato-slider__arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:50%;border:2px solid var(--global-palette3);background:#fff;color:var(--global-palette3);cursor:pointer;box-shadow:none}
.sato-slider__arrow:hover,.sato-slider__arrow:focus-visible{background:var(--global-palette3);color:#fff}
.sato-slider__dots{display:flex;gap:4px}
.sato-slider__dot{width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;position:relative;box-shadow:none}
.sato-slider__dot::before{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#B8CFCE;transition:background .2s,transform .2s}
.sato-slider__dot[aria-current="true"]::before{background:var(--global-palette1);transform:scale(1.25)}
.sato-slider__dot:hover::before{background:var(--global-palette2)}

/* ---------------------------------------------------------
   Listados de documentos (.sato-doclist) mejorados por
   js/sato-doclist.js: tipo, descarga, título y descargas.
   --------------------------------------------------------- */
.entry-content ul.sato-doclist.is-rich li.sato-doc{display:flex;align-items:center;gap:12px;padding:6px 8px;transition:background .15s}
.entry-content ul.sato-doclist.is-rich li.sato-doc[hidden]{display:none}
.entry-content ul.sato-doclist.is-rich li.sato-doc:hover{background:var(--global-palette8)}
.entry-content ul.sato-doclist.is-rich a.sato-doc__title{flex:1 1 auto;min-width:0;padding:8px 0;display:block}
.entry-content ul.sato-doclist.is-rich a.sato-doc__title::before,.entry-content ul.sato-doclist.is-rich a.sato-doc__get::before,.entry-content ul.sato-doclist.is-rich a.sato-doc__get::after,.entry-content ul.sato-doclist.is-rich a.sato-doc__title::after{content:none !important;display:none !important}
.sato-doc__type{flex:none;font-family:var(--global-heading-font-family);font-size:11px;font-weight:700;letter-spacing:.04em;line-height:1;padding:5px 7px;border-radius:5px;background:var(--global-palette7);color:var(--global-palette1)}
.entry-content a.sato-doc__get{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--global-palette1);border:1.5px solid #CFE3E1;background:#fff;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.entry-content a.sato-doc__get:hover,.entry-content a.sato-doc__get:focus-visible{background:var(--global-palette1);border-color:var(--global-palette1);color:#fff}
.sato-doc__count{flex:none;font-size:14px;color:var(--global-palette6);white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:640px){
	.entry-content ul.sato-doclist.is-rich li.sato-doc{flex-wrap:wrap;gap:4px 10px;padding:8px 4px}
	.entry-content ul.sato-doclist.is-rich a.sato-doc__title{flex-basis:calc(100% - 100px)}
	.sato-doc__count{flex-basis:100%;padding-left:94px;margin-top:-6px;font-size:13px}
}

/* Listado de enlaces externos (.sato-linklist): revistas de acceso libre */
.entry-content ul.sato-linklist{list-style:none;margin:0 0 1.5em;padding:0;border-top:1px solid #E3ECEC}
.entry-content ul.sato-linklist > li{margin:0;padding:0;border-bottom:1px solid #E3ECEC}
.entry-content ul.sato-linklist > li > a{display:flex;align-items:center;gap:10px;padding:14px 8px;color:var(--global-palette4);text-decoration:none}
.entry-content ul.sato-linklist > li > a::after{content:"";flex:none;width:14px;height:14px;background:currentColor;opacity:.55;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4l-9 9'/%3E%3Cpath d='M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4l-9 9'/%3E%3Cpath d='M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") center/contain no-repeat}
.entry-content ul.sato-linklist > li > a:hover{color:var(--global-palette1)}
.entry-content ul.sato-linklist.is-rich li.sato-doc{display:flex;align-items:center;gap:12px;padding:0 8px}
.entry-content ul.sato-linklist.is-rich li.sato-doc[hidden]{display:none}
.entry-content ul.sato-linklist.is-rich li.sato-doc:hover{background:var(--global-palette8)}
.entry-content ul.sato-linklist.is-rich a.sato-doc__title{flex:1 1 auto;min-width:0;padding:14px 0;justify-content:flex-start}
.entry-content ul.sato-linklist.is-rich a.sato-doc__title::after{order:2}
.sato-doc__host{flex:none;font-size:14px;color:var(--global-palette6);white-space:nowrap;max-width:40%;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){
	.entry-content ul.sato-linklist.is-rich li.sato-doc{flex-wrap:wrap;gap:0 10px;padding:0 4px 10px}
	.entry-content ul.sato-linklist.is-rich a.sato-doc__title{flex-basis:100%;padding-bottom:2px}
	.sato-doc__host{max-width:100%;font-size:13px}
}

/* Enlaces con subtítulo (autor, editorial…) */
.entry-content ul.sato-linklist .sato-doc__sub{display:block;margin:-8px 0 0;padding:0 8px 14px;font-size:14px;color:var(--global-palette6)}
.entry-content ul.sato-linklist.is-rich li.sato-doc.has-sub{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center}
.entry-content ul.sato-linklist.is-rich li.sato-doc.has-sub a.sato-doc__title{grid-column:1;padding:14px 0 2px}
.entry-content ul.sato-linklist.is-rich li.sato-doc.has-sub .sato-doc__sub{grid-column:1;margin:0;padding:0 0 14px}
.entry-content ul.sato-linklist.is-rich li.sato-doc.has-sub .sato-doc__host{grid-column:2;grid-row:1 / span 2;max-width:260px}
.entry-content ul.sato-linklist.is-rich li.sato-doc[hidden],.entry-content ul.sato-doclist.is-rich li.sato-doc[hidden]{display:none !important}
@media (max-width:640px){.entry-content ul.sato-linklist.is-rich li.sato-doc.has-sub{display:block;padding-bottom:12px}.entry-content ul.sato-linklist.is-rich li.sato-doc.has-sub .sato-doc__sub{padding-bottom:2px}}

/* Barra de búsqueda y orden */
.sato-docbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:0 0 16px;padding:14px;border:1px solid #E3ECEC;border-radius:14px;background:var(--global-palette8)}
.sato-docbar__search{position:relative;flex:1 1 280px;min-width:0}
.sato-docbar__search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--global-palette6);pointer-events:none}
.sato-docbar__search input[type="search"]{width:100%;margin:0;padding:11px 14px 11px 42px;border:1.5px solid #CFE3E1;border-radius:999px;background:#fff;font-size:16px;color:var(--global-palette4)}
.sato-docbar__search input[type="search"]:focus{border-color:var(--global-palette1);outline:2px solid var(--global-palette7);outline-offset:0}
.sato-docbar__sort{display:flex;align-items:center;gap:8px;flex:none}
.sato-docbar__sort label{font-size:14px;font-weight:600;color:var(--global-palette5)}
.sato-docbar__sort select{margin:0;padding:10px 36px 10px 14px;border:1.5px solid #CFE3E1;border-radius:999px;background-color:#fff;font-size:15px;color:var(--global-palette4);min-height:44px}
.sato-docbar__status{flex:1 1 100%;margin:0;font-size:14px;color:var(--global-palette6)}
.sato-docbar__empty{margin:8px 0 0;padding:18px;border-radius:12px;background:var(--global-palette7);color:var(--global-palette5)}

/* Paginación */
.sato-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:24px 0 8px}
.sato-pager[hidden]{display:none}
.sato-pager__btn{min-width:44px;height:44px;padding:0 12px;border-radius:999px;border:1.5px solid #CFE3E1;background:#fff;color:var(--global-palette3);font-family:var(--global-heading-font-family);font-weight:700;font-size:15px;cursor:pointer;box-shadow:none;line-height:1}
.sato-pager__btn:hover:not([disabled]),.sato-pager__btn:focus-visible{border-color:var(--global-palette1);color:var(--global-palette1);background:#fff}
.sato-pager__btn[aria-current="page"]{background:var(--global-palette1);border-color:var(--global-palette1);color:#fff}
.sato-pager__btn.is-nav{font-size:20px}
.sato-pager__btn[disabled]{opacity:.4;cursor:default}
.sato-pager__gap{padding:0 4px;color:var(--global-palette6)}

/* ---------------------------------------------------------
   Videoteca (.sato-videos) — js/sato-videos.js
   --------------------------------------------------------- */
.sato-vfilter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:14px;border:1px solid #E3ECEC;border-radius:14px;background:var(--global-palette8)}
.sato-vfilter__chip{display:inline-flex;align-items:center;gap:8px;padding:9px 10px 9px 16px;border-radius:999px;border:1.5px solid #CFE3E1;background:#fff;color:var(--global-palette3);font-family:var(--global-heading-font-family);font-weight:700;font-size:14px;line-height:1;cursor:pointer;box-shadow:none}
.sato-vfilter__chip span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--global-palette7);color:var(--global-palette1);font-size:12px}
.sato-vfilter__chip:hover,.sato-vfilter__chip:focus-visible{border-color:var(--global-palette1);color:var(--global-palette1);background:#fff}
.sato-vfilter__chip[aria-pressed="true"]{background:var(--global-palette1);border-color:var(--global-palette1);color:#fff}
.sato-vfilter__chip[aria-pressed="true"] span{background:#fff}
.sato-vcat{margin-top:40px;padding-top:28px;border-top:2px solid var(--global-palette7)}
.sato-vcat[hidden]{display:none}
.sato-videos.is-filtered .sato-vcat{border-top:0;padding-top:0;margin-top:28px}
.sato-vcat__title{margin:0;font-size:28px}
.sato-vcat__count{margin:4px 0 20px;font-size:14px;font-weight:600;color:var(--global-palette1)}
.sato-vgrid > .wp-block-group__inner-container,.sato-vgrid.is-layout-flow{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}
.sato-vgrid > .wp-block-group__inner-container > *{margin:0 !important}
.sato-video{margin:0;display:flex;flex-direction:column;background:#fff;border:1px solid #E3ECEC;border-radius:14px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.sato-video:hover{box-shadow:0 10px 28px rgba(14,59,82,.10);transform:translateY(-2px)}
.entry-content .sato-video .sato-video__thumb{margin:0 !important;position:relative;background:#0E3B52;line-height:0}
.sato-video .sato-video__thumb a{display:block}
.sato-video .sato-video__thumb img{width:100% !important;height:auto !important;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:0}
.sato-video .sato-video__thumb::after{content:"";position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(14,110,106,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M8 5.5v13l11-6.5z'/%3E%3C/svg%3E") 55% 50%/26px no-repeat;box-shadow:0 4px 14px rgba(0,0,0,.25);pointer-events:none;transition:transform .2s}
.sato-video:hover .sato-video__thumb::after{transform:scale(1.08)}
.entry-content .sato-video h3{font-size:17px;line-height:1.35;margin:16px 18px 6px}
.entry-content .sato-video h3 a{color:var(--global-palette3);text-decoration:none}
.entry-content .sato-video h3 a:hover{color:var(--global-palette1)}
.entry-content .sato-video .sato-video__meta{font-size:14px;line-height:1.45;color:var(--global-palette6);margin:0 18px 18px}
.entry-content .sato-video > .wp-block-group__inner-container > :last-child{margin-bottom:18px}

/* Ventana del reproductor */
.sato-vmodal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px}
.sato-vmodal[hidden]{display:none}
.sato-vmodal__backdrop{position:absolute;inset:0;background:rgba(8,28,40,.82)}
.sato-vmodal__box{position:relative;width:min(1000px,100%);background:#000;border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.sato-vmodal__head{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 18px;background:#0E3B52;color:#fff}
.sato-vmodal__title{flex:1 1 auto;margin:0;font-family:var(--global-heading-font-family);font-weight:700;font-size:15px;line-height:1.3;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sato-vmodal__close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;box-shadow:none}
.sato-vmodal__close:hover,.sato-vmodal__close:focus-visible{background:rgba(255,255,255,.25)}
.sato-vmodal__frame{aspect-ratio:16/9}
.sato-vmodal__frame iframe{width:100%;height:100%;border:0;display:block}
html.sato-vmodal-open{overflow:hidden}

/* ---------------------------------------------------------
   Pase de diapositivas (.sato-slider--deck), p. ej. Másteres
   --------------------------------------------------------- */
.sato-slider--deck{background:#0E3B52;border-radius:18px;padding:16px 16px 12px;outline:none}
.sato-slider--deck:focus-visible{box-shadow:0 0 0 3px var(--global-palette1)}
.sato-slider--deck .sato-slide{margin:0 !important}
.sato-slider--deck .sato-slide figure{margin:0}
.sato-slider--deck .sato-slide img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:10px;background:#fff}
.sato-slider--deck:not(.is-ready) .sato-slide + .sato-slide{margin-top:16px !important}
.sato-slider--deck .sato-slider__controls{margin-top:12px;gap:20px}
.sato-slider--deck .sato-slider__arrow{border-color:rgba(255,255,255,.5);background:transparent;color:#fff}
.sato-slider--deck .sato-slider__arrow:hover:not([disabled]),.sato-slider--deck .sato-slider__arrow:focus-visible{background:#fff;color:var(--global-palette10);border-color:#fff}
.sato-slider--deck .sato-slider__arrow[disabled]{opacity:.3;cursor:default}
.sato-slider__counter{margin:0;min-width:70px;text-align:center;font-family:var(--global-heading-font-family);font-weight:700;font-size:15px;color:#fff;font-variant-numeric:tabular-nums}
@media (max-width:600px){.sato-slider--deck{padding:8px 8px 6px;border-radius:12px}}
