/* ============================================================================
   ACADEMIA ACORDIA — Public pages (Formación hub + Catálogo)
   White + Orange · premium · fullwidth
   ============================================================================ */

.acadp {
    --o:#ED8B00; --o-dark:#C9740A; --o-light:#FF9E2C; --o-tint:#FFF4E4; --o-tint-2:#FEEAD2;
    --ink:#16202B; --ink-2:#3D4854; --muted:#6B7682; --line:#E7E2DA;
    --white:#FFFFFF; --paper:#FBF8F3; --paper-2:#F5F0E8; --green:#16A34A; --navy:#0E2740;
    --radius:16px; --radius-lg:22px;
    --shadow-sm:0 2px 10px rgba(20,32,43,.06);
    --shadow:0 14px 40px rgba(20,32,43,.10);
    --shadow-lg:0 30px 70px rgba(20,32,43,.16);
    --shadow-o:0 16px 38px rgba(237,139,0,.32);
    --font:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
    font-family:var(--font); color:var(--ink); line-height:1.6; -webkit-font-smoothing:antialiased;
}
.acadp *,.acadp *::before,.acadp *::after { box-sizing:border-box; }

/* Divi fullwidth overrides */
.acad-academy-page #page-container,
.acad-academy-page #main-content,
.acad-academy-page #et-main-area,
.acad-academy-page .container,
.acad-academy-page #content-area,
.acad-academy-page #left-area,
.acad-academy-page .et_pb_section,
.acad-academy-page .et_pb_row,
.acad-academy-page article,
.acad-academy-page .entry-content {
    width:100% !important; max-width:100% !important; margin:0 !important;
    padding-left:0 !important; padding-right:0 !important; float:none !important;
}
.acad-academy-page #sidebar,
.acad-academy-page .et_pb_widget_area_right,
.acad-academy-page .entry-title,
.acad-academy-page h1.entry-title,
.acad-academy-page .page-title { display:none !important; }
.acad-academy-page #page-container { padding-top:0 !important; }
.acad-academy-page article.page { padding:0 !important; margin:0 !important; }

.acadp-container { width:100%; max-width:1180px; margin:0 auto; padding:0 28px; }

