/**
 * Dekorbuy — Modern Cart Slide-out Deep Redesign
 *
 * Visual language aligned with the main cart page.
 * Navy/gold palette, Playfair Display headings, Lato body,
 * dot pattern accents, card-style items, refined spacing.
 *
 * @package astra-child
 */


/* ================================================================
   1. PANEL SHELL & CUSTOM PROPERTIES
   ================================================================ */

#moderncart-slide-out-modal {
	--moderncart-primary-color: var(--db-primary);
	--moderncart-primary-color-light: var(--db-surface);
	--moderncart-button-font-color: var(--db-white);
	--moderncart-background-color: var(--db-white);
	--moderncart-header-background-color: var(--db-primary-dark);
	--moderncart-header-font-color: var(--db-white);
	--moderncart-body-color: var(--db-text);
	--moderncart-heading-color: var(--db-text);
	--moderncart-quantity-background-color: var(--db-gold);
	--moderncart-quantity-font-color: var(--db-primary-dark);
	--moderncart-highlight-color: var(--db-success);
	--moderncart-slide-out-desktop-width: 420px;
	font-family: var(--db-font-body);
}

/* Backdrop — dark navy tint */
.moderncart-modal-backdrop[role="dialog"] {
	background-color: rgba(18, 40, 80, 0.82);
}

/* Panel — subtle dot pattern bg like cart page body */
#moderncart-slide-out {
	box-shadow: -8px 0 40px rgba(27, 58, 107, 0.18);
}

#moderncart-slide-out .moderncart-panel {
	background:
		url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='3' fill='%231B3A6B' fill-opacity='0.03'/%3E%3Ccircle cx='10' cy='10' r='2' fill='%231B3A6B' fill-opacity='0.02'/%3E%3Ccircle cx='50' cy='50' r='2' fill='%231B3A6B' fill-opacity='0.02'/%3E%3C/svg%3E")
		60px repeat,
		var(--db-surface);
}


/* ================================================================
   2. HEADER — navy bar + dot pattern + gold accent
   Mirrors .db-cart-summary__header from cart page
   ================================================================ */

#moderncart-slide-out .moderncart-slide-out-header {
	border-bottom: none;
}

#moderncart-slide-out .moderncart-slide-out-header-heading {
	background:
		url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='3' fill='%23ffffff' fill-opacity='0.09'/%3E%3Ccircle cx='10' cy='10' r='2' fill='%23ffffff' fill-opacity='0.06'/%3E%3Ccircle cx='50' cy='50' r='2' fill='%23ffffff' fill-opacity='0.06'/%3E%3C/svg%3E")
		60px repeat,
		var(--db-primary-dark);
	border-bottom: 2px solid var(--db-gold);
	padding: 18px 24px !important;
}

/* Title — uppercase Lato like summary header */
#moderncart-slide-out .moderncart-slide-out-header-title span {
	font-family: var(--db-font-body) !important;
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--db-white) !important;
}

/* Close button — compact arrow, gold on hover */
#moderncart-slide-out .moderncart-slide-out-header-close {
	opacity: 0.65;
	transition: opacity 0.2s, transform 0.2s;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 32px !important;
	height: 32px !important;
	flex-shrink: 0;
	background: none !important;
	border: none !important;
	cursor: pointer;
	padding: 0 !important;
}

#moderncart-slide-out .moderncart-slide-out-header-close:hover {
	opacity: 1;
	transform: translateX(3px);
}

#moderncart-slide-out .moderncart-slide-out-header-close svg {
	color: var(--db-white) !important;
	fill: var(--db-white) !important;
	width: 22px !important;
	height: 11px !important;
	max-width: 22px !important;
	max-height: 11px !important;
}

#moderncart-slide-out .moderncart-slide-out-header-close:hover svg {
	color: var(--db-gold) !important;
	fill: var(--db-gold) !important;
}

/* Item count badge — gold pill */
#moderncart-slide-out-modal #moderncart-slide-out .moderncart-slide-out-header-quantity {
	background-color: var(--db-gold);
	color: var(--db-primary-dark);
	font-family: var(--db-font-body);
	font-weight: 700;
	font-size: 11px;
	min-width: 24px;
	height: 24px;
	border-radius: var(--db-radius-lg);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 7px;
}


