/* DREAMBORO CART — modern storefront styles */
.db-products,.db-cart,.db-checkout{max-width:1100px;margin:50px auto;padding:0 22px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#171717}
.db-products h1,.db-cart h1,.db-checkout h1{font-size:clamp(32px,5vw,52px);line-height:1.05;margin:0 0 28px;letter-spacing:-.03em}
.db-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.db-product{border:1px solid #e8e8e8;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 35px rgba(0,0,0,.05)}
.db-product-image{aspect-ratio:1/1;background:#f5f5f5;display:flex;align-items:center;justify-content:center}
.db-product-image img{width:100%;height:100%;object-fit:cover}
.db-product-content{padding:22px}
.db-product h2{font-size:21px;margin:0 0 8px}
.db-product-price{font-size:20px;font-weight:750;margin-bottom:18px}
.db-product-actions{display:flex;gap:10px;align-items:center}
.db-qty{display:flex;align-items:center;gap:10px;border:1px solid #ddd;border-radius:12px;padding:4px}
.db-qty button{width:34px;height:34px;border:0;background:#f5f5f5;border-radius:9px;font-size:19px;cursor:pointer}
.db-product-qty{width:40px;text-align:center;border:0;font:inherit}
.db-button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:12px;padding:13px 18px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.db-add,.db-button-dark{background:#151515;color:#fff}
.db-button-light{background:#fff;color:#151515;border:1px solid #d8d8d8}
.db-add{flex:1}
.db-cart-row{display:grid;grid-template-columns:80px minmax(0,1fr) auto auto auto;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid #eee}
.db-cart-image{width:80px;height:80px;border-radius:14px;overflow:hidden;background:#f4f4f4}
.db-cart-image img{width:100%;height:100%;object-fit:cover}
.db-cart-info h3{margin:0 0 5px;font-size:18px}.db-cart-info p{margin:0;color:#777}
.db-line-total{white-space:nowrap}.db-remove{border:0;background:none;text-decoration:underline;cursor:pointer}
.db-summary{max-width:500px;margin:30px 0 0 auto;border-top:1px solid #ddd}
.db-summary div{display:flex;justify-content:space-between;padding:11px 0}.db-summary .db-total{font-size:21px;border-top:1px solid #ddd;font-weight:800}
.db-cart-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.db-empty{padding:40px 0;color:#666}
.db-checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:45px}
.db-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.db-form label{font-weight:700}.db-form .full{grid-column:1/-1}
.db-form input,.db-form select{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:13px;border:1px solid #ccc;border-radius:11px;font:inherit;background:#fff}
.db-order-card{border:1px solid #e6e6e6;border-radius:18px;padding:22px;position:sticky;top:25px}
.db-paypal{margin-top:24px}.db-paypal-message{color:#a00000;margin-top:10px}
.db-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#777}.db-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.42);opacity:0;visibility:hidden;transition:.25s;z-index:99998}.db-drawer-overlay.is-open{opacity:1;visibility:visible}
.db-drawer{position:fixed;right:0;top:0;height:100dvh;width:min(430px,94vw);background:#fff;z-index:99999;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;box-shadow:-15px 0 50px rgba(0,0,0,.15)}
.db-drawer.is-open{transform:translateX(0)}body.db-drawer-open{overflow:hidden}
.db-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:22px;border-bottom:1px solid #eee}.db-drawer-head h2{margin:3px 0 0}.db-drawer-close{border:0;background:#f3f3f3;border-radius:50%;width:38px;height:38px;font-size:25px;cursor:pointer}
.db-drawer-body{flex:1;overflow:auto;padding:8px 22px}.db-drawer-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid #eee}.db-drawer-img{width:58px;height:58px;border-radius:11px;overflow:hidden;background:#f5f5f5}.db-drawer-img img{width:100%;height:100%;object-fit:cover}.db-drawer-item span{display:block;color:#777;font-size:13px;margin-top:4px}.db-drawer-foot{padding:20px 22px;border-top:1px solid #eee}.db-drawer-subtotal{display:flex;justify-content:space-between;font-size:19px;font-weight:800;margin-bottom:14px}.db-drawer-foot .db-button{width:100%;box-sizing:border-box;margin-top:8px}.db-drawer-empty{color:#777}
@media(max-width:800px){.db-product-grid{grid-template-columns:1fr 1fr}.db-checkout-layout{grid-template-columns:1fr}.db-order-card{position:static}.db-cart-row{grid-template-columns:65px 1fr auto}.db-cart-row .db-line-total{grid-column:2}.db-cart-row .db-remove{grid-column:3;grid-row:2}.db-cart-image{width:65px;height:65px}.db-cart-buttons{justify-content:stretch}.db-cart-buttons .db-button{flex:1}}
@media(max-width:540px){.db-product-grid{grid-template-columns:1fr}.db-products,.db-cart,.db-checkout{margin:30px auto;padding:0 16px}.db-form{grid-template-columns:1fr}.db-form .full{grid-column:auto}.db-cart-buttons{flex-direction:column}.db-drawer{width:96vw}}


/* =========================================================
   DREAMBORO CART COUNTER
   ========================================================= */

.dreamboro-view-cart {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.dreamboro-cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 20px;
    height: 20px;
    padding: 0 5px;

    border-radius: 50%;

    background: #111;
    color: #fff;

    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;

    box-sizing: border-box;
}

/* Hide the badge when the cart is empty */
.dreamboro-cart-count:not(.has-items) {
    display: none;
}