/*
Theme Name: E-MASTER Academy (New)
Description: Block theme for E-MASTER LEARNING ACADEMY.
Version: 0.4.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: emaster
*/

/* ---- About the Academy section ---- */
.em-about{padding-block:clamp(48px,8vw,92px)}
.em-about .wp-block-columns{gap:clamp(28px,5vw,64px)}
.em-about-image img{width:100%;height:auto;border-radius:28px;box-shadow:0 24px 56px rgba(6,23,61,.22),0 0 0 8px rgba(14,159,110,.12)}
.em-eyebrow{color:#0A7D56;font-weight:700;letter-spacing:.16em;font-size:.8rem;margin-bottom:.5rem}
.em-about-text{max-width:62ch;color:#5B6B88;font-size:1.05rem}
.em-ticks{list-style:none;padding:0;margin:1.5rem 0 2rem;display:grid;gap:.75rem}
.em-ticks li{display:flex;gap:.75rem;align-items:flex-start;font-weight:500}
.em-ticks li::before{content:"✓";flex:none;width:24px;height:24px;border-radius:50%;background:rgba(14,159,110,.15);color:#0A7D56;font-weight:800;font-size:.8rem;display:grid;place-items:center;margin-top:2px}

/* ---- Offerings cards (E-MASTER Catalog plugin) ---- */
.em-offerings{display:grid;gap:26px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.em-offer{background:#fff;border:1px solid #E3E8F1;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.em-offer:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(6,23,61,.14)}
.em-offer-img img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.em-offer-body{padding:22px;display:flex;flex-direction:column;flex:1}
.em-offer-body h3{margin:.5rem 0}.em-offer-body h3 a{text-decoration:none;color:#06173D}
.em-badge{display:inline-block;font-size:.74rem;font-weight:700;padding:4px 12px;border-radius:99px;background:rgba(11,42,111,.08);color:#0B2A6F;margin-right:6px}
.em-status.em-coming_soon{background:#D9A441;color:#2b1f00}.em-status.em-free{background:#0E9F6E;color:#fff}
.em-offer-foot{margin-top:auto;padding-top:16px;border-top:1px solid #E3E8F1;display:flex;justify-content:space-between;align-items:center;gap:12px}
.em-price{font-weight:700;color:#0B2A6F}
.em-notice{background:#F7F9FC;border-left:4px solid #D9A441;padding:12px 16px;border-radius:8px;font-size:.9rem}

/* ---- Free lessons, social icons, contact (plugins) ---- */
.em-fl-player{aspect-ratio:16/9;background:#000;border-radius:18px;overflow:hidden}
.em-fl-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}
.em-fl-item{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid #E3E8F1;border-radius:12px;background:#fff;font:inherit;cursor:pointer}
.em-fl-item:hover{border-color:#0B2A6F}.em-fl-free{font-size:.75rem;font-weight:700;color:#0A7D56}
.em-social{display:flex;gap:10px}.em-social svg{max-width:none;flex:none}.em-social a{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#0B2A6F;color:#fff}.em-social a:hover{background:#D9A441;color:#2b1f00}
.em-contact{list-style:none;padding:0;margin:0}


/* ================= E-MASTER theme styles ================= */
:root{--em-royal:#0B2A6F;--em-navy:#06173D;--em-emerald:#0E9F6E;--em-gold:#D9A441;--em-gold2:#f0c878;--em-snow:#F7F9FC;--em-line:#E3E8F1;--em-muted:#5B6B88}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
.wp-site-blocks>*+*{margin-block-start:0}
.wp-site-blocks{padding:0}
a{text-underline-offset:3px}
:focus-visible{outline:3px solid var(--em-gold);outline-offset:3px}
h1,h2{font-family:'Playfair Display','Noto Serif Sinhala',Georgia,serif;letter-spacing:-.01em}
.wp-element-button,.wp-block-button__link{border-radius:12px;font-weight:600;padding:.8rem 1.6rem;transition:.25s;text-decoration:none}
.wp-block-button__link:hover{transform:translateY(-2px);filter:brightness(1.12)}
.is-style-outline>.wp-block-button__link{background:transparent;border:2px solid currentColor;color:var(--em-royal)}

/* top bar + header */
.em-topbar{background:var(--em-navy);color:#cdd7ee;font-size:.82rem;padding:7px 1rem;text-align:center}
.em-topbar p{margin:0}.em-topbar a{color:#cdd7ee;text-decoration:none}.em-topbar a:hover{color:var(--em-gold2)}.em-topbar strong{color:var(--em-gold2)}
.em-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--em-line);padding:10px 1rem}
.admin-bar .em-header{top:32px}
.em-logo img{border-radius:50%;box-shadow:0 0 0 2px var(--em-gold)}
.em-sitename{font-weight:700;font-size:.95rem;line-height:1.2;margin:0}.em-sitename a{text-decoration:none;color:var(--em-navy)}
.em-header .wp-block-navigation a{font-weight:500;font-size:.93rem;color:var(--em-muted);text-decoration:none}
.em-header .wp-block-navigation a:hover{color:var(--em-royal)}
.em-header-btn .wp-block-button__link{padding:.55rem 1.1rem;font-size:.88rem}

/* sections */
.em-section{padding:clamp(48px,8vw,92px) 1rem}
.em-alt{background:#fff;border-block:1px solid var(--em-line)}
.em-sh{text-align:center;max-width:680px;margin:0 auto 2.5rem}
.em-k{color:#0A7D56;font-weight:700;letter-spacing:.16em;font-size:.78rem;text-transform:uppercase;margin-bottom:.25rem}
.em-sh h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:.2rem 0 .6rem}
.em-sub{color:var(--em-muted);margin:0}
.em-sh::after{content:"";display:block;width:64px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--em-gold),var(--em-gold2));margin:1.2rem auto 0}
.em-cards{gap:18px}
.em-card{background:#fff;border:1px solid var(--em-line);border-radius:18px;padding:24px;transition:.3s}
.em-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(6,23,61,.1);border-color:var(--em-gold)}
.em-card h3{font-size:1.05rem;margin:0 0 .3rem}.em-card p{margin:0;color:var(--em-muted);font-size:.88rem}
.em-feat{margin-bottom:1rem}.em-feat h3{font-size:1.02rem;margin:0}.em-feat p{margin:0;color:var(--em-muted);font-size:.9rem}
.em-steps .em-step{background:#fff;border:1px solid var(--em-line);border-radius:18px;padding:26px;text-align:center;height:100%}
.em-n{width:52px;height:52px;margin:0 auto 12px!important;border-radius:50%;background:linear-gradient(135deg,var(--em-gold),var(--em-gold2));color:#2b1f00;font-weight:800;display:grid;place-items:center;font-size:1.2rem}
.em-step h3{font-size:1.1rem}.em-step p{color:var(--em-muted);font-size:.92rem}
.em-disc{max-width:760px;margin:2rem auto 0;text-align:center;font-size:.85rem;color:var(--em-muted)}
.em-faq details,.wp-block-details{background:#fff;border:1px solid var(--em-line);border-radius:14px;padding:6px 22px;margin-bottom:12px}
.wp-block-details summary{cursor:pointer;font-weight:600;padding:12px 0}
.wp-block-details[open]{border-color:var(--em-gold)}
.em-contact-sec .em-contact{display:grid;gap:10px;justify-content:center;text-align:center}
.em-banner{margin:0 1rem;border-radius:30px;padding:70px 28px;text-align:center;color:#fff;background:radial-gradient(600px 300px at 80% 0,rgba(14,159,110,.35),transparent 60%),linear-gradient(135deg,var(--em-navy),#123a8a)}
.em-banner h2{color:#fff}.em-banner p{color:#c3cfe9}.em-banner .wp-block-buttons{justify-content:center}
.em-banner .wp-block-button__link{background:linear-gradient(135deg,var(--em-gold),var(--em-gold2));color:#2b1f00}

/* hero */
.em-hero{color:#fff;padding:clamp(48px,8vw,96px) 1rem;background:radial-gradient(1000px 500px at 85% 0,rgba(14,159,110,.28),transparent 60%),radial-gradient(800px 500px at 0 100%,rgba(217,164,65,.18),transparent 60%),linear-gradient(160deg,var(--em-navy),#0a2152 60%,#0d2c6b)}
.em-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.8rem);margin:.8rem 0 1rem}
.em-pill{display:inline-block;border:1px solid rgba(217,164,65,.5);color:var(--em-gold2);padding:6px 14px;border-radius:99px;font-size:.78rem;letter-spacing:.14em;font-weight:600;margin:0}
.em-lead{color:#c3cfe9;font-size:1.1rem;max-width:540px}
.em-hero .wp-block-button__link{background:linear-gradient(135deg,var(--em-gold),var(--em-gold2));color:#2b1f00}
.em-hero .is-style-outline>.wp-block-button__link{background:transparent;border:2px solid rgba(255,255,255,.4);color:#fff}
.em-hero .wp-block-video video{width:100%;border-radius:22px;box-shadow:0 30px 70px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.12);background:#000}

/* footer */
.em-footer{background:var(--em-navy);color:#b8c5e4;padding:64px 1rem 28px;margin-top:0}
.em-footer h3{color:#fff;font-size:1rem}.em-footer a{color:#b8c5e4;text-decoration:none}.em-footer a:hover{color:var(--em-gold2)}
.em-flist{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:.92rem}
.em-footer .em-contact{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:.92rem}
.em-copy{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:18px;font-size:.84rem}
.em-footer .em-social a{background:rgba(255,255,255,.1)}

/* inner pages */
.em-pagehero{background:radial-gradient(800px 300px at 85% 0,rgba(14,159,110,.28),transparent 60%),linear-gradient(160deg,var(--em-navy),#0a2152);color:#fff;padding:56px 1rem;text-align:center}
.em-pagehero h1,.em-pagehero .wp-block-post-title{color:#fff;font-size:clamp(2rem,4.5vw,3rem);margin:0}
.em-prose{padding:56px 1rem 40px}
.em-prose h2{font-family:'Noto Sans Sinhala','Noto Sans',system-ui,sans-serif;font-size:1.3rem;margin-top:2em;padding-top:.4em;border-top:1px solid var(--em-line)}
.em-prose h2:first-child{border:0;margin-top:0}
mark.ph{background:rgba(217,164,65,.28);padding:0 5px;border-radius:5px}

/* offering cards (plugin) + resource library */
.em-offer-img img{aspect-ratio:16/9}
.em-wa-alt{font-size:.9rem;color:var(--em-muted)}
.em-res-search{width:100%;max-width:420px;display:block;margin:0 auto 24px;padding:12px 16px;border:1px solid var(--em-line);border-radius:12px;font:inherit}
.em-res-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.em-res-card{background:#fff;border:1px solid var(--em-line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px}
.em-res-card[hidden]{display:none}
.em-res-card h3{font-size:1rem;margin:0;word-break:break-word}
.em-res-type{align-self:flex-start;color:#fff;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:99px}
.em-res-actions{display:flex;gap:10px;align-items:center;margin-top:auto}.em-res-actions .wp-element-button{padding:.5rem 1.1rem;font-size:.88rem;cursor:pointer;border:0}
.em-res-dl{font-weight:600;font-size:.9rem}
.em-res-modal{position:fixed;inset:0;background:rgba(3,10,30,.78);display:grid;place-items:center;z-index:9999;padding:16px}.em-res-modal[hidden]{display:none}
.em-res-box{position:relative;width:min(1000px,100%);height:min(86vh,720px);background:#fff;border-radius:16px;overflow:hidden}
.em-res-box iframe{width:100%;height:100%;border:0}
.em-res-close{position:absolute;right:10px;top:8px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.3);font-size:1.4rem;cursor:pointer}

@media(max-width:781px){.admin-bar .em-header{top:46px}}

/* enrollment + offering pages */
.em-old{opacity:.55;font-weight:500;margin-right:4px}
.em-rk{font-size:.8rem;color:var(--em-muted);border-left:3px solid var(--em-gold);padding-left:10px}
.em-box{background:var(--em-snow);border:1px solid var(--em-line);border-radius:18px;padding:22px;margin:0 0 28px}
.em-box-price{font-size:1.5rem;font-weight:700;color:var(--em-royal);margin:0 0 .5rem}
.em-enroll,.em-my{max-width:720px;margin:0 auto}
.em-my-card{background:#fff;border:1px solid var(--em-line);border-radius:16px;padding:20px;margin-bottom:16px}
.em-my-card h3{margin:0 0 .4rem}
.em-pill-s{display:inline-block;border-radius:99px;padding:3px 12px;font-size:.78rem;font-weight:700;background:#eef2fb;color:var(--em-royal)}
.em-s-approved{background:#d8f5e8;color:#0A7D56}.em-s-rejected{background:#fde3e3;color:#a02525}.em-s-pending{background:#fff2d6;color:#8a6410}

/* register / login forms */
.em-form{max-width:460px;margin:0 auto;background:#fff;border:1px solid var(--em-line);border-radius:18px;padding:26px;position:relative}
.em-form input[type=text],.em-form input[type=email],.em-form input[type=tel],.em-form input[type=password]{width:100%;padding:12px 14px;border:1px solid var(--em-line);border-radius:10px;font:inherit;box-sizing:border-box}
.em-form label{font-weight:600;font-size:.92rem}
.em-form .login-submit input{background:var(--em-royal);color:#fff;border:0;border-radius:12px;padding:.8rem 1.6rem;font-weight:600;cursor:pointer}
