/* Marco Coffee V28 — premium catalog cards, mobile cart and checkout.
   Presentation only: no changes to price, payment or order validation logic. */
:root {
 --v28-ink:#27292c;
 --v28-gold:#91661e;
 --v28-gold-hover:#754e12;
 --v28-border:#e9e2d8;
 --v28-cream:#fbf8f3;
 --v28-muted:#716d65;
}
/* PRODUCT GRID */
body .compact-menu-content .compact-products{gap:15px!important;align-items:stretch!important;min-width:0!important}
body .compact-product-card{
 position:relative;display:grid!important;grid-template-columns:118px minmax(0,1fr)!important;
 height:auto!important;min-height:190px!important;max-width:100%;min-width:0!important;
 overflow:hidden!important;isolation:isolate;border:1px solid var(--v28-border)!important;
 border-radius:19px!important;background:#fff!important;
 box-shadow:0 3px 15px rgba(40,35,26,.042)!important;
 transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
}
body .compact-product-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#d9ba81,#997026);opacity:0;transition:opacity .2s}
body .compact-product-card:is(:hover,:focus-within){border-color:#c9ad7e!important;box-shadow:0 13px 27px rgba(56,42,18,.12)!important;transform:translateY(-2px)}
body .compact-product-card:is(:hover,:focus-within)::before,body .compact-product-card.selected::before{opacity:1}
body .compact-product-card .compact-product-image{
 display:grid!important;place-items:center!important;align-self:stretch!important;
 width:118px!important;height:auto!important;min-height:190px!important;max-width:118px!important;
 padding:13px!important;margin:0!important;
 background:radial-gradient(circle at 55% 35%,#ffffff 0%,#fbf7f0 66%,#f5efe4 100%)!important;
 border-right:1px solid #f1e9dd!important;box-sizing:border-box!important;
}
body .compact-product-card .compact-product-image img{
 display:block;width:100%!important;max-width:100%!important;height:136px!important;max-height:136px!important;
 object-fit:contain!important;background:transparent!important;border-radius:11px!important;
 filter:drop-shadow(0 7px 9px rgba(46,31,12,.10));
}
body .compact-product-card .no-photo{display:grid!important;place-items:center!important;width:90px!important;min-height:82px!important;max-width:100%!important;background:#fffdf8!important;border:1px dashed #dbcdb8!important;border-radius:10px!important;color:#9a8a73!important;text-align:center!important;font-size:10px!important;line-height:1.5!important}
body .compact-product-card .compact-product-info{
 display:flex!important;flex-direction:column!important;align-items:stretch!important;min-width:0!important;
 padding:17px 16px 15px 15px!important;overflow:visible!important;
}
body .compact-product-card .v28-product-kicker{display:inline-flex;align-items:center;align-self:flex-start;min-height:20px;padding:3px 8px;margin:0 0 8px;background:#f9f3e8;border:1px solid #eee2cf;border-radius:30px;color:#886121;font:800 9px/1.1 'Segoe UI',Arial,sans-serif;letter-spacing:1.15px;text-transform:uppercase}
body .compact-product-card .product-title{font:700 clamp(16px,1.5vw,19px)/1.18 Georgia,'Times New Roman',serif!important;letter-spacing:-.25px!important;color:#252628!important;margin:0 0 7px!important;min-width:0!important;overflow-wrap:anywhere}
body .compact-product-card .product-description{margin:0 0 8px!important;min-height:0!important;max-height:39px!important;overflow:hidden!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;font:400 11px/1.55 'Segoe UI',Arial,sans-serif!important;color:#77736d!important;overflow-wrap:anywhere}
body .compact-product-card .v24-product-rating{margin:0 0 7px!important;font-size:10px!important;gap:4px!important;line-height:1.4!important}
body .compact-product-card .v24-product-rating>b{font-weight:800!important;color:#32815a!important}
body .compact-product-card .compact-product-bottom{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:8px!important;min-width:0!important;margin-top:auto!important;padding-top:9px!important;border-top:1px solid #f1eee9!important}
body .compact-product-card .product-price{display:block;min-width:0;white-space:nowrap;color:#8c6019!important;font:800 16px/1.3 'Segoe UI',Arial,sans-serif!important;font-variant-numeric:tabular-nums}
body .compact-product-card .add-product{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 flex:0 0 auto!important;min-height:37px!important;min-width:107px!important;width:auto!important;
 padding:0 12px!important;white-space:nowrap!important;font:800 11px/1.15 'Segoe UI',Arial,sans-serif!important;
 border-radius:10px!important;background:var(--v28-gold)!important;border-color:var(--v28-gold)!important;color:#fff!important;
 box-shadow:0 3px 9px #64431025!important;
}
body .compact-product-card .add-product:hover:not(:disabled){background:var(--v28-gold-hover)!important;box-shadow:0 5px 15px #64431035!important}
body .compact-product-card .v20-fav-toggle{top:11px;right:11px;z-index:4}
/* CART */
body .cart-drawer{display:flex!important;flex-direction:column!important;box-sizing:border-box!important;max-width:100vw!important;width:min(460px,100vw)!important;height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;z-index:61}
body .cart-drawer .drawer-header{flex:0 0 auto!important;position:relative;min-height:124px!important;box-sizing:border-box!important;padding:23px 22px 19px!important;background:linear-gradient(125deg,#2b2e32,#202327)!important}
body .cart-drawer .drawer-header h2{font-size:29px!important}
body .cart-drawer .drawer-header .close-button{min-width:42px!important;min-height:42px!important;display:grid!important;place-items:center!important}
body .cart-drawer .drawer-items{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:15px!important;background:#fbfaf8!important;overscroll-behavior:contain}
body .cart-drawer .cart-line{
 display:grid!important;grid-template-columns:68px minmax(0,1fr) 30px!important;align-items:start!important;gap:11px!important;
 border-radius:16px!important;border:1px solid var(--v28-border)!important;padding:12px!important;background:#fff!important;
 box-shadow:0 5px 17px rgba(37,30,16,.045)!important;overflow:hidden;
}
body .cart-drawer .cart-thumb{display:grid!important;place-items:center!important;width:68px!important;height:72px!important;min-width:68px!important;flex:0 0 68px!important;border-radius:11px!important;background:#f7f2ea!important}
body .cart-drawer .cart-thumb img{width:100%!important;height:100%!important;object-fit:contain!important}
body .cart-drawer .cart-line>div:nth-child(2){min-width:0!important;overflow-wrap:anywhere!important}
body .cart-drawer .cart-line h4{font:700 16px/1.25 Georgia,serif!important;color:var(--v28-ink)!important;margin:0 0 5px!important;overflow-wrap:anywhere!important}
body .cart-drawer .cart-choice-label{font-size:11px!important;line-height:1.45!important;margin:4px 0!important;overflow-wrap:anywhere}
body .cart-drawer .cart-line strong{display:block!important;font:800 14px/1.3 'Segoe UI',Arial,sans-serif!important;color:var(--v28-gold)!important;margin:8px 0!important}
body .cart-drawer .remove-line{min-width:30px!important;min-height:30px!important;width:30px!important;height:30px!important;border:1px solid #ece6db!important;border-radius:9px!important;background:#fffaf4!important;color:#796f61!important;display:grid!important;place-items:center!important;font-size:18px!important;align-self:start!important}
body .cart-drawer .remove-line:hover{color:#9a2f2f!important;background:#fff2f0!important}
body .cart-drawer .qty-controls{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;gap:5px!important;width:119px!important;min-height:37px!important;border:1px solid #e6dfd4!important;border-radius:10px!important;background:#fbf9f4!important;margin-top:4px!important;overflow:hidden}
body .cart-drawer .qty-controls button{min-width:35px!important;width:35px!important;height:35px!important;font:700 16px/1 'Segoe UI',sans-serif!important}
body .cart-drawer .qty-controls span{min-width:20px!important;text-align:center!important;font-weight:800!important;font-size:12px!important}
body .cart-drawer .drawer-footer{flex:0 0 auto!important;position:relative!important;min-width:0!important;box-sizing:border-box!important;padding:16px 18px max(16px,env(safe-area-inset-bottom))!important;background:#fff!important;border-top:1px solid #e9e2d7!important;box-shadow:0 -9px 25px rgba(40,32,17,.065)!important}
body .cart-drawer .drawer-footer .price-line{gap:12px!important;font-size:13px!important;color:#514e49}
body .cart-drawer #cartSubtotal{font:850 22px/1.2 'Segoe UI',Arial,sans-serif!important;color:#292b2e!important;white-space:nowrap}
body .cart-drawer .drawer-footer .shipping-hint{margin:7px 0!important;padding:9px 10px!important;font-size:10px!important;background:#f8f5ee!important;border-radius:8px!important;color:#777067!important;line-height:1.45!important}
body .cart-drawer #cartRewardsNote{margin:7px 0!important;font-size:11px!important;line-height:1.35!important;color:#946923!important}
body .cart-drawer #checkoutBtn{min-height:51px!important;justify-content:center!important;gap:10px!important;border-radius:11px!important;font-size:14px!important;white-space:nowrap!important;box-shadow:0 5px 15px #583c1828!important}
body .cart-drawer #continueShopping{display:block!important;margin:8px auto 0!important;padding:8px 13px!important;min-height:30px!important;border:0!important;background:transparent!important;color:#82591a!important;font-size:12px!important}
/* CHECKOUT */
body #checkoutDialog{box-sizing:border-box!important;width:min(1000px,calc(100vw - 34px))!important;max-width:1000px!important;max-height:calc(100dvh - 32px)!important;overflow:auto!important;border-radius:23px!important;background:#fff!important}
body #checkoutDialog>.modal-inner{padding:24px!important;box-sizing:border-box!important;min-width:0!important}
body #checkoutDialog .modal-header{position:relative;display:flex!important;gap:15px;align-items:flex-start!important;background:linear-gradient(110deg,#faf6ef,#fff)!important;border:1px solid #ecdfcd!important;padding:19px 20px!important;border-radius:15px!important;margin:0 0 20px!important}
body #checkoutDialog .modal-header h2{font-size:29px!important;margin:3px 0 5px!important;line-height:1.15!important}
body #checkoutDialog .v17-checkout-columns{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:19px!important;align-items:start!important}
body #checkoutDialog .v17-checkout-main{min-width:0!important;padding:14px 3px 0!important}
body #checkoutDialog .v17-checkout-side{min-width:0!important;background:#fcfaf6!important;border:1px solid #e9e0d4!important;border-radius:16px!important;padding:19px!important}
body #checkoutDialog .field{gap:7px!important;margin-bottom:13px!important;font-size:12px!important}
body #checkoutDialog .field input,body #checkoutDialog .field textarea{width:100%!important;max-width:100%!important;box-sizing:border-box!important;background:#fff!important;border:1px solid #ddd7cd!important;border-radius:10px!important;padding:12px 13px!important;min-height:46px!important;font-size:13px!important;line-height:1.45!important}
body #checkoutDialog .field input:focus,body #checkoutDialog .field textarea:focus{border-color:#b78b3e!important;box-shadow:0 0 0 3px #e9d4ae70!important}
body #checkoutDialog .form-section-title{font:700 19px/1.25 Georgia,serif!important;color:#2d2d2c!important;margin:14px 0 11px!important}
body #checkoutDialog .delivery-choice{gap:10px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
body #checkoutDialog .delivery-choice label{min-width:0!important;box-sizing:border-box!important;border-radius:12px!important;padding:13px 10px!important;background:#fff!important}
body #checkoutDialog .delivery-choice label:has(input:checked){border-color:#c0954b!important;background:#fff9ee!important;box-shadow:inset 0 0 0 1px #d1a25c!important}
body #checkoutDialog .delivery-choice span{min-width:0!important;overflow-wrap:anywhere!important}
body #checkoutDialog .payment-choice{border:1px solid #dcc7a1!important;background:#fff8ed!important;border-radius:11px!important;gap:10px!important}
body #checkoutDialog .payment-choice>div{min-width:0!important;overflow-wrap:anywhere!important}
body #checkoutDialog .v19-checkout-detail{border:1px solid #e9e1d4!important;border-radius:13px!important;background:#fff!important;padding:14px!important;margin:14px 0!important}
body #checkoutDialog .v19-checkout-row{gap:9px!important}
body #checkoutDialog .v19-checkout-row strong,body #checkoutDialog .v19-checkout-row small{overflow-wrap:anywhere!important}
body #checkoutDialog .v19-checkout-row b{flex:0 0 auto!important;color:var(--v28-gold)!important}
body #checkoutDialog .order-summary{background:#f7f0e3!important;border:1px solid #e9d5b6!important;border-radius:13px!important;margin:10px 0 14px!important;padding:12px 14px!important}
body #checkoutDialog .order-summary #checkoutTotal{font-size:24px!important;color:var(--v28-gold)!important;white-space:nowrap}
body #checkoutDialog .terms-check{gap:9px!important;margin:14px 0!important;line-height:1.5!important;min-width:0!important}
body #checkoutDialog .terms-check>span{min-width:0;overflow-wrap:anywhere}
body #checkoutDialog #submitOrder{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-height:52px!important;border-radius:12px!important;background:var(--v28-gold)!important;box-shadow:0 5px 15px #8b611e24!important}
body #checkoutDialog #submitOrder:hover:not(:disabled){background:var(--v28-gold-hover)!important}
body #checkoutDialog .fineprint{font-size:10px!important;line-height:1.45!important;overflow-wrap:anywhere}
/* RESPONSIVE: TABLET */
@media(max-width:1050px){
 body .compact-product-card{grid-template-columns:103px minmax(0,1fr)!important;min-height:174px!important}
 body .compact-product-card .compact-product-image{width:103px!important;max-width:103px!important;min-height:174px!important;padding:9px!important}
 body .compact-product-card .compact-product-image img{height:118px!important;max-height:118px!important}
 body .compact-product-card .compact-product-info{padding:13px 12px!important}
 body .compact-product-card .product-title{font-size:17px!important}
 body .compact-product-card .add-product{min-width:94px!important;padding:0 9px!important;font-size:10px!important}
 body .compact-product-card .product-price{font-size:14px!important}
 body #checkoutDialog{width:min(760px,calc(100vw - 20px))!important;max-height:calc(100dvh - 20px)!important}
 body #checkoutDialog .v17-checkout-columns{grid-template-columns:1fr!important;gap:14px!important}
 body #checkoutDialog .v17-checkout-main{padding:0!important}
 body #checkoutDialog .v17-checkout-side{padding:17px!important}
}
/* RESPONSIVE: PHONES */
@media(max-width:700px){
 body .compact-menu-content .compact-products{grid-template-columns:1fr!important;gap:10px!important}
 body .compact-product-card{grid-template-columns:103px minmax(0,1fr)!important;min-height:160px!important;border-radius:16px!important}
 body .compact-product-card .compact-product-image{width:103px!important;max-width:103px!important;min-height:160px!important}
 body .compact-product-card .compact-product-info{padding:11px 12px 11px 10px!important}
 body .compact-product-card .v28-product-kicker{font-size:8px!important;min-height:17px!important;margin-bottom:5px!important;padding:2px 7px!important}
 body .compact-product-card .product-title{font-size:17px!important;margin-bottom:4px!important}
 body .compact-product-card .product-description{font-size:10.5px!important;margin-bottom:6px!important;max-height:35px!important}
 body .compact-product-card .compact-product-bottom{padding-top:7px!important}
 body .compact-product-card .product-price{font-size:14px!important}
 body .compact-product-card .add-product{min-height:35px!important}
 body .cart-drawer{height:100dvh!important;max-height:100dvh!important;width:100vw!important;border-radius:0!important}
 body .cart-drawer .drawer-header{padding:18px 16px 15px!important;min-height:105px!important}
 body .cart-drawer .drawer-header h2{font-size:27px!important}
 body .cart-drawer .drawer-header .close-button{width:42px!important;height:42px!important}
 body .cart-drawer .drawer-items{padding:12px!important}
 body .cart-drawer .cart-line{grid-template-columns:58px minmax(0,1fr) 30px!important;gap:9px!important;padding:10px!important;margin-bottom:10px!important}
 body .cart-drawer .cart-thumb{width:58px!important;min-width:58px!important;height:63px!important;flex-basis:58px!important}
 body .cart-drawer .cart-line h4{font-size:15px!important}
 body .cart-drawer .drawer-footer{padding:11px 14px max(11px,env(safe-area-inset-bottom))!important}
 body .cart-drawer .drawer-footer .shipping-hint{font-size:10px!important;padding:7px 9px!important;margin:6px 0!important}
 body .cart-drawer #cartSubtotal{font-size:20px!important}
 body .cart-drawer #checkoutBtn{min-height:48px!important}
 body #checkoutDialog{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;overflow:hidden!important;margin:0!important}
 body #checkoutDialog>.modal-inner{height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;padding:0 13px max(26px,env(safe-area-inset-bottom))!important}
 body #checkoutDialog .modal-header{position:sticky!important;top:0!important;z-index:5!important;margin:0 -13px 15px!important;padding:13px 55px 13px 16px!important;border-radius:0!important;border-left:0!important;border-right:0!important;background:#fffaf2!important;box-shadow:0 4px 12px #362e1810!important}
 body #checkoutDialog .modal-header h2{font-size:24px!important;line-height:1.15!important}
 body #checkoutDialog .modal-header small{font-size:9px!important}
 body #checkoutDialog .v17-checkout-help{font-size:11px!important;line-height:1.4!important;margin-top:6px!important}
 body #checkoutDialog .modal-header .close-button{position:absolute!important;top:13px!important;right:13px!important;min-width:39px!important;min-height:39px!important;width:39px!important;height:39px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#f6ecdc!important}
 body #checkoutDialog .v17-checkout-columns{display:flex!important;flex-direction:column!important;gap:15px!important;width:100%!important}
 body #checkoutDialog .v17-checkout-main,body #checkoutDialog .v17-checkout-side{width:100%!important;box-sizing:border-box!important}
 body #checkoutDialog .v17-checkout-main{padding:0 2px!important}
 body #checkoutDialog .v17-checkout-side{padding:14px!important;background:#fdfaf5!important}
 body #checkoutDialog .form-grid{grid-template-columns:1fr!important;gap:0!important}
 body #checkoutDialog .field{margin-bottom:12px!important}
 body #checkoutDialog .field input,body #checkoutDialog .field textarea{font-size:16px!important;min-height:47px!important}
 body #checkoutDialog .delivery-choice{gap:8px!important}
 body #checkoutDialog .delivery-choice label{padding:11px 8px!important;gap:7px!important;min-height:66px!important}
 body #checkoutDialog .delivery-choice b{font-size:12px!important;line-height:1.25!important}
 body #checkoutDialog .delivery-choice small{font-size:10px!important;line-height:1.25!important}
 body #checkoutDialog .order-summary{padding:12px!important}
 body #checkoutDialog #submitOrder{min-height:51px!important;font-size:14px!important;white-space:nowrap!important}
}
@media(max-width:360px){
 body .compact-product-card{grid-template-columns:86px minmax(0,1fr)!important;min-height:158px!important}
 body .compact-product-card .compact-product-image{width:86px!important;max-width:86px!important;min-height:158px!important;padding:7px!important}
 body .compact-product-card .compact-product-image img{height:104px!important;max-height:104px!important}
 body .compact-product-card .compact-product-info{padding:10px 9px!important}
 body .compact-product-card .product-title{font-size:16px!important}
 body .compact-product-card .product-price{font-size:13px!important}
 body .compact-product-card .add-product{min-width:89px!important;padding:0 7px!important;font-size:10px!important}
 body #checkoutDialog .delivery-choice label{padding:9px 6px!important;gap:5px!important}
}
@media(prefers-reduced-motion:reduce){body .compact-product-card{transition:none!important;transform:none!important}}
