/**
 * Professor Herb — layout CSS reverse-engineered from Shopify Dawn (base.css + theme.liquid).
 *
 * Shopify reference values (html font-size 62.5% → 1rem = 10px):
 *   --page-width: 1200px
 *   page pad mobile: 1.5rem (15px) | desktop ≥750px: 5rem (50px)
 *   body: 1.5rem / 1.6rem, letter-spacing 0.06rem
 *   grid gap: 4px | section spacing: 4px
 *   buttons-radius: 4px | card-radius: 4px | badge-radius: 40px
 *   breakpoints: 750px (tablet), 990px (desktop)
 */

/* -------------------------------------------------------------------------- */
/* Root tokens                                                                */
/* -------------------------------------------------------------------------- */

:root {
	--ph-page-width: 1200px;
	--ph-page-pad-mobile: 15px;
	--ph-page-pad-desktop: 50px;
	--ph-page-pad-header: 32px;
	--ph-grid-gap: 4px;
	--ph-section-gap: 4px;
	--ph-button-radius: 4px;
	--ph-card-radius: 4px;
	--ph-badge-radius: 40px;
	--ph-video-radius: 8px;
	--ph-logo-width: 120px;

	--ph-forest: #113a2d;
	--ph-cream: #faeec2;
	--ph-lime: #79f755;
	--ph-ticker: #945eb6;
	--ph-white: #ffffff;
	--ph-black: #111111;
	--ph-muted: #838383;
	--ph-orange: #ff8e50;
	--ph-sand: #edb677;

	--ph-font: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* -------------------------------------------------------------------------- */
/* Base (Dawn body grid: auto auto 1fr auto)                                  */
/* -------------------------------------------------------------------------- */

html {
	box-sizing: border-box;
	scroll-behavior: smooth;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body {
	margin: 0;
	min-height: 100%;
	font-family: var(--ph-font);
	-webkit-font-smoothing: antialiased;
}

body.monkey-king {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

body.monkey-king .wp-site-blocks {
	display: flex;
	flex-direction: column;
	flex: 1 0 auto;
	min-height: 100vh;
}

body.monkey-king .wp-site-blocks > main,
body.monkey-king .wp-site-blocks > .wp-block-group.site-content {
	flex: 1 0 auto;
}

/* -------------------------------------------------------------------------- */
/* Page width — matches .page-width in base.css                               */
/* -------------------------------------------------------------------------- */

.ph-page-width,
.wp-block-group.alignwide,
.wp-block-group.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: var(--ph-page-width);
}

/* Root padding mirrors Dawn: 1.5rem mobile / 5rem desktop */
@media screen and (min-width: 750px) {
	body .wp-site-blocks {
		padding-left: 0;
		padding-right: 0;
	}

	.ph-page-pad {
		padding-left: var(--ph-page-pad-desktop) !important;
		padding-right: var(--ph-page-pad-desktop) !important;
	}
}

.ph-page-pad {
	padding-left: var(--ph-page-pad-mobile);
	padding-right: var(--ph-page-pad-mobile);
	max-width: var(--ph-page-width);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

/* -------------------------------------------------------------------------- */
/* Header stack (header-group.json order)                                     */
/* -------------------------------------------------------------------------- */

.ph-ticker {
	background: var(--ph-ticker);
	color: var(--ph-white);
	font-size: 12px;
	font-weight: 400;
	overflow: hidden;
	white-space: nowrap;
	line-height: 1.6;
	padding: 6px 0;
}

.ph-ticker__track {
	display: inline-flex;
	gap: 20px;
	animation: ph-ticker-scroll 60s linear infinite;
	padding-left: 100%;
}

.ph-ticker:hover .ph-ticker__track {
	animation-play-state: paused;
}

.ph-ticker__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

@keyframes ph-ticker-scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.ph-top-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	text-align: center;
	font-size: 14px;
	line-height: 1.4;
	padding: 8px 16px;
}

.ph-top-bar--cream {
	background: var(--ph-cream);
	color: var(--ph-forest);
}

.ph-top-bar--lime {
	background: var(--ph-lime);
	color: var(--ph-forest);
	font-size: 11px;
}

.ph-top-bar a {
	color: inherit;
	text-decoration: none;
	font-weight: 500;
}

.ph-top-bar a:hover {
	text-decoration: underline;
}

/* Header: scheme-4 forest + cream (logo top-center, mega menu) */
.ph-header {
	background: var(--ph-forest);
	color: var(--ph-cream);
	border-bottom: 1px solid rgba(250, 238, 194, 0.15);
}

.ph-header .wp-block-site-logo img {
	max-width: var(--ph-logo-width);
	height: auto;
}

.ph-header .wp-block-navigation-item__content,
.ph-header .wp-block-navigation-item__label {
	color: var(--ph-cream);
}

.ph-header .wp-block-navigation__submenu-container {
	background: var(--ph-forest) !important;
	color: var(--ph-cream);
	padding: 10px;
	border: none;
	min-width: 200px;
}

.ph-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--ph-forest);
	color: var(--ph-cream);
}

/* -------------------------------------------------------------------------- */
/* Buttons                                                                    */
/* -------------------------------------------------------------------------- */

