/*
Theme Name: Cristo del Milagro · Renovación 2026
Theme URI: https://cristomilagro.es/
Author: Propuesta de renovación para la Hermandad
Description: Tema renovado para la Hermandad del Santísimo Cristo del Milagro: portada, actualidad, agenda, patrimonio, aniversario, acceso de hermanos y preinscripciones.
Version: 1.1.0
Requires at least: 6.3
Requires PHP: 8.0
Text Domain: hsm2026
*/
:root{--ink:#252036;--purple:#341637;--purple2:#4e2554;--gold:#bd975b;--gold2:#d0ae75;--cream:#fbf9f5;--white:#fff;--muted:#706a76;--stroke:#e7e1de;--shadow:0 15px 44px rgba(40,18,40,.09);--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.035em}h2{font-size:clamp(2rem,3vw,3.1rem);margin-bottom:12px}h3{font-size:1.3rem}p{line-height:1.7}.container{width:min(1180px,calc(100% - 44px));margin-inline:auto}.skip-link{position:absolute;top:-100px;left:10px;z-index:100;background:white;padding:10px}.skip-link:focus{top:10px}.topline{background:var(--purple);color:#eee2f0;font-size:11px;letter-spacing:.045em;position:sticky;top:0;z-index:31}.topline__inner{display:flex;align-items:center;justify-content:space-between;height:31px}.topline span{opacity:.9}.masthead{background:rgba(255,255,255,.98);position:sticky;top:31px;z-index:30;box-shadow:0 1px 0 var(--stroke)}.masthead__inner{display:flex;align-items:center;min-height:79px;gap:32px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.crest{display:grid;place-items:center;border:2px solid var(--gold);color:var(--gold);width:46px;height:57px;clip-path:polygon(50% 0,94% 14%,94% 77%,50% 100%,6% 77%,6% 14%);background:#faf5ed;font-family:var(--serif);font-size:22px;box-shadow:inset 0 0 0 3px #f7ecda}.brand__text{font-family:var(--serif);font-size:15px;line-height:1.15;max-width:200px;font-weight:600;color:#261a32}.nav{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex:1}.nav__list{display:contents;list-style:none;padding:0;margin:0}.nav__list li{list-style:none}.nav a{font-size:12px;color:#423a46;font-weight:600;white-space:nowrap;padding:12px 0;transition:color .18s}.nav a:hover,.nav a:focus-visible,.nav a.current{color:#93692d}.nav a.current:after{content:'';display:block;height:2px;background:var(--gold);position:relative;top:10px}.nav__special{border:1px solid #ded1df;border-radius:99px;padding:8px 11px!important}.menu-toggle{display:none;border:1px solid #ddd4da;background:white;padding:10px;border-radius:8px;color:var(--purple)}.icon{height:21px;width:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;vertical-align:middle}.icon--lg{height:33px;width:33px}.hero{height:570px;min-height:520px;position:relative;overflow:hidden;background:#251522;color:white;isolation:isolate}.hero__bg{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero__track{display:flex;width:100%;height:100%;transition:transform .8s cubic-bezier(.22,.61,.36,1)}.hero__slide{flex:0 0 100%;height:100%;margin:0;overflow:hidden}.hero__slide img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.82) contrast(1.04)}.hero__controls{position:absolute;z-index:3;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;pointer-events:none}.hero__arrow{pointer-events:auto;width:48px;height:48px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(38,19,43,.42);color:white;font-size:34px;line-height:1;display:grid;place-items:center;backdrop-filter:blur(8px);transition:background .2s,transform .2s}.hero__arrow:hover,.hero__arrow:focus-visible{background:rgba(78,37,84,.88);transform:scale(1.05)}.hero__dots{position:absolute;z-index:3;left:50%;bottom:62px;transform:translateX(-50%);display:flex;gap:9px;align-items:center}.hero__dots button{width:8px;height:8px;padding:0;border:1px solid white;border-radius:50%;background:rgba(255,255,255,.45);transition:width .2s,background .2s}.hero__dots button.is-active{width:24px;border-radius:99px;background:var(--gold2);border-color:var(--gold2)}.home-feature-strip{position:relative;z-index:2;margin-top:-47px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.home-feature{height:104px;position:relative;overflow:hidden;display:flex;align-items:end;padding:14px 16px;border-radius:5px;color:white;background:#2b1930;box-shadow:0 10px 25px rgba(28,13,32,.2)}.home-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(30,14,35,.91),rgba(38,19,43,.26))}.home-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;transition:transform .35s}.home-feature:hover img{transform:scale(1.06)}.home-feature span{position:relative;z-index:1;display:grid;gap:3px}.home-feature strong{font-size:13px;letter-spacing:.055em;text-transform:uppercase}.home-feature small{font-size:11px;color:#f0e7ec}.home-feature:focus-visible{outline:3px solid var(--gold2);outline-offset:3px}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(22,12,24,.96) 0%,rgba(29,13,33,.87) 34%,rgba(32,14,33,.4) 65%,rgba(32,14,33,.12) 100%),linear-gradient(0deg,rgba(28,9,34,.5),transparent 60%)}.hero__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:48px}.eyebrow{font-size:11px;letter-spacing:.25em;color:var(--gold2);text-transform:uppercase;font-weight:800}.hero h1{font-size:clamp(3.4rem,5.4vw,5.8rem);line-height:1.02;margin:22px 0 24px;max-width:780px;text-wrap:balance}.hero h1 em{color:#d6b37b;font-style:normal}.hero__desc{max-width:540px;color:#e3dce5;font-size:16px;margin:0 0 29px}.hero__actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:5px;border:1px solid transparent;padding:13px 20px;background:var(--purple2);color:white;font-weight:700;font-size:13px;min-height:45px;transition:background .2s,transform .2s}.btn:hover{background:#683670;transform:translateY(-1px)}.btn:focus-visible,.tile:focus-visible,a:focus-visible{outline:3px solid var(--gold2);outline-offset:3px}.btn--outline{background:transparent;color:white;border-color:#d2ad70}.btn--outline:hover{background:rgba(255,255,255,.13)}.btn--gold{background:var(--gold);color:#211626}.btn--gold:hover{background:#e0be7e}.btn--light{background:#fff;color:var(--purple)}.anniversary-emblem{flex:0 0 auto;color:#e3bf7b;text-align:center;align-self:flex-start;margin-top:90px;font-family:var(--serif);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:18px 18px 15px}.anniversary-emblem b{display:block;font-size:76px;line-height:1}.anniversary-emblem span{display:block;font-size:12px;letter-spacing:.16em;line-height:1.4}.quick-nav{position:relative;z-index:2;margin-top:-47px;display:grid;grid-template-columns:repeat(6,1fr);border-radius:8px;box-shadow:var(--shadow);background:#fff;overflow:hidden}.tile{padding:28px 16px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;border-right:1px solid var(--stroke);transition:background .2s,transform .2s}.tile:last-child{border:0}.tile:hover{background:#fcf8ef}.tile .icon{color:var(--gold);height:31px;width:31px}.tile strong{font-family:var(--serif);font-size:16px;font-weight:500}.tile small{line-height:1.45;color:var(--muted);font-size:11px;max-width:130px}.tile .tile-arrow{color:#a78048;font-size:20px}.section{padding:80px 0 0}.section--last{padding-bottom:80px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-heading h2{margin-bottom:0}.section-heading p{color:var(--muted);margin:9px 0 0}.section-heading a{font-size:12px;color:#6b4a25;white-space:nowrap;font-weight:700}.section-heading a:hover{text-decoration:underline}.section-heading h2:after{content:'';display:block;margin-top:12px;width:38px;height:2px;background:var(--gold)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border-radius:7px;border:1px solid #eee8e3;overflow:hidden;box-shadow:0 9px 25px rgba(30,10,30,.045)}.card__image{height:170px;object-fit:cover;width:100%;background:#d2c7c8}.card__body{padding:20px 22px}.card h3{font-size:22px;line-height:1.15;margin-bottom:10px}.card p{font-size:13px;color:#625a63;line-height:1.55;margin-bottom:8px}.card a.more{color:#8b682f;font-size:12px;font-weight:800}.card__meta{font-size:11px;color:#a37a3f;font-weight:800;letter-spacing:.09em;margin:0 0 10px}.event-card{display:flex;flex-direction:column}.event-card__top{position:relative}.event-date{position:absolute;top:0;left:0;background:var(--purple);color:white;width:70px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px}.event-date small{font-size:9px;letter-spacing:.13em}.event-date b{font-family:var(--serif);font-size:30px;line-height:1}.event-card__body{flex:1;display:flex;flex-direction:column}.event-card__body h3{margin:0 0 12px}.event-meta{color:#7c6774;font-size:12px;display:flex;align-items:center;gap:7px;margin-bottom:9px}.event-card .more{margin-top:auto;padding-top:14px}.empty-events{border:1px dashed #cdbdbf;background:white;padding:28px;border-radius:9px;grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:25px}.empty-events p{margin-bottom:0}.banner75{margin-top:80px;background:linear-gradient(105deg,#2d1039,#4c2450 55%,#251027);color:white;position:relative;overflow:hidden}.banner75:after{content:'✦';font-size:240px;color:#d7af6a;opacity:.09;position:absolute;right:7%;top:-70px}.banner75__inner{padding:35px 0;display:flex;align-items:center;gap:32px;position:relative;z-index:1}.banner75__mark{font-family:var(--serif);font-size:62px;color:var(--gold2);line-height:.9;white-space:nowrap}.banner75__mark small{font-size:18px}.banner75__copy{padding-left:30px;border-left:1px solid #a28699;flex:1}.banner75 h2{font-size:26px;margin-bottom:4px}.banner75 p{font-size:12px;margin:0;color:#eee4ed}.patrimony{display:grid;grid-template-columns:1fr 1fr;gap:20px}.patrimony__item{min-height:235px;border-radius:7px;overflow:hidden;position:relative;color:white;background:#271629;display:flex;align-items:end;padding:24px}.patrimony__item:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,10,21,.92) 5%,rgba(19,10,21,.5) 75%);z-index:1}.patrimony__item .patrimony__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}.patrimony__item div{z-index:2;max-width:90%}.patrimony h3{font-size:27px;margin-bottom:9px}.patrimony p{font-size:12px;line-height:1.5;max-width:350px;color:#e0d8e0}.patrimony a{font-size:12px;color:#e3be7e;font-weight:800}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.media-grid a{height:200px;position:relative;overflow:hidden;border-radius:7px;display:flex;align-items:end;padding:20px;color:white;font-family:var(--serif);font-size:20px}.media-grid a:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(20,10,25,.86));z-index:0}.media-grid img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;transition:transform .3s}.media-grid a:hover img{transform:scale(1.06)}.media-grid span{position:relative;z-index:1;display:flex;align-items:center;gap:10px}.callout-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.callout{padding:31px;border-radius:8px;min-height:245px}.callout--purple{background:radial-gradient(circle at 80% 20%,#694270,var(--purple) 68%);color:white}.callout--white{background:#fff;border:1px solid #e8dfda}.callout h2{font-size:30px;margin-bottom:10px}.callout p{font-size:13px;color:inherit;opacity:.85;max-width:450px}.callout__icon{color:var(--gold2);margin-bottom:12px}.callout__actions{display:flex;align-items:center;gap:17px;margin-top:25px;flex-wrap:wrap}.callout__actions a:not(.btn){font-size:12px;text-decoration:underline}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.feature{padding:21px;background:white;border:1px solid var(--stroke);border-radius:7px;display:flex;gap:14px}.feature .icon{color:var(--gold);flex:0 0 27px;width:27px;height:27px}.feature strong{font-family:var(--serif);font-size:19px;font-weight:500}.feature p{font-size:11px;color:var(--muted);margin:3px 0}.footer{background:linear-gradient(90deg,#32183b,#281331);color:#eee7ef}.footer__main{display:flex;gap:40px;align-items:center;justify-content:space-between;padding:44px 0}.footer .brand__text{color:white}.footer__contact{font-size:12px;line-height:2}.footer__contact a:hover{text-decoration:underline}.footer__social{display:flex;gap:15px}.footer__social a{width:36px;height:36px;display:grid;place-items:center;border:1px solid #67506b;border-radius:50%;font-weight:700}.footer__bottom{border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;gap:30px;padding:18px 0;color:#c8bbca;font-size:11px}.footer__bottom a{margin-right:17px}.page-hero{padding:88px 0 83px;color:white;background:radial-gradient(circle at 80% 10%,#643a65,#341637 60%)}.page-hero h1{font-size:clamp(2.6rem,5vw,4.2rem);margin:12px 0 10px}.page-hero p{color:#e0d5df;max-width:650px}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:48px;padding:65px 0 90px}.prose{font-size:16px;line-height:1.8}.prose h2{font-size:28px}.prose img{border-radius:6px}.sidebar{background:#fff;border-radius:8px;padding:24px;height:max-content;border:1px solid var(--stroke)}.sidebar h3{font-size:20px}.sidebar a{display:block;padding:10px 0;border-bottom:1px solid var(--stroke);font-size:13px}.form-area{padding:70px 0 100px;max-width:790px}.form-panel{border:1px solid var(--stroke);background:white;border-radius:11px;padding:32px;box-shadow:var(--shadow)}.form-panel h2{font-size:29px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;margin-bottom:18px;gap:7px}.field label{font-size:13px;font-weight:750}.field input,.field textarea{width:100%;padding:12px;border:1px solid #c9bec7;border-radius:5px;background:#fff;color:var(--ink)}.field textarea{min-height:115px;resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid var(--gold)}.form-check{display:flex;align-items:start;gap:10px;font-size:12px;line-height:1.65;margin-bottom:17px}.form-check input{margin-top:4px}.form-note{background:#f6f1e9;padding:15px;border-radius:6px;font-size:12px;color:#554951;margin-bottom:22px}.notice{padding:17px;border-radius:6px;margin-bottom:22px;font-size:14px}.notice--success{background:#eaf4e9;color:#1c5b38}.notice--error{background:#fae9e8;color:#9a2626}.staff-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.staff-grid .feature{display:block}.wp-block-image{max-width:100%}.pagination{margin-top:30px}.pagination .page-numbers{padding:8px 11px;border:1px solid var(--stroke);background:white}.badge{font-size:11px;display:inline-block;padding:6px 10px;background:#f4eddf;color:#7d592b;border-radius:99px;font-weight:700;letter-spacing:.04em}.visually-hidden{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.archive-card{margin-bottom:18px} .faq{margin-top:40px}.faq details{border-bottom:1px solid #e0d8d5;padding:15px 0}.faq summary{cursor:pointer;font-weight:700}.faq p{margin-top:10px}.preview-tag{font-size:11px;background:#f7e8c5;color:#5e4616;text-align:center;padding:9px;font-weight:700}
@media(max-width:1090px){.masthead__inner{gap:15px}.nav{gap:12px}.nav a{font-size:11px}.brand__text{font-size:13px;max-width:155px}.hero{height:540px}.anniversary-emblem b{font-size:58px}}@media(max-width:900px){.menu-toggle{display:grid;place-items:center;margin-left:auto}.masthead__inner{min-height:74px}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;box-shadow:0 15px 25px #25132e2a;padding:15px 23px 23px;flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav a{font-size:14px;padding:13px 8px;border-bottom:1px solid var(--stroke)}.nav a.current:after{display:none}.quick-nav{grid-template-columns:repeat(3,1fr)}.tile:nth-child(3){border-right:0}.tile:nth-child(-n+3){border-bottom:1px solid var(--stroke)}.anniversary-emblem{display:none}.hero__inner{padding-bottom:0}.hero__dots{bottom:24px}.home-feature-strip{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:-30px}.cards{gap:12px}.card__body{padding:17px}.banner75__inner{flex-wrap:wrap}.banner75__inner .btn{margin-left:auto}.footer__main{flex-wrap:wrap}.content-layout{grid-template-columns:1fr}.sidebar{display:none}}@media(max-width:660px){.container{width:min(100% - 32px,1180px)}.topline__inner{height:27px}.brand__text{font-size:14px}.crest{width:39px;height:51px}.hero{height:550px;min-height:0}.hero__bg{background-position:53% center}.hero:before{background:linear-gradient(90deg,rgba(24,11,29,.96),rgba(24,11,29,.63))}.hero h1{font-size:clamp(2.75rem,11vw,4.25rem);line-height:1.05}.hero__desc{font-size:14px}.hero .eyebrow{font-size:10px;line-height:1.6}.home-feature-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-24px;gap:9px}.home-feature{height:92px;padding:12px}.home-feature strong{font-size:11px}.home-feature small{font-size:10px}.hero__controls{padding:0 12px}.hero__arrow{width:40px;height:40px;font-size:29px}.hero__dots{bottom:18px}.tile:nth-child(n){border-right:1px solid var(--stroke);border-bottom:1px solid var(--stroke)}.tile:nth-child(even){border-right:0}.tile:nth-last-child(-n+2){border-bottom:0}.tile{padding:20px 8px 17px}.tile strong{font-size:15px}.section{padding-top:56px}.section-heading{align-items:start}.section-heading a{font-size:11px;padding-top:8px;max-width:110px;white-space:normal;text-align:right}.cards,.patrimony,.media-grid,.callout-grid,.feature-grid,.field-row,.staff-grid{grid-template-columns:1fr}.card__image{height:190px}.empty-events{display:block}.empty-events .btn{margin-top:15px}.banner75{margin-top:55px}.banner75__inner{gap:14px}.banner75__mark{font-size:50px}.banner75__copy{padding-left:18px}.banner75 h2{font-size:21px}.banner75__inner .btn{margin:6px 0 0}.patrimony__item{min-height:185px}.media-grid a{height:180px}.callout{padding:23px}.footer__main{display:block}.footer__contact{margin:28px 0}.footer__bottom{display:block;line-height:2}.page-hero{padding:62px 0}.form-panel{padding:20px}.form-area{padding:45px 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.agenda-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}.agenda-tabs a{display:inline-block;background:#fff;border:1px solid var(--stroke);padding:10px 16px;border-radius:6px;font-weight:700;font-size:13px}.agenda-tabs a[aria-current="page"]{background:var(--purple);color:#fff;border-color:var(--purple)}

.page-heading{padding:48px 0 34px;min-height:235px;display:flex;align-items:center;color:white;background-color:#341637;background-image:linear-gradient(90deg,rgba(34,17,39,.91),rgba(48,24,52,.52)),var(--page-cover);background-position:center;background-size:cover;border-bottom:3px solid var(--gold)}.page-heading__inner{display:flex;align-items:end;justify-content:space-between;gap:24px}.page-heading h1{font-size:clamp(2.2rem,4vw,3.7rem);margin:8px 0 0;color:white}.page-heading p{max-width:620px;margin:12px 0 0;color:#f2eaf3}.page-heading .breadcrumb,.page-heading .breadcrumb a{color:#f2eaf3}.page-heading .breadcrumb a:hover{color:var(--gold2)}.breadcrumb{font-size:12px;color:var(--muted)}.page-content{min-height:55vh}.page-content .section:first-child{padding-top:42px}.page-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.page-links .btn{display:inline-flex}
.brand__mark{display:block;width:54px;height:54px;object-fit:contain;flex-shrink:0}

/* Publicaciones gestionadas desde el panel privado */
.publication-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.publication-card{background:#fff;border:1px solid #e7e2d8;box-shadow:0 10px 32px #2e28150b;overflow:hidden;min-width:0}
.publication-card__image{display:block;width:100%;height:220px;object-fit:cover;background:#eee9df}
.publication-card__content{padding:22px}
.publication-card__content .eyebrow{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8a7343}
.publication-card__content h3{font-family:Georgia,serif;font-size:23px;line-height:1.2;margin:10px 0;color:#352c21}
.publication-card__content p{color:#615d55;line-height:1.65;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.publication-card__details{margin-top:14px}
.publication-card__details summary{cursor:pointer;color:#735d35;font-weight:700}
.publication-card__details p{margin-top:10px}
.publication-card__content small{display:block;color:#716b60;margin-top:12px}
.publication-card__count{font-weight:700}
.publication-grid--photos{margin-bottom:30px}
.publication-grid .notice{grid-column:1/-1}
.footer__bottom a{color:inherit}
@media(max-width:900px){.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.publication-grid{grid-template-columns:1fr}.publication-card__image{height:200px}.publication-card__content{padding:18px}}

/* Pie de página actualizado y acceso fijo para volver arriba */
.footer__brand .brand__mark{width:64px;height:64px;object-fit:contain;}
.footer .brand__text{font-size:18px;line-height:1.18;max-width:260px;}
.footer__contact{font-size:16px;line-height:1.75;}
.footer__bottom{font-size:13px;line-height:1.6;}
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:80;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#5a2368;color:#fff;border:1px solid rgba(255,255,255,.45);box-shadow:0 5px 20px rgba(30,12,36,.35);font-size:28px;font-weight:700;line-height:1;transition:background .2s,transform .2s;}
.back-to-top:hover{background:#743586;transform:translateY(-3px);}
.back-to-top:focus-visible{outline:3px solid #d1ad73;outline-offset:3px;}
@media(max-width:660px){.footer .brand__text{font-size:17px}.footer__contact{font-size:15px}.footer__bottom{font-size:12px}.back-to-top{right:16px;bottom:16px;width:50px;height:50px}}

/* Identidad de cabecera y navegación con mayor legibilidad */
.masthead .brand__mark{width:68px;height:68px;object-fit:contain;}
.brand__text--two-line{width:290px;max-width:290px!important;font-size:18px;line-height:1.22;}
.brand__text--two-line>span{display:block;width:100%;text-align:left;}
.nav a{font-size:15px;}
.masthead__inner{gap:24px;}
@media(max-width:1100px){.masthead__inner{gap:18px}.brand__text--two-line{width:255px;max-width:255px!important;font-size:17px}.nav{gap:10px}.nav a{font-size:14px}}
@media(max-width:900px){.masthead .brand__mark{width:62px;height:62px}.brand__text--two-line{width:auto;max-width:260px!important;font-size:17px}.nav a{font-size:15px}}

/* Navegación desplegable para las subsecciones institucionales */
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown>a{display:flex;align-items:center;gap:5px}
.nav-dropdown>a span{font-size:17px;line-height:1;color:var(--gold)}
.nav-dropdown__menu{display:none;position:absolute;z-index:120;left:-14px;top:100%;min-width:220px;padding:8px;background:#fff;border-top:2px solid var(--gold);box-shadow:0 14px 30px rgba(30,15,35,.18)}
.nav-dropdown:hover .nav-dropdown__menu,.nav-dropdown:focus-within .nav-dropdown__menu{display:grid}
.nav-dropdown__menu a{display:block;padding:12px 14px;border-radius:3px;color:var(--ink);font-size:14px!important}
.nav-dropdown__menu a:hover,.nav-dropdown__menu a:focus-visible{background:#f7f3f8;color:var(--purple)}
.section-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:26px}
.section-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--stroke);color:var(--ink);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.section-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(40,18,40,.15)}
.section-card img{width:100%;height:240px;object-fit:cover;background:#eee}
.section-card>div{padding:22px 24px 25px}
.section-card h3{font:600 27px/1.15 var(--serif);color:var(--purple);margin:7px 0 10px}
.section-card p{color:var(--muted);line-height:1.7;margin:0}
.section-card__link{display:inline-block;margin-top:18px;color:#775a27;font-weight:700}
.patrimony__item--photo{min-height:390px;padding:0;align-items:stretch;text-decoration:none}
.patrimony__item--photo .patrimony__bg{opacity:1;object-fit:cover;transition:transform .5s}
.patrimony__item--photo:hover .patrimony__bg{transform:scale(1.035)}
.patrimony__item--photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,16,31,.94),rgba(28,16,31,.04) 78%)}
.patrimony__content{position:relative;z-index:1;width:100%;padding:28px;color:#fff}
.patrimony__content .eyebrow{color:var(--gold2);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.patrimony__content h3{font:600 clamp(25px,3vw,36px)/1.12 var(--serif);margin:10px 0;color:#fff}
.patrimony__content p{max-width:440px;color:#f3edf3;line-height:1.65;margin:0}
.patrimony__link{display:inline-block;margin-top:17px;font-weight:700;color:var(--gold2)}
.feature-detail{display:grid;grid-template-columns:minmax(280px,.83fr) minmax(0,1.17fr);gap:clamp(28px,5vw,72px);align-items:start}
.feature-detail__image{margin:0;background:#211b24;box-shadow:var(--shadow)}
.feature-detail__image img{display:block;width:100%;max-height:760px;object-fit:cover}
.feature-detail__image figcaption{padding:10px 14px;color:#e9dfcf;font-size:12px}
.feature-detail__copy{max-width:720px}
.feature-detail__copy h2{font:600 clamp(25px,3vw,34px)/1.2 var(--serif);color:var(--purple);margin:4px 0 18px}
.feature-detail__copy h2:not(:first-of-type){margin-top:34px}
.feature-detail__copy p{font-size:17px;line-height:1.85;color:#524b56;margin:0 0 18px}
.feature-detail__copy .btn{margin-top:18px}
.story-note{border-left:3px solid var(--gold);background:#f7f3f8;padding:18px 22px;margin:26px 0}
.story-note strong{display:block;color:var(--purple);font:600 20px/1.3 var(--serif);margin-bottom:7px}
.story-note p{font-size:15px;margin:0}
@media(max-width:900px){.nav-dropdown{width:100%;display:block;border-bottom:1px solid var(--stroke)}.nav-dropdown>a{padding:13px 8px!important;border-bottom:0!important}.nav-dropdown__menu{display:grid;position:static;min-width:0;padding:0 0 7px 14px;border:0;box-shadow:none}.nav-dropdown__menu a{padding:10px 12px;font-size:13px!important;border:0!important}.section-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-detail{grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:28px}}
@media(max-width:620px){.section-cards{grid-template-columns:1fr}.section-card img{height:220px}.patrimony__item--photo{min-height:350px}.patrimony__content{padding:22px}.feature-detail{grid-template-columns:1fr}.feature-detail__image img{max-height:560px;object-fit:contain}}
.feature-detail__copy--wide{max-width:900px;margin:0 auto}
/* Separación uniforme entre el final del contenido y el pie de página */
.footer{margin-top:48px}
/* Oculta los pequeños indicadores junto a las opciones con submenú */
.nav-dropdown>a span{display:none!important}
/* Navegación breve, con acceso directo a las secciones principales */
.nav__special{background:var(--purple);color:#fff!important;border:1px solid var(--purple);border-radius:5px;padding:10px 14px!important}
.nav__special:hover{background:var(--purple2);color:#fff!important}
@media(min-width:901px) and (max-width:1200px){.masthead__inner{gap:14px}.brand__text--two-line{width:210px;max-width:210px!important;font-size:15px}.nav{gap:10px}.nav a{font-size:13px}}
.callout-grid--single{grid-template-columns:minmax(0,820px);justify-content:center}
.gallery-lightbox{border:0;border-radius:10px;padding:20px;max-width:min(92vw,1100px);max-height:90vh;background:var(--cream);box-shadow:0 24px 70px rgba(0,0,0,.38)}
.gallery-lightbox::backdrop{background:rgba(28,13,31,.82)}
.gallery-lightbox img{max-height:76vh;width:auto;max-width:100%;margin:0 auto;object-fit:contain}
.gallery-lightbox p{margin:12px 42px 0 0;color:var(--ink);font-size:13px}
.gallery-lightbox form{position:absolute;top:10px;right:12px;z-index:2}
.gallery-lightbox__close{width:38px;height:38px;border:0;border-radius:50%;background:var(--purple);color:#fff;font-size:25px;line-height:1}
@media(max-width:660px){.gallery-lightbox{padding:12px}.gallery-lightbox img{max-height:78vh}}

/* Cabecera institucional sin menús y carrusel limpio en portada */
.masthead{background:#fff;position:sticky;top:0;z-index:30;box-shadow:0 1px 0 var(--stroke)}
.masthead__inner{display:grid;grid-template-columns:76px minmax(0,1fr) 76px;align-items:center;gap:22px;min-height:120px}
.masthead__crest{display:flex;align-items:center;justify-content:center}
.masthead__crest img{width:72px;height:72px;object-fit:contain}
.masthead__title{font-family:var(--serif);font-size:clamp(24px,3vw,36px);line-height:1.08;font-weight:600;letter-spacing:-.025em;text-align:center;text-transform:uppercase;color:var(--purple)}
.hero--carousel{height:570px;min-height:0}
.hero--carousel:before{display:none}
.hero--carousel .hero__bg{z-index:0}
.hero--carousel .hero__slide img{filter:none;object-position:center 45%}
.hero--carousel .hero__controls{z-index:2}
.hero--carousel .hero__dots{z-index:2;bottom:18px}
.home-feature-strip{z-index:1;margin-top:24px}
@media(max-width:900px){.masthead__inner{min-height:100px;grid-template-columns:64px minmax(0,1fr) 64px;gap:16px}.masthead__crest img{width:62px;height:62px}.masthead__title{font-size:clamp(21px,3.4vw,29px)}.hero--carousel{height:500px}}
@media(max-width:660px){.masthead__inner{min-height:82px;grid-template-columns:46px minmax(0,1fr) 46px;gap:9px}.masthead__crest img{width:46px;height:46px}.masthead__title{font-size:clamp(15px,4.4vw,21px);line-height:1.08}.hero--carousel{height:430px}.home-feature-strip{margin-top:18px}}
