/*
 * Plant Lady for Elementor: profile-page look (banner, sidebar, soft glass cards).
 *
 * Colors: Plant Lady → Settings colors win, then your theme's "primary" palette
 * color, then a plant green. Fonts: --ple-title-font for the header's site title (Cute Dino by
 * default) and --ple-font for everything else (theme font by default). See includes/font.php.
 */
:root {
	--ple-main: var(--ple-user-main, var(--wp--preset--color--primary, #5e9a62));
	--ple-dark: var(--ple-user-dark, color-mix(in srgb, var(--ple-main) 55%, #10261a));
	--ple-soft: var(--ple-user-soft, color-mix(in srgb, var(--ple-main) 14%, #fff));
	--ple-accent: var(--ple-main);
	--ple-glass: rgba(255, 255, 255, .62);
	--ple-glass-line: rgba(255, 255, 255, .85);
	--ple-radius: 22px;
	--ple-avatar: 148px;
	--ple-shadow: 0 10px 30px -12px color-mix(in srgb, var(--ple-dark) 35%, transparent);
}

[class*="ple-"], [class*="ple-"] input, [class*="ple-"] select, [class*="ple-"] textarea, [class*="ple-"] button {
	font-family: var(--ple-font, inherit);
	box-sizing: border-box;
}

/* Soft green wash behind the whole page (Profile Banner → "Tint the whole page"). */
body:has(.ple-tint) {
	background:
		radial-gradient(1200px 600px at 85% -10%, color-mix(in srgb, var(--ple-main) 22%, transparent), transparent 70%),
		radial-gradient(900px 500px at -10% 30%, color-mix(in srgb, var(--ple-main) 16%, transparent), transparent 70%),
		var(--ple-soft);
	background-attachment: fixed;
}

/* ---------- Cards ---------- */
.ple-card {
	background: var(--ple-glass);
	border: 1px solid var(--ple-glass-line);
	border-radius: var(--ple-radius);
	box-shadow: var(--ple-shadow);
	padding: clamp(1rem, 2.4vw, 1.5rem);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	height: 100%;
}
.ple-card__head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; }
.ple-card__title { margin: 0; font-size: clamp(1.1rem, 2vw, 1.35rem); line-height: 1.2; color: var(--ple-dark); }
.ple-hint { margin: 0; padding: .8rem 1rem; border: 1.5px dashed color-mix(in srgb, var(--ple-dark) 30%, transparent); border-radius: 14px; font-size: .9rem; opacity: .8; }

/* Pills */
.ple-pill {
	display: inline-flex; align-items: center; gap: .35rem;
	padding: .38rem .9rem; border-radius: 999px;
	background: color-mix(in srgb, var(--ple-accent) 14%, rgba(255, 255, 255, .7));
	border: 1px solid color-mix(in srgb, var(--ple-accent) 30%, transparent);
	color: var(--ple-dark); font-size: .85rem; line-height: 1.2; text-decoration: none; white-space: nowrap;
	cursor: default; transition: background .15s, color .15s, transform .15s;
}
a.ple-pill, button.ple-pill { cursor: pointer; }
a.ple-pill:hover, button.ple-pill:hover { transform: translateY(-1px); background: color-mix(in srgb, var(--ple-accent) 26%, #fff); }
.ple-pill--solid, .ple-pill[aria-selected="true"] { background: var(--ple-accent); border-color: var(--ple-accent); color: #fff; }
a.ple-pill--solid:hover, .ple-pill--solid:hover { background: var(--ple-dark); border-color: var(--ple-dark); color: #fff; }

/* ---------- Banner ---------- */
.ple-banner { position: relative; padding-bottom: .5rem; }
.ple-banner__cover {
	height: clamp(170px, 26vw, 300px);
	border-radius: calc(var(--ple-radius) + 6px);
	background:
		radial-gradient(500px 220px at 20% 30%, rgba(255, 255, 255, .55), transparent 70%),
		linear-gradient(135deg, color-mix(in srgb, var(--ple-main) 45%, #fff), color-mix(in srgb, var(--ple-main) 80%, #fff) 55%, color-mix(in srgb, var(--ple-main) 30%, #fff));
	background-size: cover; background-position: center;
	box-shadow: var(--ple-shadow);
}
.ple-banner__id { display: flex; align-items: flex-end; gap: clamp(1rem, 3vw, 1.75rem); margin-top: calc(var(--ple-avatar) * -0.45); padding-inline: clamp(1rem, 3vw, 2rem); position: relative; }
.ple-banner__avatar {
	width: var(--ple-avatar); height: var(--ple-avatar); flex: none;
	border-radius: 50%; object-fit: cover;
	border: 6px solid rgba(255, 255, 255, .9);
	box-shadow: var(--ple-shadow); background: var(--ple-soft);
}
.ple-banner__text { padding-bottom: .4rem; min-width: 0; }
.ple-banner__name { margin: 0; font-size: clamp(1.9rem, 4.5vw, 3rem); line-height: 1.05; color: var(--ple-dark); }
.ple-banner__handle { margin: .25rem 0 0; opacity: .75; }
.ple-pills { list-style: none; margin: .75rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
@media (max-width: 640px) {
	.ple-banner__id { flex-direction: column; align-items: center; text-align: center; }
	.ple-pills { justify-content: center; }
	:root { --ple-avatar: 116px; }
}

/* ---------- Bio & socials ---------- */
.ple-sidebar__bio { font-size: .97rem; line-height: 1.6; }
.ple-sidebar__bio p { margin: 0 0 .8em; }
.ple-sidebar__bio p:last-child { margin-bottom: 0; }
.ple-icons { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; }
.ple-icon {
	display: grid; place-items: center; aspect-ratio: 1; border-radius: 16px;
	background: color-mix(in srgb, var(--ple-accent) 12%, rgba(255, 255, 255, .7));
	color: var(--ple-accent); font-size: 1.3rem; text-decoration: none; transition: transform .15s, background .15s, color .15s;
}
.ple-icon svg { width: 1.3rem; height: 1.3rem; fill: currentColor; }
a.ple-icon:hover { transform: translateY(-2px); background: var(--ple-accent); color: #fff; }
.ple-icon__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Info card ---------- */
.ple-info__rows { margin: 0; display: grid; gap: .55rem; }
.ple-info__row { margin: 0; }
.ple-info--inline .ple-info__row { display: grid; grid-template-columns: minmax(90px, 38%) 1fr; gap: .75rem; }
.ple-info__row dt { font-size: .85rem; opacity: .7; }
.ple-info__row dd { margin: 0; font-weight: 600; }
.ple-info--stacked .ple-info__row dd { font-weight: 400; }
.ple-info--stacked .ple-info__row dt { font-weight: 700; opacity: 1; color: var(--ple-dark); font-size: .92rem; }

/* ---------- Favorites list ---------- */
.ple-list__items { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.ple-list__items.ple-cols-2 { grid-template-columns: 1fr 1fr; }
.ple-list__item { display: flex; align-items: center; gap: .75rem; padding: .35rem; border-radius: 14px; color: inherit; text-decoration: none; }
a.ple-list__item:hover { background: rgba(255, 255, 255, .7); }
.ple-list__item img { width: 44px; height: 44px; flex: none; border-radius: 12px; object-fit: cover; margin: 0; }
.ple-list__item span { display: flex; flex-direction: column; min-width: 0; }
.ple-list__item strong { font-size: .95rem; }
.ple-list__item small { font-size: .8rem; opacity: .7; }

/* ---------- Shop card ---------- */
.ple-tabs { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.ple-tab { font-size: .9rem; }
.ple-tab:focus-visible { outline: 2px solid var(--ple-dark); outline-offset: 2px; }
.ple-pane__label { display: none; }
[data-ple-tabs]:not(.ple-js) .ple-pane__label { display: block; margin: 1rem 0 .5rem; }
.ple-js .ple-pane[data-ple-hidden] { display: none; }
.ple-products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.ple-product { display: block; color: inherit; text-decoration: none; }
.ple-product__img { display: block; aspect-ratio: 1; overflow: hidden; border-radius: 14px; background: rgba(255, 255, 255, .7); }
.ple-product__img img { width: 100%; height: 100%; object-fit: cover; margin: 0; transition: transform .25s; }
.ple-product:hover .ple-product__img img { transform: scale(1.05); }
.ple-product__name { display: block; margin-top: .4rem; font-size: .85rem; line-height: 1.25; }
.ple-product__price { display: block; font-size: .8rem; opacity: .75; }
.ple-more { display: inline-block; margin-top: .9rem; font-size: .9rem; font-weight: 600; color: var(--ple-dark); text-decoration: none; }
.ple-more:hover { text-decoration: underline; }

.ple-product__initial { display: grid; place-items: center; width: 100%; height: 100%; font-size: 2.2rem; font-weight: 700; color: var(--ple-accent); background: color-mix(in srgb, var(--ple-accent) 14%, #fff); }
.ple-disclosure { margin: .9rem 0 0; font-size: .75rem; opacity: .7; }

/* ---------- Shorts row ---------- */
.ple-shorts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; }
.ple-short, .ple-short-card iframe { display: block; width: 100%; aspect-ratio: 9 / 16; border: 0; border-radius: 18px; overflow: hidden; }
.ple-short { position: relative; padding: 0; cursor: pointer; background: var(--ple-dark); }
.ple-short img { width: 100%; height: 100%; object-fit: cover; margin: 0; }
.ple-short__play { position: absolute; inset: 0; margin: auto; width: 54px; height: 54px; border-radius: 50%; background: rgba(255, 255, 255, .85); transition: transform .15s; }
.ple-short__play::after { content: ""; position: absolute; left: 21px; top: 16px; border-style: solid; border-width: 11px 0 11px 17px; border-color: transparent transparent transparent var(--ple-dark); }
.ple-short:hover .ple-short__play { transform: scale(1.1); }
.ple-short__caption { margin: .45rem 0 0; font-size: .88rem; }

/* ---------- Blog row ---------- */
.ple-posts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.ple-post { display: flex; flex-direction: column; height: 100%; border-radius: 18px; overflow: hidden; background: rgba(255, 255, 255, .7); color: inherit; text-decoration: none; transition: transform .15s; }
.ple-post:hover { transform: translateY(-3px); }
.ple-post__img { display: block; aspect-ratio: 16 / 10; background: color-mix(in srgb, var(--ple-main) 25%, #fff); }
.ple-post__img img { width: 100%; height: 100%; object-fit: cover; margin: 0; }
.ple-post__body { display: flex; flex-direction: column; gap: .25rem; padding: .8rem .9rem 1rem; }
.ple-post__date { font-size: .78rem; opacity: .7; }
.ple-post__title { font-size: 1rem; line-height: 1.3; color: var(--ple-dark); }
.ple-post__excerpt { font-size: .86rem; opacity: .85; }

/* ---------- Plant Receipts form ---------- */
.ple-receipts__intro { margin: -.25rem 0 1rem; }
.ple-form { display: grid; grid-template-columns: 1fr 1fr; gap: .1rem 1rem; }
.ple-field { margin: 0 0 .7rem; display: flex; flex-direction: column; gap: .3rem; }
.ple-field--wide { grid-column: 1 / -1; }
.ple-field label { font-weight: 600; font-size: .9rem; }
.ple-field input[type="text"], .ple-field input[type="url"], .ple-field input[type="email"], .ple-field select, .ple-field textarea {
	width: 100%; padding: .7rem .9rem; font-size: 1rem; color: inherit;
	border: 1px solid color-mix(in srgb, var(--ple-dark) 18%, transparent); border-radius: 14px;
	background: rgba(255, 255, 255, .85);
}
.ple-field input:focus, .ple-field select:focus, .ple-field textarea:focus { outline: none; border-color: var(--ple-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ple-accent) 25%, transparent); }
.ple-check label { font-weight: 400; display: flex; gap: .5rem; align-items: flex-start; }
.ple-check input { margin-top: .3em; accent-color: var(--ple-accent); }
.ple-submit { justify-self: start; padding: .7rem 1.6rem; font-size: 1rem; border: 0; }
.ple-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ple-notice { padding: .75rem 1rem; border-radius: 14px; }
.ple-notice--ok { background: color-mix(in srgb, var(--ple-main) 20%, #fff); color: var(--ple-dark); }
.ple-notice--err { background: #fde8e6; color: #8a2a1f; }

@media (max-width: 767px) {
	.ple-form { grid-template-columns: 1fr; }
	.ple-info--inline .ple-info__row { grid-template-columns: 1fr; gap: 0; }
}

/* ---------- Site header ---------- */
.ple-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: .7rem 1.1rem; height: auto; }
.ple-header--sticky { position: sticky; top: .75rem; z-index: 50; }
.admin-bar .ple-header--sticky { top: calc(32px + .75rem); }
.ple-header__brand { display: inline-flex; align-items: center; color: var(--ple-dark); text-decoration: none; font-size: clamp(1.15rem, 2.4vw, 1.5rem); font-weight: 700; line-height: 1.1; }
.ple-header__brand img { max-height: 46px; width: auto; margin: 0; }
.ple-header__nav { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem .9rem; }
.ple-header__link { color: var(--ple-dark); text-decoration: none; font-size: .95rem; padding: .25rem .1rem; border-bottom: 2px solid transparent; }
.ple-header__link:hover { border-bottom-color: var(--ple-accent); }
/* Elementor wraps each widget; let the sticky header stick to the whole page column */
.elementor-widget-ple-header, .elementor-widget-ple-header .elementor-widget-container { position: static; }
.elementor-element:has(> .elementor-widget-container > .ple-header--sticky),
.elementor-widget-ple-header:has(.ple-header--sticky) { position: sticky; top: .75rem; z-index: 50; }

/* ---------- Post header ---------- */
.ple-post-hero { margin-bottom: 1rem; }
.ple-post-hero__back { display: inline-block; margin-bottom: .9rem; color: var(--ple-dark); text-decoration: none; font-size: .9rem; font-weight: 600; }
.ple-post-hero__back:hover { text-decoration: underline; }
.ple-post-hero__title { margin: 0; font-size: clamp(2rem, 5vw, 3.1rem); line-height: 1.08; color: var(--ple-dark); }
.ple-post-hero__excerpt { margin: .7rem 0 0; font-size: 1.1rem; opacity: .8; max-width: 60ch; }
.ple-post-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .9rem; font-size: .9rem; opacity: .85; }
.ple-post-hero__image { margin-top: 1.4rem; }

/* ---------- Blog photo ---------- */
.ple-photo { margin: 0; }
.ple-photo img { display: block; width: 100%; height: auto; border-radius: var(--ple-radius); box-shadow: var(--ple-shadow); margin: 0; }
.ple-photo--medium { max-width: 640px; margin-inline: auto; }
.ple-photo--left, .ple-photo--right { max-width: 320px; }
.ple-photo--left { float: left; margin: .3rem 1.4rem 1rem 0; }
.ple-photo--right { float: right; margin: .3rem 0 1rem 1.4rem; }
.ple-photo figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem 1rem; margin-top: .55rem; font-size: .85rem; line-height: 1.4; }
.ple-photo__caption { opacity: .9; }
.ple-photo__credit { font-size: .78rem; opacity: .65; }
.ple-photo__credit a { color: inherit; }
@media (max-width: 640px) { .ple-photo--left, .ple-photo--right { float: none; max-width: none; margin: 0 0 1rem; } }

/* ---------- On this page ---------- */
.ple-toc { height: auto; }
.ple-toc--sticky { position: sticky; top: 5.5rem; max-height: calc(100vh - 7rem); overflow: auto; }
.elementor-widget-ple-toc:has(.ple-toc--sticky) { position: sticky; top: 5.5rem; }
.ple-toc .ple-toc--sticky { position: static; }
.ple-toc__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; counter-reset: ple-toc; }
.ple-toc__list a { display: block; padding: .4rem .6rem; border-radius: 10px; border-left: 3px solid transparent; color: inherit; text-decoration: none; font-size: .92rem; line-height: 1.3; }
.ple-toc__list a:hover { background: rgba(255, 255, 255, .7); }
.ple-toc__list a.is-active { border-left-color: var(--ple-accent); background: color-mix(in srgb, var(--ple-accent) 12%, rgba(255, 255, 255, .7)); color: var(--ple-dark); font-weight: 600; }
.ple-toc__sub a { padding-left: 1.4rem; font-size: .85rem; }
.ple-toc--numbered .ple-toc__list > li:not(.ple-toc__sub) a::before { counter-increment: ple-toc; content: counter(ple-toc) ". "; opacity: .6; }
.ple-toc__empty { margin: 0; font-size: .85rem; opacity: .65; }
.ple-toc--filled .ple-toc__empty, .ple-toc__list:not(:empty) + .ple-toc__empty { display: none; }
.ple-toc__top { display: block; margin-top: .6rem; font-size: .82rem; }

/* ---------- All posts ---------- */
.ple-blog-list__tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.1rem; }
.ple-blog-list__tools .ple-tabs { margin: 0; }
.ple-blog-list__search input { width: min(260px, 100%); padding: .55rem .9rem; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--ple-dark) 18%, transparent); background: rgba(255, 255, 255, .85); color: inherit; font-size: .92rem; }
.ple-blog-list__search input:focus { outline: none; border-color: var(--ple-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ple-accent) 25%, transparent); }
.ple-blog-list .ple-posts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ple-blog-list__none { margin: 1rem 0; opacity: .75; }
.ple-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; margin-top: 1.4rem; }
.ple-pages .page-numbers { min-width: 2.2rem; padding: .4rem .7rem; border-radius: 999px; text-align: center; text-decoration: none; color: var(--ple-dark); background: rgba(255, 255, 255, .7); font-size: .9rem; }
.ple-pages .page-numbers.current { background: var(--ple-accent); color: #fff; }
.ple-pages a.page-numbers:hover { background: color-mix(in srgb, var(--ple-accent) 22%, #fff); }

/* Blog post body text inside Elementor (Text Editor / Heading widgets) */
.ple-blog-body { line-height: 1.75; font-size: 1.05rem; }
.ple-blog-body h2 { color: var(--ple-dark); margin-top: 1.8em; }

/* ---------- Plant ID card ---------- */
.ple-plant { --ple-plant-img: 150px; display: grid; grid-template-columns: var(--ple-plant-img) 1fr; gap: clamp(.9rem, 2.5vw, 1.4rem); align-items: center; height: auto; }
.ple-plant__img { margin: 0; align-self: stretch; }
.ple-plant__img img { width: 100%; height: 100%; min-height: 130px; aspect-ratio: 1; object-fit: cover; border-radius: calc(var(--ple-radius) - 6px); margin: 0; display: block; }
.ple-plant__img figcaption { margin-top: .35rem; }
.ple-plant__common { margin: 0; }
.ple-plant__common a { color: inherit; text-decoration: none; }
.ple-plant__common a:hover { text-decoration: underline; }
.ple-plant__scientific { margin: .2rem 0 0; font-size: 1rem; opacity: .8; }
.ple-plant__note { margin: .6rem 0 0; font-size: .93rem; }
.ple-plant__facts { list-style: none; margin: .8rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.ple-plant__facts .ple-pill { white-space: normal; }
@media (max-width: 480px) { .ple-plant { grid-template-columns: 96px 1fr; align-items: start; } .ple-plant__img img { min-height: 0; } }

/* ---------- Phones ---------- */
.ple-pill { max-width: 100%; }
.ple-post-hero__meta .ple-pill { white-space: normal; }
@media (max-width: 767px) {
	/* Stack any row that holds Plant Lady pieces. Works for Elementor flexbox
	   containers (boxed ones wrap children in .e-con-inner) and classic sections.
	   Elementor sets direction and width through CSS variables, so we override those. */
	.e-con:has(.ple-card, .ple-post-hero, .ple-photo),
	.e-con:has(.ple-card, .ple-post-hero, .ple-photo) > .e-con-inner {
		--flex-direction: column !important;
		--flex-wrap: wrap !important;
		flex-direction: column !important;
	}
	.e-con:has(.ple-card, .ple-post-hero, .ple-photo) > .e-con,
	.e-con:has(.ple-card, .ple-post-hero, .ple-photo) > .e-con-inner > .e-con,
	.e-con:has(.ple-card, .ple-post-hero, .ple-photo) > .elementor-widget,
	.e-con:has(.ple-card, .ple-post-hero, .ple-photo) > .e-con-inner > .elementor-widget {
		--width: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: auto !important;
	}
	.elementor-section:has(.ple-card, .ple-post-hero) > .elementor-container { flex-wrap: wrap; }
	.elementor-section:has(.ple-card, .ple-post-hero) > .elementor-container > .elementor-column { width: 100% !important; }

	/* The jump-links card: show it before the post as a tap-to-open list, not a tall sticky column. */
	.ple-toc--sticky, .elementor-widget-ple-toc:has(.ple-toc--sticky) { position: static; max-height: none; }
	.ple-toc[data-ple-toggle] .ple-card__head { cursor: pointer; margin-bottom: 0; }
	.ple-toc[data-ple-toggle] .ple-card__head::after { content: "▾"; font-size: 1rem; transition: transform .2s; }
	.ple-toc[data-ple-toggle].is-open .ple-card__head { margin-bottom: .75rem; }
	.ple-toc[data-ple-toggle].is-open .ple-card__head::after { transform: rotate(180deg); }
	.ple-toc[data-ple-toggle]:not(.is-open) .ple-toc__list, .ple-toc[data-ple-toggle]:not(.is-open) .ple-toc__empty, .ple-toc[data-ple-toggle]:not(.is-open) .ple-toc__top { display: none; }

	/* Header: keep it to one tidy block */
	.ple-header { padding: .6rem .9rem; gap: .4rem .8rem; }
	.ple-header--sticky, .elementor-element:has(> .elementor-widget-container > .ple-header--sticky), .elementor-widget-ple-header:has(.ple-header--sticky) { top: .4rem; }
	.ple-header__brand { font-size: 1.1rem; }
	.ple-header__nav { gap: .3rem .75rem; }
	.ple-header__link { font-size: .9rem; }
	.ple-header__nav .ple-pill { padding: .3rem .75rem; font-size: .82rem; }

	.ple-post-hero__title { font-size: clamp(1.8rem, 8vw, 2.4rem); }
	.ple-card { padding: 1rem; }
}

/* ---------- Header logo + cart ---------- */
.ple-header__brand { gap: .6rem; }
.ple-header__logo { height: 44px; width: auto; max-height: 56px; margin: 0; }
.ple-header__cart { position: relative; display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: var(--ple-dark); background: color-mix(in srgb, var(--ple-accent) 12%, rgba(255, 255, 255, .7)); text-decoration: none; }
.ple-header__cart:hover { background: color-mix(in srgb, var(--ple-accent) 24%, #fff); }
.ple-header__cart svg { display: block; grid-area: 1 / 1; }
.ple-header__count { position: absolute; }
.ple-header__count:empty { display: none; }
.ple-header__count:not(:empty) { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 999px; background: var(--ple-accent); color: #fff; font-size: .7rem; line-height: 18px; text-align: center; font-weight: 700; }
/* Header swapped in for the theme header on shop / other pages */
.ple-site-header-wrap { max-width: 1200px; margin: 0 auto; padding: .75rem 20px 0; position: sticky; top: 0; z-index: 60; }
.admin-bar .ple-site-header-wrap { top: 32px; }
.ple-site-header-wrap .ple-header--sticky { position: static; }
@media (max-width: 767px) { .ple-header__logo { height: 36px; } .ple-header__cart { width: 34px; height: 34px; } }
/* Theme link styles shouldn't underline the header */
.ple-header a, .ple-header a:hover, .ple-header a:focus { text-decoration: none !important; }
.ple-header .ple-header__link { color: var(--ple-dark) !important; }
.ple-header .ple-header__brand { color: var(--ple-dark) !important; }

/* Site title font (Plant Receipts → Settings → Fonts) */
.ple-header .ple-header__name { font-family: var(--ple-title-font, inherit); }