.wp-block-button__link {
	border-radius: var(--ph-button-radius) !important;
	font-family: var(--ph-font);
	letter-spacing: 0.06em;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border-width: 1px;
}

.ph-btn-hero .wp-block-button__link {
	background: var(--ph-white) !important;
	color: #000 !important;
	border-radius: 8px !important;
	padding: 8px 20px !important;
	font-size: 16px;
}

.ph-btn-hero .wp-block-button__link:hover {
	background: #333 !important;
	color: #fff !important;
}

.ph-btn-promo .wp-block-button__link {
	background: var(--ph-sand) !important;
	color: var(--ph-forest) !important;
	border-radius: 8px !important;
	padding: 12px 36px !important;
	font-size: 16px;
}

.ph-btn-secondary .wp-block-button__link {
	background: transparent !important;
	color: var(--ph-cream) !important;
	border: 1px solid var(--ph-cream) !important;
}

/* -------------------------------------------------------------------------- */
/* Product cards (card style: card, radius 4, text left)                      */
/* -------------------------------------------------------------------------- */

.wc-block-grid__product,
.wc-block-product,
.woocommerce ul.products li.product {
	border-radius: var(--ph-card-radius);
	overflow: hidden;
	text-align: left;
	background: var(--ph-white);
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--ph-grid-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media screen and (min-width: 750px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (min-width: 990px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(4, 1fr);
	}
}

.woocommerce ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 14px;
	font-weight: 500;
	padding: 13px 10px 0;
	margin: 0;
	color: var(--ph-forest);
}

.woocommerce ul.products li.product .price {
	padding: 4px 10px 13px;
	font-weight: 600;
	color: var(--ph-forest);
	font-size: 15px;
}

.woocommerce span.onsale {
	background: var(--ph-forest);
	color: var(--ph-cream);
	border-radius: var(--ph-badge-radius);
	line-height: 1.2;
	min-height: auto;
	padding: 4px 10px;
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.06em;
}

/* -------------------------------------------------------------------------- */
/* Carousel section (custom product collection strip)                         */
/* -------------------------------------------------------------------------- */

.ph-carousel {
	margin-top: 20px;
	margin-bottom: 20px;
}

@media screen and (max-width: 749px) {
	.ph-carousel {
		margin-top: 15px;
		margin-bottom: 15px;
	}
}

.ph-carousel__title {
	font-size: 20px;
	font-weight: 600;
	margin: 0 0 1rem;
	color: var(--ph-black);
}

@media screen and (min-width: 768px) {
	.ph-carousel__title {
		font-size: 28px !important;
	}
}

/* Horizontal product scroll */
.ph-carousel .wc-block-product-template,
.ph-carousel .wp-block-post-template {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 8px;
	scrollbar-width: thin;
}

.ph-carousel .wc-block-product-template > *,
.ph-carousel .wp-block-post-template > * {
	flex: 0 0 42%;
	max-width: 42%;
	scroll-snap-align: start;
}

@media screen and (min-width: 750px) {
	.ph-carousel .wc-block-product-template > *,
	.ph-carousel .wp-block-post-template > * {
		flex: 0 0 22%;
		max-width: 22%;
	}
}

/* -------------------------------------------------------------------------- */
/* Category carousel / directory                                              */
/* -------------------------------------------------------------------------- */

.ph-category-bar {
	background: var(--ph-forest);
	color: var(--ph-cream);
	padding: 0.2rem;
}

.ph-category-bar__title {
	color: var(--ph-cream);
	font-size: 1.3rem;
	font-weight: 400;
	padding-left: 2rem;
	margin: 0.5rem 0;
}

.ph-category-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.1rem;
	padding: 0.2rem;
}