/* ================================================================
   3. FREE SHIPPING BAR
   Mirrors .db-shipping-bar from cart page
   ================================================================ */

/* Header shell gets navy all the way to the top —
   free shipping bar is a child of .moderncart-slide-out-header */
#moderncart-slide-out .moderncart-slide-out-header {
	background:
		url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='3' fill='%23ffffff' fill-opacity='0.09'/%3E%3Ccircle cx='10' cy='10' r='2' fill='%23ffffff' fill-opacity='0.06'/%3E%3Ccircle cx='50' cy='50' r='2' fill='%23ffffff' fill-opacity='0.06'/%3E%3C/svg%3E")
		60px repeat,
		var(--db-primary-dark);
}

/* Shipping bar wrapper — padding only, transparent on navy */
#moderncart-slide-out .moderncart-slide-out-free-shipping-bar-wrapper {
	padding: 14px 16px 10px !important;
	background: transparent;
	border: none;
	box-shadow: none;
	margin: 0 !important;
}

/* Notification box — white/gold floating card on navy */
#moderncart-slide-out .moderncart-slide-out-free-shipping-bar-wrapper .moderncart-notification {
	background: #fffdf5;
	border: 1.5px solid var(--db-gold);
	border-left: 4px solid var(--db-gold);
	border-radius: var(--db-radius-md);
	padding: 10px 14px !important;
	font-family: var(--db-font-body);
	font-size: 13px;
	color: var(--db-text);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}

.moderncart-slide-out-free-shipping-bar-wrapper .amount {
	color: var(--db-primary) !important;
	font-weight: 700;
}

/* Progress bar — gold line on navy, below the notification box */
#moderncart-slide-out .moderncart-slide-out-free-shipping-bar-wrapper .moderncart-progress-bar {
	border-radius: 3px !important;
	overflow: hidden;
	height: 4px !important;
	margin-top: 8px;
	background: transparent !important;
}

#moderncart-slide-out .moderncart-slide-out-free-shipping-bar-wrapper .moderncart-progress-bar .moderncart-free-shipping-progress-bar {
	background: linear-gradient(90deg, var(--db-gold), var(--db-gold-hover)) !important;
	border-radius: 3px !important;
	height: 4px !important;
}

/* Success state */
.moderncart-slide-out-free-shipping-bar-wrapper--success .moderncart-notification.moderncart-is-success.moderncart-is-light {
	background: #f0faf4 !important;
	border-color: var(--db-success) !important;
	color: var(--db-primary);
	font-weight: 600;
}


/* ================================================================
   4. CART ITEMS AREA
   Mirrors .db-cart-items-card + .db-cart-item
   ================================================================ */

/* Scrollable area — white card inset */
.moderncart-slide-out-cart {
	background: transparent;
}

.moderncart-slide-out-cart .moderncart-slide-out-cart-inner {
	padding: 0 16px;
}

/* Each item — white card with gold left accent */
.moderncart-slide-out-cart .moderncart-cart-item {
	background: var(--db-white);
	border: 1px solid var(--db-border);
	border-left: 4px solid var(--db-gold);
	border-radius: var(--db-radius-md);
	margin: 8px 0;
	padding: 10px 12px !important;
	transition: box-shadow 0.25s, border-color 0.25s;
	box-shadow: 0 2px 8px rgba(27, 58, 107, 0.04);
}

.moderncart-slide-out-cart .moderncart-cart-item:hover {
	border-color: var(--db-gold);
	border-left-color: var(--db-gold);
	box-shadow: 0 4px 16px rgba(27, 58, 107, 0.10);
}

/* Remove default plugin border-bottom between items */
.moderncart-slide-out-cart .moderncart-cart-item:not(:last-child) {
	border-bottom: 1px solid var(--db-border) !important;
}

/* ── Product image ── */
.moderncart-cart-item-image {
	position: relative;
}

.moderncart-cart-item-image img {
	border-radius: var(--db-radius-sm);
	border: 1px solid var(--db-border);
	object-fit: cover;
}

