/* CEUPV: shared styles of the theme blocks, embeds and shortcodes, on the site and in the editor
   canvas (enqueue_block_assets; prints before main.css). Tokens from main.css or editor.css; the
   styles of each block are in blocks/<name>/style.css, buttons (.cu-btn) in main.css. */

.cu-block__title { margin: 0 0 1rem; }
.cu-block__empty { margin: 0; color: var(--cu-grey); }
.cu-block__more { display: inline-block; margin-top: 1rem; font-weight: 600; }

/* Social networks (footer, ceupv/delegaciones, ceupv/datos-contacto): 24 px icons in 44 × 44
   targets; inside blocks, on a light background, black icons. */
.cu-social { display: flex; flex-wrap: wrap; gap: var(--cu-s1); list-style: none; margin: 0; padding: 0; }
.cu-social__link { display: inline-flex; align-items: center; justify-content: center; gap: var(--cu-s2); min-width: 44px; min-height: 44px; border-radius: var(--cu-radius-btn); text-decoration: none; }
.cu-social__link .icon { width: 24px; height: 24px; vertical-align: 0; }
.cu-social__label { display: none; }
.cu-social__text { padding: 0 var(--cu-s2); }
.cu-block .cu-social__link { color: var(--cu-black); }
.cu-block .cu-social__link:hover { color: var(--cu-red-dark); }

/* Click-to-load frames (embeds.php: YouTube, TikTok, Instagram, map). */
.cu-frame { position: relative; margin: 1rem 0; }
.cu-frame__placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; min-height: 14rem; padding: 1.5rem; border: 1px dashed var(--cu-grey-light); border-radius: var(--cu-radius-card); background: var(--cu-bg-light); text-align: center; }
.cu-frame__placeholder[hidden] { display: none; }
.cu-frame__ratio { position: relative; width: 100%; aspect-ratio: 4 / 3; }
.cu-frame__ratio--video { aspect-ratio: 16 / 9; }
/* TikTok (embed/v2) and Instagram (/embed/) players have a fixed width and their own height. */
.cu-frame__ratio--tiktok { aspect-ratio: auto; max-width: 340px; height: 760px; margin-inline: auto; }
.cu-frame__ratio--instagram { aspect-ratio: auto; max-width: 540px; height: 720px; margin-inline: auto; }
.cu-frame__title { margin: 0; font-weight: 600; }
.cu-frame__note { margin: 0; font-size: .875rem; }
.cu-embed-link { overflow-wrap: anywhere; }
/* Direct links under the map (Google Maps, OpenStreetMap): they were printed with no space between. */
.cu-frame__links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: .75rem 0 0; }
.cu-frame__ratio iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.cu-frame__play { display: inline-flex; width: 4rem; height: 4rem; color: var(--cu-red-dark); }
.cu-frame__play .icon { width: 100%; height: 100%; }
.cu-cta { margin: 1.5rem 0; text-align: center; }

/* Documents list (ceupv/documentos, [pdf-embedder]). */
.cu-docs { margin: 0; padding: 0; list-style: none; }
.cu-docs__item { display: flex; align-items: flex-start; gap: .75rem; padding: .6rem 0; border-bottom: 1px solid var(--cu-border); }
.cu-docs__item .icon { flex: none; width: 1.5rem; height: 1.5rem; margin-top: .15rem; }
.cu-docs__meta { display: block; font-size: .875rem; color: var(--cu-grey-light); }
.cu-doc-link { display: inline-flex; align-items: center; gap: .4rem; }
