
:root{
    --m22-ink:#173e45;
    --m22-muted:#6d8185;
    --m22-line:#d5e4df;
    --m22-soft:#f4f9f7;
    --m22-green:#0d986c;
    --m22-green-dark:#087451;
    --m22-wa:#25D366;
    --m22-blue:#155ec4;
}

/* =========================
   HOMEPAGE CATALOG
========================= */

.mcm11catalog{
    margin:8px 0 30px!important;
    padding:34px 0 12px!important;
}

.mcm11catalog header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(250px,350px)!important;
    gap:18px!important;
    align-items:end!important;
}

.mcm11catalog header span{
    color:var(--m22-green)!important;
    font-size:10px!important;
    letter-spacing:1.1px!important;
}

.mcm11catalog h2{
    margin:6px 0 0!important;
    color:var(--m22-ink)!important;
    font-size:clamp(28px,3.1vw,44px)!important;
    line-height:1.08!important;
}

#mcm11search{
    min-height:44px!important;
    padding:0 13px!important;
    border:1px solid var(--m22-line)!important;
    border-radius:7px!important;
    background:#fff!important;
    box-shadow:none!important;
}

#mcm11cats{
    display:flex!important;
    gap:6px!important;
    margin:0!important;
    padding:14px 0!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
}

#mcm11cats::-webkit-scrollbar{display:none!important}

#mcm11cats button{
    flex:0 0 auto!important;
    min-height:37px!important;
    padding:0 12px!important;
    border:1px solid #d3e1dc!important;
    border-radius:6px!important;
    background:#fff!important;
    color:#385b51!important;
    font-size:10px!important;
    font-weight:900!important;
    transform:none!important;
    box-shadow:none!important;
}

#mcm11cats button.active,
#mcm11cats button:hover{
    border-color:var(--m22-green)!important;
    background:var(--m22-green)!important;
    color:#fff!important;
}

#mcm11cats .mcm22-featured-filter{
    border-color:#dec578!important;
    color:#705500!important;
    background:#fffaf0!important;
}

#mcm11cats .mcm22-featured-filter.active,
#mcm11cats .mcm22-featured-filter:hover{
    border-color:#aa8110!important;
    color:#fff!important;
    background:#9c7610!important;
}

.mcm22-category-share{
    display:none;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:-4px 0 12px;
    padding:8px 10px;
    border:1px solid var(--m22-line);
    border-radius:6px;
    background:#f8fbf9;
}

.mcm22-category-share.show{display:flex}

.mcm22-category-share span{
    color:#63766f;
    font-size:9px;
}

.mcm22-category-share button{
    min-height:32px;
    padding:0 10px;
    border:1px solid #c6dcd3;
    border-radius:5px;
    color:var(--m22-green);
    background:#fff;
    font-size:8px;
    font-weight:900;
    cursor:pointer;
}

.mcm11grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:11px!important;
}

.mcm11grid article{
    position:relative;
    overflow:hidden!important;
    border:1px solid var(--m22-line)!important;
    border-radius:8px!important;
    background:#fff!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transition:transform .22s,border-color .22s!important;
}

.mcm11grid article:hover{
    transform:translateY(-3px)!important;
    border-color:#9dbeb1!important;
    box-shadow:none!important;
}

.mcm11grid article.hide{display:none!important}

.mcm11cover{
    height:auto!important;
    aspect-ratio:4/3!important;
    overflow:hidden!important;
    background:#eef4f1!important;
}

.mcm11cover>img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    transition:transform .3s!important;
}

.mcm11grid article:hover .mcm11cover>img{transform:scale(1.035)!important}

.mcm11cover em,
.mcm11cover small{
    top:8px!important;
    padding:5px 7px!important;
    border-radius:5px!important;
    font-size:7px!important;
}

.mcm11cover em{
    left:8px!important;
    color:#594300!important;
    background:#ffdc7c!important;
}

.mcm11cover small{
    right:8px!important;
    color:#fff!important;
    background:rgba(17,61,50,.86)!important;
}

.mcm11cover .mcm11view{display:none!important}

.mcm11body{padding:11px!important}

.mcm11body>span{
    color:var(--m22-green)!important;
    font-size:8px!important;
}

.mcm11body h3{
    min-height:36px!important;
    margin:5px 0 2px!important;
    color:var(--m22-ink)!important;
    font-size:15px!important;
    line-height:1.2!important;
}

.mcm11body p{
    overflow:hidden!important;
    margin:0!important;
    color:#61756e!important;
    font-size:9px!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
}

.mcm11body i{display:none!important}

.mcm11rate{
    min-height:48px!important;
    margin:8px 0!important;
    padding:7px!important;
    border-radius:5px!important;
    background:#f0f6f3!important;
}

.mcm11rate small{font-size:7px!important}

.mcm11rate strong{
    color:var(--m22-green)!important;
    font-size:9px!important;
}

.mcm11buttons{display:block!important}

.mcm11buttons button{
    width:100%!important;
    min-height:38px!important;
    padding:0 8px!important;
    border:0!important;
    border-radius:5px!important;
    color:#fff!important;
    background:var(--m22-green)!important;
    font-size:9px!important;
    font-weight:900!important;
}

.mcm11buttons a{display:none!important}
.mcm11modal{display:none!important}

/* =========================
   PRODUCT GALLERY
========================= */

.mcm22-gallery[hidden]{display:none!important}

.mcm22-gallery{
    margin:25px 0 36px;
    scroll-margin-top:15px;
}