/* Sale badge — gold, small & positioned neatly */
#moderncart-slide-out-modal #moderncart-slide-out .moderncart-cart-item-image .moderncart-cart-item-onsale {
	background-color: var(--db-gold) !important;
	color: var(--db-primary-dark) !important;
	font-family: var(--db-font-body) !important;
	font-weight: 700 !important;
	font-size: 8px !important;
	line-height: 1 !important;
	letter-spacing: 0.8px !important;
	text-transform: uppercase !important;
	border-radius: 3px !important;
	padding: 3px 5px !important;
	top: 4px !important;
	left: 4px !important;
	right: auto !important;
}

/* ── Product name — Playfair Display, navy ── */
.moderncart-cart-item-product-name,
.moderncart-cart-item-product-name a {
	font-family: var(--db-font-display) !important;
	color: var(--db-primary) !important;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.4;
	text-decoration: none !important;
}

.moderncart-cart-item-product-name a:hover {
	color: var(--db-accent) !important;
}

/* Variation/meta data — gold category style */
.moderncart-cart-item .moderncart-cart-item__details .variation {
	font-family: var(--db-font-body);
	font-size: 12px;
	color: var(--db-text-light);
	margin-top: 4px;
}

.moderncart-cart-item .moderncart-cart-item__details .variation dt {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 10px;
	color: var(--db-gold);
}

/* ── Price — Lato (same style as summary row values) ── */
.moderncart-plugin .moderncart-price span.woocommerce-Price-amount {
	font-family: var(--db-font-body);
	color: var(--db-primary);
	font-weight: 700;
	font-size: 0.95rem;
}

.moderncart-plugin .moderncart-price del .woocommerce-Price-amount {
	font-family: var(--db-font-body) !important;
	color: var(--db-text-light) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
}

/* Savings text — gold accent */
#moderncart-slide-out .moderncart-cart-item-actions--pricing .moderncart-saved-price {
	color: var(--db-gold) !important;
	font-family: var(--db-font-body);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.3px;
}

/* ── Remove button — subtle link style, red hover ── */
.moderncart-cart-item-actions-remove {
	display: inline-flex !important;
	align-items: center;
	gap: 4px;
	background: none !important;
	border: none !important;
	font-family: var(--db-font-body) !important;
	font-size: 11px !important;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--db-text-light) !important;
	cursor: pointer;
	padding: 4px 0 !important;
	transition: color 0.2s;
}

.moderncart-cart-item-actions-remove:hover {
	color: var(--db-error) !important;
}

.moderncart-cart-item-actions-remove svg {
	width: 12px;
	height: 12px;
	fill: currentColor !important;
	transition: fill 0.2s;
}

.moderncart-cart-item-actions-remove:hover svg {
	fill: var(--db-error) !important;
}


/* ================================================================
   5. QUANTITY STEPPER (vertical: + top, input, - bottom)
   Styled as a neat bordered column
   ================================================================ */

/* Wrapper — vertical column with border */
#moderncart-slide-out-modal .moderncart-cart-item-quantity {
	border: 1px solid var(--db-border) !important;
	border-radius: var(--db-radius-sm) !important;
	overflow: hidden;
	display: flex !important;
	flex-direction: column !important;
	width: 34px !important;
	min-width: 34px !important;
}

/* Buttons — surface bg, navy hover */
#moderncart-slide-out-modal .moderncart-cart-item-quantity button {
	background-color: var(--db-surface) !important;
	color: var(--db-text) !important;
	border: none !important;
	width: 100% !important;
	min-width: 100% !important;
	height: 28px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
	text-indent: 0 !important;
}

#moderncart-slide-out-modal .moderncart-cart-item-quantity button:hover {
	background-color: var(--db-primary) !important;
	color: var(--db-white) !important;
}

/* SVG icons inside buttons — bigger */
#moderncart-slide-out-modal .moderncart-cart-item-quantity button svg {
	width: 10px !important;
	height: 10px !important;
}

#moderncart-slide-out-modal .moderncart-cart-item-quantity button:hover svg path {
	fill: var(--db-white) !important;
}

/* Input — centered, bold */
#moderncart-slide-out-modal .moderncart-cart-item-quantity input[type="number"] {
	font-family: var(--db-font-body) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	color: var(--db-text) !important;
	background: var(--db-white) !important;
	border: none !important;
	border-top: 1px solid var(--db-border) !important;
	border-bottom: 1px solid var(--db-border) !important;
	text-align: center !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: 30px !important;
	min-height: 30px !important;
	max-height: 30px !important;
	padding: 0 !important;
	-moz-appearance: textfield !important;
}