/* Buttons */
.acadp-btn {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-weight:800; font-size:15.5px; padding:15px 30px; border-radius:100px;
    text-decoration:none; cursor:pointer; transition:transform .2s, box-shadow .2s, background .2s, color .2s;
}
.acadp-btn--primary { background:linear-gradient(135deg,var(--o-light),var(--o) 55%,var(--o-dark)); color:#fff !important; box-shadow:var(--shadow-o); }
.acadp-btn--primary:hover { transform:translateY(-3px); box-shadow:0 22px 46px rgba(237,139,0,.42); color:#fff !important; }
.acadp-btn--outline { background:#fff; color:var(--o-dark) !important; border:2px solid var(--o); }
.acadp-btn--outline:hover { background:var(--o); color:#fff !important; transform:translateY(-2px); }

/* Badge / tags */
.acadp-badge {
    display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line);
    color:var(--ink-2); font-size:13px; font-weight:700; padding:8px 16px; border-radius:100px;
    margin-bottom:22px; box-shadow:var(--shadow-sm);
}
.acadp-badge__dot { width:9px; height:9px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(22,163,74,.18); }
.acadp-tag {
    display:inline-block; background:var(--o-tint); color:var(--o-dark); font-size:12px; font-weight:800;
    letter-spacing:.06em; text-transform:uppercase; padding:6px 14px; border-radius:100px; margin-bottom:14px;
    border:1px solid var(--o-tint-2);
}

/* HERO */
.acadp-hero {
    position:relative; padding:84px 0 76px; overflow:hidden;
    background:
        radial-gradient(55% 60% at 88% 8%, rgba(237,139,0,.10), transparent 70%),
        linear-gradient(180deg, var(--white), var(--paper));
}
.acadp-hero::before {
    content:''; position:absolute; inset:0;
    background-image:radial-gradient(rgba(20,32,43,.04) 1px, transparent 1px);
    background-size:26px 26px; opacity:.5;
}
.acadp-hero--sm { padding:64px 0 48px; text-align:center; }
.acadp-hero__grid { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:52px; align-items:center; }
.acadp-hero__media { position:relative; }
.acadp-hero__media img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); border:1px solid var(--line); display:block; }
.acadp-hero__media-tag { position:absolute; left:-14px; bottom:-16px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:11px 16px; box-shadow:var(--shadow); font-size:13.5px; font-weight:700; color:var(--ink); display:flex; align-items:center; gap:8px; }
.acadp-hero__media-tag .acad-ico { color:var(--o); }
.acadp-hero__inner { position:relative; max-width:760px; }
.acadp-hero--sm .acadp-hero__inner { margin:0 auto; }
.acadp-hero__title { font-size:clamp(34px,5vw,54px); font-weight:900; line-height:1.08; letter-spacing:-.03em; color:var(--ink); margin:0 0 18px; }
.acadp-hero__title em { font-style:normal; color:var(--o); }
.acadp-hero__sub { font-size:19px; color:var(--ink-2); margin:0 0 30px; }
.acadp-hero__cta { display:flex; gap:14px; flex-wrap:wrap; }
.acadp-hero--sm .acadp-hero__cta { justify-content:center; }
.acadp-hero__stats { display:flex; gap:40px; margin-top:40px; flex-wrap:wrap; }
.acadp-hero__stat strong { display:block; font-size:24px; font-weight:900; color:var(--ink); }
.acadp-hero__stat span { font-size:13px; color:var(--muted); font-weight:600; }

/* Sections */
.acadp-section { padding:80px 0; }
.acadp-section--gray { background:var(--paper); }
.acadp-head { text-align:center; max-width:640px; margin:0 auto 48px; }
.acadp-head__title { font-size:clamp(28px,3.6vw,40px); font-weight:900; letter-spacing:-.02em; color:var(--ink); margin:0 0 12px; }
.acadp-head__title em { font-style:normal; color:var(--o); }
.acadp-head__sub { font-size:17px; color:var(--muted); margin:0; }

/* Featured course */
.acadp-feature {
    display:grid; grid-template-columns:0.8fr 1.2fr; gap:0; background:#fff;
    border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow);
}
.acadp-feature__media {
    position:relative; background:var(--navy);
    display:flex; align-items:center; justify-content:center; min-height:280px; overflow:hidden;
}
.acadp-feature__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.acadp-feature__icon { font-size:96px; filter:drop-shadow(0 10px 30px rgba(0,0,0,.4)); }
.acadp-tile__icon .acad-ico, .acadp-why__icon .acad-ico { color:var(--o); }
.acadp-why__icon { display:flex; align-items:center; justify-content:center; color:var(--o); }
.acadp-course__thumb--img { background-size:cover; background-position:center; }
.acadp-course__thumb--img::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(14,39,64,0) 40%, rgba(14,39,64,.35)); }
.acadp-feature__pill {
    position:absolute; top:18px; left:18px; background:#fff; color:var(--o-dark);
    border:1px solid rgba(255,255,255,.6); font-size:12px; font-weight:800; letter-spacing:.06em;
    text-transform:uppercase; padding:6px 13px; border-radius:100px; box-shadow:var(--shadow-sm);
}
.acadp-feature__body { padding:40px; }
.acadp-feature__title { font-size:26px; font-weight:900; color:var(--ink); margin:0 0 14px; line-height:1.2; }
.acadp-feature__text { font-size:16px; color:var(--ink-2); margin:0 0 24px; }
.acadp-feature__row { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.acadp-feature__price { font-size:30px; font-weight:900; color:var(--ink); }
.acadp-feature__price strong { color:var(--o); }
.acadp-feature__price-old { font-size:19px; color:var(--muted); text-decoration:line-through; font-weight:700; margin-right:4px; }
.acadp-feature__price small { font-size:13px; color:var(--muted); font-weight:600; }

/* Tiles */
.acadp-tiles { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.acadp-tile {
    display:block; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:32px 28px;
    text-decoration:none; box-shadow:var(--shadow-sm); transition:transform .25s, box-shadow .25s, border-color .25s;
    position:relative; overflow:hidden;
}
.acadp-tile::before {
    content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background:linear-gradient(90deg,var(--o-light),var(--o-dark)); transform:scaleX(0); transform-origin:left; transition:transform .3s;
}
.acadp-tile:hover { transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--o-tint-2); }
.acadp-tile:hover::before { transform:scaleX(1); }
.acadp-tile__icon {
    width:60px; height:60px; border-radius:16px; background:var(--o-tint); border:1px solid var(--o-tint-2);
    display:flex; align-items:center; justify-content:center; font-size:30px; margin-bottom:18px;
}
.acadp-tile h3 { font-size:19px; font-weight:800; color:var(--ink); margin:0 0 8px; }
.acadp-tile p { font-size:14.5px; color:var(--muted); margin:0 0 16px; }
.acadp-tile__link { font-size:14.5px; font-weight:800; color:var(--o-dark); }

/* Why */
.acadp-why { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.acadp-why__card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px 24px; box-shadow:var(--shadow-sm); text-align:center; }
.acadp-why__icon { font-size:38px; margin-bottom:14px; }
.acadp-why__card h3 { font-size:16.5px; font-weight:800; color:var(--ink); margin:0 0 8px; }
.acadp-why__card p { font-size:14px; color:var(--muted); margin:0; }

/* Catalog grid */
.acadp-courses { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.acadp-course {
    display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--radius);
    overflow:hidden; text-decoration:none; box-shadow:var(--shadow-sm);
    transition:transform .25s, box-shadow .25s, border-color .25s;
}
.acadp-course:hover { transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--o-tint-2); }
.acadp-course--featured { grid-column:1 / -1; flex-direction:row; }
.acadp-course__thumb {
    position:relative; background:linear-gradient(135deg, var(--o-light), var(--o) 55%, var(--o-dark));
    min-height:180px; display:flex; align-items:center; justify-content:center;
}
.acadp-course__ribbon { background:#fff !important; color:var(--o-dark) !important; }
.acadp-course--featured .acadp-course__thumb { min-width:320px; }
.acadp-course__emoji { font-size:66px; filter:drop-shadow(0 8px 20px rgba(0,0,0,.4)); }
.acadp-course__ribbon {
    position:absolute; top:16px; left:16px; background:linear-gradient(135deg,var(--o-light),var(--o-dark));
    color:#fff; font-size:12px; font-weight:800; padding:6px 14px; border-radius:100px; box-shadow:var(--shadow-o);
}
.acadp-course__body { padding:24px; display:flex; flex-direction:column; flex:1; }
.acadp-course--featured .acadp-course__body { padding:36px 40px; justify-content:center; }
.acadp-course__title { font-size:18.5px; font-weight:800; color:var(--ink); margin:0 0 10px; line-height:1.25; }
.acadp-course--featured .acadp-course__title { font-size:25px; }
.acadp-course__excerpt { font-size:14.5px; color:var(--muted); margin:0 0 18px; flex:1; }
.acadp-course__meta { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; }
.acadp-course__lessons { font-size:13px; font-weight:700; color:var(--ink-2); background:var(--paper-2); padding:5px 12px; border-radius:100px; }
.acadp-course__price { font-size:17px; font-weight:900; color:var(--o); }
.acadp-course__price s { color:var(--muted); font-weight:700; font-size:14px; margin-right:3px; }
.acadp-course__price small { color:var(--muted); font-weight:600; font-size:12px; }
.acadp-course__cta { font-size:14px; font-weight:800; color:var(--o-dark); }
.acadp-catalog__note { text-align:center; color:var(--muted); font-size:15px; margin-top:36px; }

/* Responsive */
@media (max-width:1024px) {
    .acadp-tiles, .acadp-why, .acadp-courses { grid-template-columns:repeat(2,1fr); }
    .acadp-feature { grid-template-columns:1fr; }
    .acadp-feature__media { min-height:200px; }
    .acadp-hero__grid { grid-template-columns:1fr; gap:44px; }
    .acadp-hero__media { max-width:520px; }
}
@media (max-width:720px) {
    .acadp-section { padding:56px 0; }
    .acadp-container { padding:0 20px; }
    .acadp-hero { padding:60px 0 50px; }
    .acadp-tiles, .acadp-why, .acadp-courses { grid-template-columns:1fr; }
    .acadp-course--featured { flex-direction:column; }
    .acadp-course--featured .acadp-course__thumb { min-width:0; min-height:160px; }
    .acadp-hero__cta { flex-direction:column; }
    .acadp-btn { width:100%; }
    .acadp-hero__stats { gap:24px; }
    .acadp-feature__body { padding:28px 24px; }
}
