/*
Theme Name: Promote Bulgaria v2.3
Theme URI: https://promotebulgaria.com/
Author: Promote Bulgaria
Description: News, history and culture magazine theme for Promote Bulgaria — white, green and red palette, full-width hero, history timeline, free and paid ad areas. Works with Elementor, Advanced Ads and WPAdverts.
Version: 2.3.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: promote-bulgaria
Tags: news, blog, magazine, custom-logo, custom-menu, featured-images, widgets, translation-ready
*/

:root {
	--pb-green: #00704F;
	--pb-green-flag: #00966E;
	--pb-red: #C21E0F;
	--pb-red-flag: #D62612;
	--pb-forest: #0E2A21;
	--pb-forest-2: #173C2F;
	--pb-gold: #C9A24A;
	--pb-ink: #1A1F1C;
	--pb-muted: #5A635E;
	--pb-line: #E4E2DC;
	--pb-paper: #FBFAF7;
	--pb-white: #FFFFFF;
	--pb-serif: 'Playfair Display', Georgia, serif;
	--pb-sans: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--pb-wrap: 1240px;
	--pb-radius: 4px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--pb-paper);
	color: var(--pb-ink);
	font-family: var(--pb-sans);
	font-size: 17px;
	line-height: 1.65;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--pb-green); text-decoration: none; }
a:hover, a:focus { color: var(--pb-red); }
h1, h2, h3, h4 { font-family: var(--pb-serif); line-height: 1.2; margin: 0 0 .5em; font-weight: 800; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.screen-reader-text:focus {
	clip: auto; width: auto; height: auto; z-index: 1000; top: 8px; left: 8px;
	background: var(--pb-white); padding: 12px 16px; color: var(--pb-ink);
}
.pb-wrap { max-width: var(--pb-wrap); margin: 0 auto; padding: 0 24px; }

/* Tricolor rule */
.pb-tricolor { display: flex; height: 6px; }
.pb-tricolor span { flex: 1; }
.pb-tricolor span:nth-child(1) { background: var(--pb-white); }
.pb-tricolor span:nth-child(2) { background: var(--pb-green-flag); }
.pb-tricolor span:nth-child(3) { background: var(--pb-red-flag); }

/* Utility bar */
.pb-utility { background: var(--pb-forest); color: #E8EFEB; font-size: 13px; }
.pb-utility .pb-wrap { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; justify-content: space-between; padding-top: 10px; padding-bottom: 10px; }
.pb-utility a { color: #E8EFEB; }
.pb-utility a:hover { color: var(--pb-white); text-decoration: underline; }
.pb-utility__links { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.pb-utility__links ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 18px; flex-wrap: wrap; }
.pb-btn-donate { background: var(--pb-gold); color: var(--pb-forest) !important; font-weight: 800; padding: 6px 12px; border-radius: 3px; }
.pb-btn-donate:hover { background: #E2B857; text-decoration: none !important; }
.pb-btn-advertise { background: var(--pb-red); color: var(--pb-white) !important; font-weight: 700; padding: 6px 12px; border-radius: 3px; }

/* Masthead */
.pb-masthead { background: var(--pb-white); border-bottom: 1px solid var(--pb-line); }
.pb-masthead__top { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; padding-top: 22px; padding-bottom: 18px; }
.pb-brand { display: flex; align-items: center; gap: 16px; color: var(--pb-ink); }
.pb-brand:hover { color: var(--pb-ink); }
.pb-brand img, .pb-brand .custom-logo { width: 84px; height: 84px; object-fit: contain; }
.pb-brand__name { font-family: var(--pb-serif); font-size: 34px; font-weight: 800; line-height: 1; display: block; }
.pb-brand__tag { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--pb-muted); margin-top: 8px; display: block; }

.pb-search { display: flex; gap: 8px; }
.pb-search input[type="search"] {
	height: 44px; width: 240px; max-width: 60vw; border: 1px solid #D5D2CA; border-radius: 3px;
	padding: 0 14px; font: inherit; font-size: 14px; background: var(--pb-paper);
}
.pb-button, .pb-search button, input[type="submit"], button[type="submit"] {
	height: 44px; padding: 0 18px; border: 0; border-radius: 3px; background: var(--pb-green);
	color: var(--pb-white); font: inherit; font-weight: 700; font-size: 14px; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.pb-button:hover, .pb-search button:hover { background: var(--pb-forest); color: var(--pb-white); }
.pb-button--red { background: var(--pb-red); }
.pb-button--red:hover { background: #9C180B; }
.pb-button--ghost { background: transparent; border: 1px solid rgba(255,255,255,.6); color: var(--pb-white); }
.pb-button--ghost:hover { background: rgba(255,255,255,.12); }

/* Primary nav */
.pb-nav { border-top: 2px solid var(--pb-ink); }
.pb-nav__toggle { display: none; }
.pb-nav ul { list-style: none; margin: 0; padding: 14px 0; display: flex; flex-wrap: wrap; gap: 4px 28px; }
.pb-nav li { position: relative; }
.pb-nav a { color: var(--pb-ink); font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; display: block; padding: 6px 0; }
.pb-nav a:hover, .pb-nav .current-menu-item > a, .pb-nav .current-menu-ancestor > a { color: var(--pb-red); }
.pb-nav .sub-menu {
	display: none; position: absolute; top: 100%; left: -16px; z-index: 50; min-width: 240px;
	background: var(--pb-white); border: 1px solid var(--pb-line); border-top: 3px solid var(--pb-red);
	padding: 8px 0; flex-direction: column; gap: 0;
}
.pb-nav .sub-menu a { padding: 8px 16px; text-transform: none; letter-spacing: 0; font-weight: 600; }
.pb-nav li:hover > .sub-menu, .pb-nav li:focus-within > .sub-menu { display: flex; }
.pb-nav .menu-item-has-children > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); }
.pb-nav .sub-menu .menu-item-has-children > a::after { display: none; }

/* Ticker */
.pb-ticker { background: var(--pb-white); border-bottom: 1px solid var(--pb-line); font-size: 14px; }
.pb-ticker .pb-wrap { display: flex; gap: 16px; align-items: center; padding-top: 12px; padding-bottom: 12px; overflow: hidden; }
.pb-ticker__label { background: var(--pb-red); color: var(--pb-white); font-weight: 800; font-size: 12px; letter-spacing: .12em; padding: 5px 10px; border-radius: 2px; flex: none; }
.pb-ticker__items { display: flex; gap: 32px; white-space: nowrap; overflow: hidden; }
.pb-ticker__items a { color: var(--pb-ink); }

/* HERO */
.pb-hero {
	position: relative; min-height: 640px; display: flex; align-items: flex-end;
	background-color: var(--pb-forest); background-size: cover; background-position: center 40%;
	color: var(--pb-white);
}
.pb-hero::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(10,30,23,.88) 0%, rgba(10,30,23,.62) 40%, rgba(10,30,23,0) 70%),
	            linear-gradient(0deg, rgba(10,30,23,.55) 0%, rgba(10,30,23,0) 35%);
}
.pb-hero .pb-wrap { position: relative; width: 100%; padding-top: 96px; padding-bottom: 72px; }
.pb-hero__inner { max-width: 620px; display: flex; flex-direction: column; gap: 18px; }
.pb-eyebrow { font-size: 12px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: #FFB4A8; }
.pb-hero h1 { font-size: clamp(40px, 6vw, 68px); line-height: 1.04; margin: 0; color: var(--pb-white); }
.pb-hero p { font-size: 19px; line-height: 1.6; margin: 0; color: #E3EBE7; }
.pb-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.pb-hero__actions .pb-button { height: 50px; padding: 0 24px; font-size: 15px; }
.pb-hero__stripe { position: absolute; left: 0; right: 0; bottom: 0; height: 6px; display: flex; }
.pb-hero__stripe span { flex: 1; }
.pb-hero__stripe span:nth-child(1) { background: var(--pb-white); }
.pb-hero__stripe span:nth-child(2) { background: var(--pb-green-flag); }
.pb-hero__stripe span:nth-child(3) { background: var(--pb-red-flag); }

/* Ads */
.pb-ad { margin: 28px auto 0; text-align: center; }
.pb-ad__label { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: #6B736E; margin-bottom: 6px; display: block; }
.pb-ad-placeholder {
	display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap;
	min-height: 96px; padding: 16px; border: 1px dashed #B8C9C1; background: #F1F5F3;
	border-radius: var(--pb-radius); color: var(--pb-green); font-family: var(--pb-serif); font-size: 21px; font-weight: 700;
}
.pb-ad-placeholder small { font-family: var(--pb-sans); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; background: var(--pb-green); color: var(--pb-white); padding: 7px 12px; border-radius: 3px; }
.pb-ad-sidebar {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
	min-height: 250px; padding: 24px; background: var(--pb-green); color: var(--pb-white);
	border-radius: var(--pb-radius); text-align: center;
}
.pb-ad-sidebar:hover { color: var(--pb-white); background: var(--pb-forest); }
.pb-ad-sidebar strong { font-family: var(--pb-serif); font-size: 25px; line-height: 1.2; }
.pb-ad-sidebar span { background: var(--pb-white); color: var(--pb-green); font-weight: 800; font-size: 13px; padding: 10px 16px; border-radius: 3px; }

/* Layout */
.pb-main { display: flex; flex-wrap: wrap; gap: 36px; padding-top: 36px; padding-bottom: 24px; }
.pb-content { flex: 999 1 640px; min-width: 0; }
.pb-sidebar { flex: 1 1 300px; display: flex; flex-direction: column; gap: 28px; }

/* Section heads */
.pb-section { padding-top: 56px; }
.pb-section-head { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: baseline; justify-content: space-between; border-bottom: 2px solid var(--pb-ink); padding-bottom: 10px; margin-bottom: 24px; }
.pb-section-head h2 { margin: 0; font-size: 30px; }
.pb-section-head h2 em { font-weight: 500; color: var(--pb-green); }
.pb-section-head a { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* Cards */
.pb-grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.pb-card { display: flex; flex-direction: column; gap: 10px; }
.pb-card__media { aspect-ratio: 16 / 10; background: #E9EEEB; border-radius: 3px; overflow: hidden; }
.pb-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.pb-card:hover .pb-card__media img { transform: scale(1.04); }
.pb-cat { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--pb-red); }
.pb-card h3 { font-size: 21px; margin: 0; }
.pb-card h3 a { color: var(--pb-ink); }
.pb-card h3 a:hover { color: var(--pb-green); }
.pb-card p { margin: 0; font-size: 15px; color: #3D4641; line-height: 1.55; }
.pb-meta { font-size: 13px; color: var(--pb-muted); }

/* Feature story */
.pb-feature { background: var(--pb-white); border: 1px solid var(--pb-line); border-radius: var(--pb-radius); overflow: hidden; margin-bottom: 40px; }
.pb-feature__media { aspect-ratio: 16 / 8; background: var(--pb-forest-2); }
.pb-feature__media img { width: 100%; height: 100%; object-fit: cover; }
.pb-feature__body { padding: 28px 32px 32px; display: flex; flex-direction: column; gap: 12px; }
.pb-feature h2 { font-size: clamp(30px, 4vw, 42px); margin: 0; }
.pb-feature h2 a { color: var(--pb-ink); }
.pb-feature p { margin: 0; font-size: 18px; color: #3D4641; }

/* Widgets / sidebar boxes */
.pb-box, .widget { background: var(--pb-white); border: 1px solid var(--pb-line); border-radius: var(--pb-radius); padding: 22px; }
.pb-box h2, .widget-title { font-size: 22px; margin: 0 0 14px; }
.pb-facts { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 10px 16px; font-size: 14px; }
.pb-facts dt { color: var(--pb-muted); }
.pb-facts dd { margin: 0; font-weight: 600; }
.pb-mostread { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; counter-reset: pb; }
.pb-mostread li { display: flex; gap: 14px; align-items: baseline; counter-increment: pb; }
.pb-mostread li::before { content: counter(pb); font-family: var(--pb-serif); font-size: 28px; font-weight: 800; color: var(--pb-red); line-height: 1; }
.pb-mostread a { color: var(--pb-ink); font-weight: 600; line-height: 1.4; }
.widget ul { margin: 0; padding-left: 18px; }
.pb-sidebar .widget_advanced_ads_ad_widget, .pb-sidebar .pb-ad-widget { background: none; border: 0; padding: 0; }

/* History band */
.pb-history { background: var(--pb-forest); color: #F3F6F4; margin-top: 56px; }
.pb-history .pb-wrap { padding-top: 56px; padding-bottom: 56px; }
.pb-history__head { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: end; justify-content: space-between; margin-bottom: 28px; }
.pb-history__head h2 { color: var(--pb-white); font-size: clamp(32px, 4vw, 42px); margin: 6px 0 0; }
.pb-history .pb-eyebrow { color: #FF8A7A; }
.pb-history__grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.pb-era { display: flex; flex-direction: column; gap: 10px; background: var(--pb-forest-2); border-radius: var(--pb-radius); padding: 22px; color: #F3F6F4; border-top: 4px solid var(--pb-white); }
.pb-era:nth-child(3n+2) { border-top-color: var(--pb-green-flag); }
.pb-era:nth-child(3n+3) { border-top-color: var(--pb-red-flag); }
.pb-era:hover { color: var(--pb-white); background: #1E4A3A; }
.pb-era time, .pb-era .pb-era__date { font-family: var(--pb-serif); font-style: italic; font-size: 15px; color: #A9C2B8; }
.pb-era strong { font-family: var(--pb-serif); font-size: 20px; line-height: 1.25; }

/* Discover */
.pb-discover .pb-card__media { aspect-ratio: 4 / 3; }

/* Community board */
.pb-board { background: var(--pb-white); border: 1px solid var(--pb-line); border-radius: var(--pb-radius); padding: 32px; }
.pb-board__head { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: end; justify-content: space-between; margin-bottom: 22px; }
.pb-board__head h2 { font-size: 30px; margin: 4px 0; }
.pb-board__head p { margin: 0; color: #3D4641; }
.pb-board .pb-eyebrow { color: var(--pb-green); }

/* Newsletter */
.pb-newsletter { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; background: var(--pb-red); color: var(--pb-white); border-radius: var(--pb-radius); padding: 36px 40px; }
.pb-newsletter h2 { color: var(--pb-white); font-size: 32px; margin: 0 0 6px; }
.pb-newsletter p { margin: 0; }
.pb-newsletter > div { flex: 1 1 360px; }
.pb-newsletter input[type="email"] { height: 48px; border: 0; border-radius: 3px; padding: 0 16px; font: inherit; width: 100%; }
.pb-newsletter button, .pb-newsletter input[type="submit"] { background: var(--pb-forest); height: 48px; }

/* Single / page */
.pb-article { background: var(--pb-white); border: 1px solid var(--pb-line); border-radius: var(--pb-radius); overflow: hidden; }
.pb-article__head { padding: 36px 40px 0; }
.pb-article__head h1 { font-size: clamp(32px, 4.5vw, 48px); margin: 8px 0 12px; }
.pb-article__thumb { margin: 24px 0 0; }
.pb-article__thumb img { width: 100%; }
.pb-entry { padding: 32px 40px 40px; font-size: 18px; }
.pb-entry h2 { font-size: 30px; margin-top: 1.4em; }
.pb-entry h3 { font-size: 24px; margin-top: 1.3em; }
.pb-entry blockquote { margin: 1.5em 0; padding: 4px 0 4px 24px; border-left: 4px solid var(--pb-red); font-family: var(--pb-serif); font-size: 22px; font-style: italic; }
.pb-entry img { border-radius: 3px; }
.pb-entry a { text-decoration: underline; text-underline-offset: 3px; }
.pb-inarticle-ad { margin: 32px 0; }
.pb-tags { padding: 0 40px 32px; display: flex; flex-wrap: wrap; gap: 8px; }
.pb-tags a { font-size: 13px; background: #F1F5F3; padding: 6px 12px; border-radius: 20px; color: var(--pb-green); }
/* Share buttons */
.pb-sharebar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.pb-sharebar__label { font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--pb-muted); }
.pb-sharebar__buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.pb-share {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px;
	border: 0; border-radius: 3px; color: #FFFFFF; font: inherit; font-size: 14px; font-weight: 700;
	cursor: pointer; text-decoration: none !important; transition: filter .15s ease, transform .15s ease;
}
.pb-share:hover, .pb-share:focus-visible { color: #FFFFFF; filter: brightness(.88); transform: translateY(-1px); }
.pb-share:focus-visible { outline: 3px solid var(--pb-gold); outline-offset: 2px; }
.pb-share svg { flex: none; }
.pb-share[hidden] { display: none !important; }
@media (max-width: 480px) { .pb-sharebar--top .pb-sharebar__buttons { gap: 6px; } .pb-sharebar--top .pb-share { width: 42px; min-height: 42px; } }
.pb-share--facebook  { background: #1877F2; }
.pb-share--whatsapp  { background: #128C4A; }
.pb-share--viber     { background: #665CAC; }
.pb-share--x         { background: #000000; }
.pb-share--telegram  { background: #0A7CC2; }
.pb-share--linkedin  { background: #0A66C2; }
.pb-share--pinterest { background: #C8001E; }
.pb-share--email     { background: var(--pb-forest); }
.pb-share--native    { background: var(--pb-green); }
.pb-share--link      { background: var(--pb-white); color: var(--pb-ink); box-shadow: inset 0 0 0 1px #CFCBC2; }
.pb-share--link:hover { color: var(--pb-ink); }
.pb-share--link.is-copied { background: var(--pb-green); color: #FFFFFF; box-shadow: none; }
/* Top bar: icon-only, round */
.pb-sharebar--top { margin-top: 18px; }
.pb-sharebar--top .pb-share { width: 44px; padding: 0; justify-content: center; border-radius: 50%; }
.pb-sharebar--top .pb-share__name, .pb-sharebar--top .pb-share--native span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Bottom block */
.pb-article__share { margin: 0 40px 36px; padding: 24px; background: #F4F1EA; border-radius: var(--pb-radius); border-top: 4px solid var(--pb-red); }
.pb-article__share .pb-sharebar { flex-direction: column; align-items: flex-start; }
.pb-article__share .pb-sharebar__label { font-family: var(--pb-serif); font-size: 22px; font-weight: 800; letter-spacing: 0; text-transform: none; color: var(--pb-ink); }
.pb-article__share .pb-sharebar__label span { color: var(--pb-green); font-style: italic; font-weight: 500; }

/* Archive header */
.pb-archive-head { background: var(--pb-forest); color: var(--pb-white); }
.pb-archive-head .pb-wrap { padding-top: 48px; padding-bottom: 44px; }
.pb-archive-head h1 { color: var(--pb-white); font-size: clamp(32px, 4vw, 46px); margin: 6px 0 8px; }
.pb-archive-head p { margin: 0; color: #C9D6D0; max-width: 720px; }

/* Pagination */
.pb-pagination { margin-top: 40px; }
.pb-pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.pb-pagination a, .pb-pagination span { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--pb-line); border-radius: 3px; background: var(--pb-white); color: var(--pb-ink); font-weight: 700; }
.pb-pagination .current { background: var(--pb-green); color: var(--pb-white); border-color: var(--pb-green); }

/* Comments */
.pb-comments { margin-top: 32px; }
.comment-list { list-style: none; padding: 0; }
.comment-body { background: var(--pb-white); border: 1px solid var(--pb-line); border-radius: var(--pb-radius); padding: 18px; margin-bottom: 14px; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea {
	width: 100%; border: 1px solid #D5D2CA; border-radius: 3px; padding: 10px 12px; font: inherit;
}

/* Footer */
.pb-footer { background: var(--pb-forest); color: #C9D6D0; margin-top: 56px; font-size: 14px; }
.pb-footer a { color: #C9D6D0; }
.pb-footer a:hover { color: var(--pb-white); }
.pb-footer__grid { display: grid; gap: 32px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); padding-top: 48px; padding-bottom: 28px; }
.pb-footer__brand { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.pb-footer__brand img { width: 64px; height: 64px; }
.pb-footer__brand span { font-family: var(--pb-serif); font-size: 24px; font-weight: 800; color: var(--pb-white); }
.pb-footer h2, .pb-footer .widget-title { color: var(--pb-white); font-family: var(--pb-sans); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 12px; }
.pb-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pb-footer .widget { background: none; border: 0; padding: 0; }
.pb-footer__bottom { border-top: 1px solid #24463A; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; padding-top: 18px; padding-bottom: 28px; font-size: 13px; }

/* WP core */
.alignwide { max-width: 1100px; }
.alignfull { width: 100%; max-width: none; }
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { margin-left: auto; margin-right: auto; }
.wp-caption-text, figcaption { font-size: 14px; color: var(--pb-muted); margin-top: 6px; }
.sticky .pb-card h3::before { content: "★ "; color: var(--pb-gold); }

/* Elementor full-width template */
.pb-elementor-canvas { min-height: 40vh; }

/* Block buttons */
.wp-block-button__link, .wp-element-button {
	background: var(--pb-green); color: var(--pb-white); border-radius: 3px; padding: 13px 22px;
	font-family: var(--pb-sans); font-weight: 700; font-size: 15px; text-decoration: none !important; display: inline-block;
}
.wp-block-button__link:hover { background: var(--pb-forest); color: var(--pb-white); }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--pb-green); border: 2px solid var(--pb-green); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--pb-green); color: var(--pb-white); }
.pb-btn-red > .wp-block-button__link { background: var(--pb-red); }
.pb-btn-red > .wp-block-button__link:hover { background: #9C180B; }
.pb-btn-white > .wp-block-button__link { background: var(--pb-white); color: var(--pb-forest); }
.pb-btn-ghost > .wp-block-button__link { background: transparent; border: 1px solid rgba(255,255,255,.6); }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }

/* Full-width page bands (Advertise page) */
.pb-elementor-canvas > .pb-band { padding: 64px 24px; margin: 0; }
.pb-band > * { margin-left: auto; margin-right: auto; }
.pb-band--dark { background: var(--pb-forest); color: #DCE6E1; }
.pb-band--dark h1, .pb-band--dark h2 { color: var(--pb-white); }
.pb-band--dark h1 { font-size: clamp(36px, 5vw, 56px); line-height: 1.06; }
.pb-band--white { background: var(--pb-white); border-top: 1px solid var(--pb-line); border-bottom: 1px solid var(--pb-line); }
.pb-band .pb-eyebrow { color: #FF8A7A; margin-bottom: 8px; }
.pb-lead { font-size: 19px; }
.pb-offer { display: table; background: #FFF1EE; color: var(--pb-red); font-weight: 700; padding: 8px 16px; border-radius: 3px; }
.pb-small { font-size: 14px; color: var(--pb-muted); }
.pb-plans { gap: 20px !important; margin-top: 32px; }
.pb-plan { background: var(--pb-white); border: 1px solid var(--pb-line); border-top: 5px solid #B8C9C1; border-radius: var(--pb-radius); padding: 28px; position: relative; display: flex; flex-direction: column; }
.pb-plan:nth-child(2) { border-top-color: var(--pb-green-flag); }
.pb-plan .wp-block-buttons { margin-top: auto; padding-top: 12px; }
.pb-plan ul { padding-left: 18px; font-size: 15px; }
.pb-plan--highlight { border: 2px solid var(--pb-red); }
.pb-plan--dark { background: var(--pb-forest); color: #DCE6E1; border-color: var(--pb-forest); }
.pb-plan--dark .pb-plan__price { color: var(--pb-white); }
.pb-plan--dark .pb-plan__price span { color: #A9C2B8; }
.pb-plan__name { font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--pb-green); margin: 0 0 6px; }
.pb-plan--highlight .pb-plan__name { color: var(--pb-red); }
.pb-plan--dark .pb-plan__name { color: #FF8A7A; }
.pb-plan__price { font-family: var(--pb-serif); font-size: 40px; font-weight: 800; line-height: 1.1; margin: 0 0 8px; }
.pb-plan__price span { font-family: var(--pb-sans); font-size: 15px; font-weight: 600; color: var(--pb-muted); }
.pb-plan__badge { position: absolute; top: -14px; left: 24px; margin: 0; background: var(--pb-red); color: var(--pb-white); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; padding: 5px 10px; border-radius: 2px; }

/* Mobile */
@media (max-width: 860px) {
	.pb-nav__toggle {
		display: inline-flex; align-items: center; gap: 10px; margin: 12px 0; height: 44px; padding: 0 16px;
		background: var(--pb-ink); color: var(--pb-white); border: 0; border-radius: 3px; font: inherit; font-weight: 700; cursor: pointer;
	}
	.pb-nav ul.pb-menu { display: none; flex-direction: column; padding-top: 0; }
	.pb-nav.is-open ul.pb-menu { display: flex; }
	.pb-nav .sub-menu { position: static; display: flex; border: 0; padding-left: 16px; }
	.pb-brand__name { font-size: 26px; }
	.pb-brand img, .pb-brand .custom-logo { width: 64px; height: 64px; }
	.pb-hero { min-height: 520px; background-position: 70% 40%; }
	.pb-hero::before { background: linear-gradient(0deg, rgba(10,30,23,.92) 0%, rgba(10,30,23,.55) 55%, rgba(10,30,23,.15) 100%); }
	.pb-hero .pb-wrap { padding-top: 180px; padding-bottom: 48px; }
	.pb-article__head, .pb-entry { padding-left: 22px; padding-right: 22px; }
	.pb-tags { padding-left: 22px; padding-right: 22px; }
	.pb-article__share { margin-left: 16px; margin-right: 16px; padding: 18px; }
	.pb-article__share .pb-share { padding: 0 12px; }
	.pb-article__share .pb-share__name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.pb-article__share .pb-share { width: 48px; padding: 0; justify-content: center; }
	.pb-article__share .pb-share--native { width: auto; padding: 0 16px; }
	.pb-article__share .pb-share--native span { position: static; width: auto; height: auto; clip: auto; }
	.pb-board, .pb-newsletter { padding: 24px; }
}


/* Donations */
.pb-donate { display: flex; flex-direction: column; gap: 14px; }
.pb-donate__amounts { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pb-donate__legend { font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--pb-muted); margin-bottom: 8px; padding: 0; }
.pb-donate__amount { position: relative; }
.pb-donate__amount input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.pb-donate__amount span {
	display: inline-flex; align-items: center; justify-content: center; min-width: 72px; min-height: 48px; padding: 0 16px;
	border: 2px solid #CFCBC2; border-radius: 3px; background: var(--pb-white); font-weight: 800; font-size: 17px; color: var(--pb-ink);
}
.pb-donate__amount input:checked + span { border-color: var(--pb-red); background: #FFF1EE; color: var(--pb-red); }
.pb-donate__amount input:focus-visible + span { outline: 3px solid var(--pb-gold); outline-offset: 2px; }
.pb-donate__button {
	align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 26px;
	background: var(--pb-red); color: var(--pb-white) !important; border-radius: 3px; font-weight: 800; font-size: 17px; text-decoration: none !important;
}
.pb-donate__button:hover { background: #9C180B; }
.pb-donate__note { margin: 0; font-size: 13px; color: var(--pb-muted); }
.pb-donate-notice { padding: 14px 16px; background: #FFF8E1; border: 1px dashed var(--pb-gold); border-radius: 3px; font-size: 14px; }
.pb-support { display: flex; flex-wrap: wrap; gap: 24px 40px; align-items: center; margin: 0 40px 40px; padding: 28px 32px; background: var(--pb-forest); color: #DCE6E1; border-radius: var(--pb-radius); }
.pb-support__text { flex: 1 1 300px; }
.pb-support h2 { color: var(--pb-white); font-size: 26px; margin: 6px 0 8px; }
.pb-support p { margin: 0; font-size: 15px; line-height: 1.6; }
.pb-support .pb-eyebrow { color: #FF8A7A; }
.pb-support .pb-donate { flex: 1 1 300px; }
.pb-support .pb-donate__legend, .pb-support .pb-donate__note { color: #A9C2B8; }
.pb-entry .pb-donate { margin: 24px 0; padding: 28px; background: #F4F1EA; border-radius: var(--pb-radius); border-top: 4px solid var(--pb-red); }
@media (max-width: 860px) { .pb-support { margin: 0 16px 32px; padding: 22px; } }


/* Contact form */
.pb-cform { margin: 24px 0 36px; padding: 28px; background: #F4F1EA; border-radius: var(--pb-radius); border-top: 4px solid var(--pb-green); }
.pb-cform form { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.pb-cform__row { display: flex; flex-wrap: wrap; gap: 16px; }
.pb-cform__row .pb-cform__field { flex: 1 1 240px; }
.pb-cform__field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.pb-cform label { font-size: 15px; font-weight: 700; }
.pb-cform label span { color: var(--pb-red); }
.pb-cform input[type="text"], .pb-cform input[type="email"], .pb-cform select, .pb-cform textarea {
	width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border: 1px solid #CFCBC2; border-radius: 3px;
	background: var(--pb-white); font: inherit; font-size: 16px; color: var(--pb-ink);
}
.pb-cform textarea { min-height: 160px; resize: vertical; }
.pb-cform input:focus, .pb-cform select:focus, .pb-cform textarea:focus { outline: 3px solid rgba(0,112,79,.25); border-color: var(--pb-green); }
.pb-cform__consent { display: flex; gap: 10px; align-items: flex-start; margin: 0; }
.pb-cform__consent input { width: 20px; height: 20px; margin-top: 3px; flex: none; accent-color: var(--pb-green); }
.pb-cform__consent label { font-weight: 400; font-size: 14px; color: #3D4641; }
.pb-cform__submit { align-self: flex-start; min-height: 52px; padding: 0 28px; border: 0; border-radius: 3px; background: var(--pb-green); color: var(--pb-white); font: inherit; font-weight: 800; font-size: 16px; cursor: pointer; }
.pb-cform__submit:hover { background: var(--pb-forest); }
.pb-cform__msg { padding: 14px 16px; border-radius: 3px; margin-bottom: 18px; font-size: 15px; }
.pb-cform__msg--ok { background: #E3F2EC; border-left: 4px solid var(--pb-green); }
.pb-cform__msg--err { background: #FFF1EE; border-left: 4px solid var(--pb-red); }
.pb-cform__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }


/* Sidebar: more modules + block that stays in view */
.pb-box__more { display: inline-block; margin-top: 14px; font-size: 13px; font-weight: 700; }
.pb-timeline { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 2px solid var(--pb-line); display: flex; flex-direction: column; gap: 14px; }
.pb-timeline li { position: relative; display: flex; flex-direction: column; gap: 2px; }
.pb-timeline li::before { content: ""; position: absolute; left: -20px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--pb-red); box-shadow: 0 0 0 3px var(--pb-white); }
.pb-timeline li:nth-child(3n+2)::before { background: var(--pb-green-flag); }
.pb-timeline li:nth-child(3n+3)::before { background: var(--pb-gold); }
.pb-timeline__era { font-family: var(--pb-serif); font-style: italic; font-size: 14px; color: var(--pb-muted); }
.pb-timeline a { color: var(--pb-ink); font-weight: 600; line-height: 1.35; }
.pb-timeline a:hover { color: var(--pb-green); }
.pb-sidebar__sticky { display: flex; flex-direction: column; gap: 28px; }
.pb-box--support { background: var(--pb-forest); border-color: var(--pb-forest); color: #DCE6E1; }
.pb-box--support h2 { color: var(--pb-white); margin: 6px 0 8px; }
.pb-box--support p { margin: 0 0 16px; font-size: 15px; line-height: 1.55; }
.pb-box--support .pb-eyebrow { color: #FF8A7A; }
.pb-box--support .pb-donate__button { min-height: 46px; padding: 0 20px; font-size: 15px; }
.pb-box--community p { margin: 0 0 14px; font-size: 15px; color: #3D4641; }
.pb-box__links { display: flex; flex-wrap: wrap; gap: 8px; }
.pb-box__links a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--pb-line); border-radius: 20px; font-size: 14px; font-weight: 700; color: var(--pb-ink); }
.pb-box__links a:hover { border-color: var(--pb-green); color: var(--pb-green); }
@media (min-width: 861px) {
	.pb-sidebar { align-self: stretch; }
	.pb-sidebar__sticky { position: sticky; top: 24px; }
}


/* ===================== WooCommerce ===================== */
.pb-masthead__tools { display: flex; align-items: center; gap: 10px; }
.pb-cart { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #D5D2CA; border-radius: 3px; color: var(--pb-ink); }
.pb-cart:hover { border-color: var(--pb-green); color: var(--pb-green); }
.pb-cart__count { position: absolute; top: -7px; right: -7px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--pb-red); color: #FFFFFF; font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.pb-cart__count[hidden] { display: none; }

/* Shop hero */
.pb-shop-hero { background: var(--pb-forest); color: #F3F6F4; }
.pb-shop-hero .pb-wrap { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: flex-end; justify-content: space-between; padding-top: 56px; padding-bottom: 52px; }
.pb-shop-hero__text { flex: 1 1 520px; display: flex; flex-direction: column; gap: 12px; }
.pb-shop-hero .pb-eyebrow { color: #FF8A7A; }
.pb-shop-hero h1 { margin: 0; color: #FFFFFF; font-size: clamp(34px, 5vw, 52px); line-height: 1.05; }
.pb-shop-hero p { margin: 0; font-size: 18px; color: #C9D6D0; max-width: 620px; }
.pb-shop-hero__trust { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: 14px; color: #DCE6E1; }
.pb-shop-hero__trust li { display: flex; align-items: center; gap: 8px; }
.pb-shop-hero__trust svg { color: #E2B857; }

.pb-shop { padding-top: 32px; padding-bottom: 24px; }
.pb-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.pb-chips a { min-height: 40px; display: inline-flex; align-items: center; padding: 0 16px; border-radius: 20px; border: 1px solid #D5D2CA; background: #FFFFFF; color: var(--pb-ink); font-weight: 700; font-size: 14px; }
.pb-chips a:hover { border-color: var(--pb-green); color: var(--pb-green); }
.pb-chips a.is-active { background: var(--pb-forest); border-color: var(--pb-forest); color: #FFFFFF; }
.woocommerce .woocommerce-result-count { font-size: 14px; color: var(--pb-muted); margin: 10px 0 24px; }
.woocommerce .woocommerce-ordering select, .woocommerce select.orderby { height: 42px; border: 1px solid #D5D2CA; border-radius: 3px; padding: 0 10px; font: inherit; font-size: 14px; background: #FFFFFF; }

/* Product grid */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; margin: 0 0 32px !important; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); overflow: hidden; position: relative; transition: box-shadow .2s ease, transform .2s ease; }
.woocommerce ul.products li.product:hover { box-shadow: 0 10px 28px rgba(14,42,33,.10); transform: translateY(-2px); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; color: var(--pb-ink); }
.woocommerce ul.products li.product a img { margin: 0 0 14px !important; aspect-ratio: 1 / 1; object-fit: cover; width: 100%; background: #EFE9DD; }
.pb-card-cat { display: block; padding: 0 18px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--pb-green); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 6px 18px 0 !important; font-family: var(--pb-serif); font-size: 19px !important; font-weight: 700; line-height: 1.25; color: var(--pb-ink); }
.woocommerce ul.products li.product .price { display: block; padding: 8px 18px 0; margin: 0 0 14px !important; color: var(--pb-ink) !important; font-weight: 800; font-size: 18px !important; }
.woocommerce ul.products li.product .price del { color: var(--pb-muted); font-weight: 500; font-size: 15px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--pb-red); }
.woocommerce ul.products li.product .star-rating { margin: 6px 18px 0 !important; }
.woocommerce ul.products li.product .button { margin: auto 18px 18px !important; }

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px !important;
	border-radius: 3px !important; background: var(--pb-green) !important; color: #FFFFFF !important;
	font-family: var(--pb-sans) !important; font-weight: 800 !important; font-size: 15px !important; line-height: 1.2; border: 0 !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--pb-forest) !important; }
.woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce .single_add_to_cart_button, .woocommerce a.checkout-button, .woocommerce #place_order { background: var(--pb-red) !important; }
.woocommerce button.button.alt:hover, .woocommerce .single_add_to_cart_button:hover, .woocommerce a.checkout-button:hover, .woocommerce #place_order:hover { background: #9C180B !important; }
.woocommerce a.added_to_cart { display: block; margin: -10px 18px 16px; font-size: 14px; font-weight: 700; }

/* Badges */
.woocommerce span.onsale, .pb-badge {
	position: absolute; top: 12px; left: 12px; z-index: 5; min-width: 0; min-height: 0; margin: 0 !important;
	padding: 5px 9px !important; border-radius: 2px !important; line-height: 1.2 !important;
	background: var(--pb-red) !important; color: #FFFFFF; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase;
}
.woocommerce span.onsale { background: var(--pb-gold) !important; color: var(--pb-forest) !important; }

/* Breadcrumb */
.pb-breadcrumb, .woocommerce .woocommerce-breadcrumb { font-size: 13px; color: var(--pb-muted); margin: 0 0 20px; }
.pb-breadcrumb a { color: var(--pb-green); }

/* Single product */
.woocommerce div.product { position: relative; display: flex; flex-wrap: wrap; gap: 40px 56px; align-items: flex-start; }
.woocommerce div.product div.images, .woocommerce div.product .woocommerce-product-gallery { float: none !important; width: auto !important; flex: 1 1 500px; min-width: 0; margin: 0 !important; }
.woocommerce div.product div.summary { float: none !important; width: auto !important; flex: 1 1 400px; min-width: 0; margin: 0 !important; display: flex; flex-direction: column; gap: 16px; }
.woocommerce div.product div.summary > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.woocommerce div.product .woocommerce-product-gallery__image img, .woocommerce div.product div.images img { border-radius: var(--pb-radius); background: #EFE9DD; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 12px !important; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; float: none !important; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 4px; border: 2px solid transparent; opacity: .7; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li img:hover { border-color: var(--pb-green); opacity: 1; }
.woocommerce div.product .product_title { font-size: clamp(30px, 4vw, 42px); line-height: 1.1; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--pb-ink) !important; font-size: 30px !important; font-weight: 800; }
.woocommerce div.product p.price ins { text-decoration: none; color: var(--pb-red); }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 17px; line-height: 1.6; color: #3D4641; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 0 !important; }
.woocommerce div.product form.cart .variations { width: 100%; margin: 0 !important; }
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th { display: block; padding: 0 0 8px !important; text-align: left; }
.woocommerce div.product form.cart .variations select { width: 100%; min-height: 48px; border: 1px solid #CFCBC2; border-radius: 3px; padding: 0 12px; font: inherit; font-size: 16px; background: #FFFFFF; }
.woocommerce div.product form.cart .single_variation_wrap { width: 100%; display: flex; flex-direction: column; gap: 12px; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; }
.woocommerce .quantity .qty { width: 80px; min-height: 54px; border: 1px solid #CFCBC2; border-radius: 3px; font: inherit; font-size: 17px; font-weight: 700; text-align: center; }
.woocommerce div.product form.cart .button { flex: 1 1 220px; min-height: 54px; font-size: 17px !important; float: none !important; }
.woocommerce div.product .stock { font-weight: 700; color: var(--pb-green) !important; }
.woocommerce div.product .stock.out-of-stock { color: var(--pb-red) !important; }
.woocommerce div.product .product_meta { font-size: 14px; color: var(--pb-muted); display: flex; flex-direction: column; gap: 4px; }
.pb-product-trust { list-style: none; margin: 0; padding: 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; background: #F4F1EA; border-radius: var(--pb-radius); font-size: 14px; line-height: 1.4; }
.pb-product-trust li { display: flex; gap: 10px; align-items: flex-start; }
.pb-product-trust svg { color: var(--pb-green); flex: none; }
.woocommerce div.product .pb-sharebar--top { margin-top: 0; }

/* Story + tabs + related span full width */
.woocommerce div.product > .pb-product-story, .woocommerce div.product > .woocommerce-tabs, .woocommerce div.product > .related, .woocommerce div.product > .upsells { flex: 1 1 100%; width: 100%; }
.pb-product-story { background: var(--pb-forest); color: #DCE6E1; border-radius: var(--pb-radius); padding: 40px; }
.pb-product-story .pb-eyebrow { color: #FF8A7A; }
.pb-product-story h2 { color: #FFFFFF; font-size: 32px; margin: 8px 0 12px; }
.pb-product-story p { font-size: 16px; line-height: 1.7; max-width: 760px; }
.pb-product-story a { color: #E2B857; font-weight: 700; }
.woocommerce div.product .woocommerce-tabs { background: #FFFFFF; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; margin: 0 !important; padding: 0 !important; border-bottom: 1px solid var(--pb-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: flex; align-items: center; min-height: 52px; padding: 0 24px !important; font-weight: 700 !important; color: var(--pb-muted) !important; border-bottom: 3px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--pb-ink) !important; border-bottom-color: var(--pb-red); font-weight: 800 !important; }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0 !important; padding: 28px 32px; font-size: 17px; line-height: 1.7; color: #3D4641; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { font-size: 24px; }
.woocommerce .related > h2, .woocommerce .upsells > h2 { font-size: 28px; border-bottom: 2px solid var(--pb-ink); padding-bottom: 10px; margin-bottom: 20px; }

/* Mobile add-to-cart bar */
.pb-mobile-cart { display: none; }
@media (max-width: 760px) {
	.pb-mobile-cart { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; gap: 12px; align-items: center; justify-content: space-between; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #FFFFFF; box-shadow: 0 -4px 16px rgba(14,42,33,.12); }
	.pb-mobile-cart div { display: flex; flex-direction: column; min-width: 0; font-size: 14px; }
	.pb-mobile-cart strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.pb-mobile-cart__btn { flex: none; display: inline-flex; align-items: center; min-height: 46px; padding: 0 18px; border-radius: 3px; background: var(--pb-red); color: #FFFFFF !important; font-weight: 800; }
	.single-product .pb-footer { padding-bottom: 72px; }
}

/* Shop story band */
.pb-shop-story { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; background: #FFFFFF; border: 1px solid var(--pb-line); border-top: 4px solid var(--pb-red); border-radius: var(--pb-radius); padding: 32px; margin-top: 16px; }
.pb-shop-story > div { flex: 1 1 380px; }
.pb-shop-story h2 { font-size: 30px; margin: 0 0 8px; }
.pb-shop-story p { margin: 0; color: #3D4641; }
.pb-shop-story ul { flex: 1 1 320px; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; font-size: 14px; }
.pb-shop-story li { display: flex; gap: 10px; align-items: flex-start; }
.pb-shop-story svg { color: var(--pb-green); flex: none; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: flex; gap: 8px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 44px; height: 44px; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 3px; border: 1px solid var(--pb-line); background: #FFFFFF; font-weight: 700; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--pb-green) !important; color: #FFFFFF !important; border-color: var(--pb-green); }

/* Cart, checkout, notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--pb-green) !important; background: #F4F1EA !important; border-radius: 3px; }
.woocommerce-error { border-top-color: var(--pb-red) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--pb-green) !important; }
.woocommerce table.shop_table { border-radius: var(--pb-radius) !important; background: #FFFFFF; border-color: var(--pb-line) !important; }
.woocommerce table.shop_table th { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--pb-muted); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection--single {
	min-height: 48px; border: 1px solid #CFCBC2 !important; border-radius: 3px !important; padding: 10px 12px; font: inherit; background: #FFFFFF;
}
.woocommerce-cart .pb-content, .woocommerce-checkout .pb-content, .woocommerce-account .pb-content { flex-basis: 100%; }
.woocommerce-cart .pb-sidebar, .woocommerce-checkout .pb-sidebar { display: none; }

@media (max-width: 1080px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 16px !important; } .pb-product-story { padding: 24px; } }


/* Designer credit */
.pb-designer { display: block; font-size: 14px; color: var(--pb-muted); }
.pb-designer strong { font-weight: 700; color: var(--pb-ink); }
.pb-designer a { color: #B0006A; text-decoration: none; }
.pb-designer a:hover { text-decoration: underline; }
.pb-designer--card { padding: 4px 18px 0; font-size: 13px; }
.pb-designer--card strong { color: #B0006A; }
.pb-designer--product { font-size: 15px; margin-top: -6px !important; }
.pb-designer--hero { color: #C9D6D0; font-size: 15px; }
.pb-designer--hero strong, .pb-designer--hero a { color: #F7B6D8; }
.pb-designer-meta { display: block; }

/* Footer: website design credit */
.pb-footer__links { display: inline-flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; }
.pb-credit a { color: #F7B6D8; font-weight: 700; }
.pb-credit a:hover { color: #FFFFFF; text-decoration: underline; }
