/*
Theme Name: FormaX3
Theme URI: https://formax3.es
Description: Tema corporativo de FormaX3, el area de formacion de Grupo X3. Formacion bonificada FUNDAE, e-learning (campus Moodle campusv2.formax3.es) y presencial. Incluye formulario de contacto con validacion de CIF, telefono internacional y comprobacion MX del email.
Author: Nexsatel Consulting / Grupo X3
Version: 1.0.4
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: formax3
*/


/* intl-tel-input */
.iti{position:relative;display:inline-block}.iti *{box-sizing:border-box;-moz-box-sizing:border-box}.iti__hide{display:none}.iti__v-hide{visibility:hidden}.iti input,.iti input[type=tel],.iti input[type=text]{position:relative;z-index:0;margin-top:0!important;margin-bottom:0!important;padding-right:36px;margin-right:0}.iti__flag-container{position:absolute;top:0;bottom:0;right:0;padding:1px}.iti__selected-flag{z-index:1;position:relative;display:flex;align-items:center;height:100%;padding:0 6px 0 8px}.iti__arrow{margin-left:6px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #555}.iti__arrow--up{border-top:none;border-bottom:4px solid #555}.iti__country-list{position:absolute;z-index:2;list-style:none;text-align:left;padding:0;margin:0 0 0 -1px;box-shadow:1px 1px 4px rgba(0,0,0,.2);background-color:#fff;border:1px solid #ccc;white-space:nowrap;max-height:200px;overflow-y:scroll;-webkit-overflow-scrolling:touch}.iti__country-list--dropup{bottom:100%;margin-bottom:-1px}@media (max-width:500px){.iti__country-list{white-space:normal}}.iti__flag-box{display:inline-block;width:20px}.iti__divider{padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid #ccc}.iti__country{padding:5px 10px;outline:0}.iti__dial-code{color:#999}.iti__country.iti__highlight{background-color:rgba(0,0,0,.05)}.iti__country-name,.iti__dial-code,.iti__flag-box{vertical-align:middle}.iti__country-name,.iti__flag-box{margin-right:6px}.iti--allow-dropdown input,.iti--allow-dropdown input[type=tel],.iti--allow-dropdown input[type=text],.iti--separate-dial-code input,.iti--separate-dial-code input[type=tel],.iti--separate-dial-code input[type=text]{padding-right:6px;padding-left:52px;margin-left:0}.iti--allow-dropdown .iti__flag-container,.iti--separate-dial-code .iti__flag-container{right:auto;left:0}.iti--allow-dropdown .iti__flag-container:hover{cursor:pointer}.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag{background-color:rgba(0,0,0,.05)}.iti--allow-dropdown input[disabled]+.iti__flag-container:hover,.iti--allow-dropdown input[readonly]+.iti__flag-container:hover{cursor:default}.iti--allow-dropdown input[disabled]+.iti__flag-container:hover .iti__selected-flag,.iti--allow-dropdown input[readonly]+.iti__flag-container:hover .iti__selected-flag{background-color:transparent}.iti--separate-dial-code .iti__selected-flag{background-color:rgba(0,0,0,.05)}.iti--separate-dial-code .iti__selected-dial-code{margin-left:6px}.iti--container{position:absolute;top:-1000px;left:-1000px;z-index:1060;padding:1px}.iti--container:hover{cursor:pointer}.iti-mobile .iti--container{top:30px;bottom:30px;left:30px;right:30px;position:fixed}.iti-mobile .iti__country-list{max-height:100%;width:100%}.iti-mobile .iti__country{padding:10px 10px;line-height:1.5em}.iti__flag{width:20px}.iti__flag.iti__be{width:18px}.iti__flag.iti__ch{width:15px}.iti__flag.iti__mc{width:19px}.iti__flag.iti__ne{width:18px}.iti__flag.iti__np{width:13px}.iti__flag.iti__va{width:15px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.iti__flag{background-size:5652px 15px}}.iti__flag.iti__ac{height:10px;background-position:0 0}.iti__flag.iti__ad{height:14px;background-position:-22px 0}.iti__flag.iti__ae{height:10px;background-position:-44px 0}.iti__flag.iti__af{height:14px;background-position:-66px 0}.iti__flag.iti__ag{height:14px;background-position:-88px 0}.iti__flag.iti__ai{height:10px;background-position:-110px 0}.iti__flag.iti__al{height:15px;background-position:-132px 0}.iti__flag.iti__am{height:10px;background-position:-154px 0}.iti__flag.iti__ao{height:14px;background-position:-176px 0}.iti__flag.iti__aq{height:14px;background-position:-198px 0}.iti__flag.iti__ar{height:13px;background-position:-220px 0}.iti__flag.iti__as{height:10px;background-position:-242px 0}.iti__flag.iti__at{height:14px;background-position:-264px 0}.iti__flag.iti__au{height:10px;background-position:-286px 0}.iti__flag.iti__aw{height:14px;background-position:-308px 0}.iti__flag.iti__ax{height:13px;background-position:-330px 0}.iti__flag.iti__az{height:10px;background-position:-352px 0}.iti__flag.iti__ba{height:10px;background-position:-374px 0}.iti__flag.iti__bb{height:14px;background-position:-396px 0}.iti__flag.iti__bd{height:12px;background-position:-418px 0}.iti__flag.iti__be{height:15px;background-position:-440px 0}.iti__flag.iti__bf{height:14px;background-position:-460px 0}.iti__flag.iti__bg{height:12px;background-position:-482px 0}.iti__flag.iti__bh{height:12px;background-position:-504px 0}.iti__flag.iti__bi{height:12px;background-position:-526px 0}.iti__flag.iti__bj{height:14px;background-position:-548px 0}.iti__flag.iti__bl{height:14px;background-position:-570px 0}.iti__flag.iti__bm{height:10px;background-position:-592px 0}.iti__flag.iti__bn{height:10px;background-position:-614px 0}.iti__flag.iti__bo{height:14px;background-position:-636px 0}.iti__flag.iti__bq{height:14px;background-position:-658px 0}.iti__flag.iti__br{height:14px;background-position:-680px 0}.iti__flag.iti__bs{height:10px;background-position:-702px 0}.iti__flag.iti__bt{height:14px;background-position:-724px 0}.iti__flag.iti__bv{height:15px;background-position:-746px 0}.iti__flag.iti__bw{height:14px;background-position:-768px 0}.iti__flag.iti__by{height:10px;background-position:-790px 0}.iti__flag.iti__bz{height:14px;background-position:-812px 0}.iti__flag.iti__ca{height:10px;background-position:-834px 0}.iti__flag.iti__cc{height:10px;background-position:-856px 0}.iti__flag.iti__cd{height:15px;background-position:-878px 0}.iti__flag.iti__cf{height:14px;background-position:-900px 0}.iti__flag.iti__cg{height:14px;background-position:-922px 0}.iti__flag.iti__ch{height:15px;background-position:-944px 0}.iti__flag.iti__ci{height:14px;background-position:-961px 0}.iti__flag.iti__ck{height:10px;background-position:-983px 0}.iti__flag.iti__cl{height:14px;background-position:-1005px 0}.iti__flag.iti__cm{height:14px;background-position:-1027px 0}.iti__flag.iti__cn{height:14px;background-position:-1049px 0}.iti__flag.iti__co{height:14px;background-position:-1071px 0}.iti__flag.iti__cp{height:14px;background-position:-1093px 0}.iti__flag.iti__cr{height:12px;background-position:-1115px 0}.iti__flag.iti__cu{height:10px;background-position:-1137px 0}.iti__flag.iti__cv{height:12px;background-position:-1159px 0}.iti__flag.iti__cw{height:14px;background-position:-1181px 0}.iti__flag.iti__cx{height:10px;background-position:-1203px 0}.iti__flag.iti__cy{height:14px;background-position:-1225px 0}.iti__flag.iti__cz{height:14px;background-position:-1247px 0}.iti__flag.iti__de{height:12px;background-position:-1269px 0}.iti__flag.iti__dg{height:10px;background-position:-1291px 0}.iti__flag.iti__dj{height:14px;background-position:-1313px 0}.iti__flag.iti__dk{height:15px;background-position:-1335px 0}.iti__flag.iti__dm{height:10px;background-position:-1357px 0}.iti__flag.iti__do{height:14px;background-position:-1379px 0}.iti__flag.iti__dz{height:14px;background-position:-1401px 0}.iti__flag.iti__ea{height:14px;background-position:-1423px 0}.iti__flag.iti__ec{height:14px;background-position:-1445px 0}.iti__flag.iti__ee{height:13px;background-position:-1467px 0}.iti__flag.iti__eg{height:14px;background-position:-1489px 0}.iti__flag.iti__eh{height:10px;background-position:-1511px 0}.iti__flag.iti__er{height:10px;background-position:-1533px 0}.iti__flag.iti__es{height:14px;background-position:-1555px 0}.iti__flag.iti__et{height:10px;background-position:-1577px 0}.iti__flag.iti__eu{height:14px;background-position:-1599px 0}.iti__flag.iti__fi{height:12px;background-position:-1621px 0}.iti__flag.iti__fj{height:10px;background-position:-1643px 0}.iti__flag.iti__fk{height:10px;background-position:-1665px 0}.iti__flag.iti__fm{height:11px;background-position:-1687px 0}.iti__flag.iti__fo{height:15px;background-position:-1709px 0}.iti__flag.iti__fr{height:14px;background-position:-1731px 0}.iti__flag.iti__ga{height:15px;background-position:-1753px 0}.iti__flag.iti__gb{height:10px;background-position:-1775px 0}.iti__flag.iti__gd{height:12px;background-position:-1797px 0}.iti__flag.iti__ge{height:14px;background-position:-1819px 0}.iti__flag.iti__gf{height:14px;background-position:-1841px 0}.iti__flag.iti__gg{height:14px;background-position:-1863px 0}.iti__flag.iti__gh{height:14px;background-position:-1885px 0}.iti__flag.iti__gi{height:10px;background-position:-1907px 0}.iti__flag.iti__gl{height:14px;background-position:-1929px 0}.iti__flag.iti__gm{height:14px;background-position:-1951px 0}.iti__flag.iti__gn{height:14px;background-position:-1973px 0}.iti__flag.iti__gp{height:14px;background-position:-1995px 0}.iti__flag.iti__gq{height:14px;background-position:-2017px 0}.iti__flag.iti__gr{height:14px;background-position:-2039px 0}.iti__flag.iti__gs{height:10px;background-position:-2061px 0}.iti__flag.iti__gt{height:13px;background-position:-2083px 0}.iti__flag.iti__gu{height:11px;background-position:-2105px 0}.iti__flag.iti__gw{height:10px;background-position:-2127px 0}.iti__flag.iti__gy{height:12px;background-position:-2149px 0}.iti__flag.iti__hk{height:14px;background-position:-2171px 0}.iti__flag.iti__hm{height:10px;background-position:-2193px 0}.iti__flag.iti__hn{height:10px;background-position:-2215px 0}.iti__flag.iti__hr{height:10px;background-position:-2237px 0}.iti__flag.iti__ht{height:12px;background-position:-2259px 0}.iti__flag.iti__hu{height:10px;background-position:-2281px 0}.iti__flag.iti__ic{height:14px;background-position:-2303px 0}.iti__flag.iti__id{height:14px;background-position:-2325px 0}.iti__flag.iti__ie{height:10px;background-position:-2347px 0}.iti__flag.iti__il{height:15px;background-position:-2369px 0}.iti__flag.iti__im{height:10px;background-position:-2391px 0}.iti__flag.iti__in{height:14px;background-position:-2413px 0}.iti__flag.iti__io{height:10px;background-position:-2435px 0}.iti__flag.iti__iq{height:14px;background-position:-2457px 0}.iti__flag.iti__ir{height:12px;background-position:-2479px 0}.iti__flag.iti__is{height:15px;background-position:-2501px 0}.iti__flag.iti__it{height:14px;background-position:-2523px 0}.iti__flag.iti__je{height:12px;background-position:-2545px 0}.iti__flag.iti__jm{height:10px;background-position:-2567px 0}.iti__flag.iti__jo{height:10px;background-position:-2589px 0}.iti__flag.iti__jp{height:14px;background-position:-2611px 0}.iti__flag.iti__ke{height:14px;background-position:-2633px 0}.iti__flag.iti__kg{height:12px;background-position:-2655px 0}.iti__flag.iti__kh{height:13px;background-position:-2677px 0}.iti__flag.iti__ki{height:10px;background-position:-2699px 0}.iti__flag.iti__km{height:12px;background-position:-2721px 0}.iti__flag.iti__kn{height:14px;background-position:-2743px 0}.iti__flag.iti__kp{height:10px;background-position:-2765px 0}.iti__flag.iti__kr{height:14px;background-position:-2787px 0}.iti__flag.iti__kw{height:10px;background-position:-2809px 0}.iti__flag.iti__ky{height:10px;background-position:-2831px 0}.iti__flag.iti__kz{height:10px;background-position:-2853px 0}.iti__flag.iti__la{height:14px;background-position:-2875px 0}.iti__flag.iti__lb{height:14px;background-position:-2897px 0}.iti__flag.iti__lc{height:10px;background-position:-2919px 0}.iti__flag.iti__li{height:12px;background-position:-2941px 0}.iti__flag.iti__lk{height:10px;background-position:-2963px 0}.iti__flag.iti__lr{height:11px;background-position:-2985px 0}.iti__flag.iti__ls{height:14px;background-position:-3007px 0}.iti__flag.iti__lt{height:12px;background-position:-3029px 0}.iti__flag.iti__lu{height:12px;background-position:-3051px 0}.iti__flag.iti__lv{height:10px;background-position:-3073px 0}.iti__flag.iti__ly{height:10px;background-position:-3095px 0}.iti__flag.iti__ma{height:14px;background-position:-3117px 0}.iti__flag.iti__mc{height:15px;background-position:-3139px 0}.iti__flag.iti__md{height:10px;background-position:-3160px 0}.iti__flag.iti__me{height:10px;background-position:-3182px 0}.iti__flag.iti__mf{height:14px;background-position:-3204px 0}.iti__flag.iti__mg{height:14px;background-position:-3226px 0}.iti__flag.iti__mh{height:11px;background-position:-3248px 0}.iti__flag.iti__mk{height:10px;background-position:-3270px 0}.iti__flag.iti__ml{height:14px;background-position:-3292px 0}.iti__flag.iti__mm{height:14px;background-position:-3314px 0}.iti__flag.iti__mn{height:10px;background-position:-3336px 0}.iti__flag.iti__mo{height:14px;background-position:-3358px 0}.iti__flag.iti__mp{height:10px;background-position:-3380px 0}.iti__flag.iti__mq{height:14px;background-position:-3402px 0}.iti__flag.iti__mr{height:14px;background-position:-3424px 0}.iti__flag.iti__ms{height:10px;background-position:-3446px 0}.iti__flag.iti__mt{height:14px;background-position:-3468px 0}.iti__flag.iti__mu{height:14px;background-position:-3490px 0}.iti__flag.iti__mv{height:14px;background-position:-3512px 0}.iti__flag.iti__mw{height:14px;background-position:-3534px 0}.iti__flag.iti__mx{height:12px;background-position:-3556px 0}.iti__flag.iti__my{height:10px;background-position:-3578px 0}.iti__flag.iti__mz{height:14px;background-position:-3600px 0}.iti__flag.iti__na{height:14px;background-position:-3622px 0}.iti__flag.iti__nc{height:10px;background-position:-3644px 0}.iti__flag.iti__ne{height:15px;background-position:-3666px 0}.iti__flag.iti__nf{height:10px;background-position:-3686px 0}.iti__flag.iti__ng{height:10px;background-position:-3708px 0}.iti__flag.iti__ni{height:12px;background-position:-3730px 0}.iti__flag.iti__nl{height:14px;background-position:-3752px 0}.iti__flag.iti__no{height:15px;background-position:-3774px 0}.iti__flag.iti__np{height:15px;background-position:-3796px 0}.iti__flag.iti__nr{height:10px;background-position:-3811px 0}.iti__flag.iti__nu{height:10px;background-position:-3833px 0}.iti__flag.iti__nz{height:10px;background-position:-3855px 0}.iti__flag.iti__om{height:10px;background-position:-3877px 0}.iti__flag.iti__pa{height:14px;background-position:-3899px 0}.iti__flag.iti__pe{height:14px;background-position:-3921px 0}.iti__flag.iti__pf{height:14px;background-position:-3943px 0}.iti__flag.iti__pg{height:15px;background-position:-3965px 0}.iti__flag.iti__ph{height:10px;background-position:-3987px 0}.iti__flag.iti__pk{height:14px;background-position:-4009px 0}.iti__flag.iti__pl{height:13px;background-position:-4031px 0}.iti__flag.iti__pm{height:14px;background-position:-4053px 0}.iti__flag.iti__pn{height:10px;background-position:-4075px 0}.iti__flag.iti__pr{height:14px;background-position:-4097px 0}.iti__flag.iti__ps{height:10px;background-position:-4119px 0}.iti__flag.iti__pt{height:14px;background-position:-4141px 0}.iti__flag.iti__pw{height:13px;background-position:-4163px 0}.iti__flag.iti__py{height:11px;background-position:-4185px 0}.iti__flag.iti__qa{height:8px;background-position:-4207px 0}.iti__flag.iti__re{height:14px;background-position:-4229px 0}.iti__flag.iti__ro{height:14px;background-position:-4251px 0}.iti__flag.iti__rs{height:14px;background-position:-4273px 0}.iti__flag.iti__ru{height:14px;background-position:-4295px 0}.iti__flag.iti__rw{height:14px;background-position:-4317px 0}.iti__flag.iti__sa{height:14px;background-position:-4339px 0}.iti__flag.iti__sb{height:10px;background-position:-4361px 0}.iti__flag.iti__sc{height:10px;background-position:-4383px 0}.iti__flag.iti__sd{height:10px;background-position:-4405px 0}.iti__flag.iti__se{height:13px;background-position:-4427px 0}.iti__flag.iti__sg{height:14px;background-position:-4449px 0}.iti__flag.iti__sh{height:10px;background-position:-4471px 0}.iti__flag.iti__si{height:10px;background-position:-4493px 0}.iti__flag.iti__sj{height:15px;background-position:-4515px 0}.iti__flag.iti__sk{height:14px;background-position:-4537px 0}.iti__flag.iti__sl{height:14px;background-position:-4559px 0}.iti__flag.iti__sm{height:15px;background-position:-4581px 0}.iti__flag.iti__sn{height:14px;background-position:-4603px 0}.iti__flag.iti__so{height:14px;background-position:-4625px 0}.iti__flag.iti__sr{height:14px;background-position:-4647px 0}.iti__flag.iti__ss{height:10px;background-position:-4669px 0}.iti__flag.iti__st{height:10px;background-position:-4691px 0}.iti__flag.iti__sv{height:12px;background-position:-4713px 0}.iti__flag.iti__sx{height:14px;background-position:-4735px 0}.iti__flag.iti__sy{height:14px;background-position:-4757px 0}.iti__flag.iti__sz{height:14px;background-position:-4779px 0}.iti__flag.iti__ta{height:10px;background-position:-4801px 0}.iti__flag.iti__tc{height:10px;background-position:-4823px 0}.iti__flag.iti__td{height:14px;background-position:-4845px 0}.iti__flag.iti__tf{height:14px;background-position:-4867px 0}.iti__flag.iti__tg{height:13px;background-position:-4889px 0}.iti__flag.iti__th{height:14px;background-position:-4911px 0}.iti__flag.iti__tj{height:10px;background-position:-4933px 0}.iti__flag.iti__tk{height:10px;background-position:-4955px 0}.iti__flag.iti__tl{height:10px;background-position:-4977px 0}.iti__flag.iti__tm{height:14px;background-position:-4999px 0}.iti__flag.iti__tn{height:14px;background-position:-5021px 0}.iti__flag.iti__to{height:10px;background-position:-5043px 0}.iti__flag.iti__tr{height:14px;background-position:-5065px 0}.iti__flag.iti__tt{height:12px;background-position:-5087px 0}.iti__flag.iti__tv{height:10px;background-position:-5109px 0}.iti__flag.iti__tw{height:14px;background-position:-5131px 0}.iti__flag.iti__tz{height:14px;background-position:-5153px 0}.iti__flag.iti__ua{height:14px;background-position:-5175px 0}.iti__flag.iti__ug{height:14px;background-position:-5197px 0}.iti__flag.iti__um{height:11px;background-position:-5219px 0}.iti__flag.iti__un{height:14px;background-position:-5241px 0}.iti__flag.iti__us{height:11px;background-position:-5263px 0}.iti__flag.iti__uy{height:14px;background-position:-5285px 0}.iti__flag.iti__uz{height:10px;background-position:-5307px 0}.iti__flag.iti__va{height:15px;background-position:-5329px 0}.iti__flag.iti__vc{height:14px;background-position:-5346px 0}.iti__flag.iti__ve{height:14px;background-position:-5368px 0}.iti__flag.iti__vg{height:10px;background-position:-5390px 0}.iti__flag.iti__vi{height:14px;background-position:-5412px 0}.iti__flag.iti__vn{height:14px;background-position:-5434px 0}.iti__flag.iti__vu{height:12px;background-position:-5456px 0}.iti__flag.iti__wf{height:14px;background-position:-5478px 0}.iti__flag.iti__ws{height:10px;background-position:-5500px 0}.iti__flag.iti__xk{height:15px;background-position:-5522px 0}.iti__flag.iti__ye{height:14px;background-position:-5544px 0}.iti__flag.iti__yt{height:14px;background-position:-5566px 0}.iti__flag.iti__za{height:14px;background-position:-5588px 0}.iti__flag.iti__zm{height:14px;background-position:-5610px 0}.iti__flag.iti__zw{height:10px;background-position:-5632px 0}.iti__flag{height:15px;box-shadow:0 0 1px 0 #888;background-image:url(assets/img/flags.png);background-repeat:no-repeat;background-color:#dbdbdb;background-position:20px 0}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.iti__flag{background-image:url(assets/img/flags2x.png)}}.iti__flag.iti__np{background-color:transparent}

  /* Layout: home de una sola columna. Paleta corporativa GrupoX3: azul marino #00365F + dorado de marca (#C9A96A). */
  :root {
    --bg: #F4F6F9;
    --surface: #FFFFFF;
    --surface-2: #ECF1F6;
    --fg: #14222F;
    --muted: #51657A;
    --line: #DBE3EC;
    --navy: #00365F;
    --navy-deep: #002844;
    --navy-ink: #001B30;
    --gold: #C9A96A;
    --gold-deep: #86682A;
    --gold-soft: #F3EAD7;
    --ok: #1E8E5A;
    --err: #C23B3B;
    --shadow: 0 1px 2px rgba(0,27,48,.06), 0 8px 24px rgba(0,27,48,.07);
    --radius: 14px;
    --maxw: 1120px;
    --font-display: "Bricolage Grotesque", "Trebuchet MS", sans-serif;
    --font-body: "Mulish", system-ui, -apple-system, sans-serif;
  }
  @media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
      --bg: #0A1420; --surface: #10202E; --surface-2: #16293A; --fg: #E7EEF5; --muted: #9DB0C2;
      --line: #22384C; --navy: #0C3252; --navy-deep: #082740; --navy-ink: #061E33;
      --gold: #D9BE82; --gold-deep: #E2CA8E; --gold-soft: #2A2416; --ok: #3FB47E; --err: #F08A8A;
      --shadow: 0 1px 2px rgba(0,0,0,.4), 0 10px 30px rgba(0,0,0,.35); color-scheme: dark;
    }
  }
  :root[data-theme="dark"] {
    --bg: #0A1420; --surface: #10202E; --surface-2: #16293A; --fg: #E7EEF5; --muted: #9DB0C2;
    --line: #22384C; --navy: #0C3252; --navy-deep: #082740; --navy-ink: #061E33;
    --gold: #D9BE82; --gold-deep: #E2CA8E; --gold-soft: #2A2416; --ok: #3FB47E; --err: #F08A8A;
    --shadow: 0 1px 2px rgba(0,0,0,.4), 0 10px 30px rgba(0,0,0,.35); color-scheme: dark;
  }

  * { box-sizing: border-box; }
  body { background: var(--bg); color: var(--fg); font-family: var(--font-body); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  h1,h2,h3,h4 { font-family: var(--font-display); text-wrap: balance; line-height: 1.12; margin: 0; font-weight: 700; }
  p { margin: 0; }
  a { color: inherit; }
  img { max-width: 100%; }
  .wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: 20px; }

  /* Logo tile */
  .logo-tile { background: #fff; border-radius: 10px; padding: 6px 9px; display: inline-flex; align-items: center; box-shadow: 0 1px 3px rgba(0,27,48,.12); }
  .logo-tile img { height: 50px; width: auto; display: block; }

  /* Header */
  .site-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: color-mix(in srgb, var(--surface) 90%, transparent); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
  .nav { display: flex; align-items: center; gap: 24px; min-height: 72px; padding-block: 10px; }
  .brand { display: inline-flex; align-items: center; text-decoration: none; flex-shrink: 0; }
  .nav-links { display: flex; gap: 20px; margin-left: auto; align-items: center; }
  .nav-links a { text-decoration: none; color: var(--muted); font-weight: 600; font-size: 14.5px; letter-spacing: .01em; white-space: nowrap; transition: color .15s; }
  .nav-links a:hover { color: var(--gold-deep); }
  .btn { display: inline-flex; align-items: center; gap: 8px; justify-content: center; font-family: var(--font-body); font-weight: 800; font-size: 14.5px; text-decoration: none; border-radius: 999px; padding: 11px 20px; border: 1.5px solid transparent; cursor: pointer; transition: transform .12s, box-shadow .15s, background .15s; letter-spacing: .01em; }
  .btn-campus { background: var(--gold); color: #2A1E08; box-shadow: 0 6px 16px rgba(134,104,42,.3); }
  .btn-campus:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(134,104,42,.4); filter: brightness(1.05); }
  .btn-ghost { background: transparent; color: var(--navy); border-color: var(--line); }
  :root[data-theme="dark"] .btn-ghost, :root:not([data-theme="light"]) .btn-ghost { color: var(--fg); }
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .btn-ghost { color: var(--fg); } }
  .btn-ghost:hover { border-color: var(--gold-deep); color: var(--gold-deep); }
  .btn-light { background: #fff; color: var(--navy-ink); }
  .btn-light:hover { transform: translateY(-1px); }
  .btn-lg { padding: 15px 28px; font-size: 16px; }
  .nav-cta { flex-shrink: 0; }

  /* Menú móvil (hamburguesa) */
  .nav-toggle { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
  .nav-burger { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); cursor: pointer; flex-shrink: 0; margin-left: 4px; }
  .nav-burger span { display: block; width: 22px; height: 2px; margin: 0 auto; background: var(--navy); border-radius: 2px; transition: transform .2s, opacity .2s; }
  :root[data-theme="dark"] .nav-burger span, :root:not([data-theme="light"]) .nav-burger span { background: var(--fg); }
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .nav-burger span { background: var(--fg); } }

  @media (max-width: 940px) {
    .nav { flex-wrap: wrap; position: relative; column-gap: 12px; row-gap: 0; }
    .nav-links { display: none; }
    .nav-cta { order: 2; margin-left: auto; }
    .nav-burger { display: flex; order: 3; }
    .nav-toggle:checked ~ .nav-links {
      display: flex; order: 4; flex-direction: column; gap: 0; width: 100%;
      margin-top: 10px; padding-top: 4px; border-top: 1px solid var(--line);
    }
    .nav-toggle:checked ~ .nav-links a { padding: 13px 2px; font-size: 16px; border-bottom: 1px solid var(--line); }
    .nav-toggle:checked ~ .nav-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-toggle:checked ~ .nav-burger span:nth-child(2) { opacity: 0; }
    .nav-toggle:checked ~ .nav-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  }
  @media (max-width: 480px) {
    .logo-tile img { height: 42px; }
    .nav-cta .btn-campus { padding: 9px 13px; font-size: 12.5px; }
    .nav-cta .btn-campus svg { display: none; }
  }

  /* Hero */
  .hero { position: relative; overflow: hidden; background: radial-gradient(1100px 500px at 85% -10%, rgba(201,169,106,.18), transparent 60%), linear-gradient(180deg, var(--surface) 0%, var(--bg) 100%); border-bottom: 1px solid var(--line); }
  .hero .wrap { padding-block: 64px 70px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; }
  .eyebrow { display: inline-flex; align-items: center; gap: 8px; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 800; color: var(--gold-deep); margin-bottom: 18px; }
  .eyebrow::before { content: ""; width: 24px; height: 2px; background: var(--gold-deep); display: inline-block; }
  .hero h1 { font-size: clamp(34px, 5.2vw, 54px); letter-spacing: -.02em; }
  .hero h1 .hl { color: var(--gold-deep); }
  .hero p.lead { font-size: 18.5px; color: var(--muted); margin-top: 20px; max-width: 54ch; }
  .hero-cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
  .hero-stats { display: flex; gap: 28px; margin-top: 38px; flex-wrap: wrap; }
  .hero-stats .num { font-family: var(--font-display); font-weight: 700; font-size: 30px; color: var(--navy); line-height: 1; font-variant-numeric: tabular-nums; }
  :root[data-theme="dark"] .hero-stats .num, :root:not([data-theme="light"]) .hero-stats .num { color: var(--gold); }
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .hero-stats .num { color: var(--gold);} }
  .hero-stats .lbl { font-size: 13px; color: var(--muted); margin-top: 6px; font-weight: 600; }
  .hero-card { background: linear-gradient(160deg, var(--navy) 0%, var(--navy-ink) 100%); border-radius: 20px; padding: 30px; color: #fff; box-shadow: var(--shadow); position: relative; overflow: hidden; }
  .hero-card::after { content:""; position:absolute; right:-40px; bottom:-40px; width:180px; height:180px; border-radius:50%; background: rgba(201,169,106,.22); }
  .hero-card .kicker { text-transform: uppercase; letter-spacing: .14em; font-size: 11.5px; font-weight: 800; color: var(--gold); }
  .hero-card h3 { font-size: 22px; margin-top: 10px; color:#fff; }
  .hero-card .platform { display: inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:700; color:#cfe0f0; margin-top:4px; }
  .hero-card ul { list-style: none; padding: 0; margin: 18px 0 22px; display: grid; gap: 11px; }
  .hero-card li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; color: #dce7f2; }
  .hero-card li svg { flex-shrink: 0; margin-top: 2px; }
  .url-pill { display:flex; align-items:center; gap:8px; background: rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:10px; padding:10px 12px; font-size:13.5px; font-weight:700; color:#fff; margin-bottom:16px; word-break: break-all; }
  @media (max-width: 820px) { .hero .wrap { grid-template-columns: 1fr; gap: 34px; padding-block: 44px 50px; } }

  section { scroll-margin-top: 90px; }
  .band { padding-block: 72px; }
  .band.alt { background: var(--surface); border-block: 1px solid var(--line); }
  .sec-head { max-width: 720px; margin-bottom: 44px; }
  .sec-head .eyebrow { margin-bottom: 14px; }
  .sec-head h2 { font-size: clamp(26px, 3.6vw, 38px); letter-spacing: -.015em; }
  .sec-head p { color: var(--muted); font-size: 17px; margin-top: 14px; }

  .mods { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .mod { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow); position: relative; }
  .band.alt .mod { background: var(--bg); }
  .mod .tag { display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:5px 11px; border-radius:999px; }
  .tag-elearning { background: var(--gold-soft); color: var(--gold-deep); }
  .tag-presencial { background: color-mix(in srgb, var(--navy) 14%, transparent); color: var(--navy); }
  :root[data-theme="dark"] .tag-presencial, :root:not([data-theme="light"]) .tag-presencial { color: #8FB6DA; }
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .tag-presencial { color: #8FB6DA;} }
  .mod h3 { font-size: 21px; margin: 16px 0 10px; }
  .mod p { color: var(--muted); font-size: 15px; }
  .mod ul { list-style:none; padding:0; margin:16px 0 0; display:grid; gap:9px; }
  .mod li { display:flex; gap:9px; font-size:14.5px; align-items:flex-start; }
  .mod li svg { flex-shrink:0; margin-top:3px; color: var(--ok); }
  @media (max-width: 700px){ .mods { grid-template-columns: 1fr; } }

  .campus { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-ink) 100%); color: #fff; border-radius: 22px; padding: 48px; box-shadow: var(--shadow); display: grid; grid-template-columns: 1.3fr .7fr; gap: 40px; align-items: center; position: relative; overflow: hidden; }
  .campus::before { content:""; position:absolute; left:-60px; top:-60px; width:220px; height:220px; border-radius:50%; background: rgba(201,169,106,.16); }
  .campus::after { content:""; position:absolute; right:-30px; bottom:-70px; width:200px; height:200px; border-radius:50%; background: rgba(201,169,106,.12); }
  .campus .inner { position: relative; z-index: 1; }
  .campus .kicker { text-transform: uppercase; letter-spacing: .14em; font-size: 12px; font-weight: 800; color: var(--gold); }
  .campus h2 { color: #fff; font-size: clamp(26px, 3.4vw, 36px); margin-top: 12px; }
  .campus p { color: #cfdcea; font-size: 16.5px; margin-top: 14px; max-width: 48ch; }
  .campus .moodle { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:#bcd2e6; margin-top:18px; }
  .campus-side { position: relative; z-index: 1; display: grid; gap: 14px; }
  .campus-url { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); border-radius: 12px; padding: 14px 16px; font-weight: 800; font-size: 15px; text-align:center; word-break: break-all; }
  @media (max-width: 760px){ .campus { grid-template-columns: 1fr; padding: 34px 26px; gap: 26px; } }

  /* Catálogo sectorial */
  .sectors { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .sector { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); transition: transform .14s, border-color .14s; display:flex; flex-direction:column; }
  .band.alt .sector { background: var(--bg); }
  .sector:hover { transform: translateY(-3px); border-color: var(--gold); }
  .sector .ico { width: 46px; height: 46px; border-radius: 11px; display:grid; place-items:center; background: var(--surface-2); color: var(--navy); margin-bottom: 14px; }
  :root[data-theme="dark"] .sector .ico, :root:not([data-theme="light"]) .sector .ico { color: var(--gold); }
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .sector .ico { color: var(--gold);} }
  .sector h3 { font-size: 17px; }
  .sector p { color: var(--muted); font-size: 14px; margin-top: 7px; flex-grow:1; }
  .sector .cat-link { margin-top: 14px; font-weight: 800; font-size: 13.5px; color: var(--gold-deep); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
  .sector .cat-link:hover { text-decoration: underline; }
  @media (max-width: 820px){ .sectors { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 520px){ .sectors { grid-template-columns: 1fr; } }
  .dur-cats { display:flex; flex-wrap:wrap; gap:14px; margin-top:22px; }
  .dur-cat { flex:1 1 280px; display:flex; align-items:center; gap:14px; background: var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; box-shadow:var(--shadow); text-decoration:none; transition:border-color .14s, transform .14s; }
  .band.alt .dur-cat { background: var(--bg); }
  .dur-cat:hover { border-color: var(--gold); transform: translateY(-2px); }
  .dur-cat .d-ico { width:42px;height:42px;border-radius:11px;background:var(--navy);color:#fff;display:grid;place-items:center;flex-shrink:0; }
  :root[data-theme="dark"] .dur-cat .d-ico, :root:not([data-theme="light"]) .dur-cat .d-ico { background: var(--gold); color: var(--navy-ink); }
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .dur-cat .d-ico { background: var(--gold); color: var(--navy-ink);} }
  .dur-cat h4 { font-size:15.5px; }
  .dur-cat span { color: var(--muted); font-size:13px; font-weight:600; }

  .accred { display:grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items:center; }
  .accred .badges { display:flex; flex-wrap:wrap; gap: 12px; margin-top: 8px; }
  .chip { display:inline-flex; align-items:center; gap:8px; background: var(--surface); border:1px solid var(--line); border-radius:999px; padding:9px 16px; font-weight:800; font-size:13.5px; box-shadow: var(--shadow); }
  .chip b { color: var(--gold-deep); }
  .accred ul { list-style:none; padding:0; margin:18px 0 0; display:grid; gap:12px; }
  .accred li { display:flex; gap:11px; font-size:15px; align-items:flex-start; }
  .accred li svg { flex-shrink:0; margin-top:3px; color: var(--gold-deep); }
  @media (max-width: 760px){ .accred { grid-template-columns: 1fr; gap: 26px; } }

  .steps { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 40px; counter-reset: step; }
  .step { display: flex; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); }
  .step .n { counter-increment: step; flex-shrink: 0; width: 40px; height: 40px; border-radius: 11px; background: var(--navy); color: #fff; font-family: var(--font-display); font-weight: 700; display: grid; place-items: center; font-size: 17px; font-variant-numeric: tabular-nums; }
  :root[data-theme="dark"] .step .n, :root:not([data-theme="light"]) .step .n { background: var(--gold); color: var(--navy-ink); }
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .step .n { background: var(--gold); color: var(--navy-ink);} }
  .step .n::before { content: counter(step, decimal-leading-zero); }
  .step h4 { font-size: 16px; }
  .step p { color: var(--muted); font-size: 14px; margin-top: 5px; }
  @media (max-width: 720px){ .steps { grid-template-columns: 1fr; gap: 0; } }

  /* Contacto + Formulario */
  .contact { display:grid; grid-template-columns: 1.15fr .85fr; gap: 24px; align-items:start; }
  .form-card, .info-card { background: var(--surface); border:1px solid var(--line); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow); }
  .band.alt .form-card, .band.alt .info-card { background: var(--bg); }
  .form-card h3, .info-card h3 { font-size: 19px; margin-bottom: 4px; }
  .form-card > p.sub { color: var(--muted); font-size: 14px; margin-bottom: 20px; }
  .field { margin-bottom: 16px; }
  .field label { display:block; font-weight:700; font-size:13.5px; margin-bottom:6px; }
  .field label .req { color: var(--gold-deep); }
  .field input, .field textarea { width:100%; font-family: var(--font-body); font-size:15px; color:var(--fg); background:var(--surface); border:1.5px solid var(--line); border-radius:10px; padding:11px 13px; transition:border-color .15s, box-shadow .15s; }
  .band.alt .field input, .band.alt .field textarea { background: var(--surface); }
  .field input:focus, .field textarea:focus { outline:none; border-color: var(--gold); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 25%, transparent); }
  .field textarea { resize: vertical; min-height: 110px; }
  .field .err-msg { color: var(--err); font-size: 12.5px; font-weight:700; margin-top:5px; display:none; }
  .field.invalid input, .field.invalid textarea { border-color: var(--err); }
  .field.invalid .err-msg { display:block; }
  .field .ok-badge { color: var(--ok); font-size:12.5px; font-weight:700; margin-top:5px; display:none; }
  .field.valid-ok .ok-badge { display:block; }
  .row2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  @media (max-width:520px){ .row2 { grid-template-columns:1fr; } }
  .tipo-opts { display:flex; gap:10px; }
  .tipo-opt { flex:1; position:relative; }
  .tipo-opt input { position:absolute; opacity:0; inset:0; cursor:pointer; }
  .tipo-opt span { display:flex; align-items:center; justify-content:center; gap:8px; border:1.5px solid var(--line); border-radius:10px; padding:12px; font-weight:700; font-size:14.5px; cursor:pointer; transition:all .15s; }
  .tipo-opt input:checked + span { border-color: var(--gold); background: var(--gold-soft); color: var(--gold-deep); }
  .tipo-opt input:focus-visible + span { box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 25%, transparent); }
  .check { display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:var(--muted); }
  .check input { margin-top:3px; width:17px; height:17px; flex-shrink:0; accent-color: var(--gold-deep); }
  .check a { color: var(--gold-deep); font-weight:700; text-decoration:none; cursor:pointer; }
  .check a:hover { text-decoration:underline; }
  .iti { width: 100%; }
  .form-note { font-size:12px; color:var(--muted); margin-top:10px; line-height:1.5; }
  .form-success { display:none; text-align:center; padding:30px 10px; }
  .form-success svg { color: var(--ok); }
  .form-success h4 { font-size:20px; margin:14px 0 8px; }
  .form-success p { color: var(--muted); font-size:15px; }
  #cifField { display:none; }
  #cifField.show { display:block; }

  .info-card .cline { display:flex; gap:12px; align-items:flex-start; padding: 11px 0; border-bottom: 1px dashed var(--line); font-size: 15px; }
  .info-card .cline:last-child { border-bottom: none; }
  .info-card .cline svg { flex-shrink:0; margin-top:3px; color: var(--gold-deep); }
  .info-card .k { font-size:12px; text-transform:uppercase; letter-spacing:.06em; color: var(--muted); font-weight:800; margin-bottom:2px; }
  .info-card a { text-decoration: none; font-weight: 600; }
  .info-card a:hover { color: var(--gold-deep); }
  .campus-mini { margin-top:20px; background: linear-gradient(135deg, var(--navy) 0%, var(--navy-ink) 100%); border-radius:14px; padding:22px; color:#fff; }
  .campus-mini h4 { color:#fff; font-size:16px; }
  .campus-mini p { color:#cfdcea; font-size:13.5px; margin:6px 0 14px; }
  @media (max-width: 760px){ .contact { grid-template-columns: 1fr; } }

  /* Footer */
  footer { background: var(--navy-ink); color: #c3d2e0; padding-block: 44px 28px; }
  footer .wrap { display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; }
  footer h5 { font-family: var(--font-display); color:#fff; font-size: 14px; letter-spacing:.04em; text-transform:uppercase; margin-bottom: 14px; }
  footer a { color:#c3d2e0; text-decoration:none; font-size: 14px; display:block; padding: 4px 0; background:none; border:none; font-family:inherit; cursor:pointer; text-align:left; }
  footer a:hover { color: var(--gold); }
  footer .flogo { margin-bottom: 14px; }
  footer p.small { font-size: 13.5px; color:#93a8bd; line-height:1.7; }
  .footbar { border-top: 1px solid rgba(255,255,255,.12); margin-top: 30px; padding-top: 18px; font-size: 12.5px; color:#8197ad; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }

  /* Botón de modo claro/oscuro */
  .theme-toggle { display:inline-flex; align-items:center; gap:8px; background:transparent; border:1px solid rgba(255,255,255,.2); color:#c3d2e0; border-radius:999px; padding:7px 14px; font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; transition:border-color .15s, color .15s; }
  .theme-toggle:hover { border-color: var(--gold); color: var(--gold); }
  .theme-toggle .ic { width:16px; height:16px; flex-shrink:0; }
  .theme-toggle .ic-sun { display:none; }
  html[data-theme-resolved="dark"] .theme-toggle .ic-moon { display:none; }
  html[data-theme-resolved="dark"] .theme-toggle .ic-sun { display:inline; }
  .footbar .legal-links { display:flex; gap:16px; flex-wrap:wrap; }
  .footbar button { background:none;border:none;color:#8197ad;font-size:12.5px;cursor:pointer;font-family:inherit;padding:0; }
  .footbar button:hover { color: var(--gold); }
  @media (max-width: 720px){ footer .wrap { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 480px){ footer .wrap { grid-template-columns: 1fr; } }

  /* Modal */
  .modal { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; padding: 20px; padding-top: calc(20px + env(safe-area-inset-top,0px)); }
  .modal.open { display: flex; }
  .modal-backdrop { position: absolute; inset: 0; background: rgba(0,15,30,.6); backdrop-filter: blur(3px); }
  .modal-box { position: relative; background: var(--surface); color: var(--fg); border-radius: 16px; max-width: 760px; width: 100%; max-height: 86vh; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
  .modal-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding: 22px 26px; border-bottom: 1px solid var(--line); }
  .modal-head h3 { font-size: 20px; }
  .modal-close { background: var(--surface-2); border: none; width: 36px; height: 36px; border-radius: 9px; cursor: pointer; color: var(--fg); display:grid; place-items:center; flex-shrink:0; }
  .modal-close:hover { background: var(--line); }
  .modal-body { padding: 24px 26px; overflow-y: auto; }
  .modal-body h4 { font-size: 15px; color: var(--gold-deep); text-transform: uppercase; letter-spacing: .04em; margin: 22px 0 8px; }
  .modal-body h4:first-child { margin-top: 0; }
  .modal-body p { font-size: 14px; color: var(--fg); margin-bottom: 11px; line-height: 1.65; }
  .modal-body ul { margin: 0 0 14px; padding-left: 20px; }
  .modal-body li { font-size: 14px; margin-bottom: 7px; line-height: 1.6; }
  .modal-body a { color: var(--gold-deep); word-break: break-all; }
  .modal-note { font-size: 12px; color: var(--muted); font-style: italic; margin-bottom: 16px; padding: 10px 12px; background: var(--surface-2); border-radius: 8px; }

  @media (prefers-reduced-motion: reduce){ * { transition: none !important; } }


/* ---- Páginas legales (contenido) ---- */
.legal-content h3 { font-size: 15px; color: var(--gold-deep); text-transform: uppercase; letter-spacing: .04em; margin: 26px 0 10px; }
.legal-content h3:first-child { margin-top: 0; }
.legal-content p { font-size: 15px; color: var(--fg); margin-bottom: 13px; line-height: 1.7; }
.legal-content ul { margin: 0 0 16px; padding-left: 22px; }
.legal-content li { font-size: 15px; margin-bottom: 8px; line-height: 1.65; }
.legal-content a { color: var(--gold-deep); word-break: break-word; }

/* ---- 404 ---- */
.error-404 { padding: 20px 0 10px; }
.error-404 .err-badge { font-family: var(--font-display); font-weight: 800; font-size: clamp(60px,14vw,120px); line-height:1; color: var(--gold); letter-spacing:-.03em; }
.error-404 h1 { font-size: clamp(26px,4vw,38px); margin: 6px 0 12px; }
.error-404 p { color: var(--muted); font-size: 17px; max-width: 46ch; margin: 0 auto; }
.error-404 .err-cta { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin: 26px 0; }
.error-404 .err-search { display:flex; gap:10px; justify-content:center; max-width:420px; margin: 0 auto 22px; }
.error-404 .err-search input { flex:1; min-width:0; font-family:var(--font-body); font-size:15px; color:var(--fg); background:var(--surface); border:1.5px solid var(--line); border-radius:10px; padding:11px 13px; }
.error-404 .err-search input:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 25%,transparent); }
.error-404 .err-links { display:flex; gap:18px; justify-content:center; flex-wrap:wrap; }
.error-404 .err-links a { color:var(--gold-deep); font-weight:700; font-size:14px; text-decoration:none; }
.error-404 .err-links a:hover { text-decoration:underline; }

/* ---- Gracias ---- */
.gracias { padding: 20px 0; }
.gracias-ico { width:92px;height:92px;border-radius:50%;margin:0 auto 20px;display:grid;place-items:center;background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok); }
.gracias h1 { font-size: clamp(26px,4vw,38px); margin-bottom:12px; }
.gracias p { color:var(--muted); font-size:17px; max-width:46ch; margin:0 auto; }
.gracias-cta { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:26px; }
