/* Card/counter typography and colors adapted from the user's local Montero archive. */
@import url('cart-fonts.css');
:root { --mc-coral:#f15152; --mc-line:#ededed; --mc-font:'Montelle Oswald',Arial,sans-serif; }
.products-grid { gap:0; border-top:1px solid var(--mc-line); border-left:1px solid var(--mc-line); }
.products-grid .p-card { text-align:left; padding:15px 15px 20px; border-right:1px solid var(--mc-line); border-bottom:1px solid var(--mc-line); border-radius:0; min-width:0; }
.products-grid .p-card:hover { transform:none; box-shadow:0 7px 15px -5px rgba(59,55,43,.18); z-index:2; }
.products-grid .p-thumb { margin-bottom:10px; border-radius:0; }
.products-grid .p-card:hover .p-thumb img { transform:scale(1.025); }
.products-grid .p-title { font:400 16px/1.35 var(--mc-font); letter-spacing:0; min-height:43px; margin-bottom:18px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.products-grid .p-price { justify-content:flex-start; font:700 18px/1.25 var(--mc-font); gap:7px; margin-top:auto; margin-bottom:10px; }
.products-grid .p-price .amount { color:var(--mc-coral); }
.products-grid .p-price del { order:2; font-weight:400; }
.products-grid .p-price del .amount { font-weight:400; color:#acacac; }
.products-grid .badge { font:400 13px/1.2 var(--mc-font); border-radius:0; padding:3px 6px; }
.products-grid .badge-sale { background:#e84a15; }
.products-grid .badge-new { background:#4aa6ba; }
.mc-rating { display:flex; align-items:center; gap:6px; color:#df591d; font-size:11px; margin-bottom:5px; }
.mc-rating .star-rating { float:none; margin:0; }
.mc-rating>span { color:#aaa; }
.mc-card-buy { display:flex; align-items:center; gap:8px; margin:0; }
body .mc-quantity { display:inline-flex; align-items:center; flex:none; border:1px solid #d7d7d7; border-radius:6px; width:108px; height:42px; background:#fff; overflow:hidden; font-family:Arial,sans-serif; }
body .mc-quantity button { flex:1; display:flex; align-items:center; justify-content:center; min-width:0; height:100%; border:0; background:none; padding:0; font:400 23px/1 Arial,sans-serif; color:#111; cursor:pointer; }
body .mc-quantity button:disabled { color:#bbb; cursor:default; }
body .mc-quantity input, .entry-content .mc-cart-content .mc-quantity input { -moz-appearance:textfield; appearance:textfield; width:34px; min-width:0; height:100%; padding:0; border:0; border-radius:0; margin:0; text-align:center; font:400 14px/1 Arial,sans-serif; color:#111; background:transparent; box-shadow:none; }
.mc-quantity input::-webkit-inner-spin-button,.mc-quantity input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.mc-card-add { display:flex; align-items:center; justify-content:center; width:42px; height:42px; flex:none; border:0; border-radius:0; padding:7px; background:var(--mc-coral); color:#fff; cursor:pointer; }
.mc-card-add svg { width:29px; height:29px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.mc-card-add:hover,.mc-primary:hover { background:#db4143; color:#fff; }
.mc-card-add:active,.mc-primary:active { transform:scale(.97); }
.mc-card-add:disabled { opacity:.55; cursor:wait; }
body.mc-cart-open { position:fixed; width:100%; overflow:hidden; }
.mc-overlay { position:fixed; inset:0; z-index:99998; background:rgba(0,0,0,.4); opacity:0; transition:opacity .25s ease; }
.mc-overlay.is-open { opacity:1; }
.mc-drawer { position:fixed; inset:0 0 0 auto; width:min(480px,calc(100% - 28px)); height:100%; height:100dvh; z-index:99999; background:#fff; color:#111; display:flex; flex-direction:column; transform:translateX(100%); visibility:hidden; transition:transform .25s ease,visibility .25s; font:400 14px/1.45 var(--mc-font); box-shadow:-8px 0 30px rgba(0,0,0,.12); }
.mc-drawer.is-open { transform:translateX(0); visibility:visible; }
.mc-drawer-header { height:52px; flex:none; display:grid; grid-template-columns:52px 1fr 52px; align-items:center; border-bottom:1px solid var(--mc-line); text-align:center; }
.mc-drawer-header h2 { margin:0; font:400 18px/1 var(--mc-font); }
.mc-drawer-header button { display:flex; align-items:center; justify-content:center; height:52px; border:0; background:none; color:#111; cursor:pointer; }
.mc-drawer-header svg,.mc-secondary svg,.mc-remove svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.mc-drawer-count { color:#999; font-size:12px; }
.mc-drawer-scroll { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding-bottom:env(safe-area-inset-bottom); }
.mc-cart-content { font-family:var(--mc-font); min-width:0; }
.mc-items { margin:0; padding:0; }
.mc-item { display:grid; grid-template-columns:76px minmax(0,1fr); gap:12px; padding:18px 18px; border-bottom:1px solid var(--mc-line); }
.mc-item-image { display:flex; align-items:flex-start; justify-content:center; }
.mc-item-image img { width:76px; height:86px; object-fit:contain; }
.mc-item-title { display:block; font:400 14px/1.4 var(--mc-font); color:#111; overflow-wrap:anywhere; }
.mc-unit-price { font:700 15px/1.5 var(--mc-font); margin-top:3px; }
.mc-item-actions { display:flex; align-items:center; gap:10px; margin-top:10px; }
body .mc-item .mc-quantity { width:94px; height:34px; border-radius:4px; }
body .mc-item .mc-quantity input { width:30px; }
body .mc-item .mc-quantity button { font-size:20px; }
.mc-line-total { font-size:12px; margin-left:auto; white-space:nowrap; color:#666; }
.mc-remove { width:34px; height:34px; display:flex; align-items:center; justify-content:center; border:1px solid var(--mc-line); color:#111; flex:none; }
.mc-remove:hover { color:var(--mc-coral); border-color:var(--mc-coral); }
.mc-purchase { padding:0 18px 8px; }
.mc-coupon { border-bottom:1px solid var(--mc-line); margin:0 -18px 14px; padding:0 18px; }
.mc-coupon summary { padding:17px 0; text-align:center; cursor:pointer; list-style:none; font-size:14px; }
.mc-coupon summary::-webkit-details-marker { display:none; }
.mc-coupon summary::before { content:'%'; display:inline-block; width:18px; height:15px; border:1px dashed #888; line-height:13px; font:11px/13px Arial,sans-serif; margin-right:8px; }
.mc-coupon-form { display:flex; gap:8px; padding-bottom:15px; }
.mc-coupon-form label { flex:1; min-width:0; }
body .mc-coupon-form input { width:100%; height:40px; border:1px solid #ddd; padding:8px; border-radius:0; font:14px var(--mc-font); }
body .mc-primary,body .mc-secondary { display:inline-flex; align-items:center; justify-content:center; gap:5px; padding:9px 14px; border:1px solid transparent; border-radius:0; text-align:center; font:400 15px/1.35 var(--mc-font); text-decoration:none; cursor:pointer; transition:background .15s,transform .12s; }
body .mc-primary { background:var(--mc-coral); color:#fff; }
body .mc-secondary { border-color:var(--mc-line); color:#111; background:#fff; }
body .mc-secondary:hover { border-color:#bbb; }
.mc-total { font:700 20px/1.4 var(--mc-font); text-align:center; padding:0 0 12px; }
body .mc-checkout,body .mc-continue { width:100%; min-height:44px; margin:0 0 10px; }
.mc-checkout[aria-disabled=true] { opacity:.55; cursor:wait; }
.mc-delivery-note { text-align:center; font:400 11px/1.5 var(--mc-font); color:#777; margin:0; }
.mc-applied-coupon { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:8px 0; font-size:13px; }
.mc-applied-coupon button { border:0; padding:4px 10px; background:none; font-size:22px; cursor:pointer; }
.mc-recommendations { padding:15px 18px 24px; }
.mc-recommend-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:15px; }
.mc-recommend-heading h3 { margin:0; font:700 17px/1.3 var(--mc-font); }
.mc-recommend-heading button { border:0; background:none; font:22px/1 Arial,sans-serif; padding:4px 7px; color:#777; cursor:pointer; }
.mc-recommend-track { display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:thin; padding-bottom:10px; }
.mc-recommend-card { flex:0 0 125px; min-width:0; scroll-snap-align:start; display:flex; flex-direction:column; }
.mc-recommend-card>a { color:#111; }
.mc-recommend-card img { width:125px; height:135px; object-fit:contain; }
.mc-recommend-title { font:400 13px/1.4 var(--mc-font); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:37px; margin:5px 0; }
.mc-recommend-price { font:700 14px/1.4 var(--mc-font); color:var(--mc-coral); margin-bottom:8px; }
.mc-recommend-price ins { text-decoration:none; }
.mc-recommend-price del { font-size:11px; font-weight:400; color:#aaa; }
.mc-recommend-card form { margin-top:auto; }
body .mc-recommend-card .mc-primary { padding:7px 10px; font-size:13px; }
.mc-empty { padding:34px 20px; text-align:center; }
.mc-empty>svg { width:45px; height:45px; fill:none; stroke:#ccc; stroke-width:1; margin:auto; }
.mc-empty p { font-size:17px; margin:16px 0; }
.mc-loading { padding:25px; text-align:center; color:#777; }
.mc-feedback,.mc-page-feedback { padding:10px 18px; background:#eff7f6; color:#285d54; font:400 13px/1.5 var(--mc-font); flex:none; }
.mc-feedback.is-error,.mc-page-feedback.is-error { background:#fff0ef; color:#a12727; }
.mc-feedback:not(.is-error) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); padding:0; }
.mc-page-cart { max-width:100%; border:1px solid var(--mc-line); }
.mc-page-cart .mc-cart-content { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; }
.mc-page-cart .mc-purchase { border-left:1px solid var(--mc-line); padding-top:0; }
.mc-page-cart .mc-recommendations,.mc-page-cart .mc-empty { grid-column:1/-1; }
.mc-page-cart .mc-recommendations { border-top:1px solid var(--mc-line); }
.mc-page-cart .mc-recommend-card { flex-basis:145px; }
.mc-page-cart .mc-recommend-card img { width:145px; height:150px; }
@media(max-width:860px) {
  .mc-page-cart .mc-cart-content { display:block; }
  .mc-page-cart .mc-purchase { border-left:0; }
}
@media(max-width:560px) {
  .products-grid .p-card { padding:10px 9px 18px; }
  .products-grid .p-title { font-size:14px; min-height:38px; margin-bottom:16px; }
  .products-grid .p-price { font-size:16px; gap:5px; }
  .mc-card-buy { gap:6px; }
  body .mc-card-buy .mc-quantity { width:82px; height:36px; }
  body .mc-card-buy .mc-quantity input { width:26px; }
  body .mc-card-buy .mc-quantity button { font-size:21px; }
  .mc-card-add { width:36px; height:36px; padding:5px; }
  .mc-item { grid-template-columns:58px minmax(0,1fr); gap:10px; padding:14px 12px; }
  .mc-item-image img { width:58px; height:72px; }
  .mc-item-title { font-size:13px; }
  .mc-item-actions { gap:6px; flex-wrap:wrap; }
  .mc-line-total { font-size:11px; }
  .mc-remove { width:30px; height:32px; }
  .mc-purchase { padding-left:12px; padding-right:12px; }
  .mc-coupon { margin-left:-12px; margin-right:-12px; padding-left:12px; padding-right:12px; }
  .mc-recommendations { padding-left:12px; padding-right:12px; }
  .mc-recommend-card { flex-basis:112px; }
  .mc-recommend-card img { width:112px; height:120px; }
}
@media(prefers-reduced-motion:reduce) {
  .mc-drawer,.mc-overlay,.mc-primary,.mc-secondary,.products-grid .p-card,.products-grid .p-thumb img { transition:none; }
}
