:root{
    --bg:#ffffff;
    --surface:#f6f7f8;
    --surface-2:#eef0f2;
    --text:#17191c;
    --muted:#6c737c;
    --line:#e3e6e8;
    --brand:#d51f2b;
    --brand-dark:#a91620;
    --dark:#111315;
    --radius:14px;
    --shadow:0 10px 30px rgba(20,25,30,.06);
    --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.65}
img{max-width:100%;height:auto}
a{color:inherit}
.container{width:min(calc(100% - 32px),var(--container));margin-inline:auto}
.topbar{background:var(--dark);color:#fff;font-size:12px}
.topbar-inner{display:flex;justify-content:space-between;gap:16px;padding-block:7px}
.topbar-note{color:#b9bec4}
.header-main{display:grid;grid-template-columns:auto minmax(280px,1fr);align-items:center;gap:42px;padding-block:18px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--brand);color:#fff;font-size:24px;font-weight:900}
.brand strong{display:block;font-size:17px;letter-spacing:.04em}
.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.header-search,.hero-search,.search-page-form{display:flex;gap:8px}
.header-search input,.hero-search input,.search-page-form input{min-width:0;flex:1;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font:inherit;background:#fff}
.header-search button,.hero-search button,.search-page-form button,.button-link{border:0;border-radius:10px;background:var(--brand);color:#fff;padding:12px 18px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.header-search button:hover,.hero-search button:hover,.search-page-form button:hover,.button-link:hover{background:var(--brand-dark)}
.main-nav{border-block:1px solid var(--line);background:#fff}
.nav-inner{display:flex;gap:22px;overflow:auto;padding-block:11px}
.nav-inner a{text-decoration:none;font-size:14px;font-weight:650;white-space:nowrap}
.nav-inner a:hover{color:var(--brand)}
.hero{background:linear-gradient(135deg,#f7f7f8 0%,#fff 70%);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:60px;align-items:center;padding-block:74px}
.eyebrow{display:inline-block;color:var(--brand);font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}
.hero h1,.page-hero h1,.article-header h1,.product-summary h1{font-size:clamp(34px,5vw,62px);line-height:1.08;letter-spacing:-.035em;margin:0 0 18px}
.hero p{font-size:18px;color:var(--muted);max-width:720px}
.hero-search{max-width:720px;margin-top:26px}
.hero-stats{display:grid;grid-template-columns:1fr;gap:10px}
.hero-stats div{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.hero-stats strong{display:block;font-size:34px;line-height:1;color:var(--brand)}
.hero-stats span{display:block;color:var(--muted);margin-top:7px;font-size:13px}
.section{padding-block:64px}
.section-alt{background:var(--surface)}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}
.section-head h2{font-size:32px;line-height:1.15;margin:0}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.product-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:.2s ease}
.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.product-card-image{display:grid;place-items:center;aspect-ratio:1/1;background:#fff;padding:12px;border-bottom:1px solid var(--line)}
.product-card-image img{width:100%;height:100%;object-fit:contain}
.product-card-body{padding:15px}
.product-card h3{font-size:15px;line-height:1.4;margin:8px 0 12px}
.product-card h3 a{text-decoration:none}
.product-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px}
.product-price{font-weight:850;color:var(--brand);font-size:17px}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.post-card{overflow:hidden;border-radius:var(--radius);background:#fff;border:1px solid var(--line)}
.post-card-image{display:grid;place-items:center;aspect-ratio:16/10;background:#eceff1}
.post-card-image img{width:100%;height:100%;object-fit:cover}
.post-card-body{padding:18px}
.post-card time{font-size:12px;color:var(--muted)}
.post-card h3{margin:8px 0;font-size:19px;line-height:1.35}
.post-card h3 a{text-decoration:none}
.post-card p{margin:0;color:var(--muted);font-size:14px}
.image-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:180px;color:#91979d;background:var(--surface)}
.image-placeholder.large{min-height:480px;border-radius:var(--radius)}
.page-hero{padding-block:52px;background:var(--surface);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(34px,4vw,52px)}
.page-hero .lead{max-width:800px;color:var(--muted)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px;color:var(--muted);font-size:13px}
.breadcrumb a{text-decoration:none}
.breadcrumb a:hover{color:var(--brand)}
.result-count{color:var(--muted)}
.product-detail{padding-top:30px}
.product-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:46px;align-items:start}
.product-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.product-gallery figure{margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.product-gallery img{display:block;width:100%;height:100%;object-fit:contain}
.gallery-main{grid-column:1/-1;aspect-ratio:4/3;padding:10px}
.gallery-thumb{aspect-ratio:1/1;padding:8px}
.product-summary{position:sticky;top:18px}
.product-summary h1{font-size:clamp(30px,3.3vw,46px)}
.summary-meta{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.summary-meta span{border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:12px;color:var(--muted)}
.product-price-large{font-size:31px;margin:20px 0}
.product-price del{font-size:14px;color:var(--muted);font-weight:500;margin-left:10px}
.short-description{color:#333}
.variant-box,.trust-box{margin-top:20px;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--surface)}
.variant-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.variant-row:last-child{border-bottom:0}
.trust-box{display:grid;gap:8px;font-size:13px}
.content-shell{max-width:860px;margin:60px auto 0;padding-top:42px;border-top:1px solid var(--line)}
.entry-content{font-size:17px;line-height:1.8}
.entry-content h2,.entry-content h3{line-height:1.25;margin-top:1.7em}
.entry-content img{display:block;max-width:100%;height:auto;margin:24px auto;border-radius:10px}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content a{color:#0b63ce}
.article-header{padding:54px 0 30px}
.article-narrow{max-width:820px}
.article-header h1{font-size:clamp(36px,5vw,58px)}
.article-header time{color:var(--muted);font-size:13px}
.article-excerpt{font-size:19px;color:#4d535a;margin-top:18px}
.article-cover-wrap{max-width:1040px}
.article-cover{display:block;width:100%;max-height:680px;object-fit:contain;background:#fff;border-radius:var(--radius);border:1px solid var(--line)}
.article-content{padding-block:42px 70px}
.search-page-form{max-width:720px;margin-top:22px}
.empty-state{text-align:center;padding:70px 20px;background:var(--surface);border-radius:var(--radius)}
.legacy-gallery-note{padding:14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);background:var(--surface);margin:20px 0}
.site-footer{margin-top:40px;background:var(--dark);color:#fff}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px;padding-block:46px}
.footer-grid p{color:#b9bec4;font-size:13px}
.footer-grid a{color:#fff;text-decoration:none}
code,pre{background:#f3f4f5;border-radius:8px;padding:2px 6px}
@media (max-width:980px){
    .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .product-layout{grid-template-columns:1fr}
    .product-summary{position:static}
    .hero-grid{grid-template-columns:1fr}
    .hero-stats{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
    .topbar-note{display:none}
    .header-main{grid-template-columns:1fr;gap:14px}
    .header-search{width:100%}
    .header-search button{padding-inline:12px}
    .hero-grid{padding-block:48px;gap:30px}
    .hero-stats{grid-template-columns:1fr 1fr 1fr;gap:6px}
    .hero-stats div{padding:12px}
    .hero-stats strong{font-size:25px}
    .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .post-grid{grid-template-columns:1fr}
    .product-card-body{padding:11px}
    .product-card h3{font-size:14px}
    .section{padding-block:42px}
    .product-gallery{grid-template-columns:repeat(4,1fr)}
    .footer-grid{grid-template-columns:1fr}
}
@media (max-width:430px){
    .container{width:min(calc(100% - 20px),var(--container))}
    .brand-mark{width:38px;height:38px}
    .hero h1,.page-hero h1,.article-header h1,.product-summary h1{font-size:34px}
    .hero-search,.search-page-form{display:grid;grid-template-columns:1fr}
    .hero-stats{grid-template-columns:1fr}
}
/* PRODUCT CARD ALIGN FIX V1 */
.product-grid{
    align-items:stretch;
}

.product-card{
    height:100%;
    display:flex;
    flex-direction:column;
}

.product-card-image{
    height:280px;
    aspect-ratio:auto;
    overflow:hidden;
    flex:0 0 280px;
}

.product-card-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.product-card-body{
    flex:1;
    display:flex;
    flex-direction:column;
}

.product-card h3{
    min-height:2.8em;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.product-price{
    margin-top:auto;
}

@media (max-width:760px){
    .product-card-image{
        height:180px;
        flex-basis:180px;
    }
}

@media (max-width:430px){
    .product-card-image{
        height:155px;
        flex-basis:155px;
    }
}
/* BLOG CARD ALIGN FIX V1 */
.post-grid{
    align-items:stretch;
}

.post-card{
    height:100%;
    display:flex;
    flex-direction:column;
}

.post-card-image{
    height:250px;
    aspect-ratio:auto;
    overflow:hidden;
    flex:0 0 250px;
}

.post-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.post-card-body{
    flex:1;
    display:flex;
    flex-direction:column;
}

.post-card h3{
    min-height:2.7em;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.post-card p{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.post-card time{
    display:block;
    min-height:1.4em;
}

@media (max-width:760px){
    .post-card-image{
        height:220px;
        flex-basis:220px;
    }
}

@media (max-width:430px){
    .post-card-image{
        height:200px;
        flex-basis:200px;
    }
}

/* PRODUCT GALLERY INTERACTION V1 */
.gallery-main img{
    transition:opacity .16s ease;
}

.gallery-main.is-switching img{
    opacity:.25;
}

.gallery-thumb{
    cursor:pointer;
    transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.gallery-thumb:hover,
.gallery-thumb:focus{
    border-color:#b8bdc3;
    transform:translateY(-1px);
    outline:none;
}

.gallery-thumb.is-active{
    border-color:var(--brand);
    box-shadow:0 0 0 2px rgba(213,31,43,.12);
}

.gallery-thumb img{
    pointer-events:none;
}

/* PRODUCT GALLERY ZOOM V1 */
.gallery-main{
    overflow:hidden;
    background:#fafafa;
    cursor:zoom-in;
}

.gallery-main img{
    transform:scale(1.07);
    transform-origin:center center;
    transition:opacity .16s ease, transform .2s ease;
}

.gallery-main:hover img{
    transform:scale(1.10);
}

.product-lightbox{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
    background:rgba(10,12,14,.92);
    padding:24px;
}

.product-lightbox.is-open{
    display:flex;
}

.product-lightbox-stage{
    position:relative;
    width:min(96vw,1400px);
    height:min(90vh,1000px);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:auto;
    border-radius:14px;
}

.product-lightbox img{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    transform:scale(1);
    transform-origin:center center;
    transition:transform .12s ease;
    user-select:none;
    -webkit-user-drag:none;
}

.product-lightbox-toolbar{
    position:fixed;
    top:18px;
    right:18px;
    z-index:10001;
    display:flex;
    gap:8px;
}

.product-lightbox-toolbar button{
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:10px;
    background:rgba(25,28,31,.88);
    color:#fff;
    font-size:20px;
    cursor:pointer;
}

.product-lightbox-toolbar button:hover{
    background:#fff;
    color:#111;
}

body.lightbox-open{
    overflow:hidden;
}

@media (max-width:760px){
    .gallery-main img{
        transform:scale(1.04);
    }

    .gallery-main:hover img{
        transform:scale(1.04);
    }

    .product-lightbox{
        padding:10px;
    }
}

/* ORDER COD V1 */
.order-box{
    margin-top:24px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:#fff;
    box-shadow:var(--shadow);
}

.order-box-head h2{
    margin:0 0 8px;
    font-size:24px;
}

.order-box-head p{
    margin:0 0 18px;
    color:var(--muted);
    font-size:14px;
}

.order-form{
    display:grid;
    gap:13px;
}

.order-form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.order-form label{
    display:grid;
    gap:6px;
}

.order-form label > span{
    font-size:13px;
    font-weight:700;
}

.order-form input,
.order-form select,
.order-form textarea{
    width:100%;
    min-width:0;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    padding:11px 12px;
    color:var(--text);
    font:inherit;
}

.order-form input:focus,
.order-form select:focus,
.order-form textarea:focus{
    outline:2px solid rgba(213,31,43,.12);
    border-color:var(--brand);
}

.order-submit{
    border:0;
    border-radius:10px;
    background:var(--brand);
    color:#fff;
    padding:14px 18px;
    font:inherit;
    font-weight:850;
    cursor:pointer;
}

.order-submit:hover{
    background:var(--brand-dark);
}

.order-note{
    margin:0;
    color:var(--muted);
    font-size:12px;
}

.order-errors{
    margin-bottom:16px;
    padding:12px 14px;
    border:1px solid #efb4b8;
    border-radius:10px;
    background:#fff2f3;
    color:#89141c;
    font-size:13px;
}

.order-errors ul{
    margin:7px 0 0;
    padding-left:20px;
}

.order-unavailable{
    padding:13px;
    border-radius:10px;
    background:#f1f2f3;
    color:var(--muted);
    font-weight:700;
}

.order-success-page{
    min-height:65vh;
    display:grid;
    align-items:center;
    padding-block:70px;
    background:var(--surface);
}

.order-success-wrap{
    max-width:760px;
}

.order-success-card{
    padding:34px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
}

.order-success-icon{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    margin-bottom:18px;
    border-radius:50%;
    background:#e7f7ec;
    color:#187a38;
    font-size:30px;
    font-weight:900;
}

.order-success-card h1{
    margin:0 0 12px;
    font-size:36px;
    line-height:1.15;
}

.order-success-card > p{
    color:var(--muted);
}

.order-summary-table{
    margin:24px 0;
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden;
}

.order-summary-table > div{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:11px 14px;
    border-bottom:1px solid var(--line);
}

.order-summary-table > div:last-child{
    border-bottom:0;
}

.order-summary-table span{
    color:var(--muted);
}

@media (max-width:760px){
    .order-form-row{
        grid-template-columns:1fr;
    }

    .order-success-card{
        padding:22px;
    }

    .order-summary-table > div{
        display:grid;
        gap:2px;
    }
}

/* ADMIN ORDERS V1 */
.admin-page{
    background:#f5f6f7;
}

.admin-header{
    background:#111315;
    color:#fff;
    border-bottom:1px solid #25282c;
}

.admin-header-inner{
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.admin-brand{
    color:#fff;
    text-decoration:none;
    font-weight:850;
}

.admin-userbar{
    display:flex;
    align-items:center;
    gap:14px;
    font-size:13px;
}

.admin-userbar form{
    margin:0;
}

.admin-userbar button{
    border:1px solid #3a3e43;
    background:#22262a;
    color:#fff;
    border-radius:8px;
    padding:8px 11px;
    cursor:pointer;
}

.admin-main{
    min-height:calc(100vh - 62px);
}

.admin-section{
    padding-block:36px 60px;
}

.admin-login-section{
    min-height:calc(100vh - 62px);
    display:grid;
    place-items:center;
    padding:30px 16px;
}

.admin-login-card{
    width:min(100%,430px);
    padding:30px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:var(--shadow);
}

.admin-login-card h1{
    margin:0 0 22px;
    font-size:30px;
}

.admin-login-form{
    display:grid;
    gap:15px;
}

.admin-login-form label{
    display:grid;
    gap:6px;
    font-size:13px;
    font-weight:700;
}

.admin-login-form input{
    border:1px solid var(--line);
    border-radius:10px;
    padding:12px;
    font:inherit;
}

.admin-login-form button,
.admin-filter-form button,
.admin-status-form button{
    border:0;
    border-radius:10px;
    background:var(--brand);
    color:#fff;
    padding:12px 16px;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.admin-alert{
    margin-bottom:15px;
    padding:11px 13px;
    border:1px solid #efb4b8;
    border-radius:10px;
    background:#fff1f2;
    color:#8f1720;
}

.admin-success{
    margin-bottom:18px;
    padding:11px 13px;
    border:1px solid #b9dfc5;
    border-radius:10px;
    background:#eefaf2;
    color:#1b6b35;
}

.admin-title-row{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:20px;
    margin-bottom:20px;
}

.admin-title-row h1,
.admin-detail-head h1{
    margin:0;
    font-size:36px;
}

.admin-order-stats{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.admin-order-stats span{
    border:1px solid var(--line);
    background:#fff;
    border-radius:999px;
    padding:7px 11px;
    color:var(--muted);
    font-size:12px;
}

.admin-order-stats b{
    color:var(--text);
}

.admin-filter-form{
    display:grid;
    grid-template-columns:minmax(220px,1fr) 220px auto;
    gap:10px;
    margin-bottom:16px;
}

.admin-filter-form input,
.admin-filter-form select,
.admin-status-form select,
.admin-status-form textarea{
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    padding:11px 12px;
    font:inherit;
}

.admin-table-wrap{
    overflow:auto;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
}

.admin-table{
    width:100%;
    min-width:900px;
    border-collapse:collapse;
}

.admin-table th,
.admin-table td{
    padding:13px 14px;
    border-bottom:1px solid var(--line);
    text-align:left;
    vertical-align:middle;
    font-size:13px;
}

.admin-table th{
    background:#fafafa;
    color:var(--muted);
    font-size:11px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.admin-table tbody tr:hover{
    background:#fafbfb;
}

.admin-table a{
    color:#111;
    text-decoration:none;
}

.admin-status{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:5px 9px;
    font-size:11px;
    font-weight:800;
    white-space:nowrap;
}

.admin-status-pending{background:#fff3cd;color:#805f00}
.admin-status-confirmed{background:#e8f1ff;color:#245d9e}
.admin-status-shipping{background:#eee8ff;color:#5e3a9e}
.admin-status-completed{background:#e5f7eb;color:#23733c}
.admin-status-cancelled{background:#fde9eb;color:#9b2934}

.admin-detail-head{
    display:flex;
    justify-content:space-between;
    align-items:start;
    gap:20px;
    margin-bottom:20px;
}

.admin-detail-head p{
    margin:5px 0 0;
    color:var(--muted);
}

.admin-detail-grid{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);
    gap:18px;
}

.admin-panel{
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:20px;
}

.admin-panel h2{
    margin:0 0 16px;
    font-size:20px;
}

.admin-order-item{
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding:13px 0;
    border-bottom:1px solid var(--line);
}

.admin-order-item > div{
    display:grid;
    gap:3px;
}

.admin-order-item > div:last-child{
    text-align:right;
}

.admin-order-item small{
    color:var(--muted);
}

.admin-order-total{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-top:16px;
    font-size:18px;
}

.admin-dl{
    display:grid;
    grid-template-columns:100px 1fr;
    gap:8px 12px;
    margin:0;
}

.admin-dl dt{
    color:var(--muted);
    font-size:12px;
}

.admin-dl dd{
    margin:0;
}

.admin-note-box{
    margin-top:18px;
    padding:13px;
    background:var(--surface);
    border-radius:10px;
}

.admin-note-box p{
    margin:6px 0 0;
}

.admin-status-panel{
    margin-top:18px;
}

.admin-status-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px;
}

.admin-status-form label{
    display:grid;
    gap:6px;
    font-size:13px;
    font-weight:700;
}

.admin-note-field{
    grid-column:1/-1;
}

.admin-status-form button{
    grid-column:1/-1;
    justify-self:start;
}

@media (max-width:800px){
    .admin-title-row,
    .admin-detail-head{
        display:grid;
    }

    .admin-filter-form{
        grid-template-columns:1fr;
    }

    .admin-detail-grid{
        grid-template-columns:1fr;
    }

    .admin-status-form{
        grid-template-columns:1fr;
    }

    .admin-note-field,
    .admin-status-form button{
        grid-column:auto;
    }
}

/* ADMIN DASHBOARD WATCH V1 */
.admin-nav{
    display:flex;
    align-items:center;
    gap:18px;
    margin-left:auto;
    margin-right:18px;
}

.admin-nav a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#d8dadd;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
}

.admin-nav a:hover{
    color:#fff;
}

.admin-pending-badge{
    min-width:20px;
    height:20px;
    display:inline-grid;
    place-items:center;
    padding:0 6px;
    border-radius:999px;
    background:var(--brand);
    color:#fff;
    font-size:10px;
    font-weight:900;
}

.admin-muted{
    margin:5px 0 0;
    color:var(--muted);
}

.admin-primary-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    padding:10px 14px;
    background:var(--brand);
    color:#fff;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
}

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

.admin-stat-card{
    min-height:145px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:18px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    color:var(--text);
    text-decoration:none;
}

.admin-stat-card:hover{
    box-shadow:var(--shadow);
}

.admin-stat-card-alert{
    border-color:#efc2c5;
    background:#fffafb;
}

.admin-stat-card > span{
    color:var(--muted);
    font-size:12px;
    font-weight:750;
}

.admin-stat-card > strong{
    font-size:38px;
    line-height:1;
}

.admin-stat-card > small{
    color:var(--muted);
}

.admin-stat-card-alert > strong{
    color:var(--brand);
}

.admin-stat-money{
    font-size:24px !important;
}

.admin-recent-panel{
    margin-top:0;
}

.admin-panel-head{
    display:flex;
    justify-content:space-between;
    align-items:start;
    gap:20px;
    margin-bottom:15px;
}

.admin-panel-head h2{
    margin-bottom:3px;
}

.admin-panel-head p{
    margin:0;
    color:var(--muted);
    font-size:13px;
}

.admin-live-indicator{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#23733c;
    font-size:12px;
    font-weight:800;
}

.admin-live-indicator i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#2ea44f;
    box-shadow:0 0 0 4px rgba(46,164,79,.12);
}

.admin-toast{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:12000;
    width:min(390px,calc(100vw - 36px));
    padding:16px;
    border:1px solid #efb4b8;
    border-radius:14px;
    background:#fff;
    box-shadow:0 18px 50px rgba(0,0,0,.18);
}

.admin-toast strong{
    display:block;
    color:var(--brand);
    margin-bottom:4px;
}

.admin-toast span{
    display:block;
    color:#42474d;
    font-size:13px;
}

.admin-toast a{
    display:inline-block;
    margin-top:10px;
    color:var(--brand);
    font-weight:800;
    text-decoration:none;
}

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

@media (max-width:760px){
    .admin-header-inner{
        flex-wrap:wrap;
        padding-block:10px;
    }

    .admin-nav{
        order:3;
        width:100%;
        margin:0;
    }

    .admin-userbar{
        margin-left:auto;
    }

    .admin-dashboard-grid{
        grid-template-columns:1fr 1fr;
    }
}

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

/* ADMIN CATALOG V1 */
.catalog-filter{
    display:grid;
    grid-template-columns:minmax(240px,1fr) 260px auto;
    gap:10px;
    margin-bottom:16px;
}

.catalog-filter input,
.catalog-filter select,
.catalog-form input,
.catalog-form select,
.catalog-form textarea,
.catalog-upload-form input,
.catalog-variant-row input,
.catalog-variant-row select{
    width:100%;
    min-width:0;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff;
    padding:10px 11px;
    color:var(--text);
    font:inherit;
}

.catalog-filter button,
.catalog-form button,
.catalog-upload-form button,
.catalog-variant-row button{
    border:0;
    border-radius:9px;
    background:var(--brand);
    color:#fff;
    padding:10px 14px;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.catalog-mini-image{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}

.catalog-mini-image img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.catalog-featured{
    display:inline-block;
    margin-top:4px;
    color:var(--brand);
    font-weight:750;
}

.catalog-status{
    display:inline-flex;
    border-radius:999px;
    padding:5px 8px;
    background:#edf0f2;
    font-size:11px;
    font-weight:800;
}

.catalog-status-active,
.catalog-status-publish,
.catalog-status-published{
    background:#e6f7ec;
    color:#26703d;
}

.catalog-status-draft,
.catalog-status-inactive{
    background:#f0f1f2;
    color:#697078;
}

.catalog-edit-wrap,
.catalog-category-form-wrap{
    max-width:1180px;
}

.catalog-form{
    display:grid;
    gap:16px;
}

.catalog-panel{
    display:grid;
    gap:14px;
}

.catalog-panel h2{
    margin-bottom:2px;
}

.catalog-panel label{
    display:grid;
    gap:6px;
}

.catalog-panel label > span{
    font-size:13px;
    font-weight:750;
}

.catalog-panel label > small,
.catalog-url-lock small,
.catalog-upload-form small{
    color:var(--muted);
    font-size:12px;
}

.catalog-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px;
}

.catalog-span-2{
    grid-column:1/-1;
}

.catalog-checkbox{
    display:flex !important;
    align-items:center;
    align-self:end;
    gap:8px !important;
    min-height:42px;
}

.catalog-checkbox input{
    width:auto;
}

.catalog-url-lock{
    display:grid;
    gap:5px;
    padding:13px;
    border:1px solid #c8d7eb;
    border-radius:10px;
    background:#f7fbff;
}

.catalog-url-lock code{
    display:block;
    overflow-wrap:anywhere;
}

.catalog-category-checks{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}

.catalog-category-checks label{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fafafa;
}

.catalog-category-checks input{
    width:auto;
}

.catalog-savebar{
    position:sticky;
    bottom:12px;
    z-index:100;
    display:flex;
    align-items:center;
    gap:16px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:rgba(255,255,255,.95);
    box-shadow:0 12px 35px rgba(0,0,0,.1);
    backdrop-filter:blur(8px);
}

.catalog-savebar button{
    padding:12px 20px;
}

.catalog-savebar a,
.catalog-public-link{
    color:var(--brand);
    font-weight:750;
    text-decoration:none;
}

.catalog-flash{
    margin-bottom:16px;
    padding:12px 14px;
    border-radius:10px;
    font-size:13px;
    font-weight:700;
}

.catalog-flash-success{
    border:1px solid #b6dfc1;
    background:#edf9f0;
    color:#216d37;
}

.catalog-flash-error{
    border:1px solid #efb5ba;
    background:#fff2f3;
    color:#8c1720;
}

.catalog-panel-head{
    display:flex;
    justify-content:space-between;
    gap:20px;
}

.catalog-panel-head p{
    margin:4px 0 0;
    color:var(--muted);
    font-size:13px;
}

.catalog-upload-form{
    display:grid;
    grid-template-columns:minmax(240px,1fr) auto;
    align-items:center;
    gap:10px;
    margin-bottom:15px;
}

.catalog-upload-form small{
    grid-column:1/-1;
}

.catalog-image-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
}

.catalog-image-card{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}

.catalog-image-card.is-primary{
    border-color:var(--brand);
    box-shadow:0 0 0 2px rgba(213,31,43,.08);
}

.catalog-image-preview{
    aspect-ratio:1/1;
    display:grid;
    place-items:center;
    background:#fafafa;
    padding:6px;
}

.catalog-image-preview img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.catalog-image-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:5px;
    padding:8px;
    border-top:1px solid var(--line);
    font-size:11px;
}

.catalog-image-actions form{
    margin:0;
}

.catalog-image-actions button{
    padding:6px 8px;
    font-size:11px;
}

.catalog-danger-link{
    background:#fff !important;
    color:#a51f28 !important;
    border:1px solid #efc2c6 !important;
}

.catalog-variant-list{
    display:grid;
    gap:8px;
    overflow:auto;
}

.catalog-variant-row{
    min-width:1000px;
    display:grid;
    grid-template-columns:1.5fr 1fr .8fr .8fr 1fr .65fr .8fr auto;
    gap:7px;
    align-items:center;
}

.catalog-variant-new{
    margin-top:8px;
    padding-top:12px;
    border-top:1px solid var(--line);
}

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

    .catalog-category-checks{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:760px){
    .catalog-filter,
    .catalog-form-grid,
    .catalog-upload-form{
        grid-template-columns:1fr;
    }

    .catalog-span-2,
    .catalog-upload-form small{
        grid-column:auto;
    }

    .catalog-category-checks{
        grid-template-columns:1fr;
    }

    .catalog-image-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .catalog-savebar{
        bottom:6px;
    }
}

/* PLANNER CORE V1 */
.planner-narrow{
    max-width:900px;
}

.planner-build-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin-bottom:20px;
}

.planner-build-head h1{
    margin:0;
    font-size:38px;
    line-height:1.1;
}

.planner-build-head p{
    margin:7px 0 0;
    color:var(--muted);
}

.planner-build-total{
    text-align:right;
}

.planner-build-total span{
    display:block;
    color:var(--muted);
    font-size:11px;
    font-weight:850;
    letter-spacing:.08em;
}

.planner-build-total strong{
    display:block;
    margin-top:5px;
    color:var(--brand);
    font-size:34px;
    line-height:1;
}

.planner-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
}

.planner-summary-grid > div{
    padding:15px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}

.planner-summary-grid span{
    display:block;
    color:var(--muted);
    font-size:11px;
    font-weight:750;
}

.planner-summary-grid strong{
    display:block;
    margin-top:5px;
    font-size:19px;
}

.planner-section{
    margin-bottom:18px;
}

.planner-section-head{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-bottom:14px;
}

.planner-section-head h2{
    margin:0;
}

.planner-section-head p{
    margin:5px 0 0;
    color:var(--muted);
    font-size:13px;
}

.planner-line{
    display:grid;
    align-items:end;
    gap:8px;
    padding:12px 0;
    border-bottom:1px solid var(--line);
}

.planner-part-line{
    grid-template-columns:minmax(220px,1.6fr) 80px 130px 130px minmax(170px,1fr) auto auto;
}

.planner-service-line{
    grid-template-columns:minmax(220px,1.5fr) 80px 130px minmax(180px,1fr) auto auto;
}

.planner-labor-line{
    grid-template-columns:minmax(260px,1.5fr) 140px minmax(180px,1fr) auto auto;
}

.planner-line label{
    display:grid;
    gap:5px;
}

.planner-line label > span{
    color:var(--muted);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.planner-line input,
.planner-add-box input,
.planner-add-box select{
    width:100%;
    min-width:0;
    border:1px solid var(--line);
    border-radius:8px;
    padding:9px 10px;
    background:#fff;
    font:inherit;
}

.planner-line button,
.planner-add-box > button{
    border:0;
    border-radius:8px;
    background:var(--brand);
    color:#fff;
    padding:10px 12px;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.planner-delete{
    background:#fff !important;
    color:#9d222c !important;
    border:1px solid #efc1c5 !important;
}

.planner-line-name{
    display:grid;
    gap:2px;
}

.planner-line-name strong{
    line-height:1.3;
}

.planner-line-name small{
    color:var(--muted);
}

.planner-add-box{
    margin-top:16px;
    padding:15px;
    border:1px dashed #cbd0d5;
    border-radius:12px;
    background:#fafbfb;
}

.planner-add-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:11px;
}

.planner-add-grid label{
    display:grid;
    gap:5px;
}

.planner-add-grid label > span{
    font-size:12px;
    font-weight:750;
}

.planner-span-2{
    grid-column:span 2;
}

.planner-status{
    display:inline-flex;
    border-radius:999px;
    padding:5px 9px;
    font-size:11px;
    font-weight:850;
    white-space:nowrap;
}

.planner-status-draft{background:#eef0f2;color:#5c636b}
.planner-status-quoted{background:#e8f1ff;color:#255e9c}
.planner-status-approved{background:#e6f7ec;color:#25713d}
.planner-status-in_progress{background:#fff3cd;color:#805f00}
.planner-status-completed{background:#dff5e6;color:#1d6b36}
.planner-status-cancelled{background:#fde9eb;color:#982c36}

@media (max-width:1050px){
    .planner-part-line,
    .planner-service-line,
    .planner-labor-line{
        grid-template-columns:1fr 1fr;
    }

    .planner-line-name,
    .planner-note-input{
        grid-column:1/-1;
    }
}

@media (max-width:760px){
    .planner-build-head{
        display:grid;
    }

    .planner-build-total{
        text-align:left;
    }

    .planner-summary-grid{
        grid-template-columns:1fr 1fr;
    }

    .planner-add-grid{
        grid-template-columns:1fr;
    }

    .planner-span-2{
        grid-column:auto;
    }

    .planner-part-line,
    .planner-service-line,
    .planner-labor-line{
        grid-template-columns:1fr;
    }

    .planner-line-name,
    .planner-note-input{
        grid-column:auto;
    }
}

/* PLANNER COMPLETION V1 */
.planner-action-row{
    display:flex;
    justify-content:flex-end;
    margin:-4px 0 12px;
}

.planner-quote-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 13px;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff;
    color:var(--brand);
    text-decoration:none;
    font-size:12px;
    font-weight:850;
}

.planner-summary-grid-5{
    grid-template-columns:repeat(5,minmax(0,1fr));
}

.planner-negative{
    color:#b1242f !important;
}

.planner-customer-current{
    display:grid;
    gap:3px;
    padding:14px;
    border:1px solid #bfddc9;
    border-radius:11px;
    background:#f1fbf4;
}

.planner-customer-current span{
    color:#4d5750;
    font-size:13px;
}

.planner-adjustment-line{
    grid-template-columns:minmax(220px,1.5fr) 145px 140px minmax(180px,1fr) auto auto;
}

/* PUBLIC QUOTATION */
.quote-page{
    margin:0;
    background:#eef0f2;
    color:#17191c;
}

.quote-toolbar{
    position:sticky;
    top:0;
    z-index:100;
    display:flex;
    justify-content:flex-end;
    padding:10px 16px;
    background:#111315;
}

.quote-toolbar button{
    border:0;
    border-radius:8px;
    background:#fff;
    color:#111;
    padding:9px 13px;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.quote-wrap{
    width:min(calc(100% - 30px),960px);
    margin:24px auto 60px;
    padding:40px;
    background:#fff;
    border-radius:16px;
    box-shadow:0 15px 50px rgba(0,0,0,.08);
}

.quote-header{
    display:flex;
    justify-content:space-between;
    gap:24px;
    padding-bottom:22px;
    border-bottom:2px solid #111315;
}

.quote-brand{
    color:var(--brand);
    font-size:13px;
    font-weight:900;
    letter-spacing:.12em;
}

.quote-header h1{
    margin:4px 0 0;
    font-size:34px;
    line-height:1;
}

.quote-header p{
    margin:8px 0 0;
    color:var(--muted);
}

.quote-status{
    align-self:start;
    padding:7px 11px;
    border-radius:999px;
    background:#f0f1f2;
    font-size:12px;
    font-weight:850;
}

.quote-meta{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    padding:22px 0;
}

.quote-meta > div{
    display:grid;
    gap:2px;
}

.quote-meta span{
    color:var(--muted);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
}

.quote-section{
    margin-top:26px;
}

.quote-section h2{
    margin:0 0 10px;
    font-size:18px;
}

.quote-table{
    border:1px solid var(--line);
    border-radius:10px;
    overflow:hidden;
}

.quote-tr{
    display:grid;
    grid-template-columns:minmax(0,1fr) 70px 130px 140px;
    gap:12px;
    align-items:center;
    padding:11px 13px;
    border-bottom:1px solid var(--line);
}

.quote-tr:last-child{
    border-bottom:0;
}

.quote-th{
    background:#f7f8f8;
    color:var(--muted);
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
}

.quote-tr > span:not(:first-child){
    text-align:right;
}

.quote-tr small,
.quote-service-row small{
    display:block;
    color:var(--muted);
    margin-top:2px;
}

.quote-subrow{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:8px 13px 8px 30px;
    border-bottom:1px solid var(--line);
    background:#fafafa;
    font-size:12px;
}

.quote-service-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 160px 140px;
    gap:12px;
    align-items:center;
    padding:11px 13px;
    border-bottom:1px solid var(--line);
}

.quote-service-row:last-child{
    border-bottom:0;
}

.quote-service-row > span:nth-child(2),
.quote-service-row > strong{
    text-align:right;
}

.quote-totals{
    width:min(100%,500px);
    margin:30px 0 0 auto;
}

.quote-totals > div{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:7px 0;
}

.quote-totals span{
    color:var(--muted);
}

.quote-grand-total{
    margin-top:6px;
    padding-top:14px !important;
    border-top:2px solid #111315;
    font-size:22px;
}

.quote-grand-total span,
.quote-grand-total strong{
    color:#111 !important;
    font-weight:900;
}

.quote-note{
    margin-top:26px;
    padding:14px;
    border-radius:10px;
    background:#f7f8f8;
}

.quote-note p{
    margin:5px 0 0;
}

.quote-footer{
    margin-top:32px;
    padding-top:18px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:11px;
}

.quote-footer p{
    margin:3px 0;
}

@media (max-width:1050px){
    .planner-adjustment-line{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:850px){
    .planner-summary-grid-5{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:700px){
    .quote-wrap{
        width:min(calc(100% - 16px),960px);
        margin:8px auto 30px;
        padding:20px 14px;
        border-radius:10px;
    }

    .quote-header,
    .quote-meta{
        grid-template-columns:1fr;
    }

    .quote-header{
        display:grid;
    }

    .quote-tr{
        grid-template-columns:minmax(0,1fr) 45px 95px;
    }

    .quote-tr > span:nth-child(3){
        display:none;
    }

    .quote-th > span:nth-child(3){
        display:none;
    }

    .quote-service-row{
        grid-template-columns:minmax(0,1fr) 100px;
    }

    .quote-service-row > span:nth-child(2){
        display:none;
    }

    .planner-adjustment-line{
        grid-template-columns:1fr;
    }
}

@media print{
    @page{
        size:A4;
        margin:12mm;
    }

    .quote-page{
        background:#fff;
    }

    .quote-toolbar{
        display:none !important;
    }

    .quote-wrap{
        width:100%;
        margin:0;
        padding:0;
        border-radius:0;
        box-shadow:none;
    }

    .quote-section,
    .quote-table,
    .quote-tr,
    .quote-service-row{
        break-inside:avoid;
    }
}

/* PLANNER PDF QUOTE V1 */
.planner-action-row{
    gap:8px;
    flex-wrap:wrap;
}

.planner-pdf-link{
    background:var(--brand);
    color:#fff;
    border-color:var(--brand);
}

.quote-toolbar{
    gap:8px;
}

.quote-download{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    background:#fff;
    color:#111;
    padding:9px 13px;
    text-decoration:none;
    font:inherit;
    font-weight:800;
}

/* PLANNER PRODUCT BRIDGE V1 */
.planner-product-bridge{
    margin-top:14px;
    padding:15px;
    border:1px solid #cfd5da;
    border-radius:12px;
    background:#f7f9fa;
}

.planner-product-bridge-head{
    display:grid;
    gap:3px;
    margin-bottom:12px;
}

.planner-product-bridge-head strong{
    font-size:16px;
}

.planner-product-bridge form{
    display:grid;
    gap:10px;
}

.planner-product-bridge label{
    display:grid;
    gap:5px;
}

.planner-product-bridge label > span,
.planner-product-current-price > span{
    color:var(--muted);
    font-size:11px;
    font-weight:800;
}

.planner-product-bridge select,
.planner-product-bridge input{
    width:100%;
    min-width:0;
    border:1px solid var(--line);
    border-radius:8px;
    padding:9px 10px;
    background:#fff;
    font:inherit;
}

.planner-product-bridge-row{
    display:grid;
    grid-template-columns:120px minmax(0,1fr);
    gap:10px;
    align-items:end;
}

.planner-product-current-price{
    display:grid;
    gap:4px;
    min-height:62px;
    align-content:center;
    padding:8px 10px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}

.planner-product-bridge button,
.planner-product-new-build{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:9px;
    background:var(--brand);
    color:#fff;
    padding:11px 13px;
    text-decoration:none;
    font:inherit;
    font-weight:850;
    cursor:pointer;
}

.planner-product-bridge small{
    color:var(--muted);
    line-height:1.45;
}

@media (max-width:600px){
    .planner-product-bridge-row{
        grid-template-columns:1fr;
    }
}

/* ADMIN SERVICES V1 */
.service-admin-status{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:5px 9px;
    font-size:11px;
    font-weight:850;
    white-space:nowrap;
}

.service-admin-status-active{
    background:#e5f7eb;
    color:#236b3a;
}

.service-admin-status-inactive{
    background:#eef0f2;
    color:#646a70;
}

.service-admin-note{
    margin-top:14px;
    padding:13px 15px;
    border:1px solid #d9dce0;
    border-radius:10px;
    background:#fafbfb;
    color:#555d64;
    font-size:13px;
    line-height:1.5;
}

/* ADMIN VEHICLE FITMENT V1 */
.vehicle-admin-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.fitment-count{
    display:inline-flex;
    border-radius:999px;
    padding:5px 9px;
    background:#eef0f2;
    color:#60666c;
    font-size:11px;
    font-weight:800;
}

.fitment-count-ready{
    background:#e5f7eb;
    color:#236b3a;
}

.fitment-panel{
    padding:0;
    overflow:hidden;
}

.fitment-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:15px;
    border-bottom:1px solid var(--line);
    background:#fafbfb;
}

.fitment-toolbar p{
    margin:4px 0 0;
    color:var(--muted);
    font-size:12px;
}

.fitment-toolbar > div:last-child{
    display:flex;
    gap:7px;
}

.fitment-toolbar button{
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    padding:8px 10px;
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}

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

.fitment-card{
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:14px 15px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    cursor:pointer;
}

.fitment-card:nth-child(2n){
    border-right:0;
}

.fitment-card input{
    width:18px;
    height:18px;
    margin-top:2px;
    flex:0 0 auto;
}

.fitment-card > span{
    display:grid;
    gap:2px;
}

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

.fitment-card:has(input:checked){
    background:#f1fbf4;
}

.fitment-help{
    margin-top:14px;
    padding:12px 14px;
    border:1px solid #d9dce0;
    border-radius:10px;
    background:#fafbfb;
    color:#555d64;
    font-size:12px;
}

@media (max-width:700px){
    .vehicle-admin-actions{
        width:100%;
    }

    .fitment-toolbar{
        display:grid;
    }

    .fitment-grid{
        grid-template-columns:1fr;
    }

    .fitment-card{
        border-right:0;
    }
}

/* PLANNER FITMENT FILTER V1 */
.planner-fitment-context{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:11px 12px;
    border:1px solid #cfe0d4;
    border-radius:10px;
    background:#f4fbf6;
}

.planner-fitment-context > div:first-child{
    display:grid;
    gap:2px;
}

.planner-fitment-stats{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
}

.planner-fitment-stats span{
    display:inline-flex;
    border-radius:999px;
    padding:5px 8px;
    background:#fff;
    border:1px solid #d9e4dc;
    color:#59625d;
    font-size:10px;
    font-weight:800;
}

.planner-fitment-legend{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:end;
    padding:8px 0 9px;
    color:var(--muted);
    font-size:10px;
}

.planner-fitment-legend span{
    white-space:nowrap;
}

.planner-fitment-legend strong{
    color:#212529;
}

@media (max-width:700px){
    .planner-fitment-context{
        display:grid;
    }

    .planner-fitment-stats{
        justify-content:flex-start;
    }
}

/* PLANNER WORKFLOW POLISH V1 */
.planner-list-title{
    margin-bottom:16px;
}

.planner-workflow-stats{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin-bottom:14px;
}

.planner-workflow-stats > a,
.planner-workflow-stats > div{
    display:grid;
    gap:4px;
    min-height:108px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    color:inherit;
    text-decoration:none;
}

.planner-workflow-stats > a:hover,
.planner-workflow-stats > a.is-active{
    border-color:#aeb8c0;
    box-shadow:0 5px 18px rgba(0,0,0,.05);
}

.planner-workflow-stats span{
    color:var(--muted);
    font-size:11px;
    font-weight:800;
}

.planner-workflow-stats strong{
    align-self:center;
    font-size:25px;
    line-height:1.05;
}

.planner-workflow-stats small{
    align-self:end;
    color:var(--muted);
}

.planner-status-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:12px;
}

.planner-status-tabs a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:#4e555b;
    padding:7px 10px;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
}

.planner-status-tabs a span{
    display:inline-flex;
    min-width:20px;
    height:20px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#eef0f2;
    padding:0 5px;
    font-size:10px;
}

.planner-status-tabs a:hover,
.planner-status-tabs a.is-active{
    border-color:#222;
    color:#111;
}

.planner-build-search{
    margin-bottom:10px;
}

.planner-clear-filter{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 11px;
    border:1px solid var(--line);
    border-radius:8px;
    color:#555d64;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
}

.planner-result-note{
    margin:0 0 10px;
    color:var(--muted);
    font-size:12px;
}

.planner-build-table td{
    vertical-align:top;
}

.planner-build-table td small{
    display:block;
    margin-top:2px;
    color:var(--muted);
    white-space:nowrap;
}

.planner-goal{
    white-space:normal !important;
    max-width:220px;
}

.planner-empty-value{
    color:#969ba0;
    font-size:12px;
}

.planner-open-build{
    display:inline-flex;
    white-space:nowrap;
    text-decoration:none;
    font-weight:850;
}

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

@media (max-width:760px){
    .planner-workflow-stats{
        grid-template-columns:1fr 1fr;
    }

    .planner-workflow-stats > a,
    .planner-workflow-stats > div{
        min-height:95px;
    }
}

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

/* FITMENT BULK PUBLIC V1 */
.fitment-bulk-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:14px;
}

.fitment-bulk-stats > div{
    display:grid;
    gap:4px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
}

.fitment-bulk-stats span{
    color:var(--muted);
    font-size:11px;
    font-weight:800;
}

.fitment-bulk-stats strong{
    font-size:25px;
}

.fitment-bulk-picker{
    margin-bottom:14px;
}

.fitment-empty-state{
    text-align:center;
    padding:30px 20px;
}

.fitment-empty-state p{
    color:var(--muted);
}

.fitment-bulk-list{
    max-height:720px;
    overflow:auto;
}

.fitment-bulk-row{
    display:grid;
    grid-template-columns:26px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:11px 14px;
    border-bottom:1px solid var(--line);
    cursor:pointer;
}

.fitment-bulk-row:last-child{
    border-bottom:0;
}

.fitment-bulk-row:has(input:checked){
    background:#f1fbf4;
}

.fitment-bulk-row input{
    width:18px;
    height:18px;
}

.fitment-bulk-product{
    display:grid;
    gap:2px;
}

.fitment-bulk-product small{
    color:var(--muted);
}

.fitment-bulk-meta{
    text-align:right;
}

.fitment-empty-products{
    padding:20px;
    text-align:center;
    color:var(--muted);
}

/* Public product compatibility */
.product-fitment-box{
    margin-top:14px;
    padding:14px;
    border:1px solid #cfe0d4;
    border-radius:12px;
    background:#f5fbf7;
}

.product-fitment-head{
    display:grid;
    gap:3px;
}

.product-fitment-head strong{
    font-size:16px;
}

.product-fitment-tags{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:10px;
}

.product-fitment-tags span{
    display:inline-flex;
    align-items:center;
    border:1px solid #c9dccf;
    border-radius:999px;
    background:#fff;
    padding:6px 9px;
    font-size:11px;
    font-weight:800;
}

.product-fitment-box > small{
    display:block;
    margin-top:10px;
    color:var(--muted);
    line-height:1.45;
}

@media (max-width:700px){
    .fitment-bulk-stats{
        grid-template-columns:1fr;
    }

    .fitment-bulk-row{
        grid-template-columns:24px minmax(0,1fr);
    }

    .fitment-bulk-meta{
        grid-column:2;
        text-align:left;
    }
}

/* PUBLIC ESTIMATE V1 */
.public-estimate-product-box{
    margin-top:14px;
    padding:15px;
    border:1px solid #d7dce0;
    border-radius:12px;
    background:#fffaf0;
}

.public-estimate-product-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
}

.public-estimate-product-head > div{
    display:grid;
    gap:3px;
}

.public-estimate-product-head strong{
    font-size:17px;
}

.public-estimate-product-head > a{
    white-space:nowrap;
    color:#111;
    font-size:12px;
    font-weight:850;
}

.public-estimate-product-box > p{
    margin:8px 0 12px;
    color:var(--muted);
    font-size:12px;
    line-height:1.45;
}

.public-estimate-product-box form{
    display:grid;
    gap:10px;
}

.public-estimate-product-box label{
    display:grid;
    gap:5px;
}

.public-estimate-product-box label > span{
    color:var(--muted);
    font-size:11px;
    font-weight:800;
}

.public-estimate-product-box select,
.public-estimate-product-box input{
    width:100%;
    min-width:0;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    padding:9px 10px;
    font:inherit;
}

.public-estimate-product-row{
    display:grid;
    grid-template-columns:100px minmax(0,1fr);
    gap:10px;
    align-items:end;
}

.public-estimate-product-row button{
    min-height:42px;
    border:0;
    border-radius:9px;
    background:#17191c;
    color:#fff;
    padding:10px 13px;
    font:inherit;
    font-weight:850;
    cursor:pointer;
}

.public-estimate-product-box > small{
    display:block;
    margin-top:9px;
    color:var(--muted);
    line-height:1.4;
}

.public-estimate-flash{
    margin:10px 0;
    padding:9px 11px;
    border:1px solid #bcdcc7;
    border-radius:8px;
    background:#f0faf3;
    color:#235b35;
    font-size:12px;
    font-weight:750;
}

.public-estimate-flash.error{
    border-color:#ecc5c8;
    background:#fff4f4;
    color:#8d2831;
}

.public-estimate-shell{
    max-width:1050px;
}

.public-estimate-hero{
    margin:20px 0;
}

.public-estimate-hero h1{
    margin:4px 0 8px;
    font-size:clamp(30px,5vw,50px);
}

.public-estimate-hero p{
    max-width:760px;
    margin:0;
    color:var(--muted);
    line-height:1.6;
}

.public-estimate-vehicle{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,440px);
    gap:18px;
    align-items:center;
    margin:18px 0;
    padding:16px;
    border:1px solid #cfe0d4;
    border-radius:12px;
    background:#f5fbf7;
}

.public-estimate-vehicle > div{
    display:grid;
    gap:4px;
}

.public-estimate-vehicle > div strong{
    font-size:17px;
}

.public-estimate-vehicle p{
    margin:0;
    color:var(--muted);
    font-size:12px;
}

.public-estimate-vehicle form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
}

.public-estimate-vehicle select{
    min-width:0;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    padding:10px;
    font:inherit;
}

.public-estimate-vehicle button{
    border:0;
    border-radius:8px;
    background:#17191c;
    color:#fff;
    padding:10px 13px;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.public-estimate-empty{
    display:grid;
    gap:8px;
    margin:20px 0;
    padding:28px 20px;
    border:1px dashed #cfd4d8;
    border-radius:12px;
    text-align:center;
}

.public-estimate-empty p{
    margin:0;
    color:var(--muted);
}

.public-estimate-empty a{
    margin-top:4px;
    font-weight:850;
}

.public-estimate-table-wrap{
    overflow:auto;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}

.public-estimate-table{
    width:100%;
    min-width:850px;
    border-collapse:collapse;
}

.public-estimate-table th{
    padding:10px;
    border-bottom:1px solid var(--line);
    background:#f6f7f8;
    color:var(--muted);
    text-align:left;
    font-size:10px;
    text-transform:uppercase;
}

.public-estimate-table td{
    padding:12px 10px;
    border-bottom:1px solid var(--line);
    vertical-align:top;
}

.public-estimate-table tr:last-child td{
    border-bottom:0;
}

.public-estimate-table td:first-child{
    min-width:250px;
}

.public-estimate-table td:first-child a{
    color:inherit;
    text-decoration:none;
}

.public-estimate-table td small{
    display:block;
    margin-top:2px;
    color:var(--muted);
}

.public-estimate-table input[type="number"]{
    width:72px;
    border:1px solid var(--line);
    border-radius:7px;
    padding:7px 8px;
    font:inherit;
}

.public-estimate-fitment{
    display:inline-flex;
    border-radius:999px;
    padding:5px 8px;
    font-size:10px;
    font-weight:850;
    white-space:nowrap;
}

.public-estimate-fitment.compatible{
    background:#e8f7ed;
    color:#226139;
}

.public-estimate-fitment.other{
    background:#fff0ef;
    color:#922e34;
}

.public-estimate-fitment.unmapped,
.public-estimate-fitment.neutral{
    background:#eef0f2;
    color:#61676d;
}

.public-estimate-stock-warning{
    color:#a42a31 !important;
}

.public-estimate-unpriced{
    color:var(--muted);
}

.public-estimate-remove{
    border:1px solid #e2c6c8;
    border-radius:7px;
    background:#fff;
    color:#922e34;
    padding:6px 8px;
    font:inherit;
    font-size:11px;
    font-weight:800;
    cursor:pointer;
}

.public-estimate-update-row{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
    margin-top:10px;
}

.public-estimate-update-row button{
    border:0;
    border-radius:8px;
    background:#17191c;
    color:#fff;
    padding:10px 13px;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.public-estimate-update-row span{
    color:var(--muted);
    font-size:12px;
}

.public-estimate-summary{
    width:min(100%,560px);
    margin:24px 0 24px auto;
    padding:18px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}

.public-estimate-summary > div:first-child{
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:end;
}

.public-estimate-summary > div:first-child span{
    color:var(--muted);
    font-weight:750;
}

.public-estimate-summary > div:first-child strong{
    font-size:27px;
}

.public-estimate-summary > p{
    margin:10px 0 0;
    color:#8d5a17;
    font-size:12px;
}

.public-estimate-disclaimer{
    display:grid;
    gap:4px;
    margin-top:15px;
    padding-top:15px;
    border-top:1px solid var(--line);
}

.public-estimate-disclaimer span{
    color:var(--muted);
    font-size:12px;
    line-height:1.5;
}

.public-estimate-summary-actions{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
    margin-top:16px;
}

.public-estimate-summary-actions > a{
    font-weight:850;
}

.public-estimate-summary-actions form{
    margin:0;
}

.public-estimate-summary-actions button{
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    color:#555d64;
    padding:8px 10px;
    font:inherit;
    font-size:11px;
    font-weight:800;
    cursor:pointer;
}

.public-estimate-privacy-note{
    margin:24px 0 10px;
    padding:16px;
    border:1px solid #d8dce0;
    border-radius:12px;
    background:#f7f8f9;
}

.public-estimate-privacy-note p{
    margin:6px 0 0;
    color:var(--muted);
    font-size:12px;
    line-height:1.55;
}

@media (max-width:760px){
    .public-estimate-product-row{
        grid-template-columns:90px minmax(0,1fr);
    }

    .public-estimate-vehicle{
        grid-template-columns:1fr;
    }

    .public-estimate-vehicle form{
        grid-template-columns:1fr;
    }

    .public-estimate-update-row,
    .public-estimate-summary-actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .public-estimate-summary{
        width:100%;
    }
}

/* PUBLIC ESTIMATE QUOTE REQUEST V1 */
.public-estimate-primary-cta{
    display:grid;
    gap:6px;
    margin-top:16px;
}

.public-estimate-primary-cta > a{
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:48px;
    border-radius:10px;
    background:#e31c2b;
    color:#fff;
    padding:11px 15px;
    text-align:center;
    text-decoration:none;
    font-weight:900;
}

.public-estimate-primary-cta > small{
    color:var(--muted);
    text-align:center;
    line-height:1.4;
}

.public-estimate-request-shell{
    max-width:1000px;
}

.public-estimate-request-hero{
    margin:20px 0;
}

.public-estimate-request-hero h1{
    margin:4px 0 8px;
    font-size:clamp(30px,5vw,48px);
}

.public-estimate-request-hero p{
    max-width:760px;
    margin:0;
    color:var(--muted);
    line-height:1.6;
}

.public-estimate-request-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 390px;
    gap:18px;
    align-items:start;
}

.public-estimate-request-form{
    display:grid;
    gap:14px;
}

.public-estimate-request-form > section{
    display:grid;
    gap:11px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}

.public-estimate-request-form label{
    display:grid;
    gap:5px;
}

.public-estimate-request-form label > span{
    color:var(--muted);
    font-size:11px;
    font-weight:800;
}

.public-estimate-request-form input,
.public-estimate-request-form select,
.public-estimate-request-form textarea{
    width:100%;
    min-width:0;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    padding:10px 11px;
    font:inherit;
}

.public-estimate-request-form textarea{
    resize:vertical;
}

.public-estimate-request-form section > small{
    color:var(--muted);
    line-height:1.4;
}

.public-estimate-honeypot{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

.public-estimate-request-consent{
    padding:11px 13px;
    border:1px solid #d8dce0;
    border-radius:9px;
    background:#f7f8f9;
    color:var(--muted);
    font-size:11px;
    line-height:1.45;
}

.public-estimate-request-submit{
    min-height:50px;
    border:0;
    border-radius:10px;
    background:#e31c2b;
    color:#fff;
    padding:12px 15px;
    font:inherit;
    font-weight:900;
    cursor:pointer;
}

.public-estimate-request-back{
    text-align:center;
    color:#555d64;
    font-size:12px;
    font-weight:800;
}

.public-estimate-request-summary{
    position:sticky;
    top:18px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}

.public-estimate-request-items{
    display:grid;
    margin-top:10px;
}

.public-estimate-request-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    padding:10px 0;
    border-bottom:1px solid var(--line);
}

.public-estimate-request-item > div{
    display:grid;
    gap:3px;
}

.public-estimate-request-item small{
    color:var(--muted);
    line-height:1.35;
}

.public-estimate-request-item .public-estimate-fitment{
    font-size:9px;
    padding:3px 6px;
}

.public-estimate-request-total{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:end;
    padding-top:14px;
}

.public-estimate-request-total span{
    color:var(--muted);
    font-size:12px;
}

.public-estimate-request-total strong{
    font-size:22px;
}

.public-estimate-request-summary > p{
    margin:14px 0 0;
    padding-top:12px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:11px;
    line-height:1.5;
}

.public-estimate-request-success{
    max-width:650px;
    margin:40px auto;
    text-align:center;
}

.public-estimate-request-success-icon{
    display:flex;
    width:62px;
    height:62px;
    margin:0 auto 16px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#e8f7ed;
    color:#226139;
    font-size:30px;
    font-weight:900;
}

.public-estimate-request-success h1{
    margin:5px 0 10px;
    font-size:clamp(28px,5vw,44px);
}

.public-estimate-request-success > p{
    color:var(--muted);
}

.public-estimate-request-success-note{
    display:grid;
    gap:5px;
    margin:22px 0;
    padding:16px;
    border:1px solid #d8dce0;
    border-radius:11px;
    background:#f7f8f9;
}

.public-estimate-request-success-note span{
    color:var(--muted);
    line-height:1.5;
}

.public-estimate-request-success-actions{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
}

.public-estimate-request-success-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff;
    color:#222;
    padding:10px 13px;
    text-decoration:none;
    font-weight:850;
}

@media (max-width:820px){
    .public-estimate-request-layout{
        grid-template-columns:1fr;
    }

    .public-estimate-request-summary{
        position:static;
        order:-1;
    }
}

/* QUOTE REQUEST INBOX V1 */
.quote-request-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:14px;
}

.quote-request-stats > a,
.quote-request-stats > div{
    display:grid;
    gap:4px;
    min-height:92px;
    padding:13px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
    color:inherit;
    text-decoration:none;
}

.quote-request-stats > a.is-active{
    border-color:#222;
    box-shadow:0 5px 18px rgba(0,0,0,.05);
}

.quote-request-stats span{
    color:var(--muted);
    font-size:11px;
    font-weight:800;
}

.quote-request-stats strong{
    align-self:center;
    font-size:25px;
}

.quote-request-list{
    display:grid;
    gap:10px;
    margin-top:12px;
}

.quote-request-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}

.quote-request-card.is-new{
    border-color:#efb6bb;
    box-shadow:inset 4px 0 0 #e31c2b;
}

.quote-request-card-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
}

.quote-request-card-head > div{
    display:flex;
    gap:8px;
    align-items:center;
}

.quote-request-card-head a{
    color:inherit;
    text-decoration:none;
}

.quote-request-card-head a strong{
    font-size:17px;
}

.quote-request-new-badge{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    background:#e31c2b;
    color:#fff;
    padding:4px 7px;
    font-size:9px;
    font-weight:900;
}

.quote-request-meta-grid{
    display:grid;
    grid-template-columns:1.25fr 1.25fr .75fr .9fr 1fr;
    gap:12px;
    margin-top:13px;
}

.quote-request-meta-grid > div{
    display:grid;
    align-content:start;
    gap:3px;
}

.quote-request-meta-grid span,
.quote-request-note > span{
    color:var(--muted);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
}

.quote-request-meta-grid a{
    color:inherit;
    font-size:12px;
    font-weight:800;
}

.quote-request-meta-grid small{
    color:var(--muted);
}

.quote-request-note{
    margin-top:12px;
    padding:10px 12px;
    border-radius:9px;
    background:#f7f8f9;
}

.quote-request-note p{
    margin:4px 0 0;
    line-height:1.5;
}

.quote-request-actions{
    display:flex;
    align-items:center;
}

.quote-request-empty{
    padding:28px 20px;
    text-align:center;
}

@media (max-width:1000px){
    .quote-request-meta-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media (max-width:760px){
    .quote-request-stats{
        grid-template-columns:1fr 1fr;
    }

    .quote-request-card{
        grid-template-columns:1fr;
    }

    .quote-request-meta-grid{
        grid-template-columns:1fr 1fr;
    }

    .quote-request-actions{
        justify-content:flex-start;
    }
}

@media (max-width:480px){
    .quote-request-stats,
    .quote-request-meta-grid{
        grid-template-columns:1fr;
    }
}

/* QUOTE SHARE V1 */
.quote-share-shortcut{
    background:#17191c !important;
    color:#fff !important;
    border-color:#17191c !important;
}

.quote-share-shell{
    max-width:920px;
}

.quote-share-warning,
.quote-share-ready{
    display:grid;
    gap:4px;
    margin:12px 0 14px;
    padding:13px 15px;
    border-radius:10px;
    line-height:1.45;
}

.quote-share-warning{
    border:1px solid #edc9a3;
    background:#fff8ee;
    color:#70451c;
}

.quote-share-ready{
    border:1px solid #c7dfcf;
    background:#f2faf5;
    color:#245a36;
}

.quote-share-warning span,
.quote-share-ready span{
    font-size:12px;
}

.quote-share-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    padding:0;
    overflow:hidden;
}

.quote-share-summary > div{
    display:grid;
    gap:3px;
    min-height:90px;
    padding:14px;
    border-right:1px solid var(--line);
}

.quote-share-summary > div:last-child{
    border-right:0;
}

.quote-share-summary span{
    color:var(--muted);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
}

.quote-share-summary small{
    color:var(--muted);
}

.quote-share-workspace{
    display:grid;
    gap:0;
    margin-top:14px;
    padding:0;
    overflow:hidden;
}

.quote-share-block{
    padding:16px;
    border-bottom:1px solid var(--line);
}

.quote-share-block-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:10px;
}

.quote-share-block-head > div{
    display:grid;
    gap:3px;
}

.quote-share-block-head button{
    border:1px solid #17191c;
    border-radius:8px;
    background:#17191c;
    color:#fff;
    padding:8px 11px;
    font:inherit;
    font-size:12px;
    font-weight:850;
    cursor:pointer;
}

.quote-share-block-head button:disabled{
    border-color:#d7dbde;
    background:#e9ebed;
    color:#8d9398;
    cursor:not-allowed;
}

.quote-share-url-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
}

.quote-share-url-row input,
.quote-share-block textarea{
    width:100%;
    min-width:0;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    padding:10px 11px;
    font:inherit;
}

.quote-share-url-row input{
    color:#555d64;
}

.quote-share-url-row a{
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line);
    border-radius:8px;
    padding:9px 11px;
    color:#222;
    text-decoration:none;
    font-size:12px;
    font-weight:850;
}

.quote-share-block textarea{
    resize:vertical;
    line-height:1.55;
}

.quote-share-block > small{
    display:block;
    margin-top:7px;
    color:var(--muted);
    line-height:1.45;
}

.quote-share-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding:14px 16px;
}

.quote-share-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    color:#222;
    padding:9px 11px;
    text-decoration:none;
    font-size:12px;
    font-weight:850;
}

.quote-share-copy-status{
    min-height:0;
    padding:0 16px;
    color:#25603a;
    font-size:12px;
    font-weight:800;
    transition:.15s ease;
}

.quote-share-copy-status:not(:empty){
    min-height:38px;
    padding:10px 16px 14px;
}

.quote-share-copy-status.is-error{
    color:#922e34;
}

.quote-share-footer-actions{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-top:14px;
}

.quote-share-footer-actions > a{
    color:#555d64;
    font-weight:800;
}

.quote-share-footer-actions > strong{
    max-width:560px;
    color:#775126;
    text-align:right;
    font-size:11px;
}

@media (max-width:760px){
    .quote-share-summary{
        grid-template-columns:1fr 1fr;
    }

    .quote-share-summary > div:nth-child(2n){
        border-right:0;
    }

    .quote-share-summary > div{
        border-bottom:1px solid var(--line);
    }

    .quote-share-url-row{
        grid-template-columns:1fr;
    }

    .quote-share-footer-actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .quote-share-footer-actions > strong{
        text-align:left;
    }
}

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

    .quote-share-summary > div{
        border-right:0;
    }

    .quote-share-block-head{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* HOMEPAGE ESTIMATE HERO V1 */
.hero-estimate-card{
    display:grid;
    align-content:start;
    gap:11px;
    padding:22px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--shadow);
}

.hero-estimate-kicker{
    color:var(--brand);
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.hero-estimate-card h2{
    margin:0;
    font-size:clamp(24px,3vw,33px);
    line-height:1.08;
    letter-spacing:-.025em;
}

.hero-estimate-card > p{
    margin:0 0 3px;
    color:var(--muted);
    font-size:14px;
    line-height:1.55;
}

.hero-estimate-form{
    display:grid;
    gap:9px;
    margin-top:3px;
}

.hero-estimate-form label{
    display:grid;
    gap:5px;
}

.hero-estimate-form label > span,
.hero-estimate-current span{
    color:var(--muted);
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
}

.hero-estimate-form select{
    width:100%;
    min-width:0;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff;
    padding:11px 12px;
    font:inherit;
}

.hero-estimate-form button,
.hero-estimate-primary{
    display:flex;
    min-height:46px;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:9px;
    background:var(--brand);
    color:#fff;
    padding:11px 14px;
    text-align:center;
    text-decoration:none;
    font:inherit;
    font-weight:900;
    cursor:pointer;
}

.hero-estimate-form button:hover,
.hero-estimate-primary:hover{
    background:var(--brand-dark);
}

.hero-estimate-benefits{
    display:grid;
    gap:6px;
    margin:3px 0 0;
    padding:0;
    list-style:none;
    color:#555d64;
    font-size:12px;
}

.hero-estimate-benefits li{
    position:relative;
    padding-left:20px;
}

.hero-estimate-benefits li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:#268047;
    font-weight:900;
}

.hero-estimate-current{
    display:grid;
    gap:0;
    margin-top:2px;
    border:1px solid var(--line);
    border-radius:11px;
    overflow:hidden;
}

.hero-estimate-current > div{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:center;
    padding:10px 12px;
    border-bottom:1px solid var(--line);
}

.hero-estimate-current > div:last-child{
    border-bottom:0;
}

.hero-estimate-current strong{
    max-width:68%;
    text-align:right;
    font-size:13px;
}

.hero-estimate-current .hero-estimate-total{
    background:#fafbfb;
}

.hero-estimate-current .hero-estimate-total strong{
    color:var(--brand);
    font-size:21px;
}

.hero-estimate-card > small{
    color:var(--muted);
    font-size:11px;
    line-height:1.45;
    text-align:center;
}

@media (max-width:980px){
    .hero-estimate-card{
        max-width:620px;
    }
}

@media (max-width:560px){
    .hero-estimate-card{
        padding:16px;
        border-radius:13px;
    }

    .hero-estimate-current > div{
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
    }

    .hero-estimate-current strong{
        max-width:none;
        text-align:left;
    }
}

/* MERCHANT POLICY PAGES V1 */
.policy-container{
    max-width:900px;
}

.policy-page-hero p{
    max-width:760px;
    color:var(--muted);
    line-height:1.6;
}

.policy-content{
    display:grid;
    gap:14px;
}

.policy-content > section{
    padding:20px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}

.policy-content h2{
    margin:0 0 9px;
    font-size:21px;
}

.policy-content p{
    margin:7px 0;
    line-height:1.7;
}

.policy-content ul,
.policy-content ol{
    display:grid;
    gap:7px;
    margin:10px 0 0;
    padding-left:22px;
    line-height:1.6;
}

.policy-content a{
    font-weight:800;
}

.policy-contact-box{
    border-color:#cfe0d4 !important;
    background:#f5fbf7 !important;
}

.policy-contact-box p{
    margin-bottom:0;
}

.policy-contact-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    padding:0 !important;
    overflow:hidden;
}

.policy-contact-list > div{
    display:grid;
    gap:6px;
    min-height:110px;
    padding:18px;
    border-right:1px solid var(--line);
}

.policy-contact-list > div:last-child{
    border-right:0;
}

.policy-contact-list span{
    color:var(--muted);
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
}

.policy-contact-list a{
    font-size:20px;
}

.site-footer a{
    color:inherit;
}

@media (max-width:700px){
    .policy-content > section{
        padding:16px;
    }

    .policy-contact-list{
        grid-template-columns:1fr;
    }

    .policy-contact-list > div{
        min-height:0;
        border-right:0;
        border-bottom:1px solid var(--line);
    }

    .policy-contact-list > div:last-child{
        border-bottom:0;
    }
}

/* MOBILE MEDIA FIX V1 */
@media (max-width:820px){
    /*
     * PRODUCT CARDS
     * Fill much more of the square while preserving the entire part/package.
     */
    .product-card-image{
        display:flex !important;
        width:100% !important;
        aspect-ratio:1 / 1 !important;
        min-height:0 !important;
        align-items:center !important;
        justify-content:center !important;
        padding:6px !important;
        overflow:hidden !important;
        background:#fff !important;
    }

    .product-card-image img{
        display:block !important;
        width:100% !important;
        height:100% !important;
        max-width:100% !important;
        max-height:100% !important;
        object-fit:contain !important;
        object-position:center !important;
    }

    /*
     * BLOG CARDS
     * The image area must never become a tall empty box on phones.
     */
    .post-card-image{
        display:block !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        aspect-ratio:16 / 9 !important;
        overflow:hidden !important;
        background:#eef0f2 !important;
    }

    .post-card-image img{
        display:block !important;
        width:100% !important;
        height:100% !important;
        max-width:none !important;
        max-height:none !important;
        object-fit:cover !important;
        object-position:center !important;
    }

    .post-card-image .image-placeholder{
        display:flex !important;
        width:100% !important;
        height:100% !important;
        min-height:0 !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .post-card-body{
        padding:16px !important;
    }
}

@media (max-width:430px){
    .product-card-image{
        padding:4px !important;
    }
}

/* PRODUCT CARD BORDERLESS V1 */
.product-card{
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    overflow:visible !important;
}

.product-card-image{
    border:0 !important;
    border-bottom:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
}

.product-card-body{
    border:0 !important;
    border-top:0 !important;
    background:transparent !important;
    padding-left:2px !important;
    padding-right:2px !important;
}

@media (min-width:821px){
    .product-card{
        transition:transform .18s ease;
    }

    .product-card:hover{
        transform:translateY(-2px);
    }
}

@media (max-width:820px){
    .product-card{
        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
    }

    .product-card-image{
        border:0 !important;
        border-bottom:0 !important;
        border-radius:0 !important;
    }

    .product-card-body{
        padding-left:2px !important;
        padding-right:2px !important;
    }
}

/* NAV MODERN STYLE V1 */
.main-nav{
    border-top:1px solid #eef0f2 !important;
    border-bottom:1px solid #e5e8eb !important;
    background:rgba(255,255,255,.96) !important;
}

.nav-inner{
    display:flex;
    align-items:center;
    gap:4px !important;
    min-height:48px;
}

.nav-inner > a{
    position:relative;
    display:flex;
    min-height:48px;
    align-items:center;
    padding:0 14px !important;
    border-radius:8px;
    color:#17191c !important;
    text-decoration:none !important;
    text-transform:uppercase;
    font-size:12px !important;
    font-weight:850 !important;
    letter-spacing:.035em;
    transition:
        background-color .18s ease,
        color .18s ease,
        transform .18s ease;
}

.nav-inner > a::after{
    content:"";
    position:absolute;
    left:14px;
    right:14px;
    bottom:6px;
    height:2px;
    border-radius:999px;
    background:var(--brand);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .18s ease;
}

.nav-inner > a:hover{
    background:#f6f7f8;
    color:var(--brand) !important;
}

.nav-inner > a:hover::after{
    transform:scaleX(1);
}

.nav-inner > a:focus-visible{
    outline:2px solid var(--brand);
    outline-offset:2px;
}

/* Dự toán is slightly emphasized as a useful tool */
.nav-inner > a[href="/du-toan/"]{
    margin-left:4px;
    background:#fff4f5;
    color:var(--brand) !important;
}

.nav-inner > a[href="/du-toan/"]:hover{
    background:#ffe8eb;
}

@media (max-width:820px){
    .main-nav{
        border-top:1px solid var(--line) !important;
    }

    .nav-inner{
        min-height:0;
        gap:0 !important;
    }

    .nav-inner > a{
        min-height:48px !important;
        padding:11px 4px !important;
        border-radius:0 !important;
        text-transform:uppercase;
        font-size:12px !important;
        letter-spacing:.03em;
    }

    .nav-inner > a::after{
        display:none;
    }

    .nav-inner > a[href="/du-toan/"]{
        margin-left:0;
        background:#fff7f8;
    }
}

/* MOBILE PRODUCT THUMBNAIL WP STYLE V1 */
/*
 * Old WooCommerce cards visually used tighter square thumbnails.
 * Our imported originals often contain large white margins, so "contain"
 * makes the actual part look much smaller than on the old site.
 */
@media (max-width:820px){
    .product-card-image{
        display:block !important;
        width:100% !important;
        aspect-ratio:1 / 1 !important;
        height:auto !important;
        min-height:0 !important;
        padding:0 !important;
        overflow:hidden !important;
        background:#fff !important;
    }

    .product-card-image img{
        display:block !important;
        width:100% !important;
        height:100% !important;
        max-width:none !important;
        max-height:none !important;
        object-fit:cover !important;
        object-position:center !important;
        transform:scale(1.20) !important;
        transform-origin:center center !important;
    }
}

/* iPhone-sized screens: a little closer to the old WooCommerce visual crop. */
@media (max-width:430px){
    .product-card-image img{
        transform:scale(1.28) !important;
    }
}

/* Very narrow screens: avoid aggressive crop. */
@media (max-width:340px){
    .product-card-image img{
        transform:scale(1.18) !important;
    }
}

/* MOBILE PRODUCT CARD WP RATIO V1 */
/*
 * Reference old WooCommerce thumbnail supplied by owner:
 * 247 × 296 px => aspect-ratio 247 / 296.
 *
 * Portrait crop naturally makes the product appear larger without
 * using an aggressive CSS transform zoom.
 */
@media (max-width:820px){
    .product-card-image{
        display:block !important;
        width:100% !important;
        aspect-ratio:247 / 296 !important;
        height:auto !important;
        min-height:0 !important;
        padding:0 !important;
        overflow:hidden !important;
        background:#fff !important;
    }

    .product-card-image img{
        display:block !important;
        width:100% !important;
        height:100% !important;
        max-width:none !important;
        max-height:none !important;
        object-fit:cover !important;
        object-position:center !important;

        /* Override the previous WP-style zoom patch. */
        transform:none !important;
    }

    .product-card-body{
        padding:8px 9px 10px !important;
    }

    .product-meta{
        gap:4px !important;
        font-size:9px !important;
        line-height:1.2 !important;
    }

    .product-card h3{
        margin-top:7px !important;
        margin-bottom:7px !important;
        font-size:12.5px !important;
        line-height:1.32 !important;
        letter-spacing:-.01em !important;
    }

    .product-price{
        font-size:15px !important;
        line-height:1.15 !important;
    }
}

@media (max-width:430px){
    .product-card-body{
        padding:7px 8px 9px !important;
    }

    .product-meta{
        font-size:8.5px !important;
    }

    .product-card h3{
        font-size:12px !important;
        line-height:1.30 !important;
    }

    .product-price{
        font-size:14.5px !important;
    }
}

@media (max-width:360px){
    .product-card h3{
        font-size:11.5px !important;
    }

    .product-price{
        font-size:14px !important;
    }
}

/* MOBILE TYPOGRAPHY STANDARD V1 */
/*
 * Conventional mobile web baseline:
 * body/forms 16px, secondary text 13px,
 * product titles 16px, prices 18px.
 */
@media (max-width:820px){
    body{
        font-size:16px !important;
        line-height:1.5 !important;
    }

    input,
    select,
    textarea,
    button{
        font-size:16px !important;
    }

    .product-card-body{
        padding:10px 10px 12px !important;
    }

    .product-meta{
        gap:5px !important;
        font-size:13px !important;
        line-height:1.35 !important;
    }

    .product-card h3{
        margin-top:8px !important;
        margin-bottom:8px !important;
        font-size:16px !important;
        line-height:1.35 !important;
        letter-spacing:0 !important;
    }

    .product-card h3 a{
        font-size:inherit !important;
        line-height:inherit !important;
    }

    .product-price{
        font-size:18px !important;
        line-height:1.25 !important;
        font-weight:800 !important;
    }

    .product-price del{
        font-size:14px !important;
    }

    .product-card small,
    .post-card small,
    .hero-estimate-card small{
        font-size:12px !important;
        line-height:1.4 !important;
    }

    .post-card-body{
        font-size:16px !important;
    }

    .post-card-body time{
        font-size:13px !important;
    }

    .post-card-body h3{
        font-size:18px !important;
        line-height:1.35 !important;
    }

    .post-card-body p{
        font-size:15px !important;
        line-height:1.55 !important;
    }
}

@media (max-width:360px){
    /*
     * Keep readable sizes even on narrow phones.
     * Do not shrink below the normal mobile baseline.
     */
    .product-meta{
        font-size:12px !important;
    }

    .product-card h3{
        font-size:15px !important;
    }

    .product-price{
        font-size:17px !important;
    }
}

/* RIDEO FONT BASE V1 */
/*
 * Rideo-inspired type pairing:
 * Roboto     = body/readability
 * Montserrat = headings, navigation, product UI
 *
 * Font sizes are intentionally NOT changed here.
 */
:root{
    --font-body:"Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    --font-display:"Montserrat","Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

html,
body{
    font-family:var(--font-body) !important;
}

input,
select,
textarea,
button{
    font-family:var(--font-body) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.brand,
.main-nav,
.eyebrow,
.product-card h3,
.product-price,
.product-summary h1,
.section-head h2,
.hero h1,
.hero-estimate-card h2,
.button-link,
.hero-estimate-primary,
.public-estimate-product-row button,
.public-estimate-request-submit{
    font-family:var(--font-display) !important;
}

h1,
h2,
.hero h1,
.product-summary h1{
    font-weight:700 !important;
}

h3,
.product-card h3,
.section-head h2{
    font-weight:600 !important;
}

.main-nav,
.brand,
.eyebrow,
button,
.product-price{
    font-weight:600 !important;
}

.product-meta,
.summary-meta,
.result-count,
time,
.post-card-body p,
.entry-content,
.short-description,
.site-footer{
    font-family:var(--font-body) !important;
}

/* BLOG SHORTCODE RENDER FIX V1 */
.entry-content .legacy-row{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:22px;
    width:100%;
    margin:22px 0;
}

.entry-content .legacy-col{
    grid-column:span var(--legacy-span,12);
    min-width:0;
}

.entry-content .legacy-col > :first-child{
    margin-top:0;
}

.entry-content .legacy-col > :last-child{
    margin-bottom:0;
}

.entry-content .legacy-divider{
    width:100%;
    height:0;
    margin:24px 0;
    border:0;
    border-top:1px solid var(--line);
}

.entry-content .legacy-ux-html{
    width:100%;
}

@media (max-width:700px){
    .entry-content .legacy-row{
        gap:16px;
        margin:18px 0;
    }

    .entry-content .legacy-col{
        grid-column:span var(--legacy-span-sm,var(--legacy-span,12));
    }

    .entry-content .legacy-divider{
        margin:20px 0;
    }
}

/* NOVA DESIGN SYSTEM V2 */
/*
 * Modern Technical Commerce
 * Vietnamese-first, readability-first, SEO-friendly.
 */
:root{
    --bg:#f7f7f4;
    --surface:#ffffff;
    --surface-soft:#fafaf7;
    --text:#151515;
    --muted:#6d6d69;
    --line:#e7e7e2;
    --line-strong:#d8d8d2;

    --brand:#d71920;
    --brand-dark:#b30f16;
    --success:#1f7a48;
    --warning:#9a651c;

    --radius:18px;
    --radius-sm:12px;
    --shadow:0 12px 34px rgba(0,0,0,.055);

    --container:1180px;
    --font-body:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    --font-display:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

html{
    scroll-behavior:smooth;
    background:var(--bg);
}

body{
    margin:0;
    background:var(--bg) !important;
    color:var(--text) !important;
    font-family:var(--font-body) !important;
    font-size:16px !important;
    line-height:1.65 !important;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

::selection{
    background:rgba(215,25,32,.14);
}

a{
    text-underline-offset:3px;
}

img{
    max-width:100%;
}

.container{
    width:min(calc(100% - 32px),var(--container)) !important;
}

h1,
h2,
h3,
h4,
h5,
h6{
    color:var(--text);
    font-family:var(--font-display) !important;
    letter-spacing:-.025em;
    line-height:1.18;
}

h1{font-weight:800}
h2{font-weight:700}
h3,h4,h5,h6{font-weight:600}

p,
li{
    text-wrap:pretty;
}

button,
input,
select,
textarea{
    font-family:var(--font-body) !important;
}

button,
.button-link,
.hero-estimate-primary{
    transition:
        background-color .18s ease,
        border-color .18s ease,
        color .18s ease,
        transform .18s ease;
}

button:hover,
.button-link:hover,
.hero-estimate-primary:hover{
    transform:translateY(-1px);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
    outline:3px solid rgba(215,25,32,.22) !important;
    outline-offset:2px !important;
}

/* HEADER */
.topbar{
    background:#171717 !important;
    color:#fff !important;
    font-size:12px !important;
}

.topbar-inner{
    min-height:34px !important;
}

.topbar-note{
    opacity:.68;
}

.site-header{
    background:rgba(247,247,244,.94) !important;
    border-bottom:1px solid rgba(231,231,226,.9);
}

.header-main{
    min-height:78px;
}

.brand{
    font-family:var(--font-display) !important;
}

.brand-mark{
    border-radius:12px !important;
    background:var(--brand) !important;
    box-shadow:none !important;
}

.brand strong{
    font-size:14px !important;
    font-weight:800 !important;
    letter-spacing:.025em !important;
}

.brand small{
    color:var(--muted) !important;
}

.header-search{
    overflow:hidden;
    border:1px solid var(--line) !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:none !important;
}

.header-search input{
    min-height:46px;
    border:0 !important;
    background:transparent !important;
    padding:0 15px !important;
    color:var(--text);
}

.header-search button{
    min-height:46px;
    border:0 !important;
    border-radius:0 !important;
    background:#191919 !important;
    color:#fff !important;
    padding:0 18px !important;
    font-size:13px !important;
    font-weight:700 !important;
}

.main-nav{
    border-top:1px solid var(--line) !important;
    border-bottom:1px solid var(--line) !important;
    background:#fff !important;
}

.nav-inner{
    gap:18px !important;
}

.nav-inner > a{
    min-height:44px;
    display:flex;
    align-items:center;
    color:#4a4a46 !important;
    font-size:13px !important;
    font-weight:600 !important;
}

.nav-inner > a:hover{
    color:var(--brand) !important;
}

/* HERO */
.hero{
    padding-top:52px !important;
    padding-bottom:36px !important;
}

.hero-grid{
    gap:24px !important;
}

.hero-grid > div:first-child{
    padding:40px !important;
    border:1px solid var(--line);
    border-radius:24px;
    background:var(--surface);
    box-shadow:var(--shadow);
}

.eyebrow{
    color:var(--brand) !important;
    font-size:11px !important;
    font-weight:800 !important;
    letter-spacing:.1em !important;
}

.hero h1{
    margin-top:12px !important;
    font-size:clamp(40px,5.4vw,68px) !important;
    line-height:1.04 !important;
    letter-spacing:-.045em !important;
}

.hero p{
    color:var(--muted) !important;
    font-size:16px !important;
    line-height:1.65 !important;
}

.hero-search{
    overflow:hidden;
    border:1px solid var(--line) !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:none !important;
}

.hero-search input{
    border:0 !important;
    background:transparent !important;
}

.hero-search button{
    border:0 !important;
    background:var(--brand) !important;
    color:#fff !important;
    font-weight:700 !important;
}

.hero-search button:hover{
    background:var(--brand-dark) !important;
}

/* ESTIMATE HERO */
.hero-estimate-card{
    padding:28px !important;
    border:0 !important;
    border-radius:24px !important;
    background:#171717 !important;
    color:#fff !important;
    box-shadow:var(--shadow) !important;
}

.hero-estimate-card .hero-estimate-kicker,
.hero-estimate-card .eyebrow{
    color:#ff6f75 !important;
}

.hero-estimate-card h2{
    color:#fff !important;
    font-size:clamp(28px,3vw,36px) !important;
}

.hero-estimate-card > p,
.hero-estimate-card > small,
.hero-estimate-card .hero-estimate-benefits{
    color:#bdbdb8 !important;
}

.hero-estimate-form label > span,
.hero-estimate-current span{
    color:#aaa9a4 !important;
}

.hero-estimate-form select{
    min-height:48px !important;
    border:1px solid #383838 !important;
    border-radius:12px !important;
    background:#242424 !important;
    color:#fff !important;
}

.hero-estimate-form button,
.hero-estimate-primary{
    min-height:48px !important;
    border-radius:12px !important;
    background:var(--brand) !important;
    color:#fff !important;
    font-weight:700 !important;
}

.hero-estimate-form button:hover,
.hero-estimate-primary:hover{
    background:var(--brand-dark) !important;
}

.hero-estimate-current{
    border-color:#3a3a3a !important;
    border-radius:12px !important;
}

.hero-estimate-current > div{
    border-color:#343434 !important;
}

.hero-estimate-current .hero-estimate-total{
    background:#202020 !important;
}

.hero-estimate-current strong{
    color:#fff !important;
}

.hero-estimate-current .hero-estimate-total strong{
    color:#ff747a !important;
}

/* SECTIONS */
.section{
    padding-top:42px !important;
    padding-bottom:42px !important;
}

.section-alt{
    background:#f1f1ed !important;
}

.section-head{
    margin-bottom:18px !important;
}

.section-head h2{
    margin-top:5px !important;
    font-size:clamp(28px,3vw,34px) !important;
}

/* PRODUCT CARDS */
.product-grid{
    gap:14px !important;
}

.product-card{
    overflow:hidden;
    border:1px solid var(--line) !important;
    border-radius:var(--radius) !important;
    background:var(--surface) !important;
    box-shadow:none !important;
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.product-card:hover{
    transform:translateY(-3px);
    border-color:var(--line-strong) !important;
    box-shadow:var(--shadow) !important;
}

.product-card-image{
    background:#f1f1ed !important;
}

.product-card-body{
    padding:14px !important;
}

.product-meta{
    color:var(--muted) !important;
    font-size:11px !important;
    line-height:1.35 !important;
    text-transform:uppercase;
    letter-spacing:.01em;
}

.product-card h3{
    margin:10px 0 8px !important;
    font-size:16px !important;
    line-height:1.38 !important;
    letter-spacing:-.015em !important;
}

.product-card h3 a{
    color:var(--text) !important;
}

.product-price{
    color:var(--text) !important;
    font-size:18px !important;
    font-weight:800 !important;
}

/* BLOG CARDS */
.post-card{
    overflow:hidden;
    border:1px solid var(--line) !important;
    border-radius:var(--radius) !important;
    background:var(--surface) !important;
    box-shadow:none !important;
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.post-card:hover{
    transform:translateY(-3px);
    border-color:var(--line-strong) !important;
    box-shadow:var(--shadow) !important;
}

.post-card-body{
    padding:18px !important;
}

.post-card-body time{
    color:var(--muted) !important;
    font-size:12px !important;
}

.post-card-body h3{
    margin:8px 0 !important;
    font-size:18px !important;
    line-height:1.4 !important;
}

.post-card-body p{
    color:var(--muted) !important;
    font-size:15px !important;
    line-height:1.6 !important;
}

/* PAGE HERO / BREADCRUMB */
.page-hero,
.article-header{
    background:var(--bg) !important;
}

.breadcrumb{
    color:var(--muted) !important;
    font-size:12px !important;
}

.breadcrumb a:hover{
    color:var(--brand) !important;
}

/* PRODUCT DETAIL */
.product-layout{
    gap:34px !important;
}

.product-gallery,
.product-summary,
.content-shell,
.policy-content > section,
.public-estimate-vehicle,
.public-estimate-summary,
.public-estimate-request-form > section,
.public-estimate-request-summary{
    border-color:var(--line) !important;
}

.product-summary h1{
    font-size:clamp(34px,4.5vw,52px) !important;
    letter-spacing:-.04em !important;
}

.product-price-large{
    color:var(--brand) !important;
    font-size:30px !important;
    font-weight:800 !important;
}

.summary-meta{
    color:var(--muted) !important;
    font-size:12px !important;
}

.short-description,
.entry-content,
.article-content,
.policy-content{
    color:#30302d !important;
    font-size:16px !important;
    line-height:1.75 !important;
}

.entry-content h2,
.article-content h2,
.policy-content h2{
    margin-top:1.8em;
    margin-bottom:.65em;
    font-size:clamp(24px,3vw,32px) !important;
}

.entry-content h3,
.article-content h3{
    margin-top:1.55em;
    margin-bottom:.6em;
    font-size:21px !important;
}

.entry-content p,
.article-content p,
.policy-content p{
    margin-top:.75em;
    margin-bottom:.75em;
}

.entry-content a,
.article-content a,
.policy-content a{
    color:var(--brand);
    text-decoration:underline;
    text-decoration-thickness:1px;
}

/* BLOG ARTICLE */
.article-narrow{
    max-width:780px !important;
}

.article-header h1{
    max-width:820px;
    font-size:clamp(36px,5vw,58px) !important;
    line-height:1.12 !important;
}

.article-excerpt{
    color:var(--muted) !important;
    font-size:17px !important;
    line-height:1.65 !important;
}

.article-cover{
    border-radius:18px !important;
}

/* ESTIMATE / QUOTE */
.public-estimate-shell,
.public-estimate-request-shell{
    max-width:1050px !important;
}

.public-estimate-table-wrap,
.public-estimate-summary,
.public-estimate-request-summary,
.public-estimate-request-form > section{
    border-radius:14px !important;
    background:var(--surface) !important;
}

.public-estimate-primary-cta > a,
.public-estimate-request-submit{
    min-height:50px !important;
    border-radius:12px !important;
    background:var(--brand) !important;
    color:#fff !important;
    font-weight:700 !important;
}

.public-estimate-primary-cta > a:hover,
.public-estimate-request-submit:hover{
    background:var(--brand-dark) !important;
}

/* POLICY PAGES */
.policy-content > section{
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:none !important;
}

.policy-contact-box{
    background:#f2faf5 !important;
}

/* FOOTER */
.site-footer{
    background:#171717 !important;
    color:#fff !important;
}

.site-footer p,
.site-footer a{
    color:#bdbdb8 !important;
}

.site-footer a:hover{
    color:#fff !important;
}

/* MOBILE */
@media (max-width:820px){
    .container{
        width:min(calc(100% - 24px),var(--container)) !important;
    }

    .hero{
        padding-top:24px !important;
        padding-bottom:28px !important;
    }

    .hero-grid{
        gap:16px !important;
    }

    .hero-grid > div:first-child,
    .hero-estimate-card{
        padding:22px !important;
        border-radius:18px !important;
    }

    .hero h1{
        font-size:clamp(38px,11vw,50px) !important;
    }

    .hero p{
        font-size:16px !important;
    }

    .section{
        padding-top:34px !important;
        padding-bottom:34px !important;
    }

    .product-grid{
        gap:10px !important;
    }

    .product-card-body{
        padding:11px !important;
    }

    .product-meta{
        font-size:11px !important;
    }

    .product-card h3{
        font-size:15px !important;
        line-height:1.38 !important;
    }

    .product-price{
        font-size:17px !important;
    }

    .post-card-body h3{
        font-size:17px !important;
    }

    .article-narrow{
        max-width:100% !important;
    }

    .entry-content,
    .article-content,
    .policy-content{
        font-size:16px !important;
        line-height:1.72 !important;
    }
}

@media (max-width:390px){
    .brand strong{
        font-size:13px !important;
    }

    .product-card-body{
        padding:10px !important;
    }

    .product-meta{
        font-size:10px !important;
    }

    .product-card h3{
        font-size:14.5px !important;
    }

    .product-price{
        font-size:16.5px !important;
    }
}

/* REDUCED MOTION */
@media (prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        transition:none !important;
        animation:none !important;
    }
}

/* ADMIN BLOG V1 */
.admin-blog-page,
.admin-blog-editor{
    width:min(100% - 32px,1240px);
    margin:0 auto;
    padding:28px 0 48px;
}

.admin-blog-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:20px 0;
}

.admin-blog-stats a{
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:16px;
    border:1px solid var(--line,#e7e7e2);
    border-radius:14px;
    background:#fff;
    text-decoration:none;
}

.admin-blog-stats strong{
    font-size:24px;
}

.admin-blog-stats span{
    color:var(--muted,#6d6d69);
    font-size:12px;
}

.admin-blog-filter{
    display:grid;
    grid-template-columns:minmax(240px,1fr) 180px auto;
    gap:10px;
    margin-bottom:16px;
}

.admin-blog-filter input,
.admin-blog-filter select,
.admin-blog-filter button{
    min-height:44px;
}

.admin-blog-title-cell{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:260px;
}

.admin-blog-title-cell img{
    width:54px;
    height:54px;
    flex:0 0 54px;
    object-fit:cover;
    border-radius:10px;
    background:#f2f2ef;
}

.admin-blog-title-cell strong,
.admin-blog-title-cell small{
    display:block;
}

.admin-blog-title-cell small{
    margin-top:4px;
    color:var(--muted,#6d6d69);
}

.admin-blog-status{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:0 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
}

.admin-blog-status.is-published{
    background:#edf8f1;
    color:#1f7a48;
}

.admin-blog-status.is-draft{
    background:#f1f1ed;
    color:#696962;
}

.admin-muted{
    color:var(--muted,#6d6d69);
}

.admin-blog-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:20px;
    align-items:start;
}

.admin-blog-main-fields,
.admin-blog-panel{
    border:1px solid var(--line,#e7e7e2);
    border-radius:16px;
    background:#fff;
}

.admin-blog-main-fields{
    padding:20px;
}

.admin-blog-sidebar{
    display:grid;
    gap:14px;
    position:sticky;
    top:20px;
}

.admin-blog-panel{
    padding:18px;
}

.admin-blog-panel h2{
    margin:0 0 14px;
    font-size:17px;
}

.admin-blog-form .admin-field{
    display:grid;
    gap:6px;
    margin-bottom:16px;
}

.admin-blog-form .admin-field > span,
.admin-blog-editor-label > span{
    font-size:12px;
    font-weight:700;
}

.admin-blog-form .admin-field small,
.admin-blog-editor-label small{
    color:var(--muted,#6d6d69);
    font-size:11px;
}

.admin-blog-form input[type="text"],
.admin-blog-form input[type="datetime-local"],
.admin-blog-form input[type="file"],
.admin-blog-form select,
.admin-blog-form textarea{
    width:100%;
    border:1px solid var(--line,#e7e7e2);
    border-radius:10px;
    background:#fff;
    color:inherit;
    font:inherit;
    font-size:14px;
    padding:10px 12px;
}

.admin-blog-form input[readonly]{
    background:#f5f5f2;
    color:#777;
}

.admin-blog-content{
    min-height:520px;
    resize:vertical;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;
    font-size:13px !important;
    line-height:1.6;
}

.admin-blog-editor-label{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-bottom:7px;
}

.admin-blog-toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    padding:8px;
    border:1px solid var(--line,#e7e7e2);
    border-bottom:0;
    border-radius:10px 10px 0 0;
    background:#f7f7f4;
}

.admin-blog-toolbar button{
    min-width:38px;
    min-height:34px;
    border:1px solid #deded8;
    border-radius:7px;
    background:#fff;
    color:#222;
    font:inherit;
    font-size:12px;
    cursor:pointer;
}

.admin-blog-toolbar + .admin-blog-content{
    border-radius:0 0 10px 10px !important;
}

.admin-blog-upload-box{
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr;
    gap:14px;
    align-items:end;
    padding:16px;
    margin-top:18px;
    border:1px dashed #d8d8d1;
    border-radius:12px;
    background:#fafaf7;
}

.admin-blog-upload-box p{
    margin:5px 0 0;
    color:var(--muted,#6d6d69);
    font-size:12px;
}

.admin-blog-upload-box .admin-field{
    margin:0;
}

.admin-blog-legacy-note{
    background:#fafaf7;
}

.admin-blog-legacy-note p{
    margin:0;
    font-size:12px;
    color:var(--muted,#6d6d69);
}

.admin-primary-button{
    width:100%;
    min-height:46px;
    border:0;
    border-radius:10px;
    background:var(--brand,#d71920);
    color:#fff;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}

.admin-secondary-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 14px;
    border:1px solid var(--line,#e7e7e2);
    border-radius:10px;
    background:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:700;
}

.blog-uploaded-image img{
    max-width:100%;
    height:auto;
}

@media (max-width:900px){
    .admin-blog-form{
        grid-template-columns:1fr;
    }

    .admin-blog-sidebar{
        position:static;
    }

    .admin-blog-upload-box{
        grid-template-columns:1fr;
        align-items:stretch;
    }
}

@media (max-width:680px){
    .admin-blog-page,
    .admin-blog-editor{
        width:min(100% - 20px,1240px);
        padding-top:18px;
    }

    .admin-blog-stats{
        grid-template-columns:repeat(3,1fr);
    }

    .admin-blog-filter{
        grid-template-columns:1fr;
    }

    .admin-blog-content{
        min-height:420px;
    }

    .admin-blog-editor-label{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* BLOG MEDIA MANAGER V1.2 */
.admin-blog-head-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
}

.admin-blog-cover-preview{
    overflow:hidden;
    margin-bottom:9px;
    border:1px solid var(--line,#e7e7e2);
    border-radius:12px;
    background:#f4f4f1;
}

.admin-blog-cover-preview img{
    display:block;
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
}

.admin-blog-cover-empty{
    display:grid;
    place-items:center;
    min-height:130px;
    margin-bottom:12px;
    border:1px dashed #d7d7d0;
    border-radius:12px;
    background:#fafaf7;
    color:var(--muted,#6d6d69);
    font-size:12px;
}

.admin-blog-cover-library{
    width:100%;
    margin-top:2px;
}

.admin-blog-cover-remove{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:12px;
    font-size:12px;
    cursor:pointer;
}

.admin-blog-cover-remove input{
    width:auto !important;
}

.admin-media-page{
    width:min(100% - 32px,1240px);
    margin:0 auto;
    padding:28px 0 50px;
}

.admin-media-search{
    display:grid;
    grid-template-columns:minmax(260px,1fr) auto;
    gap:10px;
    margin:18px 0 10px;
}

.admin-media-search input,
.admin-media-search button{
    min-height:44px;
}

.admin-media-summary{
    margin-bottom:14px;
    color:var(--muted,#6d6d69);
    font-size:12px;
}

.admin-media-summary strong{
    color:var(--text,#151515);
}

.admin-media-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.admin-media-card{
    overflow:hidden;
    border:1px solid var(--line,#e7e7e2);
    border-radius:14px;
    background:#fff;
}

.admin-media-thumb{
    display:grid;
    place-items:center;
    aspect-ratio:1/1;
    overflow:hidden;
    background:#f3f3f0;
}

.admin-media-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.admin-media-thumb span{
    color:var(--muted,#6d6d69);
    font-size:11px;
}

.admin-media-card-body{
    padding:11px;
}

.admin-media-card-body strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
}

.admin-media-card-body small{
    display:block;
    margin-top:3px;
    color:var(--muted,#6d6d69);
    font-size:10px;
}

.admin-media-card-body p{
    display:-webkit-box;
    overflow:hidden;
    margin:7px 0;
    color:var(--muted,#6d6d69);
    font-size:11px;
    line-height:1.45;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

.admin-media-select{
    width:100%;
    min-height:36px;
    margin-top:8px;
    border:0;
    border-radius:8px;
    background:var(--brand,#d71920);
    color:#fff;
    font:inherit;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
}

.admin-media-pagination{
    display:flex;
    justify-content:center;
    gap:6px;
    margin-top:20px;
}

.admin-media-pagination a{
    display:grid;
    place-items:center;
    min-width:36px;
    height:36px;
    padding:0 8px;
    border:1px solid var(--line,#e7e7e2);
    border-radius:8px;
    background:#fff;
    text-decoration:none;
    font-size:12px;
}

.admin-media-pagination a.is-active{
    border-color:var(--brand,#d71920);
    background:var(--brand,#d71920);
    color:#fff;
}

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

@media (max-width:700px){
    .admin-media-page{
        width:min(100% - 20px,1240px);
        padding-top:18px;
    }

    .admin-media-search{
        grid-template-columns:1fr;
    }

    .admin-media-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
    }

    .admin-blog-head-actions{
        width:100%;
    }

    .admin-blog-head-actions a{
        flex:1;
    }
}

/* ADMIN BLOG TRASH V1 */
.admin-blog-stats{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.admin-blog-status.is-trash{
    background:#fff0f0;
    color:#b42318;
}

.admin-inline-form{
    display:inline;
    margin:0;
}

.admin-link-button{
    border:0;
    padding:0;
    background:transparent;
    color:inherit;
    font:inherit;
    font-size:12px;
    text-decoration:underline;
    cursor:pointer;
}

.admin-link-button.is-danger{
    color:#b42318;
}

.admin-table-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
}

@media (max-width:680px){
    .admin-blog-stats{
        grid-template-columns:repeat(2,1fr);
    }
}

/* ADMIN HEADER NAV FIX V1 */

/* Admin header needs more room than the public 1180px content container. */
.admin-header .admin-header-inner{
    width:min(calc(100% - 24px),1440px);
    gap:12px;
}

.admin-header .admin-brand{
    flex:0 0 auto;
    white-space:nowrap;
    font-size:14px;
}

.admin-header .admin-nav{
    min-width:0;
    gap:8px;
    margin-left:auto;
    margin-right:8px;
}

.admin-header .admin-nav a{
    flex:0 0 auto;
    white-space:nowrap;
    padding:6px 5px;
    font-size:12px;
    line-height:1.25;
}

.admin-header .admin-userbar{
    flex:0 0 auto;
    gap:8px;
    white-space:nowrap;
}

/* Keep narrow screens usable without forcing words onto two lines. */
@media (max-width:1100px){
    .admin-header .admin-header-inner{
        flex-wrap:wrap;
        padding-block:8px;
    }

    .admin-header .admin-nav{
        order:3;
        width:100%;
        margin:0;
        overflow-x:auto;
        overflow-y:hidden;
        scrollbar-width:thin;
        padding-bottom:3px;
    }

    .admin-header .admin-nav a{
        white-space:nowrap;
    }

    .admin-header .admin-userbar{
        margin-left:auto;
    }
}

@media (max-width:520px){
    .admin-header .admin-brand{
        font-size:13px;
    }

    .admin-header .admin-userbar > span{
        display:none;
    }
}

/* PUBLIC ESTIMATE SIMPLE FLOW V2 */

/* Product page: make the next action impossible to miss. */
.public-estimate-product-box-v2{
    border:2px solid #ead3d4;
    background:#fff;
    box-shadow:0 10px 28px rgba(20,20,20,.05);
}

.public-estimate-product-box-v2 .public-estimate-product-head{
    align-items:center;
}

.public-estimate-count-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    border:1px solid #deded8;
    border-radius:999px;
    padding:0 12px;
    background:#f7f7f4;
    text-decoration:none;
}

.public-estimate-product-help strong{
    color:var(--text,#151515);
}

.public-estimate-product-box-v2 select,
.public-estimate-product-box-v2 input[type="number"]{
    min-height:48px;
    font-size:16px;
}

.public-estimate-product-box-v2 .public-estimate-product-row{
    grid-template-columns:100px minmax(0,1fr);
}

.public-estimate-product-box-v2 .public-estimate-product-row button{
    min-height:52px;
    border-radius:10px;
    background:var(--brand,#d71920);
    font-size:14px;
    letter-spacing:.01em;
}

.public-estimate-product-box-v2 .public-estimate-product-row button:hover{
    background:#b9141b;
}

.public-estimate-safe-note{
    text-align:center;
    font-weight:600;
}

/* Three very simple steps. */
.public-estimate-steps{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:16px 0 20px;
}

.public-estimate-steps > *{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
    min-height:58px;
    padding:10px 12px;
    border:1px solid var(--line,#e7e7e2);
    border-radius:12px;
    background:#fff;
    color:var(--muted,#6d6d69);
    text-decoration:none;
}

.public-estimate-steps span{
    display:grid;
    place-items:center;
    flex:0 0 30px;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#efefeb;
    color:#555;
    font-size:12px;
    font-weight:800;
}

.public-estimate-steps strong{
    overflow:hidden;
    font-size:12px;
    line-height:1.25;
}

.public-estimate-steps .is-current{
    border-color:#e9bfc1;
    background:#fff6f6;
    color:var(--text,#151515);
}

.public-estimate-steps .is-current span{
    background:var(--brand,#d71920);
    color:#fff;
}

/* Add-more action is deliberately prominent. */
.public-estimate-browse-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:18px 0 12px;
    padding:14px 16px;
    border:1px solid #e0e0da;
    border-radius:14px;
    background:#fff;
}

.public-estimate-browse-bar > div{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:5px 8px;
}

.public-estimate-browse-bar span,
.public-estimate-browse-bar small{
    color:var(--muted,#6d6d69);
    font-size:12px;
}

.public-estimate-browse-bar strong{
    font-size:17px;
}

.public-estimate-browse-bar a,
.public-estimate-add-more-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    border:2px solid var(--brand,#d71920);
    border-radius:10px;
    padding:9px 14px;
    background:#fff;
    color:var(--brand,#d71920);
    text-align:center;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
}

.public-estimate-browse-bar a:hover,
.public-estimate-add-more-button:hover{
    background:#fff5f5;
}

.public-estimate-empty{
    padding:34px 20px;
}

.public-estimate-empty-number{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin:0 auto 2px;
    border-radius:50%;
    background:var(--brand,#d71920);
    color:#fff;
    font-weight:800;
}

.public-estimate-empty .public-estimate-add-more-button{
    width:min(100%,360px);
    margin:10px auto 0;
}

/* Bigger controls. */
.public-estimate-table input[type="number"]{
    width:82px;
    min-height:44px;
    font-size:16px;
    text-align:center;
}

.public-estimate-update-row button{
    min-height:44px;
}

.public-estimate-add-more-link{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    text-decoration:none;
}

/* Stronger quote CTA. */
.public-estimate-primary-cta > a{
    min-height:54px;
    font-size:14px;
}

/* Persistent back-to-estimate button while customer is browsing parts. */
.public-estimate-quickbar{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:1000;
    display:flex;
    align-items:center;
    gap:14px;
    padding:10px 10px 10px 14px;
    border:1px solid #deded8;
    border-radius:14px;
    background:#fff;
    box-shadow:0 14px 38px rgba(15,15,15,.18);
}

.public-estimate-quickbar > div{
    display:grid;
    gap:0;
}

.public-estimate-quickbar span{
    color:var(--muted,#6d6d69);
    font-size:10px;
}

.public-estimate-quickbar strong{
    font-size:15px;
}

.public-estimate-quickbar a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    border-radius:9px;
    padding:0 13px;
    background:var(--brand,#d71920);
    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
}

/* Mobile: no wide table and no need to understand horizontal scrolling. */
@media (max-width:760px){
    .public-estimate-hero h1{
        font-size:clamp(27px,9vw,38px);
    }

    .public-estimate-steps{
        gap:5px;
    }

    .public-estimate-steps > *{
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
        min-height:82px;
        padding:9px;
    }

    .public-estimate-steps span{
        width:26px;
        height:26px;
        flex-basis:26px;
    }

    .public-estimate-steps strong{
        font-size:10px;
    }

    .public-estimate-product-box-v2 .public-estimate-product-row{
        grid-template-columns:86px minmax(0,1fr);
    }

    .public-estimate-product-box-v2 .public-estimate-product-row button{
        padding-inline:8px;
        font-size:12px;
    }

    .public-estimate-browse-bar{
        align-items:stretch;
        flex-direction:column;
    }

    .public-estimate-browse-bar a{
        width:100%;
    }

    .public-estimate-table-wrap{
        overflow:visible;
        border:0;
        background:transparent;
    }

    .public-estimate-table{
        min-width:0;
        border-collapse:separate;
        border-spacing:0 10px;
    }

    .public-estimate-table thead{
        display:none;
    }

    .public-estimate-table tbody,
    .public-estimate-table tr,
    .public-estimate-table td{
        display:block;
        width:100%;
    }

    .public-estimate-table tr{
        overflow:hidden;
        padding:14px;
        border:1px solid var(--line,#e7e7e2);
        border-radius:14px;
        background:#fff;
        box-shadow:0 5px 16px rgba(10,10,10,.035);
    }

    .public-estimate-table td{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:7px 0;
        border:0;
        text-align:right;
    }

    .public-estimate-table td::before{
        content:attr(data-label);
        flex:0 0 102px;
        color:var(--muted,#6d6d69);
        text-align:left;
        font-size:10px;
        font-weight:700;
        text-transform:uppercase;
    }

    .public-estimate-table .public-estimate-product-cell{
        display:block;
        min-width:0;
        padding:0 0 11px;
        margin-bottom:5px;
        border-bottom:1px solid var(--line,#e7e7e2);
        text-align:left;
    }

    .public-estimate-table .public-estimate-product-cell::before{
        display:none;
    }

    .public-estimate-table td:last-child{
        justify-content:flex-end;
        padding-top:10px;
    }

    .public-estimate-table td:last-child::before{
        display:none;
    }

    .public-estimate-remove{
        min-height:38px;
        padding-inline:13px;
    }

    .public-estimate-update-row{
        align-items:stretch;
    }

    .public-estimate-update-row button{
        width:100%;
    }

    .public-estimate-summary-actions{
        align-items:stretch;
        width:100%;
    }

    .public-estimate-summary-actions > a,
    .public-estimate-summary-actions form,
    .public-estimate-summary-actions button{
        width:100%;
    }

    .public-estimate-summary-actions > a,
    .public-estimate-summary-actions button{
        display:flex;
        align-items:center;
        justify-content:center;
        min-height:44px;
    }

    .public-estimate-quickbar{
        right:8px;
        bottom:8px;
        left:8px;
        justify-content:space-between;
        padding:8px 8px 8px 12px;
        border-radius:12px;
    }

    .public-estimate-quickbar a{
        min-height:44px;
    }
}

/* ADMIN PRODUCT EDIT TRASH V2 */
.catalog-product-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:16px 0 12px;
}

.catalog-product-tabs a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:38px;
    padding:0 12px;
    border:1px solid var(--line,#e7e7e2);
    border-radius:999px;
    background:#fff;
    color:var(--text,#151515);
    text-decoration:none;
    font-size:12px;
}

.catalog-product-tabs a strong{
    display:grid;
    place-items:center;
    min-width:23px;
    height:23px;
    padding:0 6px;
    border-radius:999px;
    background:#f0f0ec;
    font-size:10px;
}

.catalog-product-tabs a.is-active{
    border-color:#bbb;
    background:#f6f6f2;
    font-weight:700;
}

.catalog-product-tabs a.is-danger{
    border-color:#efcaca;
    background:#fff5f5;
    color:#b42318;
}

.catalog-product-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    min-width:126px;
}

.catalog-product-actions form{
    margin:0;
}

.catalog-action-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 10px;
    border:1px solid #d9d9d3;
    border-radius:8px;
    background:#fff;
    color:var(--text,#151515);
    font:inherit;
    font-size:11px;
    font-weight:700;
    text-decoration:none;
    cursor:pointer;
}

.catalog-action-button:hover{
    background:#f5f5f2;
}

.catalog-action-button.is-danger{
    border-color:#efcaca;
    color:#b42318;
}

.catalog-status-trash{
    background:#fff0f0 !important;
    color:#b42318 !important;
}

.catalog-trash-notice{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:0 0 16px;
    padding:15px 16px;
    border:1px solid #efcaca;
    border-radius:12px;
    background:#fff5f5;
}

.catalog-trash-notice > div{
    display:grid;
    gap:4px;
}

.catalog-trash-notice strong{
    color:#a81d15;
}

.catalog-trash-notice span{
    color:#6d4a48;
    font-size:12px;
}

.catalog-trash-notice form{
    margin:0;
    flex:0 0 auto;
}

.catalog-trash-notice button,
.catalog-restore-button{
    min-height:42px;
    border:0;
    border-radius:9px;
    padding:0 14px;
    background:#1d6f42;
    color:#fff;
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}

.catalog-savebar-v2{
    justify-content:space-between;
    gap:16px;
}

.catalog-savebar-primary,
.catalog-savebar-secondary{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.catalog-savebar-v2 .catalog-savebar-primary > button{
    min-height:46px;
    padding-inline:20px;
}

.catalog-delete-button{
    min-height:42px;
    border:1px solid #e4aaaa !important;
    border-radius:9px;
    padding:0 14px !important;
    background:#fff !important;
    color:#b42318 !important;
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}

.catalog-delete-button:hover{
    background:#fff2f2 !important;
}

@media (max-width:720px){
    .catalog-product-tabs{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .catalog-product-tabs a{
        justify-content:space-between;
    }

    .catalog-trash-notice{
        align-items:stretch;
        flex-direction:column;
    }

    .catalog-trash-notice button{
        width:100%;
    }

    .catalog-savebar-v2{
        align-items:stretch;
        flex-direction:column;
    }

    .catalog-savebar-primary,
    .catalog-savebar-secondary{
        width:100%;
    }

    .catalog-savebar-primary > button,
    .catalog-savebar-primary > a,
    .catalog-savebar-secondary > button{
        flex:1;
        justify-content:center;
    }
}

/* COMMERCE OPERATIONS V2 */
.order-success-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    margin-top:18px;
}

.button-link-secondary{
    background:#fff !important;
    color:var(--text,#151515) !important;
    border:1px solid var(--line,#e7e7e2) !important;
}

.commerce-tracking-page{
    padding:34px 0 60px;
}

.commerce-tracking-wrap{
    width:min(100% - 28px,820px);
}

.commerce-tracking-hero{
    margin-bottom:18px;
}

.commerce-tracking-hero h1{
    margin:.15em 0;
}

.commerce-tracking-form{
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:10px;
    align-items:end;
    padding:18px;
    border:1px solid var(--line,#e7e7e2);
    border-radius:16px;
    background:#fff;
}

.commerce-tracking-form label{
    display:grid;
    gap:6px;
}

.commerce-tracking-form label span{
    font-size:12px;
    font-weight:700;
}

.commerce-tracking-form input{
    width:100%;
    min-height:48px;
    padding:0 12px;
    border:1px solid var(--line,#e7e7e2);
    border-radius:10px;
    font:inherit;
    font-size:16px;
}

.commerce-tracking-form button{
    min-height:48px;
    border:0;
    border-radius:10px;
    padding:0 16px;
    background:var(--brand,#d71920);
    color:#fff;
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}

.commerce-tracking-error{
    margin-top:12px;
    padding:12px 14px;
    border:1px solid #efcaca;
    border-radius:10px;
    background:#fff5f5;
    color:#a8211a;
}

.commerce-tracking-result{
    margin-top:18px;
    padding:20px;
    border:1px solid var(--line,#e7e7e2);
    border-radius:16px;
    background:#fff;
}

.commerce-tracking-result-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding-bottom:14px;
    border-bottom:1px solid var(--line,#e7e7e2);
}

.commerce-tracking-result-head > div{
    display:grid;
    gap:2px;
}

.commerce-tracking-result-head span{
    color:var(--muted,#6d6d69);
    font-size:11px;
}

.commerce-tracking-result-head strong{
    font-size:19px;
}

.commerce-order-state{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 11px;
    border-radius:999px;
    background:#f0f0ec;
    color:#333 !important;
    font-size:11px !important;
    font-weight:800;
}

.commerce-order-state-completed{
    background:#edf8f1;
    color:#1d6f42 !important;
}

.commerce-order-state-cancelled{
    background:#fff0f0;
    color:#b42318 !important;
}

.commerce-tracking-timeline{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:5px;
    margin:20px 0;
}

.commerce-tracking-timeline > div{
    display:grid;
    justify-items:center;
    gap:6px;
    position:relative;
    text-align:center;
    color:#9a9a94;
}

.commerce-tracking-timeline > div::after{
    content:"";
    position:absolute;
    top:15px;
    left:58%;
    width:84%;
    height:2px;
    background:#e2e2dc;
    z-index:0;
}

.commerce-tracking-timeline > div:last-child::after,
.commerce-tracking-timeline > .is-cancelled::after{
    display:none;
}

.commerce-tracking-timeline span{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    position:relative;
    z-index:1;
    border-radius:50%;
    background:#efefeb;
    font-size:11px;
    font-weight:800;
}

.commerce-tracking-timeline strong{
    font-size:10px;
}

.commerce-tracking-timeline .is-done{
    color:var(--text,#151515);
}

.commerce-tracking-timeline .is-done span{
    background:var(--brand,#d71920);
    color:#fff;
}

.commerce-tracking-timeline .is-cancelled{
    grid-column:1/-1;
    color:#b42318;
}

.commerce-tracking-timeline .is-cancelled span{
    background:#fff0f0;
    color:#b42318;
}

.commerce-tracking-items{
    display:grid;
    gap:0;
    border-top:1px solid var(--line,#e7e7e2);
}

.commerce-tracking-items > div,
.commerce-tracking-money > div{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:10px 0;
    border-bottom:1px solid var(--line,#e7e7e2);
}

.commerce-tracking-items span:first-child{
    display:grid;
    gap:2px;
}

.commerce-tracking-items small{
    color:var(--muted,#6d6d69);
}

.commerce-tracking-money{
    margin-top:10px;
}

.commerce-tracking-money .is-total{
    font-size:17px;
}

.commerce-tracking-help{
    margin:14px 0 0;
    padding:12px;
    border-radius:10px;
    background:#f7f7f4;
    font-size:12px;
}

.commerce-order-total-breakdown{
    display:grid !important;
    gap:0;
}

.commerce-order-total-breakdown > div{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:7px 0;
}

.commerce-order-total-breakdown .is-total{
    margin-top:4px;
    padding-top:10px;
    border-top:1px solid var(--line,#e7e7e2);
}

.commerce-order-edit-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
}

.commerce-order-edit-head h2{
    margin:0;
}

.commerce-order-edit-head p{
    margin:4px 0 0;
    color:var(--muted,#6d6d69);
    font-size:12px;
}

.commerce-order-edit-head a{
    white-space:nowrap;
    font-size:11px;
}

.commerce-order-edit-form{
    display:grid;
    gap:18px;
}

.commerce-order-edit-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.commerce-order-edit-grid label,
.commerce-order-item-editor label{
    display:grid;
    gap:6px;
}

.commerce-order-edit-grid label > span,
.commerce-order-item-editor label > span{
    font-size:11px;
    font-weight:700;
}

.commerce-order-edit-grid .is-wide{
    grid-column:1/-1;
}

.commerce-order-edit-form input,
.commerce-order-edit-form select,
.commerce-order-edit-form textarea{
    width:100%;
    min-height:42px;
    border:1px solid var(--line,#e7e7e2);
    border-radius:9px;
    padding:8px 10px;
    background:#fff;
    color:inherit;
    font:inherit;
    font-size:13px;
}

.commerce-order-items-editor{
    display:grid;
    gap:8px;
}

.commerce-order-items-editor h3{
    margin:0 0 2px;
    font-size:14px;
}

.commerce-order-item-editor{
    display:grid;
    grid-template-columns:minmax(220px,1fr) 100px 150px 130px;
    gap:10px;
    align-items:end;
    padding:12px;
    border:1px solid var(--line,#e7e7e2);
    border-radius:11px;
    background:#fafaf7;
}

.commerce-order-item-name{
    display:grid;
    gap:2px;
}

.commerce-order-item-name small{
    color:var(--muted,#6d6d69);
    font-size:10px;
}

.commerce-order-item-subtotal{
    display:grid;
    justify-items:end;
    gap:2px;
    padding-bottom:7px;
}

.commerce-order-item-subtotal span{
    color:var(--muted,#6d6d69);
    font-size:10px;
}

.commerce-order-money-fields{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.commerce-order-current-totals{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
}

.commerce-order-current-totals > div{
    display:grid;
    gap:3px;
    padding:11px;
    border:1px solid var(--line,#e7e7e2);
    border-radius:10px;
    background:#fafaf7;
}

.commerce-order-current-totals span{
    color:var(--muted,#6d6d69);
    font-size:10px;
}

.commerce-order-current-totals .is-total{
    border-color:#ebc7c8;
    background:#fff6f6;
}

.commerce-order-savebar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding-top:14px;
    border-top:1px solid var(--line,#e7e7e2);
}

.commerce-order-savebar p{
    max-width:600px;
    margin:0;
    color:var(--muted,#6d6d69);
    font-size:11px;
}

.commerce-order-savebar button{
    min-height:46px;
    border:0;
    border-radius:9px;
    padding:0 16px;
    background:var(--brand,#d71920);
    color:#fff;
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}

@media (max-width:850px){
    .commerce-order-edit-grid,
    .commerce-order-money-fields{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .commerce-order-item-editor{
        grid-template-columns:1fr 90px 140px;
    }

    .commerce-order-item-name{
        grid-column:1/-1;
    }

    .commerce-order-current-totals{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:640px){
    .commerce-tracking-form{
        grid-template-columns:1fr;
    }

    .commerce-tracking-timeline{
        gap:2px;
    }

    .commerce-tracking-timeline strong{
        font-size:9px;
    }

    .commerce-tracking-result{
        padding:15px;
    }

    .commerce-order-edit-head,
    .commerce-order-savebar{
        align-items:stretch;
        flex-direction:column;
    }

    .commerce-order-edit-grid,
    .commerce-order-money-fields,
    .commerce-order-current-totals{
        grid-template-columns:1fr;
    }

    .commerce-order-item-editor{
        grid-template-columns:1fr 1fr;
    }

    .commerce-order-item-name,
    .commerce-order-item-subtotal{
        grid-column:1/-1;
    }

    .commerce-order-item-subtotal{
        justify-items:start;
    }

    .commerce-order-savebar button{
        width:100%;
    }
}
