@font-face{font-family:IRANSans;src:url('/assets/fonts/IRANSansWeb(FaNum).woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:IRANSans;src:url('/assets/fonts/IRANSansWeb(FaNum)_Bold.woff2') format('woff2');font-display:swap;font-weight:700}
:root{--ink:#102a43;--muted:#5d7184;--navy:#082f49;--blue:#0d3b66;--sky:#e6f4ff;--accent:#f6bd38;--paper:#fff;--canvas:#f6f9fc;--line:#dce6ee;--danger:#b42318;--radius:22px;--shadow:0 20px 55px rgba(15,42,67,.10)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:IRANSans,Tahoma,sans-serif;line-height:1.85}
body:has(.auth-page),body:has(.admin-shell){background:#eef4f8}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%;object-fit:cover}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.site-header{height:82px;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(13,59,102,.08);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.nav-shell{height:100%;display:flex;align-items:center;gap:44px}
.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--navy);color:var(--accent);font-weight:700;direction:ltr}
.brand strong{display:block;font-size:18px;line-height:1.2;direction:ltr;text-align:right}.brand small{display:block;color:var(--muted);font-size:10px}
.site-header nav{display:flex;align-items:center;gap:28px;font-size:14px}.site-header nav a:hover{color:#087ea4}
.nav-actions{margin-right:auto;display:flex;gap:10px;align-items:center}.icon-link{font-size:13px;color:var(--blue)}
.button{border:0;border-radius:12px;padding:12px 22px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;transition:.2s}.button:hover{transform:translateY(-2px)}
.button.primary{background:var(--accent);color:#162a3a;box-shadow:0 10px 22px rgba(246,189,56,.25)}.button.ghost{border:1px solid var(--line);background:#fff}.button.compact{padding:8px 16px;font-size:13px}.button.block{width:100%}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.hero{overflow:hidden;background:radial-gradient(circle at 12% 0,#174f75 0,transparent 35%),var(--navy);color:#fff;padding:86px 0 78px;min-height:650px;display:grid;align-items:center}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:72px;align-items:center}.eyebrow{color:#d49300;letter-spacing:.03em;font-size:13px;font-weight:700}.hero .eyebrow,.learning-section .eyebrow{color:var(--accent)}
.hero h1{font-size:clamp(38px,4.7vw,68px);line-height:1.42;margin:14px 0 20px;letter-spacing:-1.5px}.hero h1 em{color:var(--accent);font-style:normal}.hero-copy>p{color:#c7d8e5;font-size:18px;max-width:650px}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:32px}.text-link{color:#fff;font-weight:700}.hero-stats{display:flex;gap:26px;margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:#a9c0d0}.hero-stats span{display:flex;flex-direction:column}.hero-stats strong{font-size:15px;color:#fff}
.hero-visual{position:relative}.code-window{direction:ltr;background:#071e2d;border:1px solid rgba(255,255,255,.12);border-radius:24px;box-shadow:0 35px 80px rgba(0,0,0,.34);overflow:hidden;transform:rotate(-1deg)}.window-bar{height:48px;background:#0d293b;display:flex;align-items:center;gap:7px;padding:0 18px}.window-bar i{width:9px;height:9px;border-radius:50%;background:#ff6b6b}.window-bar i:nth-child(2){background:#ffd166}.window-bar i:nth-child(3){background:#58d68d}.window-bar span{margin-left:auto;color:#7390a3;font:12px monospace}.code-window pre{padding:38px;margin:0;color:#c8d6e5;font:clamp(13px,1.5vw,18px)/2 Consolas,monospace}.code-window b{color:#d8a7ff}.code-window code span{color:#57d3b5}.mentor-chip{position:absolute;bottom:-32px;right:-24px;background:#fff;color:var(--ink);padding:14px 18px;border-radius:16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px}.mentor-chip>span{background:var(--accent);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:700}.mentor-chip strong,.mentor-chip small{display:block}.mentor-chip small{color:var(--muted);font-size:10px}
.section{padding-block:84px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.section-heading h2{font-size:34px;margin:5px 0 0}.section-heading>a{color:#087ea4;font-weight:700;font-size:14px}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.course-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 30px rgba(15,42,67,.05);transition:.25s}.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.course-image{height:205px;position:relative;overflow:hidden;background:#dfeaf2}.course-image img{width:100%;height:100%}.course-image span{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.92);padding:5px 10px;border-radius:9px;font-size:11px}.course-card-body{padding:22px}.course-card h3{font-size:18px;margin:0 0 8px}.course-card p{height:58px;overflow:hidden;color:var(--muted);font-size:13px;margin:0 0 18px}.course-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;font-size:13px}.course-meta strong{color:#087ea4}.course-meta a{font-weight:700}
.learning-section{background:var(--navy);color:#fff;padding:84px 0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-grid article{border:1px solid rgba(255,255,255,.12);padding:28px;border-radius:20px;background:rgba(255,255,255,.04)}.feature-grid article>span{color:var(--accent);font-weight:700}.feature-grid h3{font-size:20px}.feature-grid p{color:#b9ccda;font-size:14px}.light h2{color:#fff}
.site-footer{background:#061f30;color:#c1d1dc;padding:66px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:80px}.site-footer .brand{color:#fff}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-grid p{max-width:400px;color:#89a4b6}.footer-grid strong{color:#fff}.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.09);padding-top:20px;margin:44px 0 0;font-size:12px;color:#7893a5}
.page-hero{background:linear-gradient(135deg,var(--navy),#0d5275);color:#fff;padding:64px 0}.page-hero-inner{max-width:1180px}.page-hero h1{font-size:clamp(30px,3.25vw,44px);max-width:1080px;line-height:1.35;letter-spacing:-.35px;margin:10px 0;overflow-wrap:anywhere}.page-hero p{color:#bfd2df;max-width:820px;margin-bottom:0}.course-hero{background:var(--navy);color:#fff;padding:70px 0}.course-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}.course-hero h1{font-size:44px;line-height:1.45;margin:12px 0}.course-hero p{color:#c2d4df;white-space:pre-line}.course-hero img{border-radius:20px;aspect-ratio:16/9}.course-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.course-badges span{background:rgba(255,255,255,.09);padding:6px 11px;border-radius:8px;font-size:12px}
.course-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:42px;align-items:start}.course-content h2{font-size:28px}.notice{background:#fff8df;border:1px solid #f4d680;border-radius:14px;padding:18px;margin-bottom:24px}.curriculum{display:grid;gap:12px}.curriculum details{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.curriculum summary{cursor:pointer;padding:18px 20px;display:flex;justify-content:space-between;font-weight:700}.curriculum summary small{color:var(--muted);font-weight:400}.curriculum ol{border-top:1px solid var(--line);margin:0;padding:12px 48px 15px 18px}.curriculum li{padding:10px;color:var(--muted)}.curriculum li a{float:left;color:#087ea4;font-size:12px}.enroll-card,.order-summary{position:sticky;top:105px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow)}.enroll-card>span,.enroll-card>strong{display:block}.enroll-card>strong{font-size:30px;margin:6px 0 18px}.enroll-card ul{padding-right:20px;color:var(--muted);font-size:13px}.enroll-card small,.order-summary small{display:block;text-align:center;color:var(--muted);font-size:10px;margin-top:12px}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:45px 20px;background:radial-gradient(circle at top right,#dff3ff,transparent 38%)}.auth-card{width:min(460px,100%);background:#fff;padding:38px;border-radius:26px;box-shadow:var(--shadow);border:1px solid var(--line)}.auth-card.wide{width:min(570px,100%)}.auth-card>.brand{margin-bottom:28px}.auth-card h1{margin:6px 0;font-size:28px}.auth-card>p{color:var(--muted);font-size:13px}.stack-form{display:grid;gap:16px;margin-top:24px}.stack-form label{font-size:13px;font-weight:700}.stack-form input{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid #cbd9e3;border-radius:11px;outline:0}.stack-form input:focus{border-color:#087ea4;box-shadow:0 0 0 3px #dff4fb}.stack-form .check{display:flex;align-items:center;gap:8px;font-weight:400}.stack-form .check input{width:auto;margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{background:#fff1f0;color:var(--danger);padding:12px;border-radius:10px;font-size:12px;margin-top:14px}.auth-switch{text-align:center}.auth-switch a{color:#087ea4;font-weight:700}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start}.cart-items{display:grid;gap:14px}.cart-item{display:grid;grid-template-columns:150px 1fr auto auto;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);padding:14px;border-radius:17px}.cart-item img{width:150px;aspect-ratio:16/9;border-radius:12px}.cart-item h2{font-size:16px;margin:0}.cart-item p{font-size:12px;color:var(--muted);margin:4px 0}.quantity{display:flex;align-items:center;gap:8px}.quantity form{display:inline}.quantity button{border:1px solid var(--line);background:#fff;width:32px;height:32px;border-radius:8px}.danger-link,.table-action,.profile-nav button{border:0;background:none;color:var(--danger);font-size:12px}.order-summary h2{margin-top:0}.order-summary>div{display:flex;justify-content:space-between;font-size:13px;margin:14px 0}.order-summary .total strong{font-size:20px}.empty-state{text-align:center;background:#fff;padding:55px;border-radius:20px;border:1px solid var(--line)}
.profile-grid{display:grid;grid-template-columns:240px 1fr;gap:25px}.profile-nav,.profile-content{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.profile-nav{display:flex;flex-direction:column;align-self:start}.profile-nav a,.profile-nav button{display:block;width:100%;text-align:right;padding:11px;border-radius:9px;color:var(--ink)}.profile-nav .active{background:var(--sky);color:var(--blue)}.profile-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px}.profile-cards article{padding:22px;background:var(--canvas);border-radius:14px}.profile-cards span,.profile-cards strong,.profile-cards small{display:block}.profile-cards strong{font-size:26px}.profile-cards small{color:var(--muted)}.prose{max-width:850px;font-size:16px}.prose h2{margin-top:35px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.state-page{min-height:60vh;text-align:center;display:grid;place-content:center;justify-items:center;padding:40px}.state-page h1{font-size:38px;margin:8px}.state-page p{color:var(--muted)}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr;direction:rtl}.admin-sidebar{background:#071f30;color:#c5d4de;padding:28px 20px;position:sticky;top:0;height:100vh}.admin-sidebar .brand{color:#fff;margin-bottom:42px}.admin-sidebar nav{display:grid;gap:6px}.admin-sidebar nav a{padding:12px;border-radius:10px}.admin-sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}.admin-workspace{min-width:0}.admin-topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 34px}.admin-topbar span{color:var(--muted);font-size:12px}.admin-content{padding:34px}.admin-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.admin-heading h1{margin:3px 0;font-size:30px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric-grid article,.admin-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.metric-grid span,.metric-grid strong,.metric-grid small{display:block}.metric-grid strong{font-size:27px}.metric-grid small{color:var(--muted);font-size:10px}.admin-panel{margin-top:22px}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-list span:before{content:'○';margin-left:8px}.check-list .done:before{content:'✓';color:#178548}.table-wrap{overflow:auto;padding:0}.table-wrap table{border-collapse:collapse;width:100%;min-width:720px}.table-wrap th,.table-wrap td{padding:14px 18px;text-align:right;border-bottom:1px solid var(--line);font-size:12px}.table-wrap td strong,.table-wrap td small{display:block}.table-wrap td small{color:var(--muted)}.status{padding:4px 9px;border-radius:20px}.status.active{background:#e6f6ec;color:#14763a}.status.inactive{background:#eef1f3;color:#637381}.skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.skeleton-grid i{height:340px;border-radius:20px;background:linear-gradient(90deg,#e8eef3,#f7fafc,#e8eef3);background-size:200%;animation:pulse 1.2s infinite}@keyframes pulse{to{background-position:-200%}}
@media(max-width:980px){.site-header nav{display:none}.hero-grid,.course-hero-grid{grid-template-columns:1fr}.hero{padding-top:60px}.hero-visual{max-width:650px}.course-grid{grid-template-columns:repeat(2,1fr)}.course-layout,.cart-layout{grid-template-columns:1fr}.enroll-card,.order-summary{position:static}.feature-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:210px 1fr}}
@media(max-width:680px){.container{width:min(100% - 28px,1180px)}.site-header{height:70px}.nav-shell{gap:10px}.brand small{display:none}.nav-actions .icon-link{display:none}.hero{min-height:auto;padding:55px 0}.hero h1{font-size:36px}.hero-copy>p{font-size:15px}.hero-stats{display:grid;grid-template-columns:1fr 1fr}.mentor-chip{right:10px}.section{padding-block:55px}.section-heading{align-items:start}.section-heading h2{font-size:27px}.section-heading>a{display:none}.course-grid,.footer-grid,.profile-grid,.profile-cards,.contact-grid,.form-row{grid-template-columns:1fr}.course-image{height:auto;aspect-ratio:16/9}.footer-grid{gap:30px}.course-hero{padding:45px 0}.course-hero h1{font-size:32px}.cart-item{grid-template-columns:82px 1fr}.cart-item img{width:82px}.cart-item .quantity,.cart-item>form{grid-column:2}.admin-shell{display:block}.admin-sidebar{position:static;height:auto}.admin-sidebar nav{grid-template-columns:1fr 1fr}.admin-topbar{display:none}.admin-content{padding:18px}.metric-grid,.check-list{grid-template-columns:1fr}.admin-heading{align-items:start;gap:15px}.skeleton-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Full rewrite: menus, cart, curriculum and administration */
.course-menu{position:relative}.course-menu summary{list-style:none;cursor:pointer}.course-menu summary::-webkit-details-marker{display:none}.course-menu[open] summary{color:#087ea4}.course-menu>div{position:absolute;right:0;top:34px;width:310px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--shadow);display:grid;z-index:30}.course-menu>div a{padding:10px;border-radius:10px;display:flex;gap:8px}.course-menu>div a:hover{background:var(--sky)}.course-menu>div a span{color:#087ea4;font-family:monospace}.course-menu .all-courses{font-weight:700;border-bottom:1px solid var(--line);border-radius:0}.mobile-nav{display:none}
.cart-menu{position:relative}.cart-trigger{border:0;background:transparent;color:var(--blue);display:flex;align-items:center;gap:7px}.cart-trigger b{min-width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--ink);font-size:10px}.cart-popover{position:absolute;left:0;top:42px;width:390px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px;box-shadow:var(--shadow);z-index:30}.cart-popover header,.mini-total{display:flex;justify-content:space-between;align-items:center;padding:7px}.cart-popover article{display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid var(--line)}.cart-popover article img{width:62px;aspect-ratio:16/10;border-radius:8px}.cart-popover article strong,.cart-popover article small{display:block;font-size:11px}.cart-popover article small{color:var(--muted)}.mini-empty{padding:25px;text-align:center;color:var(--muted)}.mini-total{border-top:1px solid var(--line);margin-top:5px}.mini-quantity{display:grid;grid-template-columns:repeat(3,24px);align-items:center;justify-items:center;gap:3px}.mini-quantity form:last-child{grid-column:1/-1}.mini-quantity button{width:24px;height:24px;border:1px solid var(--line);border-radius:6px;background:#fff;line-height:1}.mini-quantity .remove{width:auto;height:auto;border:0;color:var(--danger);font-size:10px}
.top-paths{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:-30px;position:relative;z-index:3}.top-paths>a{background:#fff;border:1px solid var(--line);padding:16px;border-radius:16px;box-shadow:0 10px 26px rgba(8,47,73,.1);display:flex;gap:10px;align-items:center}.top-paths>a>span{color:#087ea4;font-family:monospace;font-weight:700}.top-paths strong,.top-paths small{display:block}.top-paths strong{font-size:12px}.top-paths small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:135px}.promotion-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(360px,1fr);overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding-bottom:12px}.promotion-track>a{scroll-snap-align:start;position:relative;border-radius:20px;overflow:hidden;background:var(--navy);min-height:210px}.promotion-track img{width:100%;height:100%;aspect-ratio:2/1}.promotion-track strong{position:absolute;bottom:14px;right:14px;background:rgba(6,31,48,.85);color:#fff;padding:7px 12px;border-radius:9px}
.curriculum li{display:flex;justify-content:space-between;gap:15px}.curriculum li a{float:none}.lesson-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.lesson-actions form{display:inline}.download-link{border:0;background:var(--sky);color:#087ea4;border-radius:7px;padding:4px 8px;font-size:11px}.locked-file{font-size:10px}.access-granted{background:#e8f7ed;color:#15723a;padding:10px;border-radius:10px;text-align:center;margin-bottom:12px}.discount-form{display:grid;gap:10px}.discount-form label{font-size:11px}.discount-form input{display:block;width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;margin-top:4px}
.profile-section{padding-top:38px;margin-top:38px;border-top:1px solid var(--line)}.section-heading.small{margin-bottom:18px}.section-heading.small h2{font-size:22px}.owned-course-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.owned-course-grid>a{border:1px solid var(--line);border-radius:13px;padding:9px;display:flex;align-items:center;gap:12px}.owned-course-grid img{width:90px;aspect-ratio:16/10;border-radius:9px}.owned-course-grid strong,.owned-course-grid small{display:block}.owned-course-grid small{font-size:10px;color:var(--muted)}.order-history{display:grid;gap:9px}.order-history article{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}.order-history strong,.order-history small{display:block}.order-history small{font-size:10px;color:var(--muted)}
.admin-heading p{margin:0;color:var(--muted);font-size:12px}.notice.success{background:#eaf8ef;border-color:#9dd7af;color:#126b33}.notice.error{background:#fff0ef;border-color:#f2b4af;color:#a12720}.button.danger{background:#b42318;color:#fff}.panel-loading{padding:45px;text-align:center;color:var(--muted)}.table-course{display:flex;gap:11px;align-items:center}.table-course img{width:76px;aspect-ratio:16/10;border-radius:9px}.table-actions{display:flex;align-items:center;gap:8px}.table-action{color:#087ea4}.modal-backdrop{position:fixed;inset:0;background:rgba(4,22,34,.62);z-index:100;display:grid;place-items:center;padding:20px}.dialog{width:min(470px,100%);background:#fff;border-radius:22px;padding:28px;box-shadow:var(--shadow);text-align:center}.dialog-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;margin:auto;font-size:24px}.dialog-icon.danger{background:#fff0ef;color:var(--danger)}.dialog-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}
.admin-two-column{display:grid;grid-template-columns:420px 1fr;gap:20px;align-items:start}.admin-two-column .admin-panel{margin:0}.editor-section{display:grid;gap:18px}.editor-section>h2{margin:0}.editor-section label,.course-editor label{font-size:12px;font-weight:700}.editor-section input,.editor-section textarea,.editor-section select,.course-editor input,.course-editor textarea,.course-editor select{display:block;width:100%;padding:11px 12px;border:1px solid #cbd9e3;border-radius:10px;background:#fff;margin-top:5px;outline:0}.editor-section input:focus,.editor-section textarea:focus,.editor-section select:focus,.course-editor input:focus,.course-editor textarea:focus,.course-editor select:focus{border-color:#087ea4;box-shadow:0 0 0 3px #e1f4fa}.form-actions{display:flex;gap:10px}.image-preview{display:flex;align-items:end;gap:10px}.image-preview img{width:240px;aspect-ratio:16/9;border-radius:13px;border:1px solid var(--line)}.image-preview.wide img{width:100%}.slider-admin-list{display:grid;gap:10px}.slider-admin-list>h2{margin-top:0}.slider-admin-list article{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:14px;border:1px solid var(--line);padding:9px;border-radius:13px}.slider-admin-list article img{width:150px;aspect-ratio:2/1;border-radius:9px}.slider-admin-list strong,.slider-admin-list small{display:block}.slider-admin-list small{color:var(--muted);font-size:10px}
.course-editor{display:grid;gap:20px;padding-bottom:90px}.course-editor>.editor-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px}.editor-section-title{display:flex;align-items:start;gap:13px;border-bottom:1px solid var(--line);padding-bottom:16px}.editor-section-title>span,.title-group>span{width:32px;height:32px;border-radius:10px;background:var(--sky);color:#087ea4;display:grid;place-items:center;font-weight:700;flex:0 0 auto}.editor-section-title h2{margin:0;font-size:19px}.editor-section-title p{margin:2px 0 0;color:var(--muted);font-size:10px}.editor-section-title.with-action{justify-content:space-between;align-items:center}.title-group{display:flex;gap:13px}.editor-grid{display:grid;gap:13px}.editor-grid.cols-2{grid-template-columns:1fr 1fr}.editor-grid.cols-4{grid-template-columns:repeat(4,1fr)}.switch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.switch{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid!important;grid-template-columns:auto 1fr;gap:0 10px;align-items:center}.switch input{position:absolute;opacity:0;width:0!important}.switch>span{width:38px;height:22px;border-radius:22px;background:#c8d4dd;position:relative;grid-row:1/3}.switch>span:after{content:'';position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:3px;right:3px;transition:.2s}.switch input:checked+span{background:#16824b}.switch input:checked+span:after{right:19px}.switch strong,.switch small{display:block}.switch small{font-size:9px;color:var(--muted)}.empty-editor{padding:32px;text-align:center;border:1px dashed #b8cbd8;border-radius:14px;color:var(--muted)}.season-editor{border:1px solid var(--line);border-radius:15px;overflow:hidden}.season-editor>header{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px;background:#f8fbfd}.season-editor>header input{margin:0}.drag-index{font-size:11px;font-weight:700;color:#087ea4}.reorder-actions,.topic-actions{display:flex;gap:5px}.reorder-actions button,.topic-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 8px}.reorder-actions button:disabled,.topic-actions button:disabled{opacity:.35}.topic-list{padding:12px;display:grid;gap:9px}.topic-editor{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}.topic-number{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:var(--sky);font-size:10px}.topic-fields{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px}.file-field{display:flex;flex-direction:column}.upload-state{font-size:9px;margin-top:4px}.upload-state.success{color:#16733d}.upload-state.error{color:var(--danger)}.upload-state.pending{color:#9b6700}.add-topic{margin:0 12px 12px;border:1px dashed #9db6c7;background:#f6fbfe;color:#087ea4;border-radius:10px;padding:9px}.editor-savebar{position:fixed;bottom:0;left:0;right:260px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:13px 35px;display:flex;justify-content:space-between;align-items:center;z-index:40}.editor-savebar strong,.editor-savebar small{display:block}.editor-savebar small{color:var(--muted);font-size:10px}

@media(max-width:1100px){.top-paths{grid-template-columns:repeat(3,1fr)}.editor-grid.cols-4,.switch-grid{grid-template-columns:1fr 1fr}.topic-fields{grid-template-columns:1fr 1fr}.file-field{grid-column:1/-1}.admin-two-column{grid-template-columns:1fr}.editor-savebar{right:260px}}
@media(max-width:980px){.mobile-nav{display:block;position:absolute;left:16px;top:17px;width:auto}.mobile-nav>details>summary{list-style:none;border:1px solid var(--line);padding:6px 11px;border-radius:9px;background:#fff}.mobile-nav>details>div{position:absolute;left:0;top:42px;width:220px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:8px;box-shadow:var(--shadow);display:grid}.mobile-nav>details>div a{padding:8px}.nav-actions{margin-right:auto;margin-left:65px}.top-paths{margin-top:20px}.editor-savebar{right:210px}}
@media(max-width:680px){.cart-popover{position:fixed;left:14px;right:14px;top:76px;width:auto}.top-paths{grid-template-columns:1fr 1fr}.promotion-track{grid-auto-columns:85%}.owned-course-grid{grid-template-columns:1fr}.lesson-actions{white-space:normal;flex-wrap:wrap}.curriculum li{display:grid}.editor-grid.cols-2,.editor-grid.cols-4,.switch-grid,.topic-fields{grid-template-columns:1fr}.season-editor>header{grid-template-columns:1fr}.topic-editor{grid-template-columns:26px 1fr}.topic-actions{grid-column:2}.slider-admin-list article{grid-template-columns:90px 1fr}.slider-admin-list article img{width:90px}.slider-admin-list .table-actions{grid-column:2}.editor-section-title.with-action{align-items:flex-start;gap:12px}.editor-savebar{right:0;padding:10px 16px}.editor-savebar>div{display:none}.course-editor>.editor-section{padding:16px}.admin-heading{flex-direction:column}.admin-heading .button{align-self:flex-start}}

/* Rich content editor + shared media library */
.rich-editor-shell,.media-picker{display:grid;gap:9px}.field-label{font-size:12px;font-weight:700}.rich-editor{background:#fff;direction:rtl;text-align:right}.rich-editor-shell .ql-toolbar{border:1px solid #cbd9e3!important;border-radius:12px 12px 0 0;direction:rtl;background:#f8fbfd}.rich-editor-shell .ql-container{border:1px solid #cbd9e3!important;border-top:0!important;border-radius:0 0 12px 12px;font-family:IRANSans,Tahoma,sans-serif;font-size:14px}.rich-editor-shell .ql-editor{direction:rtl;text-align:right;line-height:2;min-height:inherit}.rich-editor-shell .ql-editor ol,.rich-editor-shell .ql-editor ul{padding-right:1.5em;padding-left:0}.rich-editor-media{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;background:#f8fbfd;border:1px dashed #b8cbd8;border-radius:11px}.rich-editor-media>span{font-size:11px;font-weight:700}.rich-editor-media input[type=file],.media-picker-input input[type=file],.media-manager-upload input[type=file]{font-size:11px}.compact-notice{padding:9px 11px!important;margin:0!important;font-size:11px}.media-picker-input{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;align-items:center}.media-picker-input>input:not([type=file]){margin:0!important}.media-library-inline{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd;max-height:360px;overflow:auto}.media-library-item{border:1px solid var(--line);border-radius:10px;background:#fff;padding:7px;min-width:0}.media-library-item img,.media-library-item .media-file-icon{width:100%;aspect-ratio:16/10;border-radius:7px}.media-library-item img{object-fit:cover}.media-library-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:9px}.media-file-icon,.media-manager-file-icon{display:grid;place-items:center;background:#e7eff5;color:#587185;font-weight:700;font-size:11px}.rich-library{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.seo-editor-box{display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f8fbfd}.seo-editor-box h3{margin:0;font-size:15px}.site-content-editor{display:grid;gap:22px;padding-bottom:82px}.site-content-editor>.admin-panel{margin:0}.content-savebar{position:fixed;bottom:0;left:0;right:260px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:12px 34px;z-index:40;display:flex;justify-content:flex-start}.media-manager-upload{display:grid;gap:10px}.media-manager-upload h2{margin:0}.media-manager-upload>small{color:var(--muted)}.section-heading.small{margin:0 0 16px}.section-heading.small h2{font-size:20px}.media-manager-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.media-manager-grid article{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;position:relative}.media-manager-grid article>img,.media-manager-file-icon{width:100%;aspect-ratio:16/10}.media-manager-meta{padding:11px;display:grid;gap:5px}.media-manager-meta strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-manager-meta small{font-size:9px;color:var(--muted)}.media-manager-meta input{font-size:9px;margin:0!important;padding:7px!important}.media-manager-grid article>.danger-link{margin:0 11px 11px}.rich-content{line-height:2.15;color:var(--ink)}.rich-content p{margin:.75em 0}.rich-content h1,.rich-content h2,.rich-content h3{line-height:1.65;margin:1.35em 0 .55em}.rich-content h1{font-size:2em}.rich-content h2{font-size:1.6em}.rich-content h3{font-size:1.3em}.rich-content ul,.rich-content ol{padding-right:1.7rem;padding-left:0}.rich-content blockquote{margin:1.3em 0;padding:12px 18px;border-right:4px solid var(--accent);background:#fff8df;border-radius:10px}.rich-content img{max-width:100%;height:auto;border-radius:14px;margin:18px auto}.rich-content a{color:#087ea4;text-decoration:underline}.rich-content .ql-align-center{text-align:center}.rich-content .ql-align-left{text-align:left}.rich-content .ql-align-right{text-align:right}.rich-content .ql-align-justify{text-align:justify}.rich-content .ql-direction-rtl{direction:rtl}.course-description{margin-bottom:34px}.course-description:empty{display:none}
@media(max-width:900px){.media-picker-input{grid-template-columns:1fr}.content-savebar{right:0}.media-manager-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}

/* Bootstrap responsive refresh */
.site-main{min-width:0}
.site-main h1[tabindex="-1"]:focus{outline:none}
.hero-grid>*,.course-hero-grid>*,.course-layout>*,.cart-layout>*,.profile-grid>*,.admin-shell>*,.editor-grid>*,.topic-fields>*,.footer-grid>*{min-width:0}
.rich-content,.course-card,.profile-content,.admin-panel{overflow-wrap:anywhere}
.rich-content pre,.code-window pre{max-width:100%;overflow-x:auto}
.rich-content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Main Bootstrap navbar: one menu tree for desktop and mobile. */
.site-header{height:auto;min-height:82px}
.site-navbar{min-height:82px;padding:0;background:transparent}
.site-navbar .nav-shell{min-height:82px;height:auto;gap:38px;flex-wrap:nowrap}
.site-navbar-collapse{min-width:0}
.site-nav-links{display:flex;flex-direction:row;align-items:center;gap:26px;font-size:14px}
.nav-item-link{display:flex;align-items:center;gap:9px;padding:9px 0;font-weight:500;white-space:nowrap;transition:color .18s ease,background-color .18s ease}
.nav-item-link:hover{color:#087ea4}
.nav-icon{display:none;width:19px;height:19px;flex:0 0 19px}
.site-navbar-toggler,.admin-menu-toggle{border:1px solid var(--line);border-radius:11px;padding:9px 10px;background:#fff;box-shadow:none}
.site-navbar-toggler:focus,.admin-menu-toggle:focus{box-shadow:0 0 0 3px rgba(13,59,102,.12)}
.hamburger-icon{display:grid;gap:4px;width:23px}
.hamburger-icon i{display:block;width:100%;height:2px;border-radius:10px;background:var(--blue)}
.nav-action-link{gap:8px}

/* Bootstrap carousel */
.promotion-carousel{overflow:hidden;border:1px solid rgba(13,59,102,.1);border-radius:24px;background:var(--navy);box-shadow:var(--shadow)}
.promotion-carousel .carousel-inner,.promotion-carousel .carousel-item{border-radius:inherit}
.promotion-slide{position:relative;display:block;min-height:260px;overflow:hidden;color:#fff}
.promotion-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,24,38,.72),rgba(4,24,38,0) 58%);pointer-events:none}
.promotion-slide img{width:100%;height:clamp(260px,36vw,430px);object-fit:cover}
.promotion-caption{z-index:2;right:7%;left:7%;bottom:34px;padding:0;text-align:right}
.promotion-caption strong{display:inline-block;max-width:min(700px,80%);padding:10px 16px;border-radius:12px;background:rgba(6,31,48,.82);backdrop-filter:blur(7px);font-size:clamp(14px,2vw,21px)}
.promotion-carousel .carousel-control-prev,.promotion-carousel .carousel-control-next{width:9%}
.promotion-carousel .carousel-control-prev-icon,.promotion-carousel .carousel-control-next-icon{width:2.25rem;height:2.25rem;padding:8px;border-radius:50%;background-size:56% 56%;background-color:rgba(6,31,48,.55)}
.promotion-carousel .carousel-indicators{margin-bottom:12px}
.promotion-carousel .carousel-indicators [data-bs-target]{width:8px;height:8px;border:0;border-radius:50%}

/* Admin navigation uses Bootstrap Collapse below lg and the original fixed sidebar above lg. */
.admin-mobile-bar{min-height:70px;align-items:center;justify-content:space-between;padding:10px 18px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:45}
.admin-sidebar-inner{height:100%}
.admin-sidebar nav a{display:flex;align-items:center;gap:10px}
.admin-sidebar .nav-icon{display:inline-flex;width:18px;height:18px;flex-basis:18px;color:#8fc4df}
.admin-menu-toggle{margin-inline-start:auto}

/* Responsive layout pass */
@media(max-width:991.98px){
    .container{width:min(100% - 32px,1180px)}
    .site-navbar,.site-navbar .nav-shell{min-height:70px}
    .site-navbar .nav-shell{position:relative;flex-wrap:wrap;gap:0}
    .site-navbar-toggler{display:flex;align-items:center;justify-content:center;margin-inline-start:auto}
    .site-navbar-collapse{flex-basis:100%;width:100%;padding:8px 0 16px;border-top:1px solid var(--line)}
    .site-nav-links{width:100%;flex-direction:column;align-items:stretch;gap:3px;padding:4px 0}
    .nav-item-link{width:100%;min-height:44px;padding:9px 12px;border-radius:10px;font-size:13px}
    .nav-item-link:hover,.nav-item-link:focus{background:var(--sky)}
    .nav-icon{display:inline-flex}
    .nav-actions{width:100%;margin:6px 0 0;padding-top:8px;border-top:1px solid var(--line);display:grid;gap:3px;align-items:stretch}
    .nav-actions .button,.nav-actions .cart-trigger{width:100%;min-height:44px;justify-content:flex-start;gap:9px;padding:9px 12px;border:0!important;border-radius:10px;background:transparent!important;box-shadow:none;color:var(--ink);font-size:13px;transform:none}
    .nav-actions .button:hover,.nav-actions .button:focus,.nav-actions .cart-trigger:hover,.nav-actions .cart-trigger:focus{background:var(--sky)!important;color:var(--blue)}
    .nav-actions .button .nav-icon,.nav-actions .cart-trigger .nav-icon{display:inline-flex}
    .cart-menu{width:100%}
    .cart-popover{position:static;width:100%;margin-top:4px;box-shadow:none;border-radius:12px;background:#fff}

    .hero-grid,.course-hero-grid,.course-layout,.cart-layout{grid-template-columns:1fr}
    .hero{min-height:auto;padding:64px 0 66px}
    .hero-grid{gap:46px}
    .hero-visual{width:min(650px,100%);margin-inline:auto}
    .hero-actions{flex-wrap:wrap}
    .code-window{max-width:100%}
    .mentor-chip{right:10px}
    .course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .footer-grid{grid-template-columns:1fr 1fr;gap:34px}
    .footer-grid>div:first-child{grid-column:1/-1}
    .profile-grid{grid-template-columns:1fr}
    .profile-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:5px}
    .profile-nav form{min-width:0}
    .profile-nav a,.profile-nav button{text-align:center}
    .enroll-card,.order-summary{position:static}

    .admin-shell{display:block;min-height:100vh}
    .admin-mobile-bar{display:flex!important}
    .admin-sidebar{position:static;height:auto;width:100%;padding:12px 18px;background:#071f30;border-bottom:1px solid rgba(255,255,255,.1)}
    .admin-sidebar-inner{height:auto}
    .admin-desktop-logo{display:none}
    .admin-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
    .admin-sidebar nav a{min-width:0;padding:11px 12px}
    .admin-workspace{width:100%;min-width:0}
    .admin-content{padding:22px}
    .admin-two-column{grid-template-columns:1fr}
    .editor-savebar,.content-savebar{right:0}
    .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
    .table-wrap table{min-width:680px}
    .image-preview{flex-wrap:wrap}
    .image-preview img{max-width:100%}
}

@media(max-width:767.98px){
    .container{width:min(100% - 28px,1180px)}
    .brand-mark{width:39px;height:39px;border-radius:11px}
    .brand strong{font-size:16px}
    .brand small{display:none}
    .hero{padding:50px 0 54px}
    .hero h1{font-size:clamp(31px,9vw,42px);letter-spacing:-.7px}
    .hero-copy>p{font-size:15px}
    .hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    .mentor-chip{position:relative;right:auto;bottom:auto;margin:14px auto 0;width:fit-content;max-width:100%}
    .section{padding-block:52px}
    .section-heading{align-items:flex-start;gap:10px;flex-wrap:wrap}
    .section-heading h2{font-size:27px}
    .course-grid{grid-template-columns:1fr}
    .top-paths{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
    .top-paths>a{min-width:0;padding:13px}
    .top-paths small{max-width:100%}
    .footer-grid,.profile-cards,.contact-grid,.form-row,.owned-course-grid{grid-template-columns:1fr}
    .footer-grid>div:first-child{grid-column:auto}
    .cart-item{grid-template-columns:90px minmax(0,1fr);gap:12px}
    .cart-item img{width:90px}
    .cart-item .quantity,.cart-item>form{grid-column:2}
    .order-history article{grid-template-columns:1fr;gap:8px}
    .order-history article>*{min-width:0}
    .course-hero h1{font-size:32px}
    .curriculum summary{gap:10px;align-items:flex-start}
    .curriculum ol{padding-right:34px}
    .curriculum li{display:grid;gap:6px}
    .curriculum li a{float:none}

    .admin-content{padding:16px}
    .admin-heading{flex-direction:column;align-items:flex-start;gap:12px}
    .admin-heading .button{align-self:flex-start}
    .metric-grid,.check-list,.editor-grid.cols-2,.editor-grid.cols-4,.switch-grid,.topic-fields{grid-template-columns:1fr}
    .course-editor>.editor-section{padding:16px}
    .season-editor>header{grid-template-columns:1fr}
    .topic-editor{grid-template-columns:26px minmax(0,1fr)}
    .topic-actions{grid-column:2;flex-wrap:wrap}
    .editor-section-title.with-action{align-items:flex-start;gap:12px;flex-wrap:wrap}
    .editor-savebar,.content-savebar{padding:10px 14px}
    .editor-savebar>div{display:none}
    .media-picker-input{grid-template-columns:1fr}
    .slider-admin-list article{grid-template-columns:90px minmax(0,1fr)}
    .slider-admin-list article img{width:90px}
    .slider-admin-list .table-actions{grid-column:2}
    .media-manager-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}

    .promotion-carousel{border-radius:18px}
    .promotion-slide{min-height:220px}
    .promotion-slide img{height:clamp(220px,56vw,300px)}
    .promotion-caption{right:8%;left:8%;bottom:28px}
    .promotion-caption strong{max-width:100%;font-size:14px;padding:8px 11px}
    .promotion-carousel .carousel-control-prev,.promotion-carousel .carousel-control-next{width:13%}
}

@media(max-width:575.98px){
    .container{width:min(100% - 22px,1180px)}
    .site-navbar-collapse{padding-bottom:12px}
    .hero-stats{grid-template-columns:1fr}
    .hero-actions{display:grid;gap:14px;align-items:stretch}
    .hero-actions .button{width:100%}
    .text-link{text-align:center}
    .code-window{border-radius:18px}
    .code-window pre{padding:24px 18px;font-size:12px}
    .top-paths{grid-template-columns:1fr}
    .auth-card{padding:26px 20px;border-radius:20px}
    .empty-state{padding:34px 18px}
    .profile-nav{grid-template-columns:1fr 1fr}
    .admin-sidebar nav{grid-template-columns:1fr}
    .admin-content{padding:13px}
    .admin-panel,.metric-grid article{padding:16px}
    .slider-admin-list article{grid-template-columns:1fr}
    .slider-admin-list article img{width:100%}
    .slider-admin-list .table-actions{grid-column:auto}
    .topic-editor{grid-template-columns:1fr}
    .topic-number,.topic-actions{grid-column:auto}
    .media-manager-grid{grid-template-columns:1fr}
    .rich-editor-media{align-items:stretch}
    .rich-editor-media input[type=file]{width:100%}
}

/* Image-fit policy: keep legacy artwork fully visible instead of cropping it. */
.course-image,
.course-hero img,
.promotion-slide,
.image-preview img,
.slider-admin-list article img{
    background:#f6f9fb;
}
.course-image img,
.course-hero img,
.promotion-slide img,
.image-preview img,
.slider-admin-list article img{
    object-fit:contain;
    object-position:center;
}
.course-hero img{width:100%;height:auto;max-height:520px}
.promotion-slide img{object-fit:contain}

/* Public gallery */
.gallery-hero p{max-width:780px}
.gallery-section{padding-top:48px}
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    align-items:start;
}
.gallery-card{
    margin:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 35px rgba(15,42,67,.06);
    transition:transform .2s ease,box-shadow .2s ease;
}
.gallery-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(15,42,67,.12)}
.gallery-image-link{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:240px;
    max-height:460px;
    padding:10px;
    overflow:hidden;
    background:#f4f7f9;
}
.gallery-image-link img{
    display:block;
    width:100%;
    height:auto;
    max-height:440px;
    object-fit:contain;
    object-position:center;
}
.gallery-open-hint{
    position:absolute;
    left:14px;
    bottom:14px;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(5,32,49,.82);
    color:#fff;
    font-size:11px;
    opacity:0;
    transform:translateY(4px);
    transition:.2s ease;
}
.gallery-image-link:hover .gallery-open-hint,
.gallery-image-link:focus-visible .gallery-open-hint{opacity:1;transform:none}
.gallery-card figcaption{padding:20px 20px 22px}
.gallery-card h2{margin:0 0 9px;font-size:18px;line-height:1.7}
.gallery-card p{margin:0;color:var(--muted);font-size:13px;line-height:2;white-space:pre-line}
.gallery-loading i{display:block;aspect-ratio:4/3;border-radius:20px;background:linear-gradient(90deg,#eef3f6,#f8fafb,#eef3f6);background-size:200% 100%;animation:skeleton 1.3s linear infinite}

/* Gallery admin */
.gallery-admin-layout{grid-template-columns:minmax(320px,430px) minmax(0,1fr)}
.gallery-admin-preview{align-items:center;justify-content:center;background:#f6f9fb;border-radius:14px;padding:8px}
.gallery-admin-preview img{width:100%;max-height:330px;aspect-ratio:auto;object-fit:contain}
.gallery-publish-check{display:flex!important;align-items:center;gap:10px;align-self:end;min-height:48px;margin-top:5px}
.gallery-publish-check input{width:18px!important;height:18px;margin:0!important}
.gallery-admin-list{display:grid;gap:16px}
.gallery-admin-list-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}
.gallery-admin-list-heading h2{margin:0}.gallery-admin-list-heading small{color:var(--muted)}
.gallery-admin-items{display:grid;gap:12px}
.gallery-admin-item{
    display:grid;
    grid-template-columns:150px minmax(0,1fr) auto;
    gap:16px;
    align-items:start;
    border:1px solid var(--line);
    border-radius:16px;
    padding:10px;
    background:#fff;
}
.gallery-admin-item>img{width:150px;height:120px;object-fit:contain;background:#f4f7f9;border-radius:11px}
.gallery-admin-copy{min-width:0}.gallery-admin-copy p{margin:8px 0;color:var(--muted);font-size:12px;line-height:1.9}
.gallery-admin-copy code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#496270;font-size:10px}
.gallery-admin-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gallery-admin-title-row strong{font-size:14px}
.status-badge{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:9px;font-weight:800}
.status-badge.published{background:#e8f7ef;color:#18784a}.status-badge.draft{background:#f2f4f5;color:#64737c}
.field-help{display:block;margin-top:6px;color:var(--muted);font-weight:400;line-height:1.7}

@media(max-width:1100px){
    .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .gallery-admin-layout{grid-template-columns:1fr}
}
@media(max-width:680px){
    .gallery-grid{grid-template-columns:1fr;gap:18px}
    .gallery-image-link{min-height:180px;max-height:none}
    .gallery-image-link img{max-height:70vh}
    .gallery-open-hint{opacity:1;transform:none}
    .gallery-admin-item{grid-template-columns:100px minmax(0,1fr)}
    .gallery-admin-item>img{width:100px;height:90px}
    .gallery-admin-item>.table-actions{grid-column:1/-1;justify-content:flex-end}
    .gallery-admin-list-heading{align-items:flex-start;flex-direction:column}
}

/* Account orders, payment receipts and manual course access */
.status.pending { background: #fff4d6; color: #8a5a00; border-color: #f4d58d; }
.status.waiting { background: #eef3f8; color: #506172; border-color: #d9e2ea; }
.notice.info { background: #edf7ff; border-color: #b9ddf7; color: #174f75; }
.compact-notice { margin: 0; padding: .8rem 1rem; }
.optional { font-weight: 400; opacity: .7; }
.text-link { font-weight: 700; text-decoration: none; }
.text-link:hover { text-decoration: underline; }

.account-page-shell {
    display: grid;
    grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}
.account-page-nav { position: sticky; top: 6rem; }
.user-orders-list, .admin-order-list { display: grid; gap: 1rem; }
.user-order-card, .admin-order-card {
    background: var(--surface, #fff);
    border: 1px solid var(--border, #e3e8ee);
    border-radius: 18px;
    padding: clamp(1rem, 2.5vw, 1.5rem);
    box-shadow: 0 10px 30px rgba(20, 42, 66, .05);
}
.user-order-head, .admin-order-card > header, .payment-item-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}
.user-order-head h2, .admin-order-card h2 { margin: .25rem 0; }
.order-course-list {
    display: grid;
    gap: .35rem;
    padding: 1rem;
    margin: 1rem 0;
    border-radius: 14px;
    background: #f7f9fb;
}
.order-meta-row { display: flex; justify-content: space-between; gap: 1rem; margin: .75rem 0; }
.receipt-upload-form {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
    padding: 1rem;
    margin-top: 1rem;
    border: 1px dashed #a9bdd0;
    border-radius: 14px;
    background: #fbfdff;
}
.receipt-upload-form label, .receipt-upload-form > div { display: grid; gap: .45rem; }
.receipt-upload-form input[type="file"], .receipt-upload-form input[type="text"], .receipt-upload-form input:not([type]) {
    width: 100%;
}
.payment-history { margin-top: 1rem; border-top: 1px solid #e7ebef; padding-top: 1rem; }
.payment-history summary { cursor: pointer; font-weight: 800; }
.payment-attempt-list { display: grid; gap: .75rem; margin-top: .75rem; }
.payment-attempt {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) auto;
    gap: .45rem 1rem;
    align-items: center;
    padding: .85rem 1rem;
    border-radius: 12px;
    background: #f8fafc;
}
.payment-attempt > small, .payment-attempt > p, .payment-attempt > a { grid-column: 1 / -1; }
.review-note { margin: .25rem 0; padding: .65rem .8rem; border-radius: 10px; background: #fff7e9; }

.my-courses-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.my-course-card {
    display: grid;
    grid-template-columns: minmax(150px, 38%) minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--border, #e3e8ee);
    border-radius: 18px;
    background: #fff;
}
.my-course-image { display: grid; place-items: center; min-height: 190px; background: #f5f7f9; }
.my-course-image img { width: 100%; height: 100%; max-height: 240px; object-fit: contain; }
.my-course-card > div { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; padding: 1.1rem; }
.my-course-card h2 { margin: 0; font-size: 1.1rem; }
.my-course-card h2 a { color: inherit; text-decoration: none; }
.access-source { display: inline-flex; padding: .25rem .55rem; border-radius: 999px; background: #eaf7ef; color: #20733f; font-size: .78rem; font-weight: 800; }

.admin-review-alert {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem 1rem;
    padding: 1rem 1.15rem;
    margin-bottom: 1rem;
    border: 1px solid #f0c36a;
    border-radius: 14px;
    background: #fff7df;
    color: #714d00;
}
.dashboard-alert-link { text-decoration: none; }
.admin-order-card.needs-review { border-color: #e5b24b; box-shadow: 0 12px 34px rgba(186, 129, 17, .12); }
.admin-order-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0; }
.admin-order-summary-grid > div { display: grid; gap: .25rem; padding: .8rem; border-radius: 12px; background: #f7f9fb; }
.admin-order-summary-grid span { font-size: .82rem; opacity: .72; }
.admin-payment-list { display: grid; gap: .75rem; margin-top: 1rem; }
.admin-payment-item { border: 1px solid #e4e8ed; border-radius: 14px; padding: 1rem; }
.admin-payment-item.pending-payment { border-color: #ecc66e; background: #fffdf7; }
.payment-details { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .75rem; }
.payment-review-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: 1rem; }
.payment-review-actions form { display: grid; gap: .65rem; padding: .85rem; border-radius: 12px; background: #f7f9fb; }
.payment-review-actions label { display: grid; gap: .35rem; }
.payment-review-actions input { width: 100%; }
.compact-empty { padding: 1rem; }
.admin-grant-form { display: flex; gap: .5rem; min-width: 280px; }
.admin-grant-form select { min-width: 180px; }
.admin-order-menu-link { position: relative; }
.admin-menu-badge {
    margin-inline-start: auto;
    display: inline-grid;
    place-items: center;
    min-width: 1.55rem;
    height: 1.55rem;
    padding: 0 .35rem;
    border-radius: 999px;
    background: #c93434;
    color: white;
    font-size: .75rem;
}
.admin-topbar-alert { margin-inline-start: auto; color: #9b2d2d; font-weight: 800; text-decoration: none; }
.metric-attention { outline: 2px solid #e5b24b; outline-offset: -2px; }

@media (max-width: 991.98px) {
    .account-page-shell { grid-template-columns: 1fr; }
    .account-page-nav { position: static; display: flex; flex-wrap: wrap; gap: .5rem; }
    .account-page-nav a { flex: 1 1 140px; text-align: center; }
    .receipt-upload-form { grid-template-columns: 1fr; }
    .admin-order-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .payment-review-actions { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    .my-courses-grid { grid-template-columns: 1fr; }
    .my-course-card { grid-template-columns: 1fr; }
    .my-course-image { min-height: 180px; max-height: 260px; }
    .user-order-head, .admin-order-card > header, .payment-item-head, .payment-details { align-items: stretch; flex-direction: column; }
    .payment-attempt { grid-template-columns: 1fr; }
    .payment-attempt > * { grid-column: 1 !important; }
    .admin-order-summary-grid { grid-template-columns: 1fr 1fr; }
    .admin-grant-form { min-width: 240px; flex-direction: column; }
}

@media (max-width: 480px) {
    .admin-order-summary-grid { grid-template-columns: 1fr; }
    .user-order-card, .admin-order-card { border-radius: 14px; padding: .9rem; }
}

/* Admin orders data grid */
.admin-orders-panel{padding:0;overflow:hidden}
.admin-orders-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:18px 20px;border-bottom:1px solid var(--line);background:#fff}
.admin-orders-toolbar>div{display:grid;gap:3px}.admin-orders-toolbar span{font-size:12px;color:var(--muted)}
.admin-orders-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-orders-table{width:100%;border-collapse:separate;border-spacing:0;min-width:820px;background:#fff}
.admin-orders-table th,.admin-orders-table td{padding:14px 16px;text-align:right;vertical-align:middle;border-bottom:1px solid var(--line)}
.admin-orders-table th{position:sticky;top:0;z-index:1;background:#f7fafc;color:#607487;font-size:11px;font-weight:800;white-space:nowrap}
.admin-orders-table tbody tr:last-child:not(.admin-order-details-row) td{border-bottom:0}
.admin-order-row{transition:background-color .18s ease}.admin-order-row:hover{background:#fbfdff}
.admin-order-row.needs-review{background:#fffaf0}.admin-order-row.needs-review:hover{background:#fff7e4}
.admin-order-row.needs-review td:first-child{box-shadow:inset -3px 0 #e5b24b}
.admin-order-number{font-size:13px;color:var(--blue)}
.admin-order-customer{display:grid;gap:3px;min-width:170px}.admin-order-customer strong{font-size:12px}.admin-order-customer small{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);direction:ltr;text-align:right}
.admin-order-amount{white-space:nowrap}.admin-order-amount+small{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.admin-orders-table time{display:inline-block;white-space:nowrap;font-size:11px}
.admin-payment-count{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#eef4f8;color:var(--blue);font-weight:800}
.admin-order-row-action{text-align:left!important;white-space:nowrap}
.admin-order-details-button{gap:8px;min-width:92px}.admin-order-details-chevron{display:inline-block;font-size:16px;line-height:1;transition:transform .2s ease}.admin-order-details-button:not(.collapsed) .admin-order-details-chevron{transform:rotate(180deg)}
.admin-order-details-row>td{padding:0!important;background:#f6f9fb;border-bottom:1px solid var(--line)}
.admin-order-details-panel{display:grid;gap:18px;padding:20px 22px;border-top:1px solid #edf1f4;box-shadow:inset 0 8px 16px rgba(15,49,73,.025)}
.admin-order-detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.admin-order-detail-facts>div{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.admin-order-detail-facts span{font-size:10px;color:var(--muted)}.admin-order-detail-facts strong{font-size:12px}
.admin-order-detail-section{display:grid;gap:10px}.admin-order-detail-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-order-detail-title>span{font-size:10px;color:var(--muted)}
.admin-order-course-tags{display:flex;flex-wrap:wrap;gap:7px}.admin-order-course-tags span{display:inline-flex;padding:7px 10px;border:1px solid #dce6ed;border-radius:999px;background:#fff;color:#38566d;font-size:10px;font-weight:700}
.admin-order-details-panel .admin-payment-list{margin-top:0}.admin-order-details-panel .admin-payment-item{background:#fff}
.payment-reference{min-width:0;color:var(--muted);font-size:11px}.payment-reference b{color:var(--ink)}

@media(max-width:1100px){
    .admin-orders-table{min-width:720px}
    .admin-orders-secondary-column{display:none}
    .admin-order-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767.98px){
    .admin-orders-panel{overflow:visible;background:transparent;border:0;box-shadow:none;padding:0}
    .admin-orders-toolbar{border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:14px 16px}
    .admin-orders-table-wrap{overflow:visible}
    .admin-orders-table{display:block;min-width:0;background:transparent}
    .admin-orders-table thead{display:none}
    .admin-orders-table tbody{display:grid;gap:10px}
    .admin-orders-table tbody,.admin-orders-table tr,.admin-orders-table td{width:100%}
    .admin-order-row{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(20,42,66,.04)}
    .admin-order-row.needs-review{border-color:#e7c16d}
    .admin-order-row.needs-review td:first-child{box-shadow:none}
    .admin-order-row td{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #edf1f4}
    .admin-order-row td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:700}
    .admin-order-row td:nth-child(2){grid-column:1/-1}
    .admin-order-row td:nth-child(5){grid-column:1/-1}
    .admin-order-customer{min-width:0}.admin-order-customer small{max-width:100%}
    .admin-order-row-action{grid-column:1/-1!important;display:block!important;padding:10px 12px!important;text-align:stretch!important;border-bottom:0!important}
    .admin-order-row-action::before{display:none}
    .admin-order-details-button{width:100%}
    .admin-order-details-row{display:none;width:100%}
    .admin-order-details-row.show{display:block}
    .admin-order-details-row>td{display:block;width:100%;border:0}
    .admin-order-details-panel{padding:14px;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;margin-top:-10px;background:#f7fafc}
    .admin-order-detail-facts{grid-template-columns:1fr 1fr}
    .admin-order-detail-title{align-items:flex-start}
}
@media(max-width:480px){
    .admin-order-row{grid-template-columns:1fr}
    .admin-order-row td,.admin-order-row td:nth-child(2),.admin-order-row td:nth-child(5){grid-column:1}
    .admin-order-row-action{grid-column:1!important}
    .admin-order-detail-facts{grid-template-columns:1fr}
    .admin-order-detail-title{flex-direction:column;gap:2px}
}
.admin-orders-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 20px;border-top:1px solid var(--line);background:#fff}
.admin-orders-pagination .button.disabled{pointer-events:none;opacity:.45}
.admin-orders-page-numbers{display:flex;align-items:center;gap:5px}.admin-orders-page-number{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:11px;font-weight:800;text-decoration:none}.admin-orders-page-number:hover{border-color:#9bb5c7;background:#f6fafc}.admin-orders-page-number.active{border-color:var(--blue);background:var(--blue);color:#fff}
@media(max-width:480px){.admin-orders-pagination{padding:12px 8px;gap:6px}.admin-orders-page-numbers{gap:3px}.admin-orders-page-number{min-width:30px;height:30px;padding:0 6px}.admin-orders-pagination .button{padding:8px 10px}}

/* Account verification, referral and discount UI */
.email-verification-card,
.referral-panel,
.applied-discount-card,
.order-discount-breakdown {
    border: 1px solid var(--line, #e5e7eb);
    border-radius: 16px;
    background: var(--surface, #fff);
}

.email-verification-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    margin-bottom: 1.25rem;
}

.email-verification-card p,
.referral-panel p,
.applied-discount-card p { margin: .35rem 0 0; }

.referral-panel { padding: 1.15rem; }
.referral-code-row {
    display: grid;
    grid-template-columns: minmax(150px, .55fr) minmax(0, 1.45fr);
    gap: .75rem;
    margin: 1rem 0;
}
.referral-code-row > div,
.referral-progress {
    padding: .85rem 1rem;
    border-radius: 12px;
    background: rgba(15, 23, 42, .035);
}
.referral-code-row span,
.referral-code-row strong,
.referral-code-row code,
.referral-progress span,
.referral-progress strong { display: block; }
.referral-code-row code { overflow-wrap: anywhere; margin-top: .3rem; }
.referral-progress { display: flex; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }

.order-discount-breakdown {
    margin: 1rem 0;
    padding: .85rem 1rem;
}
.order-discount-breakdown > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .35rem 0;
}
.order-discount-breakdown p {
    margin: .6rem 0 0;
    padding-top: .6rem;
    border-top: 1px dashed var(--line, #e5e7eb);
}
.applied-discount-card { padding: .8rem .9rem; margin: .8rem 0; }
.discount-apply-form { margin-top: 1rem; }

.admin-discount-form textarea { min-height: 90px; }
.discount-admin-table td > small { display: block; margin-top: .25rem; }
.discount-admin-table code { white-space: nowrap; }
.table-actions { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.table-actions form { margin: 0; }

@media (max-width: 767.98px) {
    .email-verification-card { align-items: stretch; flex-direction: column; }
    .email-verification-card .button { width: 100%; }
    .referral-code-row { grid-template-columns: 1fr; }
    .order-discount-breakdown > div { align-items: flex-start; }
}
.course-discount-detail {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .15rem 1rem !important;
    margin: .25rem 0;
    padding: .55rem .65rem !important;
    border-radius: 10px;
    background: rgba(15, 23, 42, .035);
}
.course-discount-detail small { grid-column: 1 / -1; color: var(--muted); }
@media (max-width: 560px) {
    .course-discount-detail { grid-template-columns: 1fr; }
    .course-discount-detail small { grid-column: 1; }
}

/* Contact page refresh */
.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:42px;align-items:stretch}.contact-intro{padding:30px 10px 20px}.contact-intro h2{font-size:clamp(27px,3vw,39px);line-height:1.45;margin:12px 0}.contact-intro>p{color:var(--muted);max-width:470px;margin:0 0 28px}.contact-highlights{display:grid;gap:13px}.contact-highlights article{display:flex;gap:13px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.68);transition:.2s}.contact-highlights article:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,42,67,.07)}.contact-highlights article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--sky);color:#087ea4;font-size:20px;flex:0 0 40px}.contact-highlights strong,.contact-highlights small{display:block}.contact-highlights small{font-size:11px;color:var(--muted);margin-top:2px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow)}.contact-card-heading{display:flex;align-items:center;gap:13px;padding-bottom:20px;border-bottom:1px solid var(--line)}.contact-card-heading>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--navy);color:var(--accent);font-size:21px}.contact-card h2{font-size:23px;margin:0}.contact-card-heading p{font-size:12px;color:var(--muted);margin:2px 0 0}.contact-form textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid #cbd9e3;border-radius:11px;outline:0;resize:vertical;min-height:140px}.contact-form textarea:focus{border-color:#087ea4;box-shadow:0 0 0 3px #dff4fb}.contact-submit{width:100%;gap:10px;margin-top:4px}.contact-submit span{font-size:19px;line-height:1}.contact-extra{margin-top:42px;padding-top:28px;border-top:1px solid var(--line)}
@media(max-width:991.98px){.page-hero{padding:54px 0}.page-hero h1{font-size:clamp(29px,4.5vw,40px)}.contact-layout{grid-template-columns:1fr;gap:20px}.contact-intro{padding:0}.contact-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-highlights article{align-items:flex-start;flex-direction:column}.contact-card{padding:28px}}
@media(max-width:767.98px){.page-hero{padding:44px 0}.page-hero h1{font-size:clamp(28px,8vw,36px);line-height:1.4}.contact-highlights{grid-template-columns:1fr}.contact-highlights article{flex-direction:row;align-items:center}.contact-card{padding:22px 18px;border-radius:20px}}


/* Contact social links */
.contact-socials{margin-top:30px}.contact-socials-label{display:block;font-size:13px;font-weight:800;margin-bottom:12px;color:var(--ink)}.contact-social-list{display:grid;gap:10px}.contact-social-link{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;padding:12px 14px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);box-shadow:0 8px 24px rgba(15,42,67,.04);transition:transform .2s,box-shadow .2s,border-color .2s}.contact-social-link:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(15,42,67,.11);border-color:#9ccfe0}.social-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--sky);color:#087ea4}.social-icon svg{width:23px;height:23px;fill:currentColor;stroke:currentColor;stroke-width:1.8}.contact-social-link.instagram .social-icon svg{fill:none}.contact-social-link strong,.contact-social-link small{display:block}.contact-social-link strong{font-size:14px}.contact-social-link small{margin-top:3px;color:var(--muted);font-size:11px}.social-arrow{font-size:20px;color:var(--muted);transition:transform .2s}.contact-social-link:hover .social-arrow{transform:translate(2px,-2px);color:#087ea4}@media(max-width:767.98px){.contact-social-link{grid-template-columns:44px 1fr auto;padding:11px 12px}.social-icon{width:44px;height:44px}.contact-social-link small{font-size:10px}}

/*
 iCode4 logo integration
*/

.brand-image {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    min-width: 0;
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
}

    .brand-image .brand-logo-image {
        display: block;
        width: 210px;
        height: auto;
        max-height: 42px;
        object-fit: contain;
        object-position: center;
    }

/* Keep desktop navigation on one line and let the menu shrink before wrapping. */
.site-navbar .nav-shell {
    flex-wrap: nowrap;
    min-width: 0;
}

.site-navbar-collapse {
    min-width: 0;
}

.site-nav-links {
    min-width: 0;
    white-space: nowrap;
    gap: clamp(14px,1.8vw,26px);
    font-size: clamp(12px,1.05vw,14px);
}

.nav-item-link {
    white-space: nowrap;
}

/* Compact logo and header progressively on narrower desktop widths. */
@media (max-width: 1180px) {
    .brand-image .brand-logo-image {
        width: 185px;
        max-height: 37px;
    }

    .site-navbar .nav-shell {
        gap: 24px;
    }

    .site-nav-links {
        gap: 18px;
        font-size: 13px;
    }
}

@media (max-width: 1050px) {
    .brand-image .brand-logo-image {
        width: 165px;
        max-height: 33px;
    }

    .site-navbar .nav-shell {
        gap: 16px;
    }

    .site-nav-links {
        gap: 14px;
        font-size: 12px;
    }
}

/* Mobile keeps the existing collapse behavior intact. */
@media (max-width: 991.98px) {
    .brand-image .brand-logo-image {
        width: 170px;
        max-height: 34px;
    }
}

@media (max-width: 680px) {
    .brand-image .brand-logo-image {
        width: 145px;
        max-height: 30px;
    }
}