/*
Theme Name:   Wren & Kiln
Theme URI:    https://pottery.woo-demo.duckdns.org/
Description:  Child theme of Storefront for the Wren & Kiln WooCommerce learning store (a fictional pottery studio). Presentation only; demo behavior lives in the wren-kiln-demo MU-plugin.
Author:       Woo Demo — Training
Template:     storefront
Version:      1.0.0
License:      GPL-2.0-or-later
Text Domain:  wren-kiln
*/

/* ==========================================================================
   Tokens
   Contrast (WCAG 2.2, checked with scripts/contrast.py):
     ink #2A2622 on porcelain 13.0:1      slate #2E4756 on porcelain 8.5:1
     porcelain on slate 8.5:1             terracotta-ink #9C4526 on porcelain 5.5:1
     terracotta #C2693F on porcelain 3.4:1 -> icons, rules and focus rings only
   Look: glazed-ceramic cards (soft, slightly uneven corners and an inner
   glaze highlight), a faint speckled-clay texture on the page, and thrown
   "wheel rings" as section dividers.
   ========================================================================== */
:root {
	--wk-porcelain: #F4EEE6;
	--wk-porcelain-2: #FBF8F3;
	--wk-chip: #E9DFD2;
	--wk-ink: #2A2622;
	--wk-slate: #2E4756;
	--wk-slate-deep: #22343F;
	--wk-terracotta: #C2693F;
	--wk-terracotta-ink: #9C4526;
	--wk-muted: #5E5850;
	--wk-footer-text: #D8D1C6;
	--wk-line: #DDD1C1;
	--wk-celadon: #A9C3B1;
	--wk-tenmoku: #5A3424;
	--wk-speckled: #E8DFCF;
	--wk-cobalt: #2C4A7A;
	/* Thrown pots are never perfectly round: cards use slightly uneven radii. */
	--wk-radius: 22px 18px 24px 20px / 20px 24px 18px 22px;
	--wk-radius-sm: 12px 10px 13px 11px;
	--wk-glaze: inset 0 1px 0 rgba(255, 255, 255, .7), inset 0 -10px 24px -18px rgba(46, 71, 86, .18);
	--wk-shadow: 0 1px 2px rgba(42, 38, 34, .06), 0 10px 26px -6px rgba(42, 38, 34, .12);
	--wk-shadow-hover: 0 2px 4px rgba(42, 38, 34, .07), 0 18px 38px -8px rgba(42, 38, 34, .2);
	--wk-serif: "Young Serif", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
	--wk-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--wk-ease: cubic-bezier(.2, .7, .2, 1);
	--wk-gutter: clamp(16px, 4vw, 40px);
	/* Speckled stoneware: a few iron specks on the page, drawn inline (no image request). */
	--wk-specks: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cg fill='%238A7D6B'%3E%3Ccircle cx='12' cy='18' r='.9' opacity='.35'/%3E%3Ccircle cx='71' cy='9' r='.6' opacity='.3'/%3E%3Ccircle cx='131' cy='33' r='1.1' opacity='.28'/%3E%3Ccircle cx='44' cy='64' r='.7' opacity='.32'/%3E%3Ccircle cx='103' cy='77' r='.8' opacity='.3'/%3E%3Ccircle cx='150' cy='112' r='.6' opacity='.35'/%3E%3Ccircle cx='23' cy='121' r='1' opacity='.25'/%3E%3Ccircle cx='86' cy='139' r='.7' opacity='.3'/%3E%3Ccircle cx='60' cy='104' r='.5' opacity='.4'/%3E%3C/g%3E%3C/svg%3E");
	/* Wheel rings: three soft concentric throwing lines used as a divider. */
	--wk-rings: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'%3E%3Cg fill='none' stroke='%23C2693F' stroke-linecap='round'%3E%3Cpath d='M2 4c19-3 97-3 116 0' opacity='.55'/%3E%3Cpath d='M10 8c16-2.5 84-2.5 100 0' opacity='.4'/%3E%3Cpath d='M20 12c13-2 67-2 80 0' opacity='.28'/%3E%3C/g%3E%3C/svg%3E");
}

/* Young Serif has one weight and no italic: never let the browser fake either. */
@font-face {
	font-family: "Young Serif";
	font-style: normal;
	font-display: swap;
	font-weight: 400;
	src: url("assets/fonts/young-serif-latin-400-normal.woff2") format("woff2");
}

/* ==========================================================================
   Base
   ========================================================================== */
html { scroll-behavior: smooth; }
body,
button, input, select, textarea {
	font-family: var(--wk-sans);
	color: var(--wk-ink);
}
body {
	background: var(--wk-porcelain) var(--wk-specks);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6,
.site-title, .entry-title, .product_title,
.woocommerce-loop-product__title, .wc-block-components-title {
	font-family: var(--wk-serif);
	color: var(--wk-slate);
	letter-spacing: -.005em;
	font-weight: 400;
	font-synthesis: none;
}
h1 { font-size: clamp(2.1rem, 1.6rem + 2.2vw, 3.4rem); line-height: 1.08; }
h2 { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.35rem); line-height: 1.15; }
h3 { font-size: 1.35rem; line-height: 1.25; }
a { color: var(--wk-terracotta-ink); text-underline-offset: 3px; }
a:hover { color: var(--wk-slate); }
p { margin-bottom: 1.2em; }
::selection { background: var(--wk-slate); color: var(--wk-porcelain); }

