/* iTeachPlus V4.39.10 shared CSS bundle. Generated in original cascade order. */

/* ===== assets/style.css ===== */
:root{
  --blue-slate:#206078;--charcoal:#173c4d;--pink:#e3635b;--blush:#f2b6a3;
  --blue-slate-2:#60727a;--snow:#f8f8f8;--mint:#6decaf;--linen:#f4ebe0;
  --ink:#15303b;--muted:#6f7c82;--white:#fff;--line:#e7e9e8;--surface:#fff;
  --shadow:0 20px 60px rgba(23,60,77,.10);--soft-shadow:0 12px 35px rgba(23,60,77,.08);
  --radius:26px;--radius-sm:16px;--container:1220px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--snow);color:var(--ink);font-family:"Vazirmatn",Tahoma,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(var(--container),calc(100% - 36px));margin:auto}.topbar{background:var(--charcoal);color:#dbe7eb;font-size:13px}.topbar-inner{display:flex;justify-content:space-between;align-items:center;min-height:36px}.topbar a{color:#fff;font-weight:700}.site-header{position:sticky;top:0;z-index:50;background:rgba(248,248,248,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(23,60,77,.08)}.nav-wrap{height:82px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand-mark{width:43px;height:43px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue-slate),var(--mint));color:#fff;font-weight:900;font-size:20px;box-shadow:0 8px 24px rgba(32,96,120,.22)}.brand strong{display:block;line-height:1.1;font-size:18px}.brand small{font-size:10px;color:var(--blue-slate-2)}.main-nav{display:flex;align-items:center;gap:26px;margin-inline:auto;font-size:14px;font-weight:700}.main-nav a{position:relative;padding:12px 0}.main-nav a:after{content:"";position:absolute;right:0;bottom:6px;width:0;height:2px;background:var(--pink);transition:.25s}.main-nav a:hover:after{width:100%}.nav-actions{display:flex;align-items:center;gap:10px}.icon-btn,.menu-btn{position:relative;border:1px solid #dfe6e8;background:#fff;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;cursor:pointer}.icon-btn svg,.menu-btn svg{width:19px}.cart-badge{position:absolute;left:-6px;top:-6px;min-width:21px;height:21px;border-radius:999px;background:var(--pink);color:white;font-size:11px;display:grid;place-items:center;border:2px solid var(--snow)}.account-pill{height:44px;padding:0 15px;display:flex;gap:8px;align-items:center;background:white;border:1px solid #dfe6e8;border-radius:14px;font-size:13px;font-weight:700}.account-pill svg{width:17px}.menu-btn{display:none}.btn{border:0;border-radius:14px;padding:13px 20px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.22s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--charcoal);color:#fff;box-shadow:0 10px 24px rgba(23,60,77,.16)}.btn-primary{background:var(--blue-slate);color:#fff}.btn-accent{background:var(--pink);color:#fff}.btn-mint{background:var(--mint);color:var(--charcoal)}.btn-light{background:#fff;border:1px solid #e2e8ea}.btn-sm{padding:10px 15px;font-size:13px}.btn-lg{padding:16px 25px;border-radius:17px}.section{padding:80px 0}.section-sm{padding:48px 0}.eyebrow{display:inline-flex;gap:8px;align-items:center;color:var(--blue-slate);font-size:13px;font-weight:900;letter-spacing:-.2px}.eyebrow:before{content:"";width:18px;height:6px;border-radius:99px;background:var(--mint)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-head h2{font-size:clamp(26px,4vw,42px);line-height:1.3;margin:6px 0 0;letter-spacing:-1.5px}.section-head p{color:var(--muted);max-width:600px;margin:5px 0 0}.link-arrow{font-weight:800;color:var(--blue-slate);display:flex;gap:6px;align-items:center}.link-arrow svg{width:18px}.hero{position:relative;overflow:hidden;padding:74px 0 50px}.hero:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,var(--linen),rgba(244,235,224,0));left:-180px;top:-160px;z-index:-1}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:50px}.hero h1{font-size:clamp(42px,6vw,74px);line-height:1.18;letter-spacing:-3px;margin:14px 0 20px}.hero h1 .accent{color:var(--blue-slate);position:relative;white-space:nowrap}.hero h1 .accent:after{content:"";position:absolute;right:5%;left:5%;bottom:4px;height:12px;background:var(--mint);opacity:.45;z-index:-1;transform:rotate(-1deg);border-radius:50%}.hero-copy>p{font-size:18px;color:var(--blue-slate-2);max-width:620px;margin-bottom:28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.trust-row{display:flex;align-items:center;gap:17px;margin-top:30px;color:var(--muted);font-size:13px}.avatar-stack{display:flex}.avatar-stack img{width:37px;height:37px;border-radius:50%;object-fit:cover;border:3px solid var(--snow);margin-left:-10px}.trust-row strong{color:var(--ink)}.hero-visual{position:relative;min-height:560px}.hero-photo{position:absolute;inset:20px 40px 20px 0;border-radius:40px;overflow:hidden;box-shadow:var(--shadow);background:#dce8eb}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(23,60,77,.45))}.float-card{position:absolute;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);padding:15px 17px;border-radius:18px;box-shadow:var(--soft-shadow);border:1px solid rgba(255,255,255,.8);z-index:3}.float-card.one{right:-15px;top:75px}.float-card.two{left:-10px;bottom:55px;min-width:210px}.float-card .icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--mint);margin-bottom:10px}.float-card .icon svg{width:19px}.float-card strong{display:block;font-size:14px}.float-card small{color:var(--muted)}.hero-teacher{position:absolute;bottom:55px;right:72px;left:95px;color:white;z-index:2}.hero-teacher strong{font-size:20px}.hero-teacher span{font-size:13px;opacity:.85}.search-panel{margin-top:36px;background:#fff;border-radius:22px;padding:10px;display:grid;grid-template-columns:1fr 1fr auto;gap:8px;box-shadow:0 14px 44px rgba(23,60,77,.09);border:1px solid #edf0f1}.search-field{display:flex;gap:10px;align-items:center;padding:4px 12px}.search-field+ .search-field{border-right:1px solid #e7ecee}.search-field svg{width:19px;color:var(--blue-slate)}.search-field label{display:block;font-size:10px;color:var(--muted);font-weight:700}.search-field select,.search-field input{border:0;outline:0;background:transparent;width:100%;font-size:13px;color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:20px}.stat{background:#fff;border:1px solid #e7ecee;border-radius:20px;padding:22px}.stat strong{display:block;font-size:28px;line-height:1.3}.stat span{color:var(--muted);font-size:13px}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.category-card{background:#fff;border:1px solid #e5e9ea;border-radius:20px;padding:22px 14px;text-align:center;transition:.22s}.category-card:hover{transform:translateY(-5px);box-shadow:var(--soft-shadow);border-color:transparent}.category-icon{width:56px;height:56px;margin:0 auto 13px;display:grid;place-items:center;border-radius:18px;background:var(--linen)}.category-card:nth-child(2n) .category-icon{background:#e2f8ed}.category-card:nth-child(3n) .category-icon{background:#fbe4df}.category-icon svg{width:25px}.category-card strong{display:block}.category-card small{color:var(--muted)}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.course-card{background:#fff;border-radius:24px;overflow:hidden;border:1px solid #e5e9ea;transition:.28s}.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}.course-img{height:275px;display:block;position:relative;overflow:hidden;background:#d9e4e7}.course-img img{width:100%;height:100%;object-fit:cover;transition:.5s}.course-card:hover .course-img img{transform:scale(1.04)}.verified{position:absolute;right:14px;top:14px;background:rgba(255,255,255,.94);padding:7px 10px;border-radius:999px;font-size:10px;font-weight:800;display:flex;gap:5px;align-items:center}.verified svg{width:14px;color:var(--blue-slate)}.course-body{padding:20px}.card-meta{display:flex;justify-content:space-between;color:var(--blue-slate);font-size:11px;font-weight:800}.course-body h3{font-size:19px;line-height:1.55;margin:7px 0}.course-body>p{font-size:13px;color:var(--muted);line-height:1.8;height:47px;overflow:hidden}.teacher-mini{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0f1;padding-top:13px;margin-top:13px;font-size:12px}.rating-mini{color:var(--muted)}.rating-mini b{color:var(--ink)}.card-price{display:flex;align-items:end;justify-content:space-between;margin-top:15px}.card-price del{display:block;color:#a2a9ac;font-size:11px}.card-price strong{font-size:16px}.round-add{width:42px;height:42px;border-radius:14px;background:var(--charcoal);color:white;display:grid;place-items:center}.round-add svg{width:18px}.feature-strip{background:var(--charcoal);color:#fff;border-radius:34px;padding:34px;display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.feature-item{display:flex;gap:12px;align-items:flex-start}.feature-item .fi-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(109,236,175,.14);color:var(--mint);flex:0 0 46px}.feature-item svg{width:21px}.feature-item strong{display:block;font-size:14px}.feature-item span{font-size:11px;color:#aac0ca}.teacher-cta{background:linear-gradient(135deg,var(--linen),#fff);border:1px solid #ebe4da;border-radius:34px;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden}.teacher-cta-copy{padding:55px}.teacher-cta h2{font-size:40px;line-height:1.4;margin:8px 0 12px}.teacher-cta p{color:var(--muted)}.teacher-cta-media{min-height:380px;position:relative}.teacher-cta-media img{width:100%;height:100%;object-fit:cover}.teacher-cta-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.2),transparent)}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.quote{background:#fff;border-radius:22px;padding:24px;border:1px solid #e7e9e9}.quote p{font-size:14px;color:#42555d}.quote-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:12px}.quote-footer strong{display:block}.stars{display:inline-flex;direction:ltr;gap:2px}.stars svg{width:15px;height:15px;color:#d5dcde;fill:none}.stars svg.filled{color:#e8a742;fill:#e8a742}.footer{margin-top:70px;background:#102e3a;color:#dbe5e9;padding:60px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:50px}.brand-light strong{color:#fff}.brand-light small{color:#b6c9d1}.footer p{font-size:13px;color:#a9bcc3}.footer h4{color:#fff;margin:0 0 15px}.footer a,.footer span{display:block;font-size:13px;margin:7px 0}.newsletter{display:flex;background:#fff;border-radius:14px;padding:4px}.newsletter input{border:0;outline:0;padding:8px 10px;min-width:0;flex:1}.newsletter button{border:0;border-radius:11px;background:var(--mint);padding:0 12px;font-weight:800;color:var(--charcoal)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:22px;color:#8fa7b0}.toast{position:fixed;top:105px;left:24px;z-index:100;background:#fff;padding:13px 18px;border-radius:14px;box-shadow:var(--shadow);font-size:13px;border-right:4px solid var(--blue-slate);animation:toast 4s forwards}.toast.success{border-color:#2ba56b}.toast.error{border-color:#d75252}@keyframes toast{0%{opacity:0;transform:translateY(-8px)}10%,80%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-8px);pointer-events:none}}

/* Catalog */
.page-hero{padding:52px 0 30px}.page-hero-box{background:linear-gradient(135deg,#e9f4f6,#f6eee7);border-radius:32px;padding:42px;display:flex;justify-content:space-between;gap:30px;align-items:center}.page-hero h1{font-size:42px;line-height:1.3;margin:5px 0 8px}.page-hero p{color:var(--muted);max-width:650px}.catalog-layout{display:grid;grid-template-columns:260px 1fr;gap:28px}.filters{background:#fff;border:1px solid #e5e9ea;border-radius:22px;padding:22px;align-self:start;position:sticky;top:110px}.filters h3{margin:0 0 15px}.filter-block{border-top:1px solid #edf0f1;padding:18px 0}.filter-block:first-of-type{border-top:0}.filter-block label{display:flex;gap:9px;align-items:center;font-size:13px;margin:9px 0}.filter-block input[type=checkbox]{accent-color:var(--blue-slate)}.filter-block select,.filter-block input[type=number]{width:100%;border:1px solid #dfe5e7;border-radius:12px;padding:10px;background:#fff}.catalog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.catalog-top select{border:1px solid #dfe5e7;border-radius:12px;padding:9px 12px;background:white}.no-results{background:#fff;border:1px dashed #ccd7da;border-radius:20px;padding:50px;text-align:center;color:var(--muted)}

/* Product / teacher */
.product-wrap{padding:48px 0}.product-top{display:grid;grid-template-columns:.92fr 1.08fr;gap:46px}.gallery-main{height:600px;border-radius:30px;overflow:hidden;background:#dce7e9}.gallery-main img{width:100%;height:100%;object-fit:cover}.gallery-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.gallery-thumbs button{border:2px solid transparent;padding:0;border-radius:15px;overflow:hidden;height:105px;background:#ddd;cursor:pointer}.gallery-thumbs button.active{border-color:var(--blue-slate)}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.product-info{padding-top:15px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;gap:5px;align-items:center;background:#e7f7ef;color:#24724d;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.chip.blue{background:#e8f1f4;color:var(--blue-slate)}.product-info h1{font-size:44px;line-height:1.3;margin:13px 0 5px}.product-role{font-size:18px;color:var(--blue-slate);font-weight:700}.product-rating{display:flex;gap:9px;align-items:center;margin:12px 0}.product-info .bio{color:var(--muted);font-size:15px}.teacher-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.teacher-stats>div{background:#fff;border:1px solid #e5e9ea;border-radius:16px;padding:14px}.teacher-stats strong{display:block;font-size:18px}.teacher-stats span{font-size:11px;color:var(--muted)}.purchase-box{background:#fff;border:1px solid #dfe6e8;border-radius:22px;padding:20px;margin-top:22px;box-shadow:var(--soft-shadow)}.purchase-line{display:flex;justify-content:space-between;align-items:center}.purchase-price strong{font-size:24px}.purchase-price del{display:block;font-size:12px;color:#9ba5a9}.purchase-actions{display:flex;gap:10px;margin-top:15px}.purchase-actions .btn{flex:1}.lesson-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.lesson-facts div{background:var(--linen);border-radius:15px;padding:12px}.lesson-facts small{display:block;color:var(--muted)}.product-tabs{margin-top:60px}.tab-nav{display:flex;gap:6px;border-bottom:1px solid #dfe6e8}.tab-btn{border:0;background:transparent;padding:14px 20px;font-weight:800;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent}.tab-btn.active{color:var(--blue-slate);border-bottom-color:var(--blue-slate)}.tab-pane{display:none;padding:30px 0}.tab-pane.active{display:block}.content-card{background:#fff;border:1px solid #e5e9ea;border-radius:22px;padding:28px}.content-card h2{margin-top:0}.review-list{display:grid;gap:13px}.review{background:#fff;border:1px solid #e5e9ea;border-radius:18px;padding:18px}.review-top{display:flex;justify-content:space-between}.review p{color:var(--muted);margin-bottom:0}.review-form{margin-top:22px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800}.field input,.field select,.field textarea{border:1px solid #d9e2e5;background:#fff;border-radius:13px;padding:12px 13px;outline:0;transition:.2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue-slate);box-shadow:0 0 0 3px rgba(32,96,120,.08)}.field textarea{min-height:110px;resize:vertical}

/* Cart & checkout */
.cart-layout,.checkout-layout{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}.panel{background:#fff;border:1px solid #e3e8e9;border-radius:22px;padding:24px}.cart-item{display:grid;grid-template-columns:90px 1fr auto;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid #edf0f1}.cart-item:first-child{padding-top:0}.cart-item img{width:90px;height:90px;border-radius:17px;object-fit:cover}.cart-item h3{font-size:15px;margin:0}.cart-item p{margin:3px 0;color:var(--muted);font-size:12px}.qty{display:flex;align-items:center;border:1px solid #dce4e6;border-radius:12px;overflow:hidden;width:max-content;margin-top:8px}.qty button{width:30px;height:30px;border:0;background:#f5f7f7;cursor:pointer}.qty input{width:42px;border:0;text-align:center;outline:0}.remove{font-size:12px;color:var(--pink)}.summary-card{position:sticky;top:110px}.summary-row{display:flex;justify-content:space-between;margin:12px 0;font-size:13px}.summary-total{border-top:1px solid #e7ecee;padding-top:15px;margin-top:15px;font-size:17px;font-weight:900}.summary-card .btn{width:100%;margin-top:10px}.empty-cart{text-align:center;padding:75px 20px}.empty-cart .big-icon{width:78px;height:78px;border-radius:24px;background:var(--linen);display:grid;place-items:center;margin:0 auto 15px}.payment-options{display:grid;gap:10px}.payment-option{display:flex;gap:10px;padding:13px;border:1px solid #dce4e6;border-radius:14px;cursor:pointer}.payment-option:has(input:checked){border-color:var(--blue-slate);background:#f2f8fa}.payment-option input{accent-color:var(--blue-slate)}.secure-note{background:#edf9f3;border-radius:14px;padding:12px;font-size:11px;color:#346851;margin-top:14px}.success-card{max-width:700px;margin:60px auto;background:#fff;border:1px solid #e4e9ea;border-radius:30px;padding:48px;text-align:center;box-shadow:var(--shadow)}.success-icon{width:84px;height:84px;margin:0 auto 18px;border-radius:50%;background:#daf7e8;color:#278052;display:grid;place-items:center}.success-icon svg{width:38px;height:38px}.tracking{background:var(--linen);border-radius:16px;padding:13px;margin:20px 0;font-weight:900}

/* Auth */
.auth-page{min-height:calc(100vh - 118px);display:grid;place-items:center;padding:55px 0}.auth-shell{width:min(940px,calc(100% - 36px));display:grid;grid-template-columns:.85fr 1.15fr;background:#fff;border:1px solid #e3e8e9;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.auth-aside{background:linear-gradient(150deg,var(--charcoal),var(--blue-slate));color:#fff;padding:45px;position:relative;overflow:hidden}.auth-aside:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:var(--mint);opacity:.12;left:-80px;bottom:-80px}.auth-aside h2{font-size:34px;line-height:1.45}.auth-aside p{color:#c8d8de;font-size:14px}.auth-points{margin-top:30px}.auth-point{display:flex;gap:10px;align-items:center;margin:14px 0;font-size:13px}.auth-point svg{width:18px;color:var(--mint)}.auth-main{padding:38px}.auth-tabs{display:flex;background:#f2f5f5;border-radius:14px;padding:4px;margin-bottom:24px}.auth-tabs a{flex:1;text-align:center;padding:9px;border-radius:11px;font-size:12px;font-weight:800}.auth-tabs a.active{background:white;box-shadow:0 4px 12px rgba(23,60,77,.08)}.role-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.role-card{border:1px solid #dce4e6;border-radius:15px;padding:13px;cursor:pointer}.role-card:has(input:checked){border-color:var(--blue-slate);background:#f2f8fa}.role-card input{accent-color:var(--blue-slate)}.auth-main .btn{width:100%}.form-note{font-size:11px;color:var(--muted);margin-top:12px}

/* Dashboards */
.dashboard-shell{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 118px)}.sidebar{background:var(--charcoal);color:#d4e1e6;padding:24px 17px;position:sticky;top:118px;height:calc(100vh - 118px)}.side-brand{color:#fff;font-weight:900;font-size:18px;padding:8px 10px 22px}.side-nav a{display:flex;gap:10px;align-items:center;padding:11px 12px;border-radius:12px;margin:4px 0;font-size:13px}.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.09);color:#fff}.side-nav svg{width:18px}.dash-main{padding:36px;min-width:0}.dash-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.dash-head h1{margin:0;font-size:28px}.dash-head p{margin:2px 0;color:var(--muted);font-size:13px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.kpi{background:#fff;border:1px solid #e3e8e9;border-radius:19px;padding:20px}.kpi-icon{width:42px;height:42px;border-radius:13px;background:var(--linen);display:grid;place-items:center;margin-bottom:14px}.kpi-icon svg{width:20px}.kpi strong{display:block;font-size:25px}.kpi span{font-size:12px;color:var(--muted)}.dash-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-top:18px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px;min-width:650px}.data-table th{text-align:right;color:var(--muted);font-weight:700;padding:10px;border-bottom:1px solid #e7ecee}.data-table td{padding:12px 10px;border-bottom:1px solid #f0f2f2}.status{padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800}.status.paid,.status.active{background:#daf7e8;color:#277a50}.status.pending{background:#fff0d8;color:#91611c}.mini-list{display:grid;gap:10px}.mini-list-item{padding:12px;background:#f7f9f9;border-radius:14px}.mini-list-item strong{display:block;font-size:13px}.mini-list-item span{font-size:11px;color:var(--muted)}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.admin-tabs a{padding:9px 12px;background:#fff;border:1px solid #dfe6e8;border-radius:12px;font-size:12px;font-weight:800}.admin-tabs a.active{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}.edit-list{display:grid;gap:12px}.edit-card{background:#fff;border:1px solid #e3e8e9;border-radius:18px;padding:17px;display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:14px}.edit-card img{width:70px;height:70px;border-radius:14px;object-fit:cover}.edit-card h3{margin:0;font-size:14px}.edit-card p{margin:2px 0;color:var(--muted);font-size:11px}.danger{color:#bc4b46}.notice{padding:13px 15px;border-radius:14px;margin-bottom:18px;background:#f0f8fa;border-right:4px solid var(--blue-slate);font-size:12px}.notice.error{background:#fff0ef;border-color:var(--pink)}

/* content pages */
.prose{max-width:850px}.prose h1{font-size:42px}.prose p{font-size:16px;color:#52666e}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}.contact-cards{display:grid;gap:12px}.contact-card{background:#fff;border:1px solid #e3e8e9;border-radius:18px;padding:18px;display:flex;gap:12px}.contact-card svg{color:var(--blue-slate)}

.reveal{opacity:0;transform:translateY(12px);transition:.5s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.hero-grid,.product-top,.teacher-cta{grid-template-columns:1fr}.hero-visual{min-height:500px}.course-grid{grid-template-columns:repeat(2,1fr)}.category-grid{grid-template-columns:repeat(3,1fr)}.feature-strip{grid-template-columns:repeat(2,1fr)}.catalog-layout{grid-template-columns:220px 1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.teacher-cta-media{height:420px}.cart-layout,.checkout-layout{grid-template-columns:1fr 320px}}
@media(max-width:760px){.topbar{display:none}.site-header{top:0}.nav-wrap{height:70px}.main-nav{display:none;position:absolute;top:70px;right:18px;left:18px;background:white;border:1px solid #e2e8ea;border-radius:18px;padding:13px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:10px}.menu-btn{display:grid}.account-pill span{display:none}.hero{padding-top:40px}.hero-grid{gap:22px}.hero h1{font-size:43px;letter-spacing:-2px}.hero-visual{min-height:430px}.hero-photo{inset:10px 12px}.float-card.one{right:0;top:35px}.float-card.two{left:0;bottom:28px}.hero-teacher{right:35px;left:50px;bottom:45px}.search-panel{grid-template-columns:1fr}.search-field + .search-field{border-right:0;border-top:1px solid #e7ecee}.stats{grid-template-columns:repeat(2,1fr)}.section{padding:55px 0}.section-head{align-items:start;flex-direction:column}.category-grid{grid-template-columns:repeat(2,1fr)}.course-grid{grid-template-columns:1fr}.feature-strip{grid-template-columns:1fr}.teacher-cta-copy{padding:30px}.teacher-cta h2{font-size:31px}.teacher-cta-media{height:320px;min-height:auto}.testimonial-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.page-hero-box{padding:28px;display:block}.page-hero h1{font-size:34px}.catalog-layout{grid-template-columns:1fr}.filters{position:static}.product-top{gap:24px}.gallery-main{height:450px}.product-info h1{font-size:35px}.lesson-facts{grid-template-columns:repeat(2,1fr)}.cart-layout,.checkout-layout{grid-template-columns:1fr}.summary-card{position:static}.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}.dashboard-shell{display:block}.sidebar{height:auto;position:static;padding:11px;overflow:auto}.side-brand{display:none}.side-nav{display:flex;min-width:max-content}.side-nav a{white-space:nowrap}.dash-main{padding:22px}.dash-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:480px){.container{width:min(100% - 24px,var(--container))}.brand small{display:none}.hero h1{font-size:37px}.hero-visual{min-height:380px}.hero-photo{border-radius:28px}.float-card{padding:10px}.float-card.two{min-width:180px}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:22px}.category-card{padding:17px 8px}.course-img{height:245px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.gallery-main{height:390px}.teacher-stats{grid-template-columns:1fr 1fr}.purchase-actions{flex-direction:column}.cart-item{grid-template-columns:70px 1fr}.cart-item img{width:70px;height:70px}.cart-item>div:last-child{grid-column:2}.kpi-grid{grid-template-columns:1fr 1fr}.kpi{padding:15px}.dash-main{padding:16px}.auth-main{padding:24px}.role-switch{grid-template-columns:1fr}}

/* Production features v2 */
.muted{color:var(--muted)}
.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.slot-card{position:relative}.slot-card input{position:absolute;opacity:0}.slot-card span{display:block;padding:12px;border:1px solid #dbe4e7;background:#fff;border-radius:14px;text-align:center;font-size:12px;font-weight:800;cursor:pointer;transition:.2s}.slot-card input:checked+span{background:var(--charcoal);border-color:var(--charcoal);color:#fff;box-shadow:0 8px 22px rgba(23,60,77,.16)}
.mini-course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.mini-course{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:14px;border:1px solid #e4e9ea;border-radius:18px;background:#fff}.mini-course img{width:120px;height:120px;border-radius:14px;object-fit:cover}.mini-course h3{margin:0 0 4px}.mini-course p{font-size:12px;color:var(--muted);margin:0}.booking-summary{font-size:11px;background:#eef8f3;padding:8px 10px;border-radius:11px;margin:6px 0}.discount{color:#277a50}.coupon-box{display:grid;grid-template-columns:1fr auto;gap:8px;margin:14px 0}.coupon-box input{min-width:0;border:1px solid #dce4e6;border-radius:12px;padding:10px 12px}
.otp-panel{width:min(520px,calc(100% - 32px));padding:38px}.otp-panel h1{margin-bottom:4px}.otp-input{text-align:center;font-size:28px;letter-spacing:12px;direction:ltr}
.course-editor{border:1px solid #e2e8ea;border-radius:18px;padding:16px;background:#fafcfc}.course-editor>summary,.course-edit-card>summary{cursor:pointer;font-weight:900}.inline-editor{grid-column:1/-1;padding:18px;border-top:1px solid #edf0f1}.course-edit-card{display:grid}.course-edit-card[open]{grid-template-columns:1fr}.course-edit-card[open]>summary{display:grid!important;grid-template-columns:70px 1fr auto;align-items:center;gap:14px}.availability-list{display:grid;gap:9px;margin-top:16px}.availability-row{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e5eaeb;border-radius:14px;background:#fff}.availability-row span{font-size:12px;color:var(--muted)}
.admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.side-badge{margin-right:auto;background:var(--pink);color:#fff;min-width:20px;height:20px;border-radius:99px;display:grid;place-items:center;font-size:10px}.approval-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.approval-card{display:grid;grid-template-columns:180px 1fr;gap:18px;border:1px solid #e3e8e9;border-radius:20px;padding:16px;background:#fff}.approval-card>img{width:180px;height:100%;min-height:220px;object-fit:cover;border-radius:15px}.approval-card h3{margin:8px 0}.approval-card p{font-size:12px;color:var(--muted)}.quick-form,.wallet-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}.quick-form input,.quick-form select,.wallet-form input{max-width:180px;border:1px solid #dce4e6;border-radius:10px;padding:8px}.status.cancelled{background:#fff0ef;color:#a64540}
.invoice-card{background:#fff;border:1px solid #e2e7e8;border-radius:28px;box-shadow:var(--soft-shadow);padding:36px;max-width:980px;margin:auto}.invoice-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0f1;padding-bottom:22px}.invoice-head>div{display:grid;grid-template-columns:auto 1fr;gap:0 12px;align-items:center}.invoice-head .brand-mark{grid-row:1/3}.invoice-head h1,.invoice-head p{margin:0}.invoice-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:24px 0}.invoice-meta div{display:grid}.invoice-meta small{color:var(--muted)}.invoice-meta span{font-size:12px;color:var(--muted)}.invoice-table{width:100%;border-collapse:collapse}.invoice-table th,.invoice-table td{padding:12px;border-bottom:1px solid #eef1f1;text-align:right}.invoice-total{margin-right:auto;width:min(420px,100%);padding-top:20px}.invoice-total>div{display:flex;justify-content:space-between;padding:6px 0}.invoice-total .grand{font-size:18px;border-top:1px solid #dfe6e8;margin-top:8px;padding-top:12px}.invoice-total small{display:block;margin-top:10px;color:var(--muted)}.invoice-foot{margin-top:30px;background:var(--linen);border-radius:14px;padding:12px;text-align:center;font-size:11px;color:var(--muted)}
@media(max-width:900px){.slot-grid{grid-template-columns:repeat(2,1fr)}.mini-course-grid,.approval-grid{grid-template-columns:1fr}.approval-card{grid-template-columns:120px 1fr}.approval-card>img{width:120px}.invoice-meta{grid-template-columns:1fr}}
@media(max-width:560px){.slot-grid{grid-template-columns:1fr}.mini-course{grid-template-columns:85px 1fr}.mini-course img{width:85px;height:85px}.availability-row{grid-template-columns:1fr}.approval-card{grid-template-columns:1fr}.approval-card>img{width:100%;height:220px}.invoice-card{padding:20px}.invoice-head{align-items:flex-start;gap:12px}.invoice-head .btn{padding:8px 10px}.coupon-box{grid-template-columns:1fr}}
@media print{.topbar,.site-header,.footer,.invoice-head .btn{display:none!important}body{background:#fff}.section-sm{padding:0}.invoice-card{box-shadow:none;border:0;padding:0}}


/* ===== assets/modern.css ===== */
/* iTeachPlus Modern Experience Patch v3 — mobile first */
:root{
  --nav-h:74px;--glass:rgba(255,255,255,.78);--glass-dark:rgba(12,35,45,.58);
  --hero-shadow:0 32px 90px rgba(5,30,40,.22);--ring:0 0 0 7px rgba(109,236,175,.13);
  --ease:cubic-bezier(.2,.8,.2,1)
}
html{scroll-padding-top:90px}body{overflow-x:hidden;background:linear-gradient(180deg,#f9fbfb 0,#f8f8f8 55%,#f3f8f7 100%)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background-image:radial-gradient(circle at 10% 10%,rgba(109,236,175,.08),transparent 26%),radial-gradient(circle at 85% 35%,rgba(227,99,91,.07),transparent 25%)}
::selection{background:var(--mint);color:var(--charcoal)}
.skip-link{position:fixed;right:12px;top:-100px;z-index:9999;background:#fff;padding:9px 14px;border-radius:12px;box-shadow:var(--shadow)}.skip-link:focus{top:12px}
.scroll-progress{position:fixed;z-index:9999;right:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--mint),var(--pink));transition:width .08s linear}
.topbar{display:none}.site-header{position:fixed;top:0;right:0;left:0;z-index:200;background:transparent;border:0;transition:.3s var(--ease);backdrop-filter:none}.site-header.scrolled{background:rgba(248,248,248,.86);backdrop-filter:blur(20px);box-shadow:0 12px 36px rgba(23,60,77,.08);border-bottom:1px solid rgba(23,60,77,.07)}
.nav-wrap{height:var(--nav-h);padding-inline:3px}.brand-mark{box-shadow:0 10px 30px rgba(32,96,120,.26)}.site-header:not(.scrolled) .brand strong,.site-header:not(.scrolled) .brand small,.site-header:not(.scrolled) .main-nav>a{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.18)}.site-header:not(.scrolled) .brand-mark{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px)}.site-header:not(.scrolled) .icon-btn,.site-header:not(.scrolled) .menu-btn,.site-header:not(.scrolled) .account-pill{background:rgba(255,255,255,.13);color:#fff;border-color:rgba(255,255,255,.28);backdrop-filter:blur(10px)}.site-header:not(.scrolled) .nav-login{background:#fff;color:var(--charcoal)}
.main-nav .nav-teacher{color:var(--pink)}.site-header:not(.scrolled) .main-nav .nav-teacher{color:var(--mint)}
.btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:0;transform:translateX(110%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:transform .6s var(--ease)}.btn:hover:after{transform:translateX(-110%)}.btn-ghost-light{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(8px)}

/* full-screen heroes */
.hero-modern,.page-hero-modern,.teacher-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#173c4d;color:#fff;isolation:isolate}.hero-modern:after,.page-hero-modern:after,.teacher-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,30,40,.08),rgba(10,30,40,.2) 42%,rgba(10,30,40,.84) 100%)}
.hero-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02)}.hero-noise{position:absolute;inset:0;z-index:-1;opacity:.14;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}
.hero-modern .container,.page-hero-modern .container,.teacher-hero .container{position:relative;z-index:2;padding-top:calc(var(--nav-h) + 48px);padding-bottom:38px}.hero-content{max-width:760px;margin-inline-start:auto}.hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);font-size:12px;font-weight:800;color:#fff}.hero-kicker i,.hero-kicker svg{width:16px;height:16px;color:var(--mint)}.hero-modern h1,.page-hero-modern h1,.teacher-hero h1{font-size:clamp(42px,11vw,72px);line-height:1.14;letter-spacing:-2.3px;margin:15px 0 16px;max-width:850px}.hero-modern h1 .highlight{color:var(--mint)}.hero-lead{font-size:15px;line-height:2;color:rgba(255,255,255,.86);max-width:670px;margin:0 0 22px}.hero-actions{display:flex;gap:9px;flex-wrap:wrap}.hero-actions .btn{min-height:52px}.hero-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:21px}.hero-meta span{display:flex;align-items:center;gap:7px;font-size:11px;color:rgba(255,255,255,.82)}.hero-meta svg{width:16px;color:var(--mint)}.hero-scroll{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:none;align-items:center;gap:8px;font-size:10px;color:rgba(255,255,255,.7)}.hero-scroll:after{content:"";width:1px;height:22px;background:rgba(255,255,255,.35)}
.hero-search-glass{margin-top:22px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.7);border-radius:22px;padding:8px;box-shadow:var(--hero-shadow);display:grid;gap:7px;color:var(--ink)}.hero-search-glass .search-field{min-height:58px;border:0!important;background:#fff;border-radius:16px}.hero-search-glass .btn{min-height:54px}.hero-proof{display:flex;align-items:center;gap:12px;margin-top:16px}.hero-proof .avatar-stack img{border-color:rgba(255,255,255,.9)}.hero-proof p{margin:0;font-size:11px;color:rgba(255,255,255,.83)}.hero-proof strong{color:#fff}.hero-floating{display:none}

/* rich content */
.logo-cloud{display:flex;gap:8px;overflow:auto;padding:12px 0 2px;scrollbar-width:none}.logo-cloud::-webkit-scrollbar{display:none}.trust-chip{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #e1e9e8;background:rgba(255,255,255,.74);border-radius:999px;font-size:11px;font-weight:800;color:var(--blue-slate)}.trust-chip svg{width:15px}
.modern-section{padding:64px 0}.modern-section.white{background:#fff}.section-intro{max-width:760px;margin-bottom:28px}.section-intro.center{text-align:center;margin-inline:auto;margin-bottom:34px}.section-intro .eyebrow{margin-bottom:6px}.section-intro h2{font-size:clamp(29px,8vw,48px);line-height:1.3;letter-spacing:-1.5px;margin:4px 0 10px}.section-intro p{color:var(--muted);margin:0;font-size:14px}
.steps-grid{display:grid;gap:12px;counter-reset:step}.step-card{position:relative;background:#fff;border:1px solid #e5eceb;border-radius:25px;padding:24px;overflow:hidden;min-height:230px;box-shadow:0 12px 35px rgba(23,60,77,.045);counter-increment:step}.step-card:before{content:"0" counter(step);position:absolute;left:16px;top:-15px;font-size:86px;font-weight:900;color:#f1f6f5;letter-spacing:-7px}.step-icon{position:relative;width:52px;height:52px;border-radius:17px;background:var(--linen);display:grid;place-items:center;margin-bottom:30px}.step-icon svg{width:23px}.step-card:nth-child(2) .step-icon{background:#e0f8ec}.step-card:nth-child(3) .step-icon{background:#fce7e2}.step-card h3{font-size:20px;margin:0 0 8px;position:relative}.step-card p{margin:0;color:var(--muted);font-size:13px;position:relative}
.experience-grid{display:grid;gap:18px}.experience-media{position:relative;min-height:430px;border-radius:30px;overflow:hidden;background:#dce7e9;box-shadow:var(--shadow)}.experience-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.experience-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(23,60,77,.55))}.media-badge{position:absolute;z-index:2;right:16px;left:16px;bottom:16px;padding:14px 15px;border-radius:18px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:10px}.media-badge strong{display:block}.media-badge small{color:var(--muted)}.media-badge .pulse-dot{width:10px;height:10px;border-radius:50%;background:#32c981;box-shadow:0 0 0 7px rgba(50,201,129,.15)}
.experience-copy{display:flex;flex-direction:column;justify-content:center}.experience-copy h2{font-size:clamp(30px,8vw,50px);line-height:1.35;margin:6px 0 12px}.experience-copy>p{color:var(--muted)}.check-list{display:grid;gap:12px;margin:18px 0 24px}.check-item{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start}.check-item span:first-child{width:38px;height:38px;border-radius:13px;background:#e5f9ef;display:grid;place-items:center;color:#197b52}.check-item svg{width:18px}.check-item strong{display:block;font-size:14px}.check-item small{color:var(--muted)}
.parent-panel{position:relative;background:linear-gradient(145deg,#143b4c,#1e6078);border-radius:34px;padding:26px;color:#fff;overflow:hidden;box-shadow:0 30px 80px rgba(23,60,77,.2)}.parent-panel:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(109,236,175,.1);left:-100px;top:-120px}.parent-panel-grid{position:relative;display:grid;gap:22px}.parent-copy h2{font-size:clamp(29px,8vw,47px);line-height:1.35;margin:8px 0 12px}.parent-copy p{color:#c8dae1}.parent-cards{display:grid;gap:10px}.parent-metric{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(10px);border-radius:20px;padding:17px;display:flex;align-items:center;gap:12px}.parent-metric span:first-child{width:44px;height:44px;border-radius:14px;background:rgba(109,236,175,.14);display:grid;place-items:center;color:var(--mint)}.parent-metric svg{width:20px}.parent-metric strong{display:block}.parent-metric small{color:#aec4ce}
.modes-grid{display:grid;gap:12px}.mode-card{border-radius:25px;padding:23px;border:1px solid #e6ecec;background:#fff;position:relative;overflow:hidden;min-height:240px}.mode-card.featured{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}.mode-card:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:var(--linen);left:-45px;bottom:-50px}.mode-card.featured:after{background:rgba(109,236,175,.09)}.mode-card .mode-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#eff6f5;margin-bottom:34px;position:relative;z-index:1}.mode-card.featured .mode-icon{background:rgba(109,236,175,.14);color:var(--mint)}.mode-card h3,.mode-card p,.mode-card a{position:relative;z-index:1}.mode-card h3{font-size:20px;margin:0 0 6px}.mode-card p{color:var(--muted);font-size:13px}.mode-card.featured p{color:#b9ced7}.mode-card a{font-size:12px;font-weight:900;color:var(--blue-slate)}.mode-card.featured a{color:var(--mint)}
.faq-list{display:grid;gap:10px;max-width:900px;margin:auto}.faq-item{background:#fff;border:1px solid #e5ebeb;border-radius:19px;padding:0 18px}.faq-item summary{cursor:pointer;font-weight:900;padding:17px 0;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.faq-item summary:after{content:"+";width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#eef5f4;font-size:18px}.faq-item[open] summary:after{content:"−"}.faq-item p{margin:0 0 18px;color:var(--muted);font-size:13px}.quote{border-radius:24px}.quote p{font-size:13px}

/* page heroes */
.page-hero-modern .hero-content{max-width:760px}.page-hero-modern .hero-search-glass{max-width:760px}.page-hero-modern .page-number{font-size:11px;color:rgba(255,255,255,.6);font-weight:700;margin-bottom:9px}.page-hero-modern .hero-actions{margin-top:22px}
.catalog-intro-bar{display:flex;gap:8px;overflow:auto;padding:14px 0;scrollbar-width:none}.catalog-intro-bar::-webkit-scrollbar{display:none}.catalog-intro-bar a{flex:0 0 auto;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid #e0e8e7;font-size:11px;font-weight:800}.catalog-intro-bar a:hover{border-color:var(--mint);box-shadow:var(--ring)}
.filters{border-radius:24px!important;box-shadow:0 15px 45px rgba(23,60,77,.07)!important}.course-card{border-radius:26px}.course-overlay-link{position:absolute;left:14px;bottom:14px;background:rgba(23,60,77,.84);color:#fff;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:800;display:flex;align-items:center;gap:5px;opacity:0;transform:translateY(8px);transition:.25s}.course-card:hover .course-overlay-link{opacity:1;transform:none}.card-meta span{display:flex;gap:4px;align-items:center}.card-meta svg,.teacher-mini svg{width:13px}.teacher-mini>span{display:flex;align-items:center;gap:5px}

/* teacher product hero */
.teacher-hero:after{background:linear-gradient(180deg,rgba(12,30,40,.18),rgba(12,30,40,.78) 82%,rgba(12,30,40,.94))}.teacher-hero-grid{display:grid;gap:18px}.teacher-identity{max-width:760px}.teacher-identity h1{margin-bottom:7px}.teacher-identity .product-role{color:#d6e5ea;font-size:16px}.teacher-rating-light{display:flex;align-items:center;gap:10px;margin:14px 0}.teacher-rating-light .stars svg.filled{fill:#ffd56a;color:#ffd56a}.teacher-rating-light span{font-size:12px;color:#d9e7eb}.teacher-hero-bio{color:#dbe7eb;max-width:650px;font-size:14px}.teacher-hero-card{background:rgba(255,255,255,.93);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7);color:var(--ink);border-radius:28px;padding:18px;box-shadow:var(--hero-shadow)}.teacher-portrait-row{display:grid;grid-template-columns:72px 1fr;gap:13px;align-items:center}.teacher-portrait-row img{width:72px;height:72px;border-radius:21px;object-fit:cover}.teacher-portrait-row strong{display:block;font-size:16px}.teacher-portrait-row span{font-size:11px;color:var(--muted)}.teacher-offer{border-top:1px solid #e8eeee;margin-top:14px;padding-top:14px}.teacher-offer small{color:var(--muted)}.teacher-offer-price{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-top:4px}.teacher-offer-price strong{font-size:20px}.teacher-quickfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0}.teacher-quickfacts div{background:#f4f8f7;border-radius:13px;padding:9px;text-align:center}.teacher-quickfacts b{display:block;font-size:12px}.teacher-quickfacts span{font-size:9px;color:var(--muted)}.teacher-hero-card .btn{width:100%}.product-wrap{padding-top:54px}.gallery-main{border-radius:28px;box-shadow:var(--shadow)}.content-card{border-radius:26px!important}.slot-card span{transition:.2s var(--ease)}

/* about/contact */
.story-grid{display:grid;gap:18px}.story-card{background:#fff;border:1px solid #e5ecea;border-radius:24px;padding:23px}.story-card .big-num{font-size:42px;font-weight:900;line-height:1;color:var(--blue-slate)}.story-card h3{margin:15px 0 7px}.story-card p{margin:0;color:var(--muted);font-size:13px}.values-grid{display:grid;gap:12px}.value-card{padding:22px;border-radius:22px;background:#fff;border:1px solid #e4ebea}.value-card span{width:44px;height:44px;border-radius:14px;background:var(--linen);display:grid;place-items:center;margin-bottom:16px}.value-card svg{width:20px}.value-card p{color:var(--muted);font-size:13px}
.contact-feature-grid{display:grid;gap:12px}.contact-feature{padding:20px;border-radius:22px;background:#fff;border:1px solid #e4ebea}.contact-feature span{width:42px;height:42px;border-radius:14px;background:#e5f8ef;display:grid;place-items:center;color:#197b52}.contact-feature h3{margin:13px 0 4px}.contact-feature p{color:var(--muted);font-size:12px}.prose-rich{max-width:900px;margin:auto}.prose-rich h2{font-size:29px;margin-top:38px}.prose-rich h3{margin-top:26px}.prose-rich p,.prose-rich li{color:#5e7077}

/* auth, cart, checkout */
.auth-page{min-height:100svh;padding-top:var(--nav-h);background:var(--charcoal)}.auth-shell{min-height:calc(100svh - var(--nav-h));border:0;border-radius:0;max-width:none}.auth-aside{position:relative;background-image:linear-gradient(180deg,rgba(23,60,77,.22),rgba(23,60,77,.84)),image-set(url('images/heroes/hero-teacher.webp') type('image/webp'));background-size:cover;background-position:center;overflow:hidden}.auth-aside>*{position:relative;z-index:2}.auth-aside:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(109,236,175,.18),transparent 30%)}.auth-main{display:flex;flex-direction:column;justify-content:center}.auth-points{display:grid;gap:10px}.auth-point{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:15px;padding:11px}.auth-point svg{color:var(--mint)}
.flow-hero-card{max-width:620px;background:rgba(255,255,255,.9);color:var(--ink);border-radius:25px;padding:20px;backdrop-filter:blur(16px);box-shadow:var(--hero-shadow);margin-top:20px}.flow-hero-card .flow-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.flow-step{padding:9px;border-radius:12px;background:#f2f7f6;text-align:center;font-size:10px}.flow-step.active{background:var(--charcoal);color:#fff}.flow-step b{display:block;font-size:13px}.success-card{border-radius:32px!important;box-shadow:var(--shadow)}

/* footer */
.prefooter{background:var(--charcoal);color:#fff;padding:54px 0 0}.prefooter-inner{display:grid;gap:22px;padding:28px;border-radius:30px;background:linear-gradient(135deg,rgba(109,236,175,.12),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.10)}.prefooter h2{font-size:clamp(27px,7vw,43px);line-height:1.35;margin:7px 0}.prefooter p{color:#b8ccd5;max-width:650px}.prefooter-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.eyebrow-light{color:#dff8eb}.footer{margin-top:0}.footer-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.footer-badges span{font-size:10px;border:1px solid rgba(255,255,255,.11);padding:6px 8px;border-radius:999px;display:flex;align-items:center;gap:5px}.footer-badges svg{width:13px}.newsletter-success{color:var(--mint);font-weight:800}

/* motion */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.tilt-card{transform-style:preserve-3d}.magnetic{transition:transform .25s var(--ease)}

@media(min-width:600px){
  :root{--nav-h:80px}.hero-modern .container,.page-hero-modern .container,.teacher-hero .container{padding-bottom:48px}.hero-modern h1,.page-hero-modern h1,.teacher-hero h1{font-size:clamp(54px,8vw,82px)}.hero-lead{font-size:17px}.hero-search-glass{grid-template-columns:1fr 1fr auto}.hero-search-glass .btn{padding-inline:22px}.steps-grid,.modes-grid,.values-grid,.contact-feature-grid{grid-template-columns:repeat(2,1fr)}.parent-cards{grid-template-columns:repeat(2,1fr)}.story-grid{grid-template-columns:repeat(2,1fr)}.prefooter-inner{padding:40px}.teacher-hero-card{padding:22px}
}
@media(min-width:900px){
  .hero-modern,.page-hero-modern,.teacher-hero{align-items:center}.hero-modern .container,.page-hero-modern .container,.teacher-hero .container{padding-top:calc(var(--nav-h) + 55px);padding-bottom:45px}.hero-content{margin-inline-start:0;max-width:680px}.hero-modern h1,.page-hero-modern h1,.teacher-hero h1{font-size:clamp(58px,6vw,92px)}.hero-lead{font-size:18px}.hero-search-glass{max-width:830px}.hero-scroll{display:flex}.hero-floating{display:block;position:absolute;left:6vw;top:28%;width:250px;padding:16px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7);border-radius:23px;color:var(--ink);box-shadow:var(--hero-shadow);animation:floaty 6s ease-in-out infinite}.hero-floating.alt{top:auto;bottom:14%;left:22vw;width:210px;animation-delay:-2s}.hero-floating strong{display:block}.hero-floating small{color:var(--muted)}.hero-floating .mini-stars{color:#f6b73c;font-size:14px}.modern-section{padding:92px 0}.steps-grid{grid-template-columns:repeat(3,1fr);gap:18px}.step-card{min-height:270px;padding:30px}.experience-grid{grid-template-columns:1fr 1fr;gap:55px;align-items:stretch}.experience-media{min-height:600px}.experience-grid.reverse .experience-media{order:2}.parent-panel{padding:48px}.parent-panel-grid{grid-template-columns:1.15fr .85fr;align-items:center}.parent-cards{grid-template-columns:1fr}.modes-grid{grid-template-columns:repeat(3,1fr)}.story-grid{grid-template-columns:repeat(3,1fr)}.values-grid{grid-template-columns:repeat(4,1fr)}.contact-feature-grid{grid-template-columns:repeat(3,1fr)}.teacher-hero-grid{grid-template-columns:1fr 390px;align-items:end;gap:50px}.teacher-hero-card{align-self:end}.prefooter-inner{grid-template-columns:1fr auto;align-items:center}.course-overlay-link{opacity:0}.site-header:not(.scrolled) .main-nav{display:flex}.auth-shell{grid-template-columns:1fr 1fr}.auth-aside{display:flex;flex-direction:column;justify-content:flex-end;padding:60px}.auth-main{padding:60px;max-width:680px;width:100%;margin:auto}
}
@media(min-width:1200px){.hero-content{max-width:760px}.hero-modern h1,.page-hero-modern h1{font-size:86px}.teacher-hero h1{font-size:74px}.parent-panel{padding:60px}.prefooter-inner{padding:52px}}

@media(max-width:760px){
  .site-header{background:linear-gradient(180deg,rgba(8,31,41,.4),transparent)}.site-header.scrolled{background:rgba(248,248,248,.93)}.main-nav{top:70px;right:12px;left:12px;padding:10px;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);border-radius:22px}.site-header:not(.scrolled) .main-nav>a{color:var(--ink);text-shadow:none}.main-nav a{padding:12px 13px;border-radius:12px}.main-nav a:hover{background:#f2f7f6}.main-nav a:after{display:none}.site-header:not(.scrolled) .main-nav .nav-teacher{color:var(--pink)}.nav-login{display:none}.brand strong{font-size:16px}.brand-mark{width:39px;height:39px;border-radius:13px}.hero-modern:after,.page-hero-modern:after{background:linear-gradient(180deg,rgba(11,31,41,.14),rgba(11,31,41,.35) 35%,rgba(11,31,41,.90) 100%)}.hero-bg{object-position:center}.hero-modern h1,.page-hero-modern h1,.teacher-hero h1{font-size:44px}.hero-content{width:100%}.hero-search-glass{background:rgba(255,255,255,.94)}.hero-search-glass .search-field{padding:5px 10px}.hero-meta{gap:9px}.hero-meta span{font-size:10px}.course-overlay-link{display:none}.teacher-hero{align-items:flex-end}.teacher-hero-grid{padding-top:40px}.teacher-identity .hero-actions{margin-bottom:5px}.teacher-hero-card{margin-top:5px}.prefooter{padding-top:38px}.prefooter-inner{border-radius:25px}.footer{padding-top:48px}.auth-main{padding:28px 20px}.auth-aside{display:flex;flex-direction:column;justify-content:flex-end;min-height:44svh;background-image:linear-gradient(180deg,rgba(23,60,77,.22),rgba(23,60,77,.84)),url('images/heroes/hero-mobile-v4-3.webp');padding:100px 22px 26px}.auth-aside h2{font-size:31px}.auth-shell{display:grid}.page-hero-modern .hero-actions .btn,.hero-modern .hero-actions .btn{flex:1 1 150px}
}
@media(max-width:480px){
  :root{--nav-h:68px}.container{width:min(100% - 22px,var(--container))}.brand small{display:none}.hero-modern .container,.page-hero-modern .container,.teacher-hero .container{padding-top:calc(var(--nav-h) + 26px);padding-bottom:30px}.hero-modern h1,.page-hero-modern h1,.teacher-hero h1{font-size:39px;letter-spacing:-1.6px}.hero-lead{font-size:13px;line-height:1.95}.hero-kicker{font-size:10px}.hero-actions .btn{min-height:48px;padding:12px 14px;font-size:12px}.hero-search-glass{margin-top:16px;border-radius:19px}.hero-search-glass .search-field{min-height:53px}.hero-proof{margin-top:13px}.hero-meta{margin-top:15px}.modern-section{padding:54px 0}.section-intro h2{font-size:31px}.experience-media{min-height:390px}.parent-panel{padding:22px;border-radius:27px}.step-card,.mode-card{min-height:auto}.teacher-hero-card{border-radius:22px;padding:14px}.teacher-quickfacts{grid-template-columns:repeat(3,1fr)}.teacher-quickfacts div{padding:7px 4px}.teacher-offer-price strong{font-size:17px}.prefooter-inner{padding:22px}.prefooter-actions .btn{width:100%}.flow-hero-card{padding:15px}.flow-step{font-size:9px}.flow-step b{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero-bg{transform:none}}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}

/* =========================================================
   iTeachPlus v3.1 — Hero readability + portrait mobile patch
   ========================================================= */
.hero-modern h1,.page-hero-modern h1,.teacher-hero h1{text-wrap:balance;text-shadow:0 3px 28px rgba(0,0,0,.28)}
.hero-lead{text-shadow:0 2px 18px rgba(0,0,0,.22)}

/* Desktop: give navigation a reliable contrast surface and calm the hero typography. */
@media (min-width:900px){
  .site-header:not(.scrolled){padding-top:12px;background:transparent}
  .site-header:not(.scrolled) .nav-wrap{
    height:68px;padding-inline:14px;border-radius:22px;
    background:linear-gradient(90deg,rgba(12,34,45,.66),rgba(13,42,54,.76));
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 16px 44px rgba(4,22,30,.18);
    backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%)
  }
  .site-header:not(.scrolled) .brand strong,
  .site-header:not(.scrolled) .main-nav>a{color:#fff;text-shadow:none}
  .site-header:not(.scrolled) .brand small{color:rgba(255,255,255,.72)}
  .site-header:not(.scrolled) .main-nav{gap:22px}
  .site-header:not(.scrolled) .main-nav>a{font-size:14px;font-weight:800;padding:10px 4px}
  .site-header:not(.scrolled) .main-nav>a:after{bottom:4px;background:var(--mint)}
  .site-header:not(.scrolled) .main-nav .nav-teacher{color:#9ff5c9}
  .site-header:not(.scrolled) .icon-btn,
  .site-header:not(.scrolled) .account-pill{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.22);color:#fff}
  .site-header:not(.scrolled) .nav-login{background:#fff;color:var(--charcoal);box-shadow:0 8px 24px rgba(0,0,0,.12)}

  .hero-modern:after,.page-hero-modern:after{
    background:
      linear-gradient(90deg,rgba(7,25,34,.12) 0%,rgba(7,25,34,.28) 38%,rgba(7,25,34,.67) 72%,rgba(7,25,34,.82) 100%),
      linear-gradient(180deg,rgba(7,25,34,.10),rgba(7,25,34,.22) 55%,rgba(7,25,34,.74) 100%)
  }
  .teacher-hero:after{
    background:
      linear-gradient(90deg,rgba(7,25,34,.18),rgba(7,25,34,.55) 62%,rgba(7,25,34,.82)),
      linear-gradient(180deg,rgba(7,25,34,.12),rgba(7,25,34,.78) 100%)
  }
  .hero-modern .container,.page-hero-modern .container,.teacher-hero .container{
    padding-top:calc(var(--nav-h) + 46px);padding-bottom:46px
  }
  .hero-content{
    max-width:700px;padding:26px 28px 24px;border-radius:30px;
    background:linear-gradient(145deg,rgba(8,27,37,.46),rgba(8,27,37,.24));
    border:1px solid rgba(255,255,255,.15);
    box-shadow:0 26px 70px rgba(3,18,25,.18);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
  }
  .hero-modern h1,.page-hero-modern h1{
    font-size:clamp(50px,4vw,66px);line-height:1.2;letter-spacing:-1.9px;margin:14px 0 15px
  }
  .teacher-hero h1{font-size:clamp(48px,3.7vw,64px);line-height:1.2;letter-spacing:-1.7px}
  .hero-lead{font-size:16.5px;line-height:1.95;color:rgba(255,255,255,.94);max-width:640px}
  .hero-kicker{background:rgba(6,25,34,.36);border-color:rgba(255,255,255,.24);box-shadow:0 8px 24px rgba(0,0,0,.10)}
  .hero-search-glass{margin-top:18px;max-width:100%;box-shadow:0 20px 60px rgba(0,0,0,.18)}
  .hero-meta{margin-top:17px}.hero-meta span{font-size:11.5px;color:rgba(255,255,255,.92)}
  .hero-proof p{color:rgba(255,255,255,.92)}
  .teacher-identity{
    max-width:720px;padding:25px 27px;border-radius:30px;
    background:linear-gradient(145deg,rgba(8,27,37,.48),rgba(8,27,37,.26));
    border:1px solid rgba(255,255,255,.15);
    box-shadow:0 26px 70px rgba(3,18,25,.18);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
  }
}

@media (min-width:1400px){
  .hero-modern h1,.page-hero-modern h1{font-size:68px}
  .teacher-hero h1{font-size:64px}
}

/* Mobile/tablet: use portrait artwork as artwork, not a forced desktop crop. */
@media (max-width:760px){
  :root{--nav-h:66px}
  .site-header{padding-top:8px;background:transparent}
  .site-header:not(.scrolled){background:transparent}
  .site-header:not(.scrolled) .nav-wrap{
    height:58px;padding-inline:8px;border-radius:18px;
    background:rgba(10,31,41,.74);border:1px solid rgba(255,255,255,.18);
    box-shadow:0 12px 34px rgba(4,22,30,.16);
    backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)
  }
  .site-header.scrolled{padding-top:0}.site-header.scrolled .nav-wrap{height:66px}
  .site-header:not(.scrolled) .brand strong{color:#fff}.site-header:not(.scrolled) .brand small{color:rgba(255,255,255,.72)}
  .site-header:not(.scrolled) .icon-btn,.site-header:not(.scrolled) .menu-btn{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.2);color:#fff}
  .main-nav{top:68px;right:11px;left:11px;box-shadow:0 18px 60px rgba(11,31,41,.18)}

  .hero-modern,.page-hero-modern,.teacher-hero{align-items:flex-start;min-height:100svh}
  .hero-modern:after,.page-hero-modern:after,.teacher-hero:after{
    background:linear-gradient(180deg,
      rgba(6,24,33,.88) 0%,
      rgba(6,24,33,.73) 27%,
      rgba(6,24,33,.38) 51%,
      rgba(6,24,33,.16) 67%,
      rgba(6,24,33,.48) 100%)
  }
  .hero-bg{object-position:50% 50%;transform:none;filter:saturate(.98) contrast(1.02)}
  .hero-modern .container,.page-hero-modern .container,.teacher-hero .container{
    padding-top:calc(var(--nav-h) + 36px);padding-bottom:42px
  }
  .hero-content{width:100%;max-width:none;margin:0;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none}
  .hero-modern h1,.page-hero-modern h1,.teacher-hero h1{
    font-size:clamp(34px,9.3vw,42px);line-height:1.3;letter-spacing:-1.15px;margin:12px 0 13px;
    text-shadow:0 3px 24px rgba(0,0,0,.42)
  }
  .hero-lead{font-size:13.5px;line-height:1.95;color:rgba(255,255,255,.94);text-shadow:0 2px 14px rgba(0,0,0,.35);margin-bottom:16px}
  .hero-kicker{font-size:10.5px;background:rgba(6,24,33,.42);border-color:rgba(255,255,255,.2)}
  .hero-actions{gap:8px}.hero-actions .btn{min-height:46px;padding:11px 13px;font-size:11.5px}
  .hero-search-glass{margin-top:14px;padding:7px;border-radius:18px;gap:6px;box-shadow:0 16px 45px rgba(3,18,25,.24)}
  .hero-search-glass .search-field{min-height:50px;border-radius:13px}.hero-search-glass .btn{min-height:48px}
  .hero-meta{gap:7px;margin-top:12px;padding:8px 10px;width:fit-content;max-width:100%;border-radius:13px;background:rgba(6,24,33,.26);backdrop-filter:blur(8px)}
  .hero-meta span{font-size:9.5px;color:rgba(255,255,255,.92)}
  .hero-proof{margin-top:11px}.hero-proof p{color:rgba(255,255,255,.9)}
  .hero-scroll,.hero-floating{display:none!important}
  .teacher-hero-grid{padding-top:0}
  .teacher-identity{padding:15px;border-radius:22px;background:rgba(6,24,33,.34);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(8px)}
  .teacher-hero-bio{color:rgba(255,255,255,.92)}
}

@media (max-width:480px){
  :root{--nav-h:64px}
  .container{width:min(100% - 20px,var(--container))}
  .site-header:not(.scrolled) .nav-wrap{height:56px;border-radius:17px}
  .main-nav{top:65px}
  .hero-modern .container,.page-hero-modern .container,.teacher-hero .container{padding-top:calc(var(--nav-h) + 31px);padding-bottom:34px}
  .hero-modern h1,.page-hero-modern h1,.teacher-hero h1{font-size:clamp(32px,9vw,38px);line-height:1.32;letter-spacing:-.9px}
  .hero-lead{font-size:12.8px;line-height:1.9}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.hero-actions .btn{width:100%}
  .hero-search-glass{border-radius:16px}.hero-search-glass .search-field{min-height:47px}
  .hero-proof{display:none}
  .hero-meta{display:none}
  .page-number{font-size:9px}
}

@media (max-width:380px){
  .hero-actions{grid-template-columns:1fr}
  .hero-modern h1,.page-hero-modern h1,.teacher-hero h1{font-size:31px}
}


/* === v3.2 Brand logo management === */
.brand-logo-link{display:flex;align-items:center;min-width:max-content;line-height:1}
.brand-logo-frame{width:158px;height:50px;padding:7px 11px;display:flex;align-items:center;justify-content:center;border-radius:15px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.76);box-shadow:0 10px 28px rgba(8,31,41,.14);transition:.25s var(--ease);overflow:hidden}
.brand-logo-frame .site-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.site-header.scrolled .brand-logo-frame{background:#fff;border-color:rgba(23,60,77,.08);box-shadow:0 8px 22px rgba(23,60,77,.08)}
.site-header:not(.scrolled) .brand-logo-frame{background:rgba(255,255,255,.92);backdrop-filter:blur(12px)}
.footer-logo-link{margin-bottom:18px;width:max-content}.footer-logo-frame{width:184px;height:58px;background:#fff;border-color:rgba(255,255,255,.25);box-shadow:none}
.invoice-logo-wrap{grid-row:1/3;width:150px;height:48px;padding:5px 8px;background:#fff;border:1px solid #e4e9ea;border-radius:12px;display:flex;align-items:center;justify-content:center}
.invoice-logo{width:100%;height:100%;object-fit:contain}
.admin-logo-settings{display:grid;grid-template-columns:minmax(240px,.72fr) 1.28fr;gap:22px;margin:18px 0 26px;padding:20px;border:1px solid #e3e9ea;border-radius:22px;background:linear-gradient(135deg,#f8fbfb,#fff)}
.admin-logo-preview>span{display:block;font-size:12px;font-weight:800;color:var(--blue-slate-2);margin-bottom:9px}.admin-logo-preview>small,.admin-logo-controls small{display:block;color:var(--muted);font-size:11px;margin-top:7px;line-height:1.8}.admin-logo-canvas{min-height:126px;border-radius:18px;background:linear-gradient(135deg,#edf5f4,#f4ebe0);border:1px dashed #cad7d9;display:flex;align-items:center;justify-content:center;padding:22px}.admin-logo-canvas img{width:min(100%,260px);max-height:78px;object-fit:contain}.admin-logo-controls{display:flex;flex-direction:column;justify-content:center}.admin-logo-controls .field{margin-bottom:12px}
@media(max-width:1100px){.brand-logo-frame{width:142px;height:46px}.main-nav{gap:18px}}
@media(max-width:767px){.brand-logo-frame{width:124px;height:41px;padding:6px 9px;border-radius:12px}.footer-logo-frame{width:166px;height:54px}.admin-logo-settings{grid-template-columns:1fr;padding:15px}.admin-logo-canvas{min-height:108px}.invoice-logo-wrap{width:128px;height:43px}.invoice-head>div{grid-template-columns:1fr}.invoice-logo-wrap{grid-row:auto;margin-bottom:8px}}
@media(max-width:380px){.brand-logo-frame{width:112px;height:38px;padding:5px 8px}}


/* ===== assets/v4.css ===== */
:root{--butter:#F4D892;--moss:#C0B05B;--palm:#657652;--guava:#F2B6A3;--sunset:#E89C73;--sangria:#E36559;--seabreeze:#E5E9EB;--lagoon:#94BEBB;--odyssey:#23617E;--ink:#132B35;--paper:#FCFCFA;--muted:#64727A;--glass:rgba(255,255,255,.74);--radius:26px;--shadow:0 18px 60px rgba(35,97,126,.12)}
html{scroll-behavior:smooth}body{font-family:var(--itp-type-family,'Vazirmatn'),Tahoma,Arial,sans-serif;background:var(--paper);color:var(--ink)}
body:before{content:"";position:fixed;inset:-20vh -20vw auto auto;width:56vw;height:56vw;border-radius:50%;background:radial-gradient(circle,rgba(244,216,146,.28),transparent 68%);pointer-events:none;z-index:-1}.container{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.site-header{border-bottom:1px solid rgba(255,255,255,.22);background:rgba(19,43,53,.72)!important;backdrop-filter:blur(18px) saturate(130%)}.site-header .main-nav a,.site-header .account-pill{color:#fff}.site-header .main-nav a:hover{color:var(--butter)}.brand-logo-frame{background:rgba(255,255,255,.95);padding:7px 10px;border-radius:16px}.site-logo{max-height:44px;width:auto}
.hero-v4{min-height:100svh;position:relative;display:grid;align-items:end;overflow:hidden;background:#173c4d;color:#fff}.hero-v4 picture,.hero-v4 .hero-media{position:absolute;inset:0}.hero-v4 img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-v4:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,29,36,.88) 0%,rgba(10,29,36,.64) 44%,rgba(10,29,36,.22) 72%,rgba(10,29,36,.1) 100%),linear-gradient(0deg,rgba(10,29,36,.68),transparent 55%)}.hero-v4 .container{position:relative;z-index:2;padding-block:150px 72px}.hero-copy{max-width:690px}.hero-v4 h1{font-size:clamp(2.4rem,5.4vw,5.25rem);line-height:1.02;margin:14px 0 22px;letter-spacing:-.03em}.hero-v4 p{font-size:clamp(1rem,1.4vw,1.25rem);line-height:2;color:rgba(255,255,255,.88);max-width:620px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn-v4{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:16px;font-weight:800;border:1px solid transparent;transition:.25s ease}.btn-v4.primary{background:var(--butter);color:var(--ink)}.btn-v4.secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(12px)}.btn-v4:hover{transform:translateY(-2px)}
.hero-search{margin-top:26px;display:grid;grid-template-columns:1fr auto;background:rgba(255,255,255,.92);padding:8px;border-radius:20px;max-width:650px;box-shadow:0 20px 60px rgba(0,0,0,.18)}.hero-search input{border:0;background:transparent;padding:12px 14px;outline:0;color:var(--ink)}.hero-search button{border:0;background:var(--sangria);color:#fff;border-radius:14px;padding:12px 18px;font-weight:800}.hero-proof{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px;font-size:.9rem;color:rgba(255,255,255,.82)}
.section-v4{padding:84px 0}.section-soft{background:linear-gradient(180deg,#fff,rgba(229,233,235,.6))}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-head h2{font-size:clamp(1.8rem,3vw,3rem);margin:5px 0}.eyebrow-v4{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(148,190,187,.22);color:var(--odyssey);font-weight:800;font-size:.82rem}.feature-grid-v4{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-v4{background:rgba(255,255,255,.74);border:1px solid rgba(35,97,126,.1);border-radius:var(--radius);padding:26px;backdrop-filter:blur(14px);box-shadow:0 10px 40px rgba(35,97,126,.06);transition:.28s}.feature-v4:hover,.teacher-v4:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.icon-orb{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(135deg,var(--butter),var(--guava));margin-bottom:18px}.feature-v4 h3{margin:0 0 8px}.feature-v4 p{color:var(--muted);line-height:1.85}
.teacher-grid-v4{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.teacher-v4{background:#fff;border-radius:28px;overflow:hidden;border:1px solid rgba(35,97,126,.1);transition:.28s;box-shadow:0 10px 34px rgba(35,97,126,.06)}.teacher-v4 .photo{aspect-ratio:4/3;position:relative;overflow:hidden}.teacher-v4 .photo img{width:100%;height:100%;object-fit:cover}.teacher-v4 .body{padding:20px}.teacher-v4 .top{display:flex;justify-content:space-between;gap:12px}.match-pill{background:rgba(101,118,82,.12);color:var(--palm);border-radius:999px;padding:6px 9px;font-weight:800;font-size:.78rem}.meta-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.meta-row span{background:var(--seabreeze);padding:6px 9px;border-radius:999px;font-size:.78rem}.teacher-actions{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-top:16px}.teacher-actions a,.teacher-actions button{border:0;border-radius:13px;padding:11px 13px;text-decoration:none;font-weight:800}.teacher-actions .main{background:var(--odyssey);color:#fff}.teacher-actions .ghost{background:#f5f6f6;color:var(--ink)}
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:step}.flow-card{position:relative;padding:24px;border-radius:24px;background:#fff;border:1px solid rgba(35,97,126,.1)}.flow-card:before{counter-increment:step;content:"۰" counter(step);font-weight:900;color:var(--sangria);font-size:.8rem}.flow-card h3{margin:12px 0 8px}.flow-card p{color:var(--muted);line-height:1.8}
.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-radius:24px;overflow:hidden;background:rgba(35,97,126,.08)}.proof-strip div{background:#fff;padding:24px;text-align:center}.proof-strip strong{display:block;font-size:2rem;color:var(--odyssey)}
.match-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.quiz-card,.panel-v4{background:#fff;border-radius:28px;padding:26px;border:1px solid rgba(35,97,126,.1);box-shadow:var(--shadow)}.quiz-step{display:none}.quiz-step.active{display:block;animation:fadeUp .35s ease}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.choice{border:1px solid rgba(35,97,126,.14);background:#fff;padding:14px;border-radius:16px;cursor:pointer}.choice:has(input:checked){border-color:var(--odyssey);background:rgba(148,190,187,.16)}.choice input{margin-left:8px}.quiz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.progress-track{height:8px;background:var(--seabreeze);border-radius:99px;overflow:hidden;margin:14px 0 24px}.progress-track>span{display:block;height:100%;background:linear-gradient(90deg,var(--lagoon),var(--odyssey));width:20%;transition:.3s}
.compare-bar{position:fixed;left:16px;right:16px;bottom:82px;z-index:80;background:rgba(19,43,53,.94);color:#fff;border-radius:18px;padding:12px 14px;display:none;align-items:center;justify-content:space-between;backdrop-filter:blur(16px)}.compare-bar.show{display:flex}.bottom-nav{display:none}
.learning-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.lesson-list{display:grid;gap:10px}.lesson-item{display:flex;align-items:center;justify-content:space-between;padding:14px;border-radius:15px;background:#f7f8f8}.progress-ring{--p:65;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--lagoon) calc(var(--p)*1%),var(--seabreeze) 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}.progress-ring b{position:relative;z-index:1}
.message-shell{display:grid;grid-template-columns:320px 1fr;min-height:65vh;background:#fff;border:1px solid rgba(35,97,126,.1);border-radius:28px;overflow:hidden}.thread-list{border-left:1px solid rgba(35,97,126,.1)}.thread-link{display:block;padding:16px;border-bottom:1px solid #eef0f1;text-decoration:none;color:var(--ink)}.chat-pane{display:flex;flex-direction:column}.chat-log{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}.bubble{max-width:72%;padding:12px 15px;border-radius:18px;background:var(--seabreeze);line-height:1.7}.bubble.me{align-self:flex-start;background:rgba(148,190,187,.35)}.chat-form{display:flex;gap:8px;padding:16px;border-top:1px solid #eef0f1}.chat-form textarea{flex:1;resize:none;border:1px solid #dfe5e8;border-radius:14px;padding:12px}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.fade-up{animation:fadeUp .55s ease both}
@media(max-width:900px){.feature-grid-v4,.teacher-grid-v4{grid-template-columns:repeat(2,1fr)}.flow-grid{grid-template-columns:repeat(2,1fr)}.match-shell,.learning-grid{grid-template-columns:1fr}.message-shell{grid-template-columns:1fr}.thread-list{border:0;border-bottom:1px solid #eee}.hero-v4:after{background:linear-gradient(0deg,rgba(10,29,36,.82) 0%,rgba(10,29,36,.52) 55%,rgba(10,29,36,.15) 100%)}}
@media(max-width:767px){body{padding-bottom:76px}.topbar{display:none}.container{width:min(100% - 22px,1180px)}.site-header{top:0}.site-header .main-nav{background:rgba(19,43,53,.98)!important}.site-logo{max-height:36px}.hero-v4{min-height:92svh;align-items:end}.hero-v4 .container{padding:112px 0 38px}.hero-v4 h1{font-size:clamp(2.15rem,10vw,3.4rem);line-height:1.12}.hero-v4 p{font-size:.98rem;line-height:1.85}.hero-v4 img{object-position:center bottom}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.btn-v4{padding:13px 12px}.hero-search{grid-template-columns:1fr}.hero-search button{width:100%}.hero-proof{font-size:.78rem;gap:10px}.section-v4{padding:56px 0}.section-head{align-items:flex-start;flex-direction:column}.feature-grid-v4,.teacher-grid-v4,.flow-grid,.proof-strip{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.teacher-actions{grid-template-columns:1fr auto auto}.bottom-nav{position:fixed;z-index:100;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-top:1px solid rgba(35,97,126,.1);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(35,97,126,.08)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:#52656e;font-size:.66rem;text-decoration:none}.bottom-nav svg{width:20px;height:20px}.bottom-nav a.active{color:var(--odyssey);font-weight:800}.prefooter,.footer{margin-bottom:0}.message-shell{border-radius:20px}.bubble{max-width:88%}.compare-bar{bottom:82px}.mobile-sticky-cta{position:fixed;z-index:90;bottom:74px;left:10px;right:10px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);padding:9px;border-radius:18px;box-shadow:0 14px 42px rgba(19,43,53,.18);display:grid;grid-template-columns:1fr 1fr;gap:8px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:768px){.nav-wrap{direction:ltr}.main-nav,.nav-actions{direction:rtl}}
/* Bridge legacy V2/V3 components into the V4 palette. */
:root{--blue-slate:var(--odyssey);--charcoal:var(--ink);--pink:var(--sangria);--blush:var(--guava);--blue-slate-2:#607078;--snow:var(--paper);--mint:var(--lagoon);--linen:#F6EFE5;--surface:#fff;--line:#E7EBED;--soft-shadow:0 12px 36px rgba(35,97,126,.08)}
.btn-dark{background:var(--ink)!important}.btn-primary{background:var(--odyssey)!important}.btn-accent{background:var(--sangria)!important}.btn-mint{background:var(--butter)!important;color:var(--ink)!important}.eyebrow:before{background:var(--lagoon)!important}.footer{background:#132B35!important}.prefooter-inner{background:linear-gradient(135deg,#203f4c,#23617E)!important}.dashboard-shell .sidebar{background:#15303b!important}
.mobile-sticky-cta{display:none}
@media(max-width:767px){.mobile-sticky-cta{display:grid}}


/* ===== assets/theme-v4.1.css ===== */
/* iTeachPlus V4.1 — Harmonic Color System
   Palette: Butter #F4D892, Moss #C0B05B, Palm #657652, Guava #F2B6A3,
   Sunset #E89C73, Sangria #E36559, Seabreeze #E5E9EB, Lagoon #94BEBB, Odyssey #23617E */
:root{
  --butter:#F4D892;
  --moss:#C0B05B;
  --palm:#657652;
  --guava:#F2B6A3;
  --sunset:#E89C73;
  --sangria:#E36559;
  --seabreeze:#E5E9EB;
  --lagoon:#94BEBB;
  --odyssey:#23617E;
  --odyssey-900:#153E53;
  --odyssey-950:#102F40;
  --palm-900:#46543A;
  --sangria-900:#87352F;
  --ink:#17323F;
  --muted:#65747B;
  --paper:#FCFCF9;
  --cream:#FFF9EE;
  --surface:#FFFFFF;
  --line:rgba(35,97,126,.12);
  --line-strong:rgba(35,97,126,.20);
  --shadow-xs:0 4px 16px rgba(35,97,126,.06);
  --shadow-sm:0 10px 30px rgba(35,97,126,.08);
  --shadow-md:0 18px 48px rgba(35,97,126,.12);
  --shadow-lg:0 28px 80px rgba(24,67,84,.17);
  --ring:0 0 0 4px rgba(148,190,187,.22);
  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:28px;
  --radius-xl:36px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Global canvas ---------- */
html{background:var(--paper)}
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 8% 4%,rgba(244,216,146,.28),transparent 25rem),
    radial-gradient(circle at 96% 18%,rgba(148,190,187,.18),transparent 30rem),
    linear-gradient(180deg,#fff 0%,var(--paper) 30%,#fff 100%);
}
body:before{
  width:48vw!important;height:48vw!important;
  background:radial-gradient(circle,rgba(242,182,163,.16),transparent 68%)!important;
}
::selection{background:var(--butter);color:var(--odyssey-950)}
a{transition:color .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}
:focus-visible{outline:0;box-shadow:var(--ring)}

/* ---------- Utility surface language ---------- */
.panel,.panel-v4,.quiz-card,.summary-card,.coupon-box,.secure-note,.edit-card,.course-edit-card,.role-card,
.auth-main,.contact-feature,.story-card,.value-card{
  border-color:var(--line)!important;
  box-shadow:var(--shadow-sm)!important;
}
.panel,.panel-v4,.quiz-card,.summary-card,.edit-card,.course-edit-card{
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,255,255,.91))!important;
  backdrop-filter:blur(18px) saturate(115%);
}

/* ---------- Top bar / header ---------- */
.topbar{
  background:linear-gradient(90deg,var(--odyssey-950),var(--odyssey),var(--palm-900))!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.topbar a,.topbar span{color:#fff!important}
.topbar svg{color:var(--butter)}
.site-header{
  background:linear-gradient(90deg,rgba(16,47,64,.86),rgba(35,97,126,.82),rgba(70,84,58,.78))!important;
  border-bottom:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 12px 34px rgba(16,47,64,.10);
  backdrop-filter:blur(22px) saturate(145%)!important;
}
.site-header.scrolled{
  background:rgba(255,255,255,.91)!important;
  border-bottom-color:rgba(35,97,126,.10)!important;
  box-shadow:0 10px 34px rgba(35,97,126,.09);
}
.site-header.scrolled .main-nav a,.site-header.scrolled .account-pill{color:var(--ink)!important}
.site-header .main-nav a{position:relative;font-weight:700}
.site-header .main-nav a:after{
  content:"";position:absolute;inset:auto 50% -9px;transform:translateX(50%);
  width:0;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--butter),var(--sunset));transition:.25s var(--ease)
}
.site-header .main-nav a:hover:after{width:24px}
.site-header .main-nav .nav-teacher{
  color:var(--butter)!important;background:rgba(244,216,146,.10);padding:9px 12px;border-radius:12px
}
.site-header.scrolled .main-nav .nav-teacher{color:var(--palm-900)!important;background:rgba(192,176,91,.15)}
.brand-logo-frame{border-color:rgba(255,255,255,.7)!important;box-shadow:0 10px 26px rgba(16,47,64,.14)!important}
.icon-btn{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
.site-header.scrolled .icon-btn{background:rgba(35,97,126,.07)!important;color:var(--odyssey)!important;border-color:rgba(35,97,126,.10)!important}
.cart-badge{background:var(--sangria)!important;color:#fff!important;box-shadow:0 3px 10px rgba(227,101,89,.35)}
.account-pill{border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.08)!important}
.site-header.scrolled .account-pill{background:rgba(148,190,187,.12)!important;border-color:rgba(35,97,126,.08)!important}
.nav-login{background:var(--butter)!important;color:var(--odyssey-950)!important;box-shadow:0 8px 20px rgba(244,216,146,.18)}

/* ---------- Hero: modern color grading ---------- */
.hero-v4,.hero-modern,.page-hero-modern,.teacher-hero{background:var(--odyssey-950)!important}
.hero-v4:after{
  background:
    radial-gradient(circle at 76% 46%,rgba(227,101,89,.14),transparent 28%),
    linear-gradient(90deg,rgba(16,47,64,.94) 0%,rgba(35,97,126,.76) 40%,rgba(70,84,58,.36) 70%,rgba(16,47,64,.16) 100%),
    linear-gradient(0deg,rgba(16,47,64,.72) 0%,transparent 56%)!important;
}
.hero-v4:before{
  content:"";position:absolute;z-index:1;width:32rem;height:32rem;border-radius:50%;left:-12rem;bottom:-15rem;
  background:radial-gradient(circle,rgba(244,216,146,.26),rgba(232,156,115,.08) 46%,transparent 70%);filter:blur(2px);pointer-events:none
}
.hero-copy{position:relative}
.hero-copy:before{
  content:"";position:absolute;z-index:-1;inset:-28px -30px -28px -34px;border-radius:34px;
  background:linear-gradient(120deg,rgba(16,47,64,.48),rgba(35,97,126,.18));
  border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(8px);mask-image:linear-gradient(90deg,#000 0 72%,transparent 100%)
}
.hero-v4 h1,.hero-modern h1,.page-hero-modern h1,.teacher-hero h1{
  color:#fff;text-wrap:balance;text-shadow:0 8px 32px rgba(16,47,64,.30)
}
.hero-v4 p,.hero-lead,.teacher-hero-bio{color:rgba(255,255,255,.88)!important}
.eyebrow-v4,.hero-kicker,.eyebrow{
  background:linear-gradient(135deg,rgba(244,216,146,.96),rgba(242,182,163,.92))!important;
  color:var(--odyssey-950)!important;border:1px solid rgba(255,255,255,.35)!important;
  box-shadow:0 8px 22px rgba(16,47,64,.12)
}
.hero-actions .btn-v4.primary,.btn-v4.primary{
  background:linear-gradient(135deg,var(--butter),#F7E3AC)!important;color:var(--odyssey-950)!important;
  border-color:rgba(244,216,146,.72)!important;box-shadow:0 12px 30px rgba(244,216,146,.20)
}
.btn-v4.primary:hover{background:linear-gradient(135deg,#F7E3AC,var(--butter))!important;box-shadow:0 16px 38px rgba(244,216,146,.28)}
.btn-v4.secondary,.btn-ghost-light{
  background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.30)!important;backdrop-filter:blur(14px)
}
.btn-v4.secondary:hover,.btn-ghost-light:hover{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.52)!important}
.hero-search{border:1px solid rgba(255,255,255,.52);box-shadow:0 24px 70px rgba(16,47,64,.23)!important}
.hero-search:focus-within{box-shadow:0 24px 70px rgba(16,47,64,.23),var(--ring)!important}
.hero-search button{background:linear-gradient(135deg,var(--sangria),var(--sunset))!important;color:#fff!important;box-shadow:0 8px 22px rgba(227,101,89,.22)}
.hero-proof span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);padding:7px 10px;border-radius:999px;backdrop-filter:blur(10px)}

/* Legacy full-page heroes */
.page-hero-modern:after,.hero-modern:after,.teacher-hero:after{
  background:linear-gradient(90deg,rgba(16,47,64,.90),rgba(35,97,126,.62) 48%,rgba(101,118,82,.24) 76%,rgba(16,47,64,.10))!important
}
.hero-meta,.hero-scroll,.page-number{color:rgba(255,255,255,.78)!important}

/* ---------- Sections / rhythm ---------- */
.section-v4{position:relative}
.section-v4:not(.section-soft){background:transparent}
.section-soft{
  background:
    radial-gradient(circle at 10% 15%,rgba(244,216,146,.20),transparent 22rem),
    radial-gradient(circle at 92% 92%,rgba(148,190,187,.18),transparent 26rem),
    linear-gradient(180deg,rgba(229,233,235,.36),rgba(255,255,255,.90))!important;
  border-block:1px solid rgba(35,97,126,.05)
}
.section-head h2{color:var(--odyssey-950);letter-spacing:-.025em;text-wrap:balance}
.section-head>a{color:var(--odyssey)!important;font-weight:800}
.section-head>a:hover{color:var(--sangria)!important}
.eyebrow-v4{
  background:rgba(148,190,187,.22)!important;color:var(--odyssey)!important;border:1px solid rgba(35,97,126,.08)!important;box-shadow:none
}

/* ---------- Feature cards: controlled color rhythm ---------- */
.feature-v4{
  position:relative;overflow:hidden;background:rgba(255,255,255,.86)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-sm)!important
}
.feature-v4:before{content:"";position:absolute;top:0;right:0;left:0;height:4px;background:var(--lagoon)}
.feature-v4:nth-child(3n+1):before{background:linear-gradient(90deg,var(--odyssey),var(--lagoon))}
.feature-v4:nth-child(3n+2):before{background:linear-gradient(90deg,var(--palm),var(--moss))}
.feature-v4:nth-child(3n+3):before{background:linear-gradient(90deg,var(--sangria),var(--sunset))}
.feature-v4:nth-child(3n+1) .icon-orb{background:linear-gradient(135deg,rgba(148,190,187,.44),rgba(229,233,235,.92));color:var(--odyssey)}
.feature-v4:nth-child(3n+2) .icon-orb{background:linear-gradient(135deg,rgba(244,216,146,.82),rgba(192,176,91,.32));color:var(--palm-900)}
.feature-v4:nth-child(3n+3) .icon-orb{background:linear-gradient(135deg,rgba(242,182,163,.82),rgba(232,156,115,.38));color:var(--sangria-900)}
.feature-v4:hover{transform:translateY(-7px);border-color:var(--line-strong)!important;box-shadow:var(--shadow-lg)!important}
.feature-v4 h3{color:var(--odyssey-950)}
.feature-v4 p{color:var(--muted)}

/* ---------- Flow cards ---------- */
.flow-card{
  overflow:hidden;border-color:var(--line)!important;box-shadow:var(--shadow-xs);transition:.28s var(--ease)
}
.flow-card:after{content:"";position:absolute;inset:auto -18% -55% auto;width:150px;height:150px;border-radius:50%;background:var(--butter);opacity:.16;transition:.3s var(--ease)}
.flow-card:nth-child(2):after{background:var(--lagoon)}
.flow-card:nth-child(3):after{background:var(--guava)}
.flow-card:nth-child(4):after{background:var(--moss)}
.flow-card:nth-child(1):before{color:var(--odyssey)}.flow-card:nth-child(2):before{color:var(--palm)}.flow-card:nth-child(3):before{color:var(--sangria)}.flow-card:nth-child(4):before{color:var(--moss)}
.flow-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--line-strong)!important}.flow-card:hover:after{transform:scale(1.15)}
.flow-card h3{color:var(--odyssey-950)}

/* ---------- Teacher cards ---------- */
.teacher-v4{
  border-color:var(--line)!important;box-shadow:var(--shadow-sm)!important;position:relative
}
.teacher-v4:after{content:"";position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,var(--lagoon),var(--butter),var(--guava))}
.teacher-v4 .photo:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(0deg,rgba(16,47,64,.18),transparent);pointer-events:none}
.teacher-v4 .top h3{color:var(--odyssey-950)}
.match-pill{background:rgba(244,216,146,.40)!important;color:var(--palm-900)!important;border:1px solid rgba(192,176,91,.20)}
.meta-row span{background:rgba(229,233,235,.72)!important;color:#53656D;border:1px solid rgba(35,97,126,.06)}
.teacher-actions .main{background:linear-gradient(135deg,var(--odyssey),#2E728F)!important;color:#fff;box-shadow:0 8px 22px rgba(35,97,126,.16)}
.teacher-actions .main:hover{background:linear-gradient(135deg,#2B6D89,var(--odyssey))!important}
.teacher-actions .ghost{background:rgba(148,190,187,.14)!important;color:var(--odyssey)!important;border:1px solid rgba(35,97,126,.07)!important}
.teacher-actions .ghost:hover{background:rgba(148,190,187,.25)!important}

/* ---------- Proof strip ---------- */
.proof-strip{gap:10px;background:transparent!important;overflow:visible!important}
.proof-strip div{border-radius:20px;border:1px solid var(--line);box-shadow:var(--shadow-xs);background:#fff!important;position:relative;overflow:hidden}
.proof-strip div:nth-child(1){background:linear-gradient(145deg,#fff,rgba(148,190,187,.18))!important}
.proof-strip div:nth-child(2){background:linear-gradient(145deg,#fff,rgba(244,216,146,.20))!important}
.proof-strip div:nth-child(3){background:linear-gradient(145deg,#fff,rgba(242,182,163,.18))!important}
.proof-strip div:nth-child(4){background:linear-gradient(145deg,#fff,rgba(101,118,82,.12))!important}
.proof-strip strong{color:var(--odyssey)!important}.proof-strip div:nth-child(2) strong{color:var(--palm)}.proof-strip div:nth-child(3) strong{color:var(--sangria)}.proof-strip div:nth-child(4) strong{color:var(--palm-900)}

/* ---------- Matching / forms ---------- */
.match-shell .quiz-card{background:linear-gradient(180deg,#fff,rgba(244,216,146,.07))!important}
.choice{border-color:var(--line)!important;transition:.2s var(--ease)}
.choice:hover{border-color:rgba(35,97,126,.28)!important;background:rgba(148,190,187,.08)!important;transform:translateY(-1px)}
.choice:has(input:checked){border-color:var(--odyssey)!important;background:linear-gradient(135deg,rgba(148,190,187,.20),rgba(244,216,146,.12))!important;box-shadow:var(--ring)}
.progress-track{background:rgba(229,233,235,.85)!important}.progress-track>span{background:linear-gradient(90deg,var(--lagoon),var(--odyssey),var(--palm))!important}
.field input,.field select,.field textarea,.hero-search input,.chat-form textarea{
  border-color:rgba(35,97,126,.14)!important;background:rgba(255,255,255,.94)!important;transition:.2s var(--ease)
}
.field input:focus,.field select:focus,.field textarea:focus,.chat-form textarea:focus{border-color:var(--lagoon)!important;box-shadow:var(--ring)!important}

/* ---------- Generic legacy buttons ---------- */
.btn-primary{background:linear-gradient(135deg,var(--odyssey),#2D708C)!important;color:#fff!important;box-shadow:0 10px 24px rgba(35,97,126,.14)}
.btn-primary:hover{filter:brightness(1.04);transform:translateY(-2px)}
.btn-dark{background:var(--odyssey-950)!important;color:#fff!important}
.btn-accent{background:linear-gradient(135deg,var(--sangria),var(--sunset))!important;color:#fff!important}
.btn-mint{background:linear-gradient(135deg,var(--butter),#F7E4AE)!important;color:var(--odyssey-950)!important}
.btn-light{background:rgba(229,233,235,.62)!important;color:var(--ink)!important;border-color:rgba(35,97,126,.08)!important}
.btn-light:hover{background:rgba(148,190,187,.18)!important}

/* ---------- Cart / Checkout ---------- */
.cart-item,.summary-card,.coupon-box,.payment-option,.booking-summary{
  border-color:var(--line)!important;box-shadow:var(--shadow-xs)!important
}
.summary-card{background:linear-gradient(165deg,#fff,rgba(244,216,146,.10))!important}
.summary-total{border-top-color:rgba(35,97,126,.12)!important}
.coupon-box{background:linear-gradient(135deg,rgba(244,216,146,.18),rgba(242,182,163,.11))!important}
.payment-option:has(input:checked){border-color:var(--odyssey)!important;background:rgba(148,190,187,.12)!important;box-shadow:var(--ring)!important}
.flow-step.active{background:var(--odyssey)!important;color:#fff!important}.flow-step.active:before{background:var(--butter)!important;color:var(--odyssey-950)!important}

/* ---------- Learning ---------- */
.lesson-item{background:linear-gradient(135deg,rgba(229,233,235,.62),rgba(148,190,187,.10))!important;border:1px solid rgba(35,97,126,.06)}
.progress-ring{background:conic-gradient(var(--odyssey) calc(var(--p)*1%),rgba(148,190,187,.28) 0)!important}

/* ---------- Messaging ---------- */
.message-shell{border-color:var(--line)!important;box-shadow:var(--shadow-md)}
.thread-list{background:linear-gradient(180deg,rgba(229,233,235,.38),rgba(255,255,255,.8))}
.thread-link:hover{background:rgba(148,190,187,.12)}
.bubble{background:rgba(229,233,235,.74)!important}.bubble.me{background:linear-gradient(135deg,rgba(148,190,187,.38),rgba(244,216,146,.20))!important}

/* ---------- Auth ---------- */
.auth-page{background:
  radial-gradient(circle at 12% 12%,rgba(244,216,146,.36),transparent 28rem),
  radial-gradient(circle at 90% 78%,rgba(148,190,187,.28),transparent 30rem),
  linear-gradient(135deg,#FFF9EE,#F8FBFB)!important}
.auth-shell{box-shadow:var(--shadow-lg)!important;border:1px solid rgba(35,97,126,.08)}
.auth-aside{background:linear-gradient(155deg,var(--odyssey-950),var(--odyssey) 58%,var(--palm-900))!important}
.auth-point{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.10)!important}
.auth-tabs .active{background:var(--odyssey)!important;color:#fff!important}
.role-card:has(input:checked){border-color:var(--odyssey)!important;background:rgba(148,190,187,.13)!important;box-shadow:var(--ring)!important}

/* ---------- Dashboards & admin ---------- */
.dashboard-shell{background:linear-gradient(180deg,#F8FAFA,#FFF9EE 46%,#fff)!important}
.dashboard-shell .sidebar,.sidebar{background:linear-gradient(180deg,var(--odyssey-950),#1C5169 55%,var(--palm-900))!important;box-shadow:12px 0 42px rgba(16,47,64,.12)}
.side-brand,.sidebar .side-brand{color:#fff!important}.side-badge{background:rgba(244,216,146,.16)!important;color:var(--butter)!important;border-color:rgba(244,216,146,.18)!important}
.side-nav a{color:rgba(255,255,255,.78)!important}.side-nav a:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}.side-nav a.active{background:linear-gradient(90deg,rgba(244,216,146,.22),rgba(148,190,187,.13))!important;color:#fff!important;border-right:3px solid var(--butter)}
.kpi{border-color:var(--line)!important;box-shadow:var(--shadow-xs)!important;background:#fff!important;position:relative;overflow:hidden}
.kpi:nth-child(4n+1){background:linear-gradient(145deg,#fff,rgba(148,190,187,.15))!important}.kpi:nth-child(4n+2){background:linear-gradient(145deg,#fff,rgba(244,216,146,.17))!important}.kpi:nth-child(4n+3){background:linear-gradient(145deg,#fff,rgba(242,182,163,.14))!important}.kpi:nth-child(4n+4){background:linear-gradient(145deg,#fff,rgba(101,118,82,.10))!important}
.kpi-icon{background:rgba(148,190,187,.18)!important;color:var(--odyssey)!important}.kpi:nth-child(4n+2) .kpi-icon{background:rgba(244,216,146,.34)!important;color:var(--palm-900)!important}.kpi:nth-child(4n+3) .kpi-icon{background:rgba(242,182,163,.34)!important;color:var(--sangria-900)!important}.kpi:nth-child(4n+4) .kpi-icon{background:rgba(101,118,82,.16)!important;color:var(--palm)!important}
.data-table thead th{background:rgba(229,233,235,.52)!important;color:var(--odyssey-950)!important}.data-table tbody tr:hover{background:rgba(148,190,187,.07)!important}
.status.active,.status.approved{background:rgba(101,118,82,.13)!important;color:var(--palm-900)!important}.status.pending{background:rgba(244,216,146,.28)!important;color:#715E20!important}.status.cancelled,.status.failed{background:rgba(227,101,89,.12)!important;color:var(--sangria-900)!important}
.notice{background:rgba(148,190,187,.16)!important;border-color:rgba(35,97,126,.11)!important;color:var(--odyssey-950)!important}.notice.error,.error{background:rgba(227,101,89,.10)!important;border-color:rgba(227,101,89,.18)!important;color:var(--sangria-900)!important}
.admin-logo-canvas{background:linear-gradient(135deg,rgba(148,190,187,.18),rgba(244,216,146,.25),rgba(242,182,163,.15))!important}

/* ---------- Footer ---------- */
.prefooter{background:linear-gradient(180deg,transparent,rgba(229,233,235,.26))!important}
.prefooter-inner{
  background:
    radial-gradient(circle at 12% 40%,rgba(244,216,146,.19),transparent 20rem),
    radial-gradient(circle at 88% 30%,rgba(148,190,187,.18),transparent 24rem),
    linear-gradient(135deg,var(--odyssey-950),var(--odyssey) 58%,var(--palm-900))!important;
  border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 30px 80px rgba(16,47,64,.18)!important
}
.prefooter-inner h2,.prefooter-inner p{color:#fff!important}.eyebrow-light{background:rgba(244,216,146,.16)!important;color:var(--butter)!important;border-color:rgba(244,216,146,.18)!important}
.footer{background:linear-gradient(165deg,#102F40,#153E53 50%,#2F4232)!important;color:rgba(255,255,255,.78)!important}
.footer h4{color:var(--butter)!important}.footer a{color:rgba(255,255,255,.75)!important}.footer a:hover{color:var(--butter)!important}.footer-badges span{border-color:rgba(148,190,187,.18)!important;background:rgba(148,190,187,.08)!important}.newsletter input{background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.13)!important;color:#fff!important}.newsletter button{background:var(--butter)!important;color:var(--odyssey-950)!important}

/* ---------- Bottom navigation ---------- */
.bottom-nav{background:rgba(255,255,255,.94)!important;border-top-color:rgba(35,97,126,.10)!important;box-shadow:0 -12px 34px rgba(35,97,126,.09)!important}
.bottom-nav a{color:#65747B!important}.bottom-nav a:hover,.bottom-nav a.active{color:var(--odyssey)!important}.bottom-nav a.active svg{filter:drop-shadow(0 3px 8px rgba(35,97,126,.22))}
.mobile-sticky-cta{border:1px solid rgba(35,97,126,.09);box-shadow:0 16px 48px rgba(35,97,126,.15)!important}

/* ---------- Responsive: mobile-first refinement ---------- */
@media(max-width:900px){
  .hero-copy:before{inset:-22px -18px -22px -18px;mask-image:none;background:linear-gradient(180deg,rgba(16,47,64,.28),rgba(16,47,64,.58));border-color:rgba(255,255,255,.07)}
  .hero-v4:after{background:linear-gradient(0deg,rgba(16,47,64,.90) 0%,rgba(35,97,126,.58) 50%,rgba(16,47,64,.10) 100%)!important}
}
@media(max-width:767px){
  body{background:linear-gradient(180deg,#fff,var(--paper))}
  .site-header{background:rgba(16,47,64,.88)!important}
  .site-header .main-nav{background:linear-gradient(180deg,rgba(16,47,64,.99),rgba(35,97,126,.98))!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 24px 60px rgba(16,47,64,.25)!important}
  .site-header .main-nav a{color:#fff!important;border-bottom-color:rgba(255,255,255,.07)!important}
  .site-header .main-nav a:after{display:none}
  .site-header .main-nav .nav-teacher{background:rgba(244,216,146,.14)!important;color:var(--butter)!important}
  .hero-v4 .container{padding-bottom:42px!important}
  .hero-v4 h1{font-size:clamp(2.15rem,9.8vw,3.15rem)!important;line-height:1.18!important;letter-spacing:-.025em!important}
  .hero-v4 p{line-height:1.92!important}
  .hero-actions{gap:9px!important}
  .hero-actions .btn-v4{min-height:50px;border-radius:15px!important}
  .section-v4{padding:58px 0!important}
  .section-head{margin-bottom:24px!important}.section-head h2{font-size:clamp(1.75rem,7.2vw,2.35rem)!important;line-height:1.35}
  .feature-v4,.flow-card,.panel-v4,.quiz-card{border-radius:22px!important;padding:21px!important}
  .teacher-v4{border-radius:24px!important}.teacher-v4 .body{padding:18px!important}
  .proof-strip{gap:9px!important}.proof-strip div{padding:18px!important}
  .proof-strip strong{font-size:1.6rem!important}
}
@media(max-width:420px){
  .container{width:min(100% - 18px,1180px)!important}
  .hero-copy:before{inset:-18px -10px -18px -10px;border-radius:26px}
  .hero-v4 h1{font-size:clamp(2rem,10.2vw,2.72rem)!important}
  .hero-v4 p{font-size:.94rem!important}
  .hero-proof{display:none!important}
  .feature-v4,.flow-card,.panel-v4,.quiz-card{padding:18px!important}
  .teacher-actions{gap:7px!important}
}
@media(prefers-reduced-motion:reduce){.feature-v4:hover,.flow-card:hover,.teacher-v4:hover,.btn-v4:hover{transform:none!important}}

/* =========================================================
   iTeachPlus V4.2 — Featured Teachers Decision Cards
   Mobile-first, information-rich, touch-friendly
   ========================================================= */
.featured-teachers-v42{
  --teacher-card-radius:30px;
  overflow:hidden;
  background:
    radial-gradient(circle at 5% 8%,rgba(244,216,146,.30),transparent 25rem),
    radial-gradient(circle at 94% 88%,rgba(148,190,187,.25),transparent 30rem),
    linear-gradient(180deg,#fff 0%,rgba(229,233,235,.34) 52%,#fff 100%);
}
.featured-teachers-v42:before{
  content:"";position:absolute;width:280px;height:280px;border-radius:50%;left:-170px;top:15%;
  background:linear-gradient(135deg,rgba(242,182,163,.28),rgba(232,156,115,.08));filter:blur(2px);pointer-events:none
}
.featured-teachers-head-v42{display:grid;gap:22px;margin-bottom:18px;position:relative;z-index:1}
.featured-teachers-intro-v42{max-width:720px}
.featured-teachers-intro-v42 h2{margin:12px 0 10px;color:var(--odyssey-950);font-size:clamp(31px,5vw,52px);line-height:1.18;letter-spacing:-.035em;text-wrap:balance}
.featured-teachers-intro-v42 p{margin:0;color:var(--muted);line-height:2;max-width:660px}
.featured-teachers-head-actions-v42{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.featured-match-v42{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:18px;text-decoration:none;background:linear-gradient(135deg,var(--odyssey),#2f718d);color:#fff;box-shadow:0 14px 34px rgba(35,97,126,.18);border:1px solid rgba(255,255,255,.14)}
.featured-match-v42>i{width:22px;height:22px;color:var(--butter)}
.featured-match-v42 span{display:grid;gap:1px}.featured-match-v42 small{font-size:.68rem;color:rgba(255,255,255,.7)}.featured-match-v42 b{font-size:.86rem}
.featured-all-v42{display:inline-flex;align-items:center;gap:7px;padding:12px 14px;border-radius:16px;text-decoration:none;color:var(--odyssey);font-weight:850;border:1px solid var(--line);background:rgba(255,255,255,.72);backdrop-filter:blur(10px)}
.featured-all-v42 i{width:17px}
.featured-mobile-hint-v42{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.76rem;margin:4px 2px 12px}.featured-mobile-hint-v42 i{width:16px;color:var(--odyssey)}

.teacher-grid-v42{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(84vw,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:11px;padding:4px 2px 22px;margin-inline:-2px;overscroll-behavior-inline:contain;scrollbar-width:none}
.teacher-grid-v42::-webkit-scrollbar{display:none}
.teacher-card-v42{scroll-snap-align:start;min-width:0;background:rgba(255,255,255,.93);border:1px solid rgba(35,97,126,.10);border-radius:var(--teacher-card-radius);overflow:hidden;box-shadow:0 14px 42px rgba(35,97,126,.10);position:relative;isolation:isolate;transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s var(--ease)}
.teacher-card-v42:before{content:"";position:absolute;z-index:3;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--odyssey),var(--lagoon) 34%,var(--butter) 64%,var(--sunset));pointer-events:none}
.teacher-media-v42{position:relative;aspect-ratio:1.2/1;overflow:hidden;background:var(--seabreeze)}
.teacher-photo-link-v42{position:absolute;inset:0;display:block}.teacher-photo-link-v42 img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .55s var(--ease),filter .4s var(--ease)}
.teacher-media-v42:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(16,47,64,.18) 0%,transparent 38%,rgba(16,47,64,.08) 58%,rgba(16,47,64,.78) 100%)}
.teacher-badges-v42{position:absolute;z-index:2;top:14px;right:14px;display:flex;flex-wrap:wrap;gap:7px;max-width:70%}
.teacher-badge-v42{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:999px;font-size:.68rem;font-weight:900;backdrop-filter:blur(12px);box-shadow:0 6px 16px rgba(16,47,64,.10)}
.teacher-badge-v42 i{width:14px;height:14px}.teacher-badge-v42.verified{background:rgba(255,255,255,.90);color:var(--odyssey)}.teacher-badge-v42.featured{background:rgba(244,216,146,.92);color:var(--palm-900)}
.teacher-floating-actions-v42{position:absolute;z-index:4;top:13px;left:13px;display:grid;gap:7px}
.teacher-floating-actions-v42 button{width:39px;height:39px;border-radius:13px;border:1px solid rgba(255,255,255,.54);background:rgba(16,47,64,.48);backdrop-filter:blur(12px);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.2s var(--ease);box-shadow:0 7px 18px rgba(16,47,64,.12)}
.teacher-floating-actions-v42 button i{width:18px}.teacher-floating-actions-v42 button.active[data-favorite]{background:var(--sangria);border-color:var(--sangria)}.teacher-floating-actions-v42 button.active[data-compare]{background:var(--butter);color:var(--odyssey-950);border-color:var(--butter)}
.teacher-availability-v42{position:absolute;z-index:3;right:14px;left:14px;bottom:13px;display:flex;align-items:center;gap:9px;color:#fff;min-width:0}
.teacher-availability-v42>div{display:grid;gap:1px;min-width:0}.teacher-availability-v42 small{font-size:.64rem;color:rgba(255,255,255,.72)}.teacher-availability-v42 strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.availability-dot-v42{width:10px;height:10px;border-radius:50%;background:#7EE7A4;box-shadow:0 0 0 5px rgba(126,231,164,.14),0 0 20px rgba(126,231,164,.55);flex:0 0 auto}

.teacher-body-v42{padding:18px 17px 16px;display:flex;flex-direction:column;min-height:350px}
.teacher-identity-v42{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.teacher-identity-v42>div:first-child{min-width:0}
.teacher-category-v42{color:var(--palm);font-size:.68rem;font-weight:900}.teacher-identity-v42 h3{margin:4px 0 0;font-size:1.28rem;line-height:1.35}.teacher-identity-v42 h3 a{text-decoration:none;color:var(--odyssey-950)}
.teacher-rating-v42{display:grid;grid-template-columns:auto auto;align-items:center;justify-items:end;column-gap:4px;flex:0 0 auto;padding:7px 9px;border-radius:14px;background:linear-gradient(145deg,rgba(244,216,146,.46),rgba(255,255,255,.75));border:1px solid rgba(192,176,91,.16)}
.teacher-rating-v42 span{color:#D99A22;font-size:1rem}.teacher-rating-v42 strong{font-size:.92rem;color:var(--odyssey-950)}.teacher-rating-v42 small{grid-column:1/-1;font-size:.61rem;color:var(--muted);margin-top:1px}
.teacher-title-v42{margin:8px 0 0;font-size:.82rem;font-weight:800;color:var(--odyssey)}
.teacher-headline-v42{margin:7px 0 13px;color:var(--muted);font-size:.78rem;line-height:1.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}
.teacher-stats-v42{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}
.teacher-stats-v42 span{min-width:0;min-height:62px;border-radius:15px;background:linear-gradient(145deg,rgba(229,233,235,.60),rgba(255,255,255,.92));border:1px solid rgba(35,97,126,.06);padding:9px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#53656d;font-size:.64rem;line-height:1.5;overflow:hidden}
.teacher-stats-v42 i{width:15px;height:15px;color:var(--odyssey);margin-bottom:3px}.teacher-stats-v42 b{color:var(--odyssey-950);font-size:.78rem}.teacher-stats-v42 span:last-child{white-space:nowrap;text-overflow:ellipsis}
.teacher-service-row-v42{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}.teacher-service-row-v42>span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;background:rgba(148,190,187,.13);color:var(--odyssey);font-size:.66rem;font-weight:800}.teacher-service-row-v42 i{width:13px}.teacher-service-row-v42 .teacher-trial-v42{background:rgba(242,182,163,.20);color:var(--sangria-900)}
.teacher-card-footer-v42{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:13px;border-top:1px solid rgba(35,97,126,.08)}
.teacher-price-v42{display:grid;line-height:1.25}.teacher-price-v42 small,.teacher-price-v42 span{font-size:.62rem;color:var(--muted)}.teacher-price-v42 strong{font-size:.98rem;color:var(--odyssey-950);margin:2px 0}
.teacher-profile-cta-v42{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:43px;padding:10px 12px;border-radius:14px;text-decoration:none;background:linear-gradient(135deg,var(--odyssey),#2d718e);color:#fff;font-weight:900;font-size:.76rem;box-shadow:0 9px 20px rgba(35,97,126,.17)}.teacher-profile-cta-v42 i{width:16px}
.teacher-card-links-v42{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.teacher-card-links-v42 a{display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px;text-decoration:none;border-radius:12px;background:#f7f8f7;border:1px solid rgba(35,97,126,.07);color:#50626b;font-size:.68rem;font-weight:800}.teacher-card-links-v42 i{width:14px;color:var(--odyssey)}
.featured-teachers-bottom-v42{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:15px 16px;border:1px solid rgba(35,97,126,.08);border-radius:20px;background:rgba(255,255,255,.70);backdrop-filter:blur(12px);color:var(--muted);font-size:.76rem}.featured-teachers-bottom-v42 span,.featured-teachers-bottom-v42 a{display:flex;align-items:center;gap:7px}.featured-teachers-bottom-v42 span i{width:17px;color:var(--palm)}.featured-teachers-bottom-v42 a{text-decoration:none;color:var(--odyssey);font-weight:900}.featured-teachers-bottom-v42 a i{width:16px}

@media (hover:hover){
  .teacher-card-v42:hover{transform:translateY(-8px);border-color:rgba(35,97,126,.20);box-shadow:0 28px 70px rgba(35,97,126,.16)}
  .teacher-card-v42:hover .teacher-photo-link-v42 img{transform:scale(1.045);filter:saturate(1.04)}
  .teacher-floating-actions-v42 button:hover{transform:translateY(-2px);background:rgba(35,97,126,.84)}
  .teacher-profile-cta-v42:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(35,97,126,.24)}
  .teacher-card-links-v42 a:hover{background:rgba(148,190,187,.17);color:var(--odyssey)}
  .featured-match-v42:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(35,97,126,.24)}
}
.teacher-floating-actions-v42 button:focus-visible,.teacher-profile-cta-v42:focus-visible,.teacher-card-links-v42 a:focus-visible,.featured-match-v42:focus-visible,.featured-all-v42:focus-visible{outline:3px solid var(--butter);outline-offset:3px}

@media(min-width:640px){
  .teacher-grid-v42{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding:4px 0 8px;margin:0;gap:16px}
  .featured-mobile-hint-v42{display:none}.teacher-media-v42{aspect-ratio:1.28/1}.teacher-body-v42{padding:20px;min-height:360px}
  .featured-teachers-bottom-v42{flex-direction:row;justify-content:space-between;align-items:center}
}
@media(min-width:960px){
  .featured-teachers-head-v42{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-bottom:26px}.featured-teachers-head-actions-v42{justify-content:flex-end}
  .teacher-grid-v42{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.teacher-media-v42{aspect-ratio:1.34/1}.teacher-body-v42{padding:21px;min-height:372px}
}
@media(max-width:380px){
  .teacher-grid-v42{grid-auto-columns:minmax(89vw,1fr)}.teacher-stats-v42{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-stats-v42 span{font-size:.59rem;padding-inline:4px}.teacher-card-footer-v42{align-items:stretch;flex-direction:column}.teacher-profile-cta-v42{width:100%}.teacher-price-v42{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){.teacher-card-v42,.teacher-photo-link-v42 img,.teacher-floating-actions-v42 button,.teacher-profile-cta-v42,.featured-match-v42{transition:none!important}}

/* =========================================================
   V4.3 — Featured teacher badges + timed special offers
   ========================================================= */
.teacher-badges-v42{
  top:16px;right:16px;display:flex;flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:8px;max-width:min(72%,220px)
}
.teacher-badge-v42{
  min-height:34px;padding:7px 11px;border-radius:12px;font-size:.69rem;line-height:1;white-space:nowrap;
  border:1px solid rgba(255,255,255,.52);box-shadow:0 8px 22px rgba(16,47,64,.13);letter-spacing:-.01em
}
.teacher-badge-v42.featured{background:rgba(244,216,146,.95);color:#46513a;border-color:rgba(244,216,146,.9)}
.teacher-badge-v42.verified{background:rgba(255,255,255,.94);color:var(--odyssey);border-color:rgba(255,255,255,.9)}
.teacher-badge-v42.offer{background:linear-gradient(135deg,var(--sangria),#ef7c68);color:#fff;border-color:rgba(255,255,255,.34);box-shadow:0 10px 24px rgba(227,101,89,.27)}
.teacher-badge-v42.offer i{color:var(--butter)}
.teacher-price-v42.has-offer strong{color:var(--sangria);font-size:1.06rem}
.teacher-price-old-v43{display:flex;align-items:center;gap:6px;margin-top:2px}
.teacher-price-old-v43 del{font-size:.67rem;color:#87959b;text-decoration-thickness:1.5px}
.teacher-price-old-v43 span{display:inline-flex!important;align-items:center;padding:2px 5px;border-radius:7px;background:rgba(227,101,89,.11);color:var(--sangria)!important;font-size:.58rem!important;font-weight:900}

/* Admin — offer permissions */
.teacher-admin-grid-v43{display:grid;gap:14px;margin-top:18px}
.teacher-admin-card-v43{border:1px solid rgba(35,97,126,.1);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(35,97,126,.06)}
.teacher-admin-summary-v43{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px}
.teacher-admin-summary-v43>img{width:64px;height:64px;object-fit:cover;border-radius:17px}
.teacher-admin-summary-v43 h3{margin:0 0 3px}.teacher-admin-summary-v43 p{margin:0;color:var(--muted);font-size:.82rem}
.teacher-admin-status-v43{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.teacher-admin-status-v43 .status{font-size:.66rem}
.offer-admin-pill-v43{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:rgba(227,101,89,.11);color:var(--sangria);font-size:.66rem;font-weight:900}
.offer-admin-details-v43{border-top:1px solid rgba(35,97,126,.08)}
.offer-admin-details-v43>summary{list-style:none;cursor:pointer;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(135deg,rgba(244,216,146,.12),rgba(148,190,187,.10));font-weight:850;color:var(--odyssey)}
.offer-admin-details-v43>summary::-webkit-details-marker{display:none}.offer-admin-details-v43>summary span{display:flex;align-items:center;gap:7px}.offer-admin-details-v43>summary i{width:18px}.offer-admin-details-v43>summary small{color:var(--muted);font-weight:700}
.offer-admin-form-v43{padding:16px}.offer-permission-box-v43{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.offer-permission-box-v43>label{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid rgba(35,97,126,.09);border-radius:16px;background:#fafbfb;cursor:pointer}
.offer-permission-box-v43 input[type=checkbox]{width:19px;height:19px;accent-color:var(--odyssey);margin-top:1px}.offer-permission-box-v43 span{display:grid;gap:2px}.offer-permission-box-v43 b{font-size:.78rem;color:var(--odyssey-950)}.offer-permission-box-v43 small{font-size:.67rem;line-height:1.65;color:var(--muted)}
.offer-preview-v43{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 13px;margin:12px 0;border-radius:15px;background:linear-gradient(135deg,rgba(242,182,163,.17),rgba(244,216,146,.16));border:1px dashed rgba(227,101,89,.25);font-size:.74rem}.offer-preview-v43 del{color:var(--muted)}.offer-preview-v43 strong{color:var(--sangria)}.offer-preview-v43 b{padding:3px 7px;border-radius:8px;background:var(--sangria);color:#fff}

/* Teacher dashboard — controlled self-service offer */
.teacher-offer-panel-v43{position:relative;overflow:hidden}.teacher-offer-panel-v43:before{content:"";position:absolute;left:-70px;top:-90px;width:210px;height:210px;border-radius:50%;background:rgba(242,182,163,.17);pointer-events:none}
.offer-live-v43{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(227,101,89,.11);color:var(--sangria);font-weight:900;font-size:.72rem}.offer-live-v43 i{width:15px}
.teacher-offer-form-v43{position:relative;z-index:1}.offer-locked-v43{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:18px;background:rgba(229,233,235,.55);border:1px solid rgba(35,97,126,.08)}.offer-locked-v43>i{width:22px;color:var(--odyssey)}.offer-locked-v43 b{color:var(--odyssey-950)}.offer-locked-v43 p{margin:4px 0 0;color:var(--muted);font-size:.78rem}

/* Teacher profile special price */
.profile-price-v43{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:9px 0}.profile-price-v43 strong{font-size:1.35rem;color:var(--odyssey-950)}.profile-price-v43 del{font-size:.82rem;color:#89969c}.profile-offer-pill-v43{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:linear-gradient(135deg,var(--sangria),#ed7865);color:#fff;font-size:.7rem;font-weight:900}.profile-offer-pill-v43 i{width:14px;color:var(--butter)}

@media(max-width:767px){
  .teacher-badges-v42{top:13px;right:13px;gap:6px;max-width:74%}.teacher-badge-v42{min-height:31px;padding:6px 9px;font-size:.64rem;border-radius:11px}
  .teacher-admin-summary-v43{grid-template-columns:56px 1fr}.teacher-admin-summary-v43>img{width:56px;height:56px}.teacher-admin-summary-v43>.admin-actions{grid-column:1/-1;justify-content:flex-start}.offer-permission-box-v43{grid-template-columns:1fr}
}
@media(max-width:380px){.teacher-badges-v42{max-width:77%}.teacher-badge-v42{font-size:.61rem}.teacher-floating-actions-v42{left:10px;top:10px}.teacher-floating-actions-v42 button{width:36px;height:36px}}



/*
   V4.4 — Featured card badge stack fix + offer countdown
*/
.featured-teachers-v42 .teacher-media-v42{overflow:hidden;position:relative}
.teacher-badges-v42{
  position:absolute;
  z-index:4;
  top:14px;
  right:14px;
  left:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  max-width:calc(100% - 96px);
}
.teacher-badge-v42,
.teacher-badge-sub-v44{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  width:max-content;
  max-width:100%;
  min-height:34px;
  padding:8px 12px;
  border-radius:14px;
  font-size:.72rem;
  font-weight:900;
  line-height:1.2;
  white-space:nowrap;
  border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 10px 24px rgba(16,47,64,.14);
}
.teacher-badge-v42 span,.teacher-badge-sub-v44{overflow:hidden;text-overflow:ellipsis}
.teacher-badge-v42 i,.teacher-badge-sub-v44 i{width:14px;height:14px;flex:0 0 auto}
.teacher-badge-v42.featured{background:linear-gradient(135deg,rgba(244,216,146,.96),rgba(192,176,91,.93));color:#43503a;border-color:rgba(244,216,146,.95)}
.teacher-badge-v42.verified{background:rgba(255,255,255,.95);color:var(--odyssey);border-color:rgba(255,255,255,.94)}
.teacher-badge-v42.offer{background:linear-gradient(135deg,var(--sangria),#ef7c68);color:#fff;border-color:rgba(255,255,255,.38);box-shadow:0 12px 26px rgba(227,101,89,.28)}
.teacher-badge-v42.offer i{color:var(--butter)}
.teacher-badge-sub-v44{background:rgba(35,97,126,.78);color:#fff;border-color:rgba(255,255,255,.18);font-size:.64rem;min-height:29px;padding:6px 10px}
.teacher-badge-sub-v44 i{color:var(--butter)}
.teacher-availability-v42{z-index:3;left:14px;right:auto;max-width:calc(100% - 28px)}
.teacher-price-v42.has-offer strong{color:var(--sangria)}
.teacher-price-old-v43{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.teacher-price-old-v43 del{color:#8e9aa1;text-decoration-thickness:2px}
.teacher-price-old-v43 span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:rgba(227,101,89,.10);color:var(--sangria);font-size:.68rem;font-weight:900}
@media (max-width:991px){
  .teacher-badges-v42{top:13px;right:13px;gap:7px;max-width:calc(100% - 90px)}
  .teacher-badge-v42{font-size:.68rem;padding:7px 11px;min-height:32px}
}
@media (max-width:767px){
  .teacher-badges-v42{top:12px;right:12px;max-width:calc(100% - 84px)}
  .teacher-badge-v42{font-size:.64rem;padding:6px 10px;min-height:30px;border-radius:12px}
  .teacher-badge-sub-v44{font-size:.60rem;min-height:27px;padding:5px 9px}
  .teacher-availability-v42{left:12px;right:12px;bottom:12px;max-width:none}
}
@media (max-width:380px){
  .teacher-badges-v42{max-width:calc(100% - 80px)}
  .teacher-badge-v42{font-size:.60rem;gap:5px;padding:6px 9px}
  .teacher-badge-sub-v44{font-size:.57rem;padding:5px 8px}
}

/* ==========================================================
   V4.18 — Warm Educational Marketplace Color Harmony
   Color-only layer. No layout, PHP, or business logic changes.
   ========================================================== */
:root{
  --surface-butter:#FFF8E4;
  --surface-lagoon:#EFF7F6;
  --surface-guava:#FFF2EE;
  --surface-palm:#F3F6EF;
  --surface-seabreeze:#F3F6F7;
  --surface-moss:#FAF7E8;
  --odyssey-deep:#173C4D;
}

/* richer but calm global canvas */
body{
  background:
    radial-gradient(circle at 7% 8%,rgba(244,216,146,.34),transparent 28rem),
    radial-gradient(circle at 94% 24%,rgba(148,190,187,.24),transparent 32rem),
    radial-gradient(circle at 22% 78%,rgba(242,182,163,.14),transparent 26rem),
    linear-gradient(180deg,#fff 0%,#FCFCF9 44%,#fff 100%)!important;
}

/* header: less sterile, still premium */
.site-header.scrolled{
  background:linear-gradient(90deg,rgba(255,249,232,.96),rgba(239,247,246,.94) 48%,rgba(255,255,255,.96))!important;
  border-bottom-color:rgba(35,97,126,.11)!important;
}
.site-header.scrolled .main-nav a:hover{color:var(--odyssey)!important}
.site-header.scrolled .main-nav .nav-teacher{
  background:linear-gradient(135deg,rgba(244,216,146,.52),rgba(192,176,91,.18))!important;
  color:var(--palm-900)!important;
}
.site-header.scrolled .icon-btn{background:rgba(148,190,187,.15)!important}

/* buttons and interactive emphasis */
.btn,.btn-v4,.teacher-profile-cta-v42,.round-add,.newsletter button{transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease)!important}
.btn-dark,.teacher-profile-cta-v42{
  background:linear-gradient(135deg,var(--odyssey),var(--odyssey-900))!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(35,97,126,.18)!important;
}
.btn-mint{
  background:linear-gradient(135deg,var(--butter),#F8E5AD)!important;
  color:var(--odyssey-950)!important;
}
@media(hover:hover) and (pointer:fine){
  .btn:hover,.btn-v4:hover,.teacher-profile-cta-v42:hover,.round-add:hover{transform:translateY(-2px)}
}

/* generic cards get soft color personalities instead of flat white */
.panel,.panel-v4,.quiz-card,.summary-card,.edit-card,.course-edit-card,.role-card,.contact-feature,.story-card,.value-card{
  border-color:rgba(35,97,126,.10)!important;
}
.panel:nth-of-type(4n+1),.panel-v4:nth-of-type(4n+1){background:linear-gradient(160deg,#fff,var(--surface-lagoon))!important}
.panel:nth-of-type(4n+2),.panel-v4:nth-of-type(4n+2){background:linear-gradient(160deg,#fff,var(--surface-butter))!important}
.panel:nth-of-type(4n+3),.panel-v4:nth-of-type(4n+3){background:linear-gradient(160deg,#fff,var(--surface-guava))!important}
.panel:nth-of-type(4n+4),.panel-v4:nth-of-type(4n+4){background:linear-gradient(160deg,#fff,var(--surface-palm))!important}

/* forms */
.field input,.field select,.field textarea,.chat-form textarea{
  background:rgba(255,255,255,.92)!important;
  border-color:rgba(35,97,126,.12)!important;
}
.field input:focus,.field select:focus,.field textarea:focus,.chat-form textarea:focus{
  background:#fff!important;
  border-color:var(--lagoon)!important;
  box-shadow:0 0 0 4px rgba(148,190,187,.20)!important;
}

/* course/product cards */
.course-card{
  border-color:rgba(35,97,126,.10)!important;
  background:linear-gradient(165deg,#fff 0%,rgba(239,247,246,.72) 100%)!important;
  box-shadow:0 16px 42px rgba(35,97,126,.08)!important;
}
.course-card:nth-child(3n+2){background:linear-gradient(165deg,#fff 0%,rgba(255,248,228,.86) 100%)!important}
.course-card:nth-child(3n+3){background:linear-gradient(165deg,#fff 0%,rgba(255,242,238,.82) 100%)!important}
.course-card .rating-mini,.card-price strong{color:var(--odyssey)!important}
.course-card .verified{background:rgba(244,216,146,.94)!important;color:var(--palm-900)!important}

/* status semantics */
.status.approved,.status.active,.status.paid{background:rgba(101,118,82,.13)!important;color:var(--palm)!important;border-color:rgba(101,118,82,.16)!important}
.status.pending{background:rgba(244,216,146,.30)!important;color:#716329!important;border-color:rgba(192,176,91,.18)!important}
.status.cancelled,.status.failed,.status.rejected{background:rgba(227,101,89,.11)!important;color:var(--sangria-900)!important;border-color:rgba(227,101,89,.16)!important}

/* dashboard color depth */
.dashboard-shell{background:linear-gradient(180deg,#F5F9F9 0%,#FFF9EE 44%,#FFF3EF 74%,#fff 100%)!important}
.kpi{box-shadow:0 14px 36px rgba(35,97,126,.08)!important}
.kpi:nth-child(4n+1){background:linear-gradient(145deg,#fff,rgba(148,190,187,.24))!important}
.kpi:nth-child(4n+2){background:linear-gradient(145deg,#fff,rgba(244,216,146,.28))!important}
.kpi:nth-child(4n+3){background:linear-gradient(145deg,#fff,rgba(242,182,163,.24))!important}
.kpi:nth-child(4n+4){background:linear-gradient(145deg,#fff,rgba(101,118,82,.16))!important}
.data-table thead th{background:linear-gradient(90deg,rgba(229,233,235,.78),rgba(239,247,246,.82))!important}
.data-table tbody tr:nth-child(even){background:rgba(244,216,146,.035)}
.data-table tbody tr:hover{background:rgba(148,190,187,.11)!important}

/* checkout/cart emphasis */
.summary-card,.coupon-box,.secure-note{background:linear-gradient(145deg,#fff,var(--surface-butter))!important}
.payment-option{background:linear-gradient(145deg,#fff,var(--surface-seabreeze))!important}
.payment-option:has(input:checked){background:linear-gradient(135deg,rgba(148,190,187,.22),rgba(244,216,146,.18))!important}

/* richer prefooter/footer */
.prefooter{
  background:
    radial-gradient(circle at 12% 18%,rgba(244,216,146,.22),transparent 22rem),
    radial-gradient(circle at 92% 84%,rgba(148,190,187,.20),transparent 26rem),
    linear-gradient(135deg,var(--odyssey-950),var(--odyssey) 58%,var(--palm-900))!important;
}
.footer{
  background:linear-gradient(120deg,#102F40 0%,#173C4D 30%,#23617E 67%,#46543A 100%)!important;
}
.footer h4{color:var(--butter)!important}
.footer .newsletter button{background:linear-gradient(135deg,var(--butter),var(--guava))!important}

/* decorative section orbs without clutter */
.section-soft:after{
  content:"";position:absolute;pointer-events:none;left:-80px;top:18%;width:230px;height:230px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,182,163,.16),transparent 70%);filter:blur(2px)
}

@media(max-width:767px){
  body{background:linear-gradient(180deg,#fff,#FCFCF9 48%,#fff)!important}
  .site-header.scrolled{background:linear-gradient(135deg,rgba(255,249,232,.97),rgba(239,247,246,.97))!important}
  .section-soft:after{width:160px;height:160px;left:-70px}
}

/* ==========================================================
   V4.19 — Pre-footer breathing room + larger rounded CTA card
   CSS-only hotfix, intentionally loaded through existing theme file.
   ========================================================== */
.prefooter{
  position:relative;
  padding:clamp(62px,6.5vw,96px) 0 clamp(82px,7.5vw,118px)!important;
  margin:0!important;
  background:
    radial-gradient(circle at 14% 22%,rgba(244,216,146,.15),transparent 24rem),
    radial-gradient(circle at 90% 74%,rgba(148,190,187,.13),transparent 28rem),
    linear-gradient(180deg,#fff 0%,#fbfcfb 100%)!important;
}
.prefooter-inner{
  width:min(1480px,calc(100% - 56px))!important;
  min-height:clamp(330px,25vw,400px);
  padding:clamp(48px,4.2vw,70px) clamp(42px,5.2vw,86px)!important;
  border-radius:clamp(34px,2.5vw,46px)!important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 30px 82px rgba(16,47,64,.18)!important;
  background:
    radial-gradient(circle at 10% 38%,rgba(244,216,146,.18),transparent 21rem),
    radial-gradient(circle at 91% 26%,rgba(148,190,187,.18),transparent 25rem),
    linear-gradient(135deg,#173C4D 0%,#23617E 56%,#526249 100%)!important;
}
.prefooter-inner h2{
  max-width:820px;
  margin-block:14px 12px!important;
  line-height:1.35!important;
}
.prefooter-inner p{
  max-width:780px;
  line-height:1.9!important;
}
.prefooter-actions{
  gap:12px!important;
}
.prefooter-actions .btn{
  min-height:54px;
  border-radius:16px!important;
  padding-inline:22px!important;
}
.footer{
  margin-top:0!important;
}

@media(max-width:900px){
  .prefooter{
    padding:54px 0 82px!important;
  }
  .prefooter-inner{
    width:min(100% - 32px,760px)!important;
    min-height:auto;
    padding:42px 34px!important;
    border-radius:34px!important;
  }
}

@media(max-width:767px){
  .prefooter{
    padding:42px 0 72px!important;
  }
  .prefooter-inner{
    width:calc(100% - 24px)!important;
    padding:34px 22px 36px!important;
    border-radius:28px!important;
  }
  .prefooter-inner h2{
    font-size:clamp(1.65rem,8vw,2.15rem)!important;
    line-height:1.4!important;
  }
  .prefooter-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%;
  }
  .prefooter-actions .btn{
    width:100%;
    min-height:52px;
  }
}


/* ===== assets/featured-v45.css ===== */
/* iTeachPlus V4.5 — isolated Featured Teachers UI
   Loaded last on purpose. Uses v45-only class names to avoid V4.2/V4.3 collisions. */

.teacher-card-v45{overflow:hidden}
.teacher-card-v45 .teacher-media-v42{position:relative;overflow:hidden;isolation:isolate}

/* The status rail is one normal-flow stack inside one positioned wrapper.
   Children are NEVER absolutely positioned, so they cannot overlap each other. */
.teacher-status-stack-v45{
  position:absolute!important;
  z-index:12!important;
  top:14px!important;
  right:14px!important;
  left:auto!important;
  display:grid!important;
  grid-auto-flow:row!important;
  justify-items:end!important;
  align-content:start!important;
  gap:8px!important;
  width:max-content!important;
  max-width:calc(100% - 88px)!important;
  pointer-events:none;
}
.teacher-status-chip-v45,
.teacher-status-timer-v45{
  position:static!important;
  inset:auto!important;
  float:none!important;
  transform:none!important;
  margin:0!important;
  box-sizing:border-box;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:34px!important;
  padding:8px 11px!important;
  border-radius:13px!important;
  white-space:nowrap!important;
  font-family:var(--itp-type-family,'Vazirmatn'),Tahoma,Arial,sans-serif!important;
  font-size:.69rem!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:0!important;
  border:1px solid rgba(255,255,255,.42)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  box-shadow:0 8px 22px rgba(16,47,64,.14)!important;
  overflow:hidden;
  text-overflow:ellipsis;
}
.teacher-status-chip-v45 b{font:inherit;overflow:hidden;text-overflow:ellipsis}
.teacher-status-chip-v45 i,.teacher-status-timer-v45 i{width:15px!important;height:15px!important;flex:0 0 auto!important}
.teacher-status-chip-v45.is-featured{background:linear-gradient(135deg,#F4D892,#C0B05B)!important;color:#3f4936!important;border-color:rgba(244,216,146,.95)!important}
.teacher-status-chip-v45.is-verified{background:rgba(255,255,255,.96)!important;color:#23617E!important;border-color:rgba(255,255,255,.96)!important}
.teacher-status-chip-v45.is-offer{background:linear-gradient(135deg,#E36559,#E89C73)!important;color:#fff!important;border-color:rgba(255,255,255,.38)!important;box-shadow:0 11px 25px rgba(227,101,89,.27)!important}
.teacher-status-chip-v45.is-offer i{color:#F4D892!important}
.teacher-status-timer-v45{min-height:29px!important;padding:6px 9px!important;background:rgba(35,97,126,.80)!important;color:#fff!important;font-size:.61rem!important;border-color:rgba(255,255,255,.2)!important}
.teacher-status-timer-v45 i{color:#F4D892!important}

/* auto badges live in the card body, never on top of the photo */
.teacher-auto-tags-v45{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 11px}
.teacher-auto-tags-v45 span{display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:5px 8px;border-radius:999px;background:rgba(148,190,187,.13);border:1px solid rgba(35,97,126,.08);color:#23617E;font-size:.64rem;font-weight:800}
.teacher-auto-tags-v45 i{width:13px;height:13px}

.teacher-card-v45 .teacher-availability-v42.is-full-v45 .availability-dot-v42{background:#F4D892;box-shadow:0 0 0 5px rgba(244,216,146,.13),0 0 18px rgba(244,216,146,.42)}

.teacher-card-tools-v45{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}
.teacher-card-tools-v45 a,.teacher-card-tools-v45 button{appearance:none;border:1px solid rgba(35,97,126,.08);background:#f8faf9;color:#50626b;display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:40px;padding:7px;border-radius:12px;text-decoration:none;font-family:inherit;font-size:.64rem;font-weight:800;cursor:pointer;transition:.18s ease}
.teacher-card-tools-v45 i{width:14px;height:14px;color:#23617E;flex:0 0 auto}
.teacher-card-tools-v45 a:hover,.teacher-card-tools-v45 button:hover{background:rgba(148,190,187,.17);color:#173f54;transform:translateY(-1px)}

/* quick preview */
.teacher-quick-modal-v45[hidden]{display:none!important}
.teacher-quick-modal-v45{position:fixed;z-index:9999;inset:0;display:grid;place-items:end center}
.teacher-quick-backdrop-v45{position:absolute;inset:0;background:rgba(11,35,47,.58);backdrop-filter:blur(5px)}
.teacher-quick-sheet-v45{position:relative;z-index:1;width:min(760px,100%);max-height:min(88svh,820px);overflow:auto;background:#fff;border-radius:28px 28px 0 0;padding:24px;box-shadow:0 -24px 80px rgba(15,42,55,.25)}
.teacher-quick-close-v45{position:sticky;top:0;z-index:3;margin-inline-start:auto;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:12px;background:#E5E9EB;color:#23617E;cursor:pointer}
.teacher-quick-close-v45 i{width:19px}
.teacher-quick-loading-v45{padding:40px;text-align:center;color:#60727a}
.teacher-quick-grid-v45{display:grid;gap:18px}
.teacher-quick-head-v45{display:grid;grid-template-columns:94px minmax(0,1fr);gap:16px;align-items:center}
.teacher-quick-head-v45 img{width:94px;height:94px;object-fit:cover;border-radius:24px}
.teacher-quick-head-v45 h2{margin:0 0 4px;font-size:1.35rem;color:#153c50}.teacher-quick-head-v45 p{margin:0;color:#60727a;line-height:1.8}
.teacher-quick-meta-v45{display:flex;flex-wrap:wrap;gap:7px}.teacher-quick-meta-v45 span{padding:7px 9px;border-radius:999px;background:#f6f8f8;border:1px solid rgba(35,97,126,.08);font-size:.68rem;color:#45616e}
.teacher-quick-slots-v45{display:flex;flex-wrap:wrap;gap:7px}.teacher-quick-slots-v45 a{padding:8px 10px;border-radius:10px;background:rgba(148,190,187,.14);color:#23617E;text-decoration:none;font-size:.7rem;font-weight:800}
.teacher-quick-actions-v45{display:flex;flex-wrap:wrap;gap:8px}.teacher-quick-actions-v45 a{flex:1;min-width:150px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:13px;text-decoration:none;font-weight:850}.teacher-quick-actions-v45 .primary{background:#23617E;color:white}.teacher-quick-actions-v45 .secondary{background:#F4D892;color:#304238}
body.quick-open-v45{overflow:hidden}

/* compare bar is more explicit on small screens */
.compare-bar-v45{border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 50px rgba(18,55,72,.22)}

/* Admin merchandising / quality */
.merch-admin-details-v45{border-top:1px solid rgba(35,97,126,.08)}
.merch-admin-details-v45>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:linear-gradient(135deg,rgba(148,190,187,.10),rgba(244,216,146,.11));color:#23617E;font-weight:850}.merch-admin-details-v45>summary::-webkit-details-marker{display:none}
.merch-admin-details-v45>summary span{display:flex;align-items:center;gap:7px}.merch-admin-details-v45>summary i{width:17px}
.merch-admin-form-v45{padding:16px}.merch-kpis-v45{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.merch-kpis-v45 div{padding:10px;border-radius:14px;background:#f7f9f8;border:1px solid rgba(35,97,126,.07);display:grid;gap:2px}.merch-kpis-v45 strong{font-size:.95rem;color:#23617E}.merch-kpis-v45 span{font-size:.64rem;color:#64757d}
.analytics-mini-v45{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}.analytics-mini-v45 span{padding:8px;border-radius:11px;background:rgba(229,233,235,.48);font-size:.64rem;color:#53656d}.analytics-mini-v45 b{display:block;color:#173c4d;font-size:.78rem}

@media(min-width:768px){
  .teacher-quick-modal-v45{place-items:center}.teacher-quick-sheet-v45{border-radius:28px;max-width:760px}
}
@media(max-width:767px){
  .teacher-status-stack-v45{top:12px!important;right:12px!important;left:auto!important;gap:6px!important;max-width:calc(100% - 78px)!important}
  .teacher-status-chip-v45{min-height:30px!important;padding:6px 9px!important;border-radius:11px!important;font-size:.62rem!important}
  .teacher-status-timer-v45{min-height:26px!important;padding:5px 8px!important;font-size:.57rem!important}
  .teacher-card-tools-v45{grid-template-columns:1fr 1fr}.teacher-card-tools-v45 .teacher-quick-v45{grid-column:1/-1}
  .merch-kpis-v45,.analytics-mini-v45{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:380px){
  .teacher-status-stack-v45{max-width:calc(100% - 72px)!important}.teacher-status-chip-v45{font-size:.59rem!important;padding:6px 8px!important}
}
@media(prefers-reduced-motion:reduce){.teacher-card-tools-v45 a,.teacher-card-tools-v45 button{transition:none}}


/* ===== assets/mobile-v46.css ===== */
/* iTeachPlus V4.6 — Mobile header alignment + transparent logo + hero eyebrow contrast
   Loaded after all earlier styles to avoid legacy cascade conflicts. */

/* Transparent logo presentation in the site header */
.site-header .brand-logo-frame{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
}
.site-header .brand-logo-link{
  background:transparent!important;
  box-shadow:none!important;
}
.site-header .site-logo{
  display:block;
  width:auto;
  object-fit:contain;
  filter:drop-shadow(0 5px 10px rgba(16,47,64,.08));
}

/* Hero eyebrow must stay readable on photography */
.hero-v4 .eyebrow-v4{
  position:relative;
  z-index:2;
  color:#102F40!important;
  background:linear-gradient(135deg,#F4D892 0%,#F7E3AC 58%,#F2B6A3 100%)!important;
  border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:0 10px 28px rgba(16,47,64,.22)!important;
  text-shadow:none!important;
  font-weight:900!important;
}

@media (max-width:767px){
  /* A deliberately independent mobile header layout */
  .site-header,
  .site-header.scrolled{
    top:0!important;
    background:rgba(252,252,249,.88)!important;
    border-bottom:1px solid rgba(35,97,126,.10)!important;
    box-shadow:0 9px 30px rgba(35,97,126,.08)!important;
    backdrop-filter:blur(22px) saturate(150%)!important;
    -webkit-backdrop-filter:blur(22px) saturate(150%)!important;
  }
  .site-header .nav-wrap{
    height:72px!important;
    min-height:72px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:14px!important;
    padding-block:8px!important;
  }
  .site-header .brand-logo-link{
    justify-self:start!important;
    align-self:center!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    height:48px!important;
  }
  .site-header .brand-logo-frame{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    height:44px!important;
    max-width:142px!important;
  }
  .site-header .site-logo{
    max-height:39px!important;
    max-width:138px!important;
  }

  .site-header .nav-actions{
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    height:48px!important;
    direction:rtl!important;
  }
  /* Account access already exists in bottom navigation; keep header uncluttered. */
  .site-header .nav-login,
  .site-header .account-pill{
    display:none!important;
  }
  .site-header .icon-btn,
  .site-header .menu-btn{
    position:relative!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    padding:0!important;
    margin:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:15px!important;
    border:1px solid rgba(35,97,126,.12)!important;
    background:rgba(255,255,255,.72)!important;
    color:var(--odyssey,#23617E)!important;
    box-shadow:0 7px 20px rgba(35,97,126,.08)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }
  .site-header .menu-btn{
    display:grid!important;
    background:linear-gradient(145deg,rgba(244,216,146,.40),rgba(255,255,255,.88))!important;
  }
  .site-header .icon-btn svg,
  .site-header .menu-btn svg{
    width:21px!important;
    height:21px!important;
    stroke-width:2.15!important;
  }
  .site-header .icon-btn:active,
  .site-header .menu-btn:active{
    transform:scale(.96);
  }
  .site-header .cart-badge{
    top:-5px!important;
    left:-5px!important;
    right:auto!important;
    min-width:20px!important;
    width:auto!important;
    height:20px!important;
    padding-inline:5px!important;
    border:2px solid #FCFCF9!important;
    font-size:.64rem!important;
    font-weight:900!important;
    line-height:1!important;
    box-shadow:0 4px 10px rgba(227,101,89,.30)!important;
  }

  /* Mobile menu matches the new light header */
  .site-header .main-nav{
    top:calc(72px + 8px)!important;
    right:11px!important;
    left:11px!important;
    padding:10px!important;
    border-radius:22px!important;
    background:rgba(252,252,249,.97)!important;
    border:1px solid rgba(35,97,126,.11)!important;
    box-shadow:0 24px 60px rgba(16,47,64,.18)!important;
    backdrop-filter:blur(22px)!important;
    -webkit-backdrop-filter:blur(22px)!important;
  }
  .site-header .main-nav a,
  .site-header.scrolled .main-nav a{
    color:var(--odyssey-950,#102F40)!important;
    padding:12px 13px!important;
    border-radius:13px!important;
    border-bottom:0!important;
  }
  .site-header .main-nav a:hover,
  .site-header .main-nav a:focus-visible{
    background:rgba(148,190,187,.16)!important;
    color:var(--odyssey,#23617E)!important;
  }
  .site-header .main-nav .nav-teacher,
  .site-header.scrolled .main-nav .nav-teacher{
    color:#46543A!important;
    background:rgba(244,216,146,.30)!important;
  }

  /* Readable, compact eyebrow on mobile hero */
  .hero-v4 .eyebrow-v4{
    padding:8px 12px!important;
    border-radius:999px!important;
    font-size:.78rem!important;
    line-height:1.35!important;
    letter-spacing:0!important;
    color:#102F40!important;
    background:linear-gradient(135deg,rgba(244,216,146,.98),rgba(242,182,163,.96))!important;
    border-color:rgba(255,255,255,.72)!important;
    box-shadow:0 9px 24px rgba(16,47,64,.28)!important;
  }
}

@media (max-width:390px){
  .site-header .nav-wrap{
    gap:9px!important;
  }
  .site-header .brand-logo-frame{
    max-width:128px!important;
  }
  .site-header .site-logo{
    max-width:124px!important;
    max-height:36px!important;
  }
  .site-header .nav-actions{
    gap:6px!important;
  }
  .site-header .icon-btn,
  .site-header .menu-btn{
    width:43px!important;
    height:43px!important;
    min-width:43px!important;
    min-height:43px!important;
    border-radius:14px!important;
  }
  .hero-v4 .eyebrow-v4{
    font-size:.73rem!important;
    padding:7px 11px!important;
  }
}


/* ===== assets/image-flip-v47.css ===== */
/* iTeachPlus V4.7 — global horizontal image flip
   Content/media images are mirrored without changing document direction.
   Brand logo and explicit opt-outs remain normal. */

:root{--itp-content-image-scale-x:-1}

/* Modern Transform Level 2 keeps existing hover/zoom transforms intact. */
body img:not(.site-logo):not([data-no-flip]),
body picture img:not(.site-logo):not([data-no-flip]){
  scale:var(--itp-content-image-scale-x) 1 !important;
  transform-origin:center center;
}

/* Never mirror brand/identity artwork. */
.site-logo,
.brand-logo-frame img,
.footer-logo-frame img,
.admin-logo-canvas img,
img[data-no-flip]{
  scale:1 1 !important;
  transform:none !important;
}

/* The auth artwork is a CSS background rather than an <img>, so render it
   on a mirrored pseudo layer while preserving all text/forms normally. */
.auth-aside{
  position:relative;
  isolation:isolate;
  background-image:linear-gradient(180deg,rgba(23,60,77,.22),rgba(23,60,77,.84)) !important;
}
.auth-aside::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:url('images/heroes/hero-teacher.webp') center/cover no-repeat;
  scale:-1 1;
  transform-origin:center;
  pointer-events:none;
}
.auth-aside::after{z-index:-1}
.auth-aside>*{position:relative;z-index:1}

@media(max-width:767px){
  .auth-aside::before{
    background-image:url('images/heroes/hero-mobile-v4-3.webp');
    background-position:center;
  }
}

/* Fallback for older browsers without the individual scale property. */
@supports not (scale: -1 1){
  body img:not(.site-logo):not([data-no-flip]),
  body picture img:not(.site-logo):not([data-no-flip]){
    transform:scaleX(-1) !important;
  }
  .teacher-card-v42:hover .teacher-photo-link-v42 img:not([data-no-flip]){
    transform:scaleX(-1) scale(1.045) !important;
  }
  .auth-aside::before{transform:scaleX(-1);scale:1 1}
  .site-logo,
  .brand-logo-frame img,
  .footer-logo-frame img,
  .admin-logo-canvas img,
  img[data-no-flip]{transform:none !important}
}

@media(prefers-reduced-motion:reduce){
  body img:not(.site-logo):not([data-no-flip]){transition:none!important}
}


/* ===== assets/hero-v48.css ===== */
/* iTeachPlus V4.8 — Compact decision-first homepage hero
   Loaded last so it wins over earlier full-page hero rules. */

.hero-v48{
  min-height:clamp(640px,82svh,820px)!important;
  display:grid!important;
  align-items:center!important;
  overflow:hidden;
  isolation:isolate;
}
.hero-v48:after{
  background:
    linear-gradient(90deg,rgba(16,47,64,.22) 0%,rgba(16,47,64,.36) 34%,rgba(16,47,64,.68) 66%,rgba(16,47,64,.91) 100%),
    linear-gradient(0deg,rgba(16,47,64,.34),rgba(16,47,64,.05) 54%,rgba(16,47,64,.10))!important;
}
.hero-v48:before{
  content:"";
  position:absolute;
  inset:auto -8% -42% 40%;
  height:72%;
  background:radial-gradient(circle,rgba(148,190,187,.18),transparent 68%);
  z-index:1;
  pointer-events:none;
}
.hero-v48 .hero-media img{
  object-position:center center!important;
}
.hero-v48 .hero-layout-v48{
  position:relative;
  z-index:3;
  width:min(1180px,calc(100% - 44px));
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(270px,.72fr);
  align-items:center;
  gap:clamp(34px,5vw,72px);
  padding-block:clamp(46px,6vh,72px)!important;
}
.hero-v48 .hero-main-v48{
  max-width:700px!important;
  justify-self:start;
}
.hero-v48 .hero-copy:before{
  inset:-26px -28px -26px -28px!important;
  border-radius:30px!important;
  background:linear-gradient(135deg,rgba(16,47,64,.38),rgba(16,47,64,.12))!important;
  border:1px solid rgba(255,255,255,.09)!important;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.hero-v48 h1{
  max-width:680px;
  margin:16px 0 18px!important;
  font-size:clamp(3.15rem,4.7vw,4.8rem)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  text-wrap:balance;
}
.hero-v48 .hero-main-v48>p{
  max-width:630px;
  margin:0;
  font-size:clamp(1rem,1.18vw,1.12rem)!important;
  line-height:1.95!important;
}
.hero-actions-v48{
  margin-top:22px!important;
  gap:10px!important;
}
.hero-actions-v48 .btn-v4{
  min-height:52px;
  padding:12px 18px;
  border-radius:15px;
}
.hero-actions-v48 .primary{
  box-shadow:0 12px 30px rgba(244,216,146,.16);
}
.hero-search-v48{
  max-width:620px!important;
  margin-top:20px!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  padding:6px!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 18px 48px rgba(9,30,40,.22)!important;
}
.hero-search-v48 input{
  min-width:0;
  min-height:50px;
  padding:10px 14px!important;
  font-size:.95rem;
}
.hero-search-v48 button{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 16px!important;
  border-radius:13px!important;
}
.hero-search-v48 button svg{width:17px;height:17px}
.hero-proof-v48{
  margin-top:14px!important;
  gap:8px!important;
}
.hero-proof-v48 span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px!important;
  font-size:.73rem;
}
.hero-proof-v48 svg{width:14px;height:14px;color:var(--butter)}

.hero-discovery-v48{
  justify-self:end;
  align-self:end;
  width:min(100%,330px);
  margin-bottom:clamp(6px,2vh,18px);
  padding:17px;
  border-radius:24px;
  background:rgba(252,252,249,.88);
  border:1px solid rgba(255,255,255,.72);
  color:var(--odyssey-950,#102F40);
  box-shadow:0 24px 65px rgba(9,30,40,.20);
  backdrop-filter:blur(20px) saturate(135%);
  -webkit-backdrop-filter:blur(20px) saturate(135%);
}
.hero-discovery-head-v48{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:13px;
}
.hero-discovery-icon-v48{
  width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;
  border-radius:13px;background:linear-gradient(135deg,var(--butter),var(--guava));color:var(--odyssey-950);
}
.hero-discovery-icon-v48 svg{width:18px;height:18px}
.hero-discovery-head-v48 small{display:block;color:#687982;font-size:.68rem;font-weight:700}
.hero-discovery-head-v48 strong{display:block;font-size:.9rem;line-height:1.45}
.hero-discovery-stats-v48{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.hero-discovery-stats-v48 div{
  padding:10px 6px;
  border-radius:15px;
  text-align:center;
  background:rgba(229,233,235,.55);
  border:1px solid rgba(35,97,126,.07);
}
.hero-discovery-stats-v48 strong{display:block;font-size:.92rem;color:var(--odyssey);white-space:nowrap}
.hero-discovery-stats-v48 span{display:block;margin-top:2px;font-size:.58rem;color:#718089;line-height:1.5}
.hero-discovery-v48>a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-top:10px;padding:10px 12px;border-radius:13px;
  background:var(--odyssey);color:#fff;font-size:.72rem;font-weight:900;
}
.hero-discovery-v48>a svg{width:15px;height:15px}

@media (max-width:980px){
  .hero-v48{min-height:720px!important}
  .hero-v48 .hero-layout-v48{grid-template-columns:minmax(0,1fr) 260px;gap:28px}
  .hero-v48 h1{font-size:clamp(2.8rem,6vw,4rem)!important}
  .hero-discovery-v48{width:260px;padding:14px}
  .hero-discovery-stats-v48{grid-template-columns:1fr}
  .hero-discovery-stats-v48 div{display:flex;align-items:center;justify-content:space-between;text-align:start;padding:8px 10px}
  .hero-discovery-stats-v48 span{margin:0}
}

@media (max-width:767px){
  .hero-v48{
    min-height:calc(100svh - 148px)!important;
    height:auto!important;
    align-items:start!important;
  }
  .hero-v48:after{
    background:
      linear-gradient(0deg,rgba(16,47,64,.90) 0%,rgba(16,47,64,.72) 48%,rgba(16,47,64,.35) 78%,rgba(16,47,64,.18) 100%)!important;
  }
  .hero-v48 .hero-media img{
    object-position:center 66%!important;
  }
  .hero-v48 .hero-layout-v48{
    width:min(100% - 24px,620px)!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    padding-top:clamp(38px,7vh,58px)!important;
    padding-bottom:30px!important;
  }
  .hero-v48 .hero-main-v48{
    width:100%;
    max-width:none!important;
    justify-self:stretch;
  }
  .hero-v48 .hero-copy:before{
    inset:-18px -12px -18px -12px!important;
    border-radius:24px!important;
    background:linear-gradient(180deg,rgba(16,47,64,.36),rgba(16,47,64,.54))!important;
  }
  .hero-v48 h1{
    max-width:100%;
    margin:14px 0 14px!important;
    font-size:clamp(2.15rem,10vw,3rem)!important;
    line-height:1.18!important;
    letter-spacing:-.025em!important;
  }
  .hero-v48 .hero-main-v48>p{
    max-width:100%;
    font-size:.94rem!important;
    line-height:1.9!important;
  }
  .hero-actions-v48{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    align-items:center!important;
    margin-top:18px!important;
  }
  .hero-actions-v48 .primary{
    min-height:52px;
    padding-inline:14px;
  }
  .hero-actions-v48 .secondary{
    min-height:44px;
    padding:9px 4px!important;
    border:0!important;
    background:transparent!important;
    backdrop-filter:none!important;
    text-decoration:underline;
    text-underline-offset:4px;
    color:#fff!important;
    box-shadow:none!important;
    white-space:nowrap;
  }
  .hero-search-v48{
    margin-top:15px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    padding:5px!important;
    border-radius:16px!important;
  }
  .hero-search-v48 input{
    min-height:48px;
    font-size:.88rem;
    padding-inline:11px!important;
  }
  .hero-search-v48 button{
    min-height:48px;
    min-width:52px;
    padding:9px 12px!important;
  }
  .hero-search-v48 button span{display:none}
  .hero-search-v48 button svg{width:18px;height:18px}
  .hero-proof-v48{
    display:flex!important;
    margin-top:11px!important;
    gap:6px!important;
  }
  .hero-proof-v48 span{
    font-size:.65rem;
    padding:5px 7px!important;
  }
  .hero-proof-v48 span:nth-child(3){display:none}
  .hero-discovery-v48{display:none!important}
}

@media (max-width:390px){
  .hero-v48 .hero-layout-v48{width:min(100% - 18px,620px)!important;padding-top:32px!important}
  .hero-v48 h1{font-size:clamp(2rem,10.5vw,2.6rem)!important}
  .hero-v48 .hero-main-v48>p{font-size:.9rem!important}
  .hero-actions-v48{grid-template-columns:1fr!important;gap:4px!important}
  .hero-actions-v48 .secondary{justify-self:start!important;padding-inline:2px!important}
  .hero-proof-v48 span{font-size:.61rem}
}

@media (prefers-reduced-motion:reduce){
  .hero-v48 *{scroll-behavior:auto!important}
}


/* ===== assets/hero-v49.css ===== */
/* iTeachPlus V4.9 — Hero spacing, search alignment, rounded input */

.hero-v48{
  margin-top:88px!important;
  min-height:calc(clamp(640px,82svh,820px) - 34px)!important;
  margin-bottom:0!important;
}
.hero-v48 .hero-layout-v48{
  padding-top:clamp(24px,3.2vh,34px)!important;
  padding-bottom:clamp(22px,3.4vh,34px)!important;
  align-items:center!important;
}
.hero-v48 .hero-main-v48{
  align-self:center!important;
}
.hero-v48 .hero-search-v48{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  max-width:640px!important;
  padding:8px!important;
  border-radius:22px!important;
}
.hero-v48 .hero-search-v48 input{
  flex:1 1 auto;
  width:100%;
  min-width:0;
  min-height:56px;
  border-radius:16px!important;
  border:1px solid rgba(35,97,126,.10)!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.hero-v48 .hero-search-v48 input::placeholder{
  color:#7b8b92;
}
.hero-v48 .hero-search-v48 button{
  flex:0 0 auto;
  min-width:210px;
  min-height:56px;
  border-radius:16px!important;
  line-height:1!important;
  align-self:center!important;
  white-space:nowrap;
}
.hero-v48 .hero-actions-v48{
  margin-bottom:0!important;
}
.hero-v48 + .section-v4{
  padding-top:36px!important;
  margin-top:0!important;
}
.hero-v48 + .section-v4 .section-head{
  margin-top:0!important;
}
@media (min-width:768px){
  .hero-v48 .hero-main-v48>p{max-width:610px}
}
@media (max-width:991px){
  .hero-v48{margin-top:84px!important;min-height:calc(700px - 18px)!important}
  .hero-v48 .hero-layout-v48{padding-top:22px!important;padding-bottom:24px!important}
  .hero-v48 .hero-search-v48 button{min-width:180px}
}
@media (max-width:767px){
  .hero-v48{
    margin-top:74px!important;
    min-height:calc(100svh - 180px)!important;
  }
  .hero-v48 .hero-layout-v48{
    padding-top:18px!important;
    padding-bottom:20px!important;
  }
  .hero-v48 .hero-search-v48{
    gap:8px!important;
    padding:6px!important;
    border-radius:20px!important;
  }
  .hero-v48 .hero-search-v48 input{
    min-height:50px;
    border-radius:14px!important;
    padding-inline:14px!important;
  }
  .hero-v48 .hero-search-v48 button{
    min-width:56px;
    min-height:50px;
    border-radius:14px!important;
    padding:10px 14px!important;
  }
  .hero-v48 + .section-v4{
    padding-top:28px!important;
  }
}


/* ===== assets/hero-v410.css ===== */
/* iTeachPlus Hero Hotfix V4.13
   CSS-only. Replaces hero-v410.css already loaded by layout.php.
   Goals: keep hero below fixed header, fix search geometry, mobile-first stable layout. */

/* Accessibility label must not participate in form layout */
.hero-search-v48 > label,
.hero-search-v48 > .sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* ---------------- Desktop ---------------- */
.hero-v48{
  margin-top:88px!important;
  min-height:clamp(620px,78svh,790px)!important;
  height:auto!important;
  display:grid!important;
  align-items:center!important;
  overflow:hidden!important;
}
.hero-v48 .hero-layout-v48{
  padding-top:34px!important;
  padding-bottom:34px!important;
  align-items:center!important;
}
.hero-v48 .hero-main-v48{align-self:center!important}

/* Search: equal outer inset, clean rounded input and button */
.hero-v48 .hero-search-v48{
  position:relative!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  width:min(100%,640px)!important;
  max-width:640px!important;
  margin:20px 0 0!important;
  padding:9px!important;
  gap:9px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 16px 42px rgba(9,30,40,.20)!important;
  overflow:hidden!important;
}
.hero-v48 .hero-search-v48 input{
  box-sizing:border-box!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  height:56px!important;
  min-height:56px!important;
  margin:0!important;
  padding:0 18px!important;
  border:1px solid rgba(35,97,126,.12)!important;
  border-radius:15px!important;
  background:#fff!important;
  color:#102f40!important;
  outline:0!important;
  line-height:normal!important;
  box-shadow:none!important;
}
.hero-v48 .hero-search-v48 input::placeholder{color:#7b8b92!important;opacity:1}
.hero-v48 .hero-search-v48 input:focus{
  border-color:#94BEBB!important;
  box-shadow:0 0 0 4px rgba(148,190,187,.16)!important;
}
.hero-v48 .hero-search-v48 button{
  box-sizing:border-box!important;
  flex:0 0 172px!important;
  width:172px!important;
  min-width:172px!important;
  height:56px!important;
  min-height:56px!important;
  margin:0!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:15px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.hero-v48 .hero-search-v48 button svg{width:18px!important;height:18px!important;flex:0 0 18px!important}

/* Logical transition to next section */
.hero-v48 + .section-v4{
  margin-top:0!important;
  padding-top:34px!important;
}

/* ---------------- Tablet ---------------- */
@media (max-width:980px) and (min-width:768px){
  .hero-v48{margin-top:84px!important;min-height:680px!important}
  .hero-v48 .hero-layout-v48{padding-top:30px!important;padding-bottom:30px!important}
  .hero-v48 .hero-search-v48 button{flex-basis:156px!important;width:156px!important;min-width:156px!important}
}

/* ---------------- Mobile — dedicated composition ---------------- */
@media (max-width:767px){
  .hero-v48{
    margin:74px 0 0!important;
    min-height:0!important;
    height:auto!important;
    display:block!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .hero-v48:after{
    background:linear-gradient(180deg,
      rgba(16,47,64,.28) 0%,
      rgba(16,47,64,.45) 24%,
      rgba(16,47,64,.78) 58%,
      rgba(16,47,64,.94) 100%)!important;
  }
  .hero-v48 .hero-media,
  .hero-v48 .hero-media img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }
  .hero-v48 .hero-media img{
    object-fit:cover!important;
    object-position:center 62%!important;
  }
  .hero-v48 .hero-layout-v48{
    position:relative!important;
    z-index:3!important;
    display:block!important;
    width:min(calc(100% - 24px),560px)!important;
    margin:0 auto!important;
    padding:26px 0 30px!important;
  }
  .hero-v48 .hero-main-v48{
    width:100%!important;
    max-width:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .hero-v48 .hero-copy:before{display:none!important}
  .hero-v48 .eyebrow-v4{
    align-self:flex-start!important;
    margin:0 0 14px!important;
    padding:7px 11px!important;
    border-radius:999px!important;
    background:#F4D892!important;
    color:#173c4d!important;
    border:1px solid rgba(255,255,255,.52)!important;
    font-size:.72rem!important;
    line-height:1.35!important;
    font-weight:900!important;
    box-shadow:0 8px 18px rgba(16,47,64,.18)!important;
  }
  .hero-v48 h1{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 13px!important;
    font-size:clamp(2rem,9.4vw,2.7rem)!important;
    line-height:1.22!important;
    letter-spacing:-.02em!important;
    text-wrap:balance!important;
  }
  .hero-v48 .hero-main-v48>p{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    font-size:.92rem!important;
    line-height:1.9!important;
    color:rgba(255,255,255,.92)!important;
  }
  .hero-v48 .hero-actions-v48{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    width:100%!important;
    margin:17px 0 0!important;
  }
  .hero-v48 .hero-actions-v48 .primary{
    width:100%!important;
    min-height:51px!important;
    justify-content:center!important;
    border-radius:15px!important;
  }
  .hero-v48 .hero-actions-v48 .secondary{
    width:auto!important;
    align-self:center!important;
    min-height:32px!important;
    padding:4px 9px!important;
    border:0!important;
    background:transparent!important;
    color:#fff!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    font-size:.77rem!important;
  }

  /* Mobile search is a dedicated vertical card */
  .hero-v48 .hero-search-v48{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:none!important;
    margin:13px 0 0!important;
    padding:8px!important;
    gap:8px!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.97)!important;
    overflow:hidden!important;
  }
  .hero-v48 .hero-search-v48 input,
  .hero-v48 .hero-search-v48 button{
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    height:50px!important;
    min-height:50px!important;
    margin:0!important;
    border-radius:14px!important;
  }
  .hero-v48 .hero-search-v48 input{
    padding:0 14px!important;
    font-size:.88rem!important;
  }
  .hero-v48 .hero-search-v48 button{
    padding:0 14px!important;
  }
  .hero-v48 .hero-search-v48 button span{display:inline!important}
  .hero-v48 .hero-proof-v48{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
    margin:11px 0 0!important;
  }
  .hero-v48 .hero-proof-v48 span{
    min-height:35px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    padding:6px 7px!important;
    border-radius:12px!important;
    font-size:.64rem!important;
    white-space:nowrap!important;
  }
  .hero-v48 .hero-proof-v48 span:nth-child(3){display:none!important}
  .hero-v48 .hero-discovery-v48{display:none!important}
  .hero-v48 + .section-v4{padding-top:26px!important}
}

@media (max-width:390px){
  .hero-v48{margin-top:70px!important}
  .hero-v48 .hero-layout-v48{width:calc(100% - 18px)!important;padding-top:22px!important;padding-bottom:26px!important}
  .hero-v48 h1{font-size:clamp(1.88rem,9.5vw,2.35rem)!important;line-height:1.25!important}
  .hero-v48 .hero-main-v48>p{font-size:.86rem!important;line-height:1.85!important}
}

@media (prefers-reduced-motion:reduce){
  .hero-v48 *{scroll-behavior:auto!important}
}


/* ===== assets/global-cta-v435.css ===== */
/* V4.35 — Global Next Step CTA: one shared theme across the site */
.global-next-step-v435{
  position:relative;
  margin:0;
  padding:clamp(54px,5.5vw,88px) 0 clamp(76px,7vw,116px);
  background:#fff;
  overflow:hidden;
}
.global-next-step-shell-v435{
  width:min(var(--gcta-max-width,1480px),calc(100% - 48px));
  min-height:var(--gcta-min-height,360px);
  margin-inline:auto;
  padding:clamp(44px,4.2vw,72px) clamp(42px,5vw,86px);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(28px,4vw,72px);
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--gcta-radius,48px);
  color:var(--gcta-text,#fff);
  background:linear-gradient(135deg,var(--gcta-bg-start,#173C4D) 0%,var(--gcta-bg-mid,#23617E) 57%,var(--gcta-bg-end,#58684D) 100%);
  background:
    radial-gradient(circle at 8% 26%,color-mix(in srgb,var(--gcta-accent,#F4D892) 20%,transparent),transparent 24rem),
    radial-gradient(circle at 92% 30%,rgba(148,190,187,.19),transparent 25rem),
    linear-gradient(135deg,var(--gcta-bg-start,#173C4D) 0%,var(--gcta-bg-mid,#23617E) 57%,var(--gcta-bg-end,#58684D) 100%);
  box-shadow:0 34px 88px rgba(16,47,64,.18);
  isolation:isolate;
  overflow:hidden;
}
.global-next-step-shell-v435:before{
  content:"";
  position:absolute;
  inset:-28% auto auto -8%;
  width:390px;
  height:390px;
  border-radius:50%;
  background:rgba(255,255,255,.035);
  filter:blur(2px);
  z-index:-1;
}
.global-next-step-copy-v435{max-width:880px;justify-self:start;text-align:right}
.global-next-step-kicker-v435{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:10px 18px;
  border-radius:16px;
  color:var(--gcta-accent,#F4D892);
  background:color-mix(in srgb,var(--gcta-accent,#F4D892) 16%,transparent);
  border:1px solid color-mix(in srgb,var(--gcta-accent,#F4D892) 28%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
  font-size:.86rem;
  font-weight:900;
  line-height:1;
}
.global-next-step-kicker-v435 i{display:block;width:18px;height:5px;border-radius:999px;background:currentColor;opacity:.65}
.global-next-step-copy-v435 h2{
  max-width:900px;
  margin:18px 0 14px;
  color:var(--gcta-text,#fff);
  font-size:clamp(2rem,3.25vw,3.75rem);
  line-height:1.34;
  font-weight:900;
  letter-spacing:-.035em;
}
.global-next-step-copy-v435 p{
  max-width:820px;
  margin:0;
  color:var(--gcta-muted,#EAF1F1);
  font-size:clamp(.84rem,1vw,1.05rem);
  line-height:1.95;
  font-weight:600;
}
.global-next-step-actions-v435{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  flex-wrap:wrap;
}
.global-next-step-actions-v435 a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:60px;
  padding:0 26px;
  border-radius:17px;
  text-decoration:none;
  font-size:.86rem;
  font-weight:900;
  white-space:nowrap;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease;
}
.global-next-step-actions-v435 a svg{width:18px;height:18px}
.global-next-step-primary-v435{
  background:var(--gcta-primary-bg,#F4D892);
  color:var(--gcta-primary-text,#173C4D);
  box-shadow:0 14px 32px color-mix(in srgb,var(--gcta-primary-bg,#F4D892) 22%,transparent);
}
.global-next-step-secondary-v435{
  color:var(--gcta-secondary-text,#fff);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.30);
  backdrop-filter:blur(12px);
}
@media(hover:hover){
  .global-next-step-actions-v435 a:hover{transform:translateY(-2px)}
  .global-next-step-primary-v435:hover{box-shadow:0 18px 38px color-mix(in srgb,var(--gcta-primary-bg,#F4D892) 30%,transparent)}
  .global-next-step-secondary-v435:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.42)}
}
@media(max-width:1050px){
  .global-next-step-shell-v435{
    width:min(100% - 34px,860px);
    min-height:auto;
    grid-template-columns:1fr;
    padding:46px 38px;
    border-radius:min(var(--gcta-radius,48px),40px);
  }
  .global-next-step-actions-v435{justify-content:flex-start}
}
@media(max-width:767px){
  .global-next-step-v435{padding:44px 0 74px}
  .global-next-step-shell-v435{
    width:calc(100% - 24px);
    padding:34px 20px 36px;
    gap:28px;
    border-radius:min(var(--gcta-radius,48px),30px);
  }
  .global-next-step-kicker-v435{min-height:40px;padding:9px 14px;border-radius:14px;font-size:.78rem}
  .global-next-step-copy-v435 h2{font-size:clamp(1.7rem,8vw,2.15rem);line-height:1.42;margin-top:15px}
  .global-next-step-copy-v435 p{font-size:.76rem;line-height:1.9}
  .global-next-step-actions-v435{display:grid;grid-template-columns:1fr;width:100%;gap:10px}
  .global-next-step-actions-v435 a{width:100%;min-height:54px;padding-inline:18px;border-radius:15px;font-size:.8rem}
}
@media(prefers-reduced-motion:reduce){.global-next-step-actions-v435 a{transition:none!important}}
html[data-theme="dark"] .global-next-step-v435,body.theme-dark .global-next-step-v435{background:#102833}


/* ===== assets/typography-v439.css ===== */
/* iTeachPlus V4.39 — Global Typography Manager
   Public-facing typography only. Admin UI is intentionally isolated. */

body.itp-typography-v439:not(.itp-admin-page){
  font-family:var(--itp-type-family)!important;
  font-size:var(--itp-type-body)!important;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body.itp-typography-v439:not(.itp-admin-page) :where(input,select,textarea,button){font-family:var(--itp-type-family)!important}

/* Core readable copy */
body.itp-typography-v439:not(.itp-admin-page) main :where(p,li){
  font-size:var(--itp-type-content)!important;
  line-height:1.9;
}
body.itp-typography-v439:not(.itp-admin-page) main :where(small,.small,.muted,[class*="helper"],[class*="caption"]){
  font-size:var(--itp-type-small)!important;
  line-height:1.7;
}

/* Header / navigation */
body.itp-typography-v439:not(.itp-admin-page) .topbar,
body.itp-typography-v439:not(.itp-admin-page) .topbar a,
body.itp-typography-v439:not(.itp-admin-page) .topbar span{font-size:var(--itp-type-topbar)!important}
body.itp-typography-v439:not(.itp-admin-page) :where(.main-nav a,.nav-actions a,.account-pill,.nav-login){font-size:var(--itp-type-nav)!important}
body.itp-typography-v439:not(.itp-admin-page) .bottom-nav span{font-size:calc(var(--itp-type-nav) - 2px)!important}

/* Hero family — supports Home, Catalog, Match, Teacher and future modules */
body.itp-typography-v439:not(.itp-admin-page) main :where([class*="hero"],.hero) :where([class*="kicker"],[class*="eyebrow"],[class*="badge"]){
  font-size:var(--itp-type-hero-kicker)!important;
}
body.itp-typography-v439:not(.itp-admin-page) main :where([class*="hero"],.hero) h1{
  font-size:var(--itp-type-hero-title)!important;
  line-height:1.2!important;
}
body.itp-typography-v439:not(.itp-admin-page) main :where([class*="hero-copy"],[class*="hero-content"]) > :where(h2,p,[class*="lead"],[class*="subtitle"]),
body.itp-typography-v439:not(.itp-admin-page) main :where([class*="hero"],.hero) :where([class*="hero-lead"],[class*="hero-subtitle"]){
  font-size:var(--itp-type-hero-lead)!important;
  line-height:1.85!important;
}

/* Section headings and introductions */
body.itp-typography-v439:not(.itp-admin-page) main :where(.section-head,[class*="section-head"],[class*="module-head"]) h2,
body.itp-typography-v439:not(.itp-admin-page) main section:not([class*="hero"]) > :where(.container,[class*="inner"],[class*="wrap"]) > h2,
body.itp-typography-v439:not(.itp-admin-page) main :where([class*="module"],[class*="section"]) > h2{
  font-size:var(--itp-type-section-title)!important;
  line-height:1.45!important;
}
body.itp-typography-v439:not(.itp-admin-page) main :where(.section-head,[class*="section-head"],[class*="module-head"]) p{
  font-size:var(--itp-type-section-intro)!important;
  line-height:1.85!important;
}

/* Cards */
body.itp-typography-v439:not(.itp-admin-page) main [class*="card"] :where(h3,h4){
  font-size:var(--itp-type-card-title)!important;
  line-height:1.55!important;
}
body.itp-typography-v439:not(.itp-admin-page) main [class*="card"] > p,
body.itp-typography-v439:not(.itp-admin-page) main [class*="card"] [class*="copy"] > p,
body.itp-typography-v439:not(.itp-admin-page) main [class*="card"] [class*="body"] > p{
  font-size:var(--itp-type-card-text)!important;
  line-height:1.8!important;
}
body.itp-typography-v439:not(.itp-admin-page) main [class*="card"] :where(small,[class*="meta"],[class*="badge"],[class*="chip"]),
body.itp-typography-v439:not(.itp-admin-page) main :where([class*="chips"],[class*="badges"]) > *{
  font-size:var(--itp-type-meta)!important;
  line-height:1.55!important;
}
body.itp-typography-v439:not(.itp-admin-page) main :where([class*="price"],[class*="pricing"]) strong{
  font-size:var(--itp-type-price)!important;
  line-height:1.35!important;
}

/* Buttons, links styled as actions, and forms */
body.itp-typography-v439:not(.itp-admin-page) :where(.btn,button,[class*="-cta"],[class*="_cta"],[class*="action-btn"],[class*="submit"]){
  font-size:var(--itp-type-button)!important;
}
body.itp-typography-v439:not(.itp-admin-page) :where(input:not([type="range"]),select,textarea){
  font-size:var(--itp-type-form)!important;
  line-height:1.55!important;
}
body.itp-typography-v439:not(.itp-admin-page) :where(.field label,form label){font-size:max(var(--itp-type-small),13px)!important}

/* Footer */
body.itp-typography-v439:not(.itp-admin-page) .footer :where(p,a,span,button,input){font-size:var(--itp-type-footer)!important}
body.itp-typography-v439:not(.itp-admin-page) .footer h4{font-size:calc(var(--itp-type-footer) + 2px)!important}
body.itp-typography-v439:not(.itp-admin-page) .footer-bottom span{font-size:calc(var(--itp-type-footer) - 1px)!important}

/* Teacher profile: explicit rules beat legacy rem values and earlier !important declarations. */
body.itp-typography-v439:not(.itp-admin-page) .teacher-module-head-v437 h2{font-size:var(--itp-type-section-title)!important}
body.itp-typography-v439:not(.itp-admin-page) .teacher-module-head-v437 p,
body.itp-typography-v439:not(.itp-admin-page) .teacher-about-copy-v437>p,
body.itp-typography-v439:not(.itp-admin-page) .teacher-about-copy-v436 p{font-size:var(--itp-type-content)!important}
body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-course-copy-v437 h3,.teacher-pricing-cards-v437 h3,.teacher-related-card-v437 strong){font-size:var(--itp-type-card-title)!important}
body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-course-copy-v437 p,.teacher-pricing-cards-v437 p,.teacher-related-card-v437 p,.teacher-review-list-v437 blockquote p){font-size:var(--itp-type-card-text)!important}
body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-course-copy-v437 small,.teacher-course-copy-v437 div span,.teacher-related-card-v437 small,.teacher-related-card-v437 span,.teacher-slot-card-v437 small,.teacher-slot-card-v437 b,.teacher-module-head-v437>div>span,.teacher-section-link-v437){font-size:var(--itp-type-meta)!important}
body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-primary-cta-v437,.teacher-secondary-cta-v437,.teacher-icon-cta-v437,.teacher-course-commerce-v437 a,.teacher-pricing-cards-v437 a,.teacher-booking-actions-v437 button){font-size:var(--itp-type-button)!important}

/* Catalog / marketplace cards */
body.itp-typography-v439:not(.itp-admin-page) :where(.course-card,.catalog-card,[class*="catalog-card"],[class*="teacher-card"]) h3{font-size:var(--itp-type-card-title)!important}
body.itp-typography-v439:not(.itp-admin-page) :where(.course-card,.catalog-card,[class*="catalog-card"],[class*="teacher-card"]) p{font-size:var(--itp-type-card-text)!important}

@media (max-width:768px){
  body.itp-typography-v439:not(.itp-admin-page){font-size:var(--itp-type-mobile-body)!important}
  body.itp-typography-v439:not(.itp-admin-page) main :where(p,li){font-size:var(--itp-type-mobile-body)!important}
  body.itp-typography-v439:not(.itp-admin-page) :where(.main-nav a,.nav-actions a,.account-pill,.nav-login,.bottom-nav span){font-size:var(--itp-type-mobile-nav)!important}
  body.itp-typography-v439:not(.itp-admin-page) main :where([class*="hero"],.hero) h1{font-size:var(--itp-type-mobile-hero-title)!important}
  body.itp-typography-v439:not(.itp-admin-page) main :where([class*="hero-copy"],[class*="hero-content"]) > :where(h2,p,[class*="lead"],[class*="subtitle"]),
  body.itp-typography-v439:not(.itp-admin-page) main :where([class*="hero"],.hero) :where([class*="hero-lead"],[class*="hero-subtitle"]){font-size:var(--itp-type-mobile-hero-lead)!important}
  body.itp-typography-v439:not(.itp-admin-page) main :where(.section-head,[class*="section-head"],[class*="module-head"]) h2,
  body.itp-typography-v439:not(.itp-admin-page) main :where([class*="module"],[class*="section"]) > h2,
  body.itp-typography-v439:not(.itp-admin-page) .teacher-module-head-v437 h2{font-size:var(--itp-type-mobile-section-title)!important}
  body.itp-typography-v439:not(.itp-admin-page) main [class*="card"] :where(h3,h4),
  body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-course-copy-v437 h3,.teacher-pricing-cards-v437 h3,.teacher-related-card-v437 strong){font-size:var(--itp-type-mobile-card-title)!important}
  body.itp-typography-v439:not(.itp-admin-page) main [class*="card"] > p,
  body.itp-typography-v439:not(.itp-admin-page) main [class*="card"] [class*="copy"] > p,
  body.itp-typography-v439:not(.itp-admin-page) main [class*="card"] [class*="body"] > p,
  body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-course-copy-v437 p,.teacher-pricing-cards-v437 p,.teacher-related-card-v437 p,.teacher-review-list-v437 blockquote p){font-size:var(--itp-type-mobile-card-text)!important}
  body.itp-typography-v439:not(.itp-admin-page) :where(.btn,button,[class*="-cta"],[class*="_cta"],[class*="action-btn"],[class*="submit"]){font-size:var(--itp-type-mobile-button)!important}
  body.itp-typography-v439:not(.itp-admin-page) .footer :where(p,a,span,button,input){font-size:var(--itp-type-mobile-footer)!important}
}

@media (max-width:390px){
  body.itp-typography-v439:not(.itp-admin-page) main :where([class*="hero"],.hero) h1{line-height:1.28!important}
  body.itp-typography-v439:not(.itp-admin-page) :where(.btn,button,[class*="-cta"],[class*="_cta"]){white-space:normal}
}

/* Teacher profile readability coverage for compact legacy labels/components */
body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-hero-proof-v437 span,.teacher-expertise-chips-v437 span,.teacher-review-verified-v438,.teacher-review-policy-v438,.teacher-review-rating-v438 legend,.teacher-review-two-v438 label>span,.teacher-review-body-v438>span,.teacher-review-security-v438 small,.teacher-review-card-v438 footer time){font-size:var(--itp-type-meta)!important}
body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-style-grid-v437 strong,.teacher-slot-card-v437 strong,.teacher-review-head-v437 strong,.teacher-review-form-intro-v438 h3,.teacher-review-empty-v438 strong){font-size:var(--itp-type-card-title)!important}
body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-style-grid-v437 p,.teacher-review-card-v438>p,.teacher-review-form-intro-v438 p,.teacher-review-disabled-v438 p,.teacher-review-login-v438 p,.teacher-review-empty-v438 p,.teacher-faq-v437 details p){font-size:var(--itp-type-card-text)!important}
body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-review-two-v438 input,.teacher-review-body-v438 textarea,.teacher-review-security-v438 input,.teacher-weekly-inline-v437 select){font-size:var(--itp-type-form)!important}
body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-review-submit-v438,.teacher-review-login-v438 a,.teacher-faq-v437 summary){font-size:var(--itp-type-button)!important}
body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-hero-price-v437 strong,.teacher-hero-price-v436 strong){font-size:var(--itp-type-price)!important}

@media(max-width:768px){
  body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-style-grid-v437 strong,.teacher-slot-card-v437 strong,.teacher-review-head-v437 strong,.teacher-review-form-intro-v438 h3,.teacher-review-empty-v438 strong){font-size:var(--itp-type-mobile-card-title)!important}
  body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-style-grid-v437 p,.teacher-review-card-v438>p,.teacher-review-form-intro-v438 p,.teacher-review-disabled-v438 p,.teacher-review-login-v438 p,.teacher-review-empty-v438 p,.teacher-faq-v437 details p){font-size:var(--itp-type-mobile-card-text)!important}
  body.itp-typography-v439:not(.itp-admin-page) :where(.teacher-review-submit-v438,.teacher-review-login-v438 a,.teacher-faq-v437 summary){font-size:var(--itp-type-mobile-button)!important}
}


/* ===== assets/header-layout-v4394.css ===== */
/* iTeachPlus V4.39.4 — Shared sticky header + deterministic hero geometry
   Goals:
   1) Header is part of normal document flow (sticky, not fixed).
   2) No page-specific outer offset is needed to escape the header.
   3) Initial and scrolled header visuals are identical across the public site.
   4) Legacy hero rules that were written for a fixed header are neutralized
      with high-specificity selectors so later page styles cannot re-add gaps. */

:root{
  --itp-shared-header-h:78px;
  --nav-h:78px;
}
html{
  scroll-padding-top:calc(var(--itp-shared-header-h) + 14px)!important;
}
body #mainContent{
  margin-top:0!important;
  padding-top:0!important;
}
.topbar{
  display:none!important;
}

/* ---------- One shared header state everywhere ---------- */
body .site-header,
body .site-header.scrolled,
body .site-header:not(.scrolled){
  position:sticky!important;
  top:0!important;
  right:auto!important;
  left:auto!important;
  z-index:1000!important;
  margin:0!important;
  padding:0!important;
  background:rgba(252,252,249,.96)!important;
  border:0!important;
  border-bottom:1px solid rgba(35,97,126,.10)!important;
  box-shadow:0 9px 30px rgba(35,97,126,.08)!important;
  backdrop-filter:blur(22px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(150%)!important;
}
body .site-header .nav-wrap,
body .site-header.scrolled .nav-wrap,
body .site-header:not(.scrolled) .nav-wrap{
  height:var(--itp-shared-header-h)!important;
  min-height:var(--itp-shared-header-h)!important;
  padding-block:8px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body .site-header .brand-logo-frame,
body .site-header.scrolled .brand-logo-frame,
body .site-header:not(.scrolled) .brand-logo-frame{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
}
body .site-header .site-logo{
  display:block!important;
  width:auto!important;
  max-height:43px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 4px 9px rgba(16,47,64,.07))!important;
}
body .site-header .main-nav>a,
body .site-header.scrolled .main-nav>a,
body .site-header:not(.scrolled) .main-nav>a{
  color:#17323F!important;
  text-shadow:none!important;
}
body .site-header .main-nav>a:hover,
body .site-header.scrolled .main-nav>a:hover,
body .site-header:not(.scrolled) .main-nav>a:hover{
  color:#23617E!important;
}
body .site-header .main-nav .nav-teacher,
body .site-header.scrolled .main-nav .nav-teacher,
body .site-header:not(.scrolled) .main-nav .nav-teacher{
  color:#46543A!important;
  background:rgba(244,216,146,.30)!important;
  border-radius:12px!important;
}
body .site-header .icon-btn,
body .site-header .menu-btn,
body .site-header.scrolled .icon-btn,
body .site-header.scrolled .menu-btn,
body .site-header:not(.scrolled) .icon-btn,
body .site-header:not(.scrolled) .menu-btn{
  background:rgba(255,255,255,.78)!important;
  color:#23617E!important;
  border:1px solid rgba(35,97,126,.12)!important;
  box-shadow:0 7px 20px rgba(35,97,126,.07)!important;
  text-shadow:none!important;
}
body .site-header .account-pill,
body .site-header.scrolled .account-pill,
body .site-header:not(.scrolled) .account-pill{
  color:#17323F!important;
  background:rgba(148,190,187,.12)!important;
  border-color:rgba(35,97,126,.09)!important;
  text-shadow:none!important;
}
body .site-header .nav-login,
body .site-header.scrolled .nav-login,
body .site-header:not(.scrolled) .nav-login{
  background:#F4D892!important;
  color:#102F40!important;
  border-color:rgba(192,176,91,.18)!important;
  box-shadow:0 8px 20px rgba(192,176,91,.15)!important;
}

/* ---------- No OUTER gap before the first visual surface ---------- */
html body #mainContent > .hm421-module[data-home-module="hero"],
html body #mainContent > .hm421-module[data-home-module="hero"] > .hero-v4,
html body #mainContent > .hero-v4,
html body #mainContent > .hero-modern,
html body #mainContent > .page-hero-modern,
html body #mainContent > .match-hero-v427,
html body #mainContent > .catalog-hero-v428,
html body #mainContent > .access-plans-hero-v426,
html body #mainContent > .growth-plans-hero-v425,
html body #mainContent > [class*="page-hero"],
html body #mainContent > [class*="catalog-hero"],
html body #mainContent > [class*="match-hero"]{
  margin-top:0!important;
}
html body #mainContent > .hm421-module[data-home-module="hero"]{
  padding-top:0!important;
}

/* Match/Catalog were designed around an overlaid fixed header on desktop.
   With a flow-based sticky header, keep only intentional visual breathing room. */
@media (min-width:768px){
  html body #mainContent .match-hero-layout-v427{
    padding-top:clamp(54px,7vh,84px)!important;
    padding-bottom:64px!important;
  }
  html body #mainContent .catalog-hero-layout-v428{
    padding-top:clamp(54px,7vh,84px)!important;
    padding-bottom:64px!important;
  }
  html body #mainContent > .access-plans-hero-v426{
    padding-top:52px!important;
    padding-bottom:48px!important;
  }
  html body #mainContent > .page-hero-modern{
    min-height:calc(100svh - var(--itp-shared-header-h))!important;
  }
  html body #mainContent > .page-hero-modern > .container{
    padding-top:50px!important;
    padding-bottom:44px!important;
  }
}

/* ---------- Mobile ---------- */
@media (max-width:767px){
  :root{
    --itp-shared-header-h:72px;
    --nav-h:72px;
  }
  html{
    scroll-padding-top:84px!important;
  }
  body .site-header,
  body .site-header.scrolled,
  body .site-header:not(.scrolled){
    top:0!important;
    padding-top:0!important;
  }
  body .site-header .nav-wrap,
  body .site-header.scrolled .nav-wrap,
  body .site-header:not(.scrolled) .nav-wrap{
    height:72px!important;
    min-height:72px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    padding-block:8px!important;
  }
  body .site-header .brand-logo-link{
    justify-self:start!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    height:48px!important;
  }
  body .site-header .brand-logo-frame{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    height:44px!important;
    max-width:142px!important;
  }
  body .site-header .site-logo{
    max-height:39px!important;
    max-width:138px!important;
  }
  body .site-header .nav-actions{
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    height:48px!important;
  }
  body .site-header .nav-login,
  body .site-header .account-pill{
    display:none!important;
  }
  body .site-header .icon-btn,
  body .site-header .menu-btn{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    padding:0!important;
    margin:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:15px!important;
  }
  body .site-header .main-nav,
  body .site-header.scrolled .main-nav,
  body .site-header:not(.scrolled) .main-nav{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    right:11px!important;
    left:11px!important;
    padding:10px!important;
    border-radius:22px!important;
    background:rgba(252,252,249,.98)!important;
    border:1px solid rgba(35,97,126,.11)!important;
    box-shadow:0 24px 60px rgba(16,47,64,.18)!important;
    backdrop-filter:blur(22px)!important;
    -webkit-backdrop-filter:blur(22px)!important;
  }
  body .site-header .main-nav a,
  body .site-header.scrolled .main-nav a,
  body .site-header:not(.scrolled) .main-nav a{
    color:#102F40!important;
    text-shadow:none!important;
  }

  /* Old fixed-header compensation must be zero in flow layout. These selectors
     intentionally outrank later page styles such as body .catalog-hero-v428. */
  html body #mainContent > .hero-v48.match-hero-v427,
  html body #mainContent > .catalog-hero-v428,
  html body #mainContent > .page-hero-modern,
  html body #mainContent > .access-plans-hero-v426,
  html body #mainContent > .growth-plans-hero-v425,
  html body #mainContent > .hm421-module[data-home-module="hero"] > .hero-v48{
    margin-top:0!important;
  }

  html body #mainContent .match-hero-layout-v427{
    padding-top:28px!important;
    padding-bottom:34px!important;
  }
  html body #mainContent .catalog-hero-layout-v428{
    padding-top:28px!important;
    padding-bottom:34px!important;
  }
  html body #mainContent > .access-plans-hero-v426{
    padding-top:34px!important;
    padding-bottom:36px!important;
  }
  html body #mainContent > .page-hero-modern{
    min-height:calc(100svh - 72px)!important;
    align-items:flex-start!important;
  }
  html body #mainContent > .page-hero-modern > .container{
    padding-top:34px!important;
    padding-bottom:38px!important;
  }
}

@media (max-width:390px){
  body .site-header .brand-logo-frame{max-width:128px!important}
  body .site-header .site-logo{max-width:124px!important;max-height:36px!important}
  body .site-header .icon-btn,
  body .site-header .menu-btn{
    width:43px!important;height:43px!important;min-width:43px!important;min-height:43px!important;
    border-radius:14px!important;
  }
}


/* ===== assets/header-unified-v4395.css ===== */
/* iTeachPlus V4.39.5 — Visual lock for the shared public header.
   Geometry remains owned by V4.39.4. This file only guarantees one visual theme
   even when page-specific stylesheets are loaded after the shared layout. */
body.itp-shared-header-v4395 .site-header,
body.itp-shared-header-v4395 .site-header.scrolled,
body.itp-shared-header-v4395 .site-header:not(.scrolled){
  background:rgba(252,252,249,.97)!important;
  border-bottom:1px solid rgba(35,97,126,.10)!important;
  box-shadow:0 9px 30px rgba(35,97,126,.08)!important;
  color:#102f40!important;
  backdrop-filter:blur(22px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(150%)!important;
}
body.itp-shared-header-v4395 .site-header .nav-wrap,
body.itp-shared-header-v4395 .site-header.scrolled .nav-wrap,
body.itp-shared-header-v4395 .site-header:not(.scrolled) .nav-wrap{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.itp-shared-header-v4395 .site-header .main-nav>a,
body.itp-shared-header-v4395 .site-header.scrolled .main-nav>a,
body.itp-shared-header-v4395 .site-header:not(.scrolled) .main-nav>a{
  color:#17323f!important;
  text-shadow:none!important;
  font-weight:700!important;
}
body.itp-shared-header-v4395 .site-header .main-nav>a:hover,
body.itp-shared-header-v4395 .site-header.scrolled .main-nav>a:hover,
body.itp-shared-header-v4395 .site-header:not(.scrolled) .main-nav>a:hover{
  color:#23617e!important;
  background:rgba(148,190,187,.10)!important;
}
body.itp-shared-header-v4395 .site-header .main-nav .nav-teacher,
body.itp-shared-header-v4395 .site-header.scrolled .main-nav .nav-teacher,
body.itp-shared-header-v4395 .site-header:not(.scrolled) .main-nav .nav-teacher{
  color:#46543a!important;
  background:rgba(244,216,146,.38)!important;
  border:1px solid rgba(192,176,91,.12)!important;
}
body.itp-shared-header-v4395 .site-header .brand-logo-frame,
body.itp-shared-header-v4395 .site-header.scrolled .brand-logo-frame,
body.itp-shared-header-v4395 .site-header:not(.scrolled) .brand-logo-frame{
  background:transparent!important;border:0!important;box-shadow:none!important;
}
body.itp-shared-header-v4395 .site-header .icon-btn,
body.itp-shared-header-v4395 .site-header .menu-btn,
body.itp-shared-header-v4395 .site-header.scrolled .icon-btn,
body.itp-shared-header-v4395 .site-header.scrolled .menu-btn{
  color:#23617e!important;
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(35,97,126,.12)!important;
  box-shadow:0 7px 20px rgba(35,97,126,.07)!important;
}
body.itp-shared-header-v4395 .site-header .account-pill,
body.itp-shared-header-v4395 .site-header.scrolled .account-pill{
  color:#17323f!important;
  background:rgba(148,190,187,.12)!important;
  border-color:rgba(35,97,126,.09)!important;
}
body.itp-shared-header-v4395 .site-header .nav-login,
body.itp-shared-header-v4395 .site-header.scrolled .nav-login{
  color:#102f40!important;
  background:#f4d892!important;
  border-color:rgba(192,176,91,.20)!important;
}
@media (max-width:767px){
  body.itp-shared-header-v4395 .site-header .main-nav,
  body.itp-shared-header-v4395 .site-header.scrolled .main-nav,
  body.itp-shared-header-v4395 .site-header:not(.scrolled) .main-nav{
    background:rgba(252,252,249,.985)!important;
    border:1px solid rgba(35,97,126,.11)!important;
    box-shadow:0 24px 60px rgba(16,47,64,.18)!important;
  }
  body.itp-shared-header-v4395 .site-header .main-nav a,
  body.itp-shared-header-v4395 .site-header.scrolled .main-nav a,
  body.itp-shared-header-v4395 .site-header:not(.scrolled) .main-nav a{
    color:#102f40!important;
    background:transparent!important;
  }
  body.itp-shared-header-v4395 .site-header .main-nav a:hover{
    background:rgba(148,190,187,.12)!important;
  }
}


/* ===== assets/account-session-v43988.css ===== */
/* iTeachPlus V4.39.8.8 — compact desktop account menu + secure logout */
.nav-logout-form{margin:0;display:flex;align-items:center;flex:0 0 auto}
.nav-logout-btn{appearance:none;border:1px solid rgba(35,97,126,.18);background:#fff;color:#315767;min-height:42px;padding:0 14px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 8px 22px rgba(20,61,78,.06);transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}
.nav-logout-btn svg{width:18px;height:18px;stroke-width:2}
.nav-logout-btn:hover{background:#fff4f1;border-color:rgba(227,101,89,.34);color:#b9483f;transform:translateY(-1px)}
.nav-logout-btn:focus-visible{outline:3px solid rgba(148,190,187,.45);outline-offset:2px}

/* Desktop: logout lives inside the account dropdown so header navigation keeps one line. */
.account-menu-v43988{position:relative;flex:0 0 auto}
.account-menu-v43988>summary{list-style:none}
.account-menu-v43988>summary::-webkit-details-marker{display:none}
.account-menu-trigger-v43988{cursor:pointer;user-select:none;text-decoration:none}
.account-menu-trigger-v43988>span{display:block;max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important}
.account-menu-chevron-v43988{width:15px!important;height:15px!important;transition:transform .18s ease}
.account-menu-v43988[open] .account-menu-chevron-v43988{transform:rotate(180deg)}
.account-dropdown-v43988{position:absolute;z-index:1300;top:calc(100% + 10px);inset-inline-end:0;width:210px;padding:8px;background:#fff;border:1px solid rgba(35,97,126,.13);border-radius:17px;box-shadow:0 20px 55px rgba(20,61,78,.16)}
.account-dropdown-v43988::before{content:"";position:absolute;top:-7px;inset-inline-end:26px;width:12px;height:12px;background:#fff;border-top:1px solid rgba(35,97,126,.13);border-left:1px solid rgba(35,97,126,.13);transform:rotate(45deg)}
.account-dropdown-link-v43988,.account-dropdown-logout-v43988 button{position:relative;z-index:1;width:100%;min-height:44px;box-sizing:border-box;border:0;border-radius:12px;background:transparent;color:#244b5c;display:flex;align-items:center;gap:10px;padding:0 12px;text-decoration:none;font:inherit;font-weight:800;text-align:right;cursor:pointer}
.account-dropdown-link-v43988:hover{background:#f1f7f7;color:#194f65}
.account-dropdown-logout-v43988{margin:4px 0 0;padding-top:4px;border-top:1px solid rgba(35,97,126,.09)}
.account-dropdown-logout-v43988 button{color:#b9483f}
.account-dropdown-logout-v43988 button:hover{background:#fff1ed;color:#a83d35}
.account-dropdown-v43988 svg{width:18px;height:18px;flex:0 0 auto}

/* Keep the desktop navigation on one line and use the space recovered from the old logout button. */
@media(min-width:1051px){
  .account-pill-mobile-v43988,.nav-logout-mobile-v43988{display:none!important}
  .main-nav{flex-wrap:nowrap!important;gap:clamp(7px,.8vw,16px)!important}
  .main-nav>a{white-space:nowrap!important;line-height:1.35!important}
  .nav-wrap{gap:clamp(10px,.9vw,20px)!important}
  .nav-actions{gap:8px!important;flex:0 0 auto}
}
@media(min-width:1051px) and (max-width:1380px){
  .main-nav>a{font-size:13px!important;padding-inline:5px!important}
  .account-menu-trigger-v43988>span{max-width:82px}
}

/* Mobile/tablet: preserve the already-approved account pill + compact logout icon. */
@media(max-width:1050px){
  .account-menu-desktop-v43988{display:none!important}
  .nav-logout-btn{width:42px;height:42px;min-height:42px;padding:0;border-radius:13px}
  .nav-logout-btn span{display:none}
}

.logout-confirm-v43987{min-height:62vh;display:grid;place-items:center;padding:72px 20px;background:linear-gradient(180deg,#f8fbfb 0%,#fff 100%)}
.logout-confirm-card-v43987{width:min(100%,520px);text-align:center;background:#fff;border:1px solid rgba(35,97,126,.12);border-radius:30px;padding:42px;box-shadow:0 24px 70px rgba(24,66,84,.11)}
.logout-confirm-card-v43987 h1{margin:10px 0 10px;color:#143b4c;font-size:clamp(1.8rem,4vw,2.7rem)}
.logout-confirm-card-v43987 p{color:#6e848e;line-height:1.9;margin:0 0 26px}
.logout-confirm-icon-v43987{width:58px;height:58px;border-radius:18px;background:#fff1ed;color:#c64e43;display:grid;place-items:center;margin:0 auto 16px}
.logout-confirm-icon-v43987 svg{width:27px;height:27px}
.logout-confirm-primary-v43987,.logout-confirm-secondary-v43987{min-height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font:inherit;font-weight:900;width:100%;box-sizing:border-box}
button.logout-confirm-primary-v43987{border:0;cursor:pointer}
.logout-confirm-primary-v43987{background:#194f65;color:#fff;padding:0 22px}
.logout-confirm-secondary-v43987{margin-top:10px;border:1px solid rgba(35,97,126,.16);color:#315767;background:#f8fbfb}

@media(max-width:600px){
  .nav-actions{gap:6px!important}
  .nav-logout-btn{width:40px;height:40px;min-height:40px}
  .logout-confirm-v43987{padding:42px 14px}
  .logout-confirm-card-v43987{padding:30px 20px;border-radius:24px}
}
