:root{--black:#080808;--white:#fff;--pink:#f200f3;--gold:#c9a46c;--soft:#f6f3f5;--muted:#777;--line:#e8e1e7;--wrap:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:#111;background:#fff}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(var(--wrap),calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #eee}.navrow{height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{width:220px;max-height:68px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.main-nav a:hover{color:var(--pink)}.nav-cta{background:var(--black);color:white;padding:13px 18px;border-radius:999px}.nav-cta:hover{background:var(--pink)!important;color:#fff!important}.menu-toggle{display:none;background:none;border:0;font-size:28px}.slider{position:relative;background:#000;overflow:hidden;touch-action:pan-y}.slides{position:relative;aspect-ratio:2/1;max-height:670px;min-height:360px}.slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .45s ease}.slide.active{opacity:1;pointer-events:auto}.slide img{width:100%;height:100%;object-fit:cover}.slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),transparent 54%)}.slide-copy{position:absolute;left:max(5vw,calc((100vw - var(--wrap))/2));top:50%;transform:translateY(-50%);max-width:580px;color:white}.slide-copy h1{font-size:clamp(38px,6vw,76px);margin:0 0 12px;line-height:.97}.slide-copy p{font-size:20px;line-height:1.5}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:72px;border:0;border-radius:14px;background:rgba(0,0,0,.36);color:#fff;font-size:48px;cursor:pointer;z-index:4}.slider-arrow:hover{background:rgba(242,0,243,.72)}.slider-arrow.prev{left:18px}.slider-arrow.next{right:18px}.slider-dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px;z-index:5}.slider-dots button{width:10px;height:10px;padding:0;border-radius:99px;border:1px solid #fff;background:rgba(255,255,255,.35)}.slider-dots button.active{width:30px;background:var(--pink);border-color:var(--pink)}.section{padding:88px 0}.section.dark{background:var(--black);color:#fff}.section.soft{background:var(--soft)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.section-head h2,.page-hero h1,.contact-hero h1,.service-detail-head h1{font-size:clamp(34px,5vw,60px);margin:5px 0 0;line-height:1}.section-head p{max-width:520px;color:var(--muted);line-height:1.6}.dark .section-head p{color:#aaa}.kicker{display:inline-block;color:var(--pink);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.cards{display:grid;gap:22px}.events{grid-template-columns:repeat(3,1fr)}.event-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:white}.event-card>img{width:100%;aspect-ratio:16/9;object-fit:cover}.event-content{padding:22px}.event-content h3{font-size:25px;margin:14px 0 8px}.event-content p{color:#666;line-height:1.55}.pill{display:inline-flex;padding:7px 11px;border-radius:999px;background:#f3edf3;font-weight:800;font-size:12px}.quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.quick a{padding:10px 12px;border:1px solid #ddd;border-radius:10px;font-size:12px;font-weight:850}.quick .pink{background:var(--pink);border-color:var(--pink);color:#fff}.quick .gold{border-color:var(--gold);color:#8e6b36}.services{grid-template-columns:repeat(3,1fr)}.service-card{background:#171717;border:1px solid #292929;border-radius:22px;overflow:hidden;transition:.2s}.service-card:hover{transform:translateY(-4px);border-color:var(--pink)}.service-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:white}.service-card>div{padding:21px}.service-card h3{font-size:23px;margin:0 0 8px}.service-card p{color:#b8b8b8;line-height:1.55;min-height:48px}.service-card span,.text-link{color:var(--pink);font-weight:850}.services.full .service-card{background:#fff;color:#111;border-color:var(--line)}.services.full .service-card p{color:#666}.gallery-preview{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.gallery-hero{position:relative;border-radius:24px;overflow:hidden;min-height:420px}.gallery-hero img{width:100%;height:100%;object-fit:cover}.gallery-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(0,0,0,.78))}.gallery-hero>div{position:absolute;left:24px;bottom:24px;z-index:2;color:#fff}.gallery-hero h3{font-size:30px;margin:12px 0}.fb-list{display:grid;gap:12px}.fb-list div{border:1px solid var(--line);border-radius:16px;padding:22px;font-weight:800;background:#fff}.about{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about img{max-height:360px;margin:auto}.about h2{font-size:45px;margin:8px 0 15px}.about p{font-size:18px;line-height:1.7;color:#555}.contact-band{background:linear-gradient(110deg,#090909,#211721);color:#fff;padding:54px 0;border-top:3px solid var(--pink)}.contact-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-band h2{font-size:42px;margin:8px 0}.band-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:999px;font-weight:850;border:1px solid transparent}.btn.pink{background:var(--pink);color:#fff}.btn.outline{border-color:#222}.btn.darkbtn{background:#fff;color:#111}.site-footer{background:#050505;color:#ddd;padding:58px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-logo{width:230px;filter:brightness(4) grayscale(1)}.site-footer h4{color:#fff}.site-footer a{display:block;margin:10px 0;color:#bbb}.footer-bottom{margin-top:38px;padding-top:22px;border-top:1px solid #222;color:#777;font-size:13px}.floating-wa{position:fixed;right:22px;bottom:22px;z-index:40;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#23d366;color:#fff;font-size:32px;border:4px solid #fff;box-shadow:0 8px 25px rgba(0,0,0,.22)}.page-hero,.service-detail-head,.contact-hero{background:#080808;color:#fff;padding:76px 0 68px;border-bottom:3px solid var(--pink)}.page-hero p,.service-detail-head p,.contact-hero p{font-size:19px;color:#bbb;max-width:760px;line-height:1.6}.hero-actions{margin-top:25px}.back{display:inline-block;color:#bbb;margin-bottom:34px}.photo-grid{columns:3 280px;column-gap:16px}.photo{display:block;width:100%;padding:0;margin:0 0 16px;border:0;background:none;border-radius:16px;overflow:hidden;cursor:zoom-in}.photo img{width:100%}.lightbox{border:0;background:rgba(0,0,0,.92);width:100%;height:100%;max-width:none;max-height:none;padding:55px}.lightbox::backdrop{background:rgba(0,0,0,.8)}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox button{position:absolute;right:20px;top:12px;border:0;background:none;color:#fff;font-size:40px}.pdf-frame{width:100%;height:760px;border:1px solid #ddd;border-radius:18px}.contact-layout{display:grid;grid-template-columns:1.5fr .85fr;gap:28px}.contact-form{background:#090909;color:#fff;padding:32px;border-radius:24px}.contact-form h2{font-size:34px;margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-size:13px;font-weight:800;color:#ddd}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:8px;border:1px solid #3a3a3a;background:#171717;color:#fff;border-radius:13px;padding:14px;font:inherit;outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--pink);box-shadow:0 0 0 2px rgba(242,0,243,.14)}.wide{grid-column:1/-1}.widebtn{width:100%;margin-top:18px}.hp{position:absolute!important;left:-9999px!important}.notice{padding:13px 15px;border-radius:12px;margin-bottom:18px}.notice.success{background:#133e25}.notice.error{background:#4b1616}.contact-cards{display:grid;gap:14px}.contact-cards>a,.contact-cards>div{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;min-height:130px}.contact-cards span,.contact-cards small{display:block;color:#777}.contact-cards strong{display:block;font-size:22px;margin:10px 0;overflow-wrap:anywhere}.contact-cards .accent{background:var(--pink);color:white;border-color:var(--pink)}.contact-cards .accent span,.contact-cards .accent small{color:white}.admin-body{background:#f3f1f4}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-shell aside{background:#070707;color:#fff;padding:24px}.admin-shell aside img{width:190px;filter:brightness(3) grayscale(1);margin-bottom:30px}.admin-shell nav{display:grid;gap:6px}.admin-shell nav a{padding:12px 13px;border-radius:10px;color:#bbb}.admin-shell nav a.active,.admin-shell nav a:hover{background:var(--pink);color:#fff}.admin-shell main{padding:40px}.admin-top{display:flex;justify-content:space-between;align-items:center}.admin-top h1{font-size:42px;margin:4px 0 25px}.admin-alert{background:#fff4ff;border:1px solid #f6c6f6;border-left:4px solid var(--pink);padding:18px;border-radius:12px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.admin-stats div,.admin-panel{background:#fff;border-radius:16px;padding:22px}.admin-stats strong{display:block;font-size:28px}.admin-stats span{color:#777}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-grid>div{border:1px solid var(--line);padding:18px;border-radius:14px}.admin-grid p{color:#666;line-height:1.5}@media(max-width:900px){.main-nav{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 12px 24px rgba(0,0,0,.12);flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.menu-toggle{display:block}.slides{aspect-ratio:4/3;min-height:360px}.slide-copy{left:42px;right:42px}.events,.services,.gallery-preview,.about,.contact-layout{grid-template-columns:1fr}.section-head,.contact-band .wrap{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:1fr}.admin-shell aside{display:none}.admin-stats{grid-template-columns:1fr 1fr}}@media(max-width:620px){.wrap{width:min(100% - 24px,var(--wrap))}.navrow{height:72px}.brand img{width:176px}.main-nav{top:72px}.section{padding:58px 0}.slider-arrow{width:42px;height:58px;font-size:38px}.slider-arrow.prev{left:8px}.slider-arrow.next{right:8px}.slides{aspect-ratio:1/1;min-height:340px}.slide-copy{left:28px;right:28px}.slide-copy p{font-size:16px}.events,.services{grid-template-columns:1fr}.section-head h2{font-size:36px}.quick a{flex:1;text-align:center}.footer-grid,.form-grid,.admin-stats,.admin-grid{grid-template-columns:1fr}.contact-form{padding:22px}.wide{grid-column:auto}.pdf-frame{height:560px}.floating-wa{width:52px;height:52px}.admin-shell main{padding:20px}.contact-band h2{font-size:34px}}
.floating-wa svg{width:31px;height:31px}.login-body{min-height:100vh;margin:0;background:#f4f1f4;display:grid;place-items:center;padding:24px}.login-card{width:min(520px,100%);background:#fff;border-radius:24px;padding:34px;border:1px solid var(--line);box-shadow:0 18px 60px rgba(0,0,0,.08)}.login-card>img{width:210px;margin:0 auto 28px}.login-card h1{font-size:36px;margin:6px 0 22px}.login-card>label,.install-grid label,.settings-form label{display:block;font-weight:800;font-size:13px;margin:14px 0}.login-card input,.install-grid input,.settings-form input,.settings-form textarea{width:100%;padding:13px 14px;margin-top:7px;border:1px solid #ddd;border-radius:12px;font:inherit;background:#fff}.login-back{display:block;text-align:center;margin-top:18px;color:#777}.install-card{width:min(760px,100%)}.install-grid,.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.admin-actions{display:flex;gap:10px}.admin-shell nav a.disabled{opacity:.55;cursor:not-allowed}.admin-shell nav a small{display:block;font-size:10px;margin-top:3px}.admin-notice{margin:0 0 20px}.settings-form h2{margin:8px 0 20px}.settings-grid .full{grid-column:1/-1}.settings-form textarea{resize:vertical}.settings-form small{display:block;color:#777;font-weight:400;margin-top:7px}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px}.color-control{display:flex;align-items:center;gap:8px;margin-top:7px}.color-control input[type=color]{width:50px;height:46px;padding:3px;flex:0 0 50px}.color-control input[type=text],.color-control input:not([type]){flex:1}.settings-form .btn{border:0;cursor:pointer}@media(max-width:760px){.install-grid,.settings-grid,.color-grid{grid-template-columns:1fr}.settings-grid .full{grid-column:auto}.admin-actions{flex-wrap:wrap}}
/* Etapa 4 */
.latest-only{display:block;min-height:440px}.latest-only p{margin:8px 0 0;max-width:700px;color:#ddd}.gallery-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gallery-card{display:grid;grid-template-columns:220px 1fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff}.gallery-card img{width:100%;height:100%;min-height:220px;object-fit:cover}.gallery-card>div{padding:24px}.gallery-card h2{margin:8px 0 10px}.gallery-card p{color:#666;line-height:1.6}.gallery-card strong{color:var(--pink)}.gallery-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fb-publication{display:flex;flex-direction:column;gap:8px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.fb-publication span{color:var(--pink);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.1em}.fb-publication strong{font-size:22px}.fb-publication small{color:#777;overflow-wrap:anywhere}.gallery-own-image{border-radius:18px;overflow:hidden;background:#eee}.gallery-own-image img{width:100%;height:100%;min-height:280px;object-fit:cover}.event-detail-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:38px;align-items:start}.event-detail-image{width:100%;border-radius:24px}.history-links{display:grid;gap:10px;margin:18px 0 24px}.history-links a{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:15px 17px;border-radius:13px;font-weight:800;background:#fff}.history-links a:hover{border-color:var(--pink);color:var(--pink)}.muted{color:#777}.hero-quick a{background:#fff;color:#111}.hero-quick .pink{background:var(--pink);color:#fff}.service-feature-image{width:min(100%,900px);max-height:650px;object-fit:contain;margin:auto;border-radius:22px;background:#f6f6f6}
.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.editor-grid label,.mini-editor{font-size:13px;font-weight:800}.editor-grid input,.editor-grid textarea,.editor-grid select,.inline-editor input,.mini-editor input,.mini-editor select{width:100%;padding:12px 13px;border:1px solid #ddd;border-radius:10px;margin-top:7px;font:inherit;background:#fff}.editor-grid .full{grid-column:1/-1}.editor-grid .check{display:flex;align-items:center;gap:8px;padding-top:27px}.editor-grid .check input{width:auto;margin:0}.admin-list{display:grid;gap:16px;margin-top:20px}.admin-item{display:grid;grid-template-columns:180px 1fr;gap:20px;background:#fff;border-radius:16px;padding:18px}.admin-item>img{width:180px;height:120px;object-fit:cover;border-radius:12px}.item-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.item-fields label{font-size:12px;font-weight:800}.item-fields input{width:100%;padding:10px;border:1px solid #ddd;border-radius:9px;margin-top:5px}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn.danger{background:#7f1d1d;color:#fff;border-color:#7f1d1d}.btn.mini{padding:8px 12px;font-size:12px}.simple-list{display:grid;gap:8px}.simple-list>div{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:13px 14px}.simple-list small{display:block;color:#777;margin-top:4px}.simple-list>div>span:last-child{display:flex;gap:8px;align-items:center}.inline-form{display:inline}.inline-editor{display:grid;grid-template-columns:1fr 2fr 90px auto;gap:10px;align-items:end}.inline-editor input{margin:0}.history-admin{display:grid;gap:8px;margin-top:16px}.history-admin>div,.gallery-admin-items>div{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px;border:1px solid var(--line);border-radius:10px}.link-danger{border:0;background:none;color:#b91c1c;font-weight:800;cursor:pointer}.two-editors{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mini-editor{border:1px solid var(--line);padding:18px;border-radius:14px}.mini-editor h3{margin-top:0}.mini-editor .btn{margin-top:12px;border:0}.gallery-admin-items{display:grid;gap:10px;margin-top:18px}.gallery-admin-items img{width:90px;height:65px;object-fit:cover;border-radius:8px}.gallery-admin-items a{flex:1;overflow-wrap:anywhere}.fb-badge{background:#1877f2;color:#fff;padding:7px 9px;border-radius:8px;font-size:12px;font-weight:900}.service-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-admin-grid article{display:grid;grid-template-columns:130px 1fr;gap:14px;border:1px solid var(--line);padding:12px;border-radius:14px}.service-admin-grid img{width:130px;height:100px;object-fit:cover;border-radius:10px}.service-admin-grid small{display:block;color:#777;line-height:1.4;margin:6px 0 12px}.admin-grid a{display:block;border:1px solid var(--line);padding:18px;border-radius:14px}.admin-grid a:hover{border-color:var(--pink)}
@media(max-width:900px){.gallery-cards,.gallery-items,.event-detail-grid,.two-editors,.service-admin-grid{grid-template-columns:1fr}.gallery-card{grid-template-columns:1fr}.inline-editor{grid-template-columns:1fr}.editor-grid,.item-fields{grid-template-columns:1fr}.editor-grid .full{grid-column:auto}.admin-item{grid-template-columns:1fr}.admin-item>img{width:100%;height:180px}.admin-shell aside{display:block}.admin-shell{grid-template-columns:220px minmax(0,1fr)}.admin-shell main{padding:24px}}
@media(max-width:680px){.admin-shell{grid-template-columns:1fr}.admin-shell aside{position:static}.admin-shell aside img{margin:auto auto 20px}.admin-shell nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell main{padding:18px}.admin-top{align-items:flex-start;gap:12px;flex-direction:column}.simple-list>div{align-items:flex-start;flex-direction:column}.gallery-card img{min-height:180px}.service-admin-grid article{grid-template-columns:90px 1fr}.service-admin-grid img{width:90px;height:80px}}
/* Etapa 5: evento como centro de control */
.form-subhead{margin-top:12px;padding:16px 0 4px;border-top:1px solid var(--line)}.form-subhead h3{margin:0 0 5px;font-size:22px}.form-subhead p{margin:0;color:#777;font-weight:400}.editor-grid label small{display:block;color:#777;font-weight:400;margin-top:6px}.event-meta,.event-hero-meta{font-size:13px!important;color:#777!important;font-weight:800}.event-hero-meta{color:#ddd!important}.slide-shade.clean{background:linear-gradient(90deg,rgba(0,0,0,.18),transparent 45%,rgba(0,0,0,.08))}.convocatoria-content{max-width:900px}.convocatoria-paper{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;font-size:17px;line-height:1.75;white-space:normal}.admin-alert+.admin-panel{margin-top:22px}

/* Etapa 6: eventos + galería administrable */
.notice.success{color:#fff;background:#124728;border:1px solid #1d6b3c}.notice.error{color:#fff}.admin-notice strong{color:inherit}.admin-alert{color:#2b2230;line-height:1.55}.admin-alert strong{color:#111}
.event-form{gap:18px 22px}.event-form>label{display:block;min-width:0;color:#171717}.event-form>label>input,.event-form>label>textarea,.event-form>label>select{display:block;width:100%;min-width:0;margin-top:8px}.form-subhead.first{border-top:0;margin-top:0;padding-top:0}.check-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.check-grid .check,.event-form .check{padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#faf8fa;display:flex;align-items:center;gap:9px;margin:0}.check-grid .check input,.event-form .check input{width:auto;flex:0 0 auto;margin:0}.switch-line{align-self:end}.save-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border-radius:15px;background:#111;color:#fff}.save-hint{font-size:13px;color:#bbb}.save-event{border:0;min-width:180px;cursor:pointer}.save-event:disabled{opacity:.72;cursor:wait}.save-event.is-saving:after{content:"";width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;margin-left:10px;animation:mmspin .8s linear infinite}@keyframes mmspin{to{transform:rotate(360deg)}}
.event-admin-list small{line-height:1.5}.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.mini-editor textarea{width:100%;padding:12px 13px;border:1px solid #ddd;border-radius:10px;margin-top:7px;font:inherit;background:#fff;resize:vertical}
.gallery-admin-items.modern{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gallery-admin-card{display:block!important;padding:0!important;overflow:hidden;background:#fff;border-radius:16px!important}.gallery-admin-preview{background:#f4f4f4;min-height:300px;display:grid;place-items:center;overflow:hidden}.gallery-admin-preview iframe{width:100%;height:520px;border:0;background:#fff}.gallery-admin-preview img{width:100%!important;height:320px!important;object-fit:cover!important;border-radius:0!important}.gallery-admin-controls{padding:14px;display:grid;gap:10px}.reorder-actions,.item-settings{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.item-settings label{font-size:12px}.item-settings input[type=number]{width:88px;padding:8px;border:1px solid #ddd;border-radius:8px}.item-settings .check{display:flex;align-items:center;gap:6px;padding:0;border:0;background:none}.item-settings .check input{width:auto}.gallery-admin-controls .link-danger{justify-self:start}
.interactive-card{cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.interactive-card:hover{transform:translateY(-3px);border-color:#d7cbd5;box-shadow:0 14px 35px rgba(0,0,0,.08)}.event-visual{display:block}.event-visual img{width:100%;aspect-ratio:16/9;object-fit:cover}.event-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.event-title-link h3{margin-top:14px}.status-pill{color:#fff;border:0}.status-upcoming{background:#3b3b3b}.status-open{background:var(--pink)}.status-last{background:#e98b00}.status-closed{background:#d3192d}.status-done{background:#111}.calendar-date{width:82px;flex:0 0 82px;text-align:center;border:1px solid #ddd;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 3px 0 #e4e4e4}.calendar-date b{display:block;background:var(--pink);color:#fff;padding:6px 4px;font-size:12px}.calendar-date strong{display:block;font-size:31px;line-height:1;padding:8px 3px 3px}.calendar-date span{display:block;color:#d3192d;font-weight:900;font-size:12px;padding:0 3px 7px}.calendar-date.large{width:110px;flex-basis:110px}.calendar-date.large strong{font-size:44px}.calendar-date.large b,.calendar-date.large span{font-size:14px}.event-facts{display:flex;flex-wrap:wrap;gap:8px 14px;color:#555;font-size:13px;font-weight:800;margin:10px 0}.countdown{display:flex;gap:7px;margin:13px 0;flex-wrap:wrap}.countdown span{display:flex;align-items:baseline;gap:2px;background:#0b0b0b;color:#fff;border-radius:9px;padding:7px 9px;font-size:11px}.countdown b{font-size:18px;color:var(--pink)}.event-hero-title{display:flex;align-items:flex-start;justify-content:space-between;gap:35px}.event-hero-title>div:first-child{min-width:0}.event-hero-facts{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin:24px 0 10px;color:#ddd;font-weight:800}.hero-countdown span{background:#fff;color:#111}.hero-countdown b{font-size:25px}.mode-gallery-card{background:#f8f4f8;border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:30px}.mode-gallery-card h2{margin:8px 0 10px}.mode-gallery-card p{color:#666;line-height:1.55}
.facebook-gallery-grid{columns:2 480px;column-gap:22px}.facebook-embed-card,.facebook-gallery-grid .gallery-own-image{break-inside:avoid;margin:0 0 22px;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line)}.facebook-embed-card iframe{display:block;width:100%;height:650px;border:0;background:#fff}.facebook-gallery-grid .gallery-own-image img{display:block;width:100%;height:auto;min-height:0}.gallery-page-hero .gallery-event-name{font-weight:900;color:#fff}.gallery-event-label{font-weight:800;color:#333!important}.empty-gallery{text-align:center;padding:60px 20px;background:#f7f5f7;border-radius:20px}.empty-gallery h2{margin-top:0}
@media(max-width:1050px){.check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-admin-items.modern{grid-template-columns:1fr}.facebook-gallery-grid{columns:1}.facebook-embed-card iframe{height:620px}}
@media(max-width:680px){.check-grid{grid-template-columns:1fr 1fr}.save-bar,.section-title-row,.event-hero-title{align-items:flex-start;flex-direction:column}.save-event{width:100%}.calendar-date.large{align-self:flex-start}.facebook-embed-card iframe{height:590px}.gallery-admin-preview iframe{height:500px}}
@media(max-width:420px){.check-grid{grid-template-columns:1fr}.calendar-date{width:74px;flex-basis:74px}.facebook-embed-card iframe{height:560px}}

/* Etapa 7: responsive real, slider sin recorte y galería amplia */
:root{--wrap:1440px;--success:#12c76a}
.wrap{width:min(var(--wrap),calc(100% - clamp(24px,4vw,64px)))}

/* Slider: 1600x700 recomendado. Nunca recorta la imagen; centra y usa negro sólo como relleno. */
.slider{width:100%;background:#000}
.slides{aspect-ratio:16/7;min-height:0;max-height:none;width:100%}
.slide-image-link{position:absolute;inset:0;display:grid;place-items:center;background:#000}
.slide-image-link img,.slide>img{width:100%;height:100%;object-fit:contain;object-position:center center;max-width:none}
.slide-shade{pointer-events:none}
.slide-copy{z-index:3}
.slider-arrow{z-index:6}
.slider-dots{z-index:6}

/* Eventos: rejilla fluida y contenido equilibrado en cualquier resolución */
.events{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:stretch}
.event-card{height:100%;display:flex;flex-direction:column;min-width:0}
.event-visual img{aspect-ratio:16/9;object-fit:cover}
.event-content{display:flex;flex-direction:column;flex:1;padding:clamp(18px,2vw,26px)}
.event-content .quick{margin-top:auto;padding-top:18px}
.event-topline{align-items:center}
.event-facts{justify-content:flex-start}
.countdown{justify-content:center;width:100%;gap:8px;margin:16px auto}
.countdown span{min-width:48px;justify-content:center;text-align:center}

/* Galería pública: conserva la lectura tipo galería anterior, pero moderna y responsive */
.facebook-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));columns:auto;gap:24px;width:100%;max-width:1240px;margin:0 auto;align-items:start}
.facebook-embed-card,.facebook-gallery-grid .gallery-own-image{margin:0;break-inside:auto;border-radius:18px;box-shadow:0 8px 24px rgba(0,0,0,.06);overflow:hidden}
.facebook-embed-card iframe{display:block;width:100%;height:680px;background:#fff}
.gallery-page-hero .wrap{max-width:1240px}
.gallery-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));gap:28px}
.gallery-card{height:100%;min-width:0}
.gallery-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.gallery-hero.latest-only{width:100%;min-height:clamp(320px,42vw,620px)}

/* Admin gallery also follows available screen width */
.admin-shell main{min-width:0}
.admin-panel{max-width:none}
.gallery-admin-items.modern{grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr))}
.gallery-admin-preview iframe{height:600px}

/* Confirmation message: lighter TMT-style green */
.notice.success{background:var(--success);border-color:var(--success);color:#07351d;font-weight:850}
.notice.success strong{color:#07351d}

@media(max-width:1100px){
 .wrap{width:min(100% - 32px,1000px)}
 .facebook-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .facebook-embed-card iframe{height:620px}
}
@media(max-width:900px){
 .section{padding:64px 0}
 .section-head{align-items:flex-start;flex-direction:column;gap:10px}
 .slides{aspect-ratio:16/8;min-height:0}
 .events{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
 .facebook-gallery-grid{grid-template-columns:1fr;max-width:620px}
 .facebook-embed-card iframe{height:680px}
}
@media(max-width:680px){
 .wrap{width:calc(100% - 24px)}
 .slides{aspect-ratio:16/9}
 .slider-arrow{width:42px;height:58px;font-size:38px;border-radius:11px}
 .slider-arrow.prev{left:8px}.slider-arrow.next{right:8px}
 .events{grid-template-columns:1fr}
 .event-topline{align-items:flex-start}
 .calendar-date{width:78px;flex-basis:78px}
 .facebook-gallery-grid{max-width:100%}
 .facebook-embed-card iframe{height:620px}
 .gallery-admin-preview iframe{height:560px}
}
@media(max-width:430px){
 .slides{aspect-ratio:4/3}
 .slide-image-link img,.slide>img{object-fit:contain}
 .facebook-embed-card iframe{height:580px}
 .countdown{gap:5px}
 .countdown span{min-width:44px;padding:7px 6px}
}


/* Etapa 8: galería tipo catálogo, slider configurable y verde TMT */
:root{--success:#39ff14}
.notice.success{background:var(--success)!important;border-color:var(--success)!important;color:#071a04!important;box-shadow:0 0 0 1px rgba(57,255,20,.12)}
.notice.success strong{color:#071a04!important}

.slide.fit-cover .slide-image-link img,.slide.fit-cover>img{object-fit:cover!important;object-position:center center}
.slide.fit-contain .slide-image-link img,.slide.fit-contain>img{object-fit:contain!important;object-position:center center}
.slides{aspect-ratio:16/7;max-height:700px}

.gallery-index-hero{padding:58px 0 50px}
.gallery-index-section{padding-top:52px}
.gallery-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}
.gallery-menu-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.gallery-menu-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(0,0,0,.09);border-color:#d8cbd7}
.gallery-menu-image{display:block;background:#090909;aspect-ratio:16/9;overflow:hidden}
.gallery-menu-image img{width:100%;height:100%;object-fit:cover}
.gallery-menu-footer{padding:18px 20px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.gallery-menu-footer h2{font-size:20px;line-height:1.15;margin:0;min-width:0}
.gallery-view-btn{background:var(--pink);color:#fff;padding:10px 15px;white-space:nowrap}

.gallery-detail-section{padding-top:56px}
.facebook-gallery-grid{display:grid!important;grid-template-columns:repeat(2,minmax(320px,500px))!important;justify-content:center;align-items:start;gap:28px!important;max-width:1060px!important;margin:0 auto!important}
.facebook-embed-card,.facebook-gallery-grid .gallery-own-image{width:100%;max-width:500px;margin:0 auto!important;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 8px 26px rgba(0,0,0,.06)}
.facebook-embed-card iframe{width:100%!important;max-width:500px!important;height:680px!important;margin:0 auto;display:block}
.facebook-gallery-grid .gallery-own-image img{width:100%;height:auto;display:block}

.admin-panel .event-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.admin-panel .event-form>label{padding:0;align-self:start}
.admin-panel .event-form>label.check{min-height:48px;align-self:end}
.save-gallery{align-self:end;min-height:48px}

@media(max-width:1100px){.gallery-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.facebook-gallery-grid{grid-template-columns:minmax(0,500px)!important}}
@media(max-width:900px){.slides{aspect-ratio:16/8}}
@media(max-width:760px){.gallery-menu-grid{grid-template-columns:1fr}.gallery-menu-footer{align-items:flex-start;flex-direction:column}.gallery-view-btn{width:100%}.admin-panel .event-form{grid-template-columns:1fr}.facebook-gallery-grid{grid-template-columns:minmax(0,1fr)!important;max-width:500px!important}.facebook-embed-card iframe{height:620px!important}}
@media(max-width:680px){.slides{aspect-ratio:16/9}}

/* ===== ETAPA 9 · GALERÍA COMPACTA + 3 COLUMNAS ===== */
.gallery-detail-head{background:#090909;color:#fff;border-bottom:2px solid var(--pink);padding:24px 0 22px}
.gallery-detail-head-inner{display:flex;align-items:center;gap:30px;max-width:1540px}
.gallery-detail-head .back.compact{margin:0;color:#cfcfcf;white-space:nowrap;font-size:13px}
.gallery-detail-head h1{margin:3px 0 4px;font-size:clamp(28px,3vw,40px);line-height:1.05}
.gallery-detail-head p{margin:0;color:#ddd;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.gallery-detail-section{padding:42px 0 64px;background-color:#fff;background-size:cover;background-position:center top;background-repeat:no-repeat}
.gallery-detail-section.has-event-background{background-attachment:scroll}
.gallery-detail-wrap{max-width:1540px}
.facebook-gallery-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;width:100%!important;max-width:none!important;margin:0 auto!important;align-items:start!important}
.facebook-embed-card,.facebook-gallery-grid .gallery-own-image{width:100%!important;max-width:none!important;margin:0!important;border-radius:14px!important;overflow:hidden!important;border:1px solid rgba(0,0,0,.09)!important;background:#fff!important;box-shadow:0 8px 24px rgba(0,0,0,.07)!important;align-self:start!important}
.facebook-embed-card iframe{display:block!important;width:100%!important;max-width:none!important;border:0!important;background:#fff!important;margin:0!important}
.facebook-gallery-grid .gallery-own-image img{width:100%!important;height:auto!important;display:block!important}
@media(max-width:1180px){.facebook-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.gallery-detail-head-inner{max-width:1100px}}
@media(max-width:720px){.gallery-detail-head{padding:18px 0 16px}.gallery-detail-head-inner{align-items:flex-start;flex-direction:column;gap:10px}.gallery-detail-head .back.compact{font-size:12px}.gallery-detail-section{padding:24px 0 46px}.facebook-gallery-grid{grid-template-columns:1fr!important;gap:16px!important;max-width:560px!important}.gallery-detail-wrap{max-width:620px}}

/* ===== ETAPA 10 · SERVICIOS INDEPENDIENTES + PATROCINADORES + GALERÍA COLLAGE ===== */

/* Franja compacta de patrocinadores debajo del slider */
.sponsor-strip{background:#fff;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.08);overflow:hidden;padding:9px 0}
.sponsor-window{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.sponsor-track{display:flex;align-items:center;width:max-content;gap:clamp(34px,5vw,80px);animation:mmSponsorMarquee 28s linear infinite;padding:0 38px}
.sponsor-strip:hover .sponsor-track{animation-play-state:paused}
.sponsor-logo{height:62px;min-width:130px;max-width:210px;display:flex;align-items:center;justify-content:center;padding:5px 8px;flex:0 0 auto}
.sponsor-logo img{display:block;max-width:100%;max-height:52px;width:auto;height:auto;object-fit:contain;filter:none}
@keyframes mmSponsorMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Portada: título de eventos sin texto explicativo lateral */
#eventos .section-head{grid-template-columns:1fr!important}
#eventos .section-head>div{max-width:none}

/* Galería tipo collage/masonry: cada publicación usa su altura real */
.gallery-detail-section{position:relative;isolation:isolate;overflow:hidden;background:#f7f5f2!important}
.gallery-detail-section>.gallery-background-layer{position:absolute;z-index:-2;inset:-28px;background-size:cover;background-position:center center;background-repeat:no-repeat;transform:scale(1.035);pointer-events:none}
.gallery-detail-section>.gallery-background-wash{position:absolute;z-index:-1;inset:0;background:rgba(255,255,255,.55);pointer-events:none}
.gallery-detail-section.bg-effect-soft>.gallery-background-layer{filter:saturate(.72) contrast(.92)}
.gallery-detail-section.bg-effect-blur>.gallery-background-layer{filter:blur(10px) saturate(.7);transform:scale(1.08)}
.gallery-detail-section.bg-effect-none>.gallery-background-layer{filter:none}
.gallery-detail-section.bg-effect-none>.gallery-background-wash{background:rgba(255,255,255,.34)}
.gallery-detail-section.bg-effect-soft>.gallery-background-wash{background:rgba(255,255,255,.50)}
.gallery-detail-section.bg-effect-blur>.gallery-background-wash{background:rgba(255,255,255,.42)}

.facebook-gallery-grid{display:block!important;columns:3 360px!important;column-gap:20px!important;width:100%!important;max-width:none!important;margin:0 auto!important}
.facebook-embed-card,.facebook-gallery-grid .gallery-own-image{display:inline-block!important;width:100%!important;max-width:none!important;margin:0 0 20px!important;break-inside:avoid!important;page-break-inside:avoid!important;border-radius:13px!important;overflow:hidden!important;border:1px solid rgba(0,0,0,.12)!important;background:#fff!important;box-shadow:0 7px 22px rgba(0,0,0,.10)!important;vertical-align:top!important}
.facebook-embed-card iframe{display:block!important;width:100%!important;max-width:none!important;height:var(--embed-height,560px)!important;min-height:0!important;margin:0!important;border:0!important;background:#fff!important}
.facebook-gallery-grid .gallery-own-image img{display:block!important;width:100%!important;height:auto!important}

/* Admin patrocinadores */
.sponsor-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.sponsor-admin-grid article{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff}
.sponsor-admin-logo{height:94px;display:grid;place-items:center;border-radius:12px;background:#f5f5f5;padding:9px;overflow:hidden}
.sponsor-admin-logo img{max-width:100%;max-height:76px;object-fit:contain}
.sponsor-admin-grid strong,.sponsor-admin-grid small{display:block}.sponsor-admin-grid small{margin:6px 0 10px;color:#666;overflow-wrap:anywhere}

@media(max-width:1050px){
 .facebook-gallery-grid{columns:2 330px!important}
 .sponsor-track{gap:42px}.sponsor-logo{height:56px;min-width:120px;max-width:180px}.sponsor-logo img{max-height:46px}
}
@media(max-width:700px){
 .facebook-gallery-grid{columns:1!important}.facebook-embed-card,.facebook-gallery-grid .gallery-own-image{margin-bottom:15px!important}
 .sponsor-strip{padding:7px 0}.sponsor-track{gap:28px;animation-duration:22s}.sponsor-logo{height:50px;min-width:105px;max-width:150px}.sponsor-logo img{max-height:40px}
 .sponsor-admin-grid{grid-template-columns:1fr}.sponsor-admin-grid article{grid-template-columns:100px 1fr}.sponsor-admin-logo{height:76px}
}
/* Etapa 10.1: el control de visibilidad del fondo tiene un rango realmente perceptible */
.gallery-detail-section.bg-effect-none>.gallery-background-wash{background:rgba(255,255,255,.12)}
.gallery-detail-section.bg-effect-soft>.gallery-background-wash{background:rgba(255,255,255,.24)}
.gallery-detail-section.bg-effect-blur>.gallery-background-wash{background:rgba(255,255,255,.18)}

/* ===== ETAPA 11 · VELOCIDAD PATROCINADORES + FONDO PORTADA + SLIDER TÁCTIL ===== */
.sponsor-track{animation-duration:var(--sponsor-speed,50s)!important}
.speed-form{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.speed-form label{font-weight:800}.speed-form input{width:110px;margin-left:8px;padding:11px;border:1px solid var(--line);border-radius:10px}

/* Fondo configurable de la portada. Las secciones conservan contraste para lectura. */
.home-main.has-home-bg{position:relative;isolation:isolate;background:#fff}
.home-main.has-home-bg:before{content:"";position:absolute;z-index:-2;inset:0;background-image:var(--home-bg-image);background-size:cover;background-position:center top;background-repeat:no-repeat;background-attachment:fixed;opacity:var(--home-bg-opacity,.22);pointer-events:none}
.home-main.has-home-bg.home-bg-soft:before{filter:saturate(.72) contrast(.92)}
.home-main.has-home-bg.home-bg-blur:before{filter:blur(8px) saturate(.72);transform:scale(1.02)}
.home-main.has-home-bg.home-bg-none:before{filter:none}
.home-main.has-home-bg>.section{background:rgba(255,255,255,.92)}
.home-main.has-home-bg>.section.soft{background:rgba(246,243,245,.92)}
.home-main.has-home-bg>.contact-band{background:linear-gradient(110deg,rgba(9,9,9,.97),rgba(33,23,33,.97))}

/* Slider: gestos más confiables en móvil y tablet */
.slider,.slides,.slide{touch-action:pan-y;user-select:none;-webkit-user-select:none}
.slide img{-webkit-user-drag:none;user-drag:none}

/* Galería: tres columnas reales en escritorio, collage sin filas rígidas */
.facebook-gallery-grid{columns:3!important;column-width:auto!important;column-gap:20px!important}
.facebook-embed-card,.facebook-gallery-grid .gallery-own-image{break-inside:avoid-column!important;-webkit-column-break-inside:avoid!important}

/* Fondo de galería más adaptable a pantallas grandes */
.gallery-detail-section>.gallery-background-layer{background-size:cover!important;background-position:center center!important}

@media(max-width:1050px){.facebook-gallery-grid{columns:2!important}.home-main.has-home-bg:before{background-attachment:scroll}}
@media(max-width:700px){.facebook-gallery-grid{columns:1!important}.speed-form{align-items:stretch;flex-direction:column}.speed-form input{margin-left:0}}


/* ===== ETAPA 12 · BOTONES EVENTO + GALERÍA MULTIIMAGEN + ORDEN DIRECTO ===== */
.quick button.event-popup-btn,.quick a.custom-event-btn{border:1px solid var(--pink);background:#fff;color:#111;border-radius:11px;padding:10px 14px;font-weight:800;cursor:pointer;font:inherit}.quick button.event-popup-btn:hover,.quick a.custom-event-btn:hover{background:var(--pink);color:#fff}
.event-image-dialog{border:0;padding:0;background:transparent;max-width:min(92vw,900px);max-height:92vh}.event-image-dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(4px)}.event-image-dialog-inner{background:#111;border:2px solid var(--pink);border-radius:24px;padding:14px;box-shadow:0 24px 70px rgba(0,0,0,.45)}.event-image-dialog-inner h3{color:#fff;margin:4px 44px 12px 8px}.event-image-dialog-inner img{display:block;max-width:100%;max-height:78vh;object-fit:contain;border-radius:16px;margin:auto}.dialog-close{position:absolute;right:10px;top:8px;z-index:3;width:42px;height:42px;border-radius:50%;border:0;background:var(--pink);color:#fff;font-size:28px;line-height:1;cursor:pointer}

/* Galería: tres elementos por fila y tantas filas como contenido exista */
.facebook-gallery-grid.gallery-3x-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;columns:auto!important;gap:20px!important;align-items:start!important}.facebook-gallery-grid.gallery-3x-grid>.facebook-embed-card,.facebook-gallery-grid.gallery-3x-grid>.gallery-own-image{display:block!important;margin:0!important;width:100%!important;break-inside:auto!important}.gallery-own-image.gallery-lightbox-thumb{padding:0;cursor:zoom-in;border:3px solid var(--pink)!important;border-radius:18px!important;background:#fff!important}.gallery-own-image.gallery-lightbox-thumb img{display:block;width:100%;height:auto;border-radius:14px!important}
.gallery-lightbox{border:0;padding:0;background:transparent;width:min(96vw,1180px);max-width:none;height:min(94vh,900px);overflow:visible}.gallery-lightbox::backdrop{background:rgba(0,0,0,.92);backdrop-filter:blur(6px)}.gallery-lightbox-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}.gallery-lightbox-stage img{max-width:100%;max-height:90vh;object-fit:contain;transform-origin:center center;transition:transform .08s linear;border-radius:18px}.gallery-lightbox-close{position:fixed;right:22px;top:18px;width:46px;height:46px;border:0;border-radius:50%;background:var(--pink);color:#fff;font-size:32px;z-index:5;cursor:pointer}.gallery-lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);width:54px;height:72px;border:0;border-radius:14px;background:rgba(0,0,0,.55);color:#fff;font-size:48px;z-index:5;cursor:pointer}.gallery-lightbox-nav.prev{left:16px}.gallery-lightbox-nav.next{right:16px}.gallery-lightbox-counter{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);background:rgba(0,0,0,.65);color:#fff;border:1px solid var(--pink);padding:8px 14px;border-radius:999px;font-weight:800}
@media(max-width:1050px){.facebook-gallery-grid.gallery-3x-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.facebook-gallery-grid.gallery-3x-grid{grid-template-columns:1fr!important;gap:14px!important}.gallery-lightbox-nav{width:44px;height:60px;font-size:38px}.gallery-lightbox-nav.prev{left:6px}.gallery-lightbox-nav.next{right:6px}.gallery-lightbox-close{right:10px;top:10px}}

/* ===== ETAPA 13 · FONDO PORTADA VISIBLE + CONTADOR ADAPTABLE + CTA VERDE ===== */
/* El fondo ahora vive directamente en el main para que no quede oculto por el fondo blanco. */
.home-main.has-home-bg{
  position:relative;
  isolation:auto;
  background-color:#fff;
  background-image:linear-gradient(rgba(255,255,255,calc(1 - var(--home-bg-opacity,.50))),rgba(255,255,255,calc(1 - var(--home-bg-opacity,.50)))),var(--home-bg-image);
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  background-attachment:fixed;
}
.home-main.has-home-bg:before{display:none!important}
.home-main.has-home-bg.home-bg-soft{background-blend-mode:normal}
.home-main.has-home-bg.home-bg-blur{background-blend-mode:normal}
.home-main.has-home-bg.home-bg-none{background-blend-mode:normal}
/* Las secciones dejan ver el fondo sin sacrificar legibilidad. */
.home-main.has-home-bg>.section{background:rgba(255,255,255,.78)}
.home-main.has-home-bg>.section.soft{background:rgba(246,243,245,.82)}
.home-main.has-home-bg>.section#eventos{background:rgba(255,255,255,.72)}
.home-main.has-home-bg>.section#galerias{background:rgba(255,255,255,.68)}

/* Contador: ocupa todo el ancho disponible de cada tarjeta y escala con el contenedor. */
.event-card{container-type:inline-size}
.event-card .countdown{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:8px;margin:16px 0}
.event-card .countdown span{min-width:0!important;width:100%;justify-content:center;padding:clamp(6px,2.1cqw,10px) clamp(4px,1.5cqw,9px);font-size:clamp(9px,3.2cqw,12px)}
.event-card .countdown b{font-size:clamp(15px,5.2cqw,22px)}

/* Botón personalizado / imagen emergente en verde TMT para que destaque. */
.quick button.event-popup-btn,.quick a.custom-event-btn{
  background:#39ff14!important;
  border-color:#39ff14!important;
  color:#071000!important;
  box-shadow:0 4px 14px rgba(57,255,20,.18);
}
.quick button.event-popup-btn:hover,.quick a.custom-event-btn:hover{background:#28dc0c!important;border-color:#28dc0c!important;color:#061000!important}

/* La etiqueta de la última galería pasa a la esquina superior izquierda. */
.gallery-hero.latest-only>div{top:24px;bottom:auto}
.gallery-hero.latest-only:after{background:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.08) 42%,rgba(0,0,0,.22))}

@media(max-width:1050px){.home-main.has-home-bg{background-attachment:scroll}}
@media(max-width:700px){
  .home-main.has-home-bg>.section{background:rgba(255,255,255,.82)}
  .event-card .countdown{gap:6px}
  .gallery-hero.latest-only>div{left:18px;top:18px}
}

/* ===== ETAPA 14 · FONDO GARANTIZADO + ETIQUETA VERDE + FOOTER COMPACTO ===== */
/* Fondo de portada: la imagen se percibe realmente en las zonas principales. */
.home-main.has-home-bg{
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.home-main.has-home-bg>.section{
  background:rgba(255,255,255,.62)!important;
}
.home-main.has-home-bg>.section.soft{
  background:rgba(246,243,245,.68)!important;
}
.home-main.has-home-bg>.section#eventos{
  background:rgba(255,255,255,.58)!important;
}
.home-main.has-home-bg>.section#galerias{
  background:rgba(255,255,255,.52)!important;
}
/* Efecto suave: un poco de velo blanco; Sin efecto muestra el fondo con más fuerza. */
.home-main.has-home-bg.home-bg-soft{
  background-blend-mode:normal!important;
}
.home-main.has-home-bg.home-bg-none>.section,
.home-main.has-home-bg.home-bg-none>.section#eventos,
.home-main.has-home-bg.home-bg-none>.section#galerias{
  background:rgba(255,255,255,.46)!important;
}

/* "Última publicación" ahora usa el verde TMT. */
.gallery-hero.latest-only .pill{
  background:#39ff14!important;
  color:#071000!important;
  border:1px solid #39ff14!important;
  box-shadow:0 4px 14px rgba(57,255,20,.22);
}

/* Pie de página más compacto. */
.site-footer{padding:30px 0 14px!important}
.footer-grid{gap:28px!important;align-items:start}
.footer-logo{width:185px!important;max-height:70px;object-fit:contain}
.site-footer p{margin:10px 0 0;line-height:1.45}
.site-footer h4{margin:0 0 10px}
.site-footer a{margin:7px 0!important}
.footer-bottom{margin-top:20px!important;padding-top:14px!important}

@media(max-width:700px){
  .home-main.has-home-bg>.section,.home-main.has-home-bg>.section.soft,.home-main.has-home-bg>.section#eventos,.home-main.has-home-bg>.section#galerias{background:rgba(255,255,255,.68)!important}
  .site-footer{padding:24px 0 12px!important}
  .footer-grid{gap:18px!important}
  .footer-logo{width:160px!important}
}


/* ===== ETAPA 15 · FONDO REAL EN CAPA INDEPENDIENTE + PIE ULTRACOMPACTO ===== */
/* La imagen de fondo ya no depende de background-blend ni de URLs dentro de variables CSS.
   Se pinta como una capa real detrás del contenido para garantizar que sea visible. */
.home-main.has-home-bg{
  position:relative!important;
  isolation:isolate!important;
  background:#fff!important;
  background-image:none!important;
}
.home-background-layer{
  position:absolute;
  inset:0;
  z-index:-1;
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  pointer-events:none;
}
.home-main.has-home-bg.home-bg-soft .home-background-layer{filter:saturate(.78) contrast(.92)}
.home-main.has-home-bg.home-bg-blur .home-background-layer{filter:blur(6px) saturate(.8);transform:scale(1.01)}
.home-main.has-home-bg.home-bg-none .home-background-layer{filter:none}
/* Las secciones ahora dejan ver la capa de fondo de forma clara. */
.home-main.has-home-bg>.section{background:rgba(255,255,255,.56)!important}
.home-main.has-home-bg>.section.soft{background:rgba(246,243,245,.60)!important}
.home-main.has-home-bg>.section#eventos{background:rgba(255,255,255,.50)!important}
.home-main.has-home-bg>.section#galerias{background:rgba(255,255,255,.46)!important}
.home-main.has-home-bg.home-bg-none>.section,
.home-main.has-home-bg.home-bg-none>.section.soft,
.home-main.has-home-bg.home-bg-none>.section#eventos,
.home-main.has-home-bg.home-bg-none>.section#galerias{background:rgba(255,255,255,.34)!important}
/* Slider y patrocinadores conservan su propio fondo. */
.home-main>.slider,.home-main>.sponsor-strip,.home-main>.contact-band{position:relative;z-index:1}

/* La banda de contacto y el footer se compactan notablemente. */
.contact-band{padding:28px 0!important}
.contact-band h2{font-size:32px!important;margin:4px 0!important}
.contact-band .kicker{font-size:11px!important}
.band-actions .btn{padding:10px 16px!important}
.site-footer{padding:18px 0 8px!important}
.footer-grid{grid-template-columns:1.6fr 1fr 1fr!important;gap:22px!important;align-items:start!important}
.footer-logo{width:145px!important;max-height:48px!important}
.site-footer p{margin:5px 0 0!important;line-height:1.3!important;font-size:13px!important}
.site-footer h4{margin:0 0 6px!important;font-size:13px!important}
.site-footer a{margin:4px 0!important;font-size:13px!important}
.footer-bottom{margin-top:10px!important;padding-top:8px!important;font-size:11px!important}
@media(max-width:700px){
  .home-background-layer{background-position:center top;background-size:auto 100%;}
  .home-main.has-home-bg>.section,.home-main.has-home-bg>.section.soft,.home-main.has-home-bg>.section#eventos,.home-main.has-home-bg>.section#galerias{background:rgba(255,255,255,.58)!important}
  .contact-band{padding:22px 0!important}
  .footer-grid{grid-template-columns:1fr!important;gap:12px!important}
  .footer-logo{width:130px!important}
  .site-footer{padding:14px 0 7px!important}
}


/* ===== ETAPA 16 · FONDO COMPARTIDO EN SERVICIOS/GALERÍAS + MARCOS ROSAS ===== */
/* Usa la misma configuración de fondo de la portada en Servicios y en el menú general de Galerías. */
.shared-background-page.has-shared-bg{
  position:relative!important;
  isolation:isolate!important;
  background:#fff!important;
  min-height:calc(100vh - 84px);
}
.shared-background-layer{
  position:absolute;
  inset:0;
  z-index:-1;
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  background-attachment:fixed;
  pointer-events:none;
}
.shared-background-page.shared-bg-soft .shared-background-layer{filter:saturate(.78) contrast(.92)}
.shared-background-page.shared-bg-blur .shared-background-layer{filter:blur(6px) saturate(.8);transform:scale(1.01)}
.shared-background-page.shared-bg-none .shared-background-layer{filter:none}
/* Cabeceras oscuras conservan identidad; el contenido inferior deja ver el fondo. */
.shared-background-page.has-shared-bg>.section{background:rgba(255,255,255,.54)!important}
.shared-background-page.has-shared-bg.shared-bg-none>.section{background:rgba(255,255,255,.34)!important}
.shared-background-page.has-shared-bg .gallery-menu-card,
.shared-background-page.has-shared-bg .service-card{backdrop-filter:blur(2px)}

/* Cada publicación de Facebook queda enmarcada con la identidad rosa Maximus. */
.gallery-detail-section .facebook-embed-card{
  border:3px solid var(--pink)!important;
  border-radius:18px!important;
  box-shadow:0 10px 30px rgba(242,0,243,.16)!important;
  background:#fff!important;
  overflow:hidden!important;
}
.gallery-detail-section .facebook-embed-card iframe{border-radius:14px!important}
/* Las fotos propias conservan el mismo lenguaje visual. */
.gallery-detail-section .gallery-own-image{border:3px solid var(--pink)!important;box-shadow:0 10px 30px rgba(242,0,243,.16)!important}

@media(max-width:1050px){.shared-background-layer{background-attachment:scroll}}
@media(max-width:700px){
  .shared-background-page.has-shared-bg>.section{background:rgba(255,255,255,.60)!important}
  .gallery-detail-section .facebook-embed-card{border-width:2px!important;border-radius:15px!important}
}

/* ETAPA 17 — refinamientos visuales y orden por fecha */
.calendar-date strong{color:#111!important;background:#fff!important;text-shadow:none!important;opacity:1!important}
.services.full .service-card{border:2px solid var(--pink)!important;box-shadow:0 7px 24px rgba(242,0,243,.10)}
.services.full .service-card:hover{box-shadow:0 10px 30px rgba(242,0,243,.22)}

/* Etapa 18 */
.pdf-fallback{margin-top:12px;text-align:center;font-weight:700}.pdf-fallback a{color:var(--pink)}


/* ===== ETAPA 19 · EXONERACIÓN LOCAL + SLIDER NATURAL + REFERENCIAS EN ADMIN ===== */
/* Slider: la altura sigue la proporción real de la imagen activa. No recorta y el cintillo queda siempre después. */
.slider{height:auto!important;overflow:hidden!important}
.slides{aspect-ratio:auto!important;min-height:180px!important;max-height:none!important;height:auto;transition:height .28s ease;background:#000}
.slide-image-link img,.slide>img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
.sponsor-strip{position:relative!important;z-index:3!important;clear:both!important}
@media(max-width:900px){.slides{aspect-ratio:auto!important;min-height:160px!important}}
@media(max-width:620px){.slides{aspect-ratio:auto!important;min-height:140px!important}}

/* Exoneración: PDF servido desde el mismo sitio, sin Google Viewer. */
.pdf-shell{background:#ececef;border:1px solid #ddd;border-radius:20px;overflow:hidden;min-height:780px}
.pdf-shell object,.pdf-shell iframe{display:block;width:100%;height:780px;border:0;background:#ececef}
.light-outline{border-color:rgba(255,255,255,.55)!important;color:#fff!important;margin-left:8px}
@media(max-width:700px){.pdf-shell{min-height:620px}.pdf-shell object,.pdf-shell iframe{height:620px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.light-outline{margin-left:0}}

/* Miniaturas/referencias de archivos ya guardados en el panel. */
.saved-file-preview{display:flex;align-items:center;gap:12px;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#faf8fa}
.saved-file-preview img{width:118px;height:72px;object-fit:cover;border-radius:9px;border:1px solid #ddd;background:#fff}
.saved-file-preview.compact img{width:92px;height:92px;object-fit:contain}
.saved-file-preview span,.saved-reference{font-size:12px;color:#666;overflow-wrap:anywhere}
.saved-reference a{color:var(--pink);font-weight:800;text-decoration:underline}
@media(max-width:620px){.saved-file-preview{align-items:flex-start;flex-direction:column}.saved-file-preview img{width:150px;height:90px}}


/* ===== ETAPA 20 · HOME SOLO PRÓXIMOS + SLIDER ESTABLE + GALERÍAS LEGACY SIN RECORTE ===== */
/* El slider conserva la misma altura al cambiar de imagen. La medida cambia sólo por breakpoint,
   nunca por la proporción individual de cada archivo. */
.slider{height:auto!important;overflow:hidden!important;background:#000!important}
.slides{height:auto!important;aspect-ratio:16/7!important;min-height:0!important;max-height:none!important;background:#000!important;transition:none!important}
.slide,.slide-image-link{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.slide-image-link img,.slide>img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#000!important}
.sponsor-strip{position:relative!important;z-index:4!important;margin-top:0!important;clear:both!important}

/* Galería: cabecera negra más compacta. */
.gallery-index-hero{padding:34px 0 30px!important}
.gallery-index-hero h1{margin:6px 0 8px!important;font-size:clamp(34px,4.2vw,56px)!important}
.gallery-index-hero p{margin:0!important;font-size:17px!important}

/* Las galerías antiguas/externas pueden usar artes verticales o proporciones distintas.
   Se muestran completas dentro de la tarjeta, sin recortarlas. */
.gallery-menu-card.is-external .gallery-menu-image{background:#111!important;display:flex!important;align-items:center!important;justify-content:center!important;aspect-ratio:16/9!important;overflow:hidden!important}
.gallery-menu-card.is-external .gallery-menu-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#111!important}

@media(max-width:900px){
  .slides{aspect-ratio:16/8!important}
  .gallery-index-hero{padding:30px 0 26px!important}
}
@media(max-width:620px){
  .slides{aspect-ratio:4/3!important}
  .gallery-index-hero{padding:26px 0 22px!important}
  .gallery-index-hero h1{font-size:34px!important}
  .gallery-index-hero p{font-size:15px!important}
}

/* Etapa 21 · estándar visual Maximus
   Slider: 1600x650 (32:13). Tarjetas/portadas: 1200x800 (3:2). */
.slides{aspect-ratio:32/13!important;min-height:0!important;max-height:none!important}
.event-visual{aspect-ratio:3/2;overflow:hidden;background:#111}
.event-visual img{width:100%;height:100%;aspect-ratio:auto!important;object-fit:cover;object-position:center}
@media(max-width:900px){.slides{aspect-ratio:32/13!important}}
@media(max-width:680px){.slides{aspect-ratio:16/9!important}}

/* Etapa 24 - Solicitudes y selección múltiple */
.service-options{border:1px solid #3a3a3a;border-radius:14px;padding:14px 16px;margin:0}.service-options legend{font-size:13px;font-weight:800;color:#ddd;padding:0 7px}.service-options legend small{display:block;font-weight:500;color:#999;margin-top:3px}.service-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:7px}.service-check-grid label{display:flex;align-items:center;gap:9px;background:#171717;border:1px solid #333;border-radius:12px;padding:11px 12px;cursor:pointer}.service-check-grid input{width:auto!important;margin:0!important;accent-color:var(--pink)}.service-check-grid span{color:#fff}.request-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.request-list{display:grid;gap:16px}.request-card{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.request-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.request-card h3{margin:8px 0 4px;font-size:22px}.request-card small{color:#777}.request-status,.mail-badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.status-new{background:#fff0ff;color:#9d009e}.status-followup{background:#fff4d8;color:#815600}.status-done{background:#e8f8e8;color:#176817}.mail-ok{background:#e7ffe4;color:#176817}.mail-fail{background:#ffe9e9;color:#8c1d1d}.request-data{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}.request-data p{margin:0;padding:8px 0;border-bottom:1px solid #f0edf0}.request-data .full{grid-column:1/-1}.mail-error-text{color:#8c1d1d;background:#fff4f4;padding:10px!important;border-radius:10px}.request-card footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:16px}.inline-status{display:flex;gap:8px;align-items:center}.inline-status select{padding:9px;border:1px solid #ddd;border-radius:9px}@media(max-width:700px){.service-check-grid,.request-data{grid-template-columns:1fr}.request-data .full{grid-column:auto}.request-card header,.request-card footer{flex-direction:column}.inline-status{width:100%;flex-wrap:wrap}}

/* Etapa 25: formulario multiselección, feedback de envío y videos de servicios */
.multi-service-field{position:relative}.field-label{display:block;font-size:13px;font-weight:800;color:#ddd;margin-bottom:7px}.field-label small{display:block;font-weight:500;color:#999;margin-top:3px}.multi-service-toggle{width:100%;min-height:46px;border:1px solid #333;border-radius:12px;background:#171717;color:#fff;padding:11px 14px;display:flex;justify-content:space-between;gap:16px;align-items:center;text-align:left;cursor:pointer}.multi-service-toggle b{font-size:20px}.multi-service-menu{display:none;position:absolute;z-index:20;left:0;right:0;top:100%;margin-top:6px;background:#111;border:1px solid #3b3b3b;border-radius:14px;padding:10px;box-shadow:0 18px 45px rgba(0,0,0,.35);max-height:320px;overflow:auto}.multi-service-menu.open{display:grid;grid-template-columns:1fr 1fr;gap:8px}.multi-service-menu label{display:flex;gap:9px;align-items:center;background:#191919;border:1px solid #303030;border-radius:10px;padding:10px 11px;cursor:pointer}.multi-service-menu input[type=checkbox]{width:auto!important;margin:0!important;accent-color:var(--pink)}.multi-service-menu label span{color:#fff}.other-service-wrap{display:none;grid-column:1/-1}.other-service-wrap.show{display:block}.other-service-wrap input{width:100%;background:#191919!important;color:#fff!important;border:1px solid #444!important}.submit-request .submit-loading{display:none}.submit-request.is-loading .submit-label{display:none}.submit-request.is-loading .submit-loading{display:inline}.submit-request.is-loading{opacity:.82;cursor:wait;position:relative}.submit-request.is-loading:before{content:"";width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;margin-right:9px;animation:mmspin .7s linear infinite}@keyframes mmspin{to{transform:rotate(360deg)}}
.admin-current-thumb{display:block;width:150px;height:95px;object-fit:cover;border-radius:12px;margin-top:8px;border:1px solid var(--line)}.admin-video-list{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}.admin-video-list article{display:grid;grid-template-columns:220px 1fr auto;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.admin-video-list video{width:220px;max-height:140px;background:#000;border-radius:12px}.admin-video-list small{display:block;color:#777;margin-top:4px;word-break:break-all}.service-video-section{margin-top:40px}.service-video-section h2{font-size:32px}.service-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.service-video-grid figure{margin:0;background:#fff;border:2px solid var(--pink);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(242,0,243,.12)}.service-video-grid video{display:block;width:100%;aspect-ratio:16/9;background:#000}.service-video-grid figcaption{padding:12px 14px;font-weight:800}
@media(max-width:700px){.multi-service-menu.open{grid-template-columns:1fr}.admin-video-list article{grid-template-columns:1fr}.admin-video-list video{width:100%}.service-video-grid{grid-template-columns:1fr}}

/* Producción 02: redes sociales configurables en pie */
.footer-socials{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.footer-socials a{width:36px;height:36px;margin:0!important;border:1px solid #333;border-radius:50%;display:grid!important;place-items:center;color:#fff;background:#111;transition:.18s ease}.footer-socials a:hover{background:var(--pink);border-color:var(--pink);transform:translateY(-2px)}.footer-socials svg{width:18px;height:18px}.footer-socials path{fill:currentColor}
@media(max-width:620px){.footer-socials{margin-top:9px}.footer-socials a{width:34px;height:34px}}