/* Visible keyboard focus everywhere (Storefront's default is faint on porcelain). */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible, .button:focus-visible,
summary:focus-visible {
	outline: 3px solid var(--wk-terracotta);
	outline-offset: 3px;
	border-radius: 4px;
	box-shadow: none;
}
.screen-reader-text:focus { background: var(--wk-porcelain-2); color: var(--wk-slate); }

.col-full { max-width: 1240px; padding-left: var(--wk-gutter); padding-right: var(--wk-gutter); box-sizing: border-box; }
/* Storefront uses side margins on phones; this theme uses padding, so zero the margins. */
.col-full { margin-left: auto !important; margin-right: auto !important; }

/* ==========================================================================
   Demo banner (markup from the MU-plugin)
   ========================================================================== */
.wk-demo-banner {
	background: var(--wk-slate-deep);
	color: var(--wk-porcelain);
	font-size: 14px;
	line-height: 1.45;
	text-align: center;
	padding: .65em var(--wk-gutter);
	position: relative;
	z-index: 100;
}
.wk-demo-banner strong { letter-spacing: .08em; font-weight: 700; }
.wk-demo-banner a { color: var(--wk-porcelain); font-weight: 600; white-space: nowrap; }
.wk-demo-notice {
	border: 1px solid var(--wk-slate);
	background: var(--wk-porcelain-2);
	color: var(--wk-slate);
	border-radius: var(--wk-radius-sm);
	padding: .9em 1.1em;
	margin: 0 0 1.5em;
}
.wk-demo-notice p { margin: 0; }

/* ==========================================================================
   Header
   ========================================================================== */
.site-header {
	background: var(--wk-porcelain);
	border-bottom: 1px solid var(--wk-line);
	padding-top: 1.25em;
	margin-bottom: 0;
}
.site-header .site-branding { margin-bottom: 1em; }
.wk-logo { display: inline-flex; align-items: center; text-decoration: none; color: var(--wk-slate); }
.wk-logo svg { height: 44px; width: auto; display: block; }
.wk-logo:hover { color: var(--wk-slate); }
.site-branding .site-description {
	font-family: var(--wk-serif);
	letter-spacing: .01em;
	color: var(--wk-muted);
	margin: .2em 0 0;
	font-size: .95rem;
}
.site-search .widget_product_search input[type=search],
.site-search .widget_product_search input[type=text] {
	background: var(--wk-porcelain-2);
	border: 1px solid var(--wk-line);
	border-radius: 999px;
	padding: .7em 1.1em .7em 2.6em;
	box-shadow: none;
}
.site-header-cart .cart-contents,
.main-navigation ul li a,
.secondary-navigation ul li a { color: var(--wk-slate); }
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
	font-weight: 600;
	font-size: .95rem;
	letter-spacing: .01em;
	padding: 1.1em .95em;
}
.main-navigation ul.menu > li.current-menu-item > a,
.main-navigation ul.menu > li > a:hover { color: var(--wk-terracotta-ink); }
.main-navigation ul.menu ul, .main-navigation ul.nav-menu ul { background: var(--wk-porcelain-2); box-shadow: var(--wk-shadow); }
.storefront-primary-navigation { background: transparent; }
.site-header-cart .cart-contents .count {
	background: var(--wk-slate);
	color: var(--wk-porcelain);
	opacity: 1;
	border-radius: 999px;
	padding: 0 .55em;
	font-weight: 600;
}
.site-header-cart .widget_shopping_cart { background: var(--wk-porcelain-2); box-shadow: var(--wk-shadow); }
button.menu-toggle {
	border-color: var(--wk-slate);
	color: var(--wk-slate);
	background: transparent;
	border-radius: 999px;
	font-weight: 600;
}
button.menu-toggle::before, button.menu-toggle::after, button.menu-toggle span::before { background-color: var(--wk-slate); }
@media (max-width: 767px) {
	.site-header { padding-top: .9em; }
	.wk-logo svg { height: 36px; }
	.site-branding .site-description { display: none; }
	.site-header { padding-bottom: .4em; }
	.site-header .site-branding { margin-bottom: .6em; }
	.site-header .main-navigation { padding-bottom: 0; margin-bottom: 0; }
	.site-header button.menu-toggle { margin: 0; }
	.site-header .wk-brand { margin: 0; }
	.main-navigation.toggled ul.menu > li > a { padding: .9em 0; border-bottom: 1px solid var(--wk-line); }
}

.storefront-breadcrumb { background: transparent; margin-bottom: 1.5em; padding: 1.1em 0 0; }
.woocommerce-breadcrumb { font-size: .85rem; color: var(--wk-muted); }
.woocommerce-breadcrumb a { color: var(--wk-slate); }

