/* WS Food Ordering: WoodMart's side bag ("Shopping bag" flyout), in the Snappy Bites design. Loaded on every page. */
.cart-widget-side {
	--f-accent: var(--wsfo-accent, #9B1111); --f-gold: var(--wsfo-gold, #F8B30F);
	--f-ink: #1D1A17; --f-muted: #6B635A; --f-line: #ECDCC6; --f-sunk: #F7EDDF; --f-cream: #FFF8EE;
	font-family: Montserrat, -apple-system, "Segoe UI", system-ui, sans-serif; color: var(--f-ink); background: #fff;
}
.cart-widget-side .wd-heading { padding: 18px 20px !important; border-bottom: 1px solid var(--f-line) !important; background: var(--f-cream); }
.cart-widget-side .wd-heading .title { font: 800 20px "Bricolage Grotesque", Montserrat, sans-serif !important; letter-spacing: -.01em; text-transform: none !important; color: var(--f-ink) !important; }
.cart-widget-side .close-side-widget a { color: var(--f-muted) !important; font-weight: 600; text-transform: none !important; letter-spacing: normal !important; }
.cart-widget-side .close-side-widget a:hover { color: var(--f-accent) !important; }

/* dish rows */
.cart-widget-side .woocommerce-mini-cart { padding: 4px 20px !important; margin: 0; }
.cart-widget-side .woocommerce-mini-cart-item {
	position: relative; display: grid !important; grid-template-columns: 64px minmax(0, 1fr) 30px; align-items: center; gap: 12px;
	padding: 14px 0 !important; border-bottom: 1px solid var(--f-line) !important; margin: 0 !important;
}
.cart-widget-side .woocommerce-mini-cart-item .cart-item-image { grid-column: 1; grid-row: 1; margin: 0 !important; }
.cart-widget-side .woocommerce-mini-cart-item .cart-item-image img { width: 64px !important; height: 64px !important; object-fit: cover; border-radius: 14px; display: block; margin: 0 !important; float: none !important; }
.cart-widget-side .woocommerce-mini-cart-item .cart-info { grid-column: 2; grid-row: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; padding: 0 !important; }
.cart-widget-side .woocommerce-mini-cart-item .wd-entities-title { font-weight: 700 !important; font-size: 15px !important; color: var(--f-ink) !important; text-transform: none !important; }
.cart-widget-side .woocommerce-mini-cart-item .quantity { color: var(--f-muted) !important; font-size: 13.5px !important; font-weight: 600; }
.cart-widget-side .woocommerce-mini-cart-item .quantity .amount { color: var(--f-ink) !important; font-weight: 700; }
.cart-widget-side .woocommerce-mini-cart-item dl.variation { margin: 0; color: var(--f-muted); font-size: 12.5px; }
.cart-widget-side .woocommerce-mini-cart-item a.remove {
	grid-column: 3; grid-row: 1; position: static !important; width: 30px !important; height: 30px !important; border-radius: 50% !important;
	display: grid !important; place-items: center; background: var(--f-sunk) !important; color: var(--f-muted) !important; font-size: 17px !important; line-height: 1 !important; border: 0 !important;
}
/* WoodMart draws its own × icon (::after) next to WooCommerce's text ×: keep one, centred. */
.cart-widget-side .woocommerce-mini-cart-item a.remove { font-size: 0 !important; }
.cart-widget-side .woocommerce-mini-cart-item a.remove::before { display: none !important; }
.cart-widget-side .woocommerce-mini-cart-item a.remove::after { font-size: 11px !important; line-height: 1 !important; margin: 0 !important; position: static !important; color: inherit !important; }
.cart-widget-side .woocommerce-mini-cart-item a.remove:hover { background: color-mix(in srgb, var(--f-accent) 14%, #fff) !important; color: var(--f-accent) !important; }
.cart-widget-side .woocommerce-mini-cart-item .cart-item-link { z-index: 0; }

/* footer: subtotal + buttons */
.cart-widget-side .shopping-cart-widget-footer { padding: 16px 20px 20px !important; border-top: 1px solid var(--f-line); background: #fff; }
.cart-widget-side .woocommerce-mini-cart__total {
	display: flex !important; justify-content: space-between; align-items: baseline; margin: 0 0 14px !important; padding: 0 !important; border: 0 !important;
	font-size: 15px; color: var(--f-muted); font-variant-numeric: tabular-nums;
}
.cart-widget-side .woocommerce-mini-cart__total strong { font-weight: 600; color: var(--f-muted); }
.cart-widget-side .woocommerce-mini-cart__total .amount { font: 800 20px Montserrat, sans-serif; color: var(--f-ink) !important; }
.cart-widget-side .woocommerce-mini-cart__buttons { display: flex !important; flex-direction: column-reverse; gap: 8px; margin: 0 !important; }
.cart-widget-side .woocommerce-mini-cart__buttons .button {
	display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 50px; margin: 0 !important; border-radius: 12px !important;
	font: 700 15.5px Montserrat, sans-serif !important; text-transform: none !important; letter-spacing: normal !important; box-shadow: none !important;
}
.cart-widget-side .woocommerce-mini-cart__buttons .button.checkout { background: var(--f-accent) !important; color: #fff !important; border: 0 !important; }
.cart-widget-side .woocommerce-mini-cart__buttons .button.checkout:hover { filter: brightness(1.08); }
.cart-widget-side .woocommerce-mini-cart__buttons .button.btn-cart { background: #fff !important; color: var(--f-ink) !important; border: 1px solid var(--f-line) !important; }
.cart-widget-side .woocommerce-mini-cart__buttons .button.btn-cart:hover { border-color: var(--f-ink) !important; }

/* empty bag: takeaway bag instead of the crossed-out cart, normal-case button */
.cart-widget-side .woocommerce-mini-cart__empty-message, .cart-widget-side .wd-empty-mini-cart .title {
	font: 700 17px Montserrat, sans-serif !important; color: var(--f-ink) !important; text-transform: none !important; letter-spacing: normal !important;
}
.cart-widget-side .wd-empty-mini-cart::before { display: none !important; } /* WoodMart's own icon: one bag only (drawn on the title) */
.cart-widget-side .woocommerce-mini-cart__empty-message::before, .cart-widget-side .wd-empty-mini-cart .title::before {
	content: "" !important; display: block; width: 72px; height: 72px; margin: 0 auto 16px; font-size: 0 !important;
	background-color: color-mix(in srgb, var(--f-accent) 24%, transparent);
	-webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.8 8.2h14.4l-1.1 11.6a1.4 1.4 0 0 1-1.4 1.2H7.3a1.4 1.4 0 0 1-1.4-1.2z'/%3E%3Cpath d='M8.8 10.6V7a3.2 3.2 0 0 1 6.4 0v3.6'/%3E%3Cpath d='M9.5 15.2h5'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.8 8.2h14.4l-1.1 11.6a1.4 1.4 0 0 1-1.4 1.2H7.3a1.4 1.4 0 0 1-1.4-1.2z'/%3E%3Cpath d='M8.8 10.6V7a3.2 3.2 0 0 1 6.4 0v3.6'/%3E%3Cpath d='M9.5 15.2h5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.cart-widget-side .wd-empty-mini-cart .btn, .cart-widget-side .woocommerce-mini-cart__empty-message + p .button, .cart-widget-side a.wc-backward, .cart-widget-side .btn.btn-accent {
	min-height: 48px; padding: 0 22px !important; border-radius: 12px !important; background: var(--f-accent) !important; color: #fff !important; border: 0 !important;
	font: 700 15px Montserrat, sans-serif !important; text-transform: none !important; letter-spacing: normal !important; box-shadow: none !important;
	display: inline-flex !important; align-items: center;
}

/* ---------- WoodMart's "Sign in" side panel ---------- */
.login-form-side {
	--f-accent: var(--wsfo-accent, #9B1111); --f-gold: var(--wsfo-gold, #F8B30F);
	--f-ink: #1D1A17; --f-muted: #6B635A; --f-line: #ECDCC6; --f-sunk: #F7EDDF; --f-cream: #FFF8EE;
	font-family: Montserrat, -apple-system, "Segoe UI", system-ui, sans-serif !important; color: var(--f-ink); background: var(--f-cream) !important;
}
.login-form-side .wd-heading { border: 0 !important; padding: 22px 22px 6px !important; }
.login-form-side .wd-heading .title { font: 800 26px/1.1 "Bricolage Grotesque", Montserrat, sans-serif !important; letter-spacing: -.01em; text-transform: none !important; color: var(--f-ink) !important; }
.login-form-side .wd-heading { flex-wrap: wrap !important; }
.login-form-side .wd-heading::after { flex: 0 0 100%; order: 3; content: "Order faster, track live and reorder your favourites."; display: block; font: 500 14px/1.45 Montserrat, sans-serif; color: var(--f-muted); margin-top: 6px; }
.login-form-side .close-side-widget a, .login-form-side .wd-action-btn > a { color: var(--f-muted) !important; font-weight: 600 !important; text-transform: none !important; }
.login-form-side .woocommerce-form-login { margin: 14px 18px !important; padding: 20px !important; background: #fff; border-radius: 18px; border: 1px solid var(--f-line) !important; box-shadow: 0 6px 20px rgba(29,26,23,.06); }
.login-form-side .woocommerce-form-login label { font-weight: 600 !important; font-size: 13.5px !important; color: var(--f-ink) !important; }
.login-form-side .woocommerce-form-login .required { color: var(--f-accent) !important; }
.login-form-side input.input-text, .login-form-side input[type="text"], .login-form-side input[type="email"], .login-form-side input[type="password"] {
	height: 48px !important; border: 1px solid var(--f-line) !important; border-radius: 12px !important; background: var(--f-cream) !important; padding: 0 14px !important; font: 500 15px Montserrat, sans-serif !important; color: var(--f-ink) !important; box-shadow: none !important;
}
.login-form-side input:focus { border-color: var(--f-accent) !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(155,17,17,.12) !important; outline: 0; }
.login-form-side .woocommerce-form-login__submit, .login-form-side button[name="login"] {
	width: 100%; height: 50px !important; border-radius: 99px !important; background: var(--f-accent) !important; color: #fff !important; font: 700 15px Montserrat, sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: 0 8px 18px rgba(155,17,17,.22) !important; transition: transform .15s, filter .15s;
}
.login-form-side .woocommerce-form-login__submit:hover { filter: brightness(1.08); transform: translateY(-1px); }
.login-form-side .login-form-footer { font-size: 13.5px; }
.login-form-side .woocommerce-form-login__rememberme { font-weight: 500 !important; }
.login-form-side input[type="checkbox"] { accent-color: var(--f-accent); }
.login-form-side .lost_password, .login-form-side .lost_password a { color: var(--f-accent) !important; font-weight: 600; }
.login-form-side .create-account-question { margin: 6px 18px 18px !important; padding: 20px !important; border: 1px dashed var(--f-line) !important; border-radius: 18px; background: var(--f-sunk); text-align: center; }
.login-form-side .create-account-question::before { content: "🍲"; font-size: 30px; display: block; background: none !important; width: auto !important; height: auto !important; margin: 0 0 6px !important; mask: none !important; -webkit-mask: none !important; }
.login-form-side .create-account-question p { font-weight: 700 !important; color: var(--f-ink) !important; }
.login-form-side .create-account-button, .login-form-side .create-account-question a {
	display: inline-block; border: 1.5px solid var(--f-ink) !important; border-radius: 99px !important; padding: 10px 22px !important; color: var(--f-ink) !important; font: 700 14px Montserrat, sans-serif !important; text-transform: none !important; text-decoration: none !important; letter-spacing: 0 !important; background: #fff;
}
.login-form-side .create-account-button::after, .login-form-side .create-account-question a::after { display: none !important; }
.login-form-side .create-account-button:hover { background: var(--f-ink) !important; color: #fff !important; }

/* ---------- WoodMart's account dropdown login (header "My account" icon) ---------- */
.wd-dropdown-register {
	--f-accent: var(--wsfo-accent, #9B1111); --f-ink: #1D1A17; --f-muted: #6B635A; --f-line: #ECDCC6; --f-sunk: #F7EDDF; --f-cream: #FFF8EE;
	width: 340px !important; padding: 0 !important; border: 1px solid var(--f-line) !important; border-radius: 20px !important; overflow: hidden;
	background: var(--f-cream) !important; box-shadow: 0 18px 44px rgba(29, 26, 23, .16) !important; font-family: Montserrat, -apple-system, "Segoe UI", system-ui, sans-serif;
}
.wd-dropdown-register .login-dropdown-inner { padding: 20px 20px 18px !important; }
.wd-dropdown-register .wd-heading { display: flex; justify-content: space-between; align-items: center; border: 0 !important; padding: 0 0 4px !important; margin: 0 0 14px !important; }
.wd-dropdown-register .wd-heading .title { font: 800 22px/1.15 "Bricolage Grotesque", Montserrat, sans-serif !important; color: var(--f-ink) !important; text-transform: none !important; letter-spacing: -.01em; }
.wd-dropdown-register .create-account-link { font: 700 13px Montserrat, sans-serif !important; color: var(--f-accent) !important; background: #fff; border: 1px solid var(--f-line); border-radius: 99px; padding: 6px 12px; text-transform: none !important; text-decoration: none !important; }
.wd-dropdown-register .create-account-link:hover { background: var(--f-accent); color: #fff !important; border-color: var(--f-accent); }
.wd-dropdown-register .woocommerce-form-login { margin: 0 !important; padding: 16px !important; background: #fff; border: 1px solid var(--f-line) !important; border-radius: 16px; box-shadow: 0 4px 14px rgba(29, 26, 23, .05); }
.wd-dropdown-register .form-row { margin: 0 0 12px !important; padding: 0 !important; }
.wd-dropdown-register label { font: 600 13px Montserrat, sans-serif !important; color: var(--f-ink) !important; margin-bottom: 5px !important; }
.wd-dropdown-register .required { color: var(--f-accent) !important; }
.wd-dropdown-register input.input-text, .wd-dropdown-register input[type="text"], .wd-dropdown-register input[type="password"] {
	height: 46px !important; border: 1px solid var(--f-line) !important; border-radius: 12px !important; background: var(--f-cream) !important;
	padding: 0 14px !important; font: 500 15px Montserrat, sans-serif !important; color: var(--f-ink) !important; box-shadow: none !important;
}
.wd-dropdown-register input:focus { border-color: var(--f-accent) !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(155, 17, 17, .12) !important; outline: 0; }
.wd-dropdown-register .woocommerce-form-login__submit, .wd-dropdown-register button[name="login"] {
	width: 100%; height: 48px !important; border-radius: 99px !important; background: var(--f-accent) !important; color: #fff !important;
	font: 700 15px Montserrat, sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: 0 8px 18px rgba(155, 17, 17, .22) !important; transition: transform .15s, filter .15s;
}
.wd-dropdown-register .woocommerce-form-login__submit:hover { filter: brightness(1.08); transform: translateY(-1px); }
.wd-dropdown-register .login-form-footer { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; gap: 10px; margin: 2px 0 0 !important; font-size: 13px; }
.wd-dropdown-register .woocommerce-form-login__rememberme { font: 500 13px Montserrat, sans-serif !important; color: var(--f-muted) !important; margin: 0 !important; }
.wd-dropdown-register input[type="checkbox"] { accent-color: var(--f-accent); }
.wd-dropdown-register .lost_password { color: var(--f-accent) !important; font-weight: 700; text-decoration: none !important; }
.wd-dropdown-register .show-password-input { right: 12px !important; }

/* Same wording / button look in WoodMart's side panel login */
.login-form-side .create-account-link { color: var(--f-accent) !important; }
.wd-dropdown-register .wd-heading .title, .wd-dropdown-register .create-account-link { margin: 0 !important; line-height: 1.2 !important; }
.wd-dropdown-register .login-form-footer { flex-wrap: nowrap !important; }
.wd-dropdown-register .login-form-footer > * { width: auto !important; flex: 0 0 auto; margin: 0 !important; }
.wd-dropdown-register .woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center; gap: 6px; }
.wd-dropdown-register .login-form-footer { flex-direction: row !important; justify-content: space-between !important; gap: 8px; font-size: 12.5px; }
.wd-dropdown-register .login-form-footer .woocommerce-form-login__rememberme { order: 0; font-size: 12.5px !important; }
.wd-dropdown-register .login-form-footer .lost_password { order: 1; font-size: 12.5px; white-space: nowrap; }