#moderncart-slide-out-modal .moderncart-cart-item-quantity input[type="number"]::-webkit-inner-spin-button,
#moderncart-slide-out-modal .moderncart-cart-item-quantity input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none !important;
}


/* ================================================================
   6. FOOTER / SUMMARY AREA
   Mirrors .db-cart-summary from cart page
   ================================================================ */

#moderncart-slide-out .moderncart-slide-out-footer {
	background: var(--db-white);
	border-top: 1px solid var(--db-border);
	box-shadow: 0 -4px 20px rgba(27, 58, 107, 0.08);
	padding: 0 !important;
}

/* Gold accent line at top of footer */
#moderncart-slide-out .moderncart-slide-out-footer::before {
	content: '';
	display: block;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--db-gold), transparent);
	opacity: 0.4;
}

#moderncart-slide-out .moderncart-slide-out-footer .moderncart-cart-total {
	border-top: none !important;
	padding: 20px 24px !important;
}

/* Summary rows — clean typography */
#moderncart-slide-out .moderncart-slide-out-footer .moderncart-cart-line-items-item {
	color: var(--db-text);
	border-bottom: 1px solid var(--db-border) !important;
	font-family: var(--db-font-body);
	font-size: 14px;
	padding: 10px 0 !important;
}

#moderncart-slide-out .moderncart-slide-out-footer .moderncart-cart-line-items-item:last-child {
	border-bottom: none !important;
	padding-top: 14px !important;
}

#moderncart-slide-out .moderncart-slide-out-footer .moderncart-cart-line-items-item span {
	font-family: var(--db-font-body);
}

/* Total row — bigger, bolder, Playfair for value */
#moderncart-slide-out .moderncart-slide-out-footer .moderncart-cart-line-items-item:last-child .moderncart-cart-line-items-label,
#moderncart-slide-out .moderncart-slide-out-footer .moderncart-cart-line-items__total-label {
	font-weight: 700 !important;
	font-size: 15px !important;
	color: var(--db-text) !important;
}

#moderncart-slide-out .moderncart-slide-out-footer .moderncart-cart-line-items-item:last-child .moderncart-cart-line-items-value,
#moderncart-slide-out .moderncart-slide-out-footer .moderncart-cart-line-items__total-value {
	font-family: var(--db-font-display) !important;
	font-weight: 600 !important;
	font-size: 1.4rem !important;
	color: var(--db-primary) !important;
}

/* Checkout button — navy, matches .db-cart-summary__checkout */
#moderncart-slide-out .moderncart-slide-out-footer .moderncart-cart-total a.checkout-button {
	display: block !important;
	width: 100% !important;
	background-color: var(--db-primary) !important;
	color: var(--db-white) !important;
	border: 2px solid var(--db-primary) !important;
	font-family: var(--db-font-body);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-align: center;
	border-radius: 4px;
	padding: 16px 24px !important;
	margin-top: 16px;
	transition: all 0.25s;
	box-shadow: none;
}

#moderncart-slide-out .moderncart-slide-out-footer .moderncart-cart-total a.checkout-button:hover {
	background-color: var(--db-primary-dark) !important;
	border-color: var(--db-gold) !important;
	box-shadow: 0 6px 20px rgba(27, 58, 107, 0.25);
}

/* Empty cart button — same navy style */
#moderncart-slide-out .moderncart-slide-out-footer .moderncart-cart-total a.checkout-button.moderncart-empty-cart-button {
	background-color: var(--db-primary) !important;
	color: var(--db-white) !important;
	border-color: var(--db-primary) !important;
}


/* ================================================================
   7. COUPON SECTION
   Mirrors .db-coupon from cart page
   ================================================================ */

/* Coupon toggle header */
#moderncart-slide-out .moderncart-have-coupon-code-area {
	padding: 12px 24px !important;
	border-top: 1px solid var(--db-border);
}

#moderncart-slide-out .moderncart-have-coupon-code {
	font-family: var(--db-font-body);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--db-text-light);
}

/* Coupon form container */
#moderncart-slide-out #moderncart-coupon-form-container {
	padding: 0 24px 16px !important;
}

/* Input — clean border, focus accent */
#moderncart-slide-out .moderncart-slide-out-coupon-input input {
	font-family: var(--db-font-body);
	font-size: 14px;
	color: var(--db-text);
	border: 1px solid var(--db-border) !important;
	border-radius: 4px;
	padding: 10px 14px;
	transition: border-color 0.2s, box-shadow 0.2s;
}

#moderncart-slide-out .moderncart-slide-out-coupon-input input::placeholder {
	color: var(--db-text-light);
	opacity: 0.6;
}

#moderncart-slide-out .moderncart-slide-out-coupon-input input:focus {
	border-color: var(--db-accent) !important;
	box-shadow: 0 0 0 3px rgba(46, 109, 180, 0.15) !important;
	outline: none;
}

/* Button — outline style matching .db-coupon__btn */
#moderncart-slide-out .moderncart-slide-out-coupon-input button {
	background-color: var(--db-white) !important;
	border: 2px solid var(--db-primary) !important;
	border-radius: 4px !important;
	color: var(--db-primary) !important;
	font-family: var(--db-font-body);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 10px 16px;
	transition: all 0.25s;
	white-space: nowrap;
}

#moderncart-slide-out .moderncart-slide-out-coupon-input button:hover {
	background-color: var(--db-primary) !important;
	color: var(--db-white) !important;
}

/* Applied coupons */
#moderncart-slide-out .moderncart-coupons-tag {
	font-family: var(--db-font-body);
	font-size: 12px;
	border-color: var(--db-border);
}


/* ================================================================
   8. RECOMMENDATIONS
   Mirrors .db-cart-crosssell from cart page
   ================================================================ */

#moderncart-slide-out .moderncart-slide-out-recommendations {
	border-top: 1px solid var(--db-border) !important;
	padding: 20px 16px !important;
	background: var(--db-white);
	margin: 0 16px 12px;
	border-radius: var(--db-radius-md);
	border: 1px solid var(--db-border) !important;
}

/* Header — gold eyebrow like .db-reco-eyebrow */
.moderncart-slide-out-recommendations-header {
	font-family: var(--db-font-body) !important;
	font-weight: 700 !important;
	font-size: 10px !important;
	letter-spacing: 2.5px !important;
	text-transform: uppercase !important;
	color: var(--db-gold) !important;
	text-align: center;
	padding-bottom: 12px !important;
	margin-bottom: 4px !important;
	border-bottom: 1px solid var(--db-border);
}

/* Recommendation product name */
.moderncart-slide-out-recommendations .moderncart-cart-item-product-link a {
	font-family: var(--db-font-display) !important;
	color: var(--db-primary) !important;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.3;
}

.moderncart-slide-out-recommendations .moderncart-cart-item-product-link a:hover {
	color: var(--db-accent) !important;
}

/* Recommendation price */
.moderncart-slide-out-recommendations .moderncart-cart-item-product-price {
	font-family: var(--db-font-display) !important;
	color: var(--db-primary) !important;
	font-weight: 500;
}

/* Recommendation image */
.moderncart-slide-out-recommendations .moderncart-cart-item-recommended-image img {
	border-radius: var(--db-radius-sm);
	border: 1px solid var(--db-border);
}

/* Add button — navy, matches .db-product-card__add */
.moderncart-slide-out-recommendations .moderncart-btn-upsell {
	background-color: var(--db-primary) !important;
	border: 2px solid var(--db-primary) !important;
	color: var(--db-white) !important;
	font-family: var(--db-font-body);
	font-weight: 700;
	font-size: 10px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	border-radius: 4px;
	padding: 8px 14px !important;
	transition: all 0.25s;
}

.moderncart-slide-out-recommendations .moderncart-btn-upsell:hover {
	background-color: var(--db-primary-dark) !important;
	border-color: var(--db-gold) !important;
}

/* Splide arrows */
#moderncart-slide-out-modal .splide__arrow--prev,
#moderncart-slide-out-modal .splide__arrow--next {
	background-color: var(--db-white);
	border: 1px solid var(--db-border);
	transition: all 0.2s;
}

#moderncart-slide-out-modal .splide__arrow--prev:hover,
#moderncart-slide-out-modal .splide__arrow--next:hover {
	border-color: var(--db-primary);
	background-color: var(--db-surface);
}

/* Splide pagination dots */
#moderncart-slide-out-modal .splide__pagination__page {
	background-color: var(--db-border);
}

#moderncart-slide-out-modal .splide__pagination__page.is-active {
	background-color: var(--db-gold);
}


/* ================================================================
   9. EMPTY CART STATE
   Mirrors .db-cart-empty from cart page
   ================================================================ */

.moderncart-slide-out-cart .moderncart-empty-cart {
	text-align: center;
	padding: 48px 24px !important;
}

.moderncart-slide-out-cart .moderncart-empty-cart span {
	font-family: var(--db-font-display);
	color: var(--db-primary);
	font-weight: 600;
	font-size: 1.3rem;
	display: block;
	margin-bottom: 12px;
}

.moderncart-slide-out-cart .moderncart-empty-cart p {
	font-family: var(--db-font-body);
	color: var(--db-text-light);
	font-size: 14px;
	line-height: 1.6;
}

/* Empty cart recommendations wrapper */
.moderncart-slide-out-empty-cart-recommendations {
	padding: 0 16px;
}

.moderncart-slide-out-empty-cart-recommendations .moderncart-slide-out-empty-cart-recommendations-inner {
	background: var(--db-white);
	border: 1px solid var(--db-border);
	border-radius: var(--db-radius-md);
	padding: 24px 20px;
}

.moderncart-slide-out-empty-cart-recommendations .moderncart-slide-out-empty-cart-recommendations-title {
	font-family: var(--db-font-display) !important;
	color: var(--db-primary) !important;
	font-weight: 600;
	font-size: 1.1rem;
	text-align: center;
	margin-bottom: 16px !important;
}

.moderncart-slide-out-empty-cart-recommendations .moderncart-cart-item-product-link a {
	font-family: var(--db-font-display) !important;
	color: var(--db-primary) !important;
}

.moderncart-slide-out-empty-cart-recommendations .moderncart-btn-upsell.moderncart-button {
	background-color: var(--db-primary) !important;
	color: var(--db-white) !important;
	font-family: var(--db-font-body);
	font-weight: 700;
	font-size: 10px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	border-radius: 4px;
	border: 2px solid var(--db-primary) !important;
	transition: all 0.25s;
}

.moderncart-slide-out-empty-cart-recommendations .moderncart-btn-upsell.moderncart-button:hover {
	background-color: var(--db-primary-dark) !important;
	border-color: var(--db-gold) !important;
}

.moderncart-slide-out-empty-cart-recommendations .moderncart-cart-item-recommended-image img {
	border-radius: var(--db-radius-sm);
}


/* ================================================================
   10. NOTICES / MESSAGES
   ================================================================ */

#moderncart-slide-out .moderncart-slide-out-notices-wrapper {
	padding: 0 16px;
}

#moderncart-slide-out .moderncart-slide-out-notices-wrapper .moderncart-notification {
	border-radius: var(--db-radius-sm);
	font-family: var(--db-font-body);
	font-size: 13px;
}


/* ================================================================
   11. SPINNER
   ================================================================ */

.moderncart-cart-item-spinner {
	border-top-color: var(--db-gold) !important;
}


/* ================================================================
   12. POWERED BY
   ================================================================ */

.moderncart-powered-by {
	padding: 8px 24px !important;
}

.moderncart-powered-by a {
	color: var(--db-text-light) !important;
	font-size: 10px;
	opacity: 0.5;
}


/* ================================================================
   13. STYLE 2 ORDER SUMMARY SPECIFICS
   ================================================================ */

#moderncart-slide-out .moderncart-order-summary-style-style2 h3 {
	font-family: var(--db-font-body) !important;
	font-weight: 700 !important;
	font-size: 11px !important;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--db-text-light) !important;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--db-border);
}

#moderncart-slide-out .moderncart-order-summary-style-style2 .moderncart-order-summary-item label {
	font-family: var(--db-font-body);
	font-size: 13px;
	color: var(--db-text-light);
}