/* ==========================================================================
   Buttons and forms
   ========================================================================== */
button, input[type=button], input[type=reset], input[type=submit],
.button, .added_to_cart, .wc-block-components-button:not(.is-link),
.wp-block-button__link, .wp-element-button {
	background: var(--wk-slate);
	border: 1px solid var(--wk-slate);
	color: var(--wk-porcelain);
	border-radius: 999px;
	font-weight: 600;
	letter-spacing: .01em;
	padding: .85em 1.6em;
	transition: background-color .2s var(--wk-ease), transform .2s var(--wk-ease), box-shadow .2s var(--wk-ease);
	text-decoration: none;
}
button:hover, input[type=submit]:hover, .button:hover, .added_to_cart:hover,
.wp-block-button__link:hover, .wp-element-button:hover {
	background: var(--wk-slate-deep);
	border-color: var(--wk-slate-deep);
	color: var(--wk-porcelain);
}
.button.alt, button.alt, .single_add_to_cart_button, .checkout-button, #place_order,
.wc-block-components-checkout-place-order-button {
	background: var(--wk-terracotta-ink) !important;
	border-color: var(--wk-terracotta-ink) !important;
	color: #fff !important;
}
.button.alt:hover, .single_add_to_cart_button:hover, .checkout-button:hover, #place_order:hover {
	background: #7E361D !important;
	border-color: #7E361D !important;
}
.is-style-outline .wp-block-button__link, .wk-button-ghost {
	background: transparent;
	color: var(--wk-slate);
	border: 1.5px solid var(--wk-slate);
}
.is-style-outline .wp-block-button__link:hover, .wk-button-ghost:hover { background: var(--wk-slate); color: var(--wk-porcelain); }
input[type=text], input[type=email], input[type=url], input[type=password], input[type=search],
input[type=number], input[type=tel], textarea, select, .select2-container .select2-selection--single {
	background: var(--wk-porcelain-2);
	border: 1px solid #CDBFAE;
	border-radius: var(--wk-radius-sm);
	box-shadow: none;
	color: var(--wk-ink);
}
input:focus, textarea:focus, select:focus { background: #fff; border-color: var(--wk-slate); }
label { font-weight: 600; color: var(--wk-slate); }

/* ==========================================================================
   Product grid (shop, categories, home)
   ========================================================================== */
ul.products li.product {
	background: var(--wk-porcelain-2);
	border-radius: var(--wk-radius);
	padding: 0 0 1.25em;
	box-shadow: var(--wk-shadow);
	overflow: hidden;
	transition: transform .35s var(--wk-ease), box-shadow .35s var(--wk-ease);
	text-align: left;
}
ul.products li.product:hover { transform: translateY(-3px); box-shadow: var(--wk-shadow-hover); }
ul.products li.product img { width: 100%; margin: 0 0 1em; border-radius: 0; transition: transform .6s var(--wk-ease); }
ul.products li.product:hover img { transform: scale(1.025); }
ul.products li.product .woocommerce-LoopProduct-link { display: block; overflow: hidden; text-decoration: none; }
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2, ul.products li.product h3 {
	font-size: 1.15rem;
	padding: 0 1.1rem;
	margin-bottom: .2em;
}
ul.products li.product .price {
	color: var(--wk-ink);
	font-weight: 600;
	padding: 0 1.1rem;
	display: block;
	margin-bottom: 1em;
}
ul.products li.product .price del { color: var(--wk-muted); opacity: 1; }
ul.products li.product .price ins { color: var(--wk-terracotta-ink); font-weight: 700; }
ul.products li.product .wk-notes {
	display: block;
	padding: 0 1.1rem;
	margin: 0 0 .6em;
	font-size: .88rem;
	color: var(--wk-muted);
	line-height: 1.45;
}
ul.products li.product .button { margin: 0 1.1rem; padding: .6em 1.2em; font-size: .9rem; }
ul.products li.product .star-rating { margin: 0 1.1rem .6em; }
.onsale {
	background: var(--wk-terracotta-ink);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: .72rem;
	padding: .35em .9em;
}
ul.products li.product .onsale { position: absolute; top: 12px; left: 12px; z-index: 2; margin: 0; }
ul.products li.product { position: relative; }
.wk-stock-chip {
	display: inline-block;
	margin: 0 1.1rem .6em;
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	border-radius: 999px;
	padding: .2em .7em;
	background: var(--wk-chip);
	color: var(--wk-slate);
}
.wk-stock-chip.is-out { background: #EBD9CF; color: #6B2C15; }

.woocommerce-products-header { padding: 0 0 1em; }
.woocommerce-products-header__title.page-title { margin-bottom: .2em; }
.term-description, .woocommerce-products-header .page-description { color: var(--wk-muted); max-width: 46em; }
.storefront-sorting { font-size: .9rem; margin-bottom: 1.5em; }
.storefront-sorting .woocommerce-ordering select { border-radius: 999px; padding: .45em 1em; }
.woocommerce-pagination .page-numbers li .page-numbers.current { background: var(--wk-slate); color: var(--wk-porcelain); border-radius: 999px; }

/* Shop sidebar filters */
.widget-area .widget { margin-bottom: 2em; }
.widget-area .widget .widget-title, .widget-area .widget .widgettitle {
	font-family: var(--wk-serif);
	font-size: 1.1rem;
	color: var(--wk-slate);
	border-bottom: 1px solid var(--wk-line);
	padding-bottom: .5em;
	margin-bottom: .8em;
	font-weight: 400;
}
.widget ul li { padding: .3em 0; border: 0; }
.widget ul li a { color: var(--wk-ink); text-decoration: none; }
.widget ul li a:hover, .widget ul li.chosen a { color: var(--wk-terracotta-ink); }
.widget_layered_nav li.chosen a::before { color: var(--wk-terracotta-ink); }
.widget_price_filter .ui-slider .ui-slider-range, .widget_price_filter .ui-slider .ui-slider-handle { background: var(--wk-slate); }
.widget_price_filter .price_slider_wrapper .ui-widget-content { background: var(--wk-line); }
.wk-filter-toggle { display: none; }
@media (max-width: 767px) {
	.wk-has-filters .wk-filter-toggle {
		display: inline-flex;
		align-items: center;
		gap: .5em;
		margin: 0 0 1em;
		background: transparent;
		color: var(--wk-slate);
		border: 1.5px solid var(--wk-slate);
	}
	.wk-has-filters #secondary { order: -1; }
	.wk-has-filters #secondary[hidden] { display: none; }
	.wk-has-filters .content-area { display: flex; flex-direction: column; }
}

/* ==========================================================================
   Single product
   ========================================================================== */
.single-product div.product .woocommerce-product-gallery {
	background: var(--wk-porcelain-2);
	border-radius: var(--wk-radius);
	overflow: hidden;
	box-shadow: var(--wk-shadow);
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img { border-radius: var(--wk-radius-sm); }
.single-product div.product .product_title { margin-bottom: .2em; }
.single-product div.product p.price { color: var(--wk-ink); font-size: 1.5rem; font-weight: 600; }
.single-product div.product p.price ins { color: var(--wk-terracotta-ink); }
.wk-glaze-meta { display: flex; flex-wrap: wrap; gap: .5em; margin: 0 0 1.1em; padding: 0; list-style: none; }
.wk-glaze-meta li {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wk-slate);
	background: var(--wk-chip);
	border-radius: 999px;
	padding: .3em .85em;
}
.wk-notes-line { font-family: var(--wk-serif); font-size: 1.1rem; color: var(--wk-tenmoku); margin-bottom: .8em; }
.single-product div.product .woocommerce-product-details__short-description { color: var(--wk-ink); }
.single-product div.product form.cart { padding: 1.2em 0; border-top: 1px solid var(--wk-line); border-bottom: 1px solid var(--wk-line); }
.single-product div.product .variations th, .single-product div.product .variations td { background: transparent; padding: .4em 0; }
.single-product div.product .variations select { min-width: 220px; }
.single-product div.product .quantity .qty { border-radius: 999px; width: 4.2em; }
.single-product .stock.in-stock { color: var(--wk-slate); font-weight: 600; }
.single-product .stock.out-of-stock { color: #8A3418; font-weight: 600; }
.single-product .stock.available-on-backorder { color: var(--wk-terracotta-ink); font-weight: 600; }
.wk-assurance {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: .75em;
	margin: 1.2em 0 0;
	padding: 0;
	list-style: none;
	font-size: .88rem;
	color: var(--wk-muted);
}
.wk-assurance li { background: var(--wk-porcelain-2); border-radius: var(--wk-radius-sm); padding: .7em .9em; }
.wk-assurance strong { display: block; color: var(--wk-slate); }
.woocommerce-tabs ul.tabs li a { color: var(--wk-slate); font-weight: 600; }
.woocommerce-tabs ul.tabs li.active a { color: var(--wk-terracotta-ink); }
.wk-sample-review {
	display: inline-block;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	background: var(--wk-chip);
	color: var(--wk-slate);
	border-radius: 999px;
	padding: .2em .7em;
	margin: 0 0 .5em;
}
.star-rating span::before, .star-rating::before { color: var(--wk-terracotta); }
.related.products > h2, .upsells.products > h2, .cross-sells > h2 { font-size: 1.6rem; margin-bottom: 1em; }

/* ==========================================================================
   Cart, checkout, account
   ========================================================================== */
table.shop_table, .woocommerce-cart-form, .cart_totals, #order_review,
.woocommerce-MyAccount-content, .woocommerce-form-login, .woocommerce-checkout-review-order {
	background: var(--wk-porcelain-2);
	border-radius: var(--wk-radius);
}
.woocommerce-cart-form, .cart-collaterals .cart_totals { padding: 1.25em; box-shadow: var(--wk-shadow); }
table.shop_table th { background: transparent; color: var(--wk-slate); }
table.shop_table td, table.shop_table th { border-color: var(--wk-line); }
table.cart td.product-thumbnail img { border-radius: var(--wk-radius-sm); max-width: 72px; }
.woocommerce-form-login, .woocommerce-form-register { border: 1px solid var(--wk-line); padding: 1.5em; }
.woocommerce-info, .woocommerce-message, .woocommerce-noreviews, p.no-comments {
	background: var(--wk-slate);
	color: var(--wk-porcelain);
	border-left: 0;
	border-radius: var(--wk-radius-sm);
}
.woocommerce-info a, .woocommerce-message a, .woocommerce-info .button, .woocommerce-message .button { color: var(--wk-porcelain); }
.woocommerce-error { background: #8A3418; border-radius: var(--wk-radius-sm); }
.woocommerce-MyAccount-navigation ul li a { color: var(--wk-slate); }
.woocommerce-MyAccount-navigation ul li.is-active a { color: var(--wk-terracotta-ink); font-weight: 700; }
#payment, .wc_payment_methods { background: var(--wk-chip) !important; border-radius: var(--wk-radius-sm); }
#payment .payment_box { background: var(--wk-porcelain-2) !important; }
@media (max-width: 767px) {
	.woocommerce-cart-form, .cart-collaterals .cart_totals { padding: .75em; }
	table.cart td.actions .coupon { display: flex; flex-direction: column; gap: .5em; }
	table.cart td.actions .coupon input.input-text { width: 100%; }
	table.cart td.actions .button { width: 100%; }
}

/* Mobile footer bar (Storefront handheld) */
.storefront-handheld-footer-bar { background: var(--wk-slate); border-top: 0; }
.storefront-handheld-footer-bar ul li > a { background-color: var(--wk-slate); color: var(--wk-porcelain); border-right-color: var(--wk-slate-deep); }
.storefront-handheld-footer-bar ul li > a::before { color: var(--wk-porcelain); }
.storefront-handheld-footer-bar ul li.cart .count { background: var(--wk-terracotta); color: #fff; border-color: var(--wk-slate); }
.storefront-handheld-footer-bar ul li.search .site-search { background: var(--wk-slate-deep); }

/* ==========================================================================
   Pages (home + editorial)
   ========================================================================== */
.home.page .entry-header, .wk-hide-title .entry-header { display: none; }
.page-template-template-fullwidth-php .site-main, .home .site-main { margin-bottom: 0; }
.page .entry-content, .page .hentry { margin-bottom: 0; }
.hentry { margin-bottom: 2em; }
.page:not(.home) .entry-header .entry-title { font-size: clamp(2rem, 1.6rem + 1.8vw, 3rem); margin-bottom: .3em; }
.page:not(.home):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-content { max-width: 46rem; }
.page:not(.home):not(.woocommerce-page) .entry-content > .alignwide,
.page:not(.home):not(.woocommerce-page) .entry-content > .alignfull { max-width: none; }
.entry-content h2 { margin-top: 1.6em; }
.entry-content .wk-lede { font-family: var(--wk-serif); font-size: 1.3rem; line-height: 1.5; color: var(--wk-slate); }
.entry-content details {
	background: var(--wk-porcelain-2);
	border-radius: var(--wk-radius-sm);
	padding: .9em 1.1em;
	margin: 0 0 .7em;
	box-shadow: var(--wk-shadow);
}
.entry-content details summary { cursor: pointer; font-weight: 700; color: var(--wk-slate); }
.entry-content details[open] summary { margin-bottom: .5em; }
.wk-callout {
	background: var(--wk-porcelain-2);
	border-left: 4px solid var(--wk-terracotta);
	border-radius: 0 var(--wk-radius-sm) var(--wk-radius-sm) 0;
	padding: 1em 1.25em;
	margin: 1.5em 0;
}
.wk-callout p:last-child { margin-bottom: 0; }

/* Home sections are full-bleed groups inside the full-width template. */
.wk-section { padding: clamp(48px, 7vw, 96px) 0; }
.wk-section > .wp-block-group__inner-container, .wk-section > .wk-inner { max-width: 1240px; margin: 0 auto; padding: 0 var(--wk-gutter); box-sizing: border-box; }
/* The home page runs edge to edge: no centered column, no sidebar float.
   (Sections carry their own centered .wk-inner, so no 100vw tricks needed.) */
.home .site-content > .col-full { max-width: none; padding-left: 0; padding-right: 0; }
.home .content-area, .storefront-full-width-content .content-area,
.page-template-template-fullwidth-php .content-area { width: 100%; float: none; margin-left: 0; margin-right: 0; }
.home .site-main { padding: 0; }
.home .hentry, .home .hentry .entry-content { max-width: none !important; width: auto !important; margin-left: 0 !important; margin-right: 0 !important; }
.home .entry-content > .alignfull, .home .wk-section { margin-left: 0 !important; margin-right: 0 !important; width: auto !important; max-width: none !important; }
.home .hentry { margin: 0; padding: 0; border: 0; }
html, body { overflow-x: clip; }
.wk-eyebrow {
	font-size: .8rem !important;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wk-terracotta-ink);
	margin-bottom: .8em !important;
}
.wk-section-head { display: flex; align-items: end; justify-content: space-between; gap: 1em; flex-wrap: wrap; margin-bottom: 1.6em; }
.wk-section-head h2 { margin: 0; }
.wk-section-head p { margin: 0; }

/* Hero */
.wk-hero.wp-block-cover {
	min-height: min(78vh, 680px) !important;
	padding: 0 !important;
	align-items: center;
	background: var(--wk-porcelain);
}
.wk-hero .wp-block-cover__image-background { object-position: 70% 50%; }
.wk-hero .wp-block-cover__inner-container { max-width: 1240px; width: 100%; margin: 0 auto; padding: 48px var(--wk-gutter); box-sizing: border-box; color: var(--wk-ink); }
.wk-hero .wp-block-cover__inner-container { max-width: 1240px !important; width: 100% !important; margin: 0 auto !important; color: var(--wk-ink) !important; }
.wk-hero .wp-block-cover__inner-container p { color: var(--wk-ink) !important; }
.wk-hero .wp-block-cover__inner-container .wk-eyebrow { color: var(--wk-terracotta-ink) !important; }
.wk-hero-copy { max-width: 31rem; }
.wk-hero h1 { color: var(--wk-slate); font-size: clamp(2.5rem, 1.7rem + 3.4vw, 4.6rem); line-height: 1.02; margin: 0 0 .35em; font-weight: 400; }
.wk-hero h1 em { font-style: normal; color: var(--wk-terracotta-ink); font-weight: 400; }
.wk-hero p { font-size: 1.15rem; color: var(--wk-ink); max-width: 27rem; }
.wk-hero .wp-block-buttons { gap: .75em; margin-top: 1.5em; }
@media (max-width: 781px) {
	/* Mobile: copy first, then the artwork underneath (no text over the pots). */
	.wk-hero.wp-block-cover { min-height: 0 !important; flex-direction: column; align-items: stretch; }
	.wk-hero .wp-block-cover__inner-container { order: 1; padding-top: 32px; padding-bottom: 20px; }
	.wk-hero .wp-block-cover__image-background {
		order: 2;
		position: static;
		width: 100%;
		height: 260px;
		object-fit: cover;
		object-position: 78% 60%;
	}
	.wk-hero .wp-block-cover__background { display: none; }
	.wk-hero p { font-size: 1.05rem; }
}

/* Shop by glaze (.wk-scents kept as an alias for older page markup) */
.wk-glazes, .wk-scents { background: var(--wk-porcelain-2); }
.wk-glaze-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
.wk-glaze-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .4em;
	padding: 1.5em 1.4em 1.3em;
	background: var(--wk-porcelain);
	border: 1px solid var(--wk-line);
	border-radius: var(--wk-radius);
	text-decoration: none !important;
	color: var(--wk-ink);
	transition: transform .3s var(--wk-ease), box-shadow .3s var(--wk-ease), border-color .3s;
}
.wk-glaze-card:hover { transform: translateY(-3px); box-shadow: var(--wk-shadow-hover); border-color: transparent; color: var(--wk-ink); }
.wk-glaze-card img { width: 44px; height: 44px; margin-bottom: .4em; }
.wk-glaze-card strong { font-family: var(--wk-serif); font-size: 1.35rem; font-weight: 400; color: var(--wk-slate); }
.wk-glaze-card span { font-size: .92rem; color: var(--wk-muted); line-height: 1.45; }
.wk-glaze-card::after { content: "→"; position: absolute; right: 1.2em; top: 1.3em; color: var(--wk-terracotta-ink); font-size: 1.2rem; transition: transform .3s var(--wk-ease); }
.wk-glaze-card:hover::after { transform: translateX(4px); }
@media (max-width: 900px) { .wk-glaze-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .wk-glaze-grid { grid-template-columns: 1fr 1fr; gap: .7rem; } .wk-glaze-card { padding: 1.1em; } .wk-glaze-card span { display: none; } }

/* Home product rows */
.home ul.products { margin-bottom: 0; }
@media (max-width: 767px) {
	.home .wk-bestsellers ul.products, .wk-rail ul.products {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 72%;
		gap: 1rem;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 1rem;
		-webkit-overflow-scrolling: touch;
	}
	.home .wk-bestsellers ul.products li.product, .wk-rail ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; scroll-snap-align: start; }
}

/* Story + gift (media & text) */
.wk-story .wp-block-media-text, .wk-gifts .wp-block-media-text { gap: 0; }
.wk-story .wp-block-media-text__media img, .wk-gifts .wp-block-media-text__media img { border-radius: var(--wk-radius); box-shadow: var(--wk-shadow); }
.wk-story .wp-block-media-text__content, .wk-gifts .wp-block-media-text__content { padding: 0 clamp(16px, 5vw, 64px); }
.wk-story .wp-block-media-text__content p, .wk-gifts .wp-block-media-text__content p { color: var(--wk-ink); }
.wk-gifts { background: var(--wk-slate); }
.wk-gifts h2, .wk-gifts p, .wk-gifts .wk-eyebrow { color: var(--wk-porcelain) !important; }
.wk-gifts .wp-block-button__link { background: var(--wk-porcelain); color: var(--wk-slate); border-color: var(--wk-porcelain); }
.wk-gifts .wp-block-button__link:hover { background: #fff; color: var(--wk-slate); }
.wk-gifts a:not(.wp-block-button__link) { color: var(--wk-porcelain); }
@media (max-width: 600px) {
	.wk-story .wp-block-media-text__content, .wk-gifts .wp-block-media-text__content { padding: 1.5em 0 0; }
}

/* Care strip + demo card */
.wk-care .wk-care-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; margin-top: 1.4em; }
.wk-care-item { background: var(--wk-porcelain-2); border-radius: var(--wk-radius); padding: 1.4em; box-shadow: var(--wk-shadow); }
.wk-care-item h3 { font-size: 1.15rem; margin: 0 0 .3em; }
.wk-care-item p { margin: 0; font-size: .95rem; color: var(--wk-muted); }
.wk-care-item .wk-num { font-family: var(--wk-serif); font-size: 2rem; color: var(--wk-terracotta); line-height: 1; display: block; margin-bottom: .3em; }
@media (max-width: 780px) { .wk-care .wk-care-grid { grid-template-columns: 1fr; } }
.wk-demo-card {
	border: 1.5px dashed var(--wk-slate);
	border-radius: var(--wk-radius);
	padding: 1.4em 1.6em;
	display: flex;
	gap: 1.2em;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	background: var(--wk-porcelain-2);
}
.wk-demo-card p { margin: 0; max-width: 46em; }
.wk-demo-card strong { color: var(--wk-slate); }

/* Category tiles */
.wk-cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
.wk-cat-tile { position: relative; display: block; border-radius: var(--wk-radius); overflow: hidden; text-decoration: none !important; box-shadow: var(--wk-shadow); }
.wk-cat-tile img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; transition: transform .6s var(--wk-ease); }
.wk-cat-tile:hover img { transform: scale(1.04); }
.wk-cat-tile span {
	position: absolute; left: .8em; bottom: .8em;
	background: var(--wk-porcelain); color: var(--wk-slate);
	font-family: var(--wk-serif); font-weight: 400; font-size: 1.1rem;
	padding: .35em .9em; border-radius: 999px;
}
@media (max-width: 780px) { .wk-cat-grid { grid-template-columns: 1fr 1fr; } }

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer { background: var(--wk-slate-deep); color: var(--wk-footer-text); padding: 3.5em 0 2em; }
.site-footer a { color: var(--wk-porcelain); }
.site-footer a:hover { color: #fff; }
.wk-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2em; margin-bottom: 2.5em; }
.wk-footer-grid h2 { font-family: var(--wk-serif); color: var(--wk-porcelain); font-size: 1.05rem; font-weight: 400; margin-bottom: .7em; letter-spacing: 0; }
.wk-footer-grid ul { list-style: none; margin: 0; padding: 0; }
.wk-footer-grid li { margin: 0 0 .45em; }
.wk-footer-grid li a { text-decoration: none; }
.wk-footer-grid li a:hover { text-decoration: underline; }
.wk-footer-brand p { color: var(--wk-footer-text); max-width: 24em; }
.wk-footer-brand .wk-logo { color: var(--wk-porcelain); margin-bottom: .8em; }
.wk-footer-brand .wk-brand { margin: 0 0 .6em; }
.wk-footer-disclosure {
	border-top: 1px solid rgba(244, 238, 230, .18);
	padding-top: 1.4em;
	font-size: .88rem;
	color: var(--wk-footer-text);
	display: flex;
	justify-content: space-between;
	gap: 1em;
	flex-wrap: wrap;
}
.wk-footer-disclosure strong { color: var(--wk-porcelain); letter-spacing: .06em; }
@media (max-width: 780px) {
	.wk-footer-grid { grid-template-columns: 1fr 1fr; }
	.wk-footer-brand { grid-column: 1 / -1; }
	.site-footer { padding-bottom: 6em; } /* clear the handheld bar */
}

/* ==========================================================================
   Motion: subtle reveal, off for people who ask for less motion
   ========================================================================== */
@media (prefers-reduced-motion: no-preference) {
	.wk-reveal { opacity: 0; transform: translateY(14px); transition: opacity .8s var(--wk-ease), transform .8s var(--wk-ease); }
	.wk-reveal.is-visible { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Cart and Checkout blocks are "wide" blocks; inside this theme's full-width
   column Storefront's negative wide margins would push them off screen. */
.entry-content > .alignwide,
.woocommerce-cart .entry-content .alignwide,
.woocommerce-checkout .entry-content .alignwide { margin-left: 0 !important; margin-right: 0 !important; max-width: 100% !important; width: auto !important; }
.woocommerce-checkout .entry-header .entry-title, .woocommerce-cart .entry-header .entry-title { text-align: left; }
.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar-layout .wc-block-components-sidebar { box-sizing: border-box; }
.wc-block-components-title.wc-block-components-title { font-family: var(--wk-serif); color: var(--wk-slate); }
.wp-block-woocommerce-checkout-order-summary-block, .wc-block-components-totals-wrapper { background: var(--wk-porcelain-2); }
/* Storefront caps .entry-content at a reading width; cart, checkout and
   account need the whole column for their two-panel layouts. */
.woocommerce-cart .hentry .entry-content,
.woocommerce-checkout .hentry .entry-content,
.woocommerce-account .hentry .entry-content { max-width: none !important; }
.wc-block-components-button, .wc-block-components-button:hover, .wp-block-button__link { text-decoration: none !important; }

/* ==========================================================================
   Pottery details: glazed surfaces, wheel rings, a rim on the footer
   ========================================================================== */

/* Glazed cards: a soft highlight along the top edge and a little pooling at
   the bottom, like glaze that ran while it was fired. */
ul.products li.product,
.wk-glaze-card,
.wk-care-item,
.entry-content details,
.wk-assurance li,
.woocommerce-cart-form, .cart-collaterals .cart_totals {
	box-shadow: var(--wk-glaze), var(--wk-shadow);
}
ul.products li.product:hover, .wk-glaze-card:hover { box-shadow: var(--wk-glaze), var(--wk-shadow-hover); }

/* Product photos sit on a warm kiln-shelf tone, with a raw-clay "foot" line. */
ul.products li.product .woocommerce-LoopProduct-link img { background: var(--wk-chip); }
ul.products li.product .woocommerce-loop-product__title { padding-top: .1em; }
ul.products li.product .woocommerce-LoopProduct-link::after {
	content: "";
	display: block;
	height: 3px;
	margin: -1em 0 1em;
	background: linear-gradient(90deg, transparent, rgba(194, 105, 63, .35) 20%, rgba(194, 105, 63, .35) 80%, transparent);
}

/* Header: wheel rings instead of a flat rule; small-caps navigation. */
.site-header { border-bottom: 0; position: relative; }
.site-header::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -7px;
	width: 120px;
	height: 14px;
	transform: translateX(-50%);
	background: var(--wk-rings) no-repeat center / contain;
	pointer-events: none;
}
.site-header { box-shadow: inset 0 -1px 0 var(--wk-line); }
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: .8rem;
	font-weight: 700;
}
.main-navigation ul.menu > li.current-menu-item > a { box-shadow: inset 0 -2px 0 var(--wk-terracotta); }
@media (max-width: 767px) {
	.site-header::after { display: none; }
	.main-navigation ul.menu > li.current-menu-item > a { box-shadow: none; }
}

/* Eyebrows and section heads get the throwing lines underneath. */
.wk-eyebrow { display: inline-block; }
.wk-section-head { position: relative; padding-bottom: 1.1em; }
.wk-section-head::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 120px;
	height: 14px;
	background: var(--wk-rings) no-repeat left center / contain;
}

