:root{
  --ink:#0d1726;--muted:#667085;--line:#e5e7eb;--bg:#f6f8fb;--panel:#fff;
  --brand:#5b5af7;--brand-dark:#3634c9;--dark:#111827;--success:#13795b;--danger:#b42318;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:white}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.topbar,.store-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}.topbar nav,.store-header nav{display:flex;gap:26px;align-items:center}.brand,.store-logo{font-weight:900;letter-spacing:.14em;font-size:20px}.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:10px;background:var(--brand);color:#fff;padding:13px 20px;font-weight:750;cursor:pointer}.button:hover{background:var(--brand-dark)}.button.small{padding:9px 14px;font-size:14px}.button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.button.full{width:100%}.button:disabled{opacity:.5;cursor:not-allowed}.hero{min-height:680px;padding:90px 7vw;display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center;background:linear-gradient(145deg,#fafaff,#eef0ff)}.hero h1,.store-hero h1{font-size:clamp(48px,6vw,84px);line-height:.98;letter-spacing:-.055em;margin:18px 0 24px}.hero p,.store-hero p{font-size:20px;line-height:1.65;color:var(--muted);max-width:680px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900;color:var(--brand)}.actions{display:flex;gap:12px;margin-top:30px}.hero-card{background:#111827;color:white;border-radius:24px;padding:28px;box-shadow:0 35px 80px rgba(30,41,59,.25)}.mock-top{display:flex;gap:7px}.mock-top span{width:9px;height:9px;border-radius:50%;background:#6b7280}.metric{padding:50px 0 26px}.metric b{display:block;font-size:50px}.metric small{color:#9ca3af}.bars{height:190px;display:flex;align-items:flex-end;gap:14px}.bars i{flex:1;border-radius:8px 8px 0 0;background:linear-gradient(#7775ff,#5b5af7)}.bars i:nth-child(1){height:25%}.bars i:nth-child(2){height:45%}.bars i:nth-child(3){height:38%}.bars i:nth-child(4){height:68%}.bars i:nth-child(5){height:82%}.bars i:nth-child(6){height:100%}.section{padding:90px 7vw}.section.muted{background:var(--bg)}.section-heading{text-align:center;max-width:760px;margin:0 auto 45px}.section-heading h2{font-size:42px;letter-spacing:-.04em;margin:10px 0}.section-heading p{color:var(--muted)}.grid{display:grid;gap:24px}.grid.three{grid-template-columns:repeat(3,1fr)}.card,.price-card,.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}.card p,.price-card p{color:var(--muted);line-height:1.7}.price-card b{display:block;font-size:44px;margin:20px 0}.price-card b small{font-size:15px;color:var(--muted)}.price-card.featured{border:2px solid var(--brand);transform:translateY(-10px)}.footer{padding:30px 7vw;border-top:1px solid var(--line);color:var(--muted);text-align:center}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:40px;background:linear-gradient(145deg,#f8f9ff,#eceeff)}.auth-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:0 25px 60px rgba(15,23,42,.12)}.auth-card h1{font-size:34px;letter-spacing:-.04em;margin:30px 0 8px}.auth-card>p{color:var(--muted)}label{display:block;font-size:13px;font-weight:750;margin:16px 0 0}input,textarea,select{width:100%;margin-top:7px;border:1px solid #d0d5dd;border-radius:9px;padding:12px 13px;background:#fff}textarea{resize:vertical}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.auth-card .button{margin-top:22px}.center{text-align:center}.alert{padding:13px 15px;border-radius:9px;margin:15px 0}.alert.error{background:#fef3f2;color:var(--danger)}.alert.success{background:#ecfdf3;color:var(--success)}.admin-body{background:var(--bg)}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#111827;color:#d1d5db;padding:24px 18px}.brand.light{color:#fff;display:block;padding:8px 10px 24px}.store-switch{border:1px solid #374151;border-radius:10px;padding:13px;margin-bottom:22px}.store-switch small{display:block;color:#9ca3af;margin-bottom:4px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:11px 12px;border-radius:8px}.sidebar nav a:hover{background:#1f2937;color:#fff}.admin-main{margin-left:240px;padding:28px}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.admin-top small{color:var(--muted)}.admin-top h1{font-size:34px;letter-spacing:-.04em;margin:5px 0}.user-menu{font-size:14px;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stats-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.stats-grid small{display:block;color:var(--muted)}.stats-grid b{font-size:32px;display:block;margin-top:10px}.panel{padding:0;overflow:hidden}.panel-head{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel h2,.panel-head h2{margin:0;font-size:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:14px}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;background:#fafafa}.badge{display:inline-flex;background:#f2f4f7;border-radius:20px;padding:5px 9px;font-size:12px}.two-column{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.7fr);gap:22px}.form-panel{padding:24px;overflow:visible}.form-panel h2{margin-bottom:10px}.link-button{border:0;background:none;color:var(--danger);cursor:pointer}.help{color:var(--muted);font-size:13px;line-height:1.6}.theme-grid{padding:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.theme-card{border:1px solid var(--line);border-radius:12px;padding:16px}.theme-preview{height:180px;background:#f1f3f6;border-radius:8px;padding:18px}.theme-preview div{height:18px;background:#d8dde6;border-radius:4px;margin-bottom:12px}.theme-preview div:nth-child(2){width:70%}.theme-preview div:nth-child(3){height:80px}.store-hero{padding:120px 7vw;background:linear-gradient(135deg,#101828,#20275b);color:#fff}.store-hero p{color:#d0d5dd}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.product-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.product-image{aspect-ratio:1/1;background:#f2f4f7;display:grid;place-items:center}.product-image img{width:100%;height:100%;object-fit:cover}.product-image span{font-size:70px;font-weight:900;color:#c5cad3}.product-info{padding:18px}.product-info h3{margin:0 0 8px}.product-info p{font-weight:800}.empty-state{text-align:center;padding:80px 30px}.empty-state p{color:var(--muted)}
@media(max-width:1050px){.hero{grid-template-columns:1fr}.hero-card{max-width:650px}.grid.three,.product-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}.theme-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar nav a:not(.button),.store-header nav a:not(:last-child){display:none}.hero{padding-top:60px;min-height:auto}.hero h1,.store-hero h1{font-size:48px}.grid.three,.product-grid,.stats-grid,.form-grid.two,.theme-grid{grid-template-columns:1fr}.sidebar{position:static;width:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.admin-main{margin-left:0;padding:18px}.admin-top{align-items:flex-start;gap:16px}.user-menu{text-align:right}.section{padding:65px 20px}.store-hero{padding:80px 20px}.auth-shell{padding:20px}.auth-card{padding:25px}}

.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:24px}
.module-card{border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.module-card h3{margin:12px 0 6px}.module-card p{color:var(--muted);font-size:14px;line-height:1.55;margin:0}
.module-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#eef0ff;color:var(--brand);font-weight:900}
.switch{margin:4px 0 0;position:relative;display:inline-block;width:48px;height:27px}
.switch input{opacity:0;width:0;height:0}
.switch span{position:absolute;cursor:pointer;inset:0;background:#d0d5dd;border-radius:999px;transition:.2s}
.switch span:before{content:"";position:absolute;width:21px;height:21px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.switch input:checked+span{background:var(--brand)}
.switch input:checked+span:before{transform:translateX(21px)}
.module-summary{padding:24px;display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:1050px){.module-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.module-grid{grid-template-columns:1fr}}

.min-page{min-height:calc(100vh - 76px)}.pricing-grid{grid-template-columns:repeat(4,1fr)}.feature-list{padding-left:20px;color:var(--muted);line-height:1.9;min-height:145px}.selected-plan{background:#f2f4ff;border:1px solid #dfe1ff;padding:12px 14px;border-radius:9px;margin:15px 0}.store-alert{margin:15px 7vw}.cart-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:24px}.summary-line{display:flex;justify-content:space-between;font-size:18px;padding:18px 0;border-bottom:1px solid var(--line)}.qty-form input{width:75px;margin:0}@media(max-width:1050px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.pricing-grid,.cart-layout{grid-template-columns:1fr}}

.edit-product-form{padding:24px}
.form-section{border-top:1px solid var(--line);padding:24px 0}
.form-section:first-child{border-top:0;padding-top:0}
.form-section h3{margin:0 0 12px}
.code-box{background:#111827;color:#e5e7eb;padding:18px;border-radius:10px;overflow:auto}
.theme-card form{margin-top:14px}
.theme-preview-minimal{background:#fff;border:1px solid #eee}
.theme-preview-boutique{background:#f3e7dd}

.current-product-photo{margin:18px 0}
.current-product-photo span{display:block;font-size:13px;font-weight:750;margin-bottom:8px}
.current-product-photo img{display:block;max-width:260px;max-height:260px;object-fit:cover;border:1px solid var(--line);border-radius:12px;background:#f2f4f7}
input[type="file"]{padding:10px;background:#fafafa}

.invoice-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:20px}.invoice-toolbar form{margin:0}
.invoice-admin-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);gap:24px}
.invoice-total-list{display:grid;gap:12px;margin:20px 0 28px}
.invoice-total-list div,.invoice-public-totals div{display:flex;justify-content:space-between;gap:20px}
.invoice-total-list .grand,.invoice-public-totals .grand{font-size:20px;border-top:1px solid var(--line);padding-top:12px}
.payment-history{display:grid;gap:10px}.payment-history div{border-top:1px solid var(--line);padding-top:10px}.payment-history span{display:block;color:var(--muted);font-size:13px}
.invoice-item-form{padding:24px}.invoice-item-grid{grid-template-columns:2fr 2fr .7fr 1fr 1fr 1fr}
.invoice-public-shell{background:#eef1f5;min-height:100vh;padding:40px}
.invoice-public-actions{max-width:980px;margin:0 auto 16px;display:flex;justify-content:flex-end}
.invoice-document{max-width:980px;margin:0 auto;background:#fff;padding:54px;box-shadow:0 20px 60px rgba(15,23,42,.12)}
.invoice-document-header{display:flex;justify-content:space-between;gap:40px;border-bottom:2px solid var(--ink);padding-bottom:28px}
.invoice-document-header h1{font-size:42px;margin:8px 0}.invoice-company{text-align:right}.invoice-company h2{margin:0 0 10px}.invoice-company p{margin:3px 0;color:var(--muted)}
.invoice-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:32px 0}.invoice-meta-grid div{display:flex;flex-direction:column;gap:5px}.invoice-meta-grid small{color:var(--muted);margin-top:10px}
.invoice-public-table{margin-top:10px}.invoice-public-totals{width:min(420px,100%);margin:30px 0 30px auto;display:grid;gap:10px}
.invoice-notes{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.invoice-notes p{color:var(--muted);line-height:1.6}
@media(max-width:1000px){.invoice-admin-grid{grid-template-columns:1fr}.invoice-item-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.invoice-document{padding:24px}.invoice-document-header,.invoice-meta-grid{grid-template-columns:1fr;display:grid}.invoice-company{text-align:left}.invoice-public-shell{padding:10px}.invoice-item-grid{grid-template-columns:1fr}}
@media print{.invoice-public-actions{display:none}.invoice-public-shell{padding:0;background:#fff}.invoice-document{box-shadow:none;max-width:none}}

.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:24px}
.media-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.media-thumb{aspect-ratio:1/1;background:#f2f4f7;display:grid;place-items:center}
.media-thumb img{width:100%;height:100%;object-fit:cover}
.media-meta{padding:14px}.media-meta b,.media-meta small{display:block}.media-meta small{color:var(--muted);margin:5px 0 10px}.media-meta input{font-size:12px}
@media(max-width:1000px){.media-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.media-grid{grid-template-columns:1fr}}

.course-public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.course-public-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.course-public-image{aspect-ratio:16/10;background:#f2f4f7;display:grid;place-items:center}
.course-public-image img{width:100%;height:100%;object-fit:cover}
.course-public-image span{font-size:72px;font-weight:900;color:#c5cad3}
.course-public-info{padding:22px}.course-public-info h2{margin:14px 0 8px}.course-public-info p{color:var(--muted);line-height:1.6}.course-public-info>b{display:block;font-size:22px;margin:18px 0}
.course-hero{padding:90px 7vw;background:#101828;color:#fff;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}
.course-hero h1{font-size:58px;letter-spacing:-.05em;margin:14px 0}.course-hero p{font-size:19px;line-height:1.6;color:#d0d5dd}
.course-hero img{width:100%;max-height:430px;object-fit:cover;border-radius:16px}
.course-meta{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.course-meta span{background:#ffffff17;padding:8px 12px;border-radius:20px}
.course-price{font-size:28px}.course-detail-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:34px}.course-description{line-height:1.75;color:var(--muted)}
.lesson-list{padding-left:22px}.lesson-list li{padding:12px 0;border-bottom:1px solid var(--line)}.lesson-list span,.lesson-list small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
@media(max-width:950px){.course-public-grid{grid-template-columns:repeat(2,1fr)}.course-hero,.course-detail-grid{grid-template-columns:1fr}}
@media(max-width:650px){.course-public-grid{grid-template-columns:1fr}.course-hero{padding:60px 20px}.course-hero h1{font-size:42px}}


/* Scrollable admin sidebar */
.sidebar{
    display:flex;
    flex-direction:column;
    overflow:hidden;
}

.sidebar .brand,
.sidebar .store-switch{
    flex:0 0 auto;
}

.sidebar nav{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:6px;
    scrollbar-width:thin;
    scrollbar-color:#4b5563 transparent;
}

.sidebar nav::-webkit-scrollbar{
    width:7px;
}

.sidebar nav::-webkit-scrollbar-track{
    background:transparent;
}

.sidebar nav::-webkit-scrollbar-thumb{
    background:#4b5563;
    border-radius:999px;
}

.sidebar nav::-webkit-scrollbar-thumb:hover{
    background:#6b7280;
}

@media(max-width:760px){
    .sidebar{
        max-height:70vh;
        overflow:hidden;
    }

    .sidebar nav{
        overflow-y:auto;
        max-height:52vh;
    }
}

.account-filter-form{display:flex;align-items:end;gap:14px;flex-wrap:wrap}
.account-filter-form label{margin:0;min-width:170px}
.account-filter-form .button{margin:0}
.accounts-stats{margin-top:20px}
.account-type-income{background:#ecfdf3;color:#13795b}
.account-type-expense{background:#fef3f2;color:#b42318}
.account-calculated-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.account-calculated-totals div{border:1px solid var(--line);border-radius:10px;padding:16px}
.account-calculated-totals span{display:block;color:var(--muted);font-size:12px}
.account-calculated-totals b{display:block;font-size:22px;margin-top:6px}
@media(max-width:700px){
    .account-calculated-totals{grid-template-columns:1fr}
}

.inline-form{display:inline-block;margin-left:10px}.button.danger{background:#b42318}.button.danger:hover{background:#912018}.button.secondary.full{margin-top:10px}

.checkbox-row{display:flex;align-items:center;gap:10px}
.checkbox-row input{width:auto;margin:0}
.page-section-add-form{padding-top:18px}
.page-section-admin-list{display:grid;gap:24px;margin-top:24px}
.page-section-admin-card{overflow:visible}
.page-section-admin-body{padding:24px}
.section-order-actions{display:flex;gap:7px}
.delete-section-form{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.section-item-add-form{padding-top:20px}
.section-item-list{display:grid;gap:10px;margin:15px 0}
.section-item-list article{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px}
.section-item-list img{width:70px;height:55px;object-fit:cover;border-radius:7px}
.section-item-list span{display:block;color:var(--muted);font-size:13px}
.content-section{padding:80px 7vw}
.content-section:nth-of-type(even){background:var(--bg)}
.page-text-block{max-width:900px;margin:auto;line-height:1.8;color:var(--muted);font-size:18px}
.page-slider{position:relative;min-height:520px;overflow:hidden;background:#111827}
.page-slide{display:none;position:absolute;inset:0}
.page-slide.active{display:block}
.page-slide img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.page-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.15))}
.page-slide-overlay{position:relative;z-index:2;color:#fff;max-width:720px;padding:120px 8vw}
.page-slide-overlay h2{font-size:56px;line-height:1.05;margin:0 0 18px}
.page-slide-overlay p{font-size:20px;line-height:1.6}
.slider-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:50%;background:#ffffffcc;font-size:30px;cursor:pointer}
.slider-arrow.previous{left:20px}.slider-arrow.next{right:20px}
.page-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.page-price-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}
.page-price{display:block;font-size:40px;margin:18px 0}
.page-price-content{color:var(--muted);line-height:1.7;margin-bottom:22px}
.page-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.page-gallery-grid figure{margin:0;overflow:hidden;border-radius:12px;background:#f2f4f7}
.page-gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.page-gallery-grid figcaption{padding:12px;font-weight:700}
.page-contact-wrap{max-width:760px;margin:auto}
.page-contact-form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}
.page-map-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:24px;align-items:stretch}
.page-map-grid iframe{width:100%;min-height:430px;border:0;border-radius:14px}
.page-map-details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.page-map-details p{line-height:1.7;color:var(--muted)}
.page-intro h1{font-size:52px;letter-spacing:-.04em;margin-bottom:16px}
@media(max-width:900px){
  .page-pricing-grid,.page-gallery-grid{grid-template-columns:repeat(2,1fr)}
  .page-map-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .content-section{padding:55px 20px}
  .page-pricing-grid,.page-gallery-grid{grid-template-columns:1fr}
  .page-slide-overlay{padding:90px 55px 70px 55px}
  .page-slide-overlay h2{font-size:40px}
}

.food-checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}
.food-ingredients{font-weight:400!important;color:var(--muted);line-height:1.55}
.food-badges{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.food-badges span{font-size:11px;border-radius:20px;background:#edf7ed;color:#256029;padding:5px 8px}
.food-allergens{display:block;color:#8a5b3d;line-height:1.4;margin:8px 0}
@media(max-width:650px){.food-checkbox-grid{grid-template-columns:1fr}}

.package-manager-layout{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(380px,.75fr);
    gap:24px;
}

.package-editor{
    overflow:visible;
}

.package-editor h3{
    margin:28px 0 8px;
    padding-top:20px;
    border-top:1px solid var(--line);
}

.package-module-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    margin-top:14px;
}

.package-module-option{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0;
    padding:13px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fafafa;
}

.package-module-option input{
    width:auto;
    margin:3px 0 0;
}

.package-module-option b,
.package-module-option small{
    display:block;
}

.package-module-option small{
    color:var(--muted);
    line-height:1.4;
    margin-top:3px;
}

.pricing-hero{
    padding:90px 7vw 50px;
    text-align:center;
    background:linear-gradient(145deg,#fafaff,#eef0ff);
}

.pricing-hero h1{
    max-width:850px;
    margin:14px auto 18px;
    font-size:clamp(42px,6vw,72px);
    line-height:1;
    letter-spacing:-.05em;
}

.pricing-hero p{
    color:var(--muted);
    font-size:19px;
}

.public-package-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    align-items:start;
}

.public-package-card{
    position:relative;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:30px;
}

.public-package-card.featured{
    border:2px solid var(--brand);
    transform:translateY(-10px);
    box-shadow:0 24px 60px rgba(91,90,247,.14);
}

.package-badge{
    position:absolute;
    top:-13px;
    right:22px;
    background:var(--brand);
    color:#fff;
    padding:7px 11px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

.public-package-card h2{
    font-size:28px;
    margin:8px 0;
}

.public-package-card>p{
    min-height:72px;
    color:var(--muted);
    line-height:1.6;
}

.public-package-price{
    display:flex;
    align-items:end;
    gap:7px;
    margin:22px 0 4px;
}

.public-package-price b{
    font-size:44px;
    letter-spacing:-.04em;
}

.public-package-price span,
.public-package-card>small{
    color:var(--muted);
}

.public-package-card ul{
    min-height:180px;
    list-style:none;
    padding:0;
    margin:24px 0;
}

.public-package-card li{
    padding:8px 0 8px 25px;
    position:relative;
}

.public-package-card li:before{
    content:"✓";
    position:absolute;
    left:0;
    color:var(--success);
    font-weight:900;
}

@media(max-width:1100px){
    .package-manager-layout{
        grid-template-columns:1fr;
    }

    .public-package-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:700px){
    .package-module-grid,
    .public-package-grid{
        grid-template-columns:1fr;
    }

    .public-package-card.featured{
        transform:none;
    }
}


.product-card-link{display:block;color:inherit;text-decoration:none}
.product-info h3 a{color:inherit;text-decoration:none}
.product-info h3 a:hover{text-decoration:underline}
.product-view-button{margin-bottom:10px}

.product-detail-shell{padding:60px 7vw 90px;background:#f7f8fa}
.product-detail-grid{max-width:1250px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:54px;align-items:start}
.product-detail-gallery,.product-detail-info{min-width:0}
.product-detail-main-image{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;aspect-ratio:1/1}
.product-detail-main-image img{width:100%;height:100%;object-fit:contain;display:block}
.product-thumbnail-row{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:5px}
.product-thumbnail{width:82px;height:82px;flex:0 0 82px;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;cursor:pointer}
.product-thumbnail img{width:100%;height:100%;object-fit:cover}
.product-detail-placeholder{aspect-ratio:1/1;display:grid;place-items:center;background:#eceff3;border-radius:18px;font-size:120px;font-weight:900;color:#c0c7d0}
.product-back-link{display:inline-block;margin-bottom:20px;color:var(--muted);text-decoration:none}
.product-detail-info h1{margin:0 0 18px;font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-.045em}
.product-detail-price{display:flex;gap:12px;align-items:center;margin-bottom:22px}
.product-detail-price b{font-size:34px}
.product-detail-price del{color:var(--muted);font-size:20px}
.product-detail-summary,.product-detail-description,.product-detail-section p{color:var(--muted);line-height:1.7}
.product-detail-description{margin:24px 0}
.product-detail-section{margin:24px 0}
.product-detail-section h3{margin:0 0 8px}
.allergen-box{border:1px solid #f4c7a1;background:#fff7ed;border-radius:12px;padding:16px}
.product-detail-food-badges{margin:20px 0}
.product-detail-meta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.product-detail-meta span{background:#eef2f6;padding:8px 10px;border-radius:999px;font-size:13px}
.product-stock-status{margin:24px 0}
.in-stock{color:#13795b;font-weight:800}
.out-of-stock{color:#b42318;font-weight:800}
.product-detail-cart-form{display:flex;gap:12px;align-items:end;margin-top:24px}
.product-detail-cart-form label{margin:0;width:120px}
.product-detail-cart-form input{width:100%}
.product-order-disabled{margin-top:24px;border:1px solid var(--line);background:#fff;padding:16px;border-radius:10px;color:var(--muted)}
.product-sku{display:block;margin-top:18px;color:var(--muted)}

@media(max-width:900px){
    .product-detail-grid{grid-template-columns:1fr;gap:30px}
    .product-detail-shell{padding:35px 20px 70px}
}
@media(max-width:520px){
    .product-detail-cart-form{flex-direction:column;align-items:stretch}
    .product-detail-cart-form label{width:100%}
}


/* Theme library */
.theme-library-header{
    margin-bottom:24px;
}

.theme-library-actions{
    display:flex;
    gap:10px;
}

.theme-library-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.theme-library-card{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 35px rgba(15,23,42,.05);
}

.theme-library-card.active{
    border:2px solid var(--brand);
}

.theme-preview-frame{
    position:relative;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#e9edf2;
    border-bottom:1px solid var(--line);
}

.theme-preview-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:top;
    display:block;
}

.theme-preview-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    text-align:center;
    color:#8a94a3;
}

.theme-preview-placeholder span{
    display:block;
    font-size:90px;
    font-weight:900;
}

.theme-preview-placeholder b{
    display:block;
}

.theme-active-badge{
    position:absolute;
    top:16px;
    right:16px;
    padding:8px 13px;
    border-radius:999px;
    background:#12a150;
    color:#fff;
    text-transform:uppercase;
    letter-spacing:.05em;
    font-size:11px;
    font-weight:900;
}

.theme-card-body{
    padding:22px;
}

.theme-card-title{
    display:flex;
    justify-content:space-between;
    gap:20px;
}

.theme-card-title h3{
    margin:0;
    font-size:24px;
}

.theme-card-title small{
    color:var(--muted);
}

.theme-card-body>p{
    min-height:52px;
    color:var(--muted);
    line-height:1.6;
}

.theme-template-support{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    margin:16px 0 20px;
}

.theme-template-support span{
    padding:6px 9px;
    border-radius:999px;
    background:#eff2f6;
    color:#556070;
    font-size:10px;
    font-weight:800;
}

.theme-card-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}

.theme-card-actions form{
    margin:0;
}

.theme-customizer-layout{
    display:grid;
    grid-template-columns:minmax(340px,.65fr) minmax(0,1.35fr);
    gap:24px;
}

.theme-customizer-preview{
    overflow:hidden;
}

.theme-customizer-preview iframe{
    width:100%;
    min-height:760px;
    border:0;
    background:#fff;
}

@media(max-width:1000px){
    .theme-library-grid,
    .theme-customizer-layout{
        grid-template-columns:1fr;
    }

    .theme-customizer-preview iframe{
        min-height:600px;
    }
}

@media(max-width:620px){
    .theme-library-grid{
        grid-template-columns:1fr;
    }

    .theme-card-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .theme-card-actions .button,
    .theme-card-actions form,
    .theme-card-actions form button{
        width:100%;
    }
}


.settings-section-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.settings-save-bar{
    position:sticky;
    bottom:0;
    z-index:20;
    margin-top:24px;
    padding:16px 20px;
    display:flex;
    justify-content:flex-end;
    border:1px solid var(--line);
    border-radius:12px;
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(10px);
    box-shadow:0 -8px 30px rgba(15,23,42,.08);
}

.auth-card label small,
.form-panel label small{
    display:block;
    margin-top:6px;
    color:var(--muted);
    line-height:1.45;
}

@media(max-width:850px){
    .settings-section-grid{
        grid-template-columns:1fr;
    }
}


/* Customer portal */
.customer-auth-shell{max-width:620px;margin:auto;padding:70px 20px}
.customer-auth-card{padding:38px;border:1px solid var(--line);background:#fff;box-shadow:0 18px 55px rgba(15,23,42,.08)}
.customer-auth-card>span,.customer-dashboard-welcome>span{color:#e33b34;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:900}
.customer-auth-card h1{font-size:38px;margin:8px 0 12px}
.customer-auth-card>p{color:var(--muted);line-height:1.6}
.customer-auth-switch{text-align:center;margin-top:22px!important}
.customer-portal-shell{max-width:1300px;margin:auto;padding:45px 25px 80px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;align-items:start}
.customer-portal-nav{position:sticky;top:20px;display:flex;flex-direction:column;border:1px solid var(--line);background:#fff}
.customer-portal-nav a{padding:13px 16px;border-bottom:1px solid var(--line);color:#4e5967;text-decoration:none;font-size:13px}
.customer-portal-nav a.active{background:#111;color:#fff;font-weight:800}
.customer-portal-content{min-width:0}
.customer-dashboard-welcome{padding:32px;background:#111;color:#fff}
.customer-dashboard-welcome h2{margin:8px 0;font-size:34px}
.customer-dashboard-welcome p{color:#bbb}
.customer-account-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0}
.customer-account-stats article{padding:18px;border:1px solid var(--line);background:#fff}
.customer-account-stats small,.customer-account-stats b{display:block}
.customer-account-stats small{color:var(--muted);font-size:11px}
.customer-account-stats b{font-size:26px;margin-top:7px}
.customer-account-panel{padding:25px;border:1px solid var(--line);background:#fff;margin-bottom:20px}
.customer-panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}
.customer-panel-heading h2,.customer-panel-heading h3{margin:0}
.customer-panel-heading a{color:#555;text-decoration:none;font-size:12px}
.customer-order-list{border-top:1px solid var(--line)}
.customer-order-list>a,.customer-list-row{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);color:#222;text-decoration:none}
.customer-order-list small,.customer-order-list b{display:block}
.customer-order-list small{color:var(--muted);margin-top:4px}
.customer-order-list span{color:#777;font-size:12px}
.customer-empty-state{padding:35px;text-align:center;color:var(--muted);background:#f7f8fa}
.customer-empty-state a{display:inline-block;margin-top:12px;color:#111;font-weight:800}
.customer-order-timeline{display:grid;grid-template-columns:repeat(5,1fr);margin-bottom:25px}
.customer-order-timeline div{text-align:center;position:relative;color:#aaa}
.customer-order-timeline div:after{content:"";position:absolute;top:14px;left:50%;width:100%;height:2px;background:#ddd;z-index:-1}
.customer-order-timeline div:last-child:after{display:none}
.customer-order-timeline span{width:30px;height:30px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#ddd;color:#fff}
.customer-order-timeline .complete{color:#111}
.customer-order-timeline .complete span,.customer-order-timeline .complete:after{background:#25a55f}
.customer-order-timeline b{display:block;margin-top:8px;font-size:10px}
.customer-order-item{display:grid;grid-template-columns:1fr auto auto;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.customer-order-item small,.customer-order-item b{display:block}
.customer-order-item small{color:var(--muted)}
.customer-order-actions{display:flex;gap:10px;flex-wrap:wrap}
.customer-two-column{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
.customer-address-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.customer-address-card{padding:20px;border:1px solid var(--line);background:#fff}
.customer-address-card h3{margin-top:0}
.customer-address-card p{color:#666;line-height:1.7}
.customer-wishlist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.customer-wishlist-grid article{border:1px solid var(--line);padding:12px}
.customer-wishlist-grid img{width:100%;aspect-ratio:1;object-fit:contain;background:#f6f6f6}
.customer-wishlist-grid h3{font-size:14px;min-height:38px}
.customer-course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.customer-course-grid article{display:grid;grid-template-columns:170px 1fr;border:1px solid var(--line);background:#fff}
.customer-course-grid img{width:100%;height:100%;object-fit:cover}
.customer-course-grid article>div{padding:20px}
.customer-course-grid article span{color:#e33b34;text-transform:uppercase;font-size:9px;font-weight:900}
.customer-progress{height:7px;background:#e4e6e9;margin:14px 0 7px}
.customer-progress i{display:block;height:100%;background:#25a55f}
.customer-ticket-thread{display:grid;gap:12px;margin-bottom:20px}
.customer-ticket-thread article{max-width:78%;padding:17px;background:#f0f2f4}
.customer-ticket-thread article.customer{margin-left:auto;background:#111;color:#fff}
.customer-ticket-thread p{line-height:1.6}
.customer-ticket-thread small{color:#999}
.customer-notification-list{display:grid;gap:12px}
.customer-notification-list article{padding:20px;border-left:4px solid #111;background:#fff;box-shadow:0 6px 25px rgba(15,23,42,.05)}
.customer-notification-list article>span{color:#e33b34;text-transform:uppercase;font-size:9px;font-weight:900}
.customer-notification-list h3{margin:5px 0}
.customer-notification-list p{color:#666}
.customer-notification-list small{color:#999}
.customer-profile-form{max-width:750px}
.product-wishlist-form{margin-top:10px}
@media(max-width:1000px){.customer-account-stats{grid-template-columns:repeat(3,1fr)}.customer-wishlist-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.customer-portal-shell{grid-template-columns:1fr}.customer-portal-nav{position:static;display:grid;grid-template-columns:repeat(3,1fr)}.customer-two-column{grid-template-columns:1fr}.customer-course-grid{grid-template-columns:1fr}}
@media(max-width:600px){.customer-account-stats{grid-template-columns:repeat(2,1fr)}.customer-portal-nav{grid-template-columns:repeat(2,1fr)}.customer-order-list>a,.customer-list-row{grid-template-columns:1fr}.customer-order-timeline{grid-template-columns:1fr;gap:10px}.customer-order-timeline div{text-align:left;display:flex;align-items:center;gap:10px}.customer-order-timeline div:after{display:none}.customer-order-timeline span{margin:0}.customer-order-timeline b{margin:0}.customer-order-item{grid-template-columns:1fr}.customer-address-grid,.customer-wishlist-grid{grid-template-columns:1fr}.customer-course-grid article{grid-template-columns:1fr}.customer-course-grid img{height:200px}}


/* Master administration */
.master-sidebar{background:#101522}
.master-sidebar .master-label{border-color:rgba(255,255,255,.12)}
.master-main{background:#f4f6f9}
.master-stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:15px;margin-bottom:24px}
.master-stat-grid article{padding:21px;border:1px solid var(--line);border-radius:12px;background:#fff}
.master-stat-grid small,.master-stat-grid b{display:block}
.master-stat-grid small{color:var(--muted);font-size:11px}
.master-stat-grid b{margin-top:8px;font-size:28px}
.master-dashboard-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:24px}
.master-quick-actions{display:flex;flex-direction:column}
.master-quick-actions>a{padding:16px 0;border-bottom:1px solid var(--line);color:#222;text-decoration:none}
.master-quick-actions b,.master-quick-actions span{display:block}
.master-quick-actions span{margin-top:4px;color:var(--muted);font-size:12px}
.master-package-layout{display:grid;grid-template-columns:minmax(300px,.55fr) minmax(0,1.45fr);gap:24px;align-items:start}
.master-package-list{display:flex;flex-direction:column}
.master-package-list>a{display:grid;grid-template-columns:1fr auto;gap:7px 15px;padding:15px;border-bottom:1px solid var(--line);color:#222;text-decoration:none}
.master-package-list>a.active{background:#111827;color:#fff}
.master-package-list small,.master-package-list b{display:block}
.master-package-list em{grid-column:1/-1;color:var(--muted);font-size:10px;font-style:normal}
.master-package-list>a.active em{color:#b9c2d0}
.master-package-editor h3{margin:30px 0 12px;padding-top:20px;border-top:1px solid var(--line)}
.package-checkboxes{margin:18px 0}
.package-feature-editor{display:grid;gap:9px;margin-bottom:12px}
.package-feature-row{display:grid;grid-template-columns:70px 1fr auto auto;gap:9px;align-items:center}
.package-feature-row input{margin:0}
.package-feature-row label{display:flex;align-items:center;gap:5px;margin:0;white-space:nowrap;font-size:11px}
.package-feature-row label input{width:auto}
.master-settings-form{max-width:850px}
.master-pricing-hero{padding:90px 7vw 55px;text-align:center;background:linear-gradient(145deg,#f9faff,#eef0ff)}
.master-pricing-hero h1{max-width:900px;margin:12px auto 17px;font-size:clamp(42px,6vw,72px);line-height:1;letter-spacing:-.05em}
.master-pricing-hero p{max-width:720px;margin:auto;color:var(--muted);font-size:18px}
.public-package-card{--package-colour:#5b5af7}
.public-package-card.featured{border-color:var(--package-colour)}
.public-package-card .button{background:var(--package-colour)}
.package-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--package-colour) 15%,white);color:var(--package-colour);font-size:23px}
.package-ribbon{position:absolute;left:-43px;top:21px;width:150px;padding:7px 0;transform:rotate(-42deg);background:var(--package-colour);color:#fff;text-align:center;text-transform:uppercase;font-size:9px;font-weight:900}
.public-package-card li{display:flex;gap:9px}
.public-package-card li.highlighted{font-weight:800}
.public-package-card li span{color:var(--package-colour)}
.public-package-card.coming-soon{opacity:.75}
.button.disabled{pointer-events:none;background:#aaa!important}

@media(max-width:1200px){
  .master-stat-grid{grid-template-columns:repeat(3,1fr)}
  .master-package-layout,.master-dashboard-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .master-stat-grid{grid-template-columns:repeat(2,1fr)}
  .package-feature-row{grid-template-columns:55px 1fr}
  .package-feature-row label,.package-feature-row button{grid-column:auto}
}


/* Website package removal */
.package-danger-zone{
    margin-top:32px;
    padding:22px;
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:center;
    border:1px solid #efb5b1;
    border-radius:12px;
    background:#fff5f4;
}

.package-danger-zone h3{
    margin:0 0 7px;
    padding:0;
    border:0;
    color:#a3231d;
}

.package-danger-zone p{
    max-width:680px;
    margin:0;
    color:#7b3a36;
    line-height:1.6;
}

.button.danger{
    background:#c92c24;
    color:#fff;
    border-color:#c92c24;
    white-space:nowrap;
}

.button.danger:hover{
    background:#a9231d;
    border-color:#a9231d;
}

@media(max-width:760px){
    .package-danger-zone{
        align-items:stretch;
        flex-direction:column;
    }

    .package-danger-zone form,
    .package-danger-zone .button{
        width:100%;
    }
}


/* Stripe payment mode selector */
.payment-mode-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-bottom:24px;
}

.payment-mode-card{
    position:relative;
    margin:0;
    padding:22px;
    display:block;
    border:2px solid var(--line);
    border-radius:14px;
    background:#fff;
    cursor:pointer;
}

.payment-mode-card:has(input:checked){
    border-color:var(--brand);
    box-shadow:0 10px 30px rgba(65,78,220,.12);
}

.payment-mode-card.recommended:after{
    content:"Recommended";
    position:absolute;
    top:-10px;
    right:13px;
    padding:5px 9px;
    border-radius:999px;
    background:var(--brand);
    color:#fff;
    text-transform:uppercase;
    font-size:8px;
    font-weight:900;
}

.payment-mode-card>input{
    position:absolute;
    top:18px;
    right:18px;
    width:auto;
}

.payment-mode-card b,
.payment-mode-card p,
.payment-mode-card small{
    display:block;
}

.payment-mode-card b{
    margin-top:14px;
    font-size:18px;
}

.payment-mode-card p{
    min-height:48px;
    color:var(--muted);
    line-height:1.55;
}

.payment-mode-card small{
    color:#8791a0;
}

.payment-mode-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#eff2f7;
    font-size:23px;
}

.payment-mode-panel{
    margin-bottom:20px;
}

.payment-mode-panel[hidden]{
    display:none!important;
}

.payment-webhook-box,
.payment-warning-box{
    margin:18px 0;
    padding:17px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f5f7fa;
}

.payment-webhook-box code{
    display:block;
    margin-top:8px;
    padding:10px;
    overflow-wrap:anywhere;
    background:#111827;
    color:#fff;
}

.payment-webhook-box p,
.payment-warning-box p{
    margin-bottom:0;
    color:var(--muted);
    line-height:1.55;
}

.payment-warning-box{
    border-color:#e8c77f;
    background:#fff9e9;
}

.payment-save-panel{
    position:sticky;
    bottom:0;
    z-index:20;
    padding:16px 20px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
}

.payment-save-panel>div{
    display:flex;
    gap:10px;
}

.connect-status-card{
    margin:18px 0;
    padding:18px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
    border:1px solid var(--line);
    border-radius:12px;
    background:#f8fafc;
}

.connect-status-card>div:first-child{
    display:flex;
    gap:12px;
    align-items:center;
}

.connect-status-card small,
.connect-status-card b{
    display:block;
}

.connect-status-card small{
    margin-top:4px;
    color:var(--muted);
}

.connect-status-dot{
    width:14px;
    height:14px;
    border-radius:50%;
    background:#e8a32a;
    box-shadow:0 0 0 5px #fff1cc;
}

.connect-status-dot.ready{
    background:#22a861;
    box-shadow:0 0 0 5px #dcf6e8;
}

.connect-status-flags{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
}

.connect-status-flags span{
    padding:6px 9px;
    border-radius:999px;
    background:#edf1f5;
    font-size:10px;
}

.payment-responsibility-list{
    display:grid;
    gap:12px;
}

.payment-responsibility-list article{
    padding:17px;
    border:1px solid var(--line);
    border-radius:10px;
}

.payment-responsibility-list p{
    margin-bottom:0;
    color:var(--muted);
    line-height:1.55;
}

@media(max-width:900px){
    .payment-mode-grid{
        grid-template-columns:1fr;
    }

    .payment-save-panel,
    .connect-status-card{
        align-items:stretch;
        flex-direction:column;
    }
}

@media(max-width:560px){
    .payment-save-panel>div,
    .payment-save-panel .button{
        width:100%;
    }

    .payment-save-panel>div{
        flex-direction:column;
    }
}


/* AJAX slider and gallery photo manager */
.section-media-manager{
    margin-top:18px;
}

.section-media-heading{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
    margin-bottom:16px;
}

.section-media-heading h3{
    margin:0 0 5px;
}

.section-media-dropzone{
    position:relative;
    min-height:150px;
    padding:25px;
    display:grid;
    place-items:center;
    border:2px dashed #c9d1dc;
    border-radius:14px;
    background:#f8fafc;
    text-align:center;
    cursor:pointer;
    transition:
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.section-media-dropzone:hover,
.section-media-dropzone:focus,
.section-media-dropzone.dragging{
    border-color:var(--brand);
    background:#f0f2ff;
    outline:0;
}

.section-media-dropzone.dragging{
    transform:scale(1.01);
}

.section-media-dropzone>input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}

.section-media-dropzone-content>span{
    width:48px;
    height:48px;
    margin:0 auto 12px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--brand);
    color:#fff;
    font-size:27px;
}

.section-media-dropzone-content b,
.section-media-dropzone-content small{
    display:block;
}

.section-media-dropzone-content small{
    margin-top:7px;
    color:var(--muted);
}

.section-upload-queue{
    margin:14px 0;
    display:grid;
    gap:7px;
}

.section-upload-row{
    display:grid;
    grid-template-columns:minmax(140px,1fr) minmax(100px,1fr) 70px;
    gap:12px;
    align-items:center;
    padding:9px 12px;
    border-radius:8px;
    background:#f5f7fa;
    font-size:11px;
}

.section-upload-row>span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.section-upload-row>div{
    height:6px;
    overflow:hidden;
    border-radius:999px;
    background:#dde2e9;
}

.section-upload-row i{
    display:block;
    width:0;
    height:100%;
    border-radius:inherit;
    background:var(--brand);
    transition:width .35s ease;
}

.section-upload-row.complete i{
    background:#25a55f;
}

.section-upload-row.failed i{
    background:#c92c24;
}

.section-upload-row small{
    color:var(--muted);
    text-align:right;
}

.section-media-grid{
    margin-top:18px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.section-media-item{
    position:relative;
    min-width:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    box-shadow:0 6px 20px rgba(15,23,42,.05);
}

.section-media-item.dragging-item{
    opacity:.45;
    transform:scale(.98);
}

.section-media-drag-handle{
    position:absolute;
    top:8px;
    left:8px;
    z-index:4;
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:7px;
    background:rgba(17,24,39,.82);
    color:#fff;
    cursor:grab;
    user-select:none;
}

.section-media-preview{
    position:relative;
    width:100%;
    aspect-ratio:1.25;
    padding:0;
    display:block;
    overflow:hidden;
    border:0;
    border-radius:0;
    background:#edf1f5;
    cursor:pointer;
}

.section-media-preview img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.section-media-edit-label{
    position:absolute;
    right:8px;
    bottom:8px;
    padding:5px 8px;
    border-radius:6px;
    background:rgba(17,24,39,.85);
    color:#fff;
    text-transform:uppercase;
    font-size:8px;
    font-weight:900;
}

.section-media-item-summary{
    min-height:50px;
    padding:12px 44px 12px 12px;
}

.section-media-item-summary b,
.section-media-item-summary small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.section-media-item-summary b{
    font-size:12px;
}

.section-media-item-summary small{
    margin-top:4px;
    color:var(--muted);
    font-size:10px;
}

.section-media-remove{
    position:absolute;
    right:9px;
    bottom:9px;
    width:28px;
    height:28px;
    padding:0;
    display:grid;
    place-items:center;
    border:0;
    border-radius:50%;
    background:#fff0ef;
    color:#b92720;
    cursor:pointer;
    font-size:19px;
}

.section-media-editor{
    position:absolute;
    inset:0;
    z-index:10;
    padding:16px;
    overflow:auto;
    background:rgba(255,255,255,.98);
}

.section-media-editor label{
    font-size:10px;
}

.section-media-editor input,
.section-media-editor textarea{
    margin-top:5px;
    padding:8px;
    font-size:11px;
}

.section-media-editor-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:12px;
}

.section-media-status{
    min-height:20px;
    margin-top:12px;
    color:var(--muted);
    font-size:12px;
}

.section-media-status.success{
    color:#1f864d;
}

.section-media-status.error{
    color:#b92720;
}

.section-media-status.warning{
    color:#9b6500;
}

@media(max-width:1100px){
    .section-media-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .section-media-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .section-media-heading{
        flex-direction:column;
    }
}

@media(max-width:480px){
    .section-media-grid{
        grid-template-columns:1fr;
    }

    .section-upload-row{
        grid-template-columns:1fr;
    }

    .section-upload-row small{
        text-align:left;
    }
}


/* Photo upload shown while creating a new page section */
.page-section-create-media{
    grid-column:1 / -1;
    margin:6px 0 12px;
    padding:18px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#f8fafc;
}

.page-section-create-media[hidden]{
    display:none!important;
}

.page-section-create-media input[type="file"]{
    padding:13px;
    border:2px dashed #c9d1dc;
    background:#fff;
}

.page-section-create-media small{
    display:block;
    margin-top:7px;
    color:var(--muted);
}

.page-section-create-preview{
    margin-top:14px;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
}

.page-section-create-preview article{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff;
}

.page-section-create-preview img{
    width:100%;
    aspect-ratio:1;
    display:block;
    object-fit:cover;
}

.page-section-create-preview small{
    padding:7px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px;
}

@media(max-width:900px){
    .page-section-create-preview{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media(max-width:560px){
    .page-section-create-preview{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}


/* Visual Page Section Builder */
.page-builder-create-form{
    display:grid;
    gap:22px;
}

.page-builder-type-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.page-builder-type-card{
    position:relative;
    min-height:140px;
    margin:0;
    padding:18px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    border:2px solid var(--line);
    border-radius:13px;
    background:#fff;
    cursor:pointer;
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.page-builder-type-card:hover{
    transform:translateY(-2px);
    border-color:#aab4c3;
}

.page-builder-type-card:has(input:checked){
    border-color:var(--brand);
    box-shadow:0 8px 28px rgba(65,78,220,.12);
}

.page-builder-type-card>input{
    position:absolute;
    top:14px;
    right:14px;
    width:auto;
}

.page-builder-type-card>span{
    width:42px;
    height:42px;
    margin-bottom:13px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#eef1f6;
    color:#172033;
    font-size:20px;
    font-weight:900;
}

.page-builder-type-card:has(input:checked)>span{
    background:var(--brand);
    color:#fff;
}

.page-builder-type-card b{
    font-size:15px;
}

.page-builder-type-card small{
    margin-top:7px;
    color:var(--muted);
    line-height:1.45;
}

.page-builder-settings-card{
    padding:24px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#f8fafc;
}

.page-builder-settings-card [data-section-panel][hidden]{
    display:none!important;
}

.page-builder-panel-heading{
    margin:8px 0 16px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
}

.page-builder-panel-heading h3{
    margin:0 0 5px;
}

.page-builder-panel-heading>label{
    min-width:160px;
    margin:0;
}

.page-builder-upload-box{
    position:relative;
    min-height:145px;
    margin:0 0 16px;
    padding:25px;
    display:grid;
    place-items:center;
    border:2px dashed #c4ccd8;
    border-radius:13px;
    background:#fff;
    text-align:center;
    cursor:pointer;
}

.page-builder-upload-box:hover{
    border-color:var(--brand);
    background:#f3f4ff;
}

.page-builder-upload-box>input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}

.page-builder-upload-box>span{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--brand);
    color:#fff;
    font-size:27px;
}

.page-builder-upload-box b,
.page-builder-upload-box small{
    display:block;
}

.page-builder-upload-box small{
    color:var(--muted);
}

.page-builder-photo-preview{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
    margin-bottom:18px;
}

.page-builder-photo-preview article{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff;
}

.page-builder-photo-preview img{
    width:100%;
    aspect-ratio:1;
    display:block;
    object-fit:cover;
}

.page-builder-photo-preview small{
    display:block;
    padding:7px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--muted);
    font-size:9px;
}

.page-builder-price-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-bottom:15px;
}

.page-builder-price-item{
    padding:17px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}

.page-builder-price-item-head{
    margin-bottom:13px;
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
}

.page-builder-price-item label{
    font-size:10px;
}

.page-builder-price-item input,
.page-builder-price-item textarea{
    padding:9px;
    font-size:12px;
}

.page-builder-information-box{
    padding:17px;
    border:1px solid #bfd5ec;
    border-radius:10px;
    background:#f0f7ff;
}

.page-builder-information-box p{
    margin-bottom:0;
    color:#53687c;
    line-height:1.55;
}

.page-builder-create-actions{
    display:flex;
    justify-content:flex-end;
}

.form-grid.three{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

@media(max-width:1050px){
    .page-builder-type-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .page-builder-price-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .page-builder-photo-preview{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media(max-width:650px){
    .page-builder-type-grid,
    .page-builder-price-list,
    .form-grid.three{
        grid-template-columns:1fr;
    }

    .page-builder-photo-preview{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .page-builder-panel-heading{
        flex-direction:column;
    }

    .page-builder-panel-heading>label{
        width:100%;
    }
}


/* Clean image previews: thumbnails only, no filenames */
.page-builder-photo-preview article{
    line-height:0;
}

.page-builder-photo-preview article small{
    display:none!important;
}

.section-media-item-summary small{
    display:none;
}

/* Theme-safe page pricing tables */
.page-pricing-grid{
    display:grid!important;
    grid-template-columns:repeat(
        var(--pricing-columns,3),
        minmax(0,1fr)
    )!important;
    gap:24px!important;
    width:100%;
    align-items:stretch;
}

.page-price-box{
    position:relative;
    min-width:0;
    padding:30px!important;
    display:flex!important;
    flex-direction:column;
    border:1px solid rgba(127,139,151,.28)!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#182230!important;
    box-shadow:0 12px 35px rgba(18,31,46,.08);
}

.page-price-box h3{
    margin:0 0 8px!important;
    color:inherit!important;
    font-size:24px!important;
    line-height:1.2;
}

.page-price-subtitle{
    min-height:42px;
    margin:0 0 16px;
    color:#74808d!important;
    line-height:1.55;
}

.page-price{
    display:block!important;
    margin:4px 0 22px!important;
    color:inherit!important;
    font-size:42px!important;
    font-weight:900;
    line-height:1;
}

.page-price-features{
    margin:0 0 25px!important;
    padding:0!important;
    display:grid;
    gap:11px;
    list-style:none!important;
    color:#56616d!important;
}

.page-price-features li{
    display:flex!important;
    gap:9px;
    align-items:flex-start;
    line-height:1.5;
}

.page-price-features li span{
    flex:0 0 auto;
    color:#27a261;
    font-weight:900;
}

.page-price-box .button{
    width:100%;
    margin-top:auto!important;
}

/* Theme-safe gallery layout */
.page-gallery-grid{
    display:grid!important;
    grid-template-columns:repeat(
        var(--gallery-columns,4),
        minmax(0,1fr)
    )!important;
    gap:var(--gallery-gap,16px)!important;
}

.page-gallery-grid figure{
    margin:0!important;
    overflow:hidden;
    border-radius:10px;
    background:#eef2f5;
}

.page-gallery-grid img{
    width:100%!important;
    height:100%!important;
    min-height:220px;
    aspect-ratio:4/3;
    display:block!important;
    object-fit:cover!important;
}

.page-gallery-grid figcaption{
    padding:11px 13px;
    background:#fff;
    color:#596570;
    font-size:12px;
}

@media(max-width:1000px){
    .page-pricing-grid,
    .page-gallery-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media(max-width:620px){
    .page-pricing-grid,
    .page-gallery-grid{
        grid-template-columns:1fr!important;
    }
}


/* Collapsible page section editors */
.page-section-editor{
    border-top:1px solid var(--line);
}

.page-section-editor>summary{
    padding:15px 24px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
    cursor:pointer;
    list-style:none;
    background:#f8fafc;
    color:#1a2433;
}

.page-section-editor>summary::-webkit-details-marker{
    display:none;
}

.page-section-editor>summary span{
    font-weight:800;
}

.page-section-editor>summary small{
    color:var(--muted);
}

.page-section-editor[open]>summary{
    border-bottom:1px solid var(--line);
    background:#f1f4f8;
}

.page-section-editor[open]>summary span::after{
    content:" — Collapse";
    color:var(--muted);
    font-weight:500;
}

.page-section-editor:not([open])>summary span::after{
    content:"";
}

.page-section-editor .page-section-admin-body{
    padding-top:22px;
}

/* Compact pricing item accordion */
.pricing-item-accordion{
    display:grid;
    gap:10px;
    margin-bottom:18px;
}

.pricing-item-details{
    border:1px solid var(--line);
    border-radius:11px;
    overflow:hidden;
    background:#fff;
}

.pricing-item-details>summary{
    padding:15px 17px;
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:18px;
    align-items:center;
    cursor:pointer;
    list-style:none;
}

.pricing-item-details>summary::-webkit-details-marker{
    display:none;
}

.pricing-item-details>summary b,
.pricing-item-details>summary small{
    display:block;
}

.pricing-item-details>summary small{
    margin-top:3px;
    color:var(--muted);
}

.pricing-item-details>summary strong{
    color:#647184;
    font-size:13px;
}

.pricing-item-toggle{
    color:var(--brand);
    font-size:11px;
    font-weight:800;
}

.pricing-item-details[open] .pricing-item-toggle{
    font-size:0;
}

.pricing-item-details[open] .pricing-item-toggle::after{
    content:"Collapse";
    font-size:11px;
}

.pricing-item-details-body{
    padding:18px;
    border-top:1px solid var(--line);
    background:#f8fafc;
}

.pricing-item-actions{
    display:flex;
    justify-content:flex-end;
}

.pricing-item-delete-form{
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid var(--line);
}

.add-pricing-item-details{
    margin-top:14px;
    border:1px dashed #b9c3cf;
    border-radius:11px;
    background:#f8fafc;
}

.add-pricing-item-details>summary{
    padding:15px 17px;
    cursor:pointer;
    list-style:none;
    color:var(--brand);
    font-weight:800;
}

.add-pricing-item-details>summary::-webkit-details-marker{
    display:none;
}

.add-pricing-item-details .section-item-add-form{
    padding:18px;
    border-top:1px solid var(--line);
    background:#fff;
}

@media(max-width:650px){
    .pricing-item-details>summary{
        grid-template-columns:1fr auto;
    }

    .pricing-item-details>summary strong{
        grid-column:1;
    }

    .pricing-item-toggle{
        grid-column:2;
        grid-row:1;
    }
}


/* Explicit add-to-current-pricing-section control */
.pricing-section-add-control{
    margin-top:16px;
}

.pricing-section-add-panel{
    margin-top:14px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#f8fafc;
}

.pricing-section-add-panel[hidden]{
    display:none!important;
}

.pricing-section-add-heading{
    margin-bottom:17px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
}

.pricing-section-add-heading h4{
    margin:0 0 5px;
    font-size:17px;
}

.pricing-section-add-heading p{
    margin:0;
    color:var(--muted);
    line-height:1.5;
}

.pricing-section-add-actions{
    display:flex;
    gap:9px;
    justify-content:flex-end;
    flex-wrap:wrap;
    margin-top:15px;
}

@media(max-width:620px){
    .pricing-section-add-heading{
        flex-direction:column;
    }

    .pricing-section-add-actions,
    .pricing-section-add-actions .button{
        width:100%;
    }

    .pricing-section-add-actions{
        flex-direction:column;
    }
}


/* Team and Services page-builder controls */
.page-builder-repeat-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-bottom:15px;
}
.page-builder-repeat-item{
    padding:17px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}
.page-builder-repeat-item label{font-size:10px}
.page-builder-repeat-item input,
.page-builder-repeat-item textarea{padding:9px;font-size:12px}
.content-item-accordion{display:grid;gap:10px;margin-bottom:16px}
.content-item-details{
    border:1px solid var(--line);
    border-radius:11px;
    overflow:hidden;
    background:#fff;
}
.content-item-details>summary{
    padding:12px 16px;
    display:grid;
    grid-template-columns:58px 1fr auto auto;
    gap:15px;
    align-items:center;
    cursor:pointer;
    list-style:none;
}
.content-item-details>summary::-webkit-details-marker{display:none}
.content-item-details>summary img{
    width:58px;
    height:58px;
    object-fit:cover;
    border-radius:8px;
}
.content-item-details>summary b,
.content-item-details>summary small{display:block}
.content-item-details>summary small{margin-top:4px;color:var(--muted)}
.content-item-details>summary span{
    color:var(--brand);
    font-size:11px;
    font-weight:800;
}
.content-item-details[open]>summary span{font-size:0}
.content-item-details[open]>summary span:after{
    content:"Collapse";
    font-size:11px;
}
.content-item-details-body{
    padding:18px;
    border-top:1px solid var(--line);
    background:#f8fafc;
}
.page-team-grid,
.page-services-grid{
    display:grid;
    gap:24px;
}
@media(max-width:1050px){
    .page-builder-repeat-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
    .page-builder-repeat-list{grid-template-columns:1fr}
    .content-item-details>summary{
        grid-template-columns:48px 1fr auto;
    }
    .content-item-details>summary img{
        width:48px;
        height:48px;
    }
    .content-item-details>summary strong{
        grid-column:2;
    }
}


/* Pricing and services cards with header pictures */
.page-price-box{
    overflow:hidden;
    padding:0!important;
}

.page-price-header-image{
    position:relative;
    min-height:210px;
    overflow:hidden;
    background:#dfe4ea;
}

.page-price-header-image::after{
    content:"";
    position:absolute;
    inset:35% 0 0;
    background:linear-gradient(transparent,rgba(8,15,24,.88));
}

.page-price-header-image img{
    width:100%;
    height:100%;
    min-height:210px;
    display:block;
    object-fit:cover;
}

.page-price-header-overlay{
    position:absolute;
    z-index:2;
    left:0;
    right:0;
    bottom:0;
    padding:22px;
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:flex-end;
    color:#fff;
}

.page-price-header-overlay h3{
    margin:0!important;
    color:#fff!important;
    font-size:21px!important;
}

.page-price-header-overlay .page-price{
    margin:0!important;
    color:#fff!important;
    font-size:27px!important;
    white-space:nowrap;
}

.page-price-body{
    padding:28px;
    display:flex;
    flex:1;
    flex-direction:column;
}

.page-price-box.has-header-image .page-price-subtitle{
    margin-top:0;
}

.page-service-card{
    overflow:hidden;
}

.page-service-image{
    position:relative;
    min-height:220px;
}

.page-service-image::after{
    content:"";
    position:absolute;
    inset:45% 0 0;
    background:linear-gradient(transparent,rgba(12,15,23,.72));
    pointer-events:none;
}

.page-service-image img{
    width:100%;
    height:100%;
    min-height:220px;
    object-fit:cover;
}

@media(max-width:620px){
    .page-price-header-overlay{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* =========================================================
   Reusable Section Library
   ========================================================= */
.section-library-create{
    display:grid;
    grid-template-columns:1fr 260px auto;
    gap:12px;
    align-items:end;
}

.section-library-create label{
    margin:0;
}

.section-library-grid{
    margin-top:20px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.section-library-card{
    display:flex;
    flex-direction:column;
}

.section-library-card-head{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
}

.section-library-card-head span{
    color:var(--brand);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:8px;
    font-weight:900;
}

.section-library-card-head h3{
    margin:7px 0 0;
    font-size:18px;
}

.section-library-card-head>b{
    padding:6px 8px;
    border-radius:999px;
    background:#eef1f5;
    color:#687382;
    white-space:nowrap;
    font-size:9px;
}

.section-library-card>p{
    color:var(--muted);
    line-height:1.6;
}

.section-library-actions{
    margin-top:auto;
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
}

/* Page layout with reusable sections */
.reusable-layout-builder{
    display:grid;
    grid-template-columns:360px minmax(0,1fr);
    gap:23px;
    align-items:start;
}

.reusable-section-library{
    position:sticky;
    top:18px;
    max-height:calc(100vh - 36px);
    padding:18px;
    overflow:auto;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
}

.reusable-section-library .panel-head{
    align-items:flex-start;
    flex-direction:column;
}

.reusable-library-list{
    display:grid;
    gap:9px;
}

.reusable-library-item{
    position:relative;
    padding:13px;
    display:flex;
    flex-direction:column;
    border:1px solid #dfe4eb;
    border-radius:9px;
    background:#fff;
    cursor:grab;
}

.reusable-library-item:hover{
    border-color:var(--brand);
    box-shadow:0 8px 22px rgba(40,45,90,.08);
}

.reusable-library-item>span{
    color:var(--brand);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:7px;
    font-weight:900;
}

.reusable-library-item>b{
    margin-top:5px;
    color:#263141;
    font-size:12px;
}

.reusable-library-item>small{
    margin-top:5px;
    color:#8993a0;
    font-size:9px;
    line-height:1.5;
}

.reusable-library-item>em{
    position:absolute;
    top:9px;
    right:9px;
    padding:4px 6px;
    border-radius:999px;
    background:#e7f6ec;
    color:#23824d;
    font-style:normal;
    font-size:7px;
    font-weight:800;
}

.reusable-page-canvas-panel{
    min-width:0;
}

.reusable-layout-heading{
    display:flex;
    justify-content:space-between;
    gap:25px;
    align-items:flex-start;
}

.reusable-layout-heading h1{
    margin:6px 0;
}

.reusable-layout-heading p{
    margin-bottom:0;
    color:var(--muted);
}

.reusable-browser-frame{
    margin-top:18px;
    overflow:hidden;
    border:1px solid #cfd6df;
    border-radius:12px;
    background:#eef1f5;
}

.reusable-page-canvas{
    min-height:360px;
    padding:15px;
    display:flex;
    flex-direction:column;
    gap:10px;
    background:#fff;
}

.reusable-page-canvas.accepting-new-section{
    background:#f2f3ff;
}

.reusable-layout-empty{
    min-height:300px;
    display:grid;
    place-items:center;
    border:2px dashed #c7cfda;
    border-radius:9px;
    color:#909aa7;
}

.reusable-placement-card{
    padding:15px;
    display:grid;
    grid-template-columns:32px 1fr auto 32px;
    gap:12px;
    align-items:center;
    border:1px solid #dfe4eb;
    border-radius:9px;
    background:#fff;
    box-shadow:0 5px 18px rgba(15,23,42,.04);
}

.reusable-placement-card.dragging{
    opacity:.42;
}

.reusable-placement-card b,
.reusable-placement-card small{
    display:block;
}

.reusable-placement-card b{
    color:#263141;
    font-size:13px;
}

.reusable-placement-card small{
    margin-top:4px;
    color:#8b95a2;
    font-size:9px;
}

.reusable-placement-card>a{
    color:var(--brand);
    font-size:10px;
    font-weight:800;
}

.reusable-placement-card>button{
    width:30px;
    height:30px;
    padding:0;
    display:grid;
    place-items:center;
    border:0;
    border-radius:50%;
    background:#fff0ef;
    color:#bd2922;
    cursor:pointer;
    font-size:18px;
}

@media(max-width:1100px){
    .section-library-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .reusable-layout-builder{
        grid-template-columns:310px minmax(0,1fr);
    }
}

@media(max-width:850px){
    .reusable-layout-builder{
        grid-template-columns:1fr;
    }

    .reusable-section-library{
        position:relative;
        top:auto;
        max-height:none;
    }
}

@media(max-width:650px){
    .section-library-create,
    .section-library-grid{
        grid-template-columns:1fr;
    }

    .reusable-layout-heading{
        flex-direction:column;
    }

    .reusable-placement-card{
        grid-template-columns:32px 1fr 32px;
    }

    .reusable-placement-card>a{
        grid-column:2;
    }
}


/* Customer Support ticket inbox */
.support-ticket-stats{
    margin-bottom:18px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.support-ticket-stats a{
    padding:17px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
    color:var(--ink);
}

.support-ticket-stats a.active{
    border-color:var(--brand);
    box-shadow:0 0 0 3px rgba(91,90,247,.09);
}

.support-ticket-stats span{
    color:var(--muted);
    font-size:11px;
}

.support-ticket-stats b{
    font-size:23px;
}

.support-inbox-heading{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:flex-start;
}

.support-search{
    display:flex;
    gap:8px;
}

.support-search input{
    min-width:260px;
}

.support-ticket-list{
    margin-top:18px;
    display:grid;
    gap:9px;
}

.support-ticket-row{
    padding:15px;
    display:grid;
    grid-template-columns:46px 190px minmax(0,1fr) 145px;
    gap:15px;
    align-items:center;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    color:var(--ink);
}

.support-ticket-row:hover{
    border-color:var(--brand);
    box-shadow:0 8px 25px rgba(20,30,55,.07);
}

.support-ticket-row.status-awaiting_staff{
    border-left:4px solid #d64a40;
}

.support-ticket-avatar{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#eef0f6;
    color:var(--brand);
    font-weight:900;
}

.support-ticket-customer b,
.support-ticket-customer small{
    display:block;
}

.support-ticket-customer small{
    margin-top:3px;
    overflow:hidden;
    color:var(--muted);
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px;
}

.support-ticket-summary>span{
    color:var(--brand);
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:7px;
    font-weight:900;
}

.support-ticket-summary h3{
    margin:5px 0;
    font-size:13px;
}

.support-ticket-summary p{
    margin:0;
    color:var(--muted);
    font-size:10px;
    line-height:1.55;
}

.support-ticket-meta{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:5px;
}

.support-ticket-meta em{
    padding:4px 7px;
    border-radius:999px;
    background:#eef1f5;
    color:#687483;
    font-style:normal;
    font-size:7px;
    font-weight:800;
}

.support-ticket-meta em.priority-high,
.support-ticket-meta em.priority-urgent{
    background:#fff0ef;
    color:#b82d27;
}

.support-ticket-meta strong{
    font-size:9px;
}

.support-ticket-meta time,
.support-ticket-meta small{
    color:var(--muted);
    font-size:8px;
}

/* Individual ticket */
.support-ticket-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 310px;
    gap:20px;
    align-items:start;
}

.support-thread-heading{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
}

.support-thread-heading>a{
    color:var(--brand);
    font-size:10px;
}

.support-thread-heading h2{
    margin:10px 0 4px;
}

.support-thread-heading p{
    margin:0;
    color:var(--muted);
}

.support-thread{
    margin:24px 0;
    display:grid;
    gap:15px;
}

.support-thread article{
    max-width:82%;
    padding:16px 18px;
    border-radius:12px;
}

.support-thread article.customer{
    justify-self:start;
    border:1px solid var(--line);
    background:#f6f8fb;
}

.support-thread article.staff{
    justify-self:end;
    background:#ececff;
}

.support-thread article header{
    display:flex;
    justify-content:space-between;
    gap:20px;
}

.support-thread article time{
    color:var(--muted);
    font-size:8px;
}

.support-thread article p{
    margin-bottom:0;
    line-height:1.7;
}

.support-reply-form{
    padding-top:20px;
    border-top:1px solid var(--line);
}

.support-reply-form p{
    color:var(--muted);
    font-size:10px;
}

.support-customer-card>span{
    color:var(--brand);
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:8px;
    font-weight:900;
}

.support-customer-card h3{
    margin:8px 0 13px;
}

.support-customer-card>a:not(.button){
    display:block;
    margin:7px 0;
    color:var(--muted);
}

.support-customer-card .button{
    margin-top:16px;
}

@media(max-width:1050px){
    .support-ticket-row{
        grid-template-columns:46px 170px minmax(0,1fr);
    }

    .support-ticket-meta{
        grid-column:3;
        align-items:flex-start;
        flex-direction:row;
        flex-wrap:wrap;
    }
}

@media(max-width:800px){
    .support-ticket-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .support-ticket-layout{
        grid-template-columns:1fr;
    }

    .support-inbox-heading{
        flex-direction:column;
    }
}

@media(max-width:620px){
    .support-ticket-row{
        grid-template-columns:42px 1fr;
    }

    .support-ticket-summary,
    .support-ticket-meta{
        grid-column:1/-1;
    }

    .support-ticket-meta{
        align-items:flex-start;
    }

    .support-search,
    .support-search input{
        width:100%;
    }

    .support-thread article{
        max-width:100%;
    }
}


/* Website branding and communications */
.website-logo-preview{padding:14px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.website-logo-preview img{display:block;max-width:260px;max-height:100px;object-fit:contain;margin-bottom:10px}.settings-email-panel{grid-column:1/-1}.settings-card-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.settings-card-heading a{color:var(--brand);font-size:11px;font-weight:800}.smtp-test-box{margin-top:16px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;border:1px dashed #bcc6d3;border-radius:10px;background:#f8fafc}.smtp-test-box label{margin:0}.email-log-filters{display:flex;gap:7px;flex-wrap:wrap}.email-log-filters a{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:9px;font-weight:800}.email-log-filters a.active{border-color:var(--brand);color:var(--brand)}.email-log-list{display:grid;gap:9px;margin-top:18px}.email-log-item{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.email-log-item>summary{padding:14px;display:grid;grid-template-columns:12px 1fr auto 130px;gap:12px;align-items:center;cursor:pointer;list-style:none}.email-log-item>summary::-webkit-details-marker{display:none}.email-status-dot{width:10px;height:10px;border-radius:50%;background:#b6bdc7}.email-log-item.status-sent .email-status-dot{background:#25a15f}.email-log-item.status-failed .email-status-dot{background:#d33a32}.email-log-item summary b,.email-log-item summary small{display:block}.email-log-item summary small{margin-top:3px;color:var(--muted);font-size:9px}.email-log-item summary em{font-style:normal;font-size:9px;font-weight:800}.email-log-item summary time{color:var(--muted);font-size:9px;text-align:right}.email-log-item>div{padding:16px;border-top:1px solid var(--line);background:#f8fafc}.email-log-item pre{max-height:240px;overflow:auto;padding:12px;border-radius:7px;background:#17202c;color:#dce5ef;white-space:pre-wrap;font-size:9px}.email-template-editor>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none}.email-template-editor>summary::-webkit-details-marker{display:none}.email-template-editor summary b,.email-template-editor summary small{display:block}.email-template-editor summary small{color:var(--muted);margin-top:3px}.email-template-editor>form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.store-logo img{display:block;max-width:220px;max-height:70px;object-fit:contain}.jh-original-logo img{display:block;max-width:190px;max-height:66px;object-fit:contain}.jh-original-footer-logo img{display:block;max-width:240px;max-height:100px;object-fit:contain}.handy-logo img,.restaurant-logo img{max-width:210px;max-height:72px;object-fit:contain}
@media(max-width:700px){.smtp-test-box{grid-template-columns:1fr}.settings-card-heading{flex-direction:column}.email-log-item>summary{grid-template-columns:12px 1fr auto}.email-log-item summary time{grid-column:2;text-align:left}}

.incoming-email-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.incoming-email-head h2{margin-top:0}.incoming-email-grid{margin-top:18px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:18px;align-items:start}.imap-sync-list{display:grid;gap:9px;margin-bottom:24px}.imap-sync-list article{padding:12px;border:1px solid var(--line);border-radius:8px}.imap-sync-list b,.imap-sync-list small{display:block}.imap-sync-list small{margin-top:4px;color:var(--muted)}.imap-sync-list p{margin-bottom:0;color:#b52d27;font-size:10px}.incoming-email-grid code{display:block;padding:12px;overflow:auto;border-radius:7px;background:#111827;color:#e5e7eb;font-size:10px}@media(max-width:850px){.incoming-email-grid{grid-template-columns:1fr}.incoming-email-head{flex-direction:column}}


/* Dashboard support-ticket attention counter */
.dashboard-attention-card{
    margin-bottom:18px;
    padding:19px 21px;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    border:1px solid var(--line);
    border-radius:13px;
    background:#fff;
    color:var(--ink);
    box-shadow:0 10px 30px rgba(17,24,39,.05);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.dashboard-attention-card:hover{
    transform:translateY(-2px);
    border-color:var(--brand);
    box-shadow:0 15px 38px rgba(17,24,39,.09);
}

.dashboard-attention-card.has-attention{
    border-left:5px solid #d53b33;
    background:linear-gradient(90deg,#fff5f4 0,#fff 28%);
}

.dashboard-attention-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#edf0f5;
    color:#647184;
    font-size:20px;
    font-weight:900;
}

.dashboard-attention-card.has-attention .dashboard-attention-icon{
    background:#ffe2df;
    color:#c72f28;
}

.dashboard-attention-card span{
    color:var(--brand);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:8px;
    font-weight:900;
}

.dashboard-attention-card h3{
    margin:4px 0 3px;
    font-size:18px;
}

.dashboard-attention-card p{
    margin:0;
    color:var(--muted);
    font-size:11px;
}

.dashboard-attention-card strong{
    min-width:54px;
    height:54px;
    padding:0 13px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#eef1f5;
    color:#2d3745;
    font-size:24px;
}

.dashboard-attention-card.has-attention strong{
    background:#d53b33;
    color:#fff;
}

@media(max-width:560px){
    .dashboard-attention-card{
        grid-template-columns:42px 1fr;
    }

    .dashboard-attention-card strong{
        grid-column:1/-1;
        width:100%;
        border-radius:8px;
    }
}


/* Consistent GD-generated thumbnails */
.media-grid img,
.section-media-item img,
.page-builder-photo-preview img,
.content-item-details>summary img,
.product-admin-image img,
.section-library-card img{
    aspect-ratio:3/2;
    object-fit:cover;
}

.image-variant-summary{
    margin:22px 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.image-variant-summary article{
    padding:18px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f8fafc;
}

.image-variant-summary b,
.image-variant-summary span,
.image-variant-summary small{
    display:block;
}

.image-variant-summary span{
    margin-top:7px;
    color:var(--brand);
    font-weight:800;
}

.image-variant-summary small{
    margin-top:5px;
    color:var(--muted);
    line-height:1.5;
}

@media(max-width:700px){
    .image-variant-summary{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   Grouped Creatix admin workspace navigation
   ========================================================= */
.sidebar{
    width:252px;
    padding:18px 14px 16px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    transition:width .22s ease,transform .22s ease;
}

.sidebar-brand-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.sidebar .brand.light{
    padding:9px 10px 20px;
}

.sidebar-collapse-button{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border:1px solid #2c3748;
    border-radius:7px;
    background:#182234;
    color:#aab4c4;
    cursor:pointer;
}

.store-switch{
    flex:0 0 auto;
    margin-bottom:13px;
}

.admin-navigation{
    min-height:0;
    flex:1;
    overflow-y:auto;
    padding:2px 3px 18px 0;
    scrollbar-width:thin;
    scrollbar-color:#4b5563 transparent;
}

.admin-navigation::-webkit-scrollbar{
    width:5px;
}

.admin-navigation::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:#4b5563;
}

.admin-primary-link,
.admin-nav-group>summary,
.sidebar-footer-actions a{
    min-height:44px;
    padding:10px 11px;
    display:grid;
    grid-template-columns:28px 1fr auto;
    gap:8px;
    align-items:center;
    border-radius:8px;
    color:#d1d5db;
    cursor:pointer;
    list-style:none;
    font-size:13px;
}

.admin-primary-link::-webkit-details-marker,
.admin-nav-group>summary::-webkit-details-marker{
    display:none;
}

.admin-primary-link:hover,
.admin-primary-link.active,
.admin-nav-group>summary:hover,
.admin-nav-group[open]>summary{
    background:#1d293b;
    color:#fff;
}

.admin-nav-icon{
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:6px;
    background:rgba(255,255,255,.055);
    color:#c7cfdb;
    font-size:13px;
    font-style:normal;
}

.admin-primary-link.active .admin-nav-icon,
.admin-nav-group[open]>summary .admin-nav-icon{
    background:var(--brand);
    color:#fff;
}

.admin-nav-group{
    margin-top:3px;
}

.admin-nav-group>summary i{
    color:#7f8a99;
    font-size:12px;
    font-style:normal;
    transition:transform .2s ease;
}

.admin-nav-group[open]>summary i{
    transform:rotate(180deg);
}

.admin-nav-group>div{
    margin:2px 0 7px 38px;
    padding-left:9px;
    display:grid;
    gap:2px;
    border-left:1px solid #2a3546;
}

.admin-subnav-link{
    padding:8px 10px;
    border-radius:7px;
    color:#9fa9b8;
    font-size:12px;
}

.admin-subnav-link:hover,
.admin-subnav-link.active{
    background:#192334;
    color:#fff;
}

.admin-subnav-link.active{
    box-shadow:inset 2px 0 0 var(--brand);
}

.sidebar-footer-actions{
    flex:0 0 auto;
    padding-top:12px;
    border-top:1px solid #263143;
}

.sidebar-footer-actions a{
    grid-template-columns:28px 1fr;
}

.admin-main{
    margin-left:252px;
    min-width:0;
    transition:margin-left .22s ease;
}

body.admin-sidebar-collapsed .sidebar{
    width:76px;
}

body.admin-sidebar-collapsed .admin-main{
    margin-left:76px;
}

body.admin-sidebar-collapsed .sidebar .brand,
body.admin-sidebar-collapsed .store-switch,
body.admin-sidebar-collapsed .admin-primary-link>span:last-child,
body.admin-sidebar-collapsed .admin-nav-group>summary>span:nth-child(2),
body.admin-sidebar-collapsed .admin-nav-group>summary i,
body.admin-sidebar-collapsed .admin-nav-group>div,
body.admin-sidebar-collapsed .sidebar-footer-actions a>span:last-child{
    display:none;
}

body.admin-sidebar-collapsed .sidebar-brand-row{
    justify-content:center;
}

body.admin-sidebar-collapsed .sidebar-collapse-button{
    transform:rotate(180deg);
}

body.admin-sidebar-collapsed .admin-primary-link,
body.admin-sidebar-collapsed .admin-nav-group>summary,
body.admin-sidebar-collapsed .sidebar-footer-actions a{
    grid-template-columns:1fr;
    justify-items:center;
}

.admin-top{
    gap:25px;
}

.admin-title-area,
.admin-top-actions{
    display:flex;
    align-items:center;
    gap:16px;
}

.admin-top-actions{
    justify-content:flex-end;
}

.mobile-sidebar-button{
    display:none;
    width:40px;
    height:40px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    color:var(--ink);
}

.admin-search-trigger{
    min-width:205px;
    padding:9px 11px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    border:1px solid #d8dde5;
    border-radius:9px;
    background:#fff;
    color:#7b8491;
    cursor:pointer;
    font-size:11px;
}

.admin-search-trigger kbd,
.admin-command-search kbd{
    padding:3px 6px;
    border:1px solid #d8dde5;
    border-bottom-width:2px;
    border-radius:5px;
    background:#f7f8fa;
    color:#697383;
    font-family:inherit;
    font-size:9px;
}

.admin-workspace-tabs{
    margin:-8px 0 24px;
    display:flex;
    gap:4px;
    overflow-x:auto;
    border-bottom:1px solid var(--line);
}

.admin-workspace-tabs a{
    position:relative;
    padding:13px 15px;
    color:#758091;
    white-space:nowrap;
    font-size:12px;
    font-weight:700;
}

.admin-workspace-tabs a:hover{
    color:var(--ink);
}

.admin-workspace-tabs a.active{
    color:var(--brand);
}

.admin-workspace-tabs a.active::after{
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    bottom:-1px;
    height:2px;
    background:var(--brand);
}

.admin-command-palette{
    position:fixed;
    inset:0;
    z-index:1000;
    display:grid;
    place-items:start center;
    padding-top:min(16vh,150px);
}

.admin-command-palette[hidden]{
    display:none;
}

.admin-command-backdrop{
    position:absolute;
    inset:0;
    border:0;
    background:rgba(10,17,28,.58);
    backdrop-filter:blur(3px);
}

.admin-command-dialog{
    position:relative;
    width:min(620px,calc(100% - 34px));
    overflow:hidden;
    border:1px solid #dce1e8;
    border-radius:14px;
    background:#fff;
    box-shadow:0 30px 90px rgba(0,0,0,.25);
}

.admin-command-search{
    padding:14px 16px;
    display:grid;
    grid-template-columns:24px 1fr auto;
    gap:10px;
    align-items:center;
    border-bottom:1px solid var(--line);
}

.admin-command-search input{
    margin:0;
    padding:7px 0;
    border:0;
    outline:0;
    font-size:15px;
}

.admin-command-results{
    max-height:420px;
    padding:8px;
    overflow:auto;
}

.admin-command-results a{
    padding:11px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    border-radius:8px;
}

.admin-command-results a:hover,
.admin-command-results a.keyboard-active{
    background:#f0f1ff;
    color:var(--brand);
}

.admin-command-results small{
    color:#929aa6;
    font-size:9px;
}

.admin-command-results p{
    padding:25px;
    color:var(--muted);
    text-align:center;
}

@media(max-width:900px){
    .sidebar{
        z-index:500;
        width:270px;
        transform:translateX(-100%);
        box-shadow:20px 0 60px rgba(0,0,0,.22);
    }

    body.admin-mobile-sidebar-open .sidebar{
        transform:translateX(0);
    }

    .admin-main,
    body.admin-sidebar-collapsed .admin-main{
        margin-left:0;
    }

    .sidebar-collapse-button{
        display:none;
    }

    .mobile-sidebar-button{
        display:grid;
        place-items:center;
    }

    .admin-search-trigger{
        min-width:44px;
        width:44px;
    }

    .admin-search-trigger span{
        display:none;
    }

    .admin-top{
        align-items:flex-start;
    }
}

@media(max-width:620px){
    .admin-top{
        flex-direction:column;
    }

    .admin-top-actions{
        width:100%;
        justify-content:space-between;
    }

    .admin-workspace-tabs{
        margin-top:0;
    }
}


/* Shipping module */
.shipping-stat-grid{
    margin-bottom:18px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:13px;
}

.shipping-stat-grid article{
    padding:18px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
}

.shipping-stat-grid span,
.shipping-stat-grid b{
    display:block;
}

.shipping-stat-grid span{
    color:var(--muted);
    font-size:10px;
}

.shipping-stat-grid b{
    margin-top:7px;
    font-size:25px;
}

.shipping-carrier-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.shipping-carrier-grid article{
    padding:21px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:16px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#f9fafc;
}

.shipping-carrier-grid article>span,
.shipping-carrier-grid article strong{
    text-transform:uppercase;
}

.shipping-carrier-grid article>div>span{
    color:var(--brand);
    letter-spacing:.12em;
    font-size:8px;
    font-weight:900;
}

.shipping-carrier-grid h3{
    margin:7px 0;
}

.shipping-carrier-grid p{
    color:var(--muted);
}

.shipping-carrier-grid strong{
    padding:6px 8px;
    align-self:start;
    border-radius:999px;
    background:#eceff3;
    color:#778290;
    font-size:8px;
}

.shipping-carrier-grid strong.enabled{
    background:#e3f7ea;
    color:#21834d;
}

.shipping-carrier-grid .button{
    grid-column:1/-1;
}

.inline-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

@media(max-width:800px){
    .shipping-stat-grid,
    .shipping-carrier-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:520px){
    .shipping-stat-grid,
    .shipping-carrier-grid{
        grid-template-columns:1fr;
    }
}


.delivery-zone-grid,
.delivery-method-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.delivery-zone-grid article,
.delivery-method-grid article{
    position:relative;
    display:flex;
    flex-direction:column;
}

.delivery-zone-colour{
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:5px;
    border-radius:12px 12px 0 0;
}

.delivery-zone-card-head{
    padding-top:6px;
    display:flex;
    justify-content:space-between;
    gap:15px;
}

.delivery-zone-card-head span,
.delivery-method-grid article>span{
    color:var(--brand);
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:8px;
    font-weight:900;
}

.delivery-zone-card-head h3,
.delivery-method-grid h3{
    margin:7px 0;
}

.delivery-zone-card-head>b{
    padding:5px 7px;
    align-self:start;
    border-radius:999px;
    background:#e6f6eb;
    color:#237a49;
    font-size:8px;
}

.delivery-zone-grid p,
.delivery-method-grid p{
    color:var(--muted);
    line-height:1.6;
}

.delivery-zone-grid small,
.delivery-method-grid small{
    margin-top:auto;
    color:var(--muted);
}

.delivery-method-grid strong{
    margin:9px 0;
    font-size:24px;
}

.delivery-zone-pricing-list{
    display:grid;
    gap:12px;
}

.delivery-zone-price-row{
    padding:15px;
    display:grid;
    grid-template-columns:minmax(180px,1.5fr) repeat(5,minmax(110px,1fr)) auto auto;
    gap:10px;
    align-items:end;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fafbfc;
}

.delivery-zone-price-row>div:first-child{
    align-self:center;
    display:flex;
    align-items:center;
    gap:10px;
}

.delivery-zone-price-row>div:first-child>span{
    width:13px;
    height:40px;
    border-radius:999px;
}

.delivery-zone-price-row b,
.delivery-zone-price-row small{
    display:block;
}

.delivery-zone-price-row small{
    color:var(--muted);
}

@media(max-width:1250px){
    .delivery-zone-price-row{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:950px){
    .delivery-zone-grid,
    .delivery-method-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .delivery-zone-grid,
    .delivery-method-grid,
    .delivery-zone-price-row{
        grid-template-columns:1fr;
    }
}


/* Slider overlay editor and reliable slide ordering */
.section-media-item{
    position:relative;
}

.section-media-grid.is-sorting{
    user-select:none;
}

.section-media-item.dragging-item{
    opacity:.45;
    transform:scale(.98);
    outline:2px dashed var(--brand);
    outline-offset:3px;
}

.section-media-drag-handle{
    cursor:grab;
    touch-action:none;
}

.section-media-drag-handle:active{
    cursor:grabbing;
}

.section-media-order-buttons{
    position:absolute;
    left:8px;
    bottom:8px;
    z-index:4;
    display:flex;
    gap:4px;
}

.section-media-order-buttons button{
    width:29px;
    height:29px;
    padding:0;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.7);
    border-radius:6px;
    background:rgba(20,28,40,.84);
    color:#fff;
    cursor:pointer;
    font-size:13px;
    line-height:1;
}

.section-media-order-buttons button:hover{
    background:var(--brand);
}

.section-media-edit-label{
    padding:7px 10px;
    border-radius:7px;
    background:rgba(20,28,40,.88);
    color:#fff;
    font-size:10px;
    font-weight:800;
}

.section-media-editor{
    position:relative;
    z-index:8;
    grid-column:1/-1;
    margin-top:10px;
    padding:16px;
    border:1px solid #d9dfea;
    border-radius:10px;
    background:#fff;
    box-shadow:0 14px 38px rgba(17,24,39,.12);
}

.section-media-editor label{
    margin-bottom:12px;
}

.section-media-editor-actions{
    display:flex;
    gap:8px;
    align-items:center;
}

@media(max-width:700px){
    .section-media-order-buttons{
        position:static;
        margin-top:7px;
    }
}


/* Inline slider controller diagnostics */
.section-media-manager[data-inline-slider-ready="1"]
.section-media-order-buttons button{
    pointer-events:auto;
}

.section-media-manager[data-inline-slider-ready="1"]
.section-media-edit-label::before{
    content:"";
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:6px;
    border-radius:50%;
    background:#43c77a;
    vertical-align:middle;
}


/* Dedicated external slider controller */
.section-media-manager[data-slider-controller="external-v3"]
.section-media-edit-label::before{
    content:"";
    display:inline-block;
    width:7px;
    height:7px;
    margin-right:6px;
    border-radius:50%;
    background:#31c46d;
    box-shadow:0 0 0 3px rgba(49,196,109,.18);
    vertical-align:middle;
}

.section-media-manager.slider-controller-failed{
    outline:2px solid #d7352c;
    outline-offset:5px;
}

.slider-controller-diagnostic{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:12px 18px;
}

.slider-controller-diagnostic dt{
    font-weight:800;
}

.slider-controller-diagnostic dd{
    margin:0;
    overflow-wrap:anywhere;
}