@media screen and (min-width: 750px) {
	.ph-category-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media screen and (min-width: 990px) {
	.ph-category-grid {
		grid-template-columns: repeat(6, 1fr);
	}
}

.ph-category-card {
	background: var(--ph-forest);
	color: var(--ph-cream);
	text-align: center;
	padding: 12px 8px;
	text-decoration: none;
	border-radius: 4px;
	transition: opacity 0.2s ease;
}

.ph-category-card:hover {
	opacity: 0.85;
	color: var(--ph-lime);
}

.ph-category-card img {
	width: 100%;
	height: auto;
	border-radius: 4px;
	margin-bottom: 8px;
	display: block;
}

.ph-category-card__label {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.04em;
	display: block;
}

/* -------------------------------------------------------------------------- */
/* Hero / video + text sections                                               */
/* -------------------------------------------------------------------------- */

.ph-hero-video {
	background: #000;
	color: #fff;
	padding: 0 0 20px;
}

.ph-hero-video__heading {
	font-size: 28px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 20px;
	line-height: 1.2;
}

@media screen and (min-width: 750px) {
	.ph-hero-video__heading {
		font-size: 44px;
	}
}

.ph-hero-video__text {
	font-size: 18px;
	color: var(--ph-muted);
	margin: 0 0 30px;
	line-height: 1.6;
}

.ph-hero-video video,
.ph-hero-video .wp-block-video,
.ph-hero-video .wp-block-embed {
	border-radius: var(--ph-video-radius);
	overflow: hidden;
	margin: 0 0 20px;
	width: 100%;
}

.ph-two-col-promo {
	background: var(--ph-orange);
	color: #fff;
	padding: 20px 0;
}

.ph-two-col-promo h2 {
	color: #f3f3f3;
	font-size: 32px;
	margin: 0 0 0;
	line-height: 1.2;
}

.ph-two-col-promo p {
	color: #fff;
	font-size: 16px;
	margin: 0 0 18px;
}

.ph-two-col-promo .wp-block-columns {
	gap: 20px !important;
	max-width: var(--ph-page-width);
	margin-left: auto;
	margin-right: auto;
}

/* Cream scheme (featured product / image-with-text) */
.ph-scheme-cream {
	background: var(--ph-cream) !important;
	color: var(--ph-forest) !important;
}

.ph-scheme-cream h1,
.ph-scheme-cream h2,
.ph-scheme-cream h3,
.ph-scheme-cream p,
.ph-scheme-cream a {
	color: var(--ph-forest);
}

.ph-scheme-forest {
	background: var(--ph-forest) !important;
	color: var(--ph-white) !important;
}

.ph-scheme-forest h1,
.ph-scheme-forest h2,
.ph-scheme-forest h3,
.ph-scheme-forest p {
	color: var(--ph-white);
}

.ph-scheme-lime {
	background: var(--ph-lime) !important;
	color: var(--ph-forest) !important;
}

/* Image banner */
.ph-image-banner {
	position: relative;
	text-align: center;
}

.ph-image-banner .wp-block-cover {
	min-height: 280px;
}

@media screen and (min-width: 750px) {
	.ph-image-banner .wp-block-cover {
		min-height: 420px;
	}
}

/* Collection list — 3 desktop / 2 mobile */
.ph-collection-list .wp-block-columns {
	gap: 4px !important;
}

/* Footer — scheme-5 lime, pad 56 */
.ph-footer {
	background: var(--ph-lime);
	color: var(--ph-forest);
	padding-top: 56px;
	padding-bottom: 56px;
}

.ph-footer h2,
.ph-footer h3,
.ph-footer .wp-block-heading {
	color: var(--ph-forest);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 1rem;
}

.ph-footer a {
	color: var(--ph-forest);
	text-decoration: none;
	font-size: 14px;
	line-height: 1.8;
}

.ph-footer a:hover {
	text-decoration: underline;
}

.ph-footer .wp-block-columns {
	gap: 4px !important;
	row-gap: 24px !important;
}

/* Icon row (trust badges) */
.ph-icon-row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	text-align: center;
	padding: 24px 0;
}

@media screen and (min-width: 750px) {
	.ph-icon-row {
		grid-template-columns: repeat(4, 1fr);
	}
}

.ph-icon-row__item img {
	width: 40px;
	height: 40px;
	object-fit: contain;
	margin: 0 auto 8px;
	display: block;
}

.ph-icon-row__item p {
	font-size: 12px;
	margin: 0;
	font-weight: 500;
}

/* Single product */
.woocommerce div.product div.images {
	margin-bottom: 1rem;
}

.woocommerce div.product .product_title {
	font-size: 30px;
	font-weight: 800;
	letter-spacing: 0.06em;
	color: var(--ph-forest);
}

@media screen and (min-width: 750px) {
	.woocommerce div.product .product_title {
		font-size: 40px;
	}
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--ph-forest);
	font-size: 18px;
	font-weight: 600;
}

.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--ph-forest);
	color: var(--ph-cream);
	border-radius: var(--ph-button-radius);
	font-weight: 500;
	letter-spacing: 0.06em;
	padding: 12px 28px;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce button.button.alt:hover {
	background: #0a241c;
	color: var(--ph-cream);
}

/* Blog cards */
.ph-blog-grid .wp-block-post-template {
	gap: 4px !important;
}

.ph-blog-grid .wp-block-post {
	background: var(--ph-cream);
	color: var(--ph-forest);
	border-radius: 0;
	overflow: hidden;
}

/* Announcement strip */
.ph-announcement {
	background: #ffe8e8;
	color: var(--ph-forest);
	font-size: 12px;
	font-weight: 500;
	text-align: center;
	padding: 8px 16px;
	line-height: 1.5;
}

.ph-announcement a {
	color: #f84248;
	font-weight: 600;
}

