/* ==========================================================================
   Birds Bonsai — slide-out cart drawer + cart/checkout pages (Graza)
   ========================================================================== */

:root {
	--gz-cream: #e9e1cd;
	--gz-paper: #f1ead9;
	--gz-media-bg: #e7e3d6;
	--gz-slate: #2d4b48;
	--gz-russian: #5c8966;
	--gz-sheen: #7bb497;
	--gz-sage: #c6c296;
	--gz-cyan: #669294;
	--gz-ink: #2d4b48;
	--gz-line: #2d4b48;
	--gz-muted: #6e7b72;
	--gz-radius: 14px;
}

/* ==========================================================================
   Header (Graza) — logo + title + nav + cart
   ========================================================================== */
.gz-header {
	background: var(--gz-cream);
	border-bottom: 1px solid var(--gz-line);
	position: relative;
}
.gz-header-row { padding-top: 14px; padding-bottom: 14px; }
.gz-brand { gap: 12px !important; align-items: center; }
.gz-brand .wp-block-site-logo img,
.gz-brand .wp-block-site-logo a { width: 46px; height: 46px; border-radius: 50%; }
.gz-brand .wp-block-site-title {
	font-family: "Source Serif 4", Georgia, serif; font-weight: 600;
	font-size: 1.3rem; line-height: 1; margin: 0;
}
.gz-brand .wp-block-site-title a { color: var(--gz-ink); text-decoration: none; }
.gz-header-right { gap: 24px !important; align-items: center; }
.gz-header .wp-block-navigation {
	font-family: "Courier Prime", monospace; font-size: 0.8rem;
	text-transform: uppercase; letter-spacing: 0.04em;
}
.gz-header .wp-block-navigation a, .gz-header .wp-block-navigation .wp-block-navigation-item__content { color: var(--gz-ink); }
.gz-header .wp-block-navigation a:hover { color: var(--gz-russian); }
.gz-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--gz-cream); }
.gz-cart-slot { display: flex; align-items: center; }

/* ---- Header cart toggle (injected into the slot) ---- */
.gz-cart-toggle {
	display: inline-flex; align-items: center; gap: 7px;
	background: none; border: 0; cursor: pointer; color: var(--gz-ink);
	font-family: "Courier Prime", monospace; font-size: 0.8rem; z-index: 30;
}
.gz-cart-toggle svg { width: 22px; height: 22px; display: block; }
.gz-cart-count {
	min-width: 19px; height: 19px; line-height: 19px; text-align: center;
	background: var(--gz-russian); color: var(--gz-paper);
	border-radius: 999px; font-size: 0.68rem; font-weight: 700; padding: 0 5px;
}
/* ==========================================================================
   Footer (Graza) — slate block with brand + link columns
   ========================================================================== */
