
/* Esnad Academic V10.9 — editorial identity layer */
:root{--v109-navy:#071a2b;--v109-navy-2:#0c2a43;--v109-emerald:#075b49;--v109-gold:#d3a843;--v109-ivory:#fbf7ef;--v109-paper:#fffdfa;--v109-ink:#122a33;--v109-muted:#687b7a;--v109-line:#dce5df;--v109-copper:#bd7650}
body{font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility;background:var(--v109-ivory);color:var(--v109-ink)}
.top-ribbon{background:var(--v109-navy);color:#f6e8bd;letter-spacing:.1px}
.site-header{background:rgba(255,253,249,.97);box-shadow:0 8px 28px rgba(5,25,42,.045)}
.brand-logo{object-fit:contain;background:#fff;border:1px solid #e6d6ad;border-radius:14px;box-shadow:none;padding:3px}
.brand-text strong{letter-spacing:-.3px}.brand-text small{letter-spacing:.1px}
.hero-editorial{padding:84px 0 88px;background:var(--v109-navy);isolation:isolate}
.hero-editorial:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 8%,rgba(211,168,67,.08) 8.1% 8.25%,transparent 8.35% 91.65%,rgba(211,168,67,.08) 91.75% 91.9%,transparent 92%);pointer-events:none;z-index:-1}
.hero-geometry{position:absolute;inset:0;overflow:hidden;z-index:-2;background:radial-gradient(circle at 15% 12%,rgba(211,168,67,.16),transparent 25%),linear-gradient(125deg,var(--v109-navy),#0a263e 68%,#083d35)}
.hero-geometry:before,.hero-geometry:after{content:"";position:absolute;border:1px solid rgba(211,168,67,.22);transform:rotate(45deg)}
.hero-geometry:before{width:330px;height:330px;left:-190px;top:60px}.hero-geometry:after{width:510px;height:510px;right:-360px;bottom:-250px}
.hero-editorial .hero-grid{grid-template-columns:1.02fr .98fr;gap:64px}
.hero-editorial .hero-copy h1{font-size:clamp(40px,4.8vw,67px);letter-spacing:-1.5px;line-height:1.22;max-width:760px}
.hero-editorial .hero-copy p{font-size:18px;line-height:1.95;max-width:730px;color:#dce6e4}
.hero-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.hero-trust span{display:flex;align-items:center;gap:7px;border-top:1px solid rgba(255,255,255,.19);padding:12px 15px 0;color:#d5e0dd;font-size:13px}.hero-trust b{color:#f4d783;font-size:17px}
.editorial-showcase{position:relative;background:var(--v109-paper);color:var(--v109-ink);padding:20px;border:1px solid rgba(211,168,67,.75);box-shadow:24px 30px 0 rgba(0,0,0,.12);clip-path:polygon(0 0,94% 0,100% 7%,100% 100%,6% 100%,0 93%)}
.editorial-showcase:before{content:"";position:absolute;inset:10px;border:1px solid rgba(189,118,80,.35);pointer-events:none;clip-path:inherit}
.editorial-showcase-head{position:relative;display:flex;align-items:center;gap:13px;padding:8px 10px 18px;border-bottom:1px solid #e5d8bd}.editorial-showcase-head img{width:58px;height:58px;object-fit:contain;background:#fff}.editorial-showcase-head small,.editorial-showcase-head strong{display:block}.editorial-showcase-head small{color:#9a6d2a;font-size:12px}.editorial-showcase-head strong{color:var(--v109-navy);font-size:18px}
.editorial-title-card{position:relative;text-align:center;padding:26px 16px 20px}.editorial-title-card span{color:#9a6d2a;font-weight:700;font-size:13px}.editorial-title-card h2{font-size:clamp(25px,2.6vw,40px);line-height:1.3;color:var(--v109-navy);margin:7px 0}.editorial-title-card p{display:inline-block;color:var(--v109-emerald);font-weight:800;border-bottom:3px solid var(--v109-gold);padding-bottom:7px;margin:0}
.editorial-covers{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:11px;padding:6px 14px 18px}.editorial-covers a{display:block;transition:.2s}.editorial-covers a:hover{transform:translateY(-5px)}.editorial-covers img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid #d9cba9;box-shadow:0 12px 18px rgba(7,26,43,.12);border-radius:2px}
.editorial-showcase-foot{display:flex;justify-content:center;gap:20px;border-top:1px solid #e5d8bd;padding:15px 10px 4px;color:#667672;font-size:12px;font-weight:700}
.role-path-section{padding:70px 0;background:var(--v109-paper)!important;border-bottom:1px solid var(--v109-line)}
.editorial-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.editorial-role-card{position:relative;min-height:245px;padding:28px 24px 23px;text-decoration:none;background:#fff;border:1px solid var(--v109-line);border-radius:4px;overflow:hidden;transition:.22s;box-shadow:0 8px 22px rgba(7,26,43,.035)}.editorial-role-card:before{content:"";position:absolute;top:0;right:0;width:72px;height:4px;background:var(--v109-gold)}.editorial-role-card:after{content:"";position:absolute;width:110px;height:110px;border:1px solid rgba(7,91,73,.11);left:-68px;bottom:-67px;transform:rotate(45deg)}.editorial-role-card:hover{transform:translateY(-4px);border-color:#cbb77e;box-shadow:0 18px 36px rgba(7,26,43,.08)}.role-number{position:absolute;left:20px;top:18px;color:#c9b889;font-size:26px;font-weight:700}.editorial-role-card small{color:#9a6d2a;font-weight:700}.editorial-role-card h3{font-size:26px;color:var(--v109-navy);margin:18px 0 7px}.editorial-role-card p{color:var(--v109-muted);min-height:56px;margin:0 0 18px}.editorial-role-card b{color:var(--v109-emerald);font-size:13px;border-bottom:1px solid var(--v109-gold);padding-bottom:4px}
.command-center-section{background:#f4f0e7}.command-center{border-radius:4px!important;border:1px solid #dbcda9!important;background:#fff!important;box-shadow:0 24px 50px rgba(7,26,43,.06)!important}.command-stats div{border-radius:3px!important;box-shadow:none!important;background:#f9f7f1!important}
.section-head h2{letter-spacing:-.55px}.section-head p{max-width:780px}
#categories{background:#f5f1e8}.category-grid{gap:12px}.category-card{display:grid;grid-template-columns:86px 1fr;min-height:170px;border-radius:3px!important;box-shadow:none!important;background:#fff!important;border:1px solid #dbe3dc!important}.category-card:hover{transform:translateY(-3px);border-color:#c8ae6c!important}.category-thumb{border-radius:0!important;background:#f1f6f2!important;border-left:1px solid var(--v109-line)}.category-thumb img{width:56px!important;height:56px!important;object-fit:contain}.category-body{padding:20px 18px!important}.category-icon{background:transparent!important;color:#b6913a!important;width:auto!important;height:auto!important;font-size:12px!important;font-variant-numeric:tabular-nums}.category-card h3{font-size:19px!important;margin:4px 0 5px!important}.category-card p{font-size:13px!important;line-height:1.6!important}.category-link{font-size:12px!important}
.product-card{border-radius:5px!important;box-shadow:0 8px 24px rgba(7,26,43,.055)!important}.product-card:hover{transform:translateY(-4px)!important}.product-thumb img{border-radius:0!important}.card-badge,.product-label{border-radius:3px!important}.btn{border-radius:4px!important;box-shadow:none!important}.btn:hover{transform:translateY(-1px)}
.request-assist-card,.feedback-form,.strip-card,.steps-grid article{border-radius:4px!important}.feedback-section{background:var(--v109-navy)}
.site-footer{background:#051522!important}.footer-grid{grid-template-columns:1.25fr .7fr .7fr .8fr!important}.footer-brand>img{width:68px!important;height:68px!important;object-fit:contain;background:#fff;border-radius:4px;padding:4px}.social-hub{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.social-link{grid-template-columns:38px 1fr!important;border-radius:3px!important;padding:9px 10px!important}.social-link img{width:38px!important;height:38px!important}.social-link b{font-size:13px!important}.social-link small{font-size:10.5px!important;line-height:1.5}.footer-bottom{border-top:1px solid rgba(255,255,255,.1)}
.feedback-form input,.feedback-form select,.feedback-form textarea,.catalog-toolbar input{border-radius:4px!important}
@media(max-width:1050px){.hero-editorial .hero-grid{grid-template-columns:1fr}.editorial-showcase{max-width:760px;margin-inline:auto}.editorial-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:700px){.hero-editorial{padding:42px 0 50px}.hero-editorial .hero-copy h1{font-size:34px;letter-spacing:-.7px}.hero-editorial .hero-copy p{font-size:15px}.editorial-showcase{padding:14px;box-shadow:10px 13px 0 rgba(0,0,0,.12)}.editorial-covers{gap:6px;padding-inline:4px}.editorial-showcase-foot{gap:8px;flex-wrap:wrap}.editorial-role-grid{grid-template-columns:1fr}.editorial-role-card{min-height:0}.category-card{grid-template-columns:74px 1fr}.social-hub{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
.hero-editorial .hero-copy h1{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.12)}
.hero-editorial .hero-copy>p{color:#dce8e5!important}
.hero-editorial .hero-copy .eyebrow{color:#f3d17a!important;background:#fffaf0!important;border:1px solid rgba(211,168,67,.55);padding:7px 12px;border-radius:999px}

.skip-link{top:-110px!important}.skip-link:focus{top:12px!important}

/* ===== Esnad Academic V10.9 — Phase 5 structural continuity on Phase 2 identity ===== */

/* Keep the approved three-cover editorial composition, using the Phase 2 palette. */
.editorial-covers{align-items:center;gap:0;padding:18px 34px 30px;min-height:360px;perspective:1000px}
.editorial-covers a{position:relative;margin-inline:-10px}
.editorial-covers a:nth-child(1){transform:rotate(4deg) translateY(8px);z-index:1}
.editorial-covers a:nth-child(2){transform:translateY(-13px) scale(1.05);z-index:3}
.editorial-covers a:nth-child(3){transform:rotate(-4deg) translateY(8px);z-index:2}
.editorial-covers a:hover{transform:translateY(-12px) scale(1.04);z-index:5}
.editorial-covers img{aspect-ratio:210/297;border:1px solid #d9cba9;box-shadow:0 18px 32px rgba(7,26,43,.18)}

/* Professional calm announcement panel in the Phase 2 colors. */
.announcement-strip{position:relative;background:linear-gradient(90deg,var(--v109-navy),var(--v109-navy-2));color:#fff;border-top:1px solid rgba(211,168,67,.55);border-bottom:1px solid rgba(211,168,67,.55);padding:0}
.announcement-inner{display:grid;grid-template-columns:48px 170px 1fr auto;align-items:stretch;gap:0;min-height:64px}
.announcement-emblem{display:grid;place-items:center;background:var(--v109-gold);color:var(--v109-navy);font-size:22px;font-weight:900}
.announcement-label{display:flex!important;flex-direction:column;justify-content:center;padding:0 18px!important;border-left:1px solid rgba(255,255,255,.17)!important;color:#fff!important;white-space:nowrap}
.announcement-label span{font-size:10.5px;color:#eadba9;letter-spacing:.25px}.announcement-label b{font-size:14px}
.announcement-viewport{position:relative;min-height:64px;overflow:hidden;padding:0 22px}
.announcement-viewport p{position:absolute;inset:0 22px;margin:0;display:flex;align-items:center;opacity:0;transform:translateY(7px);transition:opacity .45s ease,transform .45s ease;font-size:14px;font-weight:700;color:#eef5f2}
.announcement-viewport p.is-active{opacity:1;transform:none}
.announcement-viewport p:before{content:"";width:24px;height:2px;background:var(--v109-gold);margin-left:11px;flex:0 0 auto}
.announcement-controls{display:flex;align-items:center;padding:0 13px;gap:5px}
.announcement-controls button,.reviews-controls button{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;font:700 17px/1 inherit}
.announcement-controls button:hover{background:var(--v109-gold);border-color:var(--v109-gold);color:var(--v109-navy)}

/* Keep the new category artwork while restoring Phase 2 card language. */
#categories{background:#f5f1e8!important}
#categories .category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
#categories .category-card{display:flex!important;flex-direction:column!important;min-height:0;background:#fff!important;border:1px solid var(--v109-line)!important;border-radius:5px!important;box-shadow:0 8px 22px rgba(7,26,43,.045)!important;overflow:hidden}
#categories .category-card:hover{transform:translateY(-4px)!important;border-color:#c8ae6c!important;box-shadow:0 16px 32px rgba(7,26,43,.08)!important}
#categories .category-thumb{display:block;border:0!important;border-bottom:1px solid var(--v109-line)!important;background:#f1f6f2!important}
#categories .category-thumb img{display:block;width:100%!important;height:auto!important;aspect-ratio:1200/760!important;object-fit:cover!important}
#categories .category-body{padding:18px!important}.category-icon{color:#b6913a!important;background:transparent!important;width:auto!important;height:auto!important;font-size:11px!important;letter-spacing:1px}
#categories .category-body h3{color:var(--v109-navy)!important;font-size:18px!important;line-height:1.55}.category-body p{color:var(--v109-muted)!important;line-height:1.7!important}.category-link{background:#fff7e6!important;border-color:#ecd8ad!important;color:#805a20!important;border-radius:4px!important}

/* Product summary beside a large cover, without oversized action buttons. */
.product-hero-detail{background:linear-gradient(180deg,#fffaf0,#eef8f4 72%,#fff)!important;padding:56px 0 68px!important}
.product-layout{grid-template-columns:minmax(390px,.94fr) minmax(0,1.06fr)!important;gap:40px!important;align-items:start}
.product-visual{top:132px!important;background:#fff!important;border:1px solid var(--v109-line)!important;border-radius:5px!important;padding:13px!important;box-shadow:0 18px 42px rgba(7,26,43,.10)!important}
.product-visual img{width:100%!important;max-height:none!important;object-fit:contain!important;border-radius:2px!important;background:#fff!important}
.product-info h1{color:var(--v109-navy)!important;font-size:clamp(31px,3.45vw,51px)!important;line-height:1.38}
.buy-panel{background:#fff!important;border-radius:5px!important;border-color:rgba(199,154,69,.32)!important;box-shadow:0 10px 28px rgba(7,26,43,.055)!important}
.product-inline-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.inline-detail-card{background:#fff;border:1px solid var(--v109-line);padding:18px;min-width:0;border-radius:4px}
.inline-detail-card:last-child{grid-column:1/-1}.inline-detail-card h2{font-size:19px;color:var(--v109-navy);margin:0 0 9px;border-bottom:2px solid var(--v109-gold);padding-bottom:8px}.inline-detail-card p{font-size:14px!important;line-height:1.75;margin:6px 0}.inline-detail-card .check-list li{font-size:14px;line-height:1.65;padding-top:5px;padding-bottom:5px}.inline-detail-card .check-list li:before{background:var(--v109-emerald)}

/* Exact compact action sizing inspired by Phase 2. */
.product-actions-main{display:flex!important;gap:10px!important;flex-wrap:wrap!important;align-items:stretch!important}
.product-actions-main .btn{flex:1 1 calc(50% - 5px)!important;min-height:48px!important;height:auto!important;padding:10px 14px!important;border-radius:4px!important;font-size:14px!important;line-height:1.35!important;white-space:normal!important;text-align:center!important;box-shadow:none!important}
.product-actions-main .btn:hover{transform:translateY(-1px)!important}

/* Reviews carousel retained, recolored to Phase 2. */
.feedback-section{background:var(--v109-navy)!important;color:#fff}
.feedback-wrap{display:grid;gap:26px}.feedback-copy-wide{text-align:center;max-width:800px;margin-inline:auto}.feedback-copy-wide h2{font-size:38px;margin:8px 0}
.feedback-stage{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}.feedback-form{border-radius:5px!important;padding:24px}
.reviews-panel{background:#f8f4eb;color:var(--v109-ink);border:1px solid #d6c28e;padding:24px;min-width:0;display:flex;flex-direction:column;border-radius:5px}
.reviews-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid #dfd3b4;padding-bottom:14px}.reviews-heading h3{margin:5px 0 0;color:var(--v109-navy);font-size:24px}
.reviews-viewport{position:relative;min-height:255px;display:grid;align-items:stretch;margin-top:18px}.review-card{display:none;background:#fff;border:1px solid var(--v109-line);padding:24px;min-height:235px;border-radius:4px}.review-card.is-active,.review-placeholder{display:flex;flex-direction:column}.review-stars{color:var(--v109-gold);letter-spacing:3px;font-size:20px}.review-card p{font-size:17px;line-height:1.9;color:#506462;flex:1}.review-card footer{display:flex;align-items:center;gap:12px;border-top:1px solid #ece5da;padding-top:14px}.review-avatar{width:44px;height:44px;display:grid;place-items:center;background:var(--v109-navy);color:#fff;font-weight:800;border-radius:50%}.review-card small{color:#7b8582}.reviews-dots{display:flex;justify-content:center;gap:7px;margin-top:14px}.reviews-dots button{width:8px;height:8px;border:0;border-radius:99px;background:#c7bba9;padding:0;cursor:pointer}.reviews-dots button.is-active{width:24px;background:var(--v109-gold)}

/* Approved enlarged circular social icons, with Phase 2 footer identity. */
.social-hub.social-icons-only{display:flex!important;grid-template-columns:none!important;gap:11px!important;flex-wrap:wrap;margin-top:18px!important}
.social-icons-only .social-link{display:grid!important;place-items:center;width:54px!important;height:54px!important;padding:0!important;border-radius:50%!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.22)!important;color:#f4e8d6!important;transition:.2s!important}
.social-icons-only .social-link:hover{background:var(--v109-gold)!important;color:var(--v109-navy)!important;transform:translateY(-3px)!important}
.social-icons-only .social-link img,.social-icons-only svg{width:27px!important;height:27px!important;object-fit:contain!important}

@media(max-width:1120px){#categories .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-layout{grid-template-columns:1fr!important}.product-visual{position:static!important;max-width:600px!important;margin-inline:auto!important}.feedback-stage{grid-template-columns:1fr}.product-inline-details{grid-template-columns:repeat(3,1fr)}.inline-detail-card:last-child{grid-column:auto}}
@media(max-width:760px){.announcement-inner{grid-template-columns:44px 1fr auto}.announcement-label{display:none!important}.announcement-viewport{min-height:58px;padding:0 14px}.announcement-viewport p{inset:0 14px;font-size:12.5px}.editorial-covers{padding:8px 10px 22px;min-height:280px}.editorial-covers a{margin-inline:-4px}.editorial-showcase{box-shadow:8px 10px 0 rgba(0,0,0,.12)}#categories .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-inline-details{grid-template-columns:1fr}.inline-detail-card:last-child{grid-column:auto}.product-actions-main .btn{flex-basis:100%!important;width:100%!important}.social-hub.social-icons-only{justify-content:center}.social-icons-only .social-link{width:50px!important;height:50px!important}.social-icons-only .social-link img,.social-icons-only svg{width:25px!important;height:25px!important}}
@media(max-width:480px){#categories .category-grid{grid-template-columns:1fr}.editorial-covers{min-height:240px}.announcement-controls button{width:29px;height:29px}.product-visual{padding:9px!important}}

/* RC3 mobile navigation hotfix: keep the menu below the full wrapped header */
@media (max-width:930px){
  .site-header{overflow:visible}
  .nav-links{
    top:100%!important;
    right:12px!important;
    left:12px!important;
    z-index:240!important;
    max-height:calc(100vh - 210px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .nav-links>a:first-child{
    display:block!important;
    background:#f3f8f5;
    color:var(--green);
    border:1px solid var(--line);
    font-weight:900;
  }
}

/* RC6 mobile navigation alignment: center the records menu above FAQ */
@media (max-width:930px){
  .nav-links > .nav-dropdown{
    width:100%;
    align-self:stretch;
  }
  .nav-links > .nav-dropdown > button{
    display:flex;
    width:100%;
    min-height:48px;
    align-items:center;
    justify-content:center;
    text-align:center!important;
    margin:0 auto;
  }
}


/* ===== RC7 catalog and product unification ===== */
.catalog-product-card{display:flex;flex-direction:column;height:100%;overflow:hidden}
.catalog-product-card .product-media{display:grid;place-items:center;min-height:330px;background:linear-gradient(145deg,#f3f8f5,#fff8ea);border-bottom:1px solid var(--line);padding:12px}
.catalog-product-card .product-media img{width:100%;height:100%;max-height:360px;aspect-ratio:3/4;object-fit:contain!important;background:#fff;border:1px solid rgba(7,63,53,.08)}
.catalog-product-card .product-body{padding:18px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:11px;flex:1}
.catalog-product-card .badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 12px;border:1px solid rgba(199,154,69,.45);background:#fff8e8;color:#805a20;border-radius:999px;font-size:12.5px;font-weight:800}
.catalog-product-card h3{display:flex;align-items:center;justify-content:center;min-height:3.2em;margin:0;color:var(--green);font-size:21px;line-height:1.55}
.catalog-product-card h3 a{text-decoration:none}
.catalog-product-card .product-body>p{display:flex;align-items:flex-start;justify-content:center;min-height:5.2em;margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.catalog-product-card .product-meta{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;min-height:34px}
.catalog-product-card .product-meta span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--green);font-size:12.5px;font-weight:800}
.catalog-product-card .price-row{width:100%;margin-top:auto}
.catalog-product-card .card-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.catalog-product-card .card-actions .btn:last-child{grid-column:1/-1}
.product-thumb img[src*="/operational-primary/"],.product-thumb img[src*="/operational-middle/"],.product-thumb img[src*="/operational-secondary/"],.product-thumb img[src*="/operational-bundle/"],.product-media img[src*="/operational-primary/"],.product-media img[src*="/operational-middle/"],.product-media img[src*="/operational-secondary/"],.product-media img[src*="/operational-bundle/"]{object-fit:contain!important;background:linear-gradient(145deg,#eef6f2,#fff8e8)!important;padding:12px!important}
/* Landscape activity-plan covers must remain fully visible inside the standard card frame. */
.product-thumb img[src*="/student-activity-plan-primary/"],
.product-thumb img[src*="/student-activity-plan-middle/"],
.product-thumb img[src*="/student-activity-plan-secondary/"],
.product-thumb img[src*="/activity-leader-record/"],
.product-thumb img[src*="/student-guidance-plan/"],
.product-media img[src*="/student-activity-plan-primary/"],
.product-media img[src*="/student-activity-plan-middle/"],
.product-media img[src*="/student-activity-plan-secondary/"],
.product-media img[src*="/activity-leader-record/"],
.product-media img[src*="/student-guidance-plan/"]{
  aspect-ratio:4/3!important;
  object-fit:contain!important;
  background:linear-gradient(145deg,#eef6f2,#fff8e8)!important;
  padding:12px!important;
}
.activity-plan-visual{width:100%!important;max-width:720px!important;overflow:hidden}
.activity-plan-visual img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1123/793!important;
  object-fit:contain!important;
  background:#fff!important;
}
.activity-plan-gallery .gallery-item{min-height:0!important;background:linear-gradient(145deg,#eef6f2,#fff8e8)!important}
.activity-plan-gallery .gallery-item img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1123/793!important;
  object-fit:contain!important;
  background:#fff!important;
}
.product-difference-note,.product-audience-note{margin:14px 0 0;padding:12px 14px;border-right:4px solid var(--gold);background:#fff8e8;color:#5f4b24;font-weight:700;line-height:1.75}
.bundle-preview-grid{scroll-margin-top:150px}
@media(max-width:700px){.catalog-product-card .product-media{min-height:300px}.catalog-product-card .product-body>p{min-height:0}.catalog-product-card h3{min-height:0}.catalog-product-card .card-actions{grid-template-columns:1fr}.activity-plan-visual{max-width:100%!important}.activity-plan-gallery{grid-template-columns:1fr!important}.activity-plan-gallery .gallery-item{padding:6px!important}}


/* RC8 — approved typography, social accounts, and mobile stability */
html,body,button,input,select,textarea{font-family:Arial,Tahoma,sans-serif!important}
html,body{max-width:100%;overflow-x:hidden}
img,svg{max-width:100%}

/* One white rounded social tray, with equal black circles and white marks. */
.site-footer .social-hub.social-icons-only{
  display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;
  width:max-content!important;max-width:100%!important;gap:10px!important;margin:18px 0 0!important;padding:10px 14px!important;
  background:#fff!important;border:1px solid #d8dadd!important;border-radius:999px!important;box-shadow:0 10px 28px rgba(0,0,0,.14)!important;
}
.site-footer .social-icons-only .social-link{
  display:grid!important;place-items:center!important;flex:0 0 48px!important;width:48px!important;height:48px!important;
  padding:0!important;border:0!important;border-radius:50%!important;background:#050505!important;color:#fff!important;box-shadow:none!important;
}
.site-footer .social-icons-only .social-link:hover{background:#1b1b1b!important;transform:translateY(-2px)!important}
.site-footer .social-icons-only .social-link img{width:24px!important;height:24px!important;object-fit:contain!important}

/* The upper purchase control is the single purchase action on product pages. */
.product-actions-main .btn-buy-now{position:relative}

@media(max-width:640px){
  .site-footer .social-hub.social-icons-only{gap:7px!important;padding:9px 10px!important;margin-inline:auto!important}
  .site-footer .social-icons-only .social-link{flex-basis:42px!important;width:42px!important;height:42px!important}
  .site-footer .social-icons-only .social-link img{width:21px!important;height:21px!important}
  .header-inner,.site-header,.announcement-bar,.announcement-inner{max-width:100vw}
}


/* ===== RC9 — typography calibration, badge restoration, and faster product entry ===== */
/* Arial is retained, while visual sizes are calibrated to match RC7's approved scale. */
html{font-size:17px}
body{font-size:1rem;line-height:1.8}
.top-ribbon{font-size:14px}
.brand-text strong{font-size:23px}
.brand-text small{font-size:14px}
.header-search input,.big-search input{font-size:16px}
.search-result strong{font-size:15px}
.search-result span{font-size:13px}
.nav-links a,.nav-dropdown>button,.cart-button{font-size:16px}
.hero-copy h1,.simple-hero h1,.category-hero h1{font-size:clamp(40px,5.15vw,72px)}
.hero-copy p{font-size:21px}
.quick-search>span{font-size:21px}
.section-head h2{font-size:clamp(32px,3.15vw,50px)}
.section-head p{font-size:19px}
.category-body h3,.product-card h3{font-size:23px}
.product-tags span{font-size:14px}
.price-row strong{font-size:25px}
.btn-sm{font-size:15px}
.category-hero p,.simple-hero p{font-size:20px}
.faq-item summary{font-size:21px}
.product-info h1{font-size:clamp(33px,3.65vw,54px)!important}
.product-info>p{font-size:19px!important}
.breadcrumbs{font-size:15px}
.product-label{font-size:14px;min-height:33px;display:inline-flex;align-items:center;justify-content:center;padding:7px 13px!important;line-height:1.25}
.price-box strong{font-size:40px}
.mini-specs span{font-size:15px;padding:8px 13px}
.inline-detail-card h2{font-size:20px}
.inline-detail-card p,.inline-detail-card .check-list li{font-size:15px!important}
.footer-brand h2{font-size:36px}

/* Restore RC7's badge presence while keeping the approved Arial family. */
.card-badge{
  display:flex!important;align-items:center!important;justify-content:center!important;
  min-height:34px!important;max-width:calc(100% - 24px)!important;
  padding:8px 14px!important;font-size:14px!important;line-height:1.25!important;
  text-align:center!important;white-space:normal!important;font-weight:700!important;
}
.catalog-product-card .badge{
  min-height:32px!important;padding:6px 13px!important;font-size:13.5px!important;
  line-height:1.3!important;font-weight:700!important;text-align:center!important;
}
.catalog-product-card h3{font-size:22px!important}
.catalog-product-card .product-body>p{font-size:15px!important}
.catalog-product-card .product-meta span{font-size:13.5px!important}

/* Product hero content must be visible immediately; lower-page reveal effects remain. */
.product-hero-detail .reveal{opacity:1!important;transform:none!important;transition:none!important}
.product-visual img{content-visibility:auto}
.product-hero-detail~.section{content-visibility:auto;contain-intrinsic-size:900px}

@media(max-width:640px){
  html{font-size:16.5px}
  .brand-text strong{font-size:19px}
  .hero-copy h1{font-size:36px}
  .hero-copy p{font-size:17px}
  .section-head h2{font-size:32px}
  .section-head p{font-size:17px}
  .category-body h3,.product-card h3{font-size:22px}
  .card-badge{font-size:13.5px!important;min-height:33px!important;padding:7px 12px!important}
  .product-info h1{font-size:34px!important;line-height:1.38!important}
  .product-info>p{font-size:17px!important}
  .mini-specs span{font-size:14px}
}

/* Installable web-app controls: left side stays clear of the WhatsApp action. */
.pwa-install-button{
  position:fixed;z-index:950;left:max(18px,env(safe-area-inset-left));
  bottom:max(18px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:9px;
  min-height:52px;padding:10px 17px;border:1px solid rgba(230,188,83,.82);border-radius:999px;
  color:#fffdf8;background:linear-gradient(135deg,#062f32,#08745f 72%);font:700 16px/1.2 Arial,sans-serif;
  box-shadow:0 14px 34px rgba(6,47,50,.28);cursor:pointer;isolation:isolate;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.pwa-install-button[hidden]{display:none!important}
.pwa-install-button:hover{transform:translateY(-2px);box-shadow:0 17px 38px rgba(6,47,50,.35);filter:saturate(1.08)}
.pwa-install-button:focus-visible{outline:3px solid #e6bc53;outline-offset:4px}
.pwa-install-button__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fffdf8;color:#062f32;font-size:23px;line-height:1}
.pwa-install-button.is-ready .pwa-install-button__icon{animation:pwaInstallPulse 1.8s ease-in-out 2}

.pwa-install-overlay{
  position:fixed;z-index:3000;inset:0;display:grid;place-items:center;padding:20px;
  background:rgba(3,28,30,.72);backdrop-filter:blur(6px);
}
.pwa-install-overlay[hidden]{display:none!important}
.pwa-install-dialog{
  position:relative;width:min(560px,100%);max-height:min(720px,calc(100dvh - 40px));overflow:auto;
  padding:30px;border:1px solid rgba(230,188,83,.55);border-radius:24px;background:#fffdf8;color:#173e3b;
  box-shadow:0 30px 90px rgba(0,0,0,.35);text-align:right;
}
.pwa-install-dialog:focus{outline:none}
.pwa-install-dialog__close{
  position:absolute;top:13px;left:14px;display:grid;place-items:center;width:42px;height:42px;
  border:1px solid #d9e2de;border-radius:50%;background:#fff;color:#173e3b;font:400 30px/1 Arial,sans-serif;cursor:pointer;
}
.pwa-install-dialog__close:focus-visible,.pwa-install-dialog button:focus-visible{outline:3px solid #e6bc53;outline-offset:3px}
.pwa-install-dialog__title{margin:0 0 12px;padding-left:48px;color:#075f50;font-size:clamp(24px,4.2vw,34px);line-height:1.35}
.pwa-install-dialog__intro{margin:0 0 18px;color:#3f5552;font-size:17px;line-height:1.85}
.pwa-install-dialog__steps{margin:0 0 18px;padding:0 26px 0 0;display:grid;gap:11px;color:#173e3b;font-size:16px;line-height:1.75}
.pwa-install-dialog__steps li::marker{color:#b98516;font-weight:800}
.pwa-install-dialog__note{margin:0 0 20px;padding:13px 15px;border-radius:14px;background:#eef6f2;color:#31544e;font-size:14px;line-height:1.7}
.pwa-install-dialog__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.pwa-install-dialog__actions .btn{min-width:140px;margin:0}
.pwa-install-toast{
  position:fixed;z-index:3100;left:50%;bottom:max(84px,calc(env(safe-area-inset-bottom) + 84px));
  width:min(560px,calc(100% - 36px));padding:15px 19px;border:1px solid rgba(230,188,83,.72);border-radius:16px;
  background:#062f32;color:#fffdf8;box-shadow:0 18px 48px rgba(0,0,0,.28);font:700 15px/1.65 Arial,sans-serif;
  text-align:center;opacity:0;transform:translate(-50%,14px);transition:opacity .22s ease,transform .22s ease;
}
.pwa-install-toast.is-visible{opacity:1;transform:translate(-50%,0)}
body.pwa-guide-open{overflow:hidden}

.offline-page{margin:0;min-height:100dvh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eef6f2,#fff8e8);font-family:Arial,sans-serif;color:#173e3b}
.offline-shell{width:min(620px,100%);padding:38px 28px;border:1px solid rgba(230,188,83,.56);border-radius:28px;background:#fffdf8;box-shadow:0 22px 60px rgba(6,47,50,.16);text-align:center}
.offline-shell img{display:block;margin:0 auto 18px;border-radius:24px}
.offline-shell h1{margin:0 0 12px;color:#075f50;font-size:clamp(30px,7vw,46px)}
.offline-shell p{margin:0 auto 24px;max-width:520px;color:#52635f;font-size:18px;line-height:1.9}
.offline-shell .btn{display:inline-flex;text-decoration:none}

@keyframes pwaInstallPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}


@media(max-width:640px){
  .pwa-install-button{left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));min-height:48px;padding:8px 13px;font-size:14px}
  .pwa-install-button__icon{width:28px;height:28px;font-size:21px}
  .pwa-install-dialog{padding:27px 20px 22px;border-radius:20px}
  .pwa-install-dialog__title{font-size:25px}
  .pwa-install-dialog__intro{font-size:16px}
  .pwa-install-dialog__steps{font-size:15px}
  .pwa-install-dialog__actions{display:grid;grid-template-columns:1fr}
  .pwa-install-dialog__actions .btn{width:100%;min-width:0}
}

@media(prefers-reduced-motion:reduce){
  .pwa-install-button,.pwa-install-toast{transition:none!important;animation:none!important}
}

/* Reviews PREVIEW-2: separate the customer name from the approval label. */
.review-card footer>div{display:grid;gap:4px;min-width:0}
.review-card footer strong,.review-card footer small{display:block;line-height:1.55}
.review-card footer strong{overflow-wrap:anywhere}

/* ===== Esnad Academic 10.9.15 — owner-managed storefront hero ===== */
.hero-showcase-disabled .hero-grid{grid-template-columns:minmax(0,820px)!important;justify-content:center}
.editorial-showcase.is-managed-ads{padding:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;min-width:0}
.editorial-showcase.is-managed-ads:before{z-index:2;pointer-events:none}
.storefront-ad-stage{position:relative;width:100%;z-index:1;background:#fff;border:1px solid #e4d7b8;box-shadow:0 12px 28px rgba(7,26,43,.08);overflow:hidden}
.storefront-ad-viewport{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#fff}
.storefront-ad-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(.995);transition:opacity .42s ease,transform .42s ease,visibility .42s}
.storefront-ad-slide.is-active{opacity:1;visibility:visible;transform:none;z-index:1}
.storefront-ad-slide>a,.storefront-ad-slide>img{display:block;width:100%;height:100%}
.storefront-ad-slide img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#fff}
.storefront-ad-slide a:focus-visible{outline:3px solid var(--v109-gold);outline-offset:-4px}
.storefront-ad-controls{position:absolute;z-index:5;inset-inline:12px;bottom:10px;display:flex;align-items:center;justify-content:center;gap:7px;pointer-events:none}
.storefront-ad-controls button{pointer-events:auto;display:grid;place-items:center;border:1px solid rgba(255,255,255,.75);background:rgba(7,26,43,.82);color:#fff;box-shadow:0 4px 13px rgba(0,0,0,.18);cursor:pointer;backdrop-filter:blur(5px)}
.storefront-ad-arrow,.storefront-ad-toggle{width:32px;height:32px;border-radius:50%;font:800 18px/1 inherit}
.storefront-ad-toggle{font-size:12px}
.storefront-ad-dots{display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:rgba(7,26,43,.58);backdrop-filter:blur(5px)}
.storefront-ad-dot{width:9px!important;height:9px!important;min-width:9px;border-radius:50%;padding:0!important;background:rgba(255,255,255,.58)!important;border:0!important;box-shadow:none!important}
.storefront-ad-dot.is-active{background:var(--v109-gold)!important;transform:scale(1.2)}
.storefront-ad-controls button:hover,.storefront-ad-controls button:focus-visible{background:var(--v109-gold);color:var(--v109-navy);outline:none}
@media(max-width:700px){.editorial-showcase.is-managed-ads{padding:8px}.storefront-ad-controls{inset-inline:8px;bottom:7px}.storefront-ad-arrow,.storefront-ad-toggle{width:29px;height:29px}.storefront-ad-dots{padding:6px 8px}}
@media(prefers-reduced-motion:reduce){.storefront-ad-slide{transition:none}}

/* HOTFIX-4: robust mobile reservation and opt-in ad diagnostics. */
@media(max-width:700px){.storefront-ad-viewport{min-height:240px}}
@supports not (aspect-ratio:4/3){.storefront-ad-viewport{height:0;padding-top:75%}}
.storefront-ad-debug{position:fixed;z-index:99999;inset:auto 6px 6px 6px;max-height:42vh;overflow:auto;margin:0;padding:9px;border:2px solid #d3a843;border-radius:10px;background:#071a2bf2;color:#fff;font:11px/1.5 monospace;direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere}
/* HOTFIX-5: keep the legacy showcase visible until the first managed ad is fully decoded. */
@keyframes storefront-ad-reveal{from{opacity:0;transform:scale(.992)}to{opacity:1;transform:none}}
.storefront-ad-stage.is-entering{animation:storefront-ad-reveal .28s ease-out both}
@media(prefers-reduced-motion:reduce){.storefront-ad-stage.is-entering{animation:none}}


/* HOTFIX-6: zero-white-flash managed hero.
   The legacy editorial showcase remains the layout/background layer at all times.
   A decoded direct image is faded in as an absolute overlay only after it is ready. */
.editorial-showcase.is-managed-ads{
  position:relative;
  display:block;
  align-items:initial;
  justify-content:initial;
  overflow:hidden;
  min-width:0;
  padding:20px;
}
.editorial-showcase.is-managed-ads>.storefront-ad-stage{
  position:absolute;
  inset:12px;
  width:auto;
  height:auto;
  z-index:4;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  background:var(--v109-paper,#fffaf0);
  border:1px solid #e4d7b8;
  box-shadow:0 12px 28px rgba(7,26,43,.08);
  transition:opacity .24s ease,visibility 0s linear .24s;
}
.editorial-showcase.is-managed-ads>.storefront-ad-stage.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .24s ease;
}
.editorial-showcase.is-managed-ads>.storefront-ad-stage .storefront-ad-viewport{
  width:100%;
  height:100%;
  min-height:0;
  aspect-ratio:auto;
  background:var(--v109-paper,#fffaf0);
}
.editorial-showcase.is-managed-ads>:not(.storefront-ad-stage){
  transition:opacity .18s ease,visibility 0s linear .18s;
}
.editorial-showcase.is-managed-ad-ready>:not(.storefront-ad-stage){
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
@media(max-width:700px){
  .editorial-showcase.is-managed-ads{padding:14px}
  .editorial-showcase.is-managed-ads>.storefront-ad-stage{inset:8px}
}
@media(prefers-reduced-motion:reduce){
  .editorial-showcase.is-managed-ads>.storefront-ad-stage,
  .editorial-showcase.is-managed-ads>:not(.storefront-ad-stage){transition:none!important}
}

/* HOTFIX-7: lock the managed storefront ad to a true 4:3 frame on every viewport.
   The legacy showcase may be much taller than the ad (especially on mobile). Once the
   managed image is ready, remove legacy children from layout and let the showcase
   itself define the geometry. This prevents vertical white bands and grid stretching. */
.editorial-showcase.is-managed-ads.is-managed-ad-ready{
  width:100%;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:4/3!important;
  box-sizing:border-box;
  padding:0!important;
  align-self:start!important;
  overflow:hidden!important;
}
.editorial-showcase.is-managed-ads.is-managed-ad-ready>:not(.storefront-ad-stage){
  display:none!important;
}
.editorial-showcase.is-managed-ads.is-managed-ad-ready>.storefront-ad-stage{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.editorial-showcase.is-managed-ads.is-managed-ad-ready>.storefront-ad-stage .storefront-ad-viewport{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:4/3!important;
  background:transparent!important;
}
.editorial-showcase.is-managed-ads.is-managed-ad-ready .storefront-ad-slide,
.editorial-showcase.is-managed-ads.is-managed-ad-ready .storefront-ad-slide>a,
.editorial-showcase.is-managed-ads.is-managed-ad-ready .storefront-ad-slide>img,
.editorial-showcase.is-managed-ads.is-managed-ad-ready .storefront-ad-slide a>img{
  width:100%!important;
  height:100%!important;
}
.editorial-showcase.is-managed-ads.is-managed-ad-ready .storefront-ad-slide img{
  object-fit:cover!important;
  object-position:center!important;
  background:transparent!important;
}
@supports not (aspect-ratio:4/3){
  .editorial-showcase.is-managed-ads.is-managed-ad-ready{height:auto!important}
  .editorial-showcase.is-managed-ads.is-managed-ad-ready:after{content:"";display:block;padding-top:75%}
}