.mcm22-gallery-head{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    margin-bottom:10px;
    padding:12px;
    border:1px solid var(--m22-line);
    border-radius:7px;
    background:#fff;
}

.mcm22-gallery-head button{
    min-height:39px;
    padding:0 11px;
    border:1px solid #cedfd8;
    border-radius:5px;
    color:var(--m22-green);
    background:#fff;
    font-size:9px;
    font-weight:900;
    cursor:pointer;
}

.mcm22-gallery-title small{
    display:block;
    color:var(--m22-green);
    font-size:8px;
    font-weight:900;
    letter-spacing:.8px;
}

.mcm22-gallery-title h2{
    overflow:hidden;
    margin:3px 0 1px;
    color:var(--m22-ink);
    font-size:23px;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.mcm22-gallery-title p{
    margin:0;
    color:var(--m22-muted);
    font-size:9px;
}

.mcm22-gallery-toolbar{
    display:grid;
    grid-template-columns:minmax(220px,.55fr) minmax(0,1fr);
    gap:8px;
    margin-bottom:10px;
}

.mcm22-gallery-toolbar label{
    display:grid;
    gap:5px;
}

.mcm22-gallery-toolbar span{
    color:#587068;
    font-size:8px;
    font-weight:900;
}

.mcm22-gallery-toolbar select,
.mcm22-gallery-toolbar input{
    width:100%;
    min-height:42px;
    padding:0 11px;
    border:1px solid #d4e3dc;
    border-radius:5px;
    color:var(--m22-ink);
    background:#fff;
}

.mcm22-design-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.mcm22-design{
    overflow:hidden;
    border:1px solid var(--m22-line);
    border-radius:7px;
    background:#fff;
}

.mcm22-design-image{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:16/11;
    padding:0;
    border:0;
    overflow:hidden;
    background:#eaf2ee;
    cursor:pointer;
}

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

.mcm22-design-image>span{
    position:absolute;
    left:7px;
    bottom:7px;
    padding:4px 6px;
    border-radius:4px;
    color:#fff;
    background:rgba(13,58,47,.86);
    font-size:7px;
    font-weight:900;
}

.mcm22-design-body{padding:10px}

.mcm22-category{
    color:var(--m22-green);
    font-size:7px;
    font-weight:900;
}

.mcm22-design-body h3{
    margin:4px 0;
    color:var(--m22-ink);
    font-size:14px;
    line-height:1.25;
}

.mcm22-material{
    overflow:hidden;
    margin:5px 0 7px;
    color:#77857f;
    font-size:8px;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.mcm22-package-label{
    display:grid;
    gap:4px;
    margin-top:7px;
}

.mcm22-package-label span{
    color:#657a72;
    font-size:7px;
    font-weight:900;
}

.mcm22-package-label select{
    width:100%;
    min-height:36px;
    padding:0 7px;
    border:1px solid #d4e2dc;
    border-radius:5px;
    background:#fff;
    color:var(--m22-ink);
    font-size:8px;
}

.mcm22-mini-rate{
    margin-top:6px;
    padding:7px;
    border-radius:5px;
    background:#eef7f2;
}

.mcm22-mini-rate small{
    display:block;
    color:#71827c;
    font-size:6px;
}

.mcm22-mini-rate strong{
    display:block;
    margin-top:2px;
    color:var(--m22-green);
    font-size:10px;
}

.mcm22-mini-estimator{
    margin-top:7px;
    padding:8px;
    border:1px solid #dde9e3;
    border-radius:6px;
    background:#f8fbf9;
}

.mcm22-mini-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:7px;
    margin-bottom:7px;
}

.mcm22-mini-title b{
    color:var(--m22-ink);
    font-size:9px;
}

.mcm22-mini-title small{
    color:#778981;
    font-size:6px;
}

.mcm22-fields{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
}

.mcm22-fields label{
    display:grid;
    gap:3px;
}

.mcm22-fields span{
    color:#667a72;
    font-size:6px;
    font-weight:800;
}

.mcm22-fields input{
    width:100%;
    min-width:0;
    height:34px;
    padding:0 7px;
    border:1px solid #d3e2db;
    border-radius:4px;
    color:var(--m22-ink);
    background:#fff;
    font-size:9px;
}

.mcm22-result{
    margin-top:6px;
    padding:7px;
    border-radius:5px;
    background:#edf7f2;
}

.mcm22-result small{
    display:block;
    color:#71827c;
    font-size:6px;
}

.mcm22-result strong{
    display:block;
    margin-top:2px;
    color:var(--m22-green);
    font-size:13px;
}

.mcm22-result p{
    margin:3px 0 0;
    color:#71827c;
    font-size:6px;
    line-height:1.4;
}

.mcm22-actions{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:6px;
    margin-top:7px;
}

.mcm22-actions a{
    display:flex;
    min-height:38px;
    align-items:center;
    justify-content:center;
    padding:0 7px;
    border-radius:5px;
    color:#fff!important;
    font-size:8px;
    font-weight:900;
    text-decoration:none!important;
}

.mcm22-book{background:var(--m22-blue)}
.mcm22-wa{background:var(--m22-wa)}

.mcm22-empty{
    grid-column:1/-1;
    padding:30px 15px;
    border:1px dashed #c5d9d0;
    border-radius:7px;
    color:#667b73;
    background:#fff;
    text-align:center;
}

/* =========================
   CALCULATOR PAGE
========================= */

.mcm11b,
.mcm11b *{box-sizing:border-box}

.mcm11b{
    margin:28px 0 0;
    padding:clamp(24px,5vw,56px);
    border-radius:25px;
    background:linear-gradient(135deg,#eff8f5,#edf4f6);
    color:var(--m22-ink);
    font-family:Arial,"Noto Sans Bengali",sans-serif;
}

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

.mcm11b-head span,
.mcm11b aside>span{
    color:#07865f;
    font-size:10px;
    font-weight:900;
    letter-spacing:1px;
}

.mcm11b-head h2{
    margin:8px 0;
    font-size:clamp(30px,4vw,48px);
}

.mcm11b-head p{
    margin:0;
    color:#6c8085;
}

.mcm11b-formula{
    padding:14px 17px;
    border:1px solid #d0e1dd;
    border-radius:13px;
    background:#fff;
}

.mcm11b-formula small,
.mcm11b-formula strong{display:block}

.mcm11b-formula strong{
    margin-top:5px;
    color:#087856;
}

.mcm11b-grid{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:18px;
}

.mcm11b form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    padding:20px;
    border:1px solid #d6e4e1;
    border-radius:17px;
    background:#fff;
}

.mcm11b label{
    display:flex;
    flex-direction:column;
    gap:6px;
    font-size:12px;
    font-weight:800;
}

.mcm11b label.full,
.mcm22-measure-box.full{
    grid-column:1/-1;
}

.mcm11b input,
.mcm11b select,
.mcm11b textarea{
    width:100%;
    padding:12px;
    border:1px solid #d3e1de;
    border-radius:10px;
    background:#fbfdfc;
    font:inherit;
}

.mcm11b label>small{
    color:#7b8d90;
    font-size:9px;
}

.mcm22-measure-box{
    padding:16px;
    border:1px solid #d3e2de;
    border-radius:14px;
    background:linear-gradient(135deg,#f5fbf9,#edf7f4);
}

.mcm22-measure-head{
    display:grid;
    gap:4px;
    margin-bottom:12px;
}

.mcm22-measure-head strong{
    color:#173f45;
    font-size:15px;
}

.mcm22-measure-head small{
    color:#6e8186;
    font-size:10px;
}

.mcm22-methods{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    padding:5px;
    border-radius:11px;
    background:#dfece8;
}

.mcm22-method{
    min-height:43px;
    padding:9px 12px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#34565c;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}

.mcm22-method.active{
    background:var(--m22-green);
    color:#fff;
}

.mcm22-panel{
    display:none;
    margin-top:14px;
}

.mcm22-panel.active{display:block}

.mcm22-row-list{
    display:grid;
    gap:9px;
}

.mcm22-row{
    display:grid;
    grid-template-columns:1.15fr .8fr .8fr .65fr 38px;
    gap:8px;
    align-items:end;
    padding:11px;
    border:1px solid #d7e4e1;
    border-radius:11px;
    background:#fff;
}

.mcm22-row label{font-size:9px!important}

.mcm22-row input{
    min-height:42px;
    padding:9px 10px!important;
    border-radius:8px!important;
}

.mcm22-row-area{
    display:flex;
    min-height:42px;
    flex-direction:column;
    justify-content:center;
    padding:8px 9px;
    border-radius:8px;
    background:#e8f7f1;
}

.mcm22-row-area small{
    color:#718388;
    font-size:8px;
}

.mcm22-row-area strong{
    margin-top:3px;
    color:#087756;
    font-size:12px;
}

.mcm22-remove{
    display:grid;
    place-items:center;
    width:38px;
    height:42px;
    border:0;
    border-radius:8px;
    background:#ffe5e6;
    color:#b02e3b;
    font-size:20px;
    font-weight:900;
    cursor:pointer;
}

.mcm22-add{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:11px;
    padding:11px 15px;
    border:1px solid var(--m22-green);
    border-radius:9px;
    background:#fff;
    color:#087655;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}

.mcm22-measure-total{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:13px;
    padding:14px;
    border-radius:11px;
    background:linear-gradient(135deg,#072035,#075348);
    color:#fff;
}

.mcm22-measure-total small{
    display:block;
    color:#bed2d6;
    font-size:9px;
}

.mcm22-measure-total strong{
    display:block;
    margin-top:4px;
    color:#fff;
    font-size:14px;
}

.mcm22-measure-total>strong{
    color:#65e8b4;
    font-size:23px;
    white-space:nowrap;
}

.mcm22-simple{
    display:grid!important;
    gap:6px!important;
}

.mcm22-placeholder{
    margin:0;
    padding:12px;
    border-radius:8px;
    background:#fff;
    color:#6b7f78;
    font-size:11px;
}

.mcm11b-consent{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start;
    gap:8px!important;
}

.mcm11b-consent input{
    position:absolute;
    opacity:0;
}

.mcm11b-consent>span{
    flex:0 0 20px;
    width:20px;
    height:20px;
    border:2px solid #a0b4af;
    border-radius:5px;
}

.mcm11b-consent input:checked+span{
    background:var(--m22-green);
    border-color:var(--m22-green);
}

.mcm11b-consent input:checked+span:after{
    content:"✓";
    display:grid;
    place-items:center;
    color:#fff;
    font-weight:900;
}

.mcm11b-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.mcm11b-actions button,
.mcm11b aside>a{
    padding:12px;
    border:0;
    border-radius:10px;
    background:var(--m22-green);
    color:#fff!important;
    font-weight:900;
    text-align:center;
    text-decoration:none!important;
    cursor:pointer;
}

.mcm11b-actions button:first-child{
    background:#0a3241;
}

.mcm11b aside{
    padding:23px;
    border-radius:17px;
    background:
        radial-gradient(circle at 90% 5%,rgba(72,229,173,.22),transparent 30%),
        linear-gradient(135deg,#071a2e,#075347);
    color:#fff;
}

.mcm11b aside h3{color:#fff}

.mcm11b-break{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
}

.mcm11b-break>div{
    padding:11px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:9px;
    background:rgba(255,255,255,.07);
}

.mcm11b-break small,
.mcm11b-break strong{display:block}

.mcm11b-break small{
    color:#bed1d5;
    font-size:9px;
}

.mcm11b-break strong{margin-top:4px}

.mcm11b-total{
    margin:15px 0;
    padding:18px;
    border-radius:13px;
    background:#fff;
    color:#173e45;
}

.mcm11b-total small,
.mcm11b-total strong{display:block}

.mcm11b-total strong{
    margin-top:6px;
    color:#087956;
    font-size:30px;
}

.mcm11b-total p{
    color:#6d8185;
    font-size:10px;
}

.mcm11b aside>a{
    display:flex;
    justify-content:center;
    background:#1eae62;
}

.mcm11b-small{
    color:#bbced2;
    font-size:9px;
    line-height:1.6;
}

.mcm11b-msg{
    display:none;
    padding:10px;
    border-radius:8px;
    background:#ffe5e5;
    color:#a1323d;
    font-size:11px;
    font-weight:800;
}

.mcm11b-msg.show{display:block}

.mcm11b-msg.success{
    background:#dff5e9;
    color:#087451;
}

.mcm11b-selected{
    display:none;
    grid-column:1/-1;
    grid-template-columns:auto 1fr;
    gap:10px;
    align-items:center;
    padding:11px;
    border-radius:9px;
    background:#e5f6ef;
}

.mcm11b-selected.show{display:grid}

.mcm11b-selected span{
    font-size:9px;
    font-weight:900;
    color:#087653;
}

/* =========================
   TOAST
========================= */

.mcm22-toast{
    position:fixed;
    right:14px;
    bottom:14px;
    z-index:9999999;
    transform:translateY(15px);
    padding:9px 11px;
    border-radius:5px;
    color:#fff;
    background:var(--m22-green);
    font-size:9px;
    font-weight:900;
    opacity:0;
    pointer-events:none;
    transition:.2s;
}

.mcm22-toast.show{
    transform:translateY(0);
    opacity:1;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1100px){
    .mcm11grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
    .mcm22-design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
    .mcm11b-head{display:block}
    .mcm11b-formula{margin-top:14px}
    .mcm11b-grid{grid-template-columns:1fr}
}

@media(max-width:760px){
    .mcm11catalog{padding-top:22px!important}
    .mcm11catalog header{grid-template-columns:1fr!important;gap:8px!important}
    .mcm11catalog h2{font-size:29px!important}

    #mcm11search{
        width:100%!important;
        min-height:42px!important;
        margin:0!important;
    }

    #mcm11cats{padding:10px 0 12px!important}

    #mcm11cats button{
        min-height:35px!important;
        padding:0 10px!important;
        font-size:9px!important;
    }

    .mcm11grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:7px!important;
    }

    .mcm11cover{aspect-ratio:1/1!important}
    .mcm11body{padding:8px!important}
    .mcm11body h3{min-height:30px!important;font-size:12px!important}
    .mcm11body p{font-size:7px!important}
    .mcm11buttons button{min-height:34px!important;font-size:8px!important}

    .mcm22-gallery-head{
        grid-template-columns:1fr auto;
        gap:7px;
        padding:9px;
    }

    #mcm22Back{
        grid-column:1/-1;
        width:max-content;
    }

    .mcm22-gallery-title h2{font-size:18px}
    .mcm22-gallery-toolbar{grid-template-columns:1fr}
    .mcm22-design-grid{grid-template-columns:1fr;gap:8px}

    .mcm22-design{
        display:grid;
        grid-template-columns:42% 58%;
        align-items:stretch;
    }

    .mcm22-design-image{
        height:100%;
        min-height:270px;
        aspect-ratio:auto;
    }

    .mcm22-design-body{padding:8px}
    .mcm22-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
    .mcm22-actions{grid-template-columns:1fr}
    .mcm22-actions a{min-height:34px}

    .mcm11b{
        padding:23px 14px;
        border-radius:18px;
    }

    .mcm11b form{
        grid-template-columns:1fr;
        padding:15px;
    }

    .mcm11b label.full,
    .mcm22-measure-box.full,
    .mcm11b-actions,
    .mcm11b-msg,
    .mcm11b-selected{
        grid-column:auto;
    }

    .mcm11b-actions{grid-template-columns:1fr}

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

    .mcm22-row label:first-child{grid-column:1/-1}
    .mcm22-remove{width:100%}
}

@media(max-width:430px){
    .mcm22-design{grid-template-columns:1fr}

    .mcm22-design-image{
        min-height:0;
        aspect-ratio:16/10;
    }

    .mcm22-methods{grid-template-columns:1fr}

    .mcm22-measure-total{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* ========================================================
   v2.2.1 — BOOK/CALCULATOR PREMIUM LAYOUT FIX
   This section intentionally comes last.
======================================================== */

body:not(.wp-admin) .mcm22-estimator{
    width:min(1280px,calc(100% - 32px));
    margin:34px auto!important;
    padding:clamp(22px,3vw,38px)!important;
    border:1px solid #d9e7e2;
    border-radius:22px!important;
    background:
        radial-gradient(circle at 96% 4%,rgba(41,196,137,.10),transparent 28%),
        linear-gradient(145deg,#f7fbf9 0%,#edf7f4 100%)!important;
    box-shadow:0 18px 45px rgba(15,73,58,.08);
}

body:not(.wp-admin) .mcm22-estimator .mcm11b-head{
    align-items:center!important;
    margin-bottom:18px!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm11b-head h2{
    max-width:760px;
    margin:7px 0 4px!important;
    font-size:clamp(27px,3.2vw,43px)!important;
    line-height:1.08!important;
    letter-spacing:-.7px;
}

body:not(.wp-admin) .mcm22-estimator .mcm11b-head p{
    font-size:12px;
}

body:not(.wp-admin) .mcm22-estimator .mcm11b-formula{
    min-width:230px;
    border-radius:12px!important;
    box-shadow:0 8px 24px rgba(10,92,66,.06);
}

body:not(.wp-admin) .mcm22-estimator .mcm11b-grid{
    grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr)!important;
    gap:14px!important;
    align-items:start;
}

body:not(.wp-admin) .mcm22-estimator form{
    gap:10px!important;
    padding:16px!important;
    border-radius:14px!important;
    box-shadow:0 8px 28px rgba(11,74,57,.04);
}

body:not(.wp-admin) .mcm22-estimator form>label{
    color:#214a41;
    font-size:11px!important;
}

body:not(.wp-admin) .mcm22-estimator input,
body:not(.wp-admin) .mcm22-estimator select,
body:not(.wp-admin) .mcm22-estimator textarea{
    min-height:43px;
    padding:10px 11px!important;
    border:1px solid #cfded8!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#173e45!important;
    box-shadow:none!important;
    outline:none;
}

body:not(.wp-admin) .mcm22-estimator input:focus,
body:not(.wp-admin) .mcm22-estimator select:focus,
body:not(.wp-admin) .mcm22-estimator textarea:focus{
    border-color:#35a67c!important;
    box-shadow:0 0 0 3px rgba(53,166,124,.10)!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm22-measure-box{
    margin-top:1px;
    padding:13px!important;
    border-radius:11px!important;
    background:#f0f8f5!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm22-measure-head{
    margin-bottom:9px!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm22-methods{
    border-radius:8px!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm22-method{
    min-height:39px!important;
    border-radius:6px!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm22-row{
    padding:8px!important;
    border-radius:8px!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm22-row input{
    min-height:39px!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm22-measure-total{
    margin-top:10px!important;
    padding:11px 13px!important;
    border-radius:8px!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm22-measure-total>strong{
    font-size:20px!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm11b-actions{
    gap:8px!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm11b-actions button{
    min-height:45px;
    border-radius:8px!important;
}

body:not(.wp-admin) .mcm22-estimator aside{
    position:sticky;
    top:18px;
    padding:18px!important;
    border-radius:14px!important;
    box-shadow:0 14px 34px rgba(4,49,40,.14);
}

body:not(.wp-admin) .mcm22-estimator aside h3{
    margin:7px 0 14px;
    font-size:23px;
    line-height:1.1;
}

body:not(.wp-admin) .mcm22-estimator .mcm11b-break{
    gap:7px!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm11b-break>div{
    min-height:68px;
    padding:9px!important;
    border-radius:7px!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm11b-total{
    margin:11px 0!important;
    padding:14px!important;
    border-radius:10px!important;
}

body:not(.wp-admin) .mcm22-estimator .mcm11b-total strong{
    font-size:28px!important;
}

body:not(.wp-admin) .mcm22-estimator aside>a{
    min-height:45px;
    align-items:center;
    border-radius:8px!important;
    font-size:12px;
}

body:not(.wp-admin) .mcm22-estimator .mcm11b-selected{
    padding:9px 11px!important;
    border-radius:8px!important;
}

@media(max-width:900px){
    body:not(.wp-admin) .mcm22-estimator{
        width:min(100% - 18px,760px);
        margin:18px auto!important;
        padding:16px!important;
        border-radius:16px!important;
    }

    body:not(.wp-admin) .mcm22-estimator .mcm11b-head{
        display:block!important;
    }

    body:not(.wp-admin) .mcm22-estimator .mcm11b-formula{
        min-width:0;
        margin-top:10px!important;
    }

    body:not(.wp-admin) .mcm22-estimator .mcm11b-grid{
        grid-template-columns:1fr!important;
    }

    body:not(.wp-admin) .mcm22-estimator aside{
        position:static;
    }
}

@media(max-width:600px){
    body:not(.wp-admin) .mcm22-estimator{
        width:calc(100% - 12px);
        margin:10px auto!important;
        padding:11px!important;
        border-radius:13px!important;
    }

    body:not(.wp-admin) .mcm22-estimator .mcm11b-head h2{
        font-size:27px!important;
    }

    body:not(.wp-admin) .mcm22-estimator form{
        padding:10px!important;
        border-radius:10px!important;
    }

    body:not(.wp-admin) .mcm22-estimator .mcm22-row{
        grid-template-columns:1fr 1fr!important;
    }

    body:not(.wp-admin) .mcm22-estimator .mcm22-row label:first-child{
        grid-column:1/-1;
    }

    body:not(.wp-admin) .mcm22-estimator .mcm11b-break{
        grid-template-columns:1fr 1fr!important;
    }
}

/* =========================================================
   v2.4.0 — TWO PRODUCT TYPES + PROFESSIONAL TYPOGRAPHY
   ========================================================= */

/* Make the original product cards readable and professional. */
.mcm11catalog .mcm11cover small{font-size:12px!important;font-weight:700!important;letter-spacing:.02em!important}
.mcm11catalog .mcm11body{padding:15px!important}
.mcm11catalog .mcm11body small,
.mcm11catalog .mcm11body p,
.mcm11catalog .mcm11rate small{font-size:12px!important;line-height:1.55!important}
.mcm11catalog .mcm11body h3{font-size:18px!important;line-height:1.3!important;min-height:auto!important;margin:6px 0 8px!important}
.mcm11catalog .mcm11rate{padding:10px 12px!important}
.mcm11catalog .mcm11rate strong{font-size:15px!important;line-height:1.35!important}
.mcm11catalog .mcm11buttons button,
.mcm11catalog .mcm11buttons a{font-size:13px!important;font-weight:800!important;min-height:42px!important}
.mcm11catalog input,
.mcm11catalog select,
.mcm11catalog button{font-size:14px!important}

.mcm24-gallery{padding-bottom:28px!important}
.mcm24-gallery .mcm22-gallery-head button{font-size:13px!important;min-height:40px!important;padding:8px 13px!important}
.mcm24-gallery .mcm22-gallery-title small{font-size:11px!important;font-weight:800!important;letter-spacing:.12em!important}
.mcm24-gallery .mcm22-gallery-title h2{font-size:clamp(25px,3vw,38px)!important;line-height:1.15!important}
.mcm24-gallery .mcm22-gallery-title p{font-size:14px!important;line-height:1.5!important}

.mcm24-type-section,
.mcm24-type-content{margin-top:18px;border:1px solid #dce9e3;border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(12,73,53,.07);overflow:hidden}
.mcm24-type-section{padding:22px}
.mcm24-section-intro span,
.mcm24-est-head span,
.mcm24-gallery-label span,
.mcm24-type-head>div>span{display:inline-block;color:#087653;font-size:11px!important;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.mcm24-section-intro h3,
.mcm24-type-head h3,
.mcm24-gallery-label h3,
.mcm24-est-head h3{margin:5px 0 5px;color:#163e33;font-size:clamp(21px,2.4vw,30px)!important;line-height:1.25}
.mcm24-section-intro p,
.mcm24-type-head p,
.mcm24-gallery-label p,
.mcm24-est-head p{margin:0;color:#60736d;font-size:14px!important;line-height:1.6}

.mcm24-type-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.mcm24-type-card{appearance:none;width:100%;border:1.5px solid #d7e5df;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fcfa);padding:15px;text-align:left;cursor:pointer;transition:.2s ease;box-shadow:0 8px 22px rgba(12,73,53,.04);overflow:hidden}
.mcm24-type-card:hover{transform:translateY(-2px);border-color:#4ca687;box-shadow:0 14px 28px rgba(12,73,53,.10)}
.mcm24-type-card.active{border-color:#0b845d;box-shadow:0 0 0 3px rgba(11,132,93,.10),0 14px 28px rgba(12,73,53,.10)}
.mcm24-type-main{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;padding:0 0 14px!important;border:0!important}
.mcm24-type-preview{flex:0 0 116px;width:116px;height:88px;display:block;border-radius:13px;object-fit:cover;background:#eaf3ef;border:1px solid #d7e6df;box-shadow:0 5px 14px rgba(12,73,53,.08)}
.mcm24-type-preview-empty{display:grid!important;place-items:center;color:#0b845d;font-size:17px!important;font-weight:900;letter-spacing:.08em}
.mcm24-type-copy{min-width:0;display:block}.mcm24-type-card .mcm24-type-kicker{display:block;color:#0a805a;font-size:11px!important;font-weight:900;letter-spacing:.1em;margin-bottom:7px}.mcm24-type-copy>strong{display:block;color:#173f34;font-size:22px!important;line-height:1.2;margin-bottom:6px}.mcm24-type-copy>small{display:block;color:#657770;font-size:13px!important;font-weight:600}
.mcm24-type-foot{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding-top:13px!important;border-top:1px solid #e5eeea!important}.mcm24-type-foot b{font-size:15px!important;color:#124c3b}.mcm24-type-foot em{font-style:normal;font-size:13px!important;font-weight:800;color:#087653}

.mcm24-type-content{padding:22px}
.mcm24-type-head{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:end}
.mcm24-district{display:grid;gap:6px;font-weight:800;color:#284f43;font-size:13px!important}
.mcm24-district select{width:100%;min-height:46px;border:1px solid #cfded8;border-radius:10px;padding:0 12px;background:#fff;font-size:14px!important}

.mcm24-rate-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.mcm24-rate-chip{border:1px solid #dbe9e3;border-radius:14px;background:#f4faf7;padding:14px 15px;display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:8px;row-gap:3px}
.mcm24-rate-chip span{grid-column:1/-1;font-size:13px!important;font-weight:800;color:#34594e}
.mcm24-rate-chip strong{font-size:21px!important;line-height:1;color:#0a7654}
.mcm24-rate-chip small{font-size:12px!important;color:#65776f}

.mcm24-gallery-label{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:22px 0 12px;padding-top:18px;border-top:1px solid #e3ece8}
.mcm24-gallery-label>strong{flex:0 0 auto;border-radius:999px;padding:8px 12px;background:#eef8f4;color:#0a7654;font-size:12px!important}
.mcm24-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mcm24-photo{position:relative;appearance:none;border:2px solid transparent;padding:0;border-radius:15px;overflow:hidden;background:#eef4f1;cursor:pointer;aspect-ratio:1/1;box-shadow:0 6px 18px rgba(15,62,48,.07);transition:.18s ease}
.mcm24-photo:hover{transform:translateY(-2px)}
.mcm24-photo.selected{border-color:#0a865f;box-shadow:0 0 0 3px rgba(10,134,95,.12)}
.mcm24-photo img{display:block;width:100%;height:100%;object-fit:cover}
.mcm24-photo span{position:absolute;left:8px;bottom:8px;background:rgba(10,65,49,.88);color:#fff;border-radius:6px;padding:5px 7px;font-size:10px!important;font-weight:800;letter-spacing:.03em}
.mcm24-photo b{position:absolute;right:8px;top:8px;background:#fff;color:#0b7655;border-radius:999px;padding:6px 9px;font-size:10px!important;box-shadow:0 4px 12px rgba(0,0,0,.10)}
.mcm24-photo.selected b{background:#0a805a;color:#fff}

.mcm24-shared-estimator{margin-top:24px;border-radius:18px;border:1px solid #d8e7e0;background:linear-gradient(180deg,#fbfefd,#f2faf6);padding:20px}
.mcm24-est-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;margin-top:18px;align-items:stretch}
.mcm24-est-grid label{display:grid;gap:7px;font-size:13px!important;font-weight:800;color:#2c5347}
.mcm24-est-grid select{min-height:48px;border:1px solid #cddfd7;border-radius:10px;padding:0 12px;background:#fff;font-size:14px!important}
.mcm24-selected-rate{border:1px solid #d5e6de;border-radius:12px;padding:10px 14px;background:#fff;display:flex;flex-direction:column;justify-content:center}
.mcm24-selected-rate small{font-size:11px!important;color:#6b7b75;font-weight:700}
.mcm24-selected-rate strong{font-size:19px!important;color:#087553;margin-top:3px}
.mcm24-fields{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin-top:14px!important}
.mcm24-fields label{display:grid!important;gap:6px!important;font-size:13px!important;font-weight:800!important;color:#2d5348!important}
.mcm24-fields input{min-height:46px!important;border:1px solid #cbded6!important;border-radius:10px!important;padding:0 12px!important;font-size:15px!important;background:#fff!important}
.mcm24-result-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}
.mcm24-result-card>div{border:1px solid #d9e8e1;background:#fff;border-radius:14px;padding:15px}
.mcm24-result-card small{display:block;color:#6d7d77;font-size:11px!important;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.mcm24-result-card strong{display:block;margin-top:5px;font-size:22px!important;color:#174c3c}
.mcm24-result-card>div:last-child{background:#0c684d;border-color:#0c684d}.mcm24-result-card>div:last-child small{color:#cce5dc}.mcm24-result-card>div:last-child strong{color:#fff;font-size:27px!important}
.mcm24-calc-note{margin:12px 0 0;color:#667a72;font-size:13px!important;line-height:1.6}
.mcm24-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:14px!important}
.mcm24-actions a{min-height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:14px!important;font-weight:900!important;text-decoration:none!important}

/* Calculator page typography upgrades */
.mcm22-estimator .mcm11b-head span{font-size:12px!important}
.mcm22-estimator .mcm11b-head p{font-size:14px!important;line-height:1.6!important}
.mcm22-estimator form>label,
.mcm22-estimator .mcm22-measure-head strong{font-size:14px!important}
.mcm22-estimator form>label>small,
.mcm22-estimator .mcm22-measure-head small,
.mcm22-estimator .mcm11b-consent small,
.mcm22-estimator .mcm11b-small{font-size:12px!important;line-height:1.55!important}
.mcm22-estimator input,
.mcm22-estimator select,
.mcm22-estimator textarea{font-size:14px!important}
.mcm22-estimator .mcm22-row label{font-size:12px!important}
.mcm22-estimator .mcm22-row-area small,
.mcm22-estimator .mcm22-measure-total small{font-size:11px!important}
.mcm22-estimator .mcm11b-break small{font-size:11px!important}
.mcm22-estimator .mcm11b-break strong{font-size:14px!important}
.mcm22-estimator .mcm11b-actions button{font-size:14px!important;min-height:46px!important}

@media(max-width:900px){
    .mcm24-type-head{grid-template-columns:1fr}
    .mcm24-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .mcm24-est-grid{grid-template-columns:1fr 220px}
}
@media(max-width:680px){
    .mcm11catalog .mcm11body{padding:12px!important}
    .mcm11catalog .mcm11body h3{font-size:16px!important}
    .mcm11catalog .mcm11body small,.mcm11catalog .mcm11body p,.mcm11catalog .mcm11rate small{font-size:11px!important}
    .mcm11catalog .mcm11rate strong{font-size:14px!important}
    .mcm24-type-section,.mcm24-type-content{padding:14px;border-radius:15px}
    .mcm24-type-picker{grid-template-columns:1fr;gap:10px}
    .mcm24-type-card{padding:12px}.mcm24-type-preview{flex-basis:92px;width:92px;height:72px}.mcm24-type-copy>strong{font-size:19px!important}.mcm24-type-main{gap:11px!important}
    .mcm24-rate-strip{grid-template-columns:1fr 1fr;gap:8px}.mcm24-rate-chip:last-child{grid-column:1/-1}
    .mcm24-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .mcm24-gallery-label{align-items:flex-start;flex-direction:column;gap:8px}
    .mcm24-est-grid,.mcm24-result-card,.mcm24-actions{grid-template-columns:1fr!important}
    .mcm24-fields{grid-template-columns:1fr 1fr!important}
    .mcm24-fields label:last-child{grid-column:1/-1}
    .mcm24-result-card>div:last-child strong{font-size:24px!important}
}

/* ==========================================================
   v2.4.2 FRONT-END READABILITY UPGRADE
   Larger customer-facing labels, measurements and helper text.
   ========================================================== */
.mcm24-section-intro p,
.mcm24-type-head p,
.mcm24-gallery-label p,
.mcm24-est-head p{
    font-size:16px!important;
    line-height:1.65!important;
}
.mcm24-district{
    font-size:16px!important;
    gap:8px!important;
}
.mcm24-district select{
    min-height:54px!important;
    font-size:17px!important;
    padding:0 14px!important;
}
.mcm24-rate-chip span{
    font-size:15px!important;
}
.mcm24-rate-chip strong{
    font-size:24px!important;
}
.mcm24-rate-chip small{
    font-size:14px!important;
}
.mcm24-gallery-label>strong{
    font-size:14px!important;
    padding:9px 13px!important;
}
.mcm24-est-grid label{
    gap:9px!important;
    font-size:16px!important;
    font-weight:900!important;
}
.mcm24-est-grid label>span{
    display:block!important;
    font-size:16px!important;
    line-height:1.3!important;
}
.mcm24-est-grid select{
    min-height:54px!important;
    font-size:17px!important;
    padding:0 14px!important;
}
.mcm24-selected-rate{
    padding:13px 16px!important;
}
.mcm24-selected-rate small{
    font-size:15px!important;
    line-height:1.3!important;
}
.mcm24-selected-rate strong{
    font-size:24px!important;
    margin-top:5px!important;
}
.mcm24-fields{
    gap:14px!important;
    margin-top:17px!important;
}
.mcm24-fields label{
    gap:8px!important;
    font-size:16px!important;
    font-weight:900!important;
}
.mcm24-fields label>span{
    display:block!important;
    font-size:16px!important;
    line-height:1.3!important;
    color:#244d42!important;
}
.mcm24-fields input{
    min-height:54px!important;
    padding:0 14px!important;
    font-size:17px!important;
    font-weight:600!important;
}
.mcm24-result-card{
    margin-top:18px!important;
    gap:14px!important;
}
.mcm24-result-card>div{
    padding:18px!important;
}
.mcm24-result-card small{
    font-size:14px!important;
    line-height:1.35!important;
}
.mcm24-result-card strong{
    margin-top:7px!important;
    font-size:25px!important;
    line-height:1.25!important;
}
.mcm24-result-card>div:last-child strong{
    font-size:31px!important;
}
.mcm24-calc-note{
    margin-top:15px!important;
    font-size:15px!important;
    line-height:1.7!important;
}
.mcm24-actions a{
    min-height:52px!important;
    font-size:16px!important;
}

/* Full calculator page: make every form label comfortably readable. */
.mcm22-estimator form>label,
.mcm22-estimator .mcm22-measure-head strong{
    font-size:16px!important;
    line-height:1.35!important;
}
.mcm22-estimator form>label>small,
.mcm22-estimator .mcm22-measure-head small,
.mcm22-estimator .mcm11b-consent small,
.mcm22-estimator .mcm11b-small{
    font-size:14px!important;
    line-height:1.65!important;
}
.mcm22-estimator input,
.mcm22-estimator select,
.mcm22-estimator textarea{
    font-size:16px!important;
}
.mcm22-estimator .mcm22-row label{
    font-size:15px!important;
}
.mcm22-estimator .mcm22-row-area small,
.mcm22-estimator .mcm22-measure-total small,
.mcm22-estimator .mcm11b-break small{
    font-size:13px!important;
}
.mcm22-estimator .mcm11b-break strong{
    font-size:16px!important;
}
.mcm22-estimator .mcm11b-actions button{
    min-height:50px!important;
    font-size:16px!important;
}

@media(max-width:680px){
    .mcm24-section-intro p,
    .mcm24-type-head p,
    .mcm24-gallery-label p,
    .mcm24-est-head p{font-size:15px!important}
    .mcm24-est-grid label,
    .mcm24-est-grid label>span,
    .mcm24-fields label,
    .mcm24-fields label>span{font-size:15px!important}
    .mcm24-est-grid select,
    .mcm24-fields input{font-size:16px!important;min-height:52px!important}
    .mcm24-selected-rate small{font-size:14px!important}
    .mcm24-result-card small{font-size:13px!important}
    .mcm24-result-card strong{font-size:23px!important}
    .mcm24-result-card>div:last-child strong{font-size:28px!important}
    .mcm24-calc-note{font-size:14px!important}
    .mcm24-actions a{font-size:15px!important;min-height:50px!important}
}

@media(max-width:420px){.mcm24-type-preview{flex-basis:78px;width:78px;height:64px;border-radius:10px}.mcm24-type-copy>strong{font-size:17px!important}.mcm24-type-copy>small{font-size:12px!important}.mcm24-type-foot{align-items:flex-start!important;flex-direction:column!important}.mcm24-type-foot em{font-size:12px!important}}
