/* Sistema visual público unificado: Home, catálogo y fichas. */
:root{
  --esem-blue-900:#0e2f4e;--esem-blue-700:#1f5f99;--esem-blue-500:#2d6fb7;--esem-blue-100:#e6f0fa;
  --esem-bg:#f7fafd;--esem-surface:#fff;--esem-text:#183042;--esem-muted:#5b6b78;--esem-border:#d9e4ef;
  --public-ink:var(--esem-text);--public-ink-soft:#344f64;--public-muted:var(--esem-muted);
  --public-petrol:var(--esem-blue-900);--public-petrol-deep:#09253e;--public-accent:var(--esem-blue-700);
  --public-accent-hover:#174b79;--public-highlight:var(--esem-blue-500);--public-paper:var(--esem-bg);
  --public-mist:var(--esem-blue-100);--public-surface:var(--esem-surface);--public-line:var(--esem-border);
  --public-shadow:0 18px 48px rgba(14,47,78,.085);--public-radius:20px
}
body{color:var(--public-ink-soft);background:var(--public-paper)}
h1,h2,h3,h4,h5{color:var(--public-ink)}
.button{border-color:rgba(255,255,255,.08);background:var(--public-accent);box-shadow:0 12px 28px rgba(31,95,153,.18);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.button:hover{background:var(--public-accent-hover);box-shadow:0 16px 32px rgba(14,47,78,.22);transform:translateY(-1px)}
.button-outline{border-color:rgba(255,255,255,.58);background:rgba(4,39,49,.18);box-shadow:none}
.button-outline:hover{border-color:rgba(255,255,255,.78);background:rgba(255,255,255,.13);box-shadow:none}
.header-button{border-color:rgba(255,255,255,.2);background:var(--public-accent);box-shadow:0 10px 24px rgba(6,31,53,.2)}
.site-header,.site-header.inner-header,.header-inner,.inner-header .header-inner{height:96px}
.inner-header{position:absolute;top:0;left:0;z-index:20;width:100%;border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(2,28,37,.72),rgba(2,28,37,.08));box-shadow:none}
.site-header:not(.inner-header){border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(2,25,34,.36),transparent)}
.public-nav-link{color:rgba(255,255,255,.84);font-weight:720;letter-spacing:.005em}
.site-brand .site-logo,.inner-header .site-brand .site-logo{width:66px;height:66px;flex-basis:66px;margin:0;border-color:rgba(255,255,255,.5);background:#f7f4ec;box-shadow:0 10px 24px rgba(0,21,29,.2)}
.site-brand-copy b,.inner-header .site-brand-copy b{font-size:18px;letter-spacing:.095em}
.site-brand-copy small,.inner-header .site-brand-copy small{font-size:9px;letter-spacing:.035em}
.hero{background-image:linear-gradient(120deg,rgba(2,28,38,.74),rgba(5,25,36,.45) 55%,rgba(3,22,31,.64)),url("../images/hero.png")}
.hero:before{opacity:.075}.hero h1{font-weight:620;text-wrap:balance}.hero-inner>p{max-width:700px;color:rgba(255,255,255,.86)}
.history,.partners{background:linear-gradient(180deg,var(--public-paper),#eef7f6)}
.history-inner>p{color:var(--public-ink-soft)}
.areas{background-image:linear-gradient(110deg,rgba(2,31,40,.88),rgba(4,48,58,.72)),url("../images/areas.png")}
.catalog-heading{border-color:rgba(154,225,220,.3)}
.contact-strip{border-color:var(--public-line);background:linear-gradient(90deg,#e5f3f2,#eef7f6)}
.public-inner-page{background:var(--public-paper);color:var(--public-ink-soft)}
.catalog-hero,.course-public-hero{position:relative;isolation:isolate;overflow:hidden;background-image:linear-gradient(115deg,rgba(2,31,41,.92),rgba(5,62,70,.76) 62%,rgba(4,48,58,.84)),url("../images/hero.png");background-position:center 43%;background-size:cover}
.catalog-hero:after,.course-public-hero:after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 24%,rgba(103,215,210,.18),transparent 27%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,80px 80px,80px 80px;mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.catalog-hero-inner{width:min(980px,calc(100% - 48px));padding:174px 0 82px}
.catalog-eyebrow{color:#9ce8e3;font-weight:820;letter-spacing:.14em}
.catalog-hero h1,.course-public-hero h1{font-weight:620;letter-spacing:-.04em;text-wrap:balance}
.catalog-hero p,.course-public-hero-grid>div>p{color:rgba(255,255,255,.84);text-wrap:pretty}
.catalog-search{margin-top:31px}.catalog-search label{margin-left:2px;color:rgba(230,250,248,.9);letter-spacing:.02em}
.catalog-search>div{gap:8px;padding:7px;border-color:rgba(255,255,255,.3);border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 18px 44px rgba(0,20,27,.27)}
.catalog-search input{color:var(--public-ink);background:transparent}.catalog-search input::placeholder{color:#7b8f94}
.catalog-workspace{position:relative;padding-top:52px}
.catalog-workspace:before{content:"";position:absolute;z-index:-1;top:0;right:0;left:0;height:330px;background:radial-gradient(circle at 78% 8%,rgba(103,215,210,.09),transparent 32%)}
.catalog-filter-drawer{overflow:hidden;border:1px solid var(--public-line);border-radius:var(--public-radius);background:rgba(255,255,255,.94);box-shadow:var(--public-shadow)}
.catalog-filter-drawer>summary{padding:19px 23px;border-bottom:1px solid transparent;color:var(--public-ink);letter-spacing:.01em}
.catalog-filter-drawer[open]>summary{border-color:#e8efef}.catalog-filter-drawer>summary span{color:var(--public-muted)}
.catalog-filters{gap:15px;padding:20px 23px 23px}
.catalog-filters label{gap:7px;color:#4d676e;font-size:10px;letter-spacing:.055em;text-transform:uppercase}
.catalog-filters select{min-height:46px;border:1px solid #cbdcdb;border-radius:11px;background:#fbfdfc;color:var(--public-ink);transition:border-color .16s ease,box-shadow .16s ease}
.catalog-filters select:hover{border-color:#9ebddd}.catalog-filters select:focus-visible{border-color:var(--public-accent);box-shadow:0 0 0 3px rgba(45,111,183,.14);outline:0}
.catalog-filter-actions a,.catalog-secondary{color:var(--public-accent)}
.catalog-filter-actions a:hover,.catalog-secondary:hover{color:var(--public-accent-hover);text-decoration:underline;text-underline-offset:3px}
.catalog-results-head{margin-top:48px}.catalog-results-head small{color:var(--public-accent)}
.catalog-results-head h2{color:var(--public-ink);font-weight:640}.catalog-results-head>span{color:var(--public-muted)}
.public-course-grid{gap:22px}
.public-course-card{position:relative;border:1px solid var(--public-line);border-radius:var(--public-radius);background:var(--public-surface);box-shadow:0 12px 34px rgba(9,48,58,.065);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.public-course-card:before{content:"";position:absolute;z-index:1;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,var(--public-accent),var(--public-highlight));opacity:.82}
.public-course-card:hover{border-color:#b9d5d3;box-shadow:0 20px 42px rgba(9,48,58,.11);transform:translateY(-3px)}
.public-course-image{height:184px;filter:saturate(.98) contrast(1.03)}
.public-course-card-body{padding:24px}.public-course-card h3{color:var(--public-ink);font-weight:650;line-height:1.3}
.public-course-card-body>p{color:var(--public-muted)}
.public-course-tags span,.public-course-tags em,.course-hero-tags span{border:1px solid #d5e8e7;background:#edf7f6;color:#0b686b;font-weight:800}
.public-course-tags em{border-color:#e2e8e8;background:#f2f5f5;color:#566d72}
.public-course-card dt{color:#71858a;letter-spacing:.04em}.public-course-card dd{color:#29474f}
.public-course-contact{border-color:#e4ebf2}.public-course-contact a{color:#536c72}.public-course-contact a:hover{color:var(--public-accent)}
.public-pagination a{border-color:#bfd1e3;background:#fff;color:#365a78}.public-pagination a.active{border-color:var(--public-accent);background:var(--public-accent)}
.public-empty{border-color:#b8d1cf;background:rgba(255,255,255,.7)}
.course-public-hero-inner{padding:143px 0 74px}.public-back{margin-bottom:34px;color:#c5efec}.public-back:hover{color:#fff}
.course-public-hero-grid{gap:64px}
.course-public-cta{gap:12px;padding:25px;border-color:rgba(255,255,255,.28);border-radius:18px;background:rgba(8,39,65,.58);box-shadow:0 18px 38px rgba(0,20,27,.18);backdrop-filter:none}
.course-public-cta small{color:#a9e8e3}.course-public-cta .catalog-secondary{color:#e9ffff}
.whatsapp-button{background:#176f5c}.whatsapp-button:hover{background:#115f4f}
.course-public-layout{width:min(1160px,calc(100% - 48px));gap:34px;padding-top:58px}
.course-public-layout--single{grid-template-columns:minmax(0,820px);justify-content:center}
.course-public-content{gap:0;padding:12px 38px;border:1px solid var(--public-line);border-radius:var(--public-radius);background:rgba(255,255,255,.9);box-shadow:0 12px 36px rgba(9,48,58,.05)}
.course-public-content section{padding:34px 0;border-color:#e2eaf2}.course-public-content small{color:var(--public-accent);letter-spacing:.13em}
.course-public-content h2{color:var(--public-ink);font-weight:640}.course-public-content p{color:#466169}
.public-course-empty-detail{text-align:center}.public-course-empty-detail p{max-width:620px;margin:0 auto}.public-course-empty-detail .button{margin-top:24px}
.course-public-facts{top:28px;padding:27px;border-color:var(--public-line);border-radius:var(--public-radius);background:#fff;box-shadow:var(--public-shadow)}
.course-public-facts h2{color:var(--public-ink);font-weight:650}
.course-public-facts dl div{border-color:#e6eeee}.course-public-facts dt{color:#72878b;letter-spacing:.05em}.course-public-facts dd{color:#29474f}
.public-faqs details{border-color:var(--public-line);background:#fbfdfc}.public-faqs details[open]{border-color:#b9d7d4;background:#f5faf9}.public-faqs summary{color:var(--public-ink)}
.public-whatsapp-float{background:#176f5c;box-shadow:0 14px 34px rgba(7,64,52,.22)}
@media(max-width:1024px){
  .site-brand-copy{max-width:210px}.catalog-hero-inner{padding-top:164px}.course-public-hero-inner{padding-top:134px}
  .course-public-hero-grid{gap:38px}.course-public-layout{gap:28px}
}
@media(max-width:700px){
  .site-header,.site-header.inner-header,.header-inner,.inner-header .header-inner{height:78px}
  .site-brand .site-logo,.inner-header .site-brand .site-logo{width:50px;height:50px;flex-basis:50px}
  .site-header .public-nav-link{display:none}.catalog-hero-inner{padding:132px 0 58px}.course-public-hero-inner{padding:112px 0 51px}
  .catalog-hero h1,.course-public-hero h1{font-size:clamp(36px,10.6vw,43px);line-height:1.12}
  .catalog-search{margin-top:25px}.catalog-search>div{display:grid}.catalog-search input{min-height:45px}.catalog-search .button{width:100%}
  .catalog-workspace{padding-top:30px}.catalog-filter-drawer>summary{min-height:54px;align-items:center;padding:15px 17px}
  .catalog-filters{padding:17px}.catalog-filters select{min-height:48px}.catalog-results-head{margin-top:34px}
  .public-course-card-body{padding:21px}.course-public-content{padding:4px 20px}.course-public-content section{padding:29px 0}
  .course-public-layout{padding-top:36px}.course-public-cta{padding:19px}
}
@media(max-width:430px){
  .site-brand-copy small{display:none}.catalog-hero-inner,.course-public-hero-inner,.catalog-workspace,.course-public-layout{width:calc(100% - 30px)}
  .header-button{padding-inline:15px}.catalog-hero p,.course-public-hero-grid>div>p{font-size:15px;line-height:1.65}
  .public-course-primary{gap:10px}.public-course-primary .button{width:100%}.course-hero-tags{flex-wrap:wrap}.public-whatsapp-float{right:12px;bottom:12px}
}
@media(prefers-reduced-motion:reduce){.public-course-card,.button,.public-nav-link:after,.footer-col a{transition:none}}

/* V2 azul institucional: capa final compartida por home, catálogo y fichas. */
.button,.header-button{background:var(--esem-blue-700);box-shadow:0 12px 28px rgba(31,95,153,.18)}
.button:hover,.header-button:hover{background:#174b79;box-shadow:0 16px 32px rgba(14,47,78,.22)}
.inner-header{background:linear-gradient(180deg,rgba(7,34,58,.7),rgba(7,34,58,.04))}
.site-header:not(.inner-header){background:linear-gradient(180deg,rgba(7,34,58,.34),transparent)}
.hero{background-image:linear-gradient(120deg,rgba(8,39,65,.62),rgba(18,59,96,.3) 55%,rgba(8,35,59,.48)),url("../images/hero.png")}
.history,.partners{background:linear-gradient(180deg,var(--esem-bg),#edf4fb)}
.areas{background-image:linear-gradient(110deg,rgba(8,39,65,.7),rgba(24,74,118,.47)),url("../images/areas.png")}
.contact-strip{background:linear-gradient(90deg,#e6f0fa,#f2f7fc)}
.catalog-hero,.course-public-hero{background-image:linear-gradient(115deg,rgba(8,39,65,.72),rgba(25,76,122,.48) 62%,rgba(13,51,83,.64)),url("../images/hero.png")}
.catalog-hero:after,.course-public-hero:after{background:radial-gradient(circle at 82% 24%,rgba(120,174,224,.18),transparent 27%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px)}
.catalog-eyebrow{color:#c9e2f8}.catalog-workspace:before{background:radial-gradient(circle at 78% 8%,rgba(45,111,183,.09),transparent 32%)}
.catalog-filters select:hover{border-color:#9ebddd}.catalog-filters select:focus-visible{border-color:var(--esem-blue-500);box-shadow:0 0 0 3px rgba(45,111,183,.14)}
.public-course-card{box-shadow:0 12px 34px rgba(14,47,78,.065)}.public-course-card:hover{border-color:#bfd2e5;box-shadow:0 20px 42px rgba(14,47,78,.11)}
.public-course-tags span,.public-course-tags em,.course-hero-tags span{border-color:#cedff0;background:#edf4fb;color:var(--esem-blue-700)}
.course-public-cta{background:rgba(8,39,65,.58);box-shadow:0 18px 38px rgba(6,31,53,.2);backdrop-filter:none}
.course-public-content,.course-public-facts{box-shadow:0 12px 36px rgba(14,47,78,.06)}
