/* ===== AMSOFAC · Puente Elementor (tema oscuro) ===== */
.site-header .elementor-widget-image img{height:38px;width:auto;filter:brightness(0) invert(1)}
.site-header .elementor-widget-image{flex:none}
.site-header .elementor-widget-nav-menu{margin-left:auto}
.site-header ul.elementor-nav-menu{display:flex;align-items:center;gap:22px}
.site-header .elementor-nav-menu .elementor-item{color:#c3cce0;font-family:var(--font);font-size:14px;font-weight:500;padding:8px 0;line-height:1.2;background:transparent;fill:currentColor}
.site-header .elementor-nav-menu a.elementor-item:hover,.site-header .elementor-nav-menu a.elementor-item.elementor-item-active{color:#fff;background:transparent}
.site-header .elementor-nav-menu--dropdown,.site-header .sub-menu{background:#0c1222;border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.55);padding:8px;min-width:240px}
.site-header .sub-menu a.elementor-sub-item,.site-header .elementor-nav-menu--dropdown a.elementor-sub-item{color:#eef3ff;border-radius:9px;padding:11px 14px}
.site-header .sub-menu a.elementor-sub-item:hover{background:rgba(54,112,201,.18);color:var(--acid)}
.site-header .elementor-widget-button{flex:none}
.site-header .elementor-button{min-height:50px;border-radius:10px;text-transform:uppercase;font-size:13px;font-weight:700;letter-spacing:.02em;color:#fff;background:linear-gradient(110deg,var(--navy),var(--blue));border:1px solid rgba(120,169,255,.36);padding:0 26px;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;transition:all .2s var(--ease)}
.site-header .elementor-button:hover{color:#06101c;background:linear-gradient(110deg,var(--acid),#b6e2b3);border-color:transparent;box-shadow:0 16px 40px rgba(94,166,89,.28)}
.site-header .elementor-menu-toggle{color:#fff}
.site-footer.e-con .footer-grid.e-con{display:grid;grid-template-columns:1.45fr .9fr .9fr 1fr .65fr;gap:38px;align-items:start}
@media (max-width:900px){.site-footer.e-con .footer-grid.e-con{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.site-footer.e-con .footer-grid.e-con{grid-template-columns:1fr}}
.site-footer.e-con .footer-legal.e-con{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}
.site-footer .footer-grid .elementor-heading-title{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--acid);margin:0}
.site-footer .footer-grid .col:first-child img{height:34px;width:auto}
.site-footer .elementor-icon-list-icon{display:none}
.site-footer .elementor-icon-list-items{margin:0;padding:0}
.site-footer .elementor-icon-list-item{margin:0!important;border:0!important;padding:0!important}
.site-footer .elementor-icon-list-item .elementor-icon-list-text{color:rgba(255,255,255,.78);font-size:14px}
.site-footer .elementor-icon-list-item:hover .elementor-icon-list-text{color:#fff}
.site-footer .elementor-social-icon{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;width:42px;height:42px}
.site-footer .elementor-social-icon:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}
.site-footer .elementor-social-icon svg{fill:currentColor;width:18px;height:18px}

/* Form (Elementor Pro) dark */
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:34px}
.form-card .elementor-field-group>label{color:#fff;font-size:13px;font-weight:600;margin-bottom:6px}
.form-card .elementor-field{background:#0d1324;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#fff;padding:12px 14px;min-height:48px}
.form-card textarea.elementor-field{min-height:120px}
.form-card .elementor-field::placeholder{color:var(--copy-muted)}
.form-card .elementor-field:focus{border-color:var(--electric);outline:none}
.form-card .elementor-button{min-height:50px;border-radius:10px;text-transform:uppercase;font-size:13px;font-weight:700;letter-spacing:.02em;color:#fff;background:linear-gradient(110deg,var(--navy),var(--blue));border:1px solid rgba(120,169,255,.36)}
.form-card .elementor-button:hover{color:#06101c;background:linear-gradient(110deg,var(--acid),#b6e2b3)}

/* Marquesina logo-strip -> oscuro para cohesión */
.logo-strip{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.logo-strip .item{color:var(--copy-muted)}

/* Foto real de fondo en hero / page-hero */
.hero,.page-hero{position:relative}
.hero .hero-bg,.page-hero .hero-bg{position:absolute!important;inset:0;z-index:0;margin:0;padding:0;width:100%;height:100%}
.hero .hero-bg .elementor-widget-container,.hero .hero-bg a,.hero .hero-bg figure,.page-hero .hero-bg .elementor-widget-container,.page-hero .hero-bg a,.page-hero .hero-bg figure{height:100%;margin:0}
.hero .hero-bg img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72) contrast(1.12) brightness(.55)}
.page-hero .hero-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 34%;display:block;filter:saturate(.65) contrast(1.12) brightness(.5)}
.hero .hero-content,.page-hero .hero-content{position:relative;z-index:2}

/* Hero: foto de portada como fondo cubierto y oscurecido */
.hero{position:relative;isolation:isolate}
.hero>.elementor-widget-image{position:absolute;inset:0;z-index:0;margin:0;height:100%;pointer-events:none}
.hero>.elementor-widget-image .elementor-widget-container,.hero>.elementor-widget-image .elementor-image,.hero>.elementor-widget-image a,.hero>.elementor-widget-image img{height:100%;width:100%;display:block}
.hero>.elementor-widget-image img{object-fit:cover;object-position:66% 30%;filter:saturate(.72) contrast(1.1) brightness(.5)}
.hero>.elementor-widget-image::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,7,17,.5),rgba(5,7,17,.86))}

/* page-hero con foto de fondo (mismo patrón que el hero) */
.page-hero{position:relative;isolation:isolate}
.page-hero>.elementor-widget-image{position:absolute;inset:0;z-index:0;margin:0;height:100%;pointer-events:none}
.page-hero>.elementor-widget-image .elementor-widget-container,.page-hero>.elementor-widget-image .elementor-image,.page-hero>.elementor-widget-image a,.page-hero>.elementor-widget-image img{height:100%;width:100%;display:block}
.page-hero>.elementor-widget-image img{object-fit:cover;object-position:60% 30%;filter:saturate(.7) contrast(1.1) brightness(.5)}
.page-hero>.elementor-widget-image::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,7,17,.5),rgba(5,7,17,.86))}
.page-hero .hero-content{position:relative;z-index:2}
/* aside de registro pegajoso */
.reg-aside{position:sticky;top:104px;align-self:flex-start}
@media (max-width:900px){.reg-aside{position:static}}

/* ===== Widgets nativos Elementor -> tema oscuro AMSOFAC ===== */
.elementor-widget-button.btn-primary .elementor-button,.elementor-widget-button.btn-secondary .elementor-button,.elementor-widget-button.btn-light .elementor-button,.elementor-widget-button.btn-outline-light .elementor-button{min-height:50px;border-radius:10px;text-transform:uppercase;font-size:13px;font-weight:700;letter-spacing:.02em;padding:14px 30px;display:inline-flex;align-items:center;gap:8px;transition:all .2s;text-decoration:none!important}
.elementor-widget-button.btn-primary .elementor-button{color:#fff;background:linear-gradient(110deg,var(--navy),var(--blue));border:1px solid rgba(120,169,255,.36)}
.elementor-widget-button.btn-primary .elementor-button:hover{color:#06101c;background:linear-gradient(110deg,var(--acid),#b6e2b3)}
.elementor-widget-button.btn-secondary .elementor-button{color:#fff;background:transparent;border:1px solid rgba(255,255,255,.28)}
.elementor-widget-button.btn-secondary .elementor-button:hover{border-color:var(--acid);color:var(--acid)}
.elementor-widget-button.btn-light .elementor-button{color:#06101c;background:var(--acid);border:1px solid transparent}
.elementor-widget-button.btn-outline-light .elementor-button{color:#fff;background:transparent;border:1px solid rgba(255,255,255,.5)}
.elementor-widget-counter .elementor-counter-number-wrapper{color:#fff;font-weight:700;font-size:clamp(34px,4vw,50px);letter-spacing:-.02em;justify-content:flex-start}
.elementor-widget-counter .elementor-counter-title{color:var(--copy);font-size:14px;font-weight:500;margin-top:6px}
.amsofac-card.elementor-widget-icon-box{background:linear-gradient(145deg,rgba(21,30,53,.96),rgba(10,15,29,.98));border:1px solid var(--line-blue);border-radius:18px;padding:34px 30px;height:100%}
.amsofac-card .elementor-icon-box-title{color:#fff;font-size:19px}
.amsofac-card .elementor-icon-box-description{color:var(--copy);font-size:14.5px}
.amsofac-card .elementor-icon-box-icon{margin-bottom:14px}
.amsofac-card .elementor-icon-box-icon .elementor-icon{color:var(--acid);fill:var(--acid);font-size:26px}
.elementor-widget-countdown .elementor-countdown-item{background:var(--surface);border:1px solid var(--line-blue);border-radius:12px;color:#fff;padding:18px 8px}
.elementor-widget-countdown .elementor-countdown-digits{color:#fff;font-weight:700;font-size:clamp(30px,4vw,46px)}
.elementor-widget-countdown .elementor-countdown-label{color:var(--copy);text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.elementor-widget-tabs .elementor-tabs-wrapper .elementor-tab-title{background:var(--surface);border:1px solid var(--line-blue);border-radius:10px;color:var(--copy);font-weight:700;text-transform:uppercase;font-size:13px;margin:0 6px 0 0;padding:14px 22px}
.elementor-widget-tabs .elementor-tab-title.elementor-active{color:#06101c;background:linear-gradient(110deg,var(--acid),#b6e2b3);border-color:transparent}
.elementor-widget-tabs .elementor-tab-content{background:transparent;border:0;color:var(--copy);padding:24px 0}
.elementor-widget-tabs .elementor-tabs{border:0}
.elementor-widget-tabs .elementor-tabs-content-wrapper{border:0}
.elementor-widget-accordion .elementor-accordion{border:0!important}
.elementor-widget-accordion .elementor-accordion-item{border:1px solid var(--line-blue)!important;border-radius:14px!important;margin-bottom:20px!important;overflow:hidden;background:rgba(21,30,53,.6)!important}
.elementor-widget-accordion .elementor-accordion-item:last-child{margin-bottom:0!important}
.elementor-widget-accordion .elementor-tab-title{background:transparent!important;border:0!important;border-radius:0!important;margin:0!important;color:#fff!important;font-weight:600;padding:20px 24px!important}
.elementor-widget-accordion .elementor-tab-title.elementor-active{background:transparent!important;color:#fff!important}
.elementor-widget-accordion .elementor-tab-content{background:transparent!important;border:0!important;color:var(--copy)!important;padding:0 24px 22px!important}
.elementor-widget-accordion .elementor-accordion-icon{color:var(--acid)!important}
.elementor-widget-accordion .elementor-accordion-icon i,.elementor-widget-accordion .elementor-accordion-icon svg{font-size:16px!important;color:var(--acid)!important;fill:var(--acid)!important}
.elementor-widget-price-table .elementor-price-table{background:linear-gradient(145deg,rgba(21,30,53,.96),rgba(10,15,29,.98));border:1px solid var(--line-blue);border-radius:18px;overflow:hidden;height:100%}
.elementor-widget-price-table .elementor-price-table__header{padding:30px 26px 6px;border:0}
.elementor-widget-price-table .elementor-price-table__heading{color:#fff;font-size:16px;text-transform:uppercase;letter-spacing:.04em}
.elementor-widget-price-table .elementor-price-table__subheading{color:var(--copy-muted);font-size:13px}
.elementor-widget-price-table .elementor-price-table__price{color:#fff;padding:8px 0}
.elementor-widget-price-table .elementor-price-table__integer-part{font-weight:700}
.elementor-widget-price-table .elementor-price-table__period{color:var(--copy-muted)}
.elementor-widget-price-table .elementor-price-table__features-list{background:transparent}
.elementor-widget-price-table .elementor-price-table__features-list li{color:var(--copy);border-color:rgba(255,255,255,.08);font-size:14px}
.elementor-widget-price-table .elementor-price-table__features-list .elementor-icon-list-icon i{color:var(--acid)}
.elementor-widget-price-table .elementor-price-table__footer{padding:0 26px 30px}
.elementor-widget-price-table .elementor-price-table__button{border-radius:10px;text-transform:uppercase;font-weight:700;font-size:13px}

/* aside de registro con widgets nativos */
.form-card .elementor-widget-heading .elementor-heading-title{color:#fff}
.reg-badge .elementor-heading-title{display:inline-block;background:rgba(120,169,255,.16);color:var(--electric);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600;padding:6px 12px;border-radius:4px}
.reg-badge.socios .elementor-heading-title{background:rgba(143,194,140,.16);color:var(--acid)}
.reg-price .elementor-heading-title{color:var(--acid);font-size:26px;font-weight:700;letter-spacing:-.01em}
.form-card .elementor-icon-list-items{--e-icon-list-icon-size:14px}
.form-card .elementor-icon-list-item{margin-bottom:8px}
.form-card .elementor-icon-list-text{color:var(--copy);font-size:14px}
.form-card .elementor-icon-list-icon i,.form-card .elementor-icon-list-icon svg{color:var(--acid);fill:var(--acid)}
.form-card .overline .elementor-heading-title{color:var(--acid);font-size:11px;letter-spacing:.1em;text-transform:uppercase}

/* ===== HERO fiel al diseño ===== */
.hero .elementor-widget-heading.h-display .elementor-heading-title{font-size:clamp(52px,7.8vw,112px);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;color:#fff;font-weight:800;max-width:10ch;text-shadow:0 8px 45px rgba(0,0,0,.5)}
.hero .elementor-widget-heading.h-display .elementor-heading-title strong{color:var(--acid);font-weight:800}
.elementor-widget-heading.overline .elementor-heading-title{display:inline-flex;align-items:center;gap:10px;color:var(--acid);font-weight:700;letter-spacing:.18em;font-size:12px;text-transform:uppercase}
.elementor-widget-heading.overline .elementor-heading-title::before{content:'';width:26px;height:2px;background:currentColor;box-shadow:0 0 14px currentColor;flex:none}
.hero .elementor-widget-text-editor.lead,.hero .elementor-widget-text-editor.lead p{color:#dbe4f5;font-size:clamp(18px,1.7vw,21px);max-width:52ch}
.hero-date{width:max-content;display:flex;align-items:center;gap:17px;padding:13px 20px 12px;border-left:4px solid var(--acid);background:linear-gradient(90deg,rgba(143,194,140,.15),rgba(54,112,201,.06));box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.hero-date .big .elementor-heading-title{font-size:clamp(48px,6.2vw,84px);color:#fff;font-weight:700;letter-spacing:-.02em;line-height:1;text-shadow:0 0 32px rgba(120,169,255,.28)}
.hero-date .rest .elementor-heading-title{font-size:14px;color:#dce6fa;text-transform:uppercase;letter-spacing:.08em;font-weight:500;line-height:1.15;max-width:9ch}
.hero-venue.elementor-widget-icon-box{width:max-content;max-width:46ch;padding:16px 18px;background:rgba(8,12,25,.58);border:1px solid rgba(255,255,255,.1);border-radius:12px;backdrop-filter:blur(12px)}
.hero-venue .elementor-icon-box-wrapper{text-align:left}
.hero-venue .elementor-icon-box-icon{margin:0 12px 0 0}
.hero-venue .elementor-icon-box-icon .elementor-icon{color:var(--acid);font-size:18px}
.hero-venue .elementor-icon-box-title{color:#fff;font-size:15px;margin-bottom:4px}
.hero-venue .elementor-icon-box-description{color:#cbd4e7;font-size:14px;line-height:1.5}

/* ===== Sección Por qué asistir (fiel al diseño) ===== */
.elementor-widget-heading.overline::before{content:none!important}
.elementor-widget-heading.h2 .elementor-heading-title{font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.04em;color:#fff;font-weight:700}
.value-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px}
.value-card{position:relative;background:linear-gradient(145deg,rgba(21,30,53,.96),rgba(10,15,29,.98));border:1px solid var(--line-blue);border-radius:18px;padding:54px 30px 30px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 14px 48px rgba(0,0,0,.17)}
.value-card::before{content:'';position:absolute;left:0;top:0;width:72px;height:4px;background:linear-gradient(90deg,var(--acid),var(--electric));box-shadow:0 0 22px rgba(120,169,255,.42);z-index:2}
.value-card .card-num .elementor-heading-title{position:absolute;top:6px;right:18px;font-size:76px;font-weight:700;letter-spacing:-.04em;color:rgba(120,169,255,.13);line-height:1}
.value-card .card-title .elementor-heading-title{color:#fff;position:relative;z-index:1;font-size:20px;max-width:12ch}
.value-card .elementor-widget-text-editor,.value-card .elementor-widget-text-editor p{color:var(--copy);font-size:14.5px;position:relative;z-index:1}
.value-stats{display:grid!important;grid-template-columns:auto repeat(3,1fr);gap:32px;align-items:end}
.stats-intro .elementor-heading-title{color:#fff;font-weight:600;font-size:18px;max-width:14ch;line-height:1.25}
.stat-card{position:relative;padding:20px 22px 22px;background:rgba(17,24,43,.6);border:1px solid var(--line-blue);border-radius:14px;border-top:3px solid var(--electric)}
.stat-card::after{content:'';position:absolute;left:22px;bottom:14px;width:28px;height:3px;background:var(--acid);border-radius:2px}
@media(max-width:900px){.value-grid{grid-template-columns:1fr!important}.value-stats{grid-template-columns:1fr 1fr!important}}

/* ===== Sección Perfil de asistentes ===== */
.perfil-band{padding:96px 0 104px}
.perfil-grid{display:grid!important;grid-template-columns:1.05fr 1fr;gap:28px 72px;align-items:center}
.perfil-copy .elementor-widget-heading.h2 .elementor-heading-title{color:#fff;max-width:18ch}
.elementor-widget-text-editor.on-dark-muted,.elementor-widget-text-editor.on-dark-muted p{color:#bdc9df;max-width:52ch}
.perfil-chips .elementor-icon-list-items{display:flex;flex-direction:column;gap:14px}
.perfil-chips .elementor-icon-list-item{background:rgba(4,7,18,.34);border:1px solid rgba(143,194,140,.2);border-radius:14px;padding:16px 22px;margin:0}
.perfil-chips .elementor-icon-list-item:hover{background:rgba(255,255,255,.10);border-color:rgba(143,194,140,.5)}
.perfil-chips .elementor-icon-list-icon i{color:var(--electric)}
.perfil-chips .elementor-icon-list-text{color:#fff;font-weight:600;font-size:15px}
.perfil-photo-b{position:relative}
.perfil-photo-b .elementor-widget-image img{aspect-ratio:4/5;object-fit:cover;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,30,.45)}
.perfil-photo-b .elementor-widget-button.btn-circle{position:absolute;left:-56px;top:34%;z-index:3;width:auto}
.btn-circle .elementor-button{width:140px;height:140px;border-radius:999px;display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,var(--acid),#cae9c8);color:#06101c;font-weight:700;font-size:15px;line-height:1.25;box-shadow:0 20px 70px rgba(0,0,0,.5),0 0 0 9px rgba(143,194,140,.08);padding:0;min-height:0;text-transform:none}
@media(max-width:900px){.perfil-grid{grid-template-columns:1fr!important}.perfil-photo-b .elementor-widget-button.btn-circle{left:auto;right:18px;top:-48px;width:118px;height:118px}}

/* ===== Perfil: banda de texto móvil (izq->der) + foto superior ===== */
.perfil-marquee-band{overflow:hidden;position:relative;padding:6px 0 2px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.perfil-marquee-band .pm-track{display:flex;width:max-content;animation:pm-ltr 107s linear infinite;will-change:transform}
.perfil-marquee-band:hover .pm-track{animation-play-state:paused}
.perfil-marquee-band .pm-word{font-size:clamp(38px,7vw,104px);font-weight:700;letter-spacing:-.03em;line-height:1.05;color:rgba(255,255,255,.5);white-space:nowrap;padding:0 6px}
@keyframes pm-ltr{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.perfil-photo-a{grid-column:1 / 3;justify-self:center;width:min(680px,82%);margin-bottom:12px}
.perfil-photo-a .elementor-widget-container img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,30,.45)}
@media(max-width:900px){.perfil-photo-a{grid-column:1;width:100%}}

/* ===== Sección AMSOFAC x The Alta Group ===== */
#alta-group{position:relative;overflow:hidden}
#alta-group::after{content:'';position:absolute;top:7%;right:-90px;width:360px;height:360px;border:1.5px solid rgba(120,169,255,.16);border-radius:28px;transform:rotate(16deg);pointer-events:none;z-index:0}
#alta-group::before{content:'';position:absolute;top:24%;right:30px;width:150px;height:150px;border:1px solid rgba(143,194,140,.12);border-radius:16px;transform:rotate(16deg);pointer-events:none;z-index:0}
.ag-card{position:relative;z-index:1;max-width:960px;margin:0 auto;background:linear-gradient(145deg,#121838,#102d3b);border:1px solid rgba(143,194,140,.22);border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.35);padding:72px 64px;text-align:center;display:flex;flex-direction:column;gap:20px;align-items:center;overflow:hidden}
.ag-card>*{position:relative;z-index:1}
.ag-card .elementor-widget-heading.h2 .elementor-heading-title{color:#fff;max-width:22ch;margin:0 auto}
.ag-card .elementor-widget-text-editor,.ag-card .elementor-widget-text-editor p{color:#bdc9df;max-width:62ch;margin:0 auto}
@media(max-width:640px){.ag-card{padding:48px 24px}#alta-group::after{width:220px;height:220px;right:-70px}}

/* ===== Cuenta regresiva (diseño exacto) ===== */
.elementor-widget-heading.cd-overline .elementor-heading-title{color:#7d9ad0}
.elementor-widget-heading.cd-title .elementor-heading-title{font-size:clamp(24px,2.6vw,32px);color:#fff;line-height:1.15;letter-spacing:-.01em}
.countdown .num{border-radius:12px}
.cd-row{gap:40px}
@media(max-width:760px){.cd-row{justify-content:flex-start}}

/* Programa sede */
.sede-grid>*{min-width:280px}
.sede-map .elementor-custom-embed,.sede-map iframe{border-radius:16px;min-height:340px;border:1px solid var(--line-blue)}
.sede-card .elementor-widget-heading h3.elementor-heading-title,.sede-card .elementor-heading-title{color:#fff}

/* pases: palomita */
.pass-card li .ck{color:var(--acid);font-weight:800;flex:none;line-height:1.45}

/* ===== Sección Cómo registrarte (pasos, widgets nativos) ===== */
.steps{display:grid!important}
.step .elementor-widget{position:relative}
.step .elementor-widget-heading.step-ghost{position:absolute;top:-30px;right:0;z-index:0;margin:0;pointer-events:none}
.step .step-ghost .elementor-heading-title{font-size:88px;font-weight:700;letter-spacing:-.04em;line-height:1;color:rgba(255,255,255,.10)}
.step .elementor-widget-heading.step-paso .elementor-heading-title{color:#7d9ad0}
.step .step-title .elementor-heading-title{font-size:19px;color:#fff}
.step .elementor-widget-text-editor.step-desc,.step .elementor-widget-text-editor.step-desc p{font-size:14px;color:#cdd6ea;line-height:1.6}

/* ===== Marquesina de palabras (isotipo a color) ===== */
.marquee-words .iso{filter:none!important;width:34px;flex:none;margin:0 4px;filter:drop-shadow(0 0 10px rgba(0,0,0,.35))!important}
.marquee-words .track{animation:marquee 67s linear infinite!important}
.marquee-words:hover .track{animation-play-state:paused}

/* ===== Testimonial Carousel (tema oscuro) ===== */
.amsofac-testi .elementor-testimonial__text,.amsofac-testi .elementor-testimonial__content{color:#dbe4f5;font-size:clamp(17px,1.6vw,21px);line-height:1.6}
.amsofac-testi .elementor-testimonial__name{color:#fff;font-weight:700}
.amsofac-testi .elementor-testimonial__title{color:#8e9bb7}
.amsofac-testi .elementor-testimonial__image img{border-radius:14px;border:1px solid var(--line-blue)}
.amsofac-testi .elementor-swiper-button,.amsofac-testi .elementor-swiper-button-prev,.amsofac-testi .elementor-swiper-button-next{color:#fff!important;background:var(--surface);border:1px solid var(--line-blue);width:52px;height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center}
.amsofac-testi .elementor-swiper-button:hover{border-color:var(--acid);color:var(--acid)!important}
.amsofac-testi .swiper-pagination-bullet{background:rgba(255,255,255,.35)}
.amsofac-testi .swiper-pagination-bullet-active{background:var(--acid)}

/* ===== Sección Aliados (widgets nativos) ===== */
.ally-grid{display:grid!important}
.ally-card .elementor-widget-image img{max-width:360px;max-height:116px;object-fit:contain;width:auto}
.ally-card .elementor-widget-image .elementor-widget-container{display:flex;justify-content:center}
.ally-wordmark{display:flex!important;flex-direction:column;gap:4px;place-items:center;text-align:center}
.ally-card .elementor-heading-title{color:#0f1b3d;text-align:center}
.ally-wordmark .ally-name .elementor-heading-title{font-size:20px;font-weight:700;color:#12206b}
.ally-wordmark .ally-sub .elementor-heading-title{color:#6a7690;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}

/* ===== Preguntas frecuentes (2 columnas) ===== */
.faq-row{display:grid!important;grid-template-columns:minmax(280px,400px) 1fr;gap:56px;align-items:start}
.faq-aside{position:sticky;top:120px}
@media(max-width:900px){.faq-row{grid-template-columns:1fr}.faq-aside{position:static}}

/* ===== Contacto (2 columnas) ===== */
.contacto-row{display:grid!important;grid-template-columns:minmax(280px,440px) 1fr;gap:56px;align-items:start}
@media(max-width:900px){.contacto-row{grid-template-columns:1fr}}

/* ===== Únete (banda final centrada) ===== */
.unete-inner{text-align:center}
.unete-title .elementor-heading-title{font-size:clamp(30px,4vw,48px);line-height:1.08;letter-spacing:-.02em;max-width:16ch;color:#fff;margin:0 auto}
.unete-iso .elementor-widget-container{display:flex;justify-content:center}
.unete-iso img{width:44px;height:auto}
.unete-inner .elementor-widget-text-editor.on-dark-muted,.unete-inner .elementor-widget-text-editor.on-dark-muted p{margin-left:auto;margin-right:auto}

/* ===== Sección Legado (video) ===== */
.legado-row{display:grid!important;grid-template-columns:minmax(280px,420px) 1fr;gap:72px;align-items:center}
@media(max-width:900px){.legado-row{grid-template-columns:1fr}.legado-vertical{display:none!important}}
.legado-media{position:relative}
.legado-video-frame{position:relative;aspect-ratio:9/16;max-height:600px;border-radius:14px;overflow:hidden;background:#0a1330}
.legado-video-frame .elementor-widget-video,.legado-video-frame .elementor-widget-video .elementor-widget-container,.legado-video-frame .elementor-wrapper,.legado-video-frame .elementor-fit-aspect-ratio{position:absolute!important;inset:0;height:100%;width:100%;margin:0;padding:0}
.legado-video-frame video,.legado-video-frame .elementor-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.legado-video-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,0,60,.12),rgba(3,0,40,.55));pointer-events:none;z-index:1}
.legado-badge{position:absolute!important;right:16px;top:16px;z-index:3;margin:0!important}
.legado-badge .elementor-heading-title{width:74px;height:74px;border-radius:999px;background:rgba(255,255,255,.94);color:#12206b;display:grid;place-items:center;font-size:22px;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.legado-label{position:absolute!important;left:18px;bottom:16px;z-index:3;margin:0!important}
.legado-label .elementor-heading-title{color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.legado-vertical{position:absolute!important;top:50%;left:-46px;transform:translateY(-50%);z-index:0;margin:0!important;pointer-events:none}
.legado-vertical .elementor-heading-title{writing-mode:vertical-rl;transform:rotate(180deg);font-size:60px;font-weight:700;letter-spacing:.06em;color:rgba(120,169,255,.12);line-height:1}
.legado-revive .elementor-heading-title{color:var(--acid);font-weight:600}

/* ===== Hover: borde iluminado progresivo en .value-card ===== */
@property --vc-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.value-card{transition:box-shadow .45s ease}
.value-card::after{content:'';position:absolute;inset:0;border-radius:18px;padding:1.6px;background:conic-gradient(from var(--vc-angle),transparent 0deg,transparent 200deg,var(--acid) 280deg,var(--electric) 340deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:0;transition:opacity .45s ease;pointer-events:none;z-index:2}
.value-card:hover::after{opacity:1;animation:vc-glow 2.4s linear infinite}
.value-card:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 54px rgba(0,0,0,.2),0 0 28px rgba(120,169,255,.16)}
@keyframes vc-glow{to{--vc-angle:360deg}}
@media(prefers-reduced-motion:reduce){.value-card:hover::after{animation:none}}

/* ===== Speakers: quitar overlay/tinte de la foto central ===== */
.speaker-showcase .sp-card.pos-center .sp-foto{mix-blend-mode:normal!important;filter:drop-shadow(0 12px 24px rgba(0,0,0,.42))!important}

/* ===== Programa: hover azul de los botones de fecha ===== */
.tabs .tab-btn:not(.active):hover{background:#03007D!important;color:#fff!important}
.tabs .tab-btn:not(.active):hover small{color:rgba(255,255,255,.85)!important}

/* ===== Testimonios: miniatura = logo empresa (rectangular, blanco 70%, redondeado) ===== */
.tst-who .tst-avatar{width:auto!important;height:auto!important;min-width:0!important;border-radius:8px!important;background:rgba(255,255,255,.7)!important;padding:8px 12px!important;display:inline-flex!important;align-items:center;justify-content:center;flex:none;overflow:hidden}
.tst-who .tst-avatar img{width:auto!important;height:auto!important;max-width:112px;max-height:30px;object-fit:contain!important;border-radius:0!important;display:block}

/* ===== Testimonios: flecha focus/active azul AMSOFAC + logo sin recorte ===== */
.tst-arrow:focus,.tst-arrow:active,.tst-arrow:focus-visible{background:#03007D!important;color:#fff!important;border-color:#03007D!important;box-shadow:0 12px 28px rgba(3,0,125,.32)!important}
.tst-who .tst-avatar{border:none!important;overflow:visible!important}
.tst-who .tst-avatar img{transform:none!important;transform-origin:center!important;object-fit:contain!important;width:auto!important;height:auto!important;max-width:120px!important;max-height:34px!important}

/* ===== Testimonios: testimonio largo (Marcelo) con letra/interlineado menores ===== */
.tst-slide.is-long .tst-copy blockquote{font-size:clamp(15px,1.35vw,17px)!important;line-height:1.5!important}
.tst-slide.is-long .tst-copy .tst-mark{font-size:52px!important;line-height:.6!important}

/* ===== Form Elementor Pro (contacto): campos oscuros + botón como el diseño ===== */
.form-card .elementor-field-label{color:#edf2ff!important;font-weight:600}
.form-card input.elementor-field,.form-card textarea.elementor-field,.form-card select.elementor-field,.form-card .elementor-field-textual{background:#090f1d!important;border:1px solid rgba(155,170,204,.25)!important;border-radius:9px!important;color:#fff!important;padding:12px 14px!important;box-shadow:none!important;-webkit-text-fill-color:#fff}
.form-card input.elementor-field:hover,.form-card textarea.elementor-field:hover,.form-card .elementor-field-textual:hover{border-color:rgba(143,194,140,.52)!important}
.form-card input.elementor-field:focus,.form-card textarea.elementor-field:focus,.form-card .elementor-field-textual:focus{border-color:var(--acid)!important;box-shadow:0 0 0 4px rgba(143,194,140,.13),0 0 30px rgba(54,112,201,.08)!important;outline:none!important}
.form-card input.elementor-field::placeholder,.form-card textarea.elementor-field::placeholder{color:#6e7b99}
.form-card .elementor-mark-required .elementor-field-label:after{color:var(--acid)!important}
.form-card .elementor-field-type-submit{align-items:flex-start!important}
.form-card .elementor-field-type-submit .elementor-button{width:auto!important;flex-basis:auto!important;background:linear-gradient(120deg,#03007D,#3a5fc8)!important;color:#fff!important;border:none!important;border-radius:10px!important;padding:15px 34px!important;box-shadow:0 14px 34px rgba(3,0,125,.32)!important;text-transform:uppercase;font-weight:700;letter-spacing:.02em}

/* ===== Registro/pases: quitar textura del fondo ===== */
#registro::before{background-image:none!important;content:none!important}

/* ===== Cuenta regresiva: fondo con imagen (Fondo-azul-degradado) ===== */
#cuenta{background:linear-gradient(rgba(4,6,40,.34),rgba(4,6,40,.34)),url('https://2026amsofac2.pixelbot.com.mx/wp-content/uploads/2026/08/Fondo-azul-degradado.jpg') center center / cover no-repeat!important}
#cuenta::before,#cuenta::after{display:none!important;content:none!important}

/* ===== Hospedaje (14): hero bg posición superior centro ===== */
.elementor-element-heroBg14 img{object-position:center top!important}

/* ===== Página de agradecimiento ===== */
.gr-card-title .elementor-heading-title{color:#fff}
#gracias-contenido .elementor-widget-text-editor,#gracias-contenido .elementor-widget-text-editor p{color:#c7d0e3}
#gracias-contenido .elementor-widget-text-editor strong{color:#fff}
#gracias-contenido .elementor-widget-text-editor a{color:var(--electric)}
#gracias-contenido .form-card{padding:32px 34px}

/* ===================== RESPONSIVO móvil/tablet (solo ≤ breakpoints; escritorio intacto) ===================== */
@media (max-width:1024px){body{overflow-x:clip}}
/* Formularios: campos a ancho completo en móvil */
@media (max-width:767px){.elementor-form-fields-wrapper .elementor-field-group{width:100%!important;max-width:100%!important;flex:0 0 100%!important}}
/* Páginas de registro: apilar formulario + aside */
@media (max-width:900px){.container:has(> .reg-aside){flex-direction:column!important;flex-wrap:wrap}.container:has(> .reg-aside) > *{width:100%!important;max-width:100%!important}.reg-aside{position:static!important;width:100%!important}}
/* Footer: apilar columnas */
@media (max-width:768px){.footer-grid{display:grid!important;grid-template-columns:1fr 1fr!important}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr!important}}
/* Header: botón CTA compacto para que no desborde */
@media (max-width:600px){.elementor-location-header .elementor-widget-button .elementor-button{padding:9px 14px!important;font-size:12px!important}}
/* Cuenta regresiva: envolver celdas en pantallas muy chicas */
@media (max-width:420px){.countdown{flex-wrap:wrap;justify-content:center;gap:6px}.countdown .num{min-width:56px;font-size:26px}}
/* value-stats: 2 col en móvil, 1 col en muy chico */
@media (max-width:640px){.value-stats{grid-template-columns:1fr 1fr!important}}
@media (max-width:440px){.value-stats{grid-template-columns:1fr!important}}

/* ===== FIX responsivo móvil: menú vertical, scroll horizontal, hero ===== */
@media (max-width:1024px){
.elementor-nav-menu--dropdown .elementor-nav-menu{display:block!important}
.elementor-nav-menu--dropdown .elementor-nav-menu > li,.elementor-nav-menu--dropdown li.menu-item{display:block!important;width:100%!important;float:none!important}
.elementor-nav-menu--dropdown .elementor-item{display:block!important;width:100%!important}
html,body{overflow-x:clip!important}
.sp-carousel,.sp-stage{overflow:hidden!important}
}
@media (max-width:767px){
.hero{background-image:none!important;background-color:#050711!important}
}

/* ===== FIX móvil v2: overlay presentador del hero + contener desborde por sección ===== */
@media (max-width:1024px){
.hero,.section,.band-navy,#speakers,#testimonios,#legado,#perfil,#programa,#registro,#pasos-sec,#mq-words-sec,#aliados,#preguntas,#contacto,#sede{overflow-x:clip}
.sp-carousel,.sp-stage,.speaker-showcase{overflow:hidden!important}
}
@media (max-width:767px){
.hero .elementor-motion-effects-container,.hero .elementor-motion-effects-layer{display:none!important}
.hero .h-display{font-size:clamp(30px,8vw,46px)!important;overflow-wrap:anywhere}
}

/* ===== FIX hero móvil v3 (definitivo): presentador = ::before del contenedor 3cf79a6 ===== */
@media (max-width:1024px){.elementor-12 .elementor-element-3cf79a6{overflow:hidden!important}}
@media (max-width:767px){
.elementor-12 .elementor-element.elementor-element-3cf79a6::before{background-image:none!important;opacity:0!important;content:none!important}
.elementor-12 .elementor-element-3cf79a6 > .elementor-motion-effects-container{display:none!important}
}

/* ===== FIX desborde horizontal v2: clip TODAS las secciones de nivel superior (incl. sin clase) ===== */
@media (max-width:1024px){
.elementor-12{overflow-x:clip}
.elementor-12 > .elementor-element{overflow-x:clip}
}

/* ===== FIX desborde v3: bloqueo duro del scroll horizontal (móvil/tablet) ===== */
@media (max-width:1024px){
html,body{overflow-x:hidden!important;max-width:100vw}
.elementor-location-header,.elementor-location-footer,.elementor-12,.elementor-12 > .elementor-element{overflow-x:clip!important;max-width:100vw}
}

/* ===== FIX v4: contener anchos SIEMPRE (sin media query) para no expandir el viewport en iOS ===== */
html,body{overflow-x:clip}
.perfil-marquee-band,.marquee{overflow:hidden!important;max-width:100vw;contain:layout paint}
.elementor-image-carousel-wrapper,.swiper,.swiper-container{overflow:hidden!important;max-width:100vw;contain:layout paint}
.elementor-widget-image-carousel{overflow:hidden!important;max-width:100vw;contain:layout paint}

/* ===== FIX v5: hero-content corrido a la izq (grid centrado) → block + reset ===== */
@media (max-width:1024px){
.elementor-element-3cf79a6{display:block!important}
.elementor-element-3cf79a6 .elementor-element-f35b24e,.elementor-element-3cf79a6 .elementor-element-92b23fc{margin-left:0!important;margin-right:0!important;transform:none!important;max-width:100%!important;justify-self:start!important;left:auto!important}
}

/* ===== Hero móvil: padding lateral + botones centrados ===== */
@media (max-width:1024px){
.elementor-element-3cf79a6 .elementor-element-f35b24e{padding-left:18px!important;padding-right:18px!important}
.elementor-element-061d018{justify-content:center!important;align-items:center!important;flex-wrap:wrap}
}

/* ===== Ajustes móvil secciones internas ===== */
@media (max-width:767px){
.page-hero + .section{padding-top:40px!important}
.form-card{padding:22px 16px!important}
.page-hero .h-display{font-size:clamp(24px,6.5vw,36px)!important;line-height:1.06}
.sede-grid,.sede-grid>.e-con-inner{display:flex!important;flex-direction:column!important}
.sede-grid>*,.sede-grid>.e-con-inner>*,.sede-card,.sede-map{width:100%!important;max-width:100%!important;flex:0 0 auto!important}
.sede-grid .elementor-widget-google_maps iframe,.sede-grid iframe{min-height:260px}
}

/* ===== Menú móvil: padding izq + separación entre items ===== */
@media (max-width:1024px){
.elementor-nav-menu--dropdown .elementor-item{padding-left:35px!important;padding-top:14px!important;padding-bottom:14px!important}
.elementor-nav-menu--dropdown .elementor-sub-item{padding-left:48px!important}
}

/* ===== Sede móvil (refuerzo máx especificidad + --width): apilar card+mapa ===== */
@media (max-width:767px){
.elementor-element.elementor-element-prog-sede{flex-direction:column!important}
.elementor-element.elementor-element-prog-sede > .elementor-element{--width:100%!important;width:100%!important;max-width:100%!important;flex:0 0 auto!important;align-self:stretch!important}
.elementor-element.elementor-element-prog-sede .sede-map,.elementor-element.elementor-element-prog-sede .elementor-widget-google_maps{width:100%!important;--width:100%!important}
}
