/*
Theme Name: Simetría IU
Description: Tema propio e independiente para IUCR 2011 Madrid. Composición sobre un eje central, tipografía Zilla Slab y Mukta autohospedadas, sin librerías externas.
Author: Redacción IUCR 2011 Madrid
Version: 1.0.3
Requires at least: 6.0
Requires PHP: 7.4
Update URI: false
Text Domain: simetria-iu
*/
@font-face{font-family:'Zilla Slab';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/zilla-slab-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Zilla Slab';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/zilla-slab-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Mukta';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/mukta-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Mukta';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/mukta-latin-600-normal.woff2) format('woff2')}

:root{
--bg:#D9D4E8;--su:#ECE9F4;--ink:#1F1A33;--mu:#5B4F7A;--ac:#A81F0A;--bd:#6B5F8F;--ph:#C4B9E2;--acl:#E58A7A;
--f1:'Zilla Slab',Georgia,'Times New Roman',serif;--f2:'Mukta',Arial,Helvetica,sans-serif;
--s1:.9rem;--s2:1.125rem;--s3:1.25rem;--s4:clamp(1.4rem,2.2vw,1.7rem);--s5:clamp(1.9rem,3.2vw,2.4rem);--s6:clamp(2.2rem,4.2vw,3.1rem);--s7:clamp(2.2rem,6vw,4.25rem);--s8:clamp(3rem,10vw,7rem);
--dur:.15s;--w:1280px;--pad:clamp(20px,5vw,64px)
}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--s2)/1.6 var(--f2);overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
a{color:var(--mu);font-weight:600;text-decoration:none;transition:color var(--dur)}
a:hover{color:var(--ac);text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
::selection{background:var(--ink);color:var(--su)}
h1,h2,h3{font-family:var(--f1);font-weight:700;line-height:1.1;margin:0}
.sim-w{max-width:var(--w);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.sim-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sim-skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--su);padding:10px 16px;z-index:100}
.sim-skip:focus{top:12px;color:var(--su)}
main:focus{outline:0}

