/* Plank Bank & Wild WOOD of the Month Club — storefront styles.
   Fonts are inherited from the theme; colors use the variables below so they can be
   overridden from the theme's Additional CSS (e.g. :root { --wwr-ember: #f2b632; }). */

:root {
	--wwr-char: #1f1a17;
	--wwr-ember: #e3a33b;
	--wwr-cedar: #9c4a1f;
	--wwr-cream: #faf5ec;
	--wwr-line: #e7dccb;
	--wwr-muted: #6b5f55;
	--wwr-radius: 10px;
}

.wwr, .wwr * { box-sizing: border-box; }

.wwr .wwr-btn,
.wwr-gift .wwr-btn {
	background: var(--wwr-char);
	color: #fff;
	border: 0;
	border-radius: 6px;
	padding: .7em 1.2em;
	font-weight: 700;
	text-decoration: none;
	display: inline-block;
	cursor: pointer;
}
.wwr .wwr-btn:hover { background: var(--wwr-cedar); color: #fff; }
.wwr .wwr-btn--ghost { background: transparent; color: var(--wwr-char); border: 1px solid var(--wwr-char); }

/* Product page */
.wwr-earn-msg {
	margin: .25em 0 1.25em;
	padding: .6em .9em;
	background: var(--wwr-cream);
	border-left: 4px solid var(--wwr-ember);
	border-radius: 4px;
	font-size: .95em;
}
.wwr-earn-msg__sub { color: var(--wwr-muted); font-size: .9em; }
.wwr-promo-pill {
	display: inline-block;
	background: var(--wwr-ember);
	color: var(--wwr-char);
	font-size: .75em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: .15em .55em;
	border-radius: 99px;
	vertical-align: middle;
}

.wwr-gift {
	margin: 0 0 1.25em;
	padding: 1em 1.1em;
	border: 1px solid var(--wwr-line);
	border-radius: var(--wwr-radius);
	background: #fff;
}
.wwr-gift.is-gift { border-color: var(--wwr-ember); box-shadow: 0 0 0 3px rgba(227,163,59,.15); }
.wwr-gift__title { font-weight: 700; margin: 0 0 .5em; }
.wwr-gift__choices { display: flex; gap: .5em; flex-wrap: wrap; }
.wwr-choice {
	flex: 1 1 10em;
	display: flex; align-items: center; gap: .5em;
	padding: .6em .8em;
	border: 1px solid var(--wwr-line);
	border-radius: 8px;
	cursor: pointer;
	margin: 0;
}
.wwr-choice:has(input:checked) { border-color: var(--wwr-char); background: var(--wwr-cream); font-weight: 600; }
.wwr-gift__fields { margin-top: 1em; }
.wwr-gift__fields[hidden] { display: none !important; }
.wwr-gift .wwr-field { margin: 0 0 .8em; border: 0; padding: 0; }
.wwr-gift .wwr-field label, .wwr-gift .wwr-field legend { display: block; font-weight: 600; font-size: .9em; margin-bottom: .25em; }
.wwr-gift input[type="text"], .wwr-gift input[type="email"], .wwr-gift textarea { width: 100%; }
.wwr-gift input[type="text"], .wwr-gift input[type="email"], .wwr-gift input[type="date"], .wwr-gift textarea {
	font: inherit; font-size: 1rem; padding: .55em .7em; border: 1px solid #c9bba6; border-radius: 6px; background: #fff;
}
.wwr-gift .wwr-inline { display: flex; align-items: center; gap: .5em; flex-wrap: wrap; font-weight: 400 !important; margin: .35em 0; }
.wwr-gift .wwr-link { background: none; border: 0; color: var(--wwr-cedar); text-decoration: underline; padding: 0 0 0 1.6em; cursor: pointer; font-size: .9em; }
.wwr-gift__note { font-size: .85em; color: var(--wwr-muted); margin: .25em 0 0; }

/* Cart / checkout panel */
.wwr-panel {
	margin: 0 0 1.5em;
	padding: 1em 1.2em;
	border-radius: var(--wwr-radius);
	background: var(--wwr-cream);
	border: 1px solid var(--wwr-line);
}
.wwr-panel p { margin: .35em 0; }
.wwr-panel__head { display: flex; align-items: center; gap: .5em; font-size: 1.1em; margin-bottom: .25em; }
.wwr-panel__form { display: flex; align-items: center; gap: .5em; flex-wrap: wrap; margin-top: .6em; }
.wwr-panel__form select { min-width: 14em; }
.wwr-panel__hint { color: var(--wwr-muted); font-size: .9em; }
.wwr-locked { color: var(--wwr-muted); }

/* Thank-you */
.wwr-thanks { margin: 1em 0 2em; padding: 1em 1.2em; border: 2px dashed var(--wwr-ember); border-radius: var(--wwr-radius); }
.wwr-thanks__sparks { font-weight: 700; }

/* My Account */
.wwr-balance {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: 1.5em;
	align-items: center;
	padding: 1.5em;
	border-radius: var(--wwr-radius);
	background: var(--wwr-char);
	color: #fff;
	margin-bottom: 1.5em;
}
.wwr-balance__main { display: flex; flex-direction: column; }
.wwr-balance__label { text-transform: uppercase; letter-spacing: .08em; font-size: .8em; opacity: .8; }
.wwr-balance__num { font-size: 3em; line-height: 1.1; font-weight: 800; color: var(--wwr-ember); }
.wwr-balance__value { opacity: .9; }
.wwr-balance__side p { margin: .3em 0; }
.wwr-balance .wwr-locked { color: #e8ddcf; }
.wwr-balance .button { background: var(--wwr-ember); color: var(--wwr-char); border: 0; font-weight: 700; }
.wwr-status { padding: 1em 1.2em; border: 1px solid var(--wwr-line); border-radius: var(--wwr-radius); margin-bottom: 1.5em; }
.wwr-status h3 { margin-top: 0; }
.wwr-table .wwr-num { text-align: right; white-space: nowrap; }
.wwr-pos { color: #2e7d32; font-weight: 600; }
.wwr-neg { color: var(--wwr-cedar); font-weight: 600; }
@media (max-width: 640px) {
	.wwr-balance { grid-template-columns: 1fr; }
}

/* Promo banner */
.wwr-promo-banner {
	background: var(--wwr-char);
	color: #fff;
	text-align: center;
	padding: .7em 1em;
	border-radius: 6px;
	margin: 0 0 1.5em;
}
.wwr-promo-banner strong { color: var(--wwr-ember); }

/* Landing pages */
.wwr-hero { text-align: center; max-width: 46em; margin: 0 auto 2em; }
.wwr-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .8em; color: var(--wwr-cedar); font-weight: 700; margin: 0; }
.wwr-hero h2 { margin: .15em 0 .3em; font-size: clamp(2em, 5vw, 3.2em); }
.wwr-hero__sub { font-size: 1.1em; color: var(--wwr-muted); }
.wwr-callout { background: var(--wwr-cream); border-left: 4px solid var(--wwr-ember); padding: .8em 1em; border-radius: 4px; text-align: left; }

.wwr-steps { list-style: none; margin: 0 0 2em; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(14em, 1fr)); gap: 1em; }
.wwr-steps li { padding: 1.2em; border: 1px solid var(--wwr-line); border-radius: var(--wwr-radius); display: flex; flex-direction: column; gap: .35em; }
.wwr-steps span { width: 2em; height: 2em; border-radius: 50%; background: var(--wwr-ember); color: var(--wwr-char); font-weight: 800; display: grid; place-items: center; }
.wwr-steps strong { font-size: 1.15em; }
.wwr-rates { width: 100%; margin-bottom: 2em; }
.wwr-rates th, .wwr-rates td { text-align: center; }
.wwr-rates td:first-child, .wwr-rates th:first-child { text-align: left; }

.wwr-tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(16em, 1fr)); gap: 1.25em; align-items: stretch; margin-bottom: 2em; }
.wwr-tier-card {
	position: relative;
	display: flex; flex-direction: column;
	padding: 1.6em 1.4em 1.4em;
	border: 1px solid var(--wwr-line);
	border-radius: 14px;
	background: #fff;
}
.wwr-tier-card.is-featured { border: 2px solid var(--wwr-ember); box-shadow: 0 10px 30px rgba(31,26,23,.08); }
.wwr-tier-card--bonfire { background: var(--wwr-char); color: #fff; border-color: var(--wwr-char); }
.wwr-tier-card--bonfire .wwr-tagline, .wwr-tier-card--bonfire .wwr-price span { color: #d9cbb8; }
.wwr-tier-card--bonfire .wwr-btn { background: var(--wwr-ember); color: var(--wwr-char); }
.wwr-tier-card--bonfire .wwr-plans td { border-color: #3a322c; }
.wwr-badge {
	position: absolute; top: -.8em; left: 50%; transform: translateX(-50%);
	background: var(--wwr-ember); color: var(--wwr-char);
	font-size: .75em; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
	padding: .3em .8em; border-radius: 99px; white-space: nowrap;
}
.wwr-tier-card h3 { margin: 0; font-size: 1.6em; color: inherit; }
.wwr-tagline { margin: .1em 0 .8em; color: var(--wwr-muted); font-style: italic; }
.wwr-price { font-size: 1.8em; font-weight: 800; margin: 0 0 .6em; }
.wwr-price .woocommerce-Price-amount, .wwr-price bdi { font-size: inherit; font-weight: 800; }
.wwr-price .woocommerce-Price-currencySymbol { font-size: inherit; vertical-align: baseline; }
.wwr-price > span { font-size: .5em; font-weight: 400; color: var(--wwr-muted); }
.wwr-price del { font-size: .55em; opacity: .6; font-weight: 400; }
.wwr-price ins { text-decoration: none; }
.wwr-contents, .wwr-tier-card .wwr-perks { list-style: none; padding: 0; margin: 0 0 1em; }
.wwr-contents li, .wwr-tier-card .wwr-perks li { padding: .3em 0 .3em 1.5em; position: relative; }
.wwr-contents li::before { content: "🪵"; position: absolute; left: 0; }
.wwr-tier-card .wwr-perks li::before { content: "🔥"; position: absolute; left: 0; }
.wwr-plans { width: 100%; margin: auto 0 1em; font-size: .92em; border-collapse: collapse; }
.wwr-plans td { padding: .35em 0; border-top: 1px solid var(--wwr-line); background: transparent !important; }
.wwr-plans td:last-child { text-align: right; font-weight: 600; }
.wwr-plans del { opacity: .55; font-weight: 400; margin-right: .3em; }
.wwr-tier-card .wwr-btn { text-align: center; width: 100%; }

.wwr-gift-callout { padding: 1.4em; border: 2px dashed var(--wwr-ember); border-radius: 14px; }
.wwr-gift-callout h3 { margin-top: 0; }
