/* EPP PHTLS. All selectors are scoped; native Elementor controls remain editable. */
.epp-root { --epp-navy:#071b3e; --epp-blue:#003ec1; --epp-lime:#e1fe00; --epp-ink:#16263f; --epp-muted:#53647a; --epp-light:#f2f5fa; color:var(--epp-ink); font-family:Arial,Helvetica,sans-serif; line-height:1.6; }
.epp-root *, .epp-mobile-bar * { box-sizing:border-box; }
.epp-root.e-con { padding:0; gap:0; }
.epp-root .epp-shell { max-width:1200px; margin-inline:auto; }
.epp-root .epp-section { padding:88px 24px; }
.epp-root .elementor-widget { margin-bottom:0; }
.epp-root .elementor-heading-title { line-height:1.13; }
.epp-root p { margin:0 0 1em; }
.epp-root a { text-underline-offset:4px; }
.epp-root :where(a,button,input,select):focus-visible { outline:3px solid #147bd1; outline-offset:4px; }
.epp-root h1,.epp-root h2,.epp-root h3 { font-family:inherit; letter-spacing:-.025em; margin:0; }
.epp-root h2 { font-size:40px; }
.epp-root h3 { font-size:23px; }
.epp-root .epp-kicker { font-size:12px; line-height:1.3; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.epp-root .epp-brand .elementor-heading-title { font-size:31px; letter-spacing:-.04em; }
.epp-root .epp-brand-small { font-size:11px; line-height:1.3; }
.epp-root .epp-nav-link a { font-size:13px; color:#d7e3f6; text-decoration:none; }
.epp-root .epp-hero-title .elementor-heading-title { font-size:54px; line-height:1.05; }
.epp-root .epp-course { display:block; color:#fff; font-size:86px; line-height:1; margin:16px 0 26px; }
.epp-root .epp-intro { font-size:18px; line-height:1.65; }
.epp-root .epp-badge .elementor-heading-title { font-size:11px; letter-spacing:.08em; color:#e1fe00; background:#193257; padding:10px 13px; border-radius:5px; display:inline-block; }
.epp-root .epp-hero-photo img { width:100%; height:490px; object-fit:cover; object-position:48% center; border-radius:12px; display:block; }
.epp-root .epp-hero-visual { position:relative; padding-bottom:0; }
.epp-root .epp-hero-card { width:88%; margin:-110px 0 0 auto; z-index:2; }
.epp-root .epp-hero-card .elementor-shortcode { width:100%; }
.epp-root .epp-photo-caption { font-size:12px; line-height:1.5; }
.epp-root .epp-feature { border-top:2px solid #dfe7ef; padding-top:22px; }
.epp-root .epp-feature-number { color:var(--epp-blue); font-size:14px; font-weight:700; }
.epp-root .epp-feature p { font-size:16px; color:var(--epp-muted); }
.epp-root .epp-photo-wide img { width:100%; height:490px; object-fit:cover; border-radius:14px; display:block; }
.epp-root .epp-cert-panel { border:1px solid #d8e0ea; border-radius:14px; padding:34px; }
.epp-root .epp-cert-number .elementor-heading-title { font-size:74px; color:var(--epp-blue); }
.epp-root .epp-fact { font-size:14px; font-weight:700; }
.epp-root .epp-strip .elementor-heading-title { font-size:14px; line-height:1.45; }
.epp-root .epp-faq .elementor-accordion .elementor-tab-title { padding:23px 20px; font-size:17px; }
.epp-root .epp-faq .elementor-accordion .elementor-tab-content { padding:0 20px 24px; font-size:16px; }
.epp-root .epp-faq .elementor-accordion .elementor-accordion-item { border:0; border-bottom:1px solid #d8e0ea; }
.epp-root .epp-faq .elementor-accordion .elementor-tab-title.elementor-active { color:var(--epp-blue); }
.epp-root .epp-edition-card,.epp-form-card { color:#16263f; background:#fff; border:1px solid #dbe3ec; padding:32px; border-radius:14px; box-shadow:0 16px 46px #071b3e0c; }
.epp-root .epp-edition-card h3 { font-size:27px; margin:15px 0; line-height:1.2; }
.epp-tag { display:inline-flex; border-radius:30px; background:#eef3ff; color:#003ec1; font-size:11px; font-weight:700; padding:6px 11px; text-transform:uppercase; letter-spacing:.06em; }
.epp-edition-facts { margin:20px 0; }
.epp-edition-facts>div { display:grid; grid-template-columns:80px 1fr; gap:14px; padding:8px 0; border-bottom:1px solid #edf0f5; }
.epp-edition-facts dt { font-size:12px; color:#53647a; }
.epp-edition-facts dd { margin:0; font-size:14px; font-weight:600; }
.epp-price { padding:16px 0 6px; }
.epp-price span { display:block; font-size:12px; color:#53647a; }
.epp-price strong { display:block; font-size:39px; letter-spacing:-.04em; line-height:1.3; color:#071b3e; }
.epp-root .epp-small,.epp-form-card .epp-small { font-size:12px; color:#53647a; line-height:1.5; margin:12px 0 0; }
.epp-root .epp-edition-mini { padding:25px; }
.epp-root .epp-edition-mini h3 { font-size:22px; }
.epp-edition-mini .epp-edition-facts>div:nth-child(n+2),.epp-edition-mini .epp-map,.epp-edition-mini .epp-small { display:none; }
.epp-edition-mini .epp-edition-facts { margin:10px 0; }
.epp-edition-mini .epp-price { padding-top:0; }
.epp-edition-mini .epp-price strong { font-size:30px; }
.epp-btn,.epp-root .elementor-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:51px; border:0; border-radius:7px; background:#e1fe00; color:#071b3e; font-family:inherit; font-size:15px; font-weight:700; line-height:1.3; padding:15px 22px; text-decoration:none; cursor:pointer; transition:background .15s,transform .15s; box-shadow:none; }
.epp-btn:hover,.epp-root .elementor-button:hover { background:#d0ee00; color:#071b3e; transform:translateY(-1px); }
.epp-btn:disabled { opacity:.65; cursor:wait; transform:none; }
.epp-edition-card>.epp-btn,.epp-form-card>.epp-btn { width:100%; margin-top:14px; }
.epp-wa-link { display:inline-flex; gap:10px; align-items:center; color:inherit; font-size:15px; font-weight:600; text-decoration:underline; min-height:44px; }
.epp-root .epp-hero-wa .epp-wa-link,.epp-root #inscripcion .epp-wa-link { color:#fff; }
.epp-root #inscripcion .epp-form-card .epp-wa-link { color:#003ec1; }
.epp-root .epp-proof-host:not(:has(.epp-proof-block)) { display:none; }
.epp-root .epp-wa-link:hover { color:inherit; opacity:.8; }
.epp-root .epp-form-card h3 { font-size:26px; margin:0 0 12px; }
.epp-root .epp-form-card>p { color:#53647a; font-size:15px; }
.epp-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:25px 0 18px; }
.epp-field label { display:block; font-weight:600; font-size:13px; margin-bottom:6px; }
.epp-field input,.epp-field select { background:#fff; color:#16263f; font-family:inherit; font-size:16px; line-height:1.4; padding:12px; border:1px solid #b8c5d6; border-radius:6px; width:100%; min-height:48px; box-shadow:none; }
.epp-form-edition { background:#f2f5fa; padding:12px; border-radius:7px; }
.epp-consent { display:flex; align-items:flex-start; gap:10px; font-size:12px; color:#53647a; line-height:1.55; margin:18px 0; }
.epp-consent input { flex:0 0 18px; width:18px; height:18px; margin-top:3px; accent-color:#003ec1; }
.epp-consent a { color:#003ec1; }
.epp-hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.epp-form-status:not(:empty) { margin-top:18px; padding:14px; border-radius:6px; color:#0b5746; background:#e9f6ef; font-size:15px; }
.epp-form-status.epp-error { color:#8b1f27; background:#fff0f0; }
.epp-after-submit { margin-top:15px; color:#16263f; }
.epp-after-submit[hidden] { display:none; }
.epp-admin-note { font-size:13px; background:#fff4d4; color:#453900; padding:12px; }
.epp-conditions { color:inherit; font-size:15px; }
.epp-root .epp-proof-block { margin:35px 0; }
.epp-proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:28px; }
.epp-proof-card { margin:0; border:1px solid #d8e0ea; border-radius:12px; padding:28px; background:#fff; }
.epp-proof-card blockquote { border:0; margin:0 0 24px; padding:0; font-size:18px; line-height:1.6; color:#16263f; }
.epp-proof-card figcaption span { display:block; font-size:13px; color:#53647a; }
.epp-proof-card h3 { font-size:21px; }.epp-proof-card p { font-size:14px; }.epp-instructor-role { color:#003ec1; font-weight:600; }
.epp-footer { color:#ced9ea; font-size:14px; padding:45px 0 25px; }
.epp-footer strong { color:#fff; font-size:18px; }.epp-footer nav { display:flex; flex-wrap:wrap; gap:24px; margin:20px 0; }.epp-footer a { color:inherit; font-size:13px; }.epp-footer small { color:#9baec8; font-size:11px; }
.epp-mobile-bar { display:none; }
.epp-root [id] { scroll-margin-top:24px; }
@media (max-width:1024px) {
 .epp-root .epp-section { padding:64px 24px; }
 .epp-root .epp-nav-desktop { display:none; }
 .epp-root .epp-hero-title .elementor-heading-title { font-size:44px; }
 .epp-root .epp-course { font-size:70px; }
 .epp-root h2 { font-size:34px; }
 .epp-proof-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:767px) {
 .epp-root .epp-section { padding:48px 21px; }
 .epp-root .epp-hero-title .elementor-heading-title { font-size:38px; }
 .epp-root .epp-course { font-size:66px; margin-top:8px; margin-bottom:20px; }
 .epp-root .epp-intro { font-size:16px; }
 .epp-root h2 { font-size:32px; }
 .epp-root .epp-brand-small { display:none; }
 .epp-root .epp-hero-photo img { height:340px; }
 .epp-root .epp-photo-wide img { height:340px; }
 .epp-root .epp-hero-card { width:92%; margin-top:-70px; }
 .epp-root .epp-edition-card,.epp-form-card { padding:24px; }
 .epp-root .epp-header-button .elementor-button { font-size:12px; padding:11px 14px; min-height:42px; }
 .epp-root .epp-strip .elementor-heading-title { font-size:13px; }
 .epp-form-grid,.epp-proof-grid { grid-template-columns:1fr; }
 .epp-mobile-bar { display:flex; justify-content:space-between; align-items:center; gap:8px; position:fixed; z-index:80; left:0; right:0; bottom:0; padding:10px 16px max(10px,env(safe-area-inset-bottom)); background:#fff; color:#071b3e; box-shadow:0 -4px 22px #071b3e12; font-family:Arial,Helvetica,sans-serif; }
 .epp-mobile-bar>span { font-size:12px; font-weight:700; }
 .epp-mobile-bar .epp-btn { min-height:44px; font-size:12px; padding:11px 15px; }
 .epp-root .epp-footer { padding-bottom:105px; }
 .epp-root .epp-cert-panel { padding:26px; }
}
@media (prefers-reduced-motion:reduce) { .epp-root * { scroll-behavior:auto!important; transition:none!important; } }