.gz-footer { background: var(--gz-slate); color: var(--gz-cream); font-family: "Courier Prime", monospace; }
.gz-footer-inner {
	max-width: 1180px; margin: 0 auto; padding: 56px 24px 32px;
	display: grid; grid-template-columns: 1.4fr 2fr; gap: 44px;
}
.gz-footer-logo { width: 46px; height: 46px; display: block; margin: 0 0 14px; }
.gz-footer-name { font-family: "Source Serif 4", Georgia, serif; font-size: 1.35rem; margin: 0 0 10px; color: var(--gz-cream); }
.gz-footer-tag { font-size: 0.85rem; line-height: 1.65; color: #cdd6c8; max-width: 340px; margin: 0; }
.gz-footer-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.gz-footer-col h4 {
	font-family: "Courier Prime", monospace; text-transform: uppercase; letter-spacing: 0.09em;
	font-size: 0.72rem; color: var(--gz-sage); margin: 4px 0 14px;
}
.gz-footer-col a { display: block; color: var(--gz-cream); text-decoration: none; font-size: 0.86rem; margin-bottom: 10px; }
.gz-footer-col a:hover { color: var(--gz-sheen); }
.gz-footer-bottom {
	border-top: 1px solid rgba(233, 225, 205, 0.18);
	max-width: 1180px; margin: 0 auto; padding: 18px 24px 8px;
	display: flex; justify-content: space-between; font-size: 0.76rem; color: #aebaa8;
}
@media (max-width: 760px) {
	.gz-footer-inner { grid-template-columns: 1fr; gap: 30px; }
	.gz-footer-cols { grid-template-columns: repeat(2, 1fr); }
	.gz-footer-bottom { flex-direction: column; gap: 8px; }
}

/* ---- Overlay + drawer ---- */
.gz-drawer-overlay {
	position: fixed; inset: 0; background: rgba(28, 30, 26, 0.42);
	opacity: 0; visibility: hidden; transition: opacity 0.25s ease; z-index: 99998;
}
.gz-drawer-overlay.gz-open { opacity: 1; visibility: visible; }
body.gz-cart-lock { overflow: hidden; }

.gz-drawer {
	position: fixed; top: 0; right: 0; height: 100%; width: 410px; max-width: 90vw;
	background: var(--gz-cream); border-left: 1px solid var(--gz-line);
	transform: translateX(100%); transition: transform 0.3s ease; z-index: 99999;
	display: flex; flex-direction: column;
	font-family: "Courier Prime", monospace; color: var(--gz-ink);
}
.gz-drawer.gz-open { transform: translateX(0); box-shadow: -16px 0 50px -28px rgba(0, 0, 0, 0.5); }
.gz-drawer-head {
	display: flex; align-items: center; justify-content: space-between;
	padding: 20px 22px 16px; border-bottom: 1.5px dotted var(--gz-line);
}
.gz-drawer-title {
	font-family: "Source Serif 4", Georgia, serif; font-size: 1.35rem; color: var(--gz-ink);
}
.gz-drawer-close {
	background: none; border: 0; cursor: pointer; color: var(--gz-ink);
	font-size: 1.7rem; line-height: 1; padding: 0 4px;
}
.gz-drawer-body { flex: 1; overflow-y: auto; padding: 6px 22px 22px; }

/* ---- Mini cart inside the drawer ---- */
.gz-drawer .woocommerce-mini-cart.cart_list { margin: 0; padding: 0; list-style: none; }
.gz-drawer .woocommerce-mini-cart-item {
	display: grid; grid-template-columns: 58px 1fr auto; gap: 12px; align-items: start;
	padding: 16px 0 16px 24px; position: relative;
	border-bottom: 1.5px dotted var(--gz-line); margin: 0;
}
.gz-drawer .woocommerce-mini-cart-item img {
	grid-column: 1; width: 58px !important; height: 58px; object-fit: cover;
	border-radius: 8px; margin: 0; float: none;
}
.gz-drawer .woocommerce-mini-cart-item a:not(.remove) {
	grid-column: 2; font-family: "Source Serif 4", serif; font-weight: 500;
	font-size: 0.95rem; color: var(--gz-ink); text-decoration: none; line-height: 1.25;
}
.gz-drawer .woocommerce-mini-cart-item .quantity {
	grid-column: 2; display: block; font-size: 0.8rem; color: var(--gz-muted); margin-top: 4px;
}
.gz-drawer .woocommerce-mini-cart-item .amount { color: var(--gz-ink); font-weight: 700; }
.gz-drawer .woocommerce-mini-cart-item a.remove {
	position: absolute; top: 16px; left: 0; width: 18px; height: 18px; line-height: 16px;
	text-align: center; border: 1px solid var(--gz-line); border-radius: 999px;
	color: var(--gz-ink) !important; font-size: 0.7rem; text-decoration: none; background: transparent;
}
.gz-drawer a.remove:hover { background: var(--gz-russian); color: var(--gz-paper) !important; }
.gz-drawer .woocommerce-mini-cart__total {
	display: flex; justify-content: space-between; align-items: baseline;
	padding: 18px 0 4px; border-top: 0; font-size: 0.95rem;
}
.gz-drawer .woocommerce-mini-cart__total strong { font-family: "Source Serif 4", serif; font-weight: 600; }
.gz-drawer .woocommerce-mini-cart__total .amount { font-size: 1.15rem; font-weight: 700; }
.gz-drawer .woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 14px 0 0; padding: 0; }
.gz-drawer .woocommerce-mini-cart__buttons .button {
	display: block; text-align: center; box-sizing: border-box; width: 100%;
	border-radius: 999px; padding: 13px 16px; margin: 0;
	font-family: "Courier Prime", monospace; font-weight: 700; text-transform: uppercase;
	letter-spacing: 0.04em; font-size: 0.82rem; text-decoration: none; border: none;
}
.gz-drawer .woocommerce-mini-cart__buttons .checkout {
	background: var(--gz-russian); color: var(--gz-paper);
}
.gz-drawer .woocommerce-mini-cart__buttons .checkout:hover { background: var(--gz-slate); }
.gz-drawer .woocommerce-mini-cart__buttons .wc-forward:not(.checkout) {
	background: transparent; color: var(--gz-ink);
}
.gz-drawer .woocommerce-mini-cart__empty-message,
.gz-drawer p.woocommerce-mini-cart__empty-message {
	padding: 30px 0; color: var(--gz-muted); text-align: center; font-size: 0.9rem;
}

