/*
Theme Name: Liquor Drop
Theme URI: https://liquordrop.biz/
Author: Liquor Drop
Description: Storefront theme for Liquor Drop, a local alcohol-delivery marketplace. Works with WooCommerce, HivePress listings and Dokan stores. Pair it with the Liquor Drop Delivery plugin for fees, ID checks at the door, and store and driver applications.
Version: 1.0.2
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: liquordrop
Tags: e-commerce, custom-logo, custom-menu, featured-images, two-columns
WC requires at least: 8.0
WC tested up to: 11.2
*/

/* ---------- Tokens ---------- */
:root {
	--ld-glass: #123d33;       /* bottle green: brand, header, footer */
	--ld-glass-2: #1b5244;     /* lighter glass for hovers */
	--ld-amber: #e9a23b;       /* amber label: primary action */
	--ld-amber-2: #d48d22;
	--ld-ink: #1c2422;         /* body text */
	--ld-ink-2: #4c5754;       /* secondary text */
	--ld-mist: #eef2ef;        /* quiet section background */
	--ld-line: #d5ddd9;        /* borders */
	--ld-paper: #ffffff;
	--ld-alert: #b4442c;       /* errors, refusals */
	--ld-ok: #2f7a4f;

	--ld-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
	--ld-body: "Public Sans", "Segoe UI", system-ui, sans-serif;

	--ld-wrap: 1180px;
	--ld-gutter: clamp(16px, 4vw, 32px);
	--ld-radius-lg: 18px;
	--ld-radius: 10px;
	--ld-radius-sm: 6px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	margin: 0;
	background: var(--ld-paper);
	color: var(--ld-ink);
	font-family: var(--ld-body);
	font-size: 17px;
	line-height: 1.6;
}
img { max-width: 100%; height: auto; }
a { color: var(--ld-glass); text-underline-offset: 3px; }
a:hover { color: var(--ld-glass-2); }
:focus-visible { outline: 3px solid var(--ld-amber); outline-offset: 2px; border-radius: 4px; }

h1, h2, h3, h4 {
	font-family: var(--ld-display);
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin: 0 0 0.5em;
	color: var(--ld-ink);
}
h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); font-weight: 800; }
h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 700; }
h3 { font-size: 1.25rem; font-weight: 700; }
p { margin: 0 0 1em; }

.ld-wrap { max-width: var(--ld-wrap); margin: 0 auto; padding: 0 var(--ld-gutter); width: 100%; }
#ld-content { flex: 1 0 auto; }
.ld-wrap .ld-content .alignwide, .ld-wrap .ld-content .alignfull,
.ld-content > .wp-block-woocommerce-cart, .ld-content > .wp-block-woocommerce-checkout {
	max-width: none; margin-left: 0; margin-right: 0; width: auto;
}
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px); position: absolute !important;
	height: 1px; width: 1px; overflow: hidden; word-wrap: normal !important;
}
.screen-reader-text:focus {
	clip: auto; height: auto; width: auto; display: block; z-index: 100000;
	top: 8px; left: 8px; padding: 12px 18px; background: var(--ld-paper); color: var(--ld-ink);
}

