/* Học liệu Việt storefront foundations and homepage. */
:where(body.ed-live-home,.ed-site-chrome){--ed-primary:#0070F0;--ed-primary-dark:#005EC7;--ed-deep:#003060;--ed-soft:#EAF3FF;--ed-page:#F5F8FC;--ed-surface:#FFFFFF;--ed-text:#10233E;--ed-muted:#526176;--ed-border:#DCE4EF;--ed-border-strong:#C9D5E5;--ed-success:#147D43;--ed-danger:#B42318;--ed-radius:16px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ed-text)}
*{box-sizing:border-box}
body.ed-live-home{background:var(--ed-page)!important;font-size:16px;line-height:1.5;margin:0;overflow-x:hidden}
.ed-live-home h1,.ed-live-home h2,.ed-live-home h3,.ed-live-home p{margin:0}
.ed-live-home h1,.ed-live-home h2,.ed-live-home h3{color:var(--ed-text);font-family:inherit;text-transform:none;letter-spacing:-.02em}
.ed-live-home a{text-decoration:none}
.ed-container{margin-inline:auto;max-width:1200px;padding-inline:24px;width:100%}
.ed-icon{display:inline-block;fill:none;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;vertical-align:middle;width:20px}
.ed-skip{background:#fff;border:1px solid var(--ed-border);border-radius:12px;color:var(--ed-deep);left:16px;padding:10px 14px;position:fixed;top:-80px;z-index:1000}
.ed-skip:focus{top:16px}

/* Shared header */
.ed-header{background:#fff;border-bottom:1px solid var(--ed-border);position:relative;z-index:100}
.ed-header-main{align-items:center;display:grid;gap:28px;grid-template-columns:132px minmax(260px,1fr) auto;min-height:100px}
.ed-logo{align-items:center;display:inline-flex;justify-content:flex-start;line-height:1}
.ed-logo img{display:block;height:82px;object-fit:contain;width:auto}
.ed-search{border:1px solid var(--ed-border-strong);border-radius:12px;display:flex;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}
.ed-search:focus-within{border-color:var(--ed-primary);box-shadow:0 0 0 3px rgba(0,112,240,.14)}
.ed-search input{background:#fff;border:0!important;box-shadow:none!important;color:var(--ed-text);font:inherit;font-size:15px;height:44px;margin:0;min-width:0;padding:0 16px;width:100%}
.ed-search button{align-items:center;background:#fff;border:0;border-left:1px solid var(--ed-border);color:var(--ed-primary);display:flex;height:44px;justify-content:center;margin:0;padding:0;width:48px}
.ed-header-actions{align-items:center;display:flex;gap:8px}
.ed-header-actions>a{align-items:center;border:1px solid transparent;border-radius:12px;color:var(--ed-muted);display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;min-height:44px;padding:8px 10px;position:relative}
.ed-header-actions>a:hover{background:var(--ed-soft);color:var(--ed-deep)}
.ed-cart-count{align-items:center;background:var(--ed-primary);border-radius:999px;color:#fff;display:flex;font-size:10px;height:18px;justify-content:center;position:absolute;right:2px;top:1px;width:18px}
.ed-nav{align-items:center;border-top:1px solid var(--ed-border);display:flex;gap:4px;min-height:48px;overflow-x:auto;scrollbar-width:none}
.ed-nav>a,.ed-nav>.ed-category-menu{flex:0 0 auto}
.ed-nav::-webkit-scrollbar{display:none}
.ed-nav>a,.ed-category-toggle{align-items:center;border-radius:10px;color:var(--ed-text);display:flex;font-size:13px;font-weight:600;gap:6px;min-height:40px;padding:8px 12px;white-space:nowrap}
.ed-nav>a:hover,.ed-category-toggle:hover{background:var(--ed-soft);color:var(--ed-deep)}
.ed-nav-note{align-items:center;color:var(--ed-muted);display:flex;font-size:12px;gap:7px;margin-left:auto;white-space:nowrap}
.ed-nav-note .ed-icon{color:var(--ed-primary);height:17px;width:17px}
.ed-category-menu{position:relative}
.ed-category-menu summary{cursor:pointer;list-style:none}
.ed-category-menu summary::-webkit-details-marker{display:none}
.ed-grade-menu,.ed-subject-menu,.ed-type-menu{background:#fff;border:1px solid var(--ed-border);border-radius:16px;box-shadow:0 18px 45px rgba(16,35,62,.16);padding:10px}
.ed-grade-menu{left:0;max-height:70vh;overflow-y:auto;position:absolute;top:calc(100% + 8px);width:240px;z-index:110}
.ed-grade-branch,.ed-subject-branch{position:relative}
.ed-grade-branch>summary,.ed-subject-branch>summary,.ed-type-menu>a{align-items:center;border-radius:10px;color:var(--ed-text);display:flex;font-size:13px;gap:9px;justify-content:space-between;min-height:40px;padding:8px 10px;white-space:nowrap}
.ed-grade-branch>summary:hover,.ed-subject-branch>summary:hover,.ed-type-menu>a:hover{background:var(--ed-soft)}
.ed-subject-menu{left:calc(100% + 10px);min-width:260px;position:absolute;top:0}
.ed-type-menu{left:calc(100% + 10px);min-width:320px;position:absolute;top:0}
.ed-menu-caption{color:var(--ed-muted);font-size:12px;font-weight:700;letter-spacing:.08em;padding:8px 10px;text-transform:uppercase}
.ed-category-toggle:focus-visible{outline:0}
.ed-grade-dot{background:var(--ed-primary);border-radius:50%;height:7px;width:7px}

/* Reusable controls */
.ed-btn{align-items:center;background:#fff;border:1px solid var(--ed-border-strong);border-radius:12px;color:var(--ed-deep);display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;line-height:1.3;min-height:44px;padding:10px 16px;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.ed-btn:hover{background:var(--ed-soft);border-color:#AFC1D7;color:var(--ed-deep)}
.ed-btn.ed-primary{background:var(--ed-primary);border-color:var(--ed-primary);color:#fff}
.ed-btn.ed-primary:hover{background:var(--ed-primary-dark);border-color:var(--ed-primary-dark);color:#fff}
.ed-text-link{align-items:center;color:var(--ed-primary-dark);display:inline-flex;font-size:14px;font-weight:600;gap:8px;min-height:44px}
.ed-eyebrow{color:var(--ed-primary-dark);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ed-section{padding-block:72px}
.ed-white{background:#fff;border-block:1px solid var(--ed-border)}
.ed-section-heading{align-items:flex-end;display:flex;gap:24px;justify-content:space-between;margin-bottom:28px}
.ed-section-heading h2,.ed-section>div>h2{font-size:30px;line-height:1.25}
.ed-section-heading p{color:var(--ed-muted);font-size:14px;margin-top:8px}

/* Hero */
.ed-hero{align-items:stretch;background:var(--ed-deep);border-radius:20px;color:#fff;display:grid;grid-template-columns:1.08fr .92fr;margin-top:28px;min-height:420px;overflow:hidden}
.ed-hero-copy{align-self:center;padding:52px 24px 52px 52px}
.ed-hero-copy .ed-eyebrow{color:#91C6FF}
.ed-live-home .ed-hero h1{color:#fff;font-size:46px;line-height:1.12;max-width:590px}
.ed-hero-copy>p:not(.ed-eyebrow){color:#DCEBFA;font-size:16px;line-height:1.7;margin:20px 0 26px;max-width:490px}
.ed-hero-steps{color:#C6DAEF;display:flex;flex-wrap:wrap;font-size:12px;gap:12px;margin-top:24px}
.ed-hero-art{align-items:center;background:#052A50;display:flex;gap:18px;justify-content:center;padding:40px 32px}
.ed-sheet{aspect-ratio:3/4;background:#fff;border:1px solid #6E8AA6;border-radius:12px;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:12px;width:min(42%,190px)}
.ed-sheet img{height:calc(100% - 28px);min-height:0;object-fit:contain;width:100%}
.ed-sheet span{align-items:center;color:var(--ed-primary);display:flex;font-size:10px;gap:5px;justify-content:center}
.ed-sheet span .ed-icon{height:14px;width:14px}
.ed-hero-brand{align-items:center;background:#fff;border:1px solid #6E8AA6;border-radius:16px;display:flex;flex-direction:column;justify-content:center;max-width:320px;padding:28px;width:100%}
.ed-hero-brand img{height:auto;max-height:250px;object-fit:contain;width:100%}
.ed-hero-brand p{color:var(--ed-deep);font-size:13px;font-weight:600;letter-spacing:.05em;margin-top:12px;text-transform:uppercase}

.ed-trust{border-bottom:1px solid var(--ed-border);display:grid;gap:20px;grid-template-columns:repeat(3,1fr);padding-block:26px}
.ed-trust>div{align-items:center;display:flex;gap:12px;justify-content:center}
.ed-trust>.ed-icon,.ed-trust>div>.ed-icon{color:var(--ed-primary);height:24px;width:24px}
.ed-trust strong{display:block;font-size:14px}
.ed-trust p{color:var(--ed-muted);font-size:12px;margin-top:3px}

/* Finder and catalogue */
.ed-finder{padding-top:48px;scroll-margin-top:20px}
.ed-finder form{background:#fff;border:1px solid var(--ed-border);border-radius:16px;padding:24px}
.ed-filter-fields{align-items:end;display:grid;gap:18px;grid-template-columns:1fr 24px 1fr auto}
.ed-filter-fields label{color:var(--ed-text);display:grid;font-size:14px;font-weight:600;gap:8px;margin:0}
.ed-live-home .ed-filter-fields select{background:#fff;border:1px solid var(--ed-border-strong);border-radius:12px;color:var(--ed-text);font:inherit;font-size:16px;height:48px;margin:0;padding:0 36px 0 14px;width:100%}
.ed-live-home .ed-filter-fields select:focus{border-color:var(--ed-primary);box-shadow:0 0 0 3px rgba(0,112,240,.14);outline:0}
.ed-filter-fields select:disabled{background:var(--ed-page);color:var(--ed-muted)}
.ed-filter-fields .ed-btn{min-height:48px}
.ed-filter-arrow{align-self:end;color:var(--ed-primary);font-size:22px;line-height:48px;text-align:center}
.ed-filter-note{color:var(--ed-muted);font-size:12px;margin-top:12px!important}
#ed-documents{scroll-margin-top:20px}
.ed-tabs{background:#E8EEF6;border-radius:12px;display:flex;flex-shrink:0;gap:4px;padding:4px}
.ed-tabs a{align-items:center;border-radius:9px;color:var(--ed-muted);display:flex;font-size:13px;font-weight:600;justify-content:center;min-height:40px;padding:8px 15px;white-space:nowrap}
.ed-tabs a[aria-current=true]{background:#fff;color:var(--ed-deep)}
.ed-grid{display:grid;gap:22px;grid-template-columns:repeat(4,minmax(0,1fr))}
.ed-card{background:#fff;border:1px solid var(--ed-border);border-radius:16px;display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:border-color .18s ease}
.ed-card:hover{border-color:#AFC1D7}
.ed-cover{align-items:center;background:#EEF3F8;border-bottom:1px solid var(--ed-border);display:flex;height:218px;justify-content:center;padding:18px 24px;position:relative}
.ed-cover img{height:100%;object-fit:contain;width:100%}
.ed-cover-label{background:#fff;border:1px solid var(--ed-border);border-radius:8px;color:var(--ed-muted);font-size:10px;left:12px;padding:4px 7px;position:absolute;text-transform:uppercase;top:12px}
.ed-card-body{display:flex;flex:1;flex-direction:column;gap:10px;padding:16px}
.ed-meta{color:var(--ed-muted);font-size:12px}
.ed-card h3{font-size:16px;font-weight:600;line-height:1.45}
.ed-card-title{-webkit-box-orient:vertical;-webkit-line-clamp:3;color:var(--ed-text);display:-webkit-box;min-height:69px;overflow:hidden}
.ed-card-title:hover{color:var(--ed-primary)}
.ed-format{align-items:center;color:var(--ed-muted);display:flex;font-size:12px;gap:8px;min-height:26px}
.ed-badge{background:var(--ed-soft);border-radius:8px;color:var(--ed-deep);display:inline-flex;font-size:12px;font-weight:600;line-height:20px;padding:3px 8px}
.ed-card-bottom{margin-top:auto;padding-top:8px}
.ed-price,.ed-price .amount{color:var(--ed-primary);font-size:20px;font-weight:700;line-height:1.5}
.ed-price del,.ed-price del .amount{color:var(--ed-muted);font-size:13px;font-weight:400}
.ed-price ins{background:none;text-decoration:none}
.ed-card-actions{display:flex;gap:8px;margin-top:12px}
.ed-card-actions .ed-btn:first-child{flex:1}
.ed-card-actions .ed-cart-action{color:var(--ed-primary);flex-shrink:0;padding:0;width:44px}
.ed-cart-action span{display:none}
.ed-view-all{text-align:center;margin-top:28px}
.ed-clear{align-items:center;color:var(--ed-primary);display:inline-flex;font-size:14px;min-height:44px}
.ed-empty{background:#fff;border:1px solid var(--ed-border);border-radius:16px;color:var(--ed-muted);padding:28px;text-align:center}
.ed-empty>.ed-icon,.ed-empty h3{display:none}
.ed-empty p{display:inline;margin:0}
.ed-empty .ed-btn{background:transparent;border:0;color:var(--ed-primary);display:inline;min-height:0;padding:0 0 0 6px}

.ed-category-grid{display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}
.ed-category{background:#fff;border:1px solid var(--ed-border);border-radius:16px;color:var(--ed-text);display:grid;gap:10px;padding:24px;transition:background-color .18s ease,border-color .18s ease}
.ed-category:hover{background:var(--ed-soft);border-color:#B8CCE4}
.ed-category>.ed-icon{color:var(--ed-primary);height:28px;margin-bottom:8px;width:28px}
.ed-category h3{font-size:18px}
.ed-category p{color:var(--ed-muted);font-size:13px}
.ed-category span{color:var(--ed-primary);font-size:13px;margin-top:4px}
.ed-how{display:grid;gap:30px;grid-template-columns:repeat(3,1fr);margin-top:32px}
.ed-how>div{display:flex;gap:16px}
.ed-step-number{background:var(--ed-soft);border-radius:50%;color:var(--ed-primary-dark);display:grid;flex-shrink:0;font-weight:700;height:40px;place-items:center;width:40px}
.ed-how h3{font-size:17px}
.ed-how p{color:var(--ed-muted);font-size:14px;line-height:1.7;margin-top:8px}

.ed-faq-layout{display:grid;gap:64px;grid-template-columns:1fr 1.7fr}
.ed-faq-layout>div>p:not(.ed-eyebrow){color:var(--ed-muted);font-size:14px;line-height:1.7;margin-top:12px}
.ed-faq-item{border-bottom:1px solid var(--ed-border)}
.ed-faq-toggle{align-items:center;background:transparent;border:0;color:var(--ed-text);cursor:pointer;display:flex;font:inherit;font-weight:600;justify-content:space-between;min-height:60px;padding:10px 0;text-align:left;width:100%}
.ed-faq-toggle::after{color:var(--ed-primary);content:"+";font-size:22px;margin-left:16px}
.ed-faq-toggle[aria-expanded=true]::after{content:"−"}
.ed-faq-answer{color:var(--ed-muted);font-size:14px;line-height:1.7;padding:0 0 18px}

/* Footer */
.ed-footer{background:var(--ed-deep);color:#fff;padding:54px 0 22px}
.ed-footer-grid{display:grid;gap:42px;grid-template-columns:2fr 1fr 1fr 1.3fr}
.ed-footer .ed-logo{background:#fff;border-radius:14px;padding:8px 14px;width:max-content}
.ed-footer .ed-logo img{height:86px}
.ed-footer h3{color:#fff;font-size:14px;margin-bottom:16px}
.ed-footer p{color:#C6DAEF;font-size:13px;line-height:1.8;margin-top:16px;max-width:330px}
.ed-footer a:not(.ed-logo){align-items:center;color:#DCEBFA;display:flex;font-size:13px;min-height:40px;overflow-wrap:anywhere}
.ed-footer a:hover{color:#fff;text-decoration:underline}
.ed-footer-bottom{border-top:1px solid rgba(255,255,255,.2);color:#C6DAEF;font-size:12px;margin-top:34px;padding-top:20px}

@media(max-width:1000px){
  .ed-header-main{gap:18px;grid-template-columns:110px 1fr auto}
  .ed-logo img{height:70px}
  .ed-header-actions span{display:none}
  .ed-nav-note{display:none}
  .ed-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ed-category-grid{grid-template-columns:repeat(2,1fr)}
  .ed-footer-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:760px){
  .ed-container{padding-inline:16px}
  .ed-header-main{gap:12px;grid-template-columns:82px 1fr;min-height:auto;padding-block:10px}
  .ed-logo img{height:62px}
  .ed-search{grid-column:1/-1;grid-row:2}
  .ed-header-actions{grid-column:2;grid-row:1;justify-content:flex-end;justify-self:stretch;min-width:0;width:100%}
  .ed-header-actions>a{flex:0 0 40px;padding:6px}
  .ed-nav{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);margin-inline:-16px;mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);padding-inline:16px 44px}
  .ed-category-toggle{width:max-content}
  .ed-category-toggle>span{white-space:nowrap}
  .ed-grade-menu{left:0;max-height:65vh;width:calc(100vw - 32px)}
  .ed-subject-menu,.ed-type-menu{box-shadow:none;left:0;margin:4px 0 8px 10px;min-width:0;position:relative;top:0;width:calc(100% - 10px)}
  .ed-hero{border-radius:16px;grid-template-columns:1fr;margin:16px 0 0;min-height:0}
  .ed-hero-copy{padding:38px 24px}
  .ed-live-home .ed-hero h1{font-size:36px}
  .ed-hero-art{min-height:270px;padding:28px 20px}
  .ed-sheet{width:145px}
  .ed-trust{grid-template-columns:1fr;padding-block:22px}
  .ed-trust>div{justify-content:flex-start}
  .ed-section{padding-block:52px}
  .ed-section-heading{align-items:flex-start;flex-direction:column;margin-bottom:24px}
  .ed-section-heading h2,.ed-section>div>h2{font-size:26px}
  .ed-filter-fields{grid-template-columns:1fr}
  .ed-filter-arrow{display:none}
  .ed-filter-fields .ed-btn{width:100%}
  .ed-tabs{width:100%}
  .ed-tabs a{flex:1}
  .ed-grid{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .ed-cover{height:170px;padding:14px}
  .ed-card-body{padding:13px}
  .ed-card h3{font-size:14px}
  .ed-card-title{min-height:61px}
  .ed-card-actions{flex-direction:column}
  .ed-card-actions .ed-cart-action{width:100%}
  .ed-cart-action span{display:inline}
  .ed-category-grid,.ed-how,.ed-faq-layout,.ed-footer-grid{grid-template-columns:1fr}
  .ed-how{gap:24px}
  .ed-faq-layout{gap:32px}
  .ed-footer{padding-top:44px}
}

@media(max-width:390px){
  .ed-live-home .ed-hero h1{font-size:32px}
  .ed-hero-art{gap:10px}
  .ed-sheet{width:132px}
  .ed-cover{height:152px}
  .ed-price,.ed-price .amount{font-size:17px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}