/* Utility */
.ph-full-bleed {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.ph-section-pad {
	padding-top: 36px;
	padding-bottom: 36px;
}

.ph-section-pad-sm {
	padding-top: 12px;
	padding-bottom: 12px;
}

/* Site Editor / block gap tighten to Shopify spacing_sections: 4 */
.wp-site-blocks > * + * {
	margin-block-start: var(--ph-section-gap);
}

/* Cart drawer-like table cleanup */
.woocommerce-cart table.cart img {
	width: 80px;
}

/* Search form in header */
.ph-header .wp-block-search__input {
	border: 1px solid rgba(250, 238, 194, 0.4);
	background: rgba(255, 255, 255, 0.08);
	color: var(--ph-cream);
	border-radius: 0;
	font-size: 14px;
}

.ph-header .wp-block-search__button {
	background: var(--ph-cream);
	color: var(--ph-forest);
	border-radius: var(--ph-button-radius);
}

/* Focus states */
:focus-visible {
	outline: 2px solid rgba(17, 58, 45, 0.5);
	outline-offset: 3px;
}

.ph-header :focus-visible {
	outline-color: rgba(250, 238, 194, 0.7);
}

/* ==========================================================================
   Product card (site-wide) — Shopify card-product
   ========================================================================== */

.mk-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 4px;
	padding: 1.2rem;
	box-sizing: border-box;
	height: 100%;
	text-align: left;
	color: var(--ph-forest, #113a2d);
}

.mk-product-card__badge {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 2;
	background: var(--ph-forest, #113a2d);
	color: var(--ph-cream, #faeec2);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 40px;
	line-height: 1.2;
}

.mk-product-card__media {
	display: block;
	text-align: center;
	margin-bottom: 0.75rem;
}

.mk-product-card__img {
	width: 100%;
	height: auto;
	object-fit: contain;
	border-radius: 0;
	max-height: 280px;
}

.mk-product-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 0.35rem;
}

.mk-product-card__variant-label {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: #666;
	text-transform: uppercase;
}

.mk-product-card__title {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.02em;
}

.mk-product-card__title a {
	color: inherit;
	text-decoration: none;
}

.mk-product-card__title a:hover {
	text-decoration: underline;
}

.mk-product-card__price {
	font-size: 15px;
	font-weight: 600;
	color: var(--ph-forest, #113a2d);
}

.mk-product-card__price del {
	opacity: 0.55;
	font-weight: 400;
	margin-right: 0.35rem;
}

.mk-product-card__price ins {
	text-decoration: none;
	color: #cc192e;
}

.mk-product-card__stock {
	font-size: 12px;
	margin: 0;
	color: #888;
}

.mk-product-card__actions {
	margin-top: auto;
	padding-top: 0.75rem;
}

.mk-product-card__actions .button,
.mk-product-card__actions .add_to_cart_button {
	display: inline-block;
	background: var(--ph-forest, #113a2d);
	color: var(--ph-cream, #faeec2) !important;
	border: 1px solid var(--ph-forest, #113a2d);
	border-radius: 4px;
	padding: 0.55rem 1rem;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-decoration: none !important;
	text-align: center;
	width: 100%;
	box-sizing: border-box;
	transition: background 0.15s ease, color 0.15s ease;
}

.mk-product-card__actions .button:hover,
.mk-product-card__actions .add_to_cart_button:hover {
	background: #0a241c;
	color: #fff !important;
}

/* Classic Woo loop: avoid nested card chrome on li.product */
.woocommerce ul.products li.product {
	border: none;
	background: transparent;
	padding: 0;
}

.woocommerce ul.products li.product .mk-product-card {
	width: 100%;
}

/* Variation layout grid */
.mk-variation-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
	float: none !important;
	width: 100% !important;
}

@media screen and (min-width: 750px) {
	.mk-variation-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (min-width: 990px) {
	.mk-variation-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.mk-variation-grid__item {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	list-style: none;
}


/* ==========================================================================
   Variant pills (Shopify product-form__input--pill)
   ========================================================================== */

/* Layout for classic variations table */
.mk-variant-picker--pills .variations,
body.mk-variant-style-pills form.variations_form .variations,
body.mk-variant-style-pills .variations {
	width: 100%;
	margin-bottom: 1rem;
}

body.mk-variant-style-pills .variations tbody {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

body.mk-variant-style-pills .variations tr {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	border: 0;
}

body.mk-variant-style-pills .variations th.label,
body.mk-variant-style-pills .variations .label {
	padding: 0;
	width: auto;
	text-align: left;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--ph-forest, #113a2d);
}

body.mk-variant-style-pills .variations td.value,
body.mk-variant-style-pills .variations .value {
	padding: 0;
	width: 100%;
}

/* Hide native select ONLY when pills are present (never leave a blank UI) */
.mk-variant-control--pills select.mk-variant-select,
.mk-variant-control--pills select,
body.mk-variant-style-pills .mk-variant-control--pills select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
	opacity: 0 !important;
}

.mk-variant-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 0.25rem 0 0;
	padding: 0;
}

.mk-variant-pills__btn {
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	border: 1px solid rgba(17, 58, 45, 0.35);
	background: #fff;
	color: var(--ph-forest, #113a2d);
	border-radius: 40px;
	padding: 0.55rem 1.15rem;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.2;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.mk-variant-pills__btn:hover {
	border-color: var(--ph-forest, #113a2d);
}

.mk-variant-pills__btn.is-selected,
.mk-variant-pills__btn[aria-pressed="true"] {
	background: var(--ph-forest, #113a2d);
	color: var(--ph-cream, #faeec2);
	border-color: var(--ph-forest, #113a2d);
}

.mk-variant-pills__btn.is-disabled,
.mk-variant-pills__btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	text-decoration: line-through;
}

/* Dropdown mode: hide any pills, show select */
body.mk-variant-style-dropdown .mk-variant-pills,
.mk-variant-picker--dropdown .mk-variant-pills {
	display: none !important;
}

body.mk-variant-style-dropdown .mk-variant-control--pills select,
.mk-variant-picker--dropdown select {
	position: static !important;
	width: 100% !important;
	max-width: 320px;
	height: auto !important;
	clip: auto !important;
	margin: 0 !important;
	padding: 0.6rem 0.75rem !important;
	overflow: visible !important;
	opacity: 1 !important;
	border: 1px solid rgba(17, 58, 45, 0.35) !important;
	border-radius: 0 !important;
	font-family: inherit;
	font-size: 14px;
	color: var(--ph-forest, #113a2d);
	background: #fff;
}

/* Make sure variation form is visible on block product pages */
.wp-block-woocommerce-add-to-cart-form form.variations_form,
.wp-block-add-to-cart-form form.variations_form,
form.variations_form {
	display: block;
	width: 100%;
	margin-bottom: 1rem;
}

.single-product .variations {
	margin-bottom: 1rem;
}

/* ==========================================================================
   Mini-cart drawer (right-side pop-out)
   ========================================================================== */

/* Ensure drawer stacks above sticky header */
.wc-block-components-drawer__screen-overlay,
.wc-block-mini-cart__drawer,
.wc-block-components-drawer {
	z-index: 100000 !important;
}

/* Right-side panel feel + brand colours */
.wc-block-mini-cart__drawer .wc-block-components-drawer__content,
.wc-block-components-drawer .wc-block-components-drawer__content,
.wc-block-mini-cart__drawer {
	background: #ffffff;
	color: #113a2d;
	font-family: "Poppins", system-ui, sans-serif;
}

.wc-block-mini-cart__button {
	color: #faeec2 !important;
}

.wc-block-mini-cart__badge {
	background: #faeec2 !important;
	color: #113a2d !important;
	font-weight: 700;
}

/* Drawer title / footer checkout button */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title,
.wc-block-mini-cart__drawer h2 {
	color: #113a2d;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.wc-block-mini-cart__drawer .wc-block-components-button,
.wc-block-mini-cart__footer .wc-block-components-button,
.wc-block-mini-cart__footer-checkout,
a.wc-block-components-button:not(.is-link) {
	border-radius: 4px !important;
}

.wc-block-mini-cart__footer .wc-block-components-checkout-button,
.wc-block-mini-cart__footer a.contained,
.wp-block-woocommerce-mini-cart-checkout-button-block .wc-block-components-button {
	background: #113a2d !important;
	color: #faeec2 !important;
	border-color: #113a2d !important;
	font-weight: 600;
	letter-spacing: 0.06em;
}

.wc-block-mini-cart__footer .wc-block-components-button:hover,
.wp-block-woocommerce-mini-cart-checkout-button-block .wc-block-components-button:hover {
	background: #0a241c !important;
	color: #ffffff !important;
}

/* Overlay dim */
.wc-block-components-drawer__screen-overlay--with-slide-out,
.wc-block-components-drawer__screen-overlay.is-open,
.wc-block-components-drawer__screen-overlay {
	background: rgba(17, 58, 45, 0.45) !important;
}

/* Quiet “added” notice — drawer is the main feedback */
.mk-added-to-cart-notice {
	position: fixed;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	z-index: 99990;
	background: #113a2d;
	color: #faeec2;
	padding: 10px 18px;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.04em;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
	pointer-events: none;
	animation: mk-notice-fade 2.4s ease forwards;
}

@keyframes mk-notice-fade {
	0% { opacity: 0; transform: translateX(-50%) translateY(8px); }
	12% { opacity: 1; transform: translateX(-50%) translateY(0); }
	75% { opacity: 1; }
	100% { opacity: 0; }
}

/* Hide Woo’s default modal-like notices when we just opened the cart (optional polish) */
body.mk-mini-cart-just-opened .woocommerce-message {
	/* keep accessible but less modal */
	max-width: 420px;
}

/* Classic single product add-to-cart (pills host) */
.mk-classic-add-to-cart {
	margin: 1.25rem 0 1.5rem;
}

.mk-product-brand {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #113a2d;
	opacity: 0.75;
	margin: 0 0 0.75rem;
}

.mk-classic-price {
	font-size: 1.25rem;
	font-weight: 600;
	color: #113a2d;
	margin: 0.5rem 0 1rem;
}

.mk-classic-add-to-cart .quantity {
	margin-right: 0.5rem;
}

.mk-classic-add-to-cart .single_add_to_cart_button {
	background: #113a2d !important;
	color: #faeec2 !important;
	border-radius: 4px !important;
	padding: 0.75rem 1.5rem !important;
	font-weight: 600;
	letter-spacing: 0.06em;
}

.mk-classic-add-to-cart .single_add_to_cart_button:hover {
	background: #0a241c !important;
	color: #fff !important;
}

/* Variations table labels (Pack Size / Size) */
.mk-classic-add-to-cart .variations .label label,
.mk-classic-add-to-cart table.variations th.label {
	font-size: 13px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0.02em;
	color: #113a2d;
}

.mk-product-title {
	margin-bottom: 0.35rem;
}

/* ==========================================================================
   Variation pills — match Professor Herb (Dawn) more closely
   radius ~40px, forest selected, cream/outline unselected
   Covers classic form + WooCommerce Blocks attribute chips
   ========================================================================== */

/* Classic / theme pills */
.mk-variant-pills__btn {
	border-radius: 40px !important;
	min-height: 40px;
	padding: 0.65rem 1.35rem !important;
	border-width: 1px;
	border-style: solid;
	border-color: rgba(17, 58, 45, 0.45);
	background: transparent;
	color: #113a2d;
	font-size: 13px;
	font-weight: 500;
}

.mk-variant-pills__btn.is-selected,
.mk-variant-pills__btn[aria-pressed="true"] {
	background: #113a2d !important;
	color: #faeec2 !important;
	border-color: #113a2d !important;
}

/* WooCommerce Blocks / Add to cart form variation attribute buttons (your screenshot) */
.wc-block-components-product-attribute-button,
.wc-block-components-product-variations .wc-block-components-button,
.wp-block-woocommerce-add-to-cart-form .wc-block-components-attribute-picker button,
.wp-block-woocommerce-product-button,
.wc-block-components-chip,
.wc-block-components-chip__content,
.woocommerce-variation-items .button,
.variations_form .button,
/* Common block theme attribute option buttons */
.wc-block-add-to-cart-form .variations button,
.wc-block-components-product-attribute button,
[class*="attribute"] button[aria-pressed],
.wp-block-woocommerce-product-variation-items .wc-block-components-button,
/* Fallback: bordered option buttons in product summary */
.mk-template-single-product button[role="option"],
.mk-template-single-product .wc-block-components-button:not(.wc-block-components-product-button__button):not(.single_add_to_cart_button) {
	border-radius: 40px !important;
}

/* Target the scent/size option chips specifically when they look like pills in a wrap */
.wp-block-woocommerce-add-to-cart-with-options button,
.wp-block-woocommerce-product-variation-description ~ * button,
.woocommerce div.product form.cart .button.alt,
/* Attribute option list as flex chips */
.wc-block-components-product-attribute-options__list button,
ul.wc-block-components-attribute-options li button,
.wc-block-components-attribute-options button {
	border-radius: 40px !important;
	min-height: 38px;
	padding: 0.5rem 1.1rem !important;
	border: 1px solid rgba(17, 58, 45, 0.35) !important;
	background: #fff !important;
	color: #113a2d !important;
	font-weight: 500 !important;
	letter-spacing: 0.03em;
	box-shadow: none !important;
}

/* Selected state — forest fill + cream text (Professor Herb scheme) */
.wc-block-components-attribute-options button[aria-pressed="true"],
.wc-block-components-attribute-options button.is-selected,
.wc-block-components-attribute-options button[aria-checked="true"],
.wc-block-components-product-attribute-options__list button[aria-pressed="true"],
ul.wc-block-components-attribute-options li button.selected,
.wc-block-components-attribute-options button.selected {
	background: #113a2d !important;
	color: #faeec2 !important;
	border-color: #113a2d !important;
}

/* Label above pills e.g. "Scent" / "Pack Size" */
.wc-block-components-product-attribute-label,
.wc-block-components-attribute-picker__label,
.mk-classic-add-to-cart .label label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #113a2d !important;
	margin-bottom: 0.4rem !important;
	display: block;
}

/* Chip gap like Shopify */
.wc-block-components-attribute-options,
.wc-block-components-product-attribute-options__list,
.mk-variant-pills {
	gap: 0.5rem !important;
	flex-wrap: wrap !important;
	display: flex !important;
}

/* ==========================================================================
   Single product — Professor Herb default parity (mk-pdp-ph)
   ========================================================================== */

.mk-pdp-ph {
	color: #113a2d;
}

.mk-pdp-breadcrumbs {
	font-size: 12px;
}

.mk-pdp-title {
	font-weight: 800 !important;
	letter-spacing: 0.04em;
	line-height: 1.15;
	margin: 0 0 0.5rem !important;
	color: #113a2d !important;
}

.mk-pdp-excerpt {
	font-size: 15px;
	line-height: 1.65;
	color: rgba(17, 58, 45, 0.85);
	margin: 0 0 1.25rem;
}

.mk-classic-price,
.mk-pdp-summary .price {
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	color: #113a2d !important;
	margin: 0.35rem 0 1rem !important;
}

.mk-classic-price del,
.mk-pdp-summary .price del {
	opacity: 0.5;
	font-weight: 400;
	margin-right: 0.4rem;
}

.mk-product-brand {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #113a2d;
	opacity: 0.7;
	margin: 0 0 0.5rem;
}

/* Form stack */
.mk-pdp-form .variations {
	margin-bottom: 1rem;
}

.mk-pdp-form .single_variation_wrap {
	margin-top: 0.75rem;
}

.mk-pdp-form .quantity {
	margin: 0 0.5rem 0.75rem 0;
}

.mk-pdp-form .quantity .qty {
	width: 4.5rem;
	padding: 0.65rem;
	border: 1px solid rgba(17, 58, 45, 0.25);
	border-radius: 4px;
	text-align: center;
	font-family: inherit;
}

/* Buttons: Add to cart + Buy it now — side by side */
.mk-pdp-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
	width: 100%;
	margin-top: 0.35rem;
}

.mk-pdp-form .mk-pdp-actions .quantity {
	flex: 0 0 auto;
	margin: 0;
	align-self: center;
}

.mk-pdp-form .single_add_to_cart_button,
.mk-classic-add-to-cart .single_add_to_cart_button,
.mk-pdp-form .mk-buy-now-button,
.mk-buy-now-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 1 1 calc(50% - 5px);
	width: auto !important;
	min-width: 140px;
	max-width: none;
	box-sizing: border-box;
	border-radius: 4px !important;
	padding: 0.9rem 1.25rem !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	cursor: pointer;
	font-family: inherit;
	text-align: center;
	min-height: 48px;
}

.mk-pdp-form .single_add_to_cart_button {
	background: #113a2d !important;
	color: #faeec2 !important;
	border: 1px solid #113a2d !important;
}

.mk-pdp-form .single_add_to_cart_button:hover {
	background: #0a241c !important;
	color: #fff !important;
}

.mk-buy-now-button,
.mk-pdp-form .mk-buy-now-button {
	background: #ffffff !important;
	color: #113a2d !important;
	border: 1px solid #113a2d !important;
}

.mk-buy-now-button:hover,
.mk-pdp-form .mk-buy-now-button:hover {
	background: #faeec2 !important;
	color: #113a2d !important;
}

.mk-buy-now-button:disabled,
.mk-buy-now-button.disabled,
.mk-pdp-form .single_add_to_cart_button:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

/* Variable products: qty + both buttons on one strip when space allows */
.mk-pdp-form .woocommerce-variation-add-to-cart,
.mk-pdp-form form.cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	width: 100%;
}

.mk-pdp-form .woocommerce-variation-add-to-cart .quantity {
	margin: 0;
	flex: 0 0 auto;
}

.mk-pdp-form .woocommerce-variation-add-to-cart .mk-pdp-actions {
	flex: 1 1 220px;
	display: flex;
	gap: 10px;
	min-width: 0;
}

@media screen and (max-width: 549px) {
	.mk-pdp-form .single_add_to_cart_button,
	.mk-pdp-form .mk-buy-now-button {
		flex: 1 1 100%;
	}
}

/* Trust row — 3 columns */
.mk-trust-row {
	width: 100%;
	padding: 40px 0;
	border-top: 1px solid rgba(17, 58, 45, 0.08);
	border-bottom: 1px solid rgba(17, 58, 45, 0.08);
	margin: 12px 0 0;
}

.mk-trust-row__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 8px;
	text-align: center;
}

@media screen and (min-width: 750px) {
	.mk-trust-row__inner {
		grid-template-columns: repeat(3, 1fr);
		gap: 0;
		column-gap: 0;
	}
	.mk-trust-row__col {
		padding: 0 24px;
		border-right: 1px solid rgba(17, 58, 45, 0.1);
	}
	.mk-trust-row__col:last-child {
		border-right: 0;
	}
}

.mk-trust-row__icon {
	width: 44px;
	height: 44px;
	margin: 0 auto 0.65rem;
	border-radius: 50%;
	background: #113a2d;
	color: #faeec2;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

.mk-trust-row__heading {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #113a2d;
	margin: 0 0 0.4rem;
}

.mk-trust-row__subtext {
	font-size: 11px;
	line-height: 1.5;
	color: rgba(17, 58, 45, 0.75);
	margin: 0;
	max-width: 280px;
	margin-left: auto;
	margin-right: auto;
}

/* Related carousel */
.mk-related-carousel {
	margin: 0;
}

.mk-related-carousel__title {
	font-size: 28px;
	font-weight: 600;
	color: #111;
	margin: 0 0 1rem;
}

.mk-related-carousel__wrap {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
}

.mk-related-carousel__track {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	list-style: none;
	margin: 0;
	padding: 4px 0 12px;
	width: 100%;
	float: none !important;
}

.mk-related-carousel__item {
	flex: 0 0 42%;
	max-width: 42%;
	scroll-snap-align: start;
	margin: 0 !important;
	float: none !important;
	width: auto !important;
	list-style: none;
}

@media screen and (min-width: 750px) {
	.mk-related-carousel__item {
		flex: 0 0 23%;
		max-width: 23%;
	}
}

.mk-related-carousel__arrow {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	font-size: 22px;
	cursor: pointer;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(0,0,0,.15);
}

.mk-related-carousel__arrow:hover {
	background: rgba(0, 0, 0, 0.75);
	transform: scale(1.05);
}

@media screen and (max-width: 749px) {
	.mk-related-carousel__arrow {
		display: none;
	}
	.mk-related-carousel__title {
		font-size: 20px;
	}
}

/* Description band — scheme-4 forest */
.mk-product-description-section {
	background: #113a2d;
	color: #fff;
	padding: 40px 15px 52px;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	max-width: 100vw;
}

.mk-product-description-section__inner {
	max-width: 800px;
	margin: 0 auto;
}

.mk-product-description-section__title {
	color: #faeec2 !important;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	margin: 0 0 1.25rem;
}

.mk-product-description-section__content {
	color: rgba(255, 255, 255, 0.9);
	font-size: 15px;
	line-height: 1.75;
}

.mk-product-description-section__content a {
	color: #faeec2;
}

.mk-product-description-section__content p {
	margin: 0 0 1rem;
}

.mk-pdp-meta {
	margin-top: 1rem;
	font-size: 13px;
}

/* Pills already 40px — ensure selected on PDP */
.mk-pdp-form .mk-variant-pills__btn {
	border-radius: 40px !important;
	padding: 0.75rem 1.4rem !important;
	margin: 0.15rem 0.35rem 0.15rem 0;
}

.mk-pdp-form .mk-variant-pills__btn.is-selected {
	background: #113a2d !important;
	color: #faeec2 !important;
}

/* ==========================================================================
   Collection cards — Professor Herb style (pills + qty + ATC)
   ========================================================================== */

.mk-collection-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100% !important;
	float: none !important;
}

@media screen and (min-width: 750px) {
	.mk-collection-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (min-width: 990px) {
	.mk-collection-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.mk-collection-grid > .product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	list-style: none;
}

.mk-collection-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 1.2rem;
	border: 1px solid #eee;
	border-radius: 0.5rem;
	min-height: 100%;
	background: #fff;
	box-sizing: border-box;
	text-align: center;
}

.mk-collection-card .mk-product-card__media {
	display: block;
	margin-bottom: 1rem;
	background: #f8f8f8;
	border-radius: 0.25rem;
	overflow: hidden;
}

.mk-collection-card .mk-product-card__img {
	width: 100%;
	height: auto;
	max-height: 260px;
	object-fit: contain;
	display: block;
	margin: 0 auto;
	transition: opacity 0.18s ease;
}

.mk-collection-card .mk-product-card__title {
	font-size: 14px;
	font-weight: 400;
	text-align: center;
	line-height: 1.35;
	margin: 0 0 0.5rem;
}

.mk-collection-card .mk-product-card__title a {
	color: #113a2d;
	text-decoration: none;
}

.mk-collection-card .mk-product-card__price {
	font-size: 1.15rem;
	font-weight: 700;
	color: #222;
	text-align: center;
	margin-bottom: 0.65rem;
}

.mk-collection-card .mk-product-card__price del {
	opacity: 0.55;
	font-weight: 400;
	margin-right: 0.35rem;
	font-size: 0.95rem;
}

.mk-collection-card .mk-product-card__price ins {
	text-decoration: none;
	color: #cc192e;
}

/* Variant pills on card */
.mk-card-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem;
	margin: 0.35rem 0 0.75rem;
}

.mk-card-pill {
	appearance: none;
	border: 1px solid rgba(0, 0, 0, 0.12);
	padding: 0.45rem 0.9rem;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	background: #fff;
	color: #374151;
	font-family: inherit;
	line-height: 1.2;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.mk-card-pill:hover {
	background: #f3f4f6;
	border-color: #cbd5e1;
}

.mk-card-pill.is-selected {
	background: #113a2d !important;
	color: #faeec2 !important;
	border-color: #113a2d !important;
}

.mk-card-pill.is-disabled,
.mk-card-pill:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	text-decoration: line-through;
}

/* Qty + ATC */
.mk-card-atc {
	margin-top: auto;
	padding-top: 0.75rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.65rem;
}

.mk-card-qty {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
}

.mk-card-qty__btn {
	background: #113a2d;
	color: #faeec2;
	font-weight: 600;
	font-size: 1.25rem;
	width: 42px;
	height: 42px;
	border: 1px solid #ddd;
	border-radius: 4px;
	cursor: pointer;
	line-height: 1;
	font-family: inherit;
	transition: background 0.15s ease;
}

.mk-card-qty__btn:hover {
	background: #0a241c;
	color: #fff;
}

.mk-card-qty__input {
	width: 52px;
	height: 42px;
	text-align: center;
	font-size: 1.1rem;
	font-weight: 500;
	border: 1px solid #ddd;
	background: #fff;
	border-radius: 3px;
	outline: none;
	font-family: inherit;
	-moz-appearance: textfield;
}

.mk-card-qty__input::-webkit-outer-spin-button,
.mk-card-qty__input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.mk-card-add {
	appearance: none;
	border: none;
	background: #113a2d;
	color: #faeec2;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.06em;
	padding: 0.75rem 1.5rem;
	border-radius: 4px;
	cursor: pointer;
	font-family: inherit;
	min-width: 140px;
	transition: background 0.15s ease, transform 0.15s ease;
}

.mk-card-add:hover {
	background: #0a241c;
	color: #fff;
}

.mk-card-add.is-loading {
	opacity: 0.65;
	pointer-events: none;
}

.mk-card-add.is-added {
	background: #1a7f37;
	color: #fff;
}

.mk-card-soldout {
	margin-top: auto;
	padding-top: 1rem;
	font-size: 13px;
	font-weight: 600;
	color: #888;
	text-align: center;
}

.mk-collection-hero .wp-block-query-title {
	color: #113a2d;
	font-weight: 700;
}