/* cabecera */
.sim-hd{padding:14px 0 10px}
.sim-hd .sim-w{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
.sim-brand{display:flex;align-items:center;gap:12px;font-family:var(--f1);font-weight:700;font-size:1.6rem;line-height:1;color:var(--ac)}
.sim-brand:hover{text-decoration:none;color:var(--ink)}
.sim-bt{display:none;min-width:44px;min-height:44px;background:transparent;border:1.5px solid var(--bd);color:var(--ink);align-items:center;justify-content:center;cursor:pointer}
.sim-nav{display:flex;width:100%;flex-direction:column;padding:10px 0 4px}
@media(max-width:959.98px){.js .sim-bt{display:flex}.js .sim-nav{display:none}.js .sim-hd.is-open .sim-nav{display:flex}}
.sim-nav>a,.sim-nav summary,.sim-pt{display:flex;align-items:center;min-height:44px;font-size:1.05rem}
.sim-nav summary{cursor:pointer;color:var(--mu);font-weight:600;list-style:none}
.sim-nav summary::-webkit-details-marker{display:none}
.sim-nav summary:after{content:"";margin-left:8px;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.sim-nav a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.sim-pan{display:flex;flex-direction:column;padding:0 0 6px 14px}
.sim-pan a{display:flex;align-items:center;min-height:44px}
.sim-pt{color:var(--mu);font-weight:600}
.sim-sub{display:flex;flex-direction:column;padding-left:14px}
.sim-sub a{display:flex;align-items:center;min-height:44px}
@media(min-width:960px){
.sim-hd{padding:34px 0 8px}
.sim-hd .sim-w{flex-direction:column;justify-content:center;text-align:center}
.sim-brand{font-size:2rem}
.sim-bt{display:none}
.sim-nav{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 26px;padding:12px 0 0;font-size:1rem}
.sim-nav>a,.sim-nav summary{min-height:36px;font-size:1rem}
.sim-dd{position:relative}
.sim-pan{position:absolute;left:50%;top:100%;transform:translateX(-50%);min-width:220px;background:var(--su);border:1.5px solid var(--bd);padding:8px 14px;z-index:20;text-align:left}
}

/* portada */
.sim-hero{padding:22px 0 0}
.sim-mir{display:grid;grid-template-columns:1fr 1fr;height:clamp(190px,36vw,430px);overflow:hidden;background:var(--ph)}
.sim-hf{position:relative;overflow:hidden}
.sim-hf img{position:absolute;left:0;top:0;width:200%;max-width:none;height:100%;object-fit:cover}
.sim-hf.r{transform:scaleX(-1)}
.sim-hero-t{text-align:center;padding:34px 0 0}
.sim-cat-l{font-weight:600;font-size:var(--s1);color:var(--mu)}
.sim-hero-t h1,.sim-hero-t h2{font-size:var(--s7);line-height:1.04;max-width:940px;margin:6px auto 16px}
.sim-hero-t h1,.sim-hero-t h2 a{color:var(--ink)}
.sim-hero-t h1,.sim-hero-t h2 a:hover{color:var(--ac)}
.sim-hero-d{font-size:var(--s3);max-width:580px;margin:0 auto}
.sim-sec{padding-top:clamp(56px,9vw,96px)}
.sim-sh{font-size:var(--s5);text-align:center;margin:0 0 clamp(26px,4vw,40px)}
.sim-ax{position:relative}
.sim-row{margin-bottom:32px}
.sim-it{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.sim-th{display:block;width:100%;aspect-ratio:3/2;background:var(--ph);overflow:hidden}
.sim-th img{width:100%;height:100%;object-fit:cover}
.sim-it h3,.sim-it h2{font-size:var(--s4);line-height:1.15;margin:2px 0 6px}
.sim-it h3 a,.sim-it h2 a{color:var(--ink)}
.sim-it h3 a:hover,.sim-it h2 a:hover{color:var(--ac)}
.sim-it p{margin:0;font-size:1rem}
.sim-cn{font-weight:600;font-size:var(--s1);color:var(--mu)}
.sim-cat{margin-bottom:34px;text-align:center}
.sim-cat .n{font-family:var(--f1);font-weight:700;font-size:var(--s6);line-height:1}
.sim-ls a{display:block;margin:4px 0;font-size:1.05rem}
@media(min-width:900px){
.sim-ax:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--bd)}
.sim-row{display:grid;grid-template-columns:1fr 1fr;margin-bottom:36px}
.sim-it{flex-direction:row;align-items:flex-start;gap:24px;padding:0 36px;text-align:right}
.sim-row.l .sim-it{grid-column:1}
.sim-row.r .sim-it{grid-column:2;flex-direction:row-reverse;text-align:left}
.sim-th{flex:none;width:190px;aspect-ratio:3/2}
.sim-cat{display:grid;grid-template-columns:1fr 1fr;align-items:center;margin-bottom:44px;text-align:left}
.sim-cat>*{padding:0 36px}
.sim-cat.l .n{grid-column:1;text-align:right}
.sim-cat.l .sim-ls{grid-column:2;grid-row:1;text-align:left}
.sim-cat.r .n{grid-column:2;grid-row:1;text-align:left}
.sim-cat.r .sim-ls{grid-column:1;grid-row:1;text-align:right}
}

/* cabeceras de página */
.sim-ch{text-align:center;padding:clamp(40px,7vw,72px) 0 0}
.sim-cr{font-size:var(--s1);color:var(--mu)}
.sim-cr a{font-weight:400}
.sim-ch h1{font-size:var(--s8);line-height:1;margin:10px 0 16px}
.sim-lead{font-size:var(--s3);max-width:620px;margin:0 auto}
.sim-ch .sim-sf{margin-top:24px}
.sim-pg{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:48px}
.sim-pg a,.sim-pg span{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 12px;border:1.5px solid var(--bd);color:var(--mu);font-weight:600}
.sim-pg .current{background:var(--ink);border-color:var(--ink);color:var(--su)}
.sim-pg a:hover{text-decoration:none;background:var(--su)}

/* entrada */
.sim-eh{text-align:center;padding:clamp(34px,6vw,56px) 0 0}
.sim-eh h1{font-size:var(--s6);max-width:900px;margin:12px auto 14px}
.sim-meta{font-size:var(--s1);color:var(--mu)}
.sim-fig{padding-top:clamp(24px,4vw,40px)}
.sim-fig .sim-mir{height:clamp(190px,34vw,420px)}
.sim-bd{display:grid;gap:30px;padding-top:clamp(32px,5vw,56px)}
.sim-tx{min-width:0;max-width:680px;margin:0 auto;width:100%}
.sim-tx>*:first-child{margin-top:0}
.sim-tx p{margin:0 0 22px;font-size:var(--s3);line-height:1.7}
.sim-tx a{text-decoration:underline;text-underline-offset:3px}
.sim-tx h2{font-size:var(--s5);margin:44px 0 14px}
.sim-tx h3{font-size:var(--s4);margin:34px 0 10px}
.sim-tx ul,.sim-tx ol{margin:0 0 22px;padding-left:1.3em;font-size:var(--s3);line-height:1.7}
.sim-tx li{margin-bottom:6px}
.sim-tx blockquote{margin:28px 0;padding:0 0 0 1.2em;font-family:var(--f1);font-size:1.4rem;line-height:1.35;font-style:italic;color:var(--mu)}
.sim-tx img{margin:28px auto}
.sim-tx figure{margin:28px 0}
.sim-tx figcaption{font-size:var(--s1);color:var(--mu);text-align:center}
.sim-tx table{width:100%;border-collapse:collapse;font-size:1rem;margin:0 0 22px;display:block;overflow-x:auto}
.sim-tx th,.sim-tx td{border:1.5px solid var(--bd);padding:8px 12px;text-align:left}
.sim-au{margin-top:30px;font-size:var(--s1);color:var(--mu)}
.sim-idx p,.sim-shr b{font-family:var(--f1);font-weight:700;font-size:1.2rem;margin:0 0 6px;display:block}
.sim-idx ol{list-style:none;margin:0;padding:0}
.sim-idx a,.sim-shr a,.sim-shr button{display:block;margin:5px 0;font-size:1rem}
.sim-shr button{background:none;border:0;padding:0;color:var(--mu);font:600 1rem var(--f2);cursor:pointer}
.sim-shr button:hover{color:var(--ac);text-decoration:underline}
.sim-ai{order:-1}
.sim-ai,.sim-sd{max-width:680px;margin:0 auto;width:100%}
@media(min-width:1180px){
.sim-bd{grid-template-columns:1fr 680px 1fr;column-gap:44px;align-items:start}
.sim-ai{order:0;text-align:right;position:sticky;top:24px}
.sim-sd{text-align:left;position:sticky;top:24px;margin:0}
.sim-ai,.sim-sd{max-width:none}
}
.sim-more{padding-top:clamp(56px,8vw,88px);text-align:center}
.sim-more h2{font-size:var(--s5);margin-bottom:26px}
.sim-rg{display:grid;gap:36px;max-width:1000px;margin:0 auto}
.sim-rl{display:block;text-align:center}
.sim-rl .sim-th{aspect-ratio:16/9;margin-bottom:12px}
.sim-rl .tt{font-family:var(--f1);font-weight:700;font-size:var(--s4);line-height:1.15;color:var(--mu)}
@media(min-width:760px){.sim-rg{grid-template-columns:1fr 1fr;column-gap:72px}}
.sim-faq details{border-bottom:1.5px solid var(--bd);padding:10px 0}
.sim-faq summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.sim-faq p{margin:6px 0 4px}

/* formularios y botones */
.sim-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 30px;background:var(--ac);color:#fff;border:0;font:600 1.1rem var(--f2);cursor:pointer;transition:background var(--dur)}
.sim-btn:hover{background:var(--ink);color:#fff;text-decoration:none}
.sim-ct{max-width:620px;margin:0 auto;text-align:center;padding:clamp(40px,7vw,72px) 0 0}
.sim-ct h1{font-size:var(--s8);line-height:1;margin:0 0 14px}
.sim-fm{background:var(--su);padding:clamp(22px,4vw,36px);text-align:left;margin-top:36px}
.sim-fd{margin-bottom:20px}
.sim-fm label{display:block;font-weight:600;margin:0 0 6px}
.sim-fm input[type=text],.sim-fm input[type=email],.sim-fm select,.sim-fm textarea,.sim-sf input[type=search]{width:100%;min-height:48px;border:1.5px solid var(--bd);background:#fff;color:var(--ink);font:400 1.1rem var(--f2);padding:10px 14px;border-radius:0}
.sim-fm textarea{min-height:150px;resize:vertical}
.sim-ak{display:flex;gap:12px;align-items:flex-start}
.sim-ak input{width:24px;height:24px;margin:4px 0 0;flex:none;accent-color:var(--ac)}
.sim-ak label{font-weight:400;margin:0}
.sim-ak a{text-decoration:underline}
.sim-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.sim-fe{display:flex;gap:8px;align-items:flex-start;color:var(--ac);font-weight:600;font-size:1rem;margin-top:6px}
.sim-fe svg{flex:none;margin-top:3px}
.sim-msg{padding:14px 16px;margin:0 0 22px;background:#fff;border:1.5px solid var(--ink);font-weight:600}
.sim-msg.er{border-color:var(--ac);color:var(--ac)}
.sim-em{margin-top:30px;font-size:var(--s3)}
.sim-sf div{display:flex;gap:10px;max-width:520px;margin:0 auto}
.sim-sf label{display:block;font-weight:600;margin-bottom:6px}

/* Sobre nosotros */
.sim-ab{display:grid;gap:28px;padding-top:clamp(40px,7vw,80px)}
.sim-ab h1{font-size:var(--s8);line-height:1}
.sim-ab .sim-tx{margin:0}
@media(min-width:900px){
.sim-ab{grid-template-columns:1fr 1fr;column-gap:0;position:relative}
.sim-ab:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--bd)}
.sim-ab .a{text-align:right;padding-right:48px}
.sim-ab .sim-tx{padding-left:48px;max-width:none}
}
.sim-abm{padding-top:clamp(36px,6vw,72px)}

/* pie y cookies */
.sim-ft{margin-top:clamp(64px,9vw,104px);background:var(--ink);color:var(--su);padding:52px 0 44px;text-align:center}
.sim-ft a{color:var(--su)}
.sim-ft a:hover{color:var(--acl)}
.sim-fn{font-family:var(--f1);font-weight:700;font-size:1.7rem;margin:0 0 8px}
.sim-fl{display:flex;justify-content:center;gap:4px 24px;flex-wrap:wrap;margin-top:12px}
.sim-fl a{display:flex;align-items:center;min-height:44px}
.sim-fs{font-size:.95rem;margin:12px 0 0}
.sim-ckn{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;background:var(--ink);color:var(--su);padding:18px 20px;max-width:520px;margin:0 auto;max-height:70vh;overflow:auto}
.sim-ckn[hidden]{display:none}
.sim-ckn p{margin:0 0 10px}
.sim-ckt{font-family:var(--f1);font-weight:700;font-size:1.3rem}
.sim-ckn div{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sim-ckn button{min-height:44px;padding:0 20px;border:1.5px solid var(--su);background:transparent;color:var(--su);font:600 1rem var(--f2);cursor:pointer}
.sim-ckn button.p{background:var(--su);color:var(--ink)}
.sim-ckn a{text-decoration:underline;display:flex;align-items:center;min-height:44px}

/* movimiento: un solo momento al cargar */
@media(prefers-reduced-motion:no-preference){
.js .sim-hero-t h1,.sim-hero-t h2{animation:sim-open .7s ease-out both}
@keyframes sim-open{from{clip-path:inset(0 50% 0 50%)}to{clip-path:inset(0)}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* accesibilidad 1.0.3 */
.sim-ft :focus-visible,.sim-ckn :focus-visible{outline-color:var(--su)}
html:has(#sim-ck:not([hidden])){scroll-padding-bottom:45vh}
.sim-em a,.sim-lead a{text-decoration:underline;text-underline-offset:3px}
.sim-sf input[type=search]{min-width:0;flex:1 1 140px}
.sim-sf div{flex-wrap:wrap}
.sim-idx a,.sim-shr a,.sim-shr button{min-height:32px;display:flex;align-items:center}
.sim-faq summary::after{content:"";margin-left:auto;flex:none;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.sim-faq details[open] summary::after{transform:rotate(-135deg)}
h1,h2,h3{text-wrap:balance}
main:focus-visible{outline:2px dashed var(--bd)}
.sim-fm input:not([type=checkbox]):not([type=radio]):not([type=hidden]){min-height:48px}