/* Shop-by-glaze cards: the icon reads as a round glaze test tile. */
.wk-glaze-card img {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	box-shadow: 0 0 0 4px var(--wk-porcelain-2), 0 0 0 5px var(--wk-line), inset 0 2px 4px rgba(255, 255, 255, .5);
	object-fit: cover;
}
.wk-glaze-card { background: var(--wk-porcelain-2); }
.wk-glazes .wk-glaze-card, .wk-scents .wk-glaze-card { background: var(--wk-porcelain); }

/* Category tiles: labels like a stamped maker's mark. */
.wk-cat-tile span {
	background: var(--wk-porcelain-2);
	border: 1px solid var(--wk-line);
	box-shadow: 0 2px 6px rgba(42, 38, 34, .12);
}

/* Glaze chips on the product page carry a small swatch dot. */
.wk-glaze-meta li { display: inline-flex; align-items: center; gap: .45em; }
.wk-glaze-meta li::before {
	content: "";
	width: .8em;
	height: .8em;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #fff 0 12%, transparent 13%), var(--wk-terracotta);
	box-shadow: inset 0 0 0 1px rgba(42, 38, 34, .2);
}

/* Footer: a rounded rim where it meets the page, like the lip of a bowl. */
.site-footer {
	border-radius: 48px 48px 0 0 / 28px 28px 0 0;
	margin-top: 2em;
	position: relative;
}
.site-footer::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 14px;
	width: 120px;
	height: 14px;
	transform: translateX(-50%);
	background: var(--wk-rings) no-repeat center / contain;
	opacity: .8;
}
.home .site-footer { margin-top: 0; }

/* Gift band: slate with the same speckle, so it reads as a glazed surface. */
.wk-gifts { background: var(--wk-slate) var(--wk-specks); }

/* The demo card is a dashed "kiln shelf" outline in terracotta. */
.wk-demo-card { border-color: var(--wk-terracotta); }

/* Windows high contrast / forced colors: drop the decorative layers. */
@media (forced-colors: active) {
	.site-header::after, .site-footer::before, .wk-section-head::after,
	ul.products li.product .woocommerce-LoopProduct-link::after { display: none; }
}
