/* ==========================================================================
   Primitiva theme — main stylesheet
   Colours and fonts come from theme.json (--wp--preset--*).
   ========================================================================== */

:root {
	--pp-ink: var(--wp--preset--color--ink, #1B1A17);
	--pp-cream: var(--wp--preset--color--cream, #FFF9EF);
	--pp-sand: var(--wp--preset--color--sand, #F2E6D0);
	--pp-line: var(--wp--preset--color--line, #E3D6BF);
	--pp-muted: var(--wp--preset--color--muted, #6B6255);
	--pp-body: var(--wp--preset--color--body, #4A443B);
	--pp-green: var(--wp--preset--color--green, #5E7A3A);
	--pp-yellow: var(--wp--preset--color--yellow, #E8A317);
	--pp-red: var(--wp--preset--color--red, #9B1C3A);
	--pp-blue: var(--wp--preset--color--blue, #2F4E8C);
	--pp-max: 1360px;
	--pp-gutter: 24px;
	--pp-section: 104px;
	--pp-radius: 28px;
	--pp-radius-md: 24px;
	--pp-radius-sm: 20px;
	--pp-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
[id] { scroll-margin-top: 24px; }
img { max-width: 100%; height: auto; }
.pp-svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.wp-site-blocks > *, .pp-main > *, .wp-site-blocks > .pp-header-wrap + * { margin-block: 0; }
.wp-site-blocks { padding: 0; }
.pp-main { padding-bottom: 0; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
	outline: 3px solid var(--pp-yellow); outline-offset: 2px;
}
mark.has-inline-color { background: none; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.pp-notice { padding: 24px; border: 2px dashed var(--pp-line); border-radius: var(--pp-radius-sm); color: var(--pp-muted); text-align: center; }

.pp-wrap { max-width: var(--pp-max); margin-inline: auto !important; padding-inline: var(--pp-gutter); box-sizing: border-box; }
.pp-wrap .pp-wrap { padding-inline: 0; }
.pp-wrap > * { margin-block: 0; }

/* Type helpers */
.pp-display { margin: 0; font-weight: 800; font-size: var(--wp--preset--font-size--display); line-height: .88; letter-spacing: -.045em; }
.pp-h2 { margin: 0; font-weight: 800; font-size: clamp(40px, 5vw, 64px); letter-spacing: -.03em; line-height: .95; }
.pp-h2--xl { font-size: clamp(40px, 5vw, 72px); }
.pp-h2--md { font-size: clamp(36px, 4vw, 56px); }
.pp-lead { font-size: 20px; max-width: 520px; margin: 0; }
.pp-lead-19 { font-size: 19px; max-width: 540px; margin: 0; }
.pp-lead-18 { font-size: 18px; max-width: 480px; margin: 0; }
.pp-muted-lead { font-size: 18px; color: var(--pp-body); margin: 0; }
.pp-note { font-size: 14px; color: var(--pp-muted); margin: 0; }
.pp-eyebrow { margin: 0; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; opacity: .8; }
.pp-arrowlink { margin: 0; font-weight: 600; }
.pp-arrowlink a { color: inherit; }
.pp-link { font-weight: 600; color: inherit; }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease; }
.wp-block-button__link:hover, .pp-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(27, 26, 23, .18); }
.wp-block-buttons { gap: 12px; }
.wp-block-button.is-style-sand .wp-block-button__link { background: var(--pp-sand); color: var(--pp-ink); }
.wp-block-button.is-style-light .wp-block-button__link { background: var(--pp-cream); color: var(--pp-ink); }
.wp-block-button.is-style-green .wp-block-button__link { background: var(--pp-green); color: var(--pp-cream); }
.wp-block-button.is-style-outline-ink .wp-block-button__link { background: transparent; color: var(--pp-ink); border: 2px solid var(--pp-ink); padding: 15px 28px; }
.wp-block-button.is-style-outline-ink.pp-on-dark .wp-block-button__link { color: var(--pp-cream); border-color: var(--pp-cream); }
.wp-block-button.pp-btn-sm .wp-block-button__link { padding: 12px 22px; font-size: 16px; }

.pp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font: inherit; font-weight: 600; font-size: 17px; line-height: 1.2; text-decoration: none; padding: 17px 30px; border-radius: 999px; border: 0; background: var(--pp-ink); color: var(--pp-cream); cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.pp-btn--green { background: var(--pp-green); }
.pp-btn--outline { background: transparent; color: var(--pp-ink); border: 2px solid var(--pp-ink); }
.pp-btn--lg { font-size: 18px; min-height: 60px; padding: 0 36px; }
.pp-btn:hover { color: var(--pp-cream); }
.pp-btn--outline:hover { color: var(--pp-ink); }

/* Chips & stars */
.pp-chip { display: inline-block; font-size: 13px; font-weight: 600; border: 1.5px solid currentColor; border-radius: 999px; padding: 4px 12px; white-space: nowrap; }
.pp-stars { display: inline-flex; gap: 2px; color: var(--pp-yellow); flex: none; }
.pp-stars svg { display: block; }
.pp-pill { display: block; }

/* ---------- Logo ---------- */
.pp-logo { margin: 0; font-weight: 800; font-size: 30px; letter-spacing: -.03em; line-height: 1; text-transform: lowercase; }
.pp-logo a { display: inline-flex; align-items: center; gap: 10px; color: var(--pp-ink); text-decoration: none; }
.pp-logo a::before {
	content: ""; flex: none; width: 54px; height: 18px;
	background:
		radial-gradient(circle 9px at 9px 9px, #5E7A3A 98%, transparent 100%),
		radial-gradient(circle 9px at 21px 9px, #D49B17 98%, transparent 100%),
		radial-gradient(circle 9px at 33px 9px, #9B1C3A 98%, transparent 100%),
		radial-gradient(circle 9px at 45px 9px, #2F4E8C 98%, transparent 100%);
	background-repeat: no-repeat;
}
.pp-logo a:hover { color: var(--pp-ink); text-decoration: none; }
.pp-logo--footer { font-size: 34px; }
.pp-logo--footer a { color: var(--pp-cream); gap: 12px; }
.pp-logo--footer a:hover { color: var(--pp-cream); }

/* ---------- Header ---------- */
.pp-header-wrap { position: relative; z-index: 20; }
.pp-header { max-width: var(--pp-max); margin: 0 auto; padding: 22px var(--pp-gutter); box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.pp-header > * { margin: 0 !important; }
.pp-mainnav { font-weight: 600; font-size: 15px; }
.pp-mainnav .wp-block-navigation__container { gap: 6px; }
.pp-mainnav .wp-block-navigation-item__content { display: block; padding: 10px 16px; border-radius: 999px; text-decoration: none; color: var(--pp-ink); }
.pp-mainnav .wp-block-navigation-item__content:hover { background: var(--pp-sand); color: var(--pp-ink); }
.pp-mainnav .current-menu-item > .wp-block-navigation-item__content,
.pp-mainnav .wp-block-navigation-item__content[aria-current] { background: var(--pp-sand); }
.pp-header__tools { gap: 10px; align-items: center; }
.pp-header__tools > * { margin: 0; }
.wc-block-customer-account a, .wp-block-woocommerce-customer-account a { width: 46px; height: 46px; padding: 0 !important; border-radius: 50%; border: 2px solid var(--pp-ink); display: flex !important; align-items: center; justify-content: center; color: var(--pp-ink); box-sizing: border-box; }
.wc-block-customer-account a:hover, .wp-block-woocommerce-customer-account a:hover { background: var(--pp-sand); }
.wc-block-customer-account svg, .wp-block-woocommerce-customer-account svg { width: 22px; height: 22px; }
.pp-header--checkout .pp-header__secure { margin: 0; font-weight: 600; color: var(--pp-muted); display: flex; align-items: center; gap: 8px; }
.pp-header--checkout .pp-header__secure::before { content: "🔒"; font-size: 14px; }

/* ---------- Footer ---------- */
.pp-footer { background: var(--pp-ink); color: #E8DCC6; font-size: 14px; margin-top: 0; }
.pp-footer > * { max-width: var(--pp-max); margin-inline: auto !important; padding-inline: var(--pp-gutter); box-sizing: border-box; }
.pp-footer__top { display: flex; flex-wrap: wrap; gap: 48px; justify-content: space-between; padding-top: 64px; padding-bottom: 48px; }
.pp-footer__brand { flex: 1 1 320px; max-width: 420px; display: flex; flex-direction: column; gap: 16px; }
.pp-footer__brand > * { margin: 0 !important; }
.pp-footer__tagline { font-size: 15px; color: #E8DCC6; margin: 0; max-width: 340px; }
.pp-footer__mail { margin: 0; }
.pp-footer__mail a { display: inline-flex; align-items: center; gap: 8px; color: var(--pp-cream); font-weight: 600; text-decoration: none; border: 1.5px solid #5A564C; border-radius: 999px; padding: 10px 16px; }
.pp-footer__mail a::before { content: "✉"; }
.pp-footer__mail a:hover { border-color: var(--pp-cream); color: var(--pp-cream); }
.pp-footer__cols { flex: 2 1 520px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.pp-footer__col { display: flex; flex-direction: column; gap: 10px; }
.pp-footer__col > * { margin: 0 !important; }
.pp-footer__label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: #B5AA97; margin-bottom: 6px !important; }
.pp-footer__col a { color: #E8DCC6; text-decoration: none; }
.pp-footer__col a:hover { color: var(--pp-cream); text-decoration: underline; text-underline-offset: 3px; }
.pp-footer__logos { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 24px; padding-top: 28px !important; padding-bottom: 28px !important; border-top: 1px solid #3A3833; }
.pp-footer__logos > * { margin: 0 !important; }
.pp-footer__legal { margin: 0 auto !important; padding-bottom: 28px; font-size: 13px; color: #B5AA97; }
.pp-footer .pp-rating--compact { align-self: flex-start; }

/* ---------- Logos ---------- */
.pp-logos { display: flex; flex-direction: column; gap: 10px; }
.pp-logos__label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: #B5AA97; }
.pp-logos ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pp-logos li { display: flex; }
.pp-logos img { height: 34px; width: auto; display: block; }
.pp-logos--carriers img { height: 34px; }
.pp-logos--certs ul { gap: 8px; }
.pp-logos--certs li { background: var(--pp-cream); border-radius: 12px; padding: 6px; }
.pp-logos--certs img { height: 40px; }
.pp-logos--small.pp-logos--certs img { height: 40px; }
.pp-logos--large img { height: 48px; }

/* ---------- Rating ---------- */
.pp-rating { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.pp-rating--pill { background: var(--pp-sand); border-radius: 999px; padding: 12px 24px 12px 16px; align-self: flex-start; }
.pp-rating__score { font-weight: 600; }
.pp-rating__by { font-size: 15px; color: var(--pp-body); }
.pp-rating__by strong { color: var(--pp-ink); font-weight: 700; }
.pp-rating--stacked { flex-direction: column; align-items: flex-start; background: var(--pp-sand); border-radius: 20px; padding: 16px 20px; gap: 6px; }
.pp-rating--compact { gap: 8px; background: var(--pp-cream); color: var(--pp-ink); border-radius: 999px; padding: 8px 14px; font-size: 13px; }
.pp-rating--compact .pp-stars { color: var(--pp-yellow); }

/* ---------- Hero (home) ---------- */
.pp-hero { padding-top: 40px; }
.pp-hero__row { margin-top: 40px !important; display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-end; justify-content: space-between; }
.pp-hero__row > * { margin: 0; }
.pp-hero__left { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.pp-hero__left > * { margin: 0 !important; }
.pp-hero__btns { flex-wrap: wrap; }

/* ---------- Range bar ---------- */
.pp-rangebar { margin-top: 72px !important; display: grid; grid-template-columns: repeat(var(--pp-n, 8), minmax(0, 1fr)); min-height: 300px; max-width: none !important; width: 100%; }
.pp-rangebar__tile { padding: 16px; display: flex; flex-direction: column; justify-content: space-between; font-weight: 600; font-size: 15px; line-height: 1.15; overflow: hidden; text-decoration: none; transition: filter .15s ease; }
.pp-rangebar__tile:hover { filter: brightness(1.08); color: inherit; text-decoration: none; }
.pp-rangebar__art { flex: 1; display: flex; align-items: center; justify-content: center; }
.pp-rangebar__pile { position: relative; width: 100%; max-width: 150px; aspect-ratio: 1 / 1; display: block; }
.pp-rangebar__pile svg { position: absolute; display: block; }
.pp-rangebar__name { display: flex; justify-content: space-between; align-items: flex-end; gap: 8px; }

/* ---------- Marquee ---------- */
.pp-marquee { background: var(--pp-ink); color: var(--pp-sand); font-weight: 600; font-size: 22px; white-space: nowrap; overflow: hidden; padding: 16px 0; max-width: none !important; }
.pp-marquee__track { display: inline-flex; will-change: transform; animation: pp-marquee 60s linear infinite; }
.pp-marquee__track > span { display: inline-flex; }
.pp-marquee__sep { margin: 0 12px; }
@keyframes pp-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .pp-marquee__track { animation: none; } }

/* ---------- What is it ---------- */
.pp-whatis { padding-top: var(--pp-section); display: flex; flex-wrap: wrap; gap: 56px; align-items: center; }
.pp-whatis__text { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.pp-whatis__text > * { margin: 0 !important; }
.pp-whatis__visual { flex: 1 1 460px; min-width: 0; margin: 0 !important; }
.pp-whatis__visual img { width: 100%; border-radius: var(--pp-radius); display: block; }
.pp-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 600px; }
.pp-facts > * { margin: 0 !important; }
.pp-fact { background: #fff; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius-sm); padding: 18px 20px; display: flex; flex-direction: column; gap: 4px; }
.pp-fact > * { margin: 0 !important; }
.pp-fact__title { font-weight: 800; font-size: 22px; letter-spacing: -.02em; line-height: 1.1; }
.pp-fact__text { font-size: 15px; color: var(--pp-body); line-height: 1.4; }

/* ---------- Product list (shared) ---------- */
.pp-pick { padding-top: var(--pp-section); padding-bottom: var(--pp-section); }
.pp-plist__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 32px; margin-bottom: 40px; }
.pp-plist__intro { display: flex; flex-direction: column; gap: 20px; max-width: 760px; }
.pp-plist__title { margin: 0; font-weight: 800; letter-spacing: -.03em; line-height: .95; font-size: clamp(40px, 5vw, 72px); }
.pp-plist__title--h1 { font-size: clamp(56px, 8vw, 120px); line-height: .88; letter-spacing: -.045em; }
.pp-plist__lead { margin: 0; font-size: 20px; max-width: 560px; }
.pp-plist__switch { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.pp-plist__count { font-size: 14px; color: var(--pp-muted); }
.pp-plist__foot { margin: 20px 0 0; font-size: 14px; color: var(--pp-muted); }
.pp-seg { display: inline-flex; gap: 4px; padding: 4px; border: 2px solid var(--pp-ink); border-radius: 999px; font-size: 16px; font-weight: 600; }
.pp-seg button { font: inherit; border: 0; background: transparent; color: var(--pp-ink); border-radius: 999px; padding: 0 24px; height: 48px; cursor: pointer; white-space: nowrap; transition: background-color .15s ease, color .15s ease; }
.pp-seg button[aria-pressed="true"] { background: var(--pp-ink); color: var(--pp-cream); }

.pp-packbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; background: var(--pp-ink); color: var(--pp-cream); border-radius: 999px; padding: 10px 10px 10px 16px; margin: -8px 0 32px; }
.pp-packbar[hidden] { display: none; }
.pp-packbar__left { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.pp-packbar__slots { display: flex; gap: 6px; }
.pp-packbar__slots span { width: 44px; height: 44px; border-radius: 50%; border: 2px dashed #6B6255; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.pp-packbar__slots span.is-filled { border-style: solid; border-color: transparent; background: var(--pp-cream); }
.pp-packbar__slots svg { width: 34px; }
.pp-packbar__text { font-weight: 600; }
.pp-packbar__cta { font: inherit; font-weight: 600; border: 0; background: #5A564C; color: var(--pp-ink); border-radius: 999px; padding: 0 24px; height: 48px; cursor: pointer; }
.pp-packbar__cta:not(:disabled) { background: var(--pp-yellow); }
.pp-packbar__cta:disabled { cursor: not-allowed; color: #B5AA97; }

/* Add buttons */
.pp-add { display: inline-flex; align-items: center; justify-content: center; font: inherit; font-weight: 600; text-decoration: none; border-radius: 999px; cursor: pointer; box-sizing: border-box; transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.pp-add:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(27, 26, 23, .18); text-decoration: none; }
.pp-add--card { flex: 1; max-width: 200px; height: 48px; background: var(--pp-c); color: var(--pp-i); }
.pp-add--card:hover { color: var(--pp-i); }
.pp-add--row { width: 100%; height: 48px; border: 2px solid var(--pp-ink); background: transparent; color: var(--pp-ink); }
.pp-add--row:hover { background: var(--pp-ink); color: var(--pp-cream); }
.pp-add--round { width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--pp-ink); color: var(--pp-ink); font-size: 24px; line-height: 1; }
.pp-add--round .pp-add__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.pp-add__plus { display: none; }
.pp-add--round .pp-add__plus { display: inline; }
.pp-add.loading { opacity: .6; pointer-events: none; }
.pp-add.added .pp-add__label::after { content: " ✓"; }
.added_to_cart { display: none !important; }
.pp-stepper { display: inline-flex; align-items: center; justify-content: space-between; height: 48px; border-radius: 999px; font-weight: 600; white-space: nowrap; }
.pp-stepper[hidden] { display: none; }
.pp-stepper button { font: inherit; width: 48px; height: 48px; border: 0; border-radius: 999px; background: transparent; color: inherit; font-size: 22px; cursor: pointer; }
.pp-stepper--card { flex: 1; max-width: 200px; }
.pp-stepper--row { width: 100%; }
.pp-stepper--round { height: 44px; }
.pp-stepper--round button { width: 40px; height: 44px; font-size: 20px; }
.pp-stepper--round .pp-stepper__suffix { display: none; }
.pp-soldout { font-weight: 600; color: var(--pp-muted); }

/* Table layout */
.pp-ptable { border-top: 3px solid var(--pp-ink); overflow-x: auto; }
.pp-ptable__row { display: grid; grid-template-columns: 56px 72px minmax(220px, 2fr) minmax(200px, 2fr) 110px 90px 170px; align-items: center; gap: 16px; padding: 18px 8px; min-width: 900px; border-bottom: 1px solid var(--pp-line); }
.pp-ptable__row--head { padding: 14px 8px; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--pp-muted); }
.pp-ptable__no { font-weight: 600; font-size: 15px; color: var(--pp-muted); }
.pp-ptable__row .pp-pill { width: 68px; }
.pp-ptable__name { font-weight: 800; font-size: 28px; letter-spacing: -.025em; line-height: 1.05; text-decoration: none; color: var(--pp-ink); }
.pp-ptable__name:hover { text-decoration: underline; text-underline-offset: 3px; }
.pp-ptable__good { display: flex; flex-direction: column; gap: 2px; }
.pp-ptable__good span:first-child { font-size: 16px; font-weight: 600; }
.pp-ptable__good span:last-child { font-size: 14px; color: var(--pp-muted); }
.pp-ptable__price { font-size: 20px; font-weight: 600; }
.pp-mlist { display: none; list-style: none; margin: 0; padding: 0; flex-direction: column; gap: 10px; }
.pp-mlist li { display: flex; align-items: center; gap: 12px; padding: 10px; border: 2px solid var(--pp-ink); border-radius: 20px; background: #fff; min-width: 0; }
.pp-mlist__swatch { flex: none; width: 64px; height: 64px; border-radius: 14px; display: flex; align-items: center; justify-content: center; }
.pp-mlist__swatch .pp-pill { width: 52px; }
.pp-mlist__text { flex: 1; min-width: 0; text-decoration: none; display: flex; flex-direction: column; gap: 1px; color: var(--pp-ink); }
.pp-mlist__name { font-weight: 800; font-size: 18px; letter-spacing: -.02em; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-mlist__benefit { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-mlist__meta { font-size: 13px; color: var(--pp-muted); }
.pp-mlist__act { flex: none; display: flex; }

/* Cards layout */
.pp-shop-top { padding-top: 24px; padding-bottom: var(--pp-section); }
.pp-shop-top .pp-crumbs { margin-bottom: 28px; }
.pp-plist--cards .pp-plist__head { margin-bottom: 40px; }
.pp-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.pp-card { background: #fff; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius); overflow: hidden; display: flex; flex-direction: column; }
.pp-card__link { text-decoration: none; color: inherit; display: flex; flex-direction: column; }
.pp-card__link:hover { color: inherit; text-decoration: none; }
.pp-card__visual { aspect-ratio: 4 / 3; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.pp-card__no { position: absolute; z-index: 2; top: 16px; left: 16px; font-weight: 600; font-size: 14px; }
.pp-card__count { position: absolute; z-index: 2; top: 14px; right: 14px; font-size: 13px; font-weight: 600; border: 1.5px solid currentColor; border-radius: 999px; padding: 4px 12px; }
.pp-card__inpack { position: absolute; z-index: 2; bottom: 14px; left: 14px; background: var(--pp-cream); color: var(--pp-ink); font-size: 13px; font-weight: 600; border-radius: 999px; padding: 6px 12px; }
.pp-card__inpack[hidden] { display: none; }
.pp-card__hover { position: absolute; inset: 0; z-index: 1; background: inherit; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .25s ease; pointer-events: none; }
.pp-card__hover img { width: 100%; height: 100%; object-fit: contain; padding: 6%; box-sizing: border-box; display: block; }
@media (hover: hover) { .pp-card:hover .pp-card__hover, .pp-mini:hover .pp-card__hover { opacity: 1; } }
.pp-pile { position: relative; width: 170px; height: 150px; display: block; }
.pp-pile .pp-pill { position: absolute; }
.pp-pile .pp-pill:nth-child(1) { left: 0; top: 40px; width: 96px; transform: rotate(-10deg); }
.pp-pile .pp-pill:nth-child(2) { left: 62px; top: 0; width: 104px; transform: rotate(8deg); }
.pp-pile .pp-pill:nth-child(3) { left: 50px; top: 72px; width: 90px; transform: rotate(-3deg); }
.pp-card__body { padding: 24px 24px 0; display: flex; flex-direction: column; gap: 6px; }
.pp-card__name { margin: 0; font-weight: 800; font-size: 30px; letter-spacing: -.025em; line-height: 1.05; }
.pp-card__benefit { margin: 0; font-size: 17px; font-weight: 600; }
.pp-card__part { margin: 0; font-size: 14px; color: var(--pp-muted); }
.pp-card__foot { padding: 20px 24px 24px; margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pp-card__price { font-size: 22px; font-weight: 600; }

/* ---------- Mix three ---------- */
.pp-mix { padding-bottom: var(--pp-section); }
.pp-mix__card { background: var(--pp-sand); border-radius: var(--pp-radius); padding: 48px 56px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; justify-content: space-between; }
.pp-mix__card > * { margin: 0 !important; }
.pp-mix__text { flex: 1 1 420px; display: flex; flex-direction: column; gap: 14px; }
.pp-mix__text > * { margin: 0 !important; }
.pp-mix__text p { font-size: 18px; color: var(--pp-body); max-width: 520px; }
.pp-mix__cta { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.pp-mix__cta > * { margin: 0 !important; }

/* ---------- Pill row ---------- */
.pp-pillrow { display: flex; align-items: center; }
.pp-pillrow .pp-pill { width: var(--pp-s, 56px); }
.pp-pillrow .pp-pill + .pp-pill { margin-left: calc(var(--pp-s, 56px) * -.12); }

/* ---------- Reviews / sliders ---------- */
.pp-reviews { padding-bottom: var(--pp-section); }
.pp-reviews__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 40px; }
.pp-reviews__title { margin: 0; font-weight: 800; font-size: clamp(40px, 5vw, 72px); letter-spacing: -.03em; line-height: .95; }
.pp-slider__viewport { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 4px 2px 12px; margin: 0 -2px; overscroll-behavior-x: contain; }
.pp-slider__viewport::-webkit-scrollbar { display: none; }
.pp-slider__viewport > * { scroll-snap-align: start; }
.pp-slider__nav { display: flex; gap: 8px; justify-content: flex-end; margin-top: 16px; }
.pp-arrow { width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--pp-ink); background: none; color: var(--pp-ink); cursor: pointer; font: inherit; font-size: 20px; }
.pp-arrow--dark { border: 0; background: var(--pp-ink); color: var(--pp-cream); }
.pp-arrow:disabled { opacity: .35; cursor: default; }
.pp-review { flex: 0 0 min(380px, calc(100vw - 48px)); background: #fff; border: 2px solid var(--pp-c, var(--pp-ink)); border-radius: var(--pp-radius); padding: 28px; box-sizing: border-box; display: flex; flex-direction: column; gap: 20px; }
.pp-review > * { margin: 0; }
.pp-review__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pp-review__product { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; }
.pp-review__dot { width: 28px; height: 28px; border-radius: 50%; background: var(--pp-c); box-shadow: inset -3px -4px 6px rgba(0,0,0,.3), inset 2px 2px 4px rgba(255,255,255,.25); }
.pp-review__verified { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--pp-muted); }
.pp-review__verified .pp-icon { color: var(--pp-green); }
.pp-review__text { font-size: 22px; font-weight: 600; letter-spacing: -.01em; line-height: 1.3; flex: 1; }
.pp-review__by { font-size: 15px; color: var(--pp-body); }

/* ---------- How it works ---------- */
.pp-how { padding-bottom: var(--pp-section); }
.pp-how__card { background: var(--pp-sand); border-radius: var(--pp-radius); padding: 64px 48px; }
.pp-how__card > * { margin: 0 !important; }
.pp-how__lead { margin: 16px auto 56px !important; max-width: 520px; font-size: 18px; color: var(--pp-body); }
.pp-steps { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 40px; margin-bottom: 56px !important; }
.pp-steps::before { content: ""; position: absolute; left: 16%; right: 16%; top: 36px; border-top: 3px dashed var(--pp-ink); opacity: .25; }
.pp-step { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; }
.pp-step > * { margin: 0 !important; }
.pp-step__no { width: 72px; height: 72px; border-radius: 50%; background: var(--pp-ink); color: var(--pp-cream); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 30px; }
.pp-step__no.is-green { background: var(--pp-green); }
.pp-step__art { height: 110px; display: flex; align-items: center; justify-content: center; }
.pp-step__art img { max-height: 110px; width: auto; }
.pp-step__title { font-weight: 800; font-size: 30px; letter-spacing: -.02em; line-height: 1; }
.pp-step__text { max-width: 300px; color: var(--pp-body); }

/* ---------- FAQ ---------- */
.pp-faq { padding-bottom: var(--pp-section); display: flex; flex-wrap: wrap; gap: 48px 96px; align-items: flex-start; }
.pp-faq__intro { flex: 1 1 420px; min-width: 0; max-width: 520px; display: flex; flex-direction: column; gap: 24px; }
.pp-faq__intro > * { margin: 0 !important; }
.pp-askcard { background: var(--pp-sand); border-radius: var(--pp-radius); padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.pp-askcard > * { margin: 0 !important; }
.pp-askcard__title { font-weight: 800; font-size: 22px; letter-spacing: -.01em; }
.pp-askcard__text { font-size: 15px; color: var(--pp-body); }
.pp-faq__list { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.pp-faq__list > * { margin: 0 !important; }
.wp-block-details.is-style-faq { background: #fff; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius-md); padding: 0 24px; }
.wp-block-details.is-style-faq > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; font-weight: 600; font-size: 20px; letter-spacing: -.01em; }
.wp-block-details.is-style-faq > summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-faq > summary::after { content: "+"; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--pp-green); color: var(--pp-cream); display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 600; transition: transform .3s ease; }
.pp-faq__list > .wp-block-details:nth-child(4n+2) > summary::after { background: var(--pp-yellow); color: var(--pp-ink); }
.pp-faq__list > .wp-block-details:nth-child(4n+3) > summary::after { background: var(--pp-red); }
.pp-faq__list > .wp-block-details:nth-child(4n+4) > summary::after { background: var(--pp-blue); }
.wp-block-details.is-style-faq[open] > summary::after { transform: rotate(45deg); }
.wp-block-details.is-style-faq > :not(summary) { margin: 0 0 22px; color: var(--pp-body); max-width: 720px; }
.wp-block-details.is-style-faq > summary:hover { opacity: .75; }

/* ---------- Story ---------- */
.pp-story { padding-bottom: var(--pp-section); }
.pp-story__card { background: var(--pp-sand); border-radius: var(--pp-radius); padding: 56px 48px; display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.pp-story__card > * { margin: 0 !important; }
.pp-story__img { flex: 1 1 420px; min-width: 0; }
.pp-story__img img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: 55% 50%; border-radius: 20px; display: block; }
.pp-story__text { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.pp-story__text > * { margin: 0 !important; }
.pp-story__text .pp-arrowlink { margin-top: 8px !important; }

/* ---------- Wholesale teaser ---------- */
.pp-wsteaser { padding-bottom: var(--pp-section); }
.pp-wsteaser__card { background: var(--pp-green); color: var(--pp-cream); border-radius: var(--pp-radius); padding: 56px 48px; display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.pp-wsteaser__card > * { margin: 0 !important; }
.pp-wsteaser__text { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.pp-wsteaser__text > * { margin: 0 !important; }
.pp-wsteaser__text .pp-lead-19 { color: #EEF2E6; }
.pp-wsteaser__text .wp-block-buttons { margin-top: 8px !important; }
.pp-checks { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 16px; }
.pp-checks li { display: flex; align-items: center; gap: 10px; }
.pp-checks li::before { content: "✓"; flex: none; width: 24px; height: 24px; border-radius: 50%; background: rgba(255, 249, 239, .2); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; }
.pp-stat { flex: 1 1 360px; min-width: 0; background: var(--pp-cream); color: var(--pp-ink); border-radius: var(--pp-radius); padding: 32px; display: flex; flex-direction: column; gap: 8px; box-sizing: border-box; }
.pp-stat > * { margin: 0 !important; }
.pp-stat__num { font-weight: 800; font-size: clamp(72px, 9vw, 120px); letter-spacing: -.05em; line-height: .85; color: var(--pp-green); }
.pp-stat__label { font-weight: 800; font-size: 26px; letter-spacing: -.02em; line-height: 1.1; }
.pp-stat__sub { font-size: 15px; color: var(--pp-body); }
.pp-stat .pp-pillrow { margin-top: 12px !important; }

/* ---------- Breadcrumb & page heads ---------- */
.pp-crumbs { font-size: 14px; color: var(--pp-muted); display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 24px; }
.pp-crumbs a { color: var(--pp-muted); }
.pp-crumbs [aria-current] { color: var(--pp-ink); font-weight: 600; }
.pp-page__head, .pp-legal__head { max-width: var(--pp-max); margin: 0 auto !important; padding: 16px var(--pp-gutter) 0; box-sizing: border-box; }
.pp-page__head > *, .pp-legal__head > * { margin: 0 0 24px !important; }
.pp-page-title { margin: 0; font-weight: 800; font-size: clamp(52px, 7vw, 104px); letter-spacing: -.045em; line-height: .88; }
.pp-page__content { padding-bottom: var(--pp-section); }
.pp-full .wp-block-post-content > * { margin-block: 0; }

/* ---------- Product page ---------- */
.pp-phero { max-width: var(--pp-max); margin: 0 auto; padding: 24px var(--pp-gutter) 96px; box-sizing: border-box; }
.pp-phero .pp-crumbs { margin-bottom: 28px; }
.pp-phero__grid { display: flex; flex-wrap: wrap; gap: 56px; align-items: flex-start; }
.pp-gallery { flex: 1 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.pp-gallery__main { background: var(--pp-c); border-radius: var(--pp-radius); aspect-ratio: 1 / 1; position: relative; overflow: hidden; }
.pp-gallery__slide { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.pp-gallery__slide[hidden] { display: none; }
.pp-gallery__slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pp-gallery__slide.is-contain { background: var(--pp-sand); }
.pp-gallery__slide.is-contain img { object-fit: contain; }
.pp-pile--hero { width: 62%; height: auto; aspect-ratio: 17 / 15; }
.pp-pile--hero .pp-pill:nth-child(1) { left: 0; top: 26%; width: 56%; }
.pp-pile--hero .pp-pill:nth-child(2) { left: 38%; top: 0; width: 61%; }
.pp-pile--hero .pp-pill:nth-child(3) { left: 29%; top: 48%; width: 53%; }
.pp-gallery__badge { position: absolute; z-index: 2; top: 18px; left: 18px; background: var(--pp-cream); color: var(--pp-ink); border-radius: 999px; padding: 6px 14px; font-size: 14px; font-weight: 600; }
.pp-gallery__thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pp-gallery__thumb { aspect-ratio: 1 / 1; border-radius: 18px; border: 2px solid transparent; background: var(--pp-sand); cursor: pointer; padding: 0; overflow: hidden; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.pp-gallery__thumb[aria-pressed="true"] { border: 3px solid var(--pp-ink); }
.pp-gallery__thumb.is-pill { background: var(--pp-c); }
.pp-gallery__thumb .pp-pill { width: 60%; }
.pp-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 15px; }
.pp-gallery__thumb.is-contain img { object-fit: contain; }
.pp-buy { flex: 1 1 440px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.pp-buy__intro { display: flex; flex-direction: column; gap: 10px; }
.pp-buy__rating { align-self: flex-start; display: flex; align-items: center; gap: 8px; text-decoration: none; font-size: 14px; color: var(--pp-ink); }
.pp-buy__name { margin: 0; font-weight: 800; font-size: clamp(48px, 5.5vw, 80px); letter-spacing: -.04em; line-height: .9; }
.pp-buy__benefit { margin: 0; font-size: 20px; font-weight: 600; }
.pp-buy__desc p { margin: 0; font-size: 17px; color: var(--pp-body); max-width: 520px; }
.pp-warn { margin: 4px 0 0; align-self: flex-start; display: flex; align-items: center; gap: 10px; background: var(--pp-sand); border-radius: 14px; padding: 10px 14px; font-size: 15px; font-weight: 600; }
.pp-warn > span { width: 22px; height: 22px; border-radius: 50%; background: var(--pp-ink); color: var(--pp-cream); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; flex: none; }
.pp-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pp-tags li { font-size: 14px; font-weight: 600; border: 1.5px solid var(--pp-ink); border-radius: 999px; padding: 6px 12px; }
.pp-tags--current li { border-color: currentColor; }
.pp-buy__form { display: flex; flex-direction: column; gap: 22px; margin: 0; }
.pp-options { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pp-options legend { font-size: 15px; font-weight: 600; margin-bottom: 10px; padding: 0; }
.pp-option { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 20px; border-radius: 20px; border: 2px solid var(--pp-line); background: #fff; cursor: pointer; min-height: 68px; box-sizing: border-box; }
.pp-option:has(input:checked) { border: 3px solid var(--pp-ink); background: var(--pp-sand); }
.pp-option:has(input:focus-visible) { outline: 3px solid var(--pp-yellow); outline-offset: 2px; }
.pp-option input { position: absolute; opacity: 0; pointer-events: none; }
.pp-option__text { display: flex; flex-direction: column; }
.pp-option__text strong { font-weight: 700; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pp-option__text > span { font-size: 14px; color: var(--pp-muted); }
.pp-save { background: var(--pp-yellow); border-radius: 999px; padding: 2px 8px; font-size: 12px; }
.pp-option__price { display: flex; flex-direction: column; align-items: flex-end; font-size: 20px; font-weight: 700; }
.pp-option__price s { font-size: 13px; font-weight: 400; color: var(--pp-muted); }
.pp-buy__row { display: flex; flex-wrap: wrap; gap: 12px; }
.pp-qty { display: flex; align-items: center; border: 2px solid var(--pp-ink); border-radius: 999px; height: 56px; box-sizing: border-box; }
.pp-qty button { font: inherit; width: 52px; height: 52px; border: 0; border-radius: 999px; background: none; font-size: 22px; cursor: pointer; color: var(--pp-ink); }
.pp-qty input { width: 36px; text-align: center; font: inherit; font-weight: 700; border: 0; background: transparent; -moz-appearance: textfield; appearance: textfield; padding: 0; }
.pp-qty input::-webkit-outer-spin-button, .pp-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pp-buy__cta { flex: 1 1 240px; font: inherit; font-weight: 600; font-size: 17px; height: 56px; border: 0; border-radius: 999px; background: var(--pp-c); color: var(--pp-i); cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.pp-buy__cta:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(27, 26, 23, .18); }
.pp-trust { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; font-size: 13px; color: var(--pp-body); }
.pp-trust li { display: flex; gap: 8px; align-items: center; }
.pp-acc { display: flex; flex-direction: column; gap: 10px; }
.pp-acc__item { border: 2px solid var(--pp-ink); border-radius: 20px; padding: 0 20px; background: #fff; }
.pp-acc__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; font-weight: 700; font-size: 17px; }
.pp-acc__item summary::-webkit-details-marker { display: none; }
.pp-acc__icon { font-size: 22px; transition: transform .3s ease; }
.pp-acc__item[open] .pp-acc__icon { transform: rotate(45deg); }
.pp-acc__body { color: var(--pp-body); padding-bottom: 18px; }
.pp-acc__body p { margin: 0 0 10px; }
.pp-acc__body p:last-child { margin-bottom: 0; }
.pp-acc__link { font-weight: 600; color: var(--pp-ink); }

.pp-about { max-width: var(--pp-max); margin: 0 auto; padding: 0 var(--pp-gutter) var(--pp-section); box-sizing: border-box; display: flex; flex-wrap: wrap; gap: 20px; align-items: stretch; }
.pp-about__story { flex: 1 1 560px; min-width: 0; border-radius: var(--pp-radius); padding: 48px; box-sizing: border-box; display: flex; flex-direction: column; gap: 18px; }
.pp-about__title { margin: 0; font-weight: 800; font-size: clamp(36px, 4vw, 56px); letter-spacing: -.03em; line-height: .95; }
.pp-about__text p { margin: 0 0 16px; font-size: 18px; max-width: 620px; }
.pp-about__text p:last-child { margin-bottom: 0; }
.pp-about__comp { margin-top: auto; padding-top: 16px; display: flex; flex-direction: column; gap: 12px; }
.pp-about__comptitle { font-weight: 700; font-size: 16px; }
.pp-about__info { flex: 1 1 420px; min-width: 0; background: #fff; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius); padding: 40px; box-sizing: border-box; display: flex; flex-direction: column; gap: 16px; }
.pp-about__infotitle { margin: 0; font-weight: 800; font-size: 32px; letter-spacing: -.02em; line-height: 1; }
.pp-spec { margin: 0; display: flex; flex-direction: column; }
.pp-spec > div { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 16px; padding: 12px 0; border-top: 1px solid var(--pp-line); }
.pp-spec dt { color: var(--pp-muted); font-size: 15px; }
.pp-spec dd { margin: 0; font-weight: 600; font-size: 15px; overflow-wrap: anywhere; }
.pp-about__certs { margin-top: auto; padding-top: 8px; display: flex; gap: 12px; align-items: center; }
.pp-about__certs img { height: 64px; width: auto; }

.pp-related { max-width: var(--pp-max); margin: 0 auto; padding: 0 var(--pp-gutter) var(--pp-section); box-sizing: border-box; }
.pp-related__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 28px; flex-wrap: wrap; }
.pp-related__title { margin: 0; font-weight: 800; font-size: clamp(36px, 4vw, 56px); letter-spacing: -.03em; line-height: .95; }
.pp-related__tools { display: flex; align-items: center; gap: 16px; }
.pp-related__tools .pp-slider__nav { margin: 0; }
.pp-mini { flex: 0 0 300px; background: #fff; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius-md); overflow: hidden; display: flex; flex-direction: column; }
.pp-mini__visual { aspect-ratio: 16 / 10; position: relative; display: flex; align-items: center; justify-content: center; }
.pp-mini__visual .pp-pill { width: 34%; }
.pp-mini__visual .pp-card__hover img { padding: 5%; }
.pp-mini__body { padding: 18px 20px 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pp-mini__text { display: flex; flex-direction: column; }
.pp-mini__text a { font-weight: 800; font-size: 22px; letter-spacing: -.02em; text-decoration: none; color: var(--pp-ink); }
.pp-mini__text span { font-size: 14px; color: var(--pp-body); }
.pp-mini__add { flex: none; width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 600; text-decoration: none; }
.pp-product .pp-wrap > .pp-reviews { padding-bottom: var(--pp-section); }

/* ---------- Certifications strip ---------- */
.pp-certstrip { background: #fff; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius); padding: 32px 40px; display: flex; flex-wrap: wrap; gap: 24px 40px; align-items: center; }
.pp-certstrip__text { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.pp-certstrip__text h2 { margin: 0; font-weight: 800; font-size: 32px; letter-spacing: -.02em; line-height: 1; }
.pp-certstrip__text p { margin: 0; color: var(--pp-body); max-width: 520px; }
.pp-certstrip__logos { display: flex; flex-wrap: wrap; gap: 28px; align-items: center; }
.pp-certstrip__item { display: flex; align-items: center; gap: 14px; }
.pp-certstrip__item img { height: 96px; width: auto; display: block; }
.pp-certstrip__item > span { display: flex; flex-direction: column; line-height: 1.3; }
.pp-certstrip__item small { font-size: 13px; color: var(--pp-muted); }
.pp-certstrip__item--text { padding-left: 20px; border-left: 2px solid var(--pp-line); }

/* ---------- Forms ---------- */
.pp-form form { display: flex; flex-direction: column; gap: 22px; margin: 0; }
.pp-form__intro { display: flex; flex-direction: column; gap: 6px; }
.pp-form__intro h2 { margin: 0; font-weight: 800; font-size: 40px; letter-spacing: -.03em; line-height: 1; }
.pp-form__intro p { margin: 0; color: var(--pp-body); }
.pp-field { display: flex; flex-direction: column; gap: 6px; }
.pp-field label { font-size: 15px; font-weight: 600; }
.pp-field input, .pp-field select, .pp-field textarea { width: 100%; min-height: 54px; padding: 0 16px; border: 2px solid var(--pp-line); border-radius: 14px; background: var(--pp-cream); font: inherit; font-size: 16px; color: var(--pp-ink); box-sizing: border-box; }
.pp-field textarea { padding: 14px 16px; min-height: 140px; resize: vertical; }
.pp-field input:focus, .pp-field select:focus, .pp-field textarea:focus { border-color: var(--pp-ink); outline: none; }
.pp-field__help { font-size: 13px; color: var(--pp-muted); margin: 0; }
.pp-grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.pp-grid3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; }
.pp-fs { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.pp-fs > legend { font-weight: 800; font-size: 22px; letter-spacing: -.02em; margin-bottom: 14px; padding: 0; }
.pp-chips { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pp-chips legend { font-size: 15px; font-weight: 600; margin-bottom: 10px; padding: 0; width: 100%; }
.pp-chip-input { position: relative; cursor: pointer; }
.pp-chip-input input { position: absolute; opacity: 0; pointer-events: none; }
.pp-chip-input span { display: inline-flex; align-items: center; height: 44px; padding: 0 18px; border-radius: 999px; border: 2px solid var(--pp-ink); font-weight: 600; font-size: 15px; transition: background-color .15s ease, color .15s ease; }
.pp-chip-input input:checked + span { background: var(--pp-ink); color: var(--pp-cream); }
.pp-chip-input input:focus-visible + span { outline: 3px solid var(--pp-yellow); outline-offset: 2px; }
.pp-plants { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.pp-plant { position: relative; display: flex; align-items: center; gap: 10px; padding: 8px 12px 8px 8px; border: 2px solid var(--pp-line); border-radius: 16px; background: #fff; cursor: pointer; font-weight: 600; font-size: 15px; }
.pp-plant input { position: absolute; opacity: 0; pointer-events: none; }
.pp-plant:has(input:checked) { border-color: var(--pp-ink); }
.pp-plant__swatch { width: 40px; height: 40px; border-radius: 10px; background: var(--pp-c); display: flex; align-items: center; justify-content: center; flex: none; }
.pp-plant__swatch .pp-pill { width: 30px; }
.pp-plant__mark { margin-left: auto; width: 22px; height: 22px; border-radius: 6px; border: 2px solid var(--pp-ink); display: flex; align-items: center; justify-content: center; font-size: 13px; flex: none; }
.pp-plant:has(input:checked) .pp-plant__mark { background: var(--pp-ink); color: var(--pp-cream); }
.pp-plant:has(input:checked) .pp-plant__mark::after { content: "✓"; }
.pp-check { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; cursor: pointer; }
.pp-check input { width: 24px; height: 24px; accent-color: var(--pp-ink); flex: none; margin: 0; }
.pp-form__foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; border-top: 2px solid var(--pp-ink); padding-top: 22px; }
.pp-form__small { font-size: 13px; color: var(--pp-muted); max-width: 380px; }
.pp-form__error { background: #F6E3E7; border: 2px solid var(--pp-red); border-radius: 16px; padding: 14px 18px; display: flex; gap: 12px; align-items: flex-start; }
.pp-form__error span { width: 26px; height: 26px; border-radius: 50%; background: var(--pp-red); color: var(--pp-cream); display: flex; align-items: center; justify-content: center; font-weight: 800; flex: none; }
.pp-form__done { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 40px 0; }
.pp-form__done h3 { margin: 0; font-weight: 800; font-size: 40px; letter-spacing: -.03em; line-height: 1; }
.pp-form__done p { margin: 0; font-size: 18px; max-width: 520px; color: var(--pp-body); }
.pp-form__tick { width: 72px; height: 72px; border-radius: 50%; background: var(--pp-green); color: var(--pp-cream); display: flex; align-items: center; justify-content: center; font-size: 36px; font-weight: 800; }
.pp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Content pages (patterns) ---------- */
.pp-section { padding-top: var(--pp-section); }
.pp-section-b { padding-bottom: var(--pp-section); }
.pp-pagehero { padding-top: 16px; }
.pp-pagehero__row { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-end; justify-content: space-between; margin-bottom: 32px !important; }
.pp-pagehero__row > * { margin: 0 !important; }
.pp-pagehero__row p { font-size: 19px; max-width: 460px; color: var(--pp-body); }
.pp-card-white { background: #fff; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius); padding: 40px; box-sizing: border-box; }
.pp-card-sand { background: var(--pp-sand); border-radius: var(--pp-radius-md); padding: 28px; box-sizing: border-box; }
.pp-card-dark { background: var(--pp-ink); color: var(--pp-cream); border-radius: var(--pp-radius); padding: 32px; box-sizing: border-box; }
.pp-card-dark a { color: var(--pp-yellow); }
.pp-card-white > *, .pp-card-sand > *, .pp-card-dark > * { margin-block: 0 !important; }
.pp-card-white > * + *, .pp-card-sand > * + *, .pp-card-dark > * + * { margin-top: 12px !important; }
.pp-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.pp-tiles > * { margin: 0 !important; }
.pp-tile { border-radius: var(--pp-radius-md); padding: 28px; display: flex; flex-direction: column; gap: 10px; min-height: 220px; box-sizing: border-box; }
.pp-tile > * { margin: 0 !important; }
.pp-tile__big { font-weight: 800; font-size: clamp(48px, 5vw, 72px); letter-spacing: -.045em; line-height: .9; }
.pp-tile__no { font-weight: 800; font-size: 48px; line-height: .9; }
.pp-tile__title { margin-top: auto !important; font-weight: 800; font-size: 24px; letter-spacing: -.02em; line-height: 1.1; }
.pp-tile__text { opacity: .9; }
.pp-split { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.pp-split > * { margin: 0 !important; flex: 1 1 440px; min-width: 0; }
.pp-split__text { display: flex; flex-direction: column; gap: 18px; }
.pp-split__text > * { margin: 0 !important; }
.pp-img-rounded img, .pp-img-rounded { border-radius: var(--pp-radius); display: block; }
.pp-img-rounded { margin: 0 !important; }
.pp-img-rounded img { width: 100%; height: auto; }
.pp-img-wide img { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; }
.pp-photohero { position: relative; border-radius: var(--pp-radius); overflow: hidden; background: var(--pp-green); }
.pp-photohero > .wp-block-image { margin: 0 !important; }
.pp-photohero img { width: 100%; aspect-ratio: 16 / 8; min-height: 520px; object-fit: cover; object-position: 55% 50%; display: block; }
.pp-photohero__card { position: absolute; left: 32px; bottom: 32px; right: 32px; max-width: 640px; background: var(--pp-cream); border-radius: var(--pp-radius-md); padding: 32px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 24px 48px rgba(0, 0, 0, .25); margin: 0 !important; }
.pp-photohero__card > * { margin: 0 !important; }
.pp-photohero__card .pp-display { font-size: clamp(44px, 5.6vw, 84px); line-height: .9; }
.pp-photohero__card p:not(.pp-badge) { font-size: 18px; color: var(--pp-body); }
.pp-badge { align-self: flex-start; font-size: 14px; font-weight: 600; border: 1.5px solid var(--pp-ink); border-radius: 999px; padding: 5px 12px; }
.pp-cta-sand { background: var(--pp-sand); border-radius: var(--pp-radius); padding: 56px 48px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; justify-content: space-between; }
.pp-cta-sand > * { margin: 0 !important; }
.pp-cta-sand__text { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.pp-cta-sand__text > * { margin: 0 !important; }
.pp-cta-sand__text p { font-size: 18px; color: var(--pp-body); max-width: 520px; }
.pp-plantgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.pp-head-row { display: flex; flex-wrap: wrap; gap: 16px 48px; align-items: flex-end; justify-content: space-between; margin-bottom: 28px !important; }
.pp-head-row > * { margin: 0 !important; }
.pp-head-row p { font-size: 18px; max-width: 460px; color: var(--pp-body); }
.pp-table { width: 100%; }
.pp-table table { width: 100%; border-collapse: collapse; }
.pp-table th, .pp-table td { padding: 16px 20px; text-align: left; border-bottom: 1px solid var(--pp-line); border-left: 0; border-right: 0; border-top: 0; }
.pp-table thead th { background: var(--pp-sand); font-size: 14px; text-transform: uppercase; letter-spacing: .06em; color: var(--pp-muted); border-bottom: 2px solid var(--pp-ink); }
.pp-table tr:last-child td { border-bottom: 0; }
.pp-table figcaption { font-size: 14px; color: var(--pp-muted); }
.wp-block-table.pp-table { border: 0; }
.wp-block-table.pp-table table { border: 2px solid var(--pp-ink); border-radius: var(--pp-radius-md); border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff; }
.pp-num-list { counter-reset: pp; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.pp-num-list > li { counter-increment: pp; background: #fff; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius-md); padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.pp-num-list > li::before { content: counter(pp); width: 44px; height: 44px; border-radius: 50%; background: var(--pp-ink); color: var(--pp-cream); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 20px; margin-bottom: 8px; }
.pp-legal__content { max-width: 820px; margin: 0 auto; padding: 0 var(--pp-gutter) var(--pp-section); box-sizing: border-box; }
.pp-legal__head { max-width: 820px; }
.pp-legal__date { color: var(--pp-muted); font-size: 15px; }
.pp-legal__content h2 { font-size: 28px; letter-spacing: -.02em; line-height: 1.1; margin: 48px 0 12px; }
.pp-legal__content h3 { font-size: 20px; margin: 28px 0 8px; }
.pp-legal__content p, .pp-legal__content li { color: var(--pp-body); }
.pp-404 { padding-top: 40px; padding-bottom: var(--pp-section); }
.pp-404__row { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; justify-content: space-between; margin-bottom: 72px !important; }
.pp-404__row > * { margin: 0 !important; }
.pp-404__text { flex: 1 1 520px; display: flex; flex-direction: column; gap: 20px; }
.pp-404__text > * { margin: 0 !important; }
.pp-404__art { flex: 0 1 440px; }
.pp-linkcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.pp-linkcards > * { margin: 0 !important; }
.pp-linkcard { background: #fff; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius-md); padding: 24px; display: flex; flex-direction: column; gap: 6px; }
.pp-linkcard > * { margin: 0 !important; }
.pp-linkcard p:first-child { font-weight: 800; font-size: 22px; letter-spacing: -.02em; }
.pp-linkcard a { color: var(--pp-body); text-decoration: none; font-weight: 600; }
.pp-linkcard a::after { content: ""; position: absolute; inset: 0; }
.pp-linkcard { position: relative; }
.pp-linkcard:hover { box-shadow: 0 6px 16px rgba(27, 26, 23, .12); transform: translateY(-1px); }
.pp-two { display: flex; flex-wrap: wrap; gap: 20px; align-items: stretch; }
.pp-two > * { margin: 0 !important; }
.pp-two__main { flex: 999 1 560px; min-width: 0; }
.pp-two__side { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.pp-two__side > * { margin: 0 !important; }

/* WooCommerce order tracking form */
.woocommerce form.track_order, .track_order { background: #fff; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius); padding: 40px; display: flex; flex-wrap: wrap; gap: 16px; }
.track_order > p:first-child { flex: 1 1 100%; margin: 0; color: var(--pp-body); }
.track_order .form-row { flex: 1 1 240px; display: flex; flex-direction: column; gap: 6px; margin: 0; }
.track_order .form-row label { font-weight: 600; font-size: 15px; }
.track_order input.input-text { min-height: 54px; padding: 0 16px; border: 2px solid var(--pp-line); border-radius: 14px; background: var(--pp-cream); font: inherit; }
.track_order .clear { display: none; }
.track_order .form-row:last-of-type { flex: 1 1 100%; }
.track_order button, .woocommerce .button, .woocommerce button.button, .woocommerce a.button { background: var(--pp-ink) !important; color: var(--pp-cream) !important; border-radius: 999px !important; font: inherit !important; font-weight: 600 !important; padding: 16px 30px !important; border: 0 !important; }

/* ---------- WooCommerce blocks: mini-cart drawer, cart, checkout ---------- */
.wc-block-mini-cart__drawer .components-modal__content { background: var(--pp-cream); }
.wc-block-mini-cart__drawer, .wc-block-components-drawer { border-radius: 28px 0 0 28px; overflow: hidden; }
.wc-block-mini-cart__title { font-weight: 800 !important; font-size: 32px !important; letter-spacing: -.03em; }
.wc-block-mini-cart__footer-actions .wc-block-components-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	border-radius: 999px !important; background: var(--pp-ink) !important; color: var(--pp-cream) !important; font-weight: 600 !important; min-height: 56px; border: 0 !important;
}
.wc-block-mini-cart__footer-cart.wc-block-components-button { background: transparent !important; color: var(--pp-ink) !important; border: 2px solid var(--pp-ink) !important; }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { max-width: var(--pp-max); margin-inline: auto; padding-inline: var(--pp-gutter); box-sizing: border-box; }
.wc-block-components-sidebar-layout .wc-block-components-main { padding-right: 4%; }
.wc-block-components-totals-wrapper, .wc-block-components-order-summary { border-color: var(--pp-line) !important; }
.wp-block-woocommerce-checkout-order-summary-block, .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block {
	background: #fff; border: 2px solid var(--pp-ink) !important; border-radius: var(--pp-radius-md); padding: 8px 16px;
}
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control input, .wc-blocks-components-select select, .wc-block-components-textarea {
	border: 2px solid var(--pp-line) !important; border-radius: 14px !important; background: var(--pp-cream) !important;
}
.wc-block-components-text-input input:focus, .wc-blocks-components-select select:focus { border-color: var(--pp-ink) !important; box-shadow: none !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-radius: 16px !important; }
.wc-block-components-checkout-step__title, .wc-block-cart__totals-title { font-weight: 800 !important; letter-spacing: -.02em; }
.wc-block-components-totals-fees .wc-block-components-totals-item__value, .wc-block-components-totals-discount .wc-block-components-totals-item__value { color: var(--pp-green); font-weight: 600; }
.wc-block-components-notice-banner { border-radius: 16px !important; }
.wc-block-components-product-name { font-weight: 700; color: var(--pp-ink) !important; text-decoration: none; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border-radius: 12px; background: var(--pp-sand); }

/* Order confirmation */
.wp-block-woocommerce-order-confirmation-status { font-size: 20px; }
.wp-block-woocommerce-order-confirmation-status h1, .wc-block-order-confirmation-status h1 { font-weight: 800; letter-spacing: -.045em; line-height: .9; font-size: clamp(48px, 6vw, 88px); }
.wc-block-order-confirmation-summary { background: var(--pp-sand); border-radius: var(--pp-radius-md); padding: 20px 24px; }
.wc-block-order-confirmation-totals table, .wc-block-order-confirmation-downloads table { border: 2px solid var(--pp-ink); border-radius: var(--pp-radius-md); border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff; }

/* My account (classic shortcode inside page content) */
.woocommerce-account .pp-page__content, .woocommerce-account .wp-block-post-content { max-width: var(--pp-max); margin-inline: auto; padding-inline: var(--pp-gutter); box-sizing: border-box; }
.woocommerce-account .woocommerce { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.woocommerce-MyAccount-navigation { flex: 0 1 260px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 8px; background: #fff; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius-md); display: flex; flex-direction: column; gap: 4px; }
.woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px; border-radius: 16px; text-decoration: none; font-weight: 600; color: var(--pp-ink); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--pp-ink); color: var(--pp-cream); }
.woocommerce-MyAccount-navigation a:hover { background: var(--pp-sand); color: var(--pp-ink); }
.woocommerce-MyAccount-content { flex: 1 1 560px; min-width: 0; }
.woocommerce-account .woocommerce > h2, .woocommerce-account #customer_login h2 { font-weight: 800; letter-spacing: -.02em; }
.woocommerce form.login, .woocommerce form.register, .woocommerce-EditAccountForm, .woocommerce-address-fields { background: #fff; border: 2px solid var(--pp-ink) !important; border-radius: var(--pp-radius) !important; padding: 32px !important; }
.woocommerce form .input-text, .woocommerce form select { min-height: 50px; padding: 0 14px; border: 2px solid var(--pp-line); border-radius: 12px; background: var(--pp-cream); font: inherit; }
.woocommerce table.shop_table { border: 2px solid var(--pp-ink); border-radius: var(--pp-radius-md); border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-radius: 16px; border: 0; background: var(--pp-sand); color: var(--pp-ink); padding: 16px 20px; list-style: none; }

/* ---------- Editor ---------- */
.pp-editor-preview { pointer-events: none; }
.editor-styles-wrapper .pp-wrap { padding-inline: 24px; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.pp-rangebar { grid-template-columns: repeat(4, minmax(0, 1fr)); min-height: 0; }
	.pp-rangebar__tile { min-height: 240px; }
	.pp-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	:root { --pp-section: 72px; }
	.pp-steps::before { display: none; }
}
@media (max-width: 760px) {
	:root { --pp-gutter: 16px; --pp-section: 64px; }
	.pp-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; row-gap: 12px; padding: 14px 16px; }
	.pp-header .pp-logo { font-size: 24px; order: 1; }
	.pp-header__tools { order: 2; gap: 6px !important; }
	.pp-header .wc-block-mini-cart__button { height: 40px; padding: 0 16px !important; }
	.pp-header .wc-block-customer-account a { width: 40px; height: 40px; }
	.pp-mainnav { order: 3; grid-column: 1 / -1; overflow-x: auto; margin: 0 -16px !important; padding: 0 16px; scrollbar-width: none; }
	.pp-mainnav .wp-block-navigation__container { flex-wrap: nowrap; }
	.pp-mainnav .wp-block-navigation-item__content { white-space: nowrap; padding: 8px 14px; }
	.pp-rating--pill { flex-wrap: wrap; row-gap: 4px; border-radius: 20px; padding: 12px 16px; }
	.pp-ptable { display: none; }
	.pp-mlist { display: flex; }
	.pp-seg button { white-space: nowrap; font-size: 14px; padding: 0 14px; }
	.pp-plist__switch { align-items: flex-start; }
	.pp-packbar { border-radius: 24px; }
	.pp-how__card, .pp-story__card, .pp-wsteaser__card, .pp-mix__card, .pp-cta-sand { padding: 32px 22px; }
	.pp-about__story, .pp-about__info, .pp-card-white, .pp-certstrip, .woocommerce form.track_order { padding: 32px 22px; }
	.pp-stat, .pp-card-dark { padding: 24px 22px; }
	.pp-photohero img { min-height: 640px; }
	.pp-photohero__card { left: 12px; right: 12px; bottom: 12px; padding: 22px; }
	.pp-rangebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pp-rangebar__tile { min-height: 220px; }
	.pp-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
	.pp-footer__logos { flex-direction: column; }
	.wc-block-mini-cart__drawer, .wc-block-components-drawer { border-radius: 0; }
	.pp-facts { grid-template-columns: 1fr 1fr; }
	.pp-fact__title { font-size: 19px; }
	.pp-review__text { font-size: 19px; }
	.pp-mini { flex-basis: 260px; }
	.pp-certstrip__item img { height: 72px; }
	.woocommerce-MyAccount-navigation { flex: 1 1 100%; }
	.woocommerce-MyAccount-navigation ul { flex-direction: row; overflow-x: auto; border-radius: 999px; padding: 6px; scrollbar-width: none; }
	.woocommerce-MyAccount-navigation a { white-space: nowrap; border-radius: 999px; padding: 10px 16px; }
}

/* Product tiles (plantation page) */
.pp-tilesgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.pp-ptile { border-radius: var(--pp-radius-md); padding: 24px; display: flex; align-items: center; gap: 16px; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.pp-ptile:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(27, 26, 23, .18); color: inherit; text-decoration: none; }
.pp-ptile__swatch { width: 72px; height: 72px; border-radius: 50%; background: rgba(255, 249, 239, .22); display: flex; align-items: center; justify-content: center; flex: none; }
.pp-ptile__swatch .pp-pill { width: 56px; }
.pp-ptile__text { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.pp-ptile__name { font-weight: 800; font-size: 20px; }
.pp-ptile__part { font-size: 14px; opacity: .85; }
.pp-plist--tiles .pp-plist__head { margin-bottom: 28px; }
.pp-figure { position: relative; border-radius: var(--pp-radius); overflow: hidden; margin: 0 !important; background: #DDE6CF; }
.pp-figure img { width: 100%; aspect-ratio: 21 / 9; min-height: 420px; object-fit: cover; object-position: 50% 35%; display: block; }
.pp-figure figcaption { position: absolute; left: 24px; bottom: 24px; margin: 0; background: var(--pp-cream); color: var(--pp-ink); border-radius: 999px; padding: 10px 18px; font-weight: 600; font-size: 15px; }
.pp-numbers { padding-top: 20px; }
.pp-tile--stat { min-height: 0; gap: 4px; }
.pp-tile__label { font-weight: 700; font-size: 18px; }
.pp-certwrap { padding-top: 20px; }

/* Wholesale page */
.pp-section-96 { padding-top: 96px; }
.pp-section-72 { padding-top: 72px; }
.pp-pt8 { padding-top: 8px; }
.pp-mb28 { margin-bottom: 28px !important; }
.pp-two--top { align-items: flex-start; }
.pp-sticky { position: sticky; top: 24px; }
.pp-wshero { border-radius: var(--pp-radius); padding: 56px 48px; display: flex; flex-direction: column; gap: 22px; box-sizing: border-box; }
.pp-wshero > * { margin: 0 !important; }
.pp-wshero .wp-block-buttons { margin-top: 6px !important; }
.pp-wshero__lead { font-size: 20px; max-width: 560px; color: #EEF2E6; }
.pp-badge--light { border-color: currentColor; padding: 6px 14px; }
.pp-bigstat { border-radius: var(--pp-radius); padding: 32px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.pp-bigstat > * { margin: 0 !important; }
.pp-bigstat__num { font-weight: 800; font-size: clamp(80px, 9vw, 128px); letter-spacing: -.05em; line-height: .85; }
.pp-shelfcard { background: var(--pp-sand); border-radius: var(--pp-radius); padding: 24px 28px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pp-shelfcard > * { margin: 0 !important; }
.pp-shelfcard p { font-weight: 700; font-size: 18px; line-height: 1.2; }
.pp-split--top { align-items: flex-start; }
.pp-img-43 img { aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 40%; border-radius: var(--pp-radius-md); }
.pp-img-43 { margin-top: 12px !important; }
.pp-label { font-size: 15px; font-weight: 600; color: var(--pp-muted); }
.pp-pilllist { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pp-pilllist li { border: 2px solid var(--pp-ink); border-radius: 999px; padding: 8px 16px; font-weight: 600; font-size: 15px; }
.pp-tiles--3 { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.pp-tile--benefit { padding: 32px; gap: 12px; min-height: 240px; }
.pp-tile__icon { width: 52px; height: 52px; border-radius: 50%; background: rgba(255, 249, 239, .18); display: flex; align-items: center; justify-content: center; font-size: 24px; }
.pp-tile--benefit.has-yellow-background-color .pp-tile__icon { background: rgba(255, 249, 239, .5); }
.pp-tile--benefit.has-sand-background-color .pp-tile__icon { background: var(--pp-cream); }
.pp-tile--benefit .pp-tile__title { font-size: 26px; }
.pp-tile--outline { background: #fff; border: 2px solid var(--pp-ink); min-height: 0; }
.pp-tile__title2 { font-weight: 800; font-size: 24px; }
.pp-applycard { padding: 40px 36px; display: flex; flex-direction: column; gap: 18px; }
.pp-applycard > * + * { margin-top: 0 !important; }
.pp-h2--60 { font-size: clamp(40px, 4.4vw, 60px); }
.pp-soft { color: #E8DCC6; }
.pp-applycard .pp-checks li::before { background: rgba(255, 249, 239, .18); color: var(--pp-yellow); }
.pp-card-title { font-weight: 800; font-size: 20px; }
.pp-small { font-size: 15px; color: var(--pp-body); }
.pp-card-sand > * + * { margin-top: 6px !important; }
.pp-form--wholesale form { gap: 32px; }
@media (max-width: 760px) {
	.pp-wshero { padding: 32px 22px; }
	.pp-sticky { position: static; }
	.pp-applycard { padding: 32px 22px; }
}

/* Delivery page */
.wp-block-button.is-style-yellow .wp-block-button__link { background: var(--pp-yellow); color: var(--pp-ink); }
.pp-mb32 { margin-bottom: 32px !important; }
.pp-mb24 { margin-bottom: 24px !important; }
.pp-pagelead { font-size: 19px; max-width: 460px; color: var(--pp-body); margin: 0; }
.pp-jumplinks { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 0 !important; }
.pp-jumplinks a { text-decoration: none; font-weight: 600; font-size: 15px; padding: 10px 18px; border-radius: 999px; border: 2px solid var(--pp-ink); color: var(--pp-ink); }
.pp-jumplinks a:hover { background: var(--pp-sand); }
.pp-stack16 { gap: 16px; }
.pp-logos--bordered ul { gap: 8px; }
.pp-logos--bordered img { height: 56px; border: 2px solid var(--pp-ink); border-radius: 12px; box-sizing: border-box; }
.pp-ministeps { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.pp-ministeps > * { margin: 0 !important; }
.pp-ministep { background: #fff; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius-md); padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.pp-ministep > * { margin: 0 !important; }
.pp-ministep__icon { font-size: 28px; }
.pp-ministep__title { font-weight: 800; font-size: 20px; }
.pp-ministep__text { color: var(--pp-body); font-size: 15px; }
.pp-rates table { font-size: 17px; }
.pp-rates thead th { background: var(--pp-sand); color: var(--pp-ink); text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 700; border-bottom: 0 !important; padding: 16px 28px; }
.pp-rates td { padding: 18px 28px; border-top: 1px solid var(--pp-line) !important; border-bottom: 0 !important; }
.pp-rates td:first-child { font-weight: 700; }
.pp-rates td:nth-child(2) { color: var(--pp-body); }
.pp-rates td:last-child { font-weight: 700; color: var(--pp-green); }
.pp-rates figcaption { margin-top: 14px; text-align: left; font-size: 14px; color: var(--pp-muted); }
.pp-darkband { background: var(--pp-ink); color: var(--pp-cream); border-radius: var(--pp-radius); padding: 48px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; justify-content: space-between; }
.pp-darkband > * { margin: 0 !important; }
.pp-darkband__text { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.pp-darkband__text > * { margin: 0 !important; }
.pp-darkband__text p { font-size: 18px; color: #E8DCC6; }
.pp-tile--step { min-height: 0; }
.pp-tile--step .pp-tile__title2 { font-size: 22px; }
.pp-cards3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; }
.pp-cards3 > * { margin: 0 !important; }
.pp-card-32 { padding: 32px; border-radius: var(--pp-radius-md); display: flex; flex-direction: column; gap: 14px; }
.pp-card-32 > * + * { margin-top: 0 !important; }
.pp-h3 { margin: 0; font-weight: 800; font-size: 26px; letter-spacing: -.02em; }
.pp-ticks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pp-ticks li { display: flex; gap: 10px; align-items: flex-start; }
.pp-ticks li::before { content: "✓"; color: var(--pp-green); font-weight: 800; }
.pp-bodytext { color: var(--pp-body); margin: 0; }
.pp-push { margin-top: auto !important; }
.pp-outlineband { border: 2px solid var(--pp-ink); border-radius: var(--pp-radius); padding: 32px 36px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; }
.pp-outlineband > * { margin: 0 !important; }
.pp-outlineband__text { display: flex; flex-direction: column; gap: 4px; }
.pp-outlineband__text > * { margin: 0 !important; }
.pp-outlineband__title { font-weight: 800; font-size: 26px; letter-spacing: -.02em; }
@media (max-width: 760px) {
	.pp-darkband, .pp-outlineband, .pp-card-32 { padding: 28px 22px; }
	.pp-rates thead th, .pp-rates td { padding: 14px 12px; font-size: 14px; }
}

/* Contact / track / legal */
.pp-route { position: relative; min-height: 200px; transition: transform .15s ease, box-shadow .15s ease; }
.pp-route:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(27, 26, 23, .18); }
.pp-route a { color: inherit; text-decoration: none; }
.pp-route a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.pp-route .pp-tile__icon { width: 48px; height: 48px; font-size: 22px; }
.pp-route.has-yellow-background-color .pp-tile__icon { background: rgba(255, 249, 239, .5); }
.pp-route .pp-tile__text { font-size: 15px; }
.pp-tile__title--top { margin-top: 0 !important; font-size: 26px; }
.pp-grow { flex: 1; }
.pp-strong { font-weight: 600; }
.pp-lh16 { line-height: 1.6; }
.pp-mailcard { display: flex; flex-direction: column; gap: 18px; }
.pp-mailcard > * + * { margin-top: 0 !important; }
.pp-mailcard__title { font-weight: 800; font-size: 26px; letter-spacing: -.02em; }
.pp-mailcard__mail a { color: var(--pp-yellow); font-weight: 700; font-size: 20px; word-break: break-all; }
.pp-mailcard__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 15px; color: #E8DCC6; }
.pp-mailcard__list li::before { content: "◷"; color: var(--pp-yellow); margin-right: 10px; }
.pp-trackform .woocommerce, .pp-trackform form { margin: 0; }
.pp-legalgrid { max-width: var(--pp-max); margin: 0 auto; display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 48px; align-items: start; }
.pp-legal__content { max-width: var(--pp-max); }
.pp-legal__head { max-width: var(--pp-max); }
.pp-legaltoc { position: sticky; top: 24px; background: var(--pp-sand); border-radius: var(--pp-radius-md); padding: 24px; }
.pp-legaltoc > * { margin: 0 !important; }
.pp-legaltoc__label { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--pp-muted); margin-bottom: 10px !important; }
.pp-legaltoc ol { padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.pp-legaltoc a { color: var(--pp-ink); text-decoration: none; }
.pp-legaltoc a:hover { text-decoration: underline; }
.pp-legalbody { max-width: 760px; }
.pp-legalbody > * { margin-block: 0 0 14px; }
.pp-legalintro { font-size: 19px; color: var(--pp-ink) !important; }
.pp-legalbody h2 { display: flex; align-items: baseline; gap: 12px; font-size: 28px; letter-spacing: -.02em; line-height: 1.1; margin: 40px 0 12px !important; }
.pp-legalno { font-size: 15px; font-weight: 700; color: var(--pp-muted); }
.pp-legalq { margin-top: 40px !important; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius-md); padding: 20px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.pp-legalq > * { margin: 0 !important; }
.pp-legalq p { color: var(--pp-ink) !important; }
.pp-404__art img { width: 100%; max-width: 440px; }
@media (max-width: 900px) {
	.pp-legalgrid { grid-template-columns: 1fr; gap: 24px; }
	.pp-legaltoc { position: static; }
}

/* Flow-layout gaps off inside footer columns */
.pp-footer__cols > *, .pp-footer__top > * { margin-block-start: 0 !important; }
.wp-block-table.pp-table figcaption { margin-top: 10px; text-align: left; overflow: visible; }

/* Cart & checkout: keep line items short */
.wc-block-components-product-metadata__description { display: none; }
.pp-page--checkout { padding-top: 24px; }
@media (max-width: 760px) {
	.pp-header--checkout .pp-header__secure { order: 2; font-size: 14px; }
}
.pp-page--confirmation .pp-page__content, .pp-page--cart .pp-page__content, .pp-page--checkout .pp-page__content { max-width: var(--pp-max); margin-inline: auto; padding-inline: var(--pp-gutter); box-sizing: border-box; }
.pp-page--confirmation .pp-page__content { padding-top: 24px; }
.pp-page--confirmation .pp-page__content > * { margin-block: 0 32px; }
.pp-page--checkout .wc-block-components-notices, .pp-page--cart .wc-block-components-notices { max-width: var(--pp-max); margin-inline: auto !important; padding-inline: var(--pp-gutter); box-sizing: border-box; }

/* Login / register when logged out: one tidy column */
.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) { display: block; max-width: 520px; }
.woocommerce-account .wp-block-post-content > .woocommerce { margin-inline: 0 !important; }
.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) > h2 { margin: 0 0 16px; font-size: 32px; }
.woocommerce form.login, .woocommerce form.register { margin: 0 0 32px !important; display: flex; flex-direction: column; gap: 14px; }
.woocommerce form.login .form-row, .woocommerce form.register .form-row { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.woocommerce form .input-text { width: 100%; box-sizing: border-box; background: var(--pp-cream) !important; border: 2px solid var(--pp-line) !important; border-radius: 12px !important; }
.woocommerce form .input-text:focus { border-color: var(--pp-ink) !important; outline: none; }
.woocommerce form.login .form-row:has(.woocommerce-form-login__submit) { flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 16px; }
.woocommerce form .button, .woocommerce-account .woocommerce .button { background: var(--pp-ink) !important; color: var(--pp-cream) !important; border-radius: 999px !important; padding: 14px 26px !important; font-weight: 700 !important; border: 0 !important; }
.woocommerce form.login .lost_password { margin: 0; }
.wc-block-order-confirmation-shipping-address, .wc-block-order-confirmation-billing-address { border: 2px solid var(--pp-ink) !important; border-radius: var(--pp-radius-md); background: #fff; }
.wc-block-order-confirmation-address-wrapper address { background: none; border: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation { margin: 0 !important; float: none; width: auto; }
.woocommerce-MyAccount-navigation li { margin: 0; padding: 0; list-style: none; border: 0; }
.woocommerce-MyAccount-navigation li a { text-decoration: none !important; }
.woocommerce-MyAccount-content { float: none; width: auto; margin: 0 !important; }
.wc-block-components-notice-banner { border-radius: 16px !important; border: 2px solid var(--pp-ink) !important; background: #fff !important; color: var(--pp-ink) !important; font-size: 15px; align-items: center !important; }
.wc-block-components-notice-banner.is-info > svg { background: var(--pp-blue) !important; }
.wc-block-components-notice-banner.is-success > svg { background: var(--pp-green) !important; }
.wc-block-components-notice-banner.is-error > svg { background: var(--pp-red) !important; }
.wc-block-components-notice-banner .button, .wc-block-components-notice-banner .wc-forward { background: var(--pp-ink) !important; color: var(--pp-cream) !important; border-radius: 999px !important; padding: 10px 18px !important; text-decoration: none !important; font-weight: 700; opacity: 1 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { height: auto !important; justify-content: flex-start !important; align-content: flex-start !important; padding: 8px !important; margin: 0 !important; }
.woocommerce-account .wp-block-post-content > .woocommerce:has(.woocommerce-MyAccount-navigation) { max-width: none !important; display: flex !important; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.woocommerce-account .woocommerce-MyAccount-navigation { align-self: flex-start; }
.woocommerce-account .woocommerce-MyAccount-navigation li { padding: 0 !important; margin: 0 !important; border: 0 !important; }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { flex: 1 1 100%; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none !important; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3, .woocommerce-account .woocommerce-Address-title h2 { font-size: 26px !important; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 12px; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; margin-top: 24px; }
.woocommerce-account .woocommerce-Addresses > * { width: auto !important; float: none !important; background: #fff; border: 2px solid var(--pp-ink); border-radius: var(--pp-radius-md); padding: 24px; }
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { display: none !important; }
.woocommerce-account .woocommerce-Address-title { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.woocommerce-account .woocommerce-Address-title a { float: none !important; font-weight: 600; }

/* Login + register side by side */
.woocommerce-account .woocommerce:has(#customer_login) { max-width: 1040px; }
#customer_login.u-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; align-items: start; }
#customer_login.u-columns::before, #customer_login.u-columns::after { display: none !important; }
#customer_login .u-column1, #customer_login .u-column2 { width: auto !important; float: none !important; margin: 0 !important; }
#customer_login h2 { font-size: 32px !important; margin: 0 0 16px !important; }
#customer_login form.login, #customer_login form.register { min-height: 0; }
.woocommerce form.login .form-row:has(.woocommerce-form-login__submit) { flex-direction: row !important; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 12px 20px; }
.woocommerce form.login .woocommerce-form-login__submit { order: 1; white-space: nowrap; margin: 0 !important; }
.woocommerce form.login .woocommerce-form-login__rememberme { order: 2; display: inline-flex; align-items: center; gap: 8px; margin: 0; white-space: nowrap; }
.woocommerce form.register .woocommerce-privacy-policy-text p { font-size: 14px; color: var(--pp-muted); margin: 0; }
.woocommerce form.register .woocommerce-form-register__submit { align-self: flex-start; }
@media (max-width: 760px) {
	#customer_login.u-columns { grid-template-columns: 1fr; }
	.woocommerce form.login, .woocommerce form.register { padding: 22px !important; }
}
.woocommerce form .form-row::before, .woocommerce form .form-row::after { display: none !important; }
#customer_login { margin-top: 16px; }

/* ---------- Hidden means hidden (pack stepper replaces the Add button) ---------- */
.primitiva [hidden] { display: none !important; }

/* ---------- Header cart button ---------- */
.pp-cartbtn { display: inline-flex; align-items: center; gap: 4px; height: 46px; padding: 0 20px; border-radius: 999px; background: var(--pp-ink); color: var(--pp-cream) !important; font-weight: 600; text-decoration: none !important; white-space: nowrap; transition: transform .15s ease, box-shadow .15s ease; }
.pp-cartbtn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(27, 26, 23, .18); }
@media (max-width: 760px) { .pp-cartbtn { height: 40px; padding: 0 16px; } }

/* ---------- Cart drawer ---------- */
html.pp-noscroll, html.pp-noscroll body { overflow: hidden; }
.pp-drawer { position: fixed; inset: 0; z-index: 100000; }
.pp-drawer__overlay { position: absolute; inset: 0; background: rgba(27, 26, 23, .5); opacity: 0; transition: opacity .28s ease; }
.pp-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(460px, 100%); background: var(--pp-cream); box-shadow: -24px 0 48px rgba(0, 0, 0, .25); border-radius: 28px 0 0 28px; transform: translateX(100%); transition: transform .28s cubic-bezier(.2, .8, .2, 1); outline: none; }
.pp-drawer.is-open .pp-drawer__overlay { opacity: 1; }
.pp-drawer.is-open .pp-drawer__panel { transform: none; }
@media (max-width: 520px) { .pp-drawer__panel { border-radius: 0; } }
@media (prefers-reduced-motion: reduce) { .pp-drawer__overlay, .pp-drawer__panel { transition: none; } }

/* ---------- Cart (drawer + cart page) ---------- */
.pp-cart { display: flex; flex-direction: column; color: var(--pp-ink); font-size: 15px; }
.pp-drawer .pp-cart { height: 100%; }
.pp-cart.is-busy .pp-cart__scroll, .pp-cart.is-busy .pp-cart__sum { opacity: .55; pointer-events: none; transition: opacity .15s; }
.pp-cart a { color: inherit; }
.pp-cart__head { display: flex; justify-content: space-between; align-items: center; padding: 24px 24px 16px; }
.pp-cart__head h2 { margin: 0; font-weight: 800; font-size: 32px; letter-spacing: -.03em; line-height: 1.1; }
.pp-cart__head h2 span { font-size: 18px; color: var(--pp-muted); font-weight: 600; letter-spacing: 0; }
.pp-cart__close { width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--pp-ink); background: none; cursor: pointer; font: inherit; font-size: 18px; color: var(--pp-ink); flex: none; }
.pp-cart__close:hover { background: var(--pp-ink); color: var(--pp-cream); }
.pp-cart__ship { margin: 0 24px; background: #F2E6D0; border-radius: 18px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; }
.pp-cart__shiptext { font-weight: 600; display: flex; align-items: center; gap: 8px; }
.pp-cart__bar { height: 8px; border-radius: 999px; background: #E3D3B6; overflow: hidden; display: block; }
.pp-cart__bar > span { display: block; height: 100%; background: var(--pp-yellow); border-radius: 999px; transition: width .4s ease; }
.pp-cart__bar > span.is-free { background: var(--pp-green); }
.pp-cart__scroll { flex: 1; overflow-y: auto; padding: 16px 24px; display: flex; flex-direction: column; gap: 12px; overscroll-behavior: contain; }
.pp-cart__loading { color: var(--pp-muted); text-align: center; padding: 32px 0; margin: 0; }
.pp-cart__error { margin: 0; background: #F7DCE2; color: #6E1027; border-radius: 14px; padding: 12px 14px; font-weight: 600; }
.pp-cart__muted { font-size: 13px; color: var(--pp-muted); }
.pp-cart__green { color: var(--pp-green); font-weight: 600; }
.pp-cart__price { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.15; white-space: nowrap; }
.pp-cart__price b { font-weight: 800; font-size: 17px; }
.pp-cart__price s { font-size: 13px; color: var(--pp-muted); }
.pp-cart__link { font: inherit; font-size: 14px; background: none; border: 0; padding: 0; color: var(--pp-muted); cursor: pointer; text-decoration: underline; }
.pp-cart__link:hover { color: var(--pp-ink); }
.pp-cart__thumb { width: 64px; height: 64px; border-radius: 14px; display: flex; align-items: center; justify-content: center; flex: none; }
.pp-cart__thumb svg { width: 48px; }
.pp-cart__thumb--s { width: 44px; height: 44px; border-radius: 12px; }
.pp-cart__thumb--s svg { width: 34px; }

.pp-cart__pack { background: #fff; border: 2px solid var(--pp-ink); border-radius: 20px; padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.pp-cart__packhead { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.pp-cart__packhead > span:first-child { display: flex; flex-direction: column; gap: 2px; }
.pp-cart__packtitle { font-weight: 800; font-size: 18px; display: flex; align-items: center; gap: 8px; }
.pp-cart__badge { background: var(--pp-yellow); border-radius: 999px; padding: 2px 8px; font-size: 12px; }
.pp-cart__prows { display: flex; flex-direction: column; gap: 8px; }
.pp-cart__prow { display: flex; align-items: center; gap: 10px; }
.pp-cart__ptext { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.pp-cart__ptext a { font-weight: 600; text-decoration: none; }
.pp-cart__ptext span { font-size: 13px; color: var(--pp-muted); }
.pp-cart__packfoot { display: flex; justify-content: space-between; align-items: center; gap: 8px; border-top: 1px solid #E3D6BF; padding-top: 10px; }
.pp-cart__packfoot a { font-size: 14px; font-weight: 600; }
.pp-cart__packfoot .pp-cart__green { font-size: 13px; }

.pp-cart__item { background: #fff; border: 2px solid #E3D6BF; border-radius: 20px; padding: 12px; display: flex; align-items: center; gap: 12px; }
.pp-cart__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.pp-cart__row { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.pp-cart__row:first-child { align-items: flex-start; }
.pp-cart__name { font-weight: 800; font-size: 17px; line-height: 1.15; text-decoration: none; }
.pp-cart__chip { align-self: flex-start; background: #DDE6CF; color: #2F3F22; border-radius: 999px; padding: 2px 10px; font-size: 12px; font-weight: 700; }
.pp-cart__step { display: inline-flex; align-items: center; border: 2px solid var(--pp-ink); border-radius: 999px; height: 36px; }
.pp-cart__step button { font: inherit; width: 34px; height: 32px; border: 0; border-radius: 999px; background: none; font-size: 18px; cursor: pointer; color: var(--pp-ink); }
.pp-cart__step button:hover { background: var(--pp-sand); }
.pp-cart__step span { min-width: 18px; text-align: center; font-weight: 700; font-size: 14px; }

.pp-cart__nudge { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: #fff; border: 2px dashed var(--pp-ink); border-radius: 20px; padding: 14px 16px; text-decoration: none; font-weight: 600; }
.pp-cart__nudge b { white-space: nowrap; }
.pp-cart__nudge:hover { background: var(--pp-sand); }

.pp-cart__upsell { margin-top: 8px; display: flex; flex-direction: column; gap: 10px; }
.pp-cart__uphead { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.pp-cart__uphead b { font-weight: 800; font-size: 18px; }
.pp-cart__uphead .pp-cart__green { font-size: 13px; }
.pp-cart__ups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pp-cart__up { background: #fff; border: 2px solid #E3D6BF; border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; }
.pp-cart__upimg { aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; }
.pp-cart__upimg svg { width: 56%; }
.pp-cart__upname { padding: 8px 10px 0; font-weight: 700; font-size: 14px; line-height: 1.2; text-decoration: none; flex: 1; }
.pp-cart__upfoot { padding: 6px 10px 10px; display: flex; justify-content: space-between; align-items: center; gap: 6px; }
.pp-cart__upprice { display: flex; flex-direction: column; line-height: 1.1; }
.pp-cart__upprice b { font-size: 14px; font-weight: 700; }
.pp-cart__upprice.is-disc b { color: var(--pp-green); }
.pp-cart__upprice s { font-size: 11px; color: var(--pp-muted); }
.pp-cart__upfoot button { width: 32px; height: 32px; border-radius: 50%; border: 0; font: inherit; font-size: 18px; font-weight: 700; cursor: pointer; flex: none; }
.pp-cart__upfoot button:hover { transform: scale(1.08); }

.pp-cart__sum { border-top: 2px solid var(--pp-ink); padding: 18px 24px 24px; display: flex; flex-direction: column; gap: 8px; background: var(--pp-cream); }
.pp-drawer .pp-cart__sum { border-radius: 0 0 0 28px; }
.pp-cart__line { display: flex; justify-content: space-between; gap: 12px; }
.pp-cart__line > span:first-child { color: var(--pp-muted); }
.pp-cart__line b { font-weight: 600; }
.pp-cart__total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 4px; }
.pp-cart__total span { font-weight: 700; font-size: 18px; }
.pp-cart__total b { font-weight: 800; font-size: 30px; letter-spacing: -.02em; }
.pp-cart__checkout { font-weight: 600; font-size: 17px; height: 56px; border-radius: 999px; background: var(--pp-ink); color: var(--pp-cream) !important; text-decoration: none !important; margin-top: 6px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 0 28px; transition: transform .15s ease, box-shadow .15s ease; }
.pp-cart__checkout:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(27, 26, 23, .18); }
.pp-cart__secure { margin: 2px 0 0; text-align: center; font-size: 13px; color: var(--pp-muted); }
.pp-cart__empty { text-align: center; padding: 48px 12px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.pp-cart__empty b { font-weight: 800; font-size: 22px; }
.pp-cart__emptypill { width: 120px; }

/* Cart page: same component, two columns on desktop */
.pp-cart--page { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 0 40px; align-items: start; }
.pp-cart--page .pp-cart__head { grid-column: 1 / -1; padding: 0 0 16px; }
.pp-cart--page .pp-cart__count { color: var(--pp-muted); font-weight: 600; }
.pp-cart--page .pp-cart__ship { grid-column: 1; margin: 0 0 16px; }
.pp-cart--page .pp-cart__scroll { grid-column: 1; padding: 0; overflow: visible; }
.pp-cart--page .pp-cart__sum { grid-column: 2; grid-row: 2 / span 2; border: 2px solid var(--pp-ink); border-radius: 24px; background: #fff; position: sticky; top: 24px; }
.pp-cart--page .pp-cart__loading { grid-column: 1 / -1; }
@media (max-width: 900px) {
	.pp-cart--page { grid-template-columns: 1fr; }
	.pp-cart--page .pp-cart__sum { grid-column: 1; grid-row: auto; position: static; margin-top: 16px; }
}
.pp-cart--page .pp-cart__upimg { aspect-ratio: 16 / 9; }
.pp-cart--page .pp-cart__upimg svg { width: 40%; }
@media (max-width: 520px), (max-height: 640px) {
	.pp-drawer__panel { overflow-y: auto; overscroll-behavior: contain; }
	.pp-drawer .pp-cart { height: auto; min-height: 100%; }
	.pp-drawer .pp-cart__scroll { flex: 1 0 auto; overflow: visible; }
	.pp-drawer .pp-cart__sum { border-radius: 0; }
}