/* ==========================================================================
   Cart + Checkout pages
   ========================================================================== */

body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account {
	background: var(--gz-cream);
	font-family: "Courier Prime", "Courier New", monospace;
	color: var(--gz-ink);
}
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-cart h1.wp-block-post-title,
body.woocommerce-checkout h1.wp-block-post-title {
	font-family: "Source Serif 4", Georgia, serif; font-weight: 500; color: var(--gz-ink);
}

.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit {
	background: var(--gz-russian); color: #fff;
	border: none; border-radius: 999px;
	font-family: "Courier Prime", monospace; font-weight: 700; text-transform: uppercase;
	letter-spacing: 0.04em; padding: 12px 22px;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce #respond input#submit:hover { background: var(--gz-slate); color: #fff; }
.woocommerce .button.alt, .woocommerce #place_order {
	background: var(--gz-russian); color: #fff;
}

/* Tables (cart + order review) */
.woocommerce table.shop_table {
	border: 1px solid var(--gz-line); border-radius: var(--gz-radius);
	background: var(--gz-paper); border-collapse: separate; border-spacing: 0; overflow: hidden;
}
.woocommerce table.shop_table th {
	font-family: "Courier Prime", monospace; text-transform: uppercase; letter-spacing: 0.05em;
	font-size: 0.74rem; color: var(--gz-muted); border-bottom: 1.5px dotted var(--gz-line);
}
.woocommerce table.shop_table td { border-top: 1.5px dotted var(--gz-line); color: var(--gz-ink); }
.woocommerce table.shop_table img { width: 64px; border-radius: 8px; }
.woocommerce-cart table.cart td.actions .button { white-space: nowrap; }
.woocommerce .cart_totals h2,
.woocommerce-checkout #order_review_heading {
	font-family: "Source Serif 4", serif; font-weight: 500; font-size: 1.4rem; color: var(--gz-ink);
}

/* Quantity steppers */
.woocommerce .quantity .qty, .woocommerce-cart .quantity input.qty {
	border: 1px solid var(--gz-line); border-radius: 999px; background: var(--gz-cream);
	color: var(--gz-ink); height: 44px; font-family: inherit;
}

/* Coupon + cart actions */
.woocommerce-cart .cart-collaterals .cart_totals {
	border: 1px solid var(--gz-line); border-radius: var(--gz-radius);
	background: var(--gz-paper); padding: 20px 22px;
}

/* Checkout form fields */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce form .form-row label {
	font-family: "Courier Prime", monospace;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout h3#ship-to-different-address {
	font-family: "Source Serif 4", serif; font-weight: 500; font-size: 1.25rem;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection {
	border: 1px solid var(--gz-line); border-radius: 10px; background: var(--gz-paper);
	color: var(--gz-ink); padding: 12px 14px; font-family: "Courier Prime", monospace; min-height: 46px;
}
.woocommerce-checkout #payment {
	background: var(--gz-paper); border: 1px solid var(--gz-line); border-radius: var(--gz-radius);
}
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1.5px dotted var(--gz-line); }
.woocommerce-info, .woocommerce-message {
	border-top-color: var(--gz-russian); background: var(--gz-paper); color: var(--gz-ink);
}
.woocommerce-info::before, .woocommerce-message::before { color: var(--gz-russian); }