/* ---------- Buttons ---------- */
.ld-btn,
.button, button.button, a.button, input[type="submit"],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 46px; padding: 10px 22px;
	border: 0; border-radius: 999px;
	background: var(--ld-amber); color: var(--ld-ink);
	font-family: var(--ld-body); font-size: 1rem; font-weight: 700; line-height: 1.2;
	text-decoration: none; cursor: pointer;
	transition: background-color .15s ease;
}
.ld-btn:hover,
.button:hover, a.button:hover, button.button:hover, input[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
	background: var(--ld-amber-2); color: var(--ld-ink);
}
.ld-btn--ghost { background: transparent; color: var(--ld-glass); box-shadow: inset 0 0 0 2px var(--ld-glass); }
.ld-btn--ghost:hover { background: var(--ld-glass); color: #fff; }
.ld-btn--light { background: #fff; color: var(--ld-glass); }
.ld-btn--light:hover { background: var(--ld-mist); color: var(--ld-glass); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #place_order { background: var(--ld-glass); color: #fff; }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #place_order:hover { background: var(--ld-glass-2); color: #fff; }
.woocommerce .button:disabled, .woocommerce .button.disabled { opacity: .55; }

/* ---------- Forms ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"],
input[type="search"], input[type="number"], input[type="date"], input[type="time"], select, textarea {
	width: 100%; min-height: 46px; padding: 10px 14px;
	border: 1.5px solid var(--ld-line); border-radius: var(--ld-radius);
	background: #fff; color: var(--ld-ink);
	font: inherit; font-size: 1rem;
}
textarea { min-height: 120px; }
input:focus, select:focus, textarea:focus { border-color: var(--ld-glass); outline: none; box-shadow: 0 0 0 3px rgba(18,61,51,.15); }
label { font-weight: 600; }

/* ---------- Top notice ---------- */
.ld-notice-bar {
	background: var(--ld-ink); color: #dfe7e3;
	font-size: .86rem; text-align: center; padding: 7px var(--ld-gutter);
}
.ld-notice-bar a { color: #fff; }

/* ---------- Header ---------- */
.ld-header { background: var(--ld-glass); color: #fff; position: sticky; top: 0; z-index: 50; }
.admin-bar .ld-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ld-header { top: 0; position: relative; } }
.ld-header__bar { display: flex; align-items: center; gap: 24px; min-height: 72px; }
.ld-brand { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; margin-right: auto; }
.ld-brand:hover { color: #fff; }
.ld-brand img { max-height: 48px; width: auto; }
.ld-brand__mark { width: 30px; height: 36px; flex: none; }
.ld-brand__name { font-family: var(--ld-display); font-weight: 800; font-size: 1.45rem; letter-spacing: -0.02em; }
.ld-brand__name span { color: var(--ld-amber); }

.ld-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.ld-nav a { display: block; padding: 10px 14px; border-radius: 999px; color: #e7eeea; text-decoration: none; font-weight: 600; font-size: .98rem; }
.ld-nav a:hover, .ld-nav .current-menu-item > a, .ld-nav .current_page_item > a { background: rgba(255,255,255,.1); color: #fff; }
.ld-nav .sub-menu { display: none; }

.ld-header__tools { display: flex; align-items: center; gap: 6px; }
.ld-icon-link {
	position: relative; display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 999px; color: #fff; text-decoration: none;
}
.ld-icon-link:hover { background: rgba(255,255,255,.1); color: #fff; }
.ld-icon-link svg { width: 22px; height: 22px; }
.ld-cart-count {
	position: absolute; top: 3px; right: 1px; min-width: 19px; height: 19px; padding: 0 5px;
	border-radius: 999px; background: var(--ld-amber); color: var(--ld-ink);
	font-size: .72rem; font-weight: 800; line-height: 19px; text-align: center;
}
.ld-menu-toggle { display: none; background: none; border: 0; color: #fff; width: 44px; height: 44px; border-radius: 999px; cursor: pointer; }
.ld-menu-toggle svg { width: 24px; height: 24px; }

@media (max-width: 900px) {
	.ld-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
	.ld-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--ld-glass); border-top: 1px solid rgba(255,255,255,.12); padding: 8px var(--ld-gutter) 16px; }
	.ld-nav.is-open { display: block; }
	.ld-nav ul { flex-direction: column; }
	.ld-nav a { border-radius: var(--ld-radius); padding: 12px 14px; }
	.ld-header__bar { gap: 8px; }
}

/* ---------- Hero ---------- */
.ld-hero { background: var(--ld-glass); color: #fff; overflow: hidden; }
.ld-hero__grid {
	display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	gap: clamp(32px, 5vw, 72px); align-items: center;
	padding-top: clamp(40px, 7vw, 88px); padding-bottom: clamp(48px, 8vw, 104px);
}
.ld-hero h1 { color: #fff; max-width: 13ch; margin-bottom: .35em; }
.ld-hero__lede { color: #cfdcd6; font-size: 1.15rem; max-width: 46ch; margin-bottom: 28px; }

.ld-address {
	display: flex; gap: 8px; padding: 8px; max-width: 560px;
	background: #fff; border-radius: 999px;
	box-shadow: 0 0 0 6px rgba(255,255,255,.08);
}
.ld-address label { flex: 1; display: flex; align-items: center; gap: 10px; padding-left: 14px; color: var(--ld-ink-2); font-weight: 500; }
.ld-address svg { width: 20px; height: 20px; flex: none; color: var(--ld-glass); }
.ld-address input[type="text"] { border: 0; min-height: 44px; padding: 8px 0; box-shadow: none; }
.ld-address input[type="text"]:focus { box-shadow: none; }
.ld-address .ld-btn { flex: none; }
.ld-hero__area { margin-top: 14px; color: #a9bdb4; font-size: .95rem; }
.ld-hero__area strong { color: #fff; font-weight: 600; }

@media (max-width: 600px) {
	.ld-address { flex-direction: column; border-radius: var(--ld-radius-lg); }
	.ld-address label { padding: 0 6px; }
	.ld-address .ld-btn { width: 100%; }
}

/* The receipt: the hero's one memorable element. It shows the full total before checkout. */
.ld-receipt {
	position: relative; justify-self: center; width: 100%; max-width: 360px;
	background: #fbfaf5; color: var(--ld-ink);
	padding: 26px 26px 34px;
	border-radius: 4px 4px 0 0;
	transform: rotate(2.5deg);
	box-shadow: 0 24px 48px rgba(0,0,0,.28);
	font-size: .95rem;
}
.ld-receipt::after { /* torn bottom edge */
	content: ""; position: absolute; left: 0; right: 0; bottom: -12px; height: 12px;
	background:
		linear-gradient(135deg, #fbfaf5 6px, transparent 0) 0 0 / 12px 12px repeat-x,
		linear-gradient(225deg, #fbfaf5 6px, transparent 0) 0 0 / 12px 12px repeat-x;
}
.ld-receipt__store { font-family: var(--ld-display); font-weight: 700; font-size: 1.15rem; margin: 0 0 2px; }
.ld-receipt__meta { color: var(--ld-ink-2); font-size: .85rem; margin: 0 0 16px; }
.ld-receipt__rows { list-style: none; margin: 0; padding: 14px 0; border-top: 1.5px dashed #c9cfc8; border-bottom: 1.5px dashed #c9cfc8; }
.ld-receipt__rows li { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; }
.ld-receipt__rows .is-fee { color: var(--ld-ink-2); }
.ld-receipt__total { display: flex; justify-content: space-between; padding-top: 14px; font-family: var(--ld-display); font-weight: 800; font-size: 1.35rem; }
.ld-receipt__stamp {
	margin-top: 18px; display: inline-flex; align-items: center; gap: 8px;
	border: 2px solid var(--ld-glass); color: var(--ld-glass); border-radius: 6px;
	padding: 5px 10px; font-weight: 700; font-size: .82rem; transform: rotate(-3deg);
}
.ld-receipt__stamp svg { width: 16px; height: 16px; }
.ld-receipt__note { margin: 12px 0 0; font-size: .8rem; color: var(--ld-ink-2); }

@media (max-width: 860px) {
	.ld-hero__grid { grid-template-columns: 1fr; }
	.ld-receipt { transform: rotate(1.5deg); max-width: 340px; }
}
@media (prefers-reduced-motion: no-preference) {
	.ld-receipt { animation: ld-print .7s cubic-bezier(.2,.8,.2,1) .15s both; }
	@keyframes ld-print { from { transform: translateY(-24px) rotate(2.5deg); opacity: 0; } to { transform: translateY(0) rotate(2.5deg); opacity: 1; } }
}

/* ---------- Sections ---------- */
.ld-section { padding: clamp(48px, 7vw, 88px) 0; }
.ld-section--mist { background: var(--ld-mist); }
.ld-section__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.ld-section__head h2 { margin: 0; }
.ld-section__head p { margin: 6px 0 0; color: var(--ld-ink-2); max-width: 56ch; }
.ld-section__more { white-space: nowrap; font-weight: 700; }

/* Category shelf: labels on a shelf, not a card grid */
.ld-shelf { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; list-style: none; margin: 0; padding: 0; }
.ld-shelf a {
	display: flex; flex-direction: column; gap: 10px; height: 100%;
	padding: 14px; border-radius: var(--ld-radius);
	background: #fff; border: 1.5px solid var(--ld-line);
	color: var(--ld-ink); text-decoration: none;
}
.ld-shelf a:hover { border-color: var(--ld-glass); }
.ld-shelf__img { aspect-ratio: 1; border-radius: var(--ld-radius-sm); background: var(--ld-mist); overflow: hidden; display: grid; place-items: center; }
.ld-shelf__img img { width: 100%; height: 100%; object-fit: cover; }
.ld-shelf__img svg { width: 44%; height: 44%; color: var(--ld-glass); opacity: .55; }
.ld-shelf__name { font-weight: 700; line-height: 1.25; }
.ld-shelf__count { color: var(--ld-ink-2); font-size: .85rem; font-weight: 500; }
@media (max-width: 600px) {
	.ld-shelf { grid-template-columns: repeat(3, 1fr); gap: 10px; }
	.ld-shelf a { padding: 8px; gap: 6px; }
	.ld-shelf__name { font-size: .9rem; }
	.ld-section__head { flex-wrap: wrap; align-items: baseline; }
}

/* Store rows */
.ld-stores { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; }
.ld-store {
	display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: center;
	padding: 14px; border-radius: var(--ld-radius); background: #fff; border: 1.5px solid var(--ld-line);
	color: var(--ld-ink); text-decoration: none;
}
.ld-store:hover { border-color: var(--ld-glass); color: var(--ld-ink); }
.ld-store__logo { width: 64px; height: 64px; border-radius: 12px; background: var(--ld-glass); color: var(--ld-amber); display: grid; place-items: center; overflow: hidden; font-family: var(--ld-display); font-weight: 800; font-size: 1.5rem; }
.ld-store__logo img { width: 100%; height: 100%; object-fit: cover; }
.ld-store__name { font-weight: 700; display: block; line-height: 1.25; }
.ld-store__where { color: var(--ld-ink-2); font-size: .9rem; }

/* How it works: a real sequence, so numbered */
.ld-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; counter-reset: ld-step; border-top: 2px solid var(--ld-ink); }
.ld-steps li { counter-increment: ld-step; padding: 24px 28px 8px 0; }
.ld-steps li + li { padding-left: 28px; border-left: 1.5px solid var(--ld-line); }
.ld-steps li::before { content: counter(ld-step); display: block; font-family: var(--ld-display); font-weight: 800; font-size: 3rem; line-height: 1; color: var(--ld-amber); margin-bottom: 14px; }
.ld-steps h3 { margin-bottom: 6px; }
.ld-steps p { color: var(--ld-ink-2); margin: 0; }
@media (max-width: 760px) {
	.ld-steps { grid-template-columns: 1fr; }
	.ld-steps li, .ld-steps li + li { padding: 20px 0; border-left: 0; border-bottom: 1.5px solid var(--ld-line); }
}

/* Partner split */
.ld-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ld-split__panel { padding: clamp(28px, 4vw, 44px); border-radius: var(--ld-radius-lg); }
.ld-split__panel--glass { background: var(--ld-glass); color: #dfe8e4; }
.ld-split__panel--glass h2 { color: #fff; }
.ld-split__panel--amber { background: var(--ld-amber); color: var(--ld-ink); }
.ld-split__panel ul { margin: 0 0 24px; padding-left: 1.1em; }
.ld-split__panel li { margin-bottom: 6px; }
@media (max-width: 760px) { .ld-split { grid-template-columns: 1fr; } }

/* ---------- Footer ---------- */
.ld-footer { background: var(--ld-ink); color: #b8c4bf; font-size: .95rem; padding: 56px 0 28px; }
.ld-footer a { color: #e4ece8; }
.ld-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; }
.ld-footer h2 { color: #fff; font-size: 1.05rem; margin-bottom: 12px; }
.ld-footer ul { list-style: none; margin: 0; padding: 0; }
.ld-footer li { margin-bottom: 6px; }
.ld-footer__legal { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: .85rem; }
.ld-footer__age { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-weight: 600; }
.ld-footer__age b { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 999px; border: 2px solid var(--ld-amber); color: var(--ld-amber); font-family: var(--ld-display); }
@media (max-width: 760px) { .ld-footer__grid { grid-template-columns: 1fr; } }

/* ---------- Pages & posts ---------- */
.ld-page-head { background: var(--ld-mist); padding: clamp(32px, 5vw, 56px) 0; }
.ld-page-head h1 { margin: 0; font-size: clamp(2rem, 4vw, 2.8rem); }
.ld-page-head p { margin: 10px 0 0; color: var(--ld-ink-2); max-width: 62ch; }
.ld-main { padding: clamp(32px, 5vw, 56px) 0 clamp(48px, 7vw, 88px); }
.ld-content:not(.ld-content--wide) > * { max-width: 760px; }
.ld-content > * + * { margin-top: 1em; }
.ld-content ul, .ld-content ol { padding-left: 1.3em; }
.ld-content table { width: 100%; border-collapse: collapse; }
.ld-content th, .ld-content td { padding: 10px; border-bottom: 1px solid var(--ld-line); text-align: left; }
.ld-posts { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px; }
.ld-posts h2 { font-size: 1.5rem; margin-bottom: 6px; }
.ld-posts h2 a { color: var(--ld-ink); text-decoration: none; }
.ld-meta { color: var(--ld-ink-2); font-size: .9rem; }
.ld-pagination { margin-top: 32px; }
.ld-pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.ld-pagination .page-numbers { padding: 8px 14px; border-radius: 999px; border: 1.5px solid var(--ld-line); text-decoration: none; }
.ld-pagination .current { background: var(--ld-glass); color: #fff; border-color: var(--ld-glass); }

/* Partner page layout (For Stores / Drive With Us) */
.ld-partner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 64px); align-items: start; }
.ld-partner__aside { position: sticky; top: 100px; }
.ld-checklist { list-style: none; margin: 0 0 24px; padding: 0; }
.ld-checklist li { position: relative; padding: 10px 0 10px 34px; border-bottom: 1px solid var(--ld-line); }
.ld-checklist li::before { content: ""; position: absolute; left: 4px; top: 16px; width: 16px; height: 9px; border-left: 3px solid var(--ld-ok); border-bottom: 3px solid var(--ld-ok); transform: rotate(-45deg); }
.ld-formcard { background: #fff; border: 1.5px solid var(--ld-line); border-radius: var(--ld-radius-lg); padding: clamp(20px, 4vw, 36px); }
@media (max-width: 860px) { .ld-partner { grid-template-columns: 1fr; } .ld-partner__aside { position: static; } }

/* ---------- WooCommerce ---------- */
.woocommerce .woocommerce-breadcrumb { color: var(--ld-ink-2); font-size: .9rem; margin-bottom: 18px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--ld-ink-2); }
.woocommerce-products-header__title { margin-bottom: 8px; }
.woocommerce .woocommerce-result-count { color: var(--ld-ink-2); font-size: .92rem; }
.woocommerce .woocommerce-ordering select { width: auto; min-height: 40px; }

.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; margin: 0 0 32px; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
	width: auto !important; float: none !important; margin: 0 !important;
	display: flex; flex-direction: column; padding: 12px;
	background: #fff; border: 1.5px solid var(--ld-line); border-radius: var(--ld-radius);
}
.woocommerce ul.products li.product a img { aspect-ratio: 1; object-fit: contain; background: var(--ld-mist); border-radius: var(--ld-radius-sm); margin: 0 0 12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--ld-body); font-size: 1rem; font-weight: 600; line-height: 1.3; padding: 0; margin-bottom: 6px; color: var(--ld-ink); }
.woocommerce ul.products li.product .price { color: var(--ld-ink); font-family: var(--ld-display); font-weight: 800; font-size: 1.15rem; margin-bottom: 10px; }
.woocommerce ul.products li.product .price del { color: var(--ld-ink-2); font-weight: 500; }
.woocommerce ul.products li.product .button { margin-top: auto; width: 100%; min-height: 42px; }
.woocommerce ul.products li.product .added_to_cart { display: block; text-align: center; margin-top: 8px; font-weight: 600; }
.ld-soldby { display: block; color: var(--ld-ink-2); font-size: .85rem; margin: -2px 0 8px; }
.woocommerce span.onsale { background: var(--ld-alert); color: #fff; border-radius: 999px; min-height: 0; min-width: 0; line-height: 1; padding: 6px 10px; font-weight: 700; top: 18px; left: 18px; }

.woocommerce div.product .product_title { font-size: clamp(1.8rem, 3.5vw, 2.6rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ld-ink); font-family: var(--ld-display); font-weight: 800; font-size: 1.7rem; }
.woocommerce div.product div.images img { background: var(--ld-mist); border-radius: var(--ld-radius-lg); }
.woocommerce div.product form.cart { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.woocommerce .quantity .qty { width: 84px; min-height: 46px; text-align: center; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 20px; border-bottom: 1.5px solid var(--ld-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 16px; font-weight: 600; color: var(--ld-ink-2); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 3px solid var(--ld-amber); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ld-ink); }

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
	border: 0 !important; border-left: 4px solid var(--ld-glass) !important;
	background: var(--ld-mist) !important; color: var(--ld-ink) !important;
	border-radius: var(--ld-radius-sm); padding: 14px 18px 14px 48px !important;
}
.woocommerce-error { border-left-color: var(--ld-alert) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ld-glass) !important; }

.woocommerce table.shop_table { border: 1.5px solid var(--ld-line); border-radius: var(--ld-radius); border-collapse: separate; }
.woocommerce table.shop_table th { font-weight: 700; }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review { background: var(--ld-mist); border-radius: var(--ld-radius-lg); padding: 20px; }
.woocommerce .cart_totals .fee th, .woocommerce .cart_totals .fee td, .woocommerce-checkout-review-order-table .fee th, .woocommerce-checkout-review-order-table .fee td { color: var(--ld-ink-2); }

.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border: 1.5px solid var(--ld-line); border-radius: var(--ld-radius); overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; text-decoration: none; color: var(--ld-ink); border-bottom: 1px solid var(--ld-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--ld-glass); color: #fff; }

/* WooCommerce block cart & checkout */
.wc-block-components-button:not(.is-link) { border-radius: 999px !important; background: var(--ld-glass) !important; color: #fff !important; font-weight: 700 !important; }
.wc-block-components-totals-fees { color: var(--ld-ink-2); }

/* ---------- HivePress (listings) ---------- */
.hp-listing, .hp-vendor { background: #fff; border: 1.5px solid var(--ld-line); border-radius: var(--ld-radius); padding: 16px; }
.hp-listing__title a, .hp-vendor__name a { color: var(--ld-ink); text-decoration: none; font-family: var(--ld-display); font-weight: 700; }
.hp-listing__image img, .hp-vendor__image img { border-radius: var(--ld-radius-sm); }
.hp-form__button, .hp-button { border-radius: 999px !important; }
.hp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.hp-grid__item { width: auto; max-width: none; padding: 0; }
.hp-row { margin: 0; }

/* ---------- Liquor Drop Delivery plugin output ---------- */
.ld-form .ld-field { margin-bottom: 16px; }
.ld-form .ld-field label { display: block; margin-bottom: 6px; }
.ld-form .ld-field small { display: block; color: var(--ld-ink-2); margin-top: 4px; font-weight: 400; }
.ld-form .ld-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; margin-bottom: 10px; }
.ld-form .ld-check input { width: 20px; height: 20px; margin-top: 3px; flex: none; accent-color: var(--ld-glass); }
.ld-form .ld-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 600px) { .ld-form .ld-row { grid-template-columns: 1fr; } }
.ld-alert { padding: 14px 18px; border-radius: var(--ld-radius-sm); background: var(--ld-mist); border-left: 4px solid var(--ld-glass); margin-bottom: 18px; }
.ld-alert--error { border-left-color: var(--ld-alert); }
.ld-alert--ok { border-left-color: var(--ld-ok); }

/* ---------- Utilities ---------- */
.alignwide { max-width: var(--ld-wrap); }
.alignfull { width: 100%; }
.wp-caption-text, .wp-element-caption { color: var(--ld-ink-2); font-size: .9rem; }
.sticky, .bypostauthor, .gallery-caption { outline: 0; }

/* ---------- Comments ---------- */
.ld-comments { margin-top: 40px; }
.ld-comments .comment-list { list-style: none; padding: 0; }
.ld-comments .comment-body { padding: 16px 0; border-bottom: 1px solid var(--ld-line); }
.ld-comments .comment-meta { font-size: .9rem; color: var(--ld-ink-2); }
.ld-comments .avatar { border-radius: 999px; vertical-align: middle; margin-right: 8px; }

/* LiquorDrop stores: "Sold by" link and not-yet-buyable products */
.woocommerce ul.products li.product .ld-soldby a { display: inline !important; font-size: inherit !important; margin: 0 !important; color: var(--ld-glass); font-weight: 600; }
.woocommerce ul.products li.product .button:not(.add_to_cart_button):not(.added) {
	background: transparent; color: var(--ld-glass); box-shadow: inset 0 0 0 2px var(--ld-line);
}
.woocommerce ul.products li.product .button:not(.add_to_cart_button):not(.added):hover { box-shadow: inset 0 0 0 2px var(--ld-glass); }
