:root{--mj-cream:#FBF6F2;--mj-blush:#E8B4B8;--mj-rose:#B76E79;--mj-text:#3A2E2F}
.mj-product-info{margin:.5rem 0 1rem;font-family:Poppins,sans-serif;color:var(--mj-text)}
.mj-warranty{margin:0 0 .4rem;font-weight:500}
.mj-badge{display:inline-block;padding:.2rem .7rem;border-radius:999px;font-size:.8rem;font-family:Poppins,sans-serif}
.mj-badge--ok{background:var(--mj-blush);color:var(--mj-text)}
.mj-badge--no{background:#eee;color:#6b5a5c;border:1px solid #ddd}
.mj-card{background:var(--mj-cream);border:1px solid var(--mj-blush);border-radius:14px;padding:1.5rem;color:var(--mj-text);font-family:Poppins,sans-serif;max-width:680px}
.mj-card h3,.mj-modal h2{font-family:"Playfair Display",serif;color:var(--mj-text)}
.mj-warranty-form label{display:block;font-weight:500}
.mj-warranty-form input[type=text],.mj-warranty-form input[type=tel],.mj-warranty-form input[type=email],.mj-warranty-form input[type=date],.mj-warranty-form select{display:block;width:100%;margin-top:.3rem;padding:.6rem;border:1px solid var(--mj-blush);border-radius:8px;background:#fff}
.mj-warranty-form input[type=file]{display:block;margin-top:.3rem}
.mj-terms label{font-weight:400}
.mj-errors{border-color:#c0392b;margin-bottom:1rem}.mj-errors li{color:#a12e22}
.mj-btn{display:inline-block;background:var(--mj-rose);color:#fff!important;border:2px solid var(--mj-rose);border-radius:999px;padding:.6rem 1.5rem;text-decoration:none;font-family:Poppins,sans-serif;cursor:pointer}
.mj-btn:hover{background:var(--mj-text);border-color:var(--mj-text)}
.mj-btn--outline{background:transparent;color:var(--mj-rose)!important}
.mj-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center}
.mj-modal[hidden]{display:none}
.mj-modal__backdrop{position:absolute;inset:0;background:rgba(58,46,47,.45)}
.mj-modal__box{position:relative;background:var(--mj-cream);border-top:6px solid var(--mj-blush);border-radius:18px;padding:2rem;max-width:420px;width:90%;text-align:center;font-family:Poppins,sans-serif;color:var(--mj-text);box-shadow:0 20px 50px rgba(0,0,0,.2)}
.mj-modal__x{position:absolute;top:.5rem;right:.8rem;background:none;border:0;font-size:1.6rem;color:var(--mj-rose);cursor:pointer}
.mj-modal__actions{display:flex;gap:.6rem;justify-content:center;margin:1rem 0}
.mj-link{background:none;border:0;color:var(--mj-rose);text-decoration:underline;cursor:pointer;font-family:Poppins,sans-serif}
/* Hide duplicate page title when content starts with .mj-hero */
body.mj-has-hero .wp-block-post-title,body.mj-has-hero .entry-title,body.mj-has-hero h1.page-title{display:none!important}

/* Service job tracker (1.4.0) */
.mj-jobs-title{margin-top:2em}
.mj-job{margin:0 0 1.2em}
.mj-job__meta{color:#6b5a5c;font-size:.9em;margin:.2em 0 .8em}
.mj-job__rej{color:#a12e22}
.mj-track{list-style:none;display:flex;margin:12px 0 14px;padding:0;counter-reset:none}
.mj-track li{flex:1;position:relative;text-align:center;font-size:12px;color:#6b5a5c;padding:0 2px}
.mj-track li:before{content:"";position:absolute;top:15px;left:-50%;width:100%;height:4px;background:#f1e4e2;z-index:0}
.mj-track li:first-child:before{display:none}
.mj-track li.done:before,.mj-track li.cur:before{background:#E8B4B8}
.mj-track__dot{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0 auto 6px;border-radius:50%;background:#f1e4e2;color:#6b5a5c;font-weight:700}
.mj-track li.done .mj-track__dot{background:#E8B4B8;color:#3A2E2F}
.mj-track li.cur .mj-track__dot{background:#B76E79;color:#fff;box-shadow:0 0 0 4px #FBF6F2,0 0 0 6px #E8B4B8}
.mj-track li.cur{color:#3A2E2F;font-weight:700}
.mj-track li.rej .mj-track__dot{background:#c0392b;color:#fff}
.mj-track li.rej{color:#a12e22}
.mj-timeline{list-style:none;margin:10px 0 0;padding:0 0 0 16px;border-left:3px solid #E8B4B8}
.mj-timeline li{margin:0 0 12px;position:relative}
.mj-timeline li:before{content:"";position:absolute;left:-23px;top:4px;width:11px;height:11px;border-radius:50%;background:#B76E79}
.mj-timeline small{color:#6b5a5c}
@media (max-width:600px){.mj-track{flex-direction:column;gap:8px}.mj-track li{display:flex;align-items:center;gap:10px;text-align:left}.mj-track li:before{display:none}.mj-track__dot{margin:0;flex:0 0 30px;width:30px;height:30px}}

/* Coming Soon placeholders (1.5.0) */
.mj-coming-soon{pointer-events:none;user-select:none;list-style:none}
.mj-coming-soon .mj-cs__inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:260px;height:100%;padding:24px 12px;background:#f7e6e9;border:1px dashed #E8B4B8;border-radius:18px;color:#B76E79;text-align:center;box-sizing:border-box}
.mj-coming-soon .mj-cs__icon{opacity:.85}
.mj-coming-soon .mj-cs__title{font-size:1.15em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#B76E79}
.mj-coming-soon .mj-cs__cat{font-size:.9em;color:#6b5a5c}
.mj-cs-has-ph .wp-block-woocommerce-product-collection-no-results{display:none}
.mj-cs-grid ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0;padding:0}
.mj-cs-grid ul.products.columns-2{grid-template-columns:repeat(2,1fr)}.mj-cs-grid ul.products.columns-3{grid-template-columns:repeat(3,1fr)}
.mj-cs-grid ul.products li.product{width:auto!important;margin:0!important;float:none!important}
.mj-cs-grid ul.products:before,.mj-cs-grid ul.products:after{display:none!important}
@media (max-width:768px){.mj-cs-grid ul.products,.mj-cs-grid ul.products.columns-3{grid-template-columns:repeat(2,1fr);gap:12px}.mj-coming-soon .mj-cs__inner{min-height:200px}}

/* SEO / CLS (1.6.0): width/height added by the plugin must never distort images; zero specificity so theme sizing still wins */
:where(img[data-mj-dim]){height:auto;max-width:100%}
