/* ChawriMart v0.9.6 · legacy-safe premium storefront layer */
:root { --cm-soft: #fbf7f2; --cm-rose: #6b182a; --cm-dark: #451526; --cm-gold: #bd985d; --cm-outline: #eadfd8; --cm-shadow: 0 14px 38px rgba(75,31,27,.075); }
body {background:#fcf9f6}
.product-card,.category-tile {transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.product-card:hover,.category-tile:hover {transform:translateY(-3px);border-color:#d5bcb0;box-shadow:var(--cm-shadow)}
.product-card .btn {margin-top:auto}
.card-image {background:linear-gradient(145deg,#f5ede5,#fffaf6)}
.card-image img {transition:transform .2s ease}
.product-card:hover .card-image img {transform:scale(1.035)}
.cm-section-eyebrow {display:block;color:#926d46;letter-spacing:.14em;font-size:11px;font-weight:800;margin-bottom:6px}
.category-tile .cm-category-more {font-size:11px;display:block;color:var(--cm-rose);padding:0 8px 12px;font-weight:700}
.category-tile strong {font-size:13px}
.section-title h2 {font-size:clamp(1.45rem,2vw,2.15rem)}
.category-title {font-size:clamp(2rem,3vw,2.85rem)}
.detail-grid {align-items:start;gap:clamp(20px,3.8vw,60px)}
.main-product-image {border:1px solid var(--cm-outline);border-radius:17px;background:linear-gradient(145deg,#f4eae1,#fffaf6);overflow:hidden;box-shadow:var(--cm-shadow)}
.main-product-image img {object-fit:contain;display:block;aspect-ratio:1/1;width:100%;height:auto}
.cm-gallery-controls {display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.cm-gallery-thumb {display:block;border:2px solid #e7d9d0;background:#fff;border-radius:10px;padding:4px;max-width:76px;cursor:pointer;transition:border-color .15s ease}
.cm-gallery-thumb img {display:block;max-width:100%;aspect-ratio:1;object-fit:contain;border-radius:6px}
.cm-gallery-thumb.is-selected,.cm-gallery-thumb:hover {border-color:var(--cm-rose)}
.cm-gallery-thumb:focus-visible,.cm-cart-remove button:focus-visible {outline:3px solid #d4a94e;outline-offset:3px}
.cm-product-trust {display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 17px}
.cm-product-trust span {background:#f3e9df;color:#6a3936;font-size:11px;font-weight:650;border:1px solid #e7d5c8;border-radius:30px;padding:6px 10px}
.product-info h1 {font-size:clamp(1.7rem,3vw,2.7rem);letter-spacing:-.035em}
.product-info .charge-notice {background:#f6ecdf;border-left:3px solid var(--cm-gold);padding:12px 14px;line-height:1.55;border-radius:0 9px 9px 0}
.product-info .purchase-form {background:#fff;border:1px solid var(--cm-outline);border-radius:15px;padding:20px;box-shadow:var(--cm-shadow)}
.product-info .purchase-form .btn {min-height:44px}
.cm-listing-hero {display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;background:linear-gradient(112deg,#f4e7d9,#fffaf5);border:1px solid #ecddd0;padding:25px 28px;border-radius:16px;margin:0 0 24px}
.cm-listing-hero h1 {margin:0 0 8px;font-size:clamp(1.8rem,3.1vw,2.7rem)}
.cm-listing-hero p {margin:0;color:#6b5a54}
.cm-empty-search {grid-column:1/-1;border:1px dashed #cfb7a7;border-radius:15px;padding:40px;text-align:center;background:#fff}
/* Cart: merchandising on left, clear non-payable quote summary on right. */
.cm-cart-page {padding-top:22px;padding-bottom:70px}
.cm-cart-heading {display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 20px}
.cm-cart-heading h1 {font-size:clamp(1.9rem,3vw,2.7rem);margin:0 0 8px}
.cm-cart-heading p {margin:0;color:#796b67}
.cm-cart-continue {font-size:14px;font-weight:700;color:var(--cm-rose);white-space:nowrap}
.cm-checkout-steps {display:flex;gap:0;margin-bottom:24px;border:1px solid var(--cm-outline);border-radius:13px;background:#fff;overflow:hidden}
.cm-checkout-steps span {flex:1;padding:13px 16px;font-size:12px;color:#988780;border-right:1px solid var(--cm-outline);white-space:nowrap}
.cm-checkout-steps span:last-child {border:0}
.cm-checkout-steps .is-current {background:#f4e8df;color:var(--cm-rose)}
.cm-checkout-steps strong {font-size:13px;margin-left:9px}
.cm-cart-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:24px;align-items:start}
.cm-cart-items {display:flex;flex-direction:column;gap:14px;min-width:0}
.cm-cart-product {display:grid;grid-template-columns:122px minmax(0,1fr) auto;gap:18px;border:1px solid var(--cm-outline);border-radius:16px;background:#fff;padding:18px;box-shadow:0 8px 25px rgba(73,32,35,.04)}
.cm-cart-image {display:block;border-radius:10px;background:#f4ebe3;border:1px solid #ece1d8;overflow:hidden;aspect-ratio:1}
.cm-cart-image img {display:block;width:100%;height:100%;object-fit:contain}
.cm-cart-product h2 {font-size:17px;line-height:1.35;margin-bottom:8px}
.cm-cart-item-label {font-size:10px;color:#96795a;letter-spacing:.09em;font-weight:800;margin-bottom:6px}
.cm-cart-item-price {font-size:14px;font-weight:700;color:var(--cm-rose);margin-bottom:10px}
.cm-cart-quantity {font-size:13px;color:#6d5c56;margin-bottom:5px}
.cm-cart-quantity a {text-decoration:underline;color:var(--cm-rose)}
.cm-cart-line-total {text-align:right;min-width:105px}
.cm-cart-line-total small {display:block;font-size:11px;color:#796e68;margin-bottom:5px}
.cm-cart-line-total strong {font-size:18px;color:var(--cm-rose)}
.cm-cart-remove {margin-top:12px}
.cm-cart-remove button {background:transparent;border:0;padding:0;color:var(--cm-rose);font-size:12px;text-decoration:underline;font-weight:650}
.cm-cart-custom {padding:10px 12px;background:#fbf6f2;border-radius:9px;font-size:12px;margin-top:8px}
.cm-cart-custom summary {font-weight:700;cursor:pointer}
.cm-cart-custom p {margin:8px 0 0}
.cm-cart-summary {background:#fff;border:1px solid var(--cm-outline);border-radius:16px;box-shadow:var(--cm-shadow);padding:24px;position:sticky;top:18px}
.cm-cart-summary h2 {font-size:20px;margin-bottom:8px}
.cm-summary-top {border-bottom:1px solid var(--cm-outline);padding-bottom:12px;margin-bottom:14px}
.cm-summary-row {display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:13px;padding:8px 0}
.cm-summary-row>span:last-child {text-align:right;color:#6f625b}
.cm-summary-total {display:flex;justify-content:space-between;align-items:baseline;margin:12px 0;padding:16px 0;border-top:1px solid var(--cm-outline);border-bottom:1px solid var(--cm-outline)}
.cm-summary-total strong {font-size:23px;color:var(--cm-rose)}
.cm-summary-disclaimer {font-size:12px;line-height:1.6;color:#745f54;background:#f6eee4;border-radius:9px;padding:13px}
.cm-cart-summary form {display:flex;flex-direction:column;gap:8px}
.cm-cart-summary form label {font-size:13px;font-weight:700}
.cm-cart-summary form label small {font-weight:400;color:#8b7c77}
.cm-cart-summary form input {border:1px solid #d7c5bb;border-radius:8px;min-height:44px;padding:10px;width:100%}
.cm-cart-summary form>small {color:#7c6e65;font-size:11px}
.cm-summary-cta {width:100%;min-height:48px;margin-top:8px}
.cm-cart-assurance {display:flex;flex-direction:column;gap:10px;color:#4d6758;font-size:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--cm-outline)}
.cm-cart-empty {padding:55px 25px;border:1px dashed #d7bbae;border-radius:15px;text-align:center;background:#fff}
.cm-cart-empty-icon {font-size:44px;color:#9d785d}
.cm-cart-empty h2 {margin:5px 0 12px}
@media(max-width:1090px) {.cm-cart-layout {grid-template-columns:minmax(0,1fr) 305px}.cm-cart-product {grid-template-columns:95px minmax(0,1fr);gap:12px}.cm-cart-line-total {grid-column:2;text-align:left}}
@media(max-width:780px) {.cm-cart-layout {grid-template-columns:1fr}.cm-cart-summary {position:static}.cm-checkout-steps span {padding:10px}.cm-checkout-steps strong {display:block;margin:2px 0 0;font-size:11px}.cm-cart-heading {align-items:start;flex-direction:column}.cm-gallery-thumb {max-width:68px}.cm-listing-hero {padding:22px}}
@media(max-width:440px) {.cm-checkout-steps span {font-size:10px}.cm-cart-product {grid-template-columns:84px minmax(0,1fr);padding:12px}.cm-cart-product h2 {font-size:14px}.cm-cart-line-total strong {font-size:16px}.cm-product-trust span {font-size:10px}.cm-cart-summary {padding:17px}.cm-listing-hero .btn {width:100%}}
@media(prefers-reduced-motion:reduce) {.product-card,.category-tile,.card-image img {transition:none}}
