/* MJ Packaging V104 — product cards only. Header, page sections and commerce hooks are unchanged. */
:root{--mj104-ink:#14241c;--mj104-muted:#66736c;--mj104-green:#17603f;--mj104-green-dark:#10462e;--mj104-gold:#a56724;--mj104-line:#dfe6e1;--mj104-soft:#f5f7f5;--mj104-whatsapp:#237a4b}

/* Equal-width and equal-height catalogue rows. */
.mj-product-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important}
.mj-product-grid>.mj-product-card{height:100%!important}
.page-home .mj-home-rail{grid-auto-columns:minmax(270px,calc((100% - 66px)/4))!important;grid-auto-rows:1fr!important;gap:22px!important;align-items:stretch!important}
.page-home .mj-home-rail{touch-action:pan-x pan-y pinch-zoom!important;-webkit-overflow-scrolling:touch!important;scroll-behavior:smooth}

/* Card shell and vertical layout. */
.mj104-card{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;height:100%!important;min-width:0!important;overflow:hidden!important;border:1px solid var(--mj104-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 5px 18px rgba(20,36,28,.055)!important;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;color:var(--mj104-ink)!important;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease!important}
.mj104-card:hover{border-color:#bfcfc5!important;box-shadow:0 14px 32px rgba(20,36,28,.11)!important;transform:translateY(-3px)!important}
.mj104-card *{box-sizing:border-box}

/* Availability + wishlist. */
.mj104-card .mj104-top{order:0;display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px 15px 4px!important}
.mj104-card .mj104-status{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border:1px solid #cce5d6;border-radius:6px;background:#eff8f3;color:var(--mj104-green);font-size:10px!important;font-weight:750!important;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.mj104-card .mj104-status.inquiry{border-color:#ead9bd;background:#fff8ed;color:#87581f}
.mj104-card .mj-card-wish{position:static!important;display:grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;margin:-5px -5px -3px 8px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;color:#53635b!important;font-size:25px!important;font-weight:500!important;line-height:1!important;cursor:pointer!important;transition:background .18s,color .18s,transform .18s!important}
.mj104-card .mj-card-wish:hover{background:#fff1f3!important;color:#b73952!important;transform:scale(1.05)!important}

/* Fixed title block: dimension first, type second. */
.mj104-card>.mj-card-title{order:1;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;min-height:64px!important;max-height:64px!important;margin:0 15px 12px!important;padding:0!important;color:var(--mj104-ink)!important;text-decoration:none!important;overflow:hidden!important;-webkit-line-clamp:unset!important}
.mj104-card>.mj-card-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:-.012em}
.mj104-card>.mj-card-title span{display:-webkit-box;margin-top:4px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--mj104-muted);font-size:13px!important;font-weight:500!important;line-height:1.35!important}

/* Identical image canvas for every product. */
.mj104-card>.mj-card-media{order:2;position:relative!important;display:grid!important;place-items:center!important;width:auto!important;margin:0 15px 13px!important;aspect-ratio:1.25/1!important;overflow:hidden!important;border:0!important;border-radius:11px!important;background:#f3f5f3!important}
.mj104-card>.mj-card-media:after{display:none!important}
.mj104-card>.mj-card-media img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;padding:10px!important;object-fit:contain!important;opacity:1;transition:opacity .25s ease,transform .3s ease!important}
.mj104-card>.mj-card-media img.mj-alt{opacity:0!important}
.mj104-card:hover>.mj-card-media:not(.mj-alt-ready) img:not(.mj-alt){opacity:1!important;transform:scale(1.025)!important}
.mj104-card:hover>.mj-card-media.mj-alt-ready img:not(.mj-alt){opacity:0!important}
.mj104-card:hover>.mj-card-media.mj-alt-ready img.mj-alt{opacity:1!important;transform:scale(1.025)!important}
.mj104-card>.mj-card-media:not(.mj-alt-ready) img.mj-alt{display:none!important}
.mj104-card .mj100-view{display:none!important}
@media(hover:hover) and (pointer:fine){.mj104-card>.mj-card-media:has(img.mj-alt):hover img:not(.mj-alt){opacity:0!important}.mj104-card>.mj-card-media:has(img.mj-alt):hover img.mj-alt{display:block!important;opacity:1!important;transform:scale(1.025)!important}}

/* Body grows so every price and CTA block shares one baseline. */
.mj104-card>.mj-card-body{order:3;display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;padding:0 15px 16px!important}
.mj104-card .mj-card-category{margin:0 0 9px!important;color:var(--mj104-gold)!important;font-size:10px!important;font-weight:800!important;line-height:1.2!important;letter-spacing:.08em!important;text-transform:uppercase!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mj104-card .mj100-options{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important;margin:0 0 10px!important;padding:0!important;border:0!important;background:transparent!important}
.mj104-card .mj100-options>b{flex:0 0 100%;color:#7a857e;font-size:10px!important;font-weight:750!important;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}
.mj104-card .mj100-options>span{padding:5px 8px!important;border:0!important;border-radius:6px!important;background:#f0f3f1!important;color:#48574f!important;font-size:11px!important;font-weight:600!important;line-height:1.2}
.mj104-card .mj-card-spec{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0 0 12px!important;padding:9px 10px!important;border:0!important;border-radius:9px!important;background:var(--mj104-soft)!important;color:#4d5c54!important;font-size:11px!important;line-height:1.3!important}
.mj104-card .mj-card-spec span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mj104-card .mj-card-spec b{display:block!important;margin:0 0 3px!important;color:#7a857e!important;font-size:10px!important;font-weight:750!important;line-height:1.1!important;letter-spacing:.08em!important;text-transform:uppercase!important}

/* Stable premium price row. */
.mj104-card .mj104-price-row{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:10px!important;min-height:62px!important;margin-top:auto!important;padding-top:12px!important;border-top:1px solid #edf0ee!important}
.mj104-card .mj104-price-row>div{min-width:0}
.mj104-card .mj104-price-row>div>small{display:block;margin:0 0 3px;color:#7a857e;font-size:11px!important;font-weight:600!important;line-height:1.2}
.mj104-card .mj-card-price{display:flex!important;align-items:baseline!important;flex-wrap:wrap!important;gap:5px!important;margin:0!important;color:#101b15!important;font-size:25px!important;font-weight:800!important;line-height:1.08!important;letter-spacing:-.025em!important}
.mj104-card .mj-card-price em{color:var(--mj104-muted)!important;font-size:11px!important;font-style:normal!important;font-weight:600!important;line-height:1.25!important;letter-spacing:0!important;white-space:nowrap}
.mj104-card .mj-card-price.quote{max-width:150px;color:#85551c!important;font-size:13px!important;line-height:1.25!important;letter-spacing:.045em!important}
.mj104-card .mj104-moq{flex:0 0 auto;display:inline-flex;align-items:center;min-height:28px;padding:0 8px;border-radius:7px;background:#edf7f1;color:var(--mj104-green);font-size:11px!important;font-weight:750!important;line-height:1;white-space:nowrap}

/* Bottom-anchored CTAs with fixed heights and baselines. */
.mj104-card .mj-card-actions{display:flex!important;flex-direction:column!important;flex:0 0 auto!important;gap:8px!important;min-height:94px!important;margin-top:12px!important}
.mj104-card .mj-card-actions>.mj-buy-trigger{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:44px!important;min-height:44px!important;margin:0!important;padding:0 12px!important;border:0!important;border-radius:9px!important;background:var(--mj104-green)!important;color:#fff!important;box-shadow:none!important;font-size:12px!important;font-weight:750!important;line-height:1!important;white-space:nowrap!important}
.mj104-card .mj-card-actions>.mj-buy-trigger:hover{background:var(--mj104-green-dark)!important}
.mj104-card .mj-card-actions>.mj-buy-trigger:disabled{background:#e3e7e4!important;color:#747f79!important}
.mj104-card .mj104-secondary{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;width:100%!important;margin:0!important}
.mj104-card .mj104-secondary .mj-card-cta{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 8px!important;border-radius:8px!important;font-size:11px!important;font-weight:700!important;line-height:1.1!important;text-align:center!important;text-decoration:none!important;white-space:nowrap!important}
.mj104-card .mj-card-inquiry{border:1px solid #cfd8d2!important;background:#fff!important;color:#30483b!important}
.mj104-card .mj-card-inquiry:hover{border-color:#9fb3a7!important;background:#f5f8f6!important}
.mj104-card .mj104-whatsapp{border:1px solid var(--mj104-whatsapp)!important;background:var(--mj104-whatsapp)!important;color:#fff!important}
.mj104-card .mj104-whatsapp:hover{background:#1c633d!important;border-color:#1c633d!important}

/* Section-header refinement only; structure remains unchanged. */
.page-home .mj-rail-head small{color:var(--mj104-gold)!important;font-size:12px!important;font-weight:800!important;letter-spacing:.1em!important}
.page-home .mj-rail-head h3{color:var(--mj104-ink)!important;font-size:29px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.025em!important}
.page-home .mj-rail-actions button{width:40px!important;height:40px!important;border-color:#d8e0da!important;border-radius:50%!important;background:#fff!important;color:var(--mj104-ink)!important;font-size:16px!important}
.page-home .mj-rail-actions a{color:var(--mj104-ink)!important;font-size:15px!important;font-weight:700!important}

@media(max-width:1199px){.mj-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.page-home .mj-home-rail{grid-auto-columns:minmax(270px,calc((100% - 44px)/3))!important}}
@media(max-width:899px){.mj-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.page-home .mj-home-rail{grid-auto-columns:minmax(270px,calc((100% - 22px)/2))!important}}
@media(max-width:619px){
 .mj-product-grid{grid-template-columns:1fr!important;gap:16px!important}.page-home .mj-home-rail{grid-auto-columns:minmax(286px,88vw)!important;gap:14px!important}
 .mj104-card:hover{transform:none!important}.mj104-card>.mj-card-title{min-height:62px!important;max-height:62px!important}.mj104-card>.mj-card-title strong{font-size:16px!important}.mj104-card>.mj-card-title span{font-size:13px!important}
 .mj104-card>.mj-card-media{aspect-ratio:1.25/1!important}.mj104-card .mj-card-price{font-size:24px!important}.mj104-card .mj104-price-row>div>small,.mj104-card .mj104-moq{font-size:11px!important}
 .mj104-card .mj-card-actions>.mj-buy-trigger{height:44px!important;font-size:12px!important}.mj104-card .mj104-secondary .mj-card-cta{height:42px!important;font-size:11px!important}
 .page-home .mj-rail-head h3{font-size:25px!important}.page-home .mj-rail-actions button{width:42px!important;height:42px!important}
}
@media(hover:none){.mj104-card>.mj-card-media img:not(.mj-alt){display:block!important;opacity:1!important}.mj104-card>.mj-card-media img.mj-alt{display:none!important}}
@media(prefers-reduced-motion:reduce){.mj104-card,.mj104-card *{transition:none!important}}