#moderncart-slide-out .moderncart-order-summary-style-style2 .moderncart-order-summary-item span {
	font-family: var(--db-font-body);
	color: var(--db-text);
}

#moderncart-slide-out .moderncart-order-summary-style-style2 .moderncart-have-coupon-code-area .moderncart-have-coupon-code {
	color: var(--db-primary);
}

#moderncart-slide-out .moderncart-order-summary-style-style2 #moderncart-coupon-form-container .moderncart-slide-out-coupon-form-button {
	color: var(--db-gold);
}

#moderncart-slide-out .moderncart-order-summary-style-style2 .moderncart-order-summary-items {
	border-bottom-color: var(--db-border);
}


/* ================================================================
   14. RESPONSIVE
   ================================================================ */

@media (max-width: 480px) {
	/* Full-width panel on phones */
	#moderncart-slide-out-modal {
		--moderncart-slide-out-desktop-width: 100vw;
	}

	/* Bigger qty buttons for touch */
	#moderncart-slide-out-modal .moderncart-cart-item-quantity {
		width: 40px !important;
		min-width: 40px !important;
	}

	#moderncart-slide-out-modal .moderncart-cart-item-quantity button {
		height: 36px !important;
	}

	#moderncart-slide-out-modal .moderncart-cart-item-quantity button svg {
		width: 12px !important;
		height: 12px !important;
	}

	#moderncart-slide-out-modal .moderncart-cart-item-quantity input[type="number"] {
		height: 36px !important;
		min-height: 36px !important;
		max-height: 36px !important;
		font-size: 14px !important;
	}

	/* Bigger remove button hit area */
	.moderncart-cart-item-actions-remove {
		min-width: 44px;
		min-height: 44px;
		display: flex !important;
		align-items: center;
		justify-content: center;
	}

	/* Product images slightly bigger */
	#moderncart-slide-out .moderncart-cart-item-image img {
		width: 72px !important;
		height: 72px !important;
	}

	/* Checkout button: full-width, proper tap target */
	#moderncart-slide-out .moderncart-checkout-button {
		min-height: 48px;
		font-size: 13px !important;
	}
}


/* ================================================================
   15. CHECKOUT BUTTON — broader selectors (plugin renders various tags)
   ================================================================ */

#moderncart-slide-out a[href*="checkout"],
#moderncart-slide-out button[class*="checkout"],
#moderncart-slide-out .moderncart-checkout-btn,
#moderncart-slide-out .moderncart-cart-total a,
#moderncart-slide-out .moderncart-cart-total button:not([class*="coupon"]):not([class*="remove"]) {
	background-color: var(--db-primary) !important;
	background-image: none !important;
	border: 2px solid var(--db-primary) !important;
	color: var(--db-white) !important;
	font-family: var(--db-font-body) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	border-radius: 4px !important;
	transition: background-color 0.25s, border-color 0.25s, box-shadow 0.25s !important;
}

#moderncart-slide-out a[href*="checkout"]:hover,
#moderncart-slide-out button[class*="checkout"]:hover,
#moderncart-slide-out .moderncart-checkout-btn:hover,
#moderncart-slide-out .moderncart-cart-total a:hover,
#moderncart-slide-out .moderncart-cart-total button:not([class*="coupon"]):not([class*="remove"]):hover {
	background-color: var(--db-primary-dark) !important;
	border-color: var(--db-gold) !important;
	box-shadow: 0 6px 20px rgba(27, 58, 107, 0.25) !important;
}


/* ================================================================
   16. HIDE PAYPAL EXPRESS BUTTON in side cart
   Both PPCP plugin selectors and the CPSW payment-request wrapper
   ================================================================ */

#moderncart-slide-out [class*="ppcp"],
#moderncart-slide-out [id*="ppcp"],
#moderncart-slide-out [id*="ppc-button"],
#moderncart-slide-out div[id^="paypal"],
#moderncart-slide-out [class*="paypal-button"],
#moderncart-slide-out .payment-button-container,
#moderncart-slide-out [data-paypal-button],
#moderncart-slide-out #cpsw-payment-request-wrapper,
#moderncart-slide-out .moderncart-payment-request-separator,
#moderncart-slide-out [class*="payment-request"] {
	display: none !important;
}
