/* ==========================================================================
   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: calc(1360px + 2 * var(--pp-gutter)); /* 1360px content, like the design */
	--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; line-height: 1; }
.pp-logo a { display: block; height: 58px; aspect-ratio: 376 / 120; font-size: 0; color: transparent; overflow: hidden; text-decoration: none; background-color: var(--pp-ink); -webkit-mask: url(../images/logo.png) no-repeat center / contain; mask: url(../images/logo.png) no-repeat center / contain; }
.pp-logo a:hover { text-decoration: none; opacity: .85; }
.pp-logo--footer a { height: 64px; background-color: var(--pp-cream); }
.pp-header .pp-logo a { height: 52px; aspect-ratio: 455 / 120; -webkit-mask-image: url(../images/logo-header.png); mask-image: url(../images/logo-header.png); }
/* ---------- 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 { order: 1; }
	.pp-header .pp-logo a { height: 38px; }
	.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:not(.pp-accnav) { 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 ---------- */
/* ---------- Cart (drawer + cart page) ---------- */
/* Cart page: same component, two columns on desktop */
.wp-block-details.is-style-faq.is-closing > summary::after, .pp-acc__item.is-closing .pp-acc__icon { transform: none; }
.pp-acc__icon { transition: transform .3s ease; }
/* =====================================================================
   Checkout (design: Checkout.dc) — styles the WooCommerce Checkout block
   ===================================================================== */
.pp-header-wrap--checkout { border-bottom: 2px solid var(--pp-ink); }
.pp-header--checkout { max-width: 1240px; padding: 18px 24px; display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; }
.pp-header--checkout .pp-logo { font-size: 28px; }
.pp-header--checkout .pp-header__secure { justify-self: center; color: var(--pp-ink); font-size: 15px; }
.pp-header__help { justify-self: end; margin: 0; font-size: 15px; }
.pp-header__help a { color: var(--pp-ink); }
.pp-page--checkout { max-width: 1240px; margin: 0 auto; padding: 40px 24px 96px !important; box-sizing: border-box; }
.pp-page--checkout .pp-page__head, .pp-page--checkout .pp-page__content { max-width: none; padding: 0; }
.pp-cohead > * { margin: 0 !important; }
.pp-back { margin: 0 0 20px !important; }
.pp-back a, .pp-coback { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 600; text-decoration: none; color: var(--pp-ink); }
.pp-back a:hover, .pp-coback:hover { text-decoration: underline; }
.pp-cohead .pp-page-title { margin: 0 0 32px !important; font-size: clamp(44px, 5vw, 72px); letter-spacing: -.04em; line-height: .9; }
.pp-page--checkout .wc-block-components-sidebar-layout { display: flex; gap: 40px; align-items: flex-start; margin: 0; flex-wrap: nowrap; }
.pp-page--checkout .wc-block-components-main { flex: 1 1 640px; min-width: 0; width: auto !important; padding: 0 !important; }
.pp-page--checkout .wc-block-components-sidebar { flex: 0 1 420px; width: 100% !important; padding: 0 !important; position: sticky; top: 24px; }
.pp-page--checkout .wc-block-checkout__form { display: flex; flex-direction: column; gap: 36px; counter-reset: ppstep; }
.pp-page--checkout .wc-block-checkout__form > * { margin: 0 !important; }
/* Numbered steps */
.pp-page--checkout .wc-block-components-checkout-step { counter-increment: ppstep; padding: 0 !important; border: 0; margin: 0; }
.pp-page--checkout .wc-block-components-checkout-step::before, .pp-page--checkout .wc-block-components-checkout-step::after { display: none !important; }
.pp-page--checkout .wc-block-components-checkout-step__heading { margin: 0 0 14px !important; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.pp-page--checkout .wc-block-components-checkout-step__title { margin: 0 !important; font-weight: 800 !important; font-size: 26px !important; letter-spacing: -.02em; display: flex; align-items: center; gap: 12px; line-height: 1.2; }
.pp-page--checkout .wc-block-components-checkout-step__title::before { content: counter(ppstep); width: 34px; height: 34px; border-radius: 50%; background: var(--pp-ink); color: var(--pp-cream); display: inline-flex; align-items: center; justify-content: center; font-size: 16px; flex: none; }
.pp-page--checkout .wc-block-components-checkout-step__heading-content { font-size: 14px; color: var(--pp-muted); }
.pp-page--checkout .wc-block-components-checkout-step__description { margin: 0 0 14px; font-size: 14px; color: var(--pp-muted); }
.pp-page--checkout .wc-block-components-checkout-step__container::after, .pp-page--checkout .wc-block-components-checkout-step__container::before { display: none !important; }
/* Fields */
.pp-page--checkout .wc-block-components-text-input input, .pp-page--checkout .wc-block-components-combobox .components-combobox-control input, .pp-page--checkout .wc-blocks-components-select .wc-blocks-components-select__select, .pp-page--checkout .wc-block-components-textarea, .pp-page--checkout .wc-block-components-country-input select {
	border: 2px solid #E3D6BF !important; border-radius: 14px !important; background: #fff !important; color: var(--pp-ink) !important; box-shadow: none !important; }
.pp-page--checkout .wc-block-components-text-input input:focus, .pp-page--checkout .wc-blocks-components-select__select:focus, .pp-page--checkout .wc-block-components-textarea:focus { border-color: var(--pp-ink) !important; }
.pp-page--checkout .wc-block-components-address-form__address_2-toggle { font-size: 14px; font-weight: 600; text-decoration: underline; color: var(--pp-ink); }
.pp-page--checkout .wc-block-checkout__guest-checkout-notice { font-size: 14px; color: var(--pp-muted); margin: 10px 0 0; }
/* Checkboxes */
.pp-page--checkout .wc-block-components-checkbox { margin-top: 14px; }
.pp-page--checkout .wc-block-components-checkbox__input[type=checkbox] { width: 24px !important; height: 24px !important; min-width: 24px; border: 2px solid var(--pp-ink) !important; border-radius: 7px !important; background: #fff !important; }
.pp-page--checkout .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--pp-ink) !important; }
.pp-page--checkout .wc-block-components-checkbox__mark { fill: var(--pp-cream) !important; color: var(--pp-cream); }
.pp-page--checkout .wc-block-components-checkbox__label { font-size: 15px; }
/* Radios */
.pp-page--checkout .wc-block-components-radio-control__input { width: 22px !important; height: 22px !important; min-width: 22px; border: 2px solid var(--pp-ink) !important; background: #fff !important; }
.pp-page--checkout .wc-block-components-radio-control__input:checked::before { width: 12px !important; height: 12px !important; background: var(--pp-ink) !important; }
/* Shipping options: separate cards */
.pp-page--checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control { display: flex; flex-direction: column; gap: 10px; border: 0 !important; box-shadow: none !important; }
.pp-page--checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control::after, .pp-page--checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::after { display: none !important; }
.pp-page--checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option { border: 2px solid #E3D6BF !important; border-radius: 16px !important; background: #fff; padding: 16px 18px 16px 54px !important; min-height: 64px; box-sizing: border-box; margin: 0 !important; box-shadow: none !important; }
.pp-page--checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-checked { border-color: var(--pp-ink) !important; }
.pp-page--checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__input { left: 18px !important; }
.pp-page--checkout .wc-block-components-radio-control__label { font-weight: 700; }
.pp-page--checkout .wc-block-components-radio-control__secondary-label { font-weight: 700; }
.pp-page--checkout .wc-block-components-radio-control__secondary-label .wc-block-components-formatted-money-amount { font-weight: 700; }
/* Payment options: one card with dividers */
.pp-page--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control { border: 2px solid var(--pp-ink) !important; border-radius: 18px !important; overflow: hidden; background: #fff; box-shadow: none !important; }
.pp-page--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control::after { display: none !important; }
.pp-page--checkout .wc-block-components-radio-control-accordion-option { border: 0 !important; border-bottom: 1px solid #E3D6BF !important; box-shadow: none !important; margin: 0 !important; border-radius: 0 !important; }
.pp-page--checkout .wc-block-components-radio-control-accordion-option:last-child { border-bottom: 0 !important; }
.pp-page--checkout .wc-block-components-radio-control-accordion-option::after { display: none !important; }
.pp-page--checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { padding: 16px 18px 16px 54px !important; min-height: 60px; box-sizing: border-box; margin: 0 !important; box-shadow: none !important; border: 0 !important; }
.pp-page--checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input { left: 18px !important; }
.pp-page--checkout .wc-block-components-radio-control-accordion-content { padding: 0 18px 18px 54px !important; background: var(--pp-cream); font-size: 14px; color: #4A443B; }
.pp-page--checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: none !important; }
.pp-page--checkout .wc-block-components-payment-method-icons { margin: 0 !important; gap: 4px; }
/* Express checkout box (Apple Pay when Mollie offers it): one border, title on top */
.pp-page--checkout .wc-block-components-express-payment--checkout { border: 2px solid var(--pp-ink) !important; border-radius: 20px !important; padding: 18px 20px 20px !important; margin: 0 0 20px !important; background: #fff; box-shadow: none !important; }
.pp-page--checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container { display: block !important; position: static !important; margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; height: auto !important; text-align: left; }
.pp-page--checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::before,
.pp-page--checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::after { display: none !important; content: none !important; }
.pp-page--checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title { position: static !important; display: block !important; margin: 0 !important; padding: 0 !important; background: none !important; transform: none !important; font-weight: 700 !important; font-size: 16px !important; line-height: 1.3 !important; color: var(--pp-ink); }
.pp-page--checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content { border: 0 !important; border-radius: 0 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; background: none !important; }
.pp-page--checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content::before,
.pp-page--checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content::after { display: none !important; content: none !important; }
.pp-page--checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__event-buttons { display: grid !important; gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none; }
.pp-page--checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__event-buttons > li { margin: 0 !important; padding: 0 !important; width: 100% !important; }
.pp-page--checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__event-buttons button,
.pp-page--checkout .wc-block-components-express-payment--checkout apple-pay-button { width: 100% !important; min-height: 48px; border-radius: 999px !important; }
.pp-page--checkout .wc-block-components-express-payment-continue-rule { display: flex !important; align-items: center; gap: 14px; margin: 0 0 32px !important; color: var(--pp-muted); font-size: 14px; text-transform: none !important; letter-spacing: 0 !important; }
.pp-page--checkout .wc-block-components-express-payment-continue-rule::before,
.pp-page--checkout .wc-block-components-express-payment-continue-rule::after { content: "" !important; flex: 1; height: 1px; border: 0 !important; background: #E3D6BF !important; margin: 0 !important; position: static !important; width: auto !important; }
/* Terms, place order */
.pp-page--checkout .wc-block-checkout__terms { margin: 0 !important; border-top: 2px solid var(--pp-ink) !important; padding-top: 24px !important; font-size: 14px; color: var(--pp-muted); }
.pp-page--checkout .wc-block-checkout__terms::before { display: none !important; }
.pp-page--checkout .wc-block-checkout__actions { margin-top: -20px !important; }
.pp-page--checkout .wc-block-checkout__actions_row { display: flex !important; justify-content: space-between !important; align-items: center; gap: 16px; flex-wrap: wrap; }
.pp-page--checkout .wc-block-components-checkout-place-order-button { background: var(--pp-green) !important; color: var(--pp-cream) !important; height: 60px; min-height: 60px; padding: 0 36px !important; border-radius: 999px !important; font-size: 18px !important; font-weight: 600 !important; width: auto !important; border: 0 !important; }
.pp-page--checkout .wc-block-components-checkout-place-order-button:hover { background: #4E6830 !important; }
.pp-page--checkout .wc-block-components-button__text:has(.pp-placelabel) .wc-block-components-checkout-place-order-button__text { display: none; }
.pp-page--checkout .wc-block-checkout__add-note { margin: -12px 0 0 !important; }
/* Order summary */
.pp-page--checkout .wp-block-woocommerce-checkout-order-summary-block { background: #fff !important; border: 2px solid var(--pp-ink) !important; border-radius: 24px !important; padding: 24px !important; box-sizing: border-box; display: flex; flex-direction: column; gap: 4px; }
.pp-page--checkout .wc-block-components-checkout-order-summary__title { padding: 0 !important; margin: 0 0 10px !important; border: 0 !important; }
.pp-page--checkout .wc-block-components-checkout-order-summary__title-text { font-weight: 800 !important; font-size: 24px !important; letter-spacing: -.02em; margin: 0 !important; }
.pp-page--checkout .wc-block-components-totals-wrapper { padding: 14px 0 !important; border-color: #E3D6BF !important; }
.pp-page--checkout .wc-block-components-totals-wrapper:first-child { border-top: 0 !important; padding-top: 0 !important; }
.pp-page--checkout .wc-block-components-order-summary { padding: 0 !important; }
.pp-page--checkout .wc-block-components-order-summary__content { display: flex; flex-direction: column; gap: 14px; }
.pp-page--checkout .wc-block-components-order-summary-item { display: flex !important; align-items: center; gap: 14px; padding: 0 !important; }
.pp-page--checkout .wc-block-components-order-summary-item__image { width: 56px !important; flex: none; position: relative; margin: 0 !important; padding: 0 !important; }
.pp-page--checkout .wc-block-components-order-summary-item__image img { width: 56px !important; height: 56px; object-fit: cover; border-radius: 14px; background: var(--pp-sand); }
.pp-page--checkout .wc-block-components-order-summary-item__quantity { top: -8px !important; right: -8px !important; min-width: 22px !important; height: 22px !important; background: var(--pp-ink) !important; color: var(--pp-cream) !important; border: 0 !important; font-size: 12px !important; font-weight: 700; box-shadow: none !important; }
.pp-page--checkout .wc-block-components-order-summary-item__description { flex: 1; min-width: 0; padding: 0 !important; line-height: 1.25; }
.pp-page--checkout .wc-block-components-product-name { font-weight: 700; font-size: 15px; color: var(--pp-ink); text-decoration: none; }
.pp-page--checkout .wc-block-components-order-summary-item__individual-prices { display: none !important; }
.pp-page--checkout .wc-block-components-product-details { margin: 2px 0 0 !important; padding: 0; list-style: none; font-size: 13px; color: var(--pp-muted); }
.pp-page--checkout .wc-block-components-product-details__name { display: none; }
.pp-page--checkout .wc-block-components-order-summary-item__total-price { font-weight: 700; font-size: 15px; align-self: center; }
.pp-page--checkout .wc-block-components-totals-item { padding: 3px 0 !important; font-size: 15px; }
.pp-page--checkout .wc-block-components-totals-item__label { color: var(--pp-muted); }
.pp-page--checkout .wc-block-components-totals-fees .wc-block-components-totals-item__value, .pp-page--checkout .wc-block-components-totals-fees .wc-block-formatted-money-amount { color: var(--pp-green); font-weight: 600; }
.pp-page--checkout .wc-block-components-totals-footer-item { border-top: 2px solid var(--pp-ink); padding-top: 18px !important; margin-top: 4px; }
.pp-page--checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--pp-ink); font-weight: 700; font-size: 18px; }
.pp-page--checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-weight: 800; font-size: 30px; letter-spacing: -.02em; }
.pp-page--checkout .wc-block-components-totals-footer-item-tax { font-size: 12px; color: var(--pp-muted); text-align: right; }
.pp-page--checkout .wc-block-components-panel__button { font-weight: 700 !important; font-size: 15px !important; }
.pp-cosaving { margin: 8px 0 0; background: var(--pp-sand); border-radius: 14px; padding: 12px 16px; font-size: 14px; font-weight: 600; color: var(--pp-ink); }
/* Checkout footer */
.pp-cofooter { border-top: 2px solid var(--pp-ink); }
.pp-cofooter { display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap; max-width: none; padding: 20px max(24px, calc((100% - 1192px) / 2)); font-size: 13px; color: var(--pp-muted); box-sizing: border-box; }
.pp-cofooter > * { margin: 0 !important; }
.pp-cofooter__legal { color: var(--pp-muted) !important; font-size: 13px !important; }
.pp-cofooter__links { display: flex; gap: 16px; }
.pp-cofooter__links a { color: var(--pp-ink); }
@media (max-width: 900px) {
	.pp-page--checkout .wc-block-components-sidebar-layout { flex-direction: column-reverse; }
	.pp-page--checkout .wc-block-components-sidebar { position: static; flex-basis: auto; }
	.pp-page--checkout .wc-block-components-main { flex-basis: auto; width: 100% !important; }
}
@media (max-width: 760px) {
	.pp-header--checkout { grid-template-columns: 1fr auto; }
	.pp-header--checkout .pp-header__secure { display: none; }
	.pp-page--checkout { padding: 24px 16px 64px !important; }
	.pp-page--checkout .wc-block-checkout__actions_row { flex-direction: column-reverse; align-items: stretch; }
	.pp-page--checkout .wc-block-components-checkout-place-order-button { width: 100% !important; }
	.pp-coback { justify-content: center; }
}
.pp-page--checkout .wp-block-woocommerce-checkout { padding: 0 !important; margin: 0 !important; max-width: none !important; }
.pp-page--checkout .wc-block-components-totals-wrapper:not(:has(*)) { display: none; }
.pp-page--checkout .wp-block-woocommerce-checkout-order-summary-discount-block:not(:has(.wc-block-components-totals-item)) { display: none; }
.pp-page--checkout .wc-block-components-notices:empty { display: none; }
.pp-page--checkout .wc-block-store-notices, .pp-page--checkout > .wc-block-components-notices { margin-bottom: 24px; }
.pp-page--checkout .wc-block-checkout__order-notes { counter-increment: none; }
.pp-page--checkout .wc-block-components-checkout-step__title::before { content: none; }
.pp-page--checkout .wc-block-components-checkout-step .wc-block-components-checkout-step__title::before { content: counter(ppstep); }
/* Mobile: WooCommerce moves the order summary next to the Place order button; show the sidebar copy at the top instead */
.pp-page--checkout .wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper { display: none !important; }
.pp-page--checkout .wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper ~ * { margin-top: 0; }
.pp-page--checkout .checkout-order-summary-block-fill-wrapper { margin: 0 !important; }
.pp-page--checkout .wc-block-components-order-summary, .pp-page--checkout .wc-block-components-order-summary .wc-block-components-panel__content { border: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.pp-page--checkout .wc-block-components-totals-wrapper { border-left: 0 !important; border-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.pp-page--checkout .wc-block-components-totals-coupon .wc-block-components-panel__button { padding-left: 0 !important; }
@media (max-width: 760px) {
	.pp-header--checkout .pp-header__help { order: 2; }
	.pp-page--checkout .wp-block-woocommerce-checkout-order-summary-block { padding: 18px !important; }
}
.pp-page--checkout .wc-block-components-checkout-order-summary__content { border: 0 !important; padding: 0 !important; }
.pp-page--checkout .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-wrapper { padding: 4px 0 !important; border: 0 !important; }
.pp-page--checkout .wp-block-woocommerce-checkout-order-summary-totals-block { border-top: 1px solid #E3D6BF; padding: 10px 0 !important; }
.pp-page--checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block { padding-bottom: 14px !important; }
.pp-page--checkout .checkout-order-summary-block-fill { border: 0 !important; padding: 0 !important; }
details.pp-acc__item, details.wp-block-details.is-style-faq { box-sizing: border-box; }
/* Product options: no global label margin; selection without layout shift */
.pp-options > .pp-option { margin: 0 !important; }
.pp-option, .pp-option:has(input:checked) { border-width: 2px; }
.pp-option:has(input:checked) { border-color: var(--pp-ink); box-shadow: 0 0 0 1px var(--pp-ink); }
.pp-option { transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
/* ---------- Checkout, pass 2: exact design values ---------- */
.pp-header--checkout { max-width: 1288px; }
.pp-page--checkout { max-width: 1288px; }
.pp-cofooter { padding: 20px max(24px, calc((100% - 1240px) / 2)); }
.pp-cofooter__links a, .pp-cofooter__legal { color: var(--pp-muted) !important; }
.pp-cofooter__links a:hover { color: var(--pp-red) !important; }
.pp-header--checkout .pp-header__secure::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat; }
.pp-header--checkout .pp-header__secure { font-weight: 600; }
/* Empty WooCommerce placeholders must not take a 36px gap */
.pp-page--checkout .wc-block-checkout__form > div:not(:has(*)), .pp-page--checkout .wp-block-woocommerce-checkout-pickup-options-block:not(:has(input)), .pp-page--checkout .wp-block-woocommerce-checkout-shipping-method-block:not(:has(input)) { display: none !important; }
/* Step heading + subtitle + login line */
.pp-page--checkout .wc-block-components-checkout-step__heading-container { margin: 0 0 14px !important; }
.pp-page--checkout .wc-block-components-checkout-step__heading { margin: 0 !important; align-items: center; }
.pp-page--checkout .wc-block-components-checkout-step__heading-content { font-size: 14px; color: var(--pp-muted); }
.pp-page--checkout .wc-block-components-checkout-step__heading-content a { color: var(--pp-ink); text-decoration: underline; }
/* Inputs: 58px, small label on top (design .ck-field) */
.pp-page--checkout .wc-block-components-address-form, .pp-page--checkout .wc-block-components-address-form__email { gap: 12px; }
.pp-page--checkout .wc-block-components-text-input, .pp-page--checkout .wc-blocks-components-select, .pp-page--checkout .wc-block-components-country-input, .pp-page--checkout .wc-block-components-state-input { margin-top: 12px !important; }
.pp-page--checkout .wc-block-components-address-form > :first-child, .pp-page--checkout .wc-block-components-address-form__email.wc-block-components-text-input { margin-top: 0 !important; }
.pp-page--checkout .wc-block-components-text-input input, .pp-page--checkout .wc-blocks-components-select .wc-blocks-components-select__select {
	height: 58px !important; min-height: 58px !important; padding: 22px 16px 6px !important; font-size: 16px !important; line-height: 1.4 !important; border: 2px solid #E3D6BF !important; border-radius: 14px !important; background: #fff !important; box-sizing: border-box; }
.pp-page--checkout .wc-block-components-text-input label, .pp-page--checkout .wc-blocks-components-select .wc-blocks-components-select__label {
	position: absolute !important; left: 16px !important; top: 8px !important; transform: none !important; font-size: 12px !important; line-height: 1.2 !important; color: var(--pp-muted) !important; margin: 0 !important; pointer-events: none; max-width: calc(100% - 32px); }
.pp-page--checkout .wc-block-components-text-input input:focus, .pp-page--checkout .wc-blocks-components-select__select:focus, .pp-page--checkout .wc-block-components-textarea:focus {
	outline: none !important; border-color: var(--pp-ink) !important; box-shadow: 0 0 0 3px rgba(232, 163, 23, .35) !important; }
.pp-page--checkout .wc-blocks-components-select__container { height: 58px; background: transparent; }
.pp-page--checkout .wc-blocks-components-select__expand { right: 16px !important; }
.pp-page--checkout .wc-block-components-textarea { min-height: 96px; padding: 14px 16px !important; border: 2px solid #E3D6BF !important; border-radius: 14px !important; font: inherit !important; font-size: 16px !important; }
.pp-page--checkout .wc-block-components-address-form__address_2-toggle { display: inline-block; margin-top: 12px !important; font-size: 14px; font-weight: 600; color: var(--pp-ink); text-decoration: underline; }
.pp-page--checkout .wc-block-components-address-card { border: 2px solid #E3D6BF !important; border-radius: 14px !important; background: #fff; padding: 16px !important; }
/* Checkboxes: 24px, radius 7, ink when checked, white tick */
.pp-page--checkout .wc-block-components-checkbox { margin-top: 14px !important; }
.pp-page--checkout .wc-block-components-checkbox label { display: flex !important; align-items: center !important; gap: 10px; }
.pp-page--checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { -webkit-appearance: none; appearance: none; width: 24px !important; height: 24px !important; min-width: 24px !important; margin: 0 !important; border: 2px solid var(--pp-ink) !important; border-radius: 7px !important; background: #fff !important; box-shadow: none !important; outline-offset: 2px; }
.pp-page--checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--pp-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFF9EF' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 15px no-repeat !important; }
.pp-page--checkout .wc-block-components-checkbox__mark { display: none !important; }
.pp-page--checkout .wc-block-components-checkbox__label { font-size: 15px !important; padding: 0 !important; margin: 0 !important; line-height: 1.4; }
/* Shipping option cards */
.pp-page--checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option { padding: 16px 18px 16px 54px !important; min-height: 64px; display: flex !important; align-items: center; }
.pp-page--checkout .wc-block-components-radio-control__option-layout { width: 100%; }
.pp-page--checkout .wc-block-components-radio-control__label-group { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.pp-page--checkout .wc-block-components-radio-control__label { font-weight: 700 !important; font-size: 16px; }
.pp-page--checkout .wc-block-components-radio-control__description-group, .pp-page--checkout .wc-block-components-radio-control__description { font-size: 14px; color: var(--pp-muted); }
.pp-page--checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label { font-weight: 700; }
.pp-page--checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label:has(.pp-free), .pp-page--checkout .pp-free { color: var(--pp-green); }
.pp-shipdesc { display: block; font-size: 14px; font-weight: 400; color: var(--pp-muted); margin-top: 2px; }
.pp-page--checkout .wc-block-components-radio-control__input { top: 50% !important; transform: translateY(-50%) !important; margin: 0 !important; }
.pp-page--checkout .wc-block-components-radio-control__input:checked::before { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0 !important; }
/* Payment */
.pp-page--checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label { font-size: 16px; }
.pp-page--checkout .wc-block-components-radio-control-accordion-option .wc-block-components-payment-method-label { display: flex; justify-content: space-between; align-items: center; width: 100%; font-weight: 700; }
/* Order summary, design spacing */
.pp-page--checkout .wp-block-woocommerce-checkout-order-summary-block { gap: 18px !important; }
.pp-page--checkout .wc-block-components-checkout-order-summary__title { margin: 0 !important; }
.pp-page--checkout .wc-block-components-checkout-order-summary__content { display: flex; flex-direction: column; gap: 0; }
.pp-page--checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block { padding: 0 0 18px !important; border: 0 !important; }
.pp-page--checkout .wc-block-components-order-summary-item { align-items: center !important; }
.pp-page--checkout .wc-block-components-order-summary-item__image { width: 56px !important; height: 56px; }
.pp-page--checkout .wc-block-components-order-summary-item__image .pp-cotile { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; }
.pp-page--checkout .wc-block-components-order-summary-item__image .pp-cotile svg { width: 42px; }
.pp-page--checkout .wc-block-components-order-summary-item__image:has(.pp-cotile) > img { display: none !important; }
.pp-page--checkout .wc-block-components-order-summary-item__quantity { z-index: 2; }
.pp-page--checkout .wc-block-components-order-summary-item__description { display: flex; flex-direction: column; justify-content: center; }
.pp-page--checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name { margin: 0 !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.25; }
.pp-page--checkout .wc-block-cart-item__prices { display: none !important; }
.pp-page--checkout .wc-block-components-product-metadata { margin: 0 !important; }
.pp-page--checkout .wc-block-components-product-details { margin: 0 !important; line-height: 1.25; }
.pp-page--checkout .wc-block-components-product-details li { margin: 0 !important; }
.pp-page--checkout .wc-block-components-order-summary-item__total-price:has(.pp-coprice) > :not(.pp-coprice) { display: none !important; }
.pp-coprice { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; }
.pp-coprice b { font-weight: 700; font-size: 15px; }
.pp-coprice s { font-size: 12px; color: var(--pp-muted); font-weight: 400; }
.pp-page--checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block { border-top: 1px solid #E3D6BF !important; padding: 14px 0 !important; }
.pp-page--checkout .wc-block-components-totals-coupon .wc-block-components-panel__button { padding: 0 !important; margin: 0 !important; min-height: 32px; display: flex !important; justify-content: space-between; align-items: center; font-weight: 700 !important; font-size: 15px !important; color: var(--pp-ink); }
.pp-page--checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon { display: none !important; }
.pp-page--checkout .wc-block-components-totals-coupon .wc-block-components-panel__button::after { content: "+"; font-weight: 700; transition: transform .2s ease; }
.pp-page--checkout .wc-block-components-totals-coupon .wc-block-components-panel__button[aria-expanded="true"]::after { transform: rotate(45deg); }
.pp-page--checkout .wc-block-components-totals-coupon__form { margin-top: 10px; gap: 8px; }
.pp-page--checkout .wc-block-components-totals-coupon__button { border: 2px solid var(--pp-ink) !important; border-radius: 14px !important; background: none !important; color: var(--pp-ink) !important; font-weight: 600 !important; height: 58px; padding: 0 18px !important; }
.pp-page--checkout .wp-block-woocommerce-checkout-order-summary-totals-block { border-top: 1px solid #E3D6BF !important; padding: 14px 0 !important; display: flex; flex-direction: column; gap: 8px; }
.pp-page--checkout .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-wrapper { padding: 0 !important; }
.pp-page--checkout .wc-block-components-totals-item { padding: 0 !important; font-size: 15px !important; }
.pp-page--checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__label { font-size: 0 !important; }
.pp-page--checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__label::before { content: "Shipping"; font-size: 15px; }
.pp-page--checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__value strong { font-weight: 600; text-transform: none; color: var(--pp-green); }
.pp-page--checkout .wc-block-components-totals-shipping__via, .pp-page--checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__description { display: none; }
.pp-page--checkout .wc-block-components-totals-footer-item { border-top: 2px solid var(--pp-ink) !important; padding: 14px 0 0 !important; margin: 0 !important; align-items: baseline; }
.pp-page--checkout .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) { padding: 0 !important; border: 0 !important; }
.pp-page--checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 32px !important; }
.pp-page--checkout .wc-block-components-totals-footer-item-tax { font-size: 12px !important; }
.pp-cosaving { margin: 0 !important; padding: 12px 14px !important; display: flex; align-items: center; gap: 10px; font-weight: 400 !important; }
.pp-cosaving b { font-weight: 800; color: var(--pp-green); }
.pp-page--checkout .wc-block-components-order-summary-item__quantity { transform: none !important; top: -8px !important; right: -8px !important; left: auto !important; }
.pp-page--checkout .wc-block-components-totals-coupon.wc-block-components-panel { padding: 0 !important; }
.pp-mollie { display: block; margin-top: 12px; width: 180px; height: auto; }
.pp-steps > * { margin-block: 0 !important; }
.pp-page--checkout .wc-block-components-totals-footer-item { flex-wrap: wrap; }
.pp-page--checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__description { flex: 1 0 100%; text-align: right; margin: 0 !important; }
.pp-page--checkout .wc-block-components-totals-footer-item-tax { text-align: right; font-size: 12px !important; color: var(--pp-muted); margin: 0 !important; }
.pp-home-content > * { margin-block: 0; }
/* ---------- Checkout, pass 3 ---------- */
.pp-page--checkout .wc-block-components-sidebar-layout { gap: 64px; }
/* Fields: the form already has a 12px gap, no extra margins */
.pp-page--checkout .wc-block-components-address-form > *, .pp-page--checkout .wc-block-components-address-form .wc-block-components-text-input, .pp-page--checkout .wc-block-components-address-form .wc-blocks-components-select, .pp-page--checkout .wc-block-components-address-form .wc-block-components-country-input { margin-top: 0 !important; margin-bottom: 0 !important; }
.pp-page--checkout .wc-block-components-address-form__address_2-toggle { margin: 0 !important; }
/* Coupon: input and Apply side by side, same height */
.pp-page--checkout .wc-block-components-totals-coupon__form { display: flex !important; align-items: stretch; gap: 8px; margin: 10px 0 0 !important; }
.pp-page--checkout .wc-block-components-totals-coupon__input { flex: 1 1 auto; margin: 0 !important; }
.pp-page--checkout .wc-block-components-totals-coupon__button { flex: none; height: 58px !important; min-height: 58px; margin: 0 !important; }
/* Business details (company + EU VAT number) */
.pp-page--checkout .wc-block-components-address-form > * { order: 10; }
.pp-page--checkout .wc-block-components-address-form > .wc-block-components-address-form__country { order: 0; }
.pp-page--checkout .wc-block-components-address-form > .pp-biz-toggle { order: 1; }
.pp-page--checkout .wc-block-components-address-form > .wc-block-components-address-form__company { order: 2; }
.pp-page--checkout .wc-block-components-address-form > .pp-vatproxy { order: 3; }
.pp-biz-toggle { flex: 1 1 100%; align-self: flex-start; background: none; border: 0; padding: 0; font: inherit; font-size: 14px; font-weight: 600; color: var(--pp-ink); text-decoration: underline; cursor: pointer; text-align: left; }
.pp-page--checkout .wc-block-components-address-form:not(.pp-biz-open) > .wc-block-components-address-form__company, .pp-page--checkout .wc-block-components-address-form:not(.pp-biz-open) > .pp-vatproxy { display: none !important; }
.pp-page--checkout .wc-block-components-address-form__company, .pp-vatproxy { flex: 1 1 100% !important; }
/* The plugin's own VAT field (under the email) is replaced by the one in the business block */
.pp-page--checkout .wc-block-checkout__contact-fields [class*="alg_eu_vat-billing_eu_vat_number"]:not(.pp-vatproxy) { display: none !important; }
.pp-vatproxy { position: relative; }
.pp-vatproxy .pp-vatproxy__msg { display: block; margin-top: 6px; font-size: 13px; color: var(--pp-red); }
.pp-vatproxy .pp-vatproxy__msg:empty { display: none; }
.pp-page--checkout .wc-block-components-totals-footer-item .wc-block-components-totals-footer-item-tax { flex: 1 0 100%; width: 100%; display: block; text-align: right !important; margin: 2px 0 0 !important; }
/* ---------- Checkout, pass 4 ---------- */
/* "Already have an account? Log in" on one line, centred on the step title */
.pp-page--checkout .wc-block-components-checkout-step__heading-content { display: inline-flex !important; align-items: baseline; gap: 4px; white-space: nowrap; }
.pp-page--checkout .wc-block-checkout__login-prompt { display: inline !important; margin: 0 !important; float: none !important; position: static !important; }
/* Step 1 spacing (design: 14px rhythm) */
.pp-page--checkout .wc-block-checkout__guest-checkout-notice { margin: 10px 0 0 !important; }
.pp-page--checkout .wc-block-checkout__create-account { margin: 14px 0 0 !important; }
.pp-page--checkout .wc-block-components-address-form__password { margin-top: 12px !important; }
.pp-page--checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox { margin-top: 14px !important; }
/* Company + VAT number side by side, like first/last name */
.pp-page--checkout .wc-block-components-address-form__company, .pp-page--checkout .pp-vatproxy { flex: 1 1 calc(50% - 6px) !important; min-width: 0; }
@media (max-width: 520px) {
	.pp-page--checkout .wc-block-components-address-form__company, .pp-page--checkout .pp-vatproxy { flex-basis: 100% !important; }
}
/* More room between the terms text and the button row */
.pp-page--checkout .wc-block-checkout__actions { margin-top: 0 !important; padding-top: 20px !important; }
/* ---------- Lost / reset password ---------- */
.woocommerce-account .woocommerce:has(.lost_reset_password), .woocommerce-account .woocommerce:has(.woocommerce-ResetPassword) { display: block; max-width: 520px; }
.woocommerce form.lost_reset_password, .woocommerce form.woocommerce-ResetPassword { background: #fff; border: 2px solid var(--pp-ink) !important; border-radius: var(--pp-radius) !important; padding: 32px !important; margin: 0 0 32px !important; display: flex; flex-direction: column; gap: 14px; }
.woocommerce form.lost_reset_password > p:first-child, .woocommerce form.woocommerce-ResetPassword > p:first-child { margin: 0; color: var(--pp-body); }
.woocommerce form.lost_reset_password .form-row, .woocommerce form.woocommerce-ResetPassword .form-row { margin: 0 !important; padding: 0 !important; width: 100% !important; float: none !important; display: flex; flex-direction: column; gap: 6px; }
.woocommerce form.lost_reset_password .form-row::before, .woocommerce form.lost_reset_password .form-row::after, .woocommerce form.woocommerce-ResetPassword .form-row::before, .woocommerce form.woocommerce-ResetPassword .form-row::after, .woocommerce form.lost_reset_password .clear, .woocommerce form.woocommerce-ResetPassword .clear { display: none !important; }
.woocommerce form.lost_reset_password .button, .woocommerce form.woocommerce-ResetPassword .button { align-self: flex-start; }
.woocommerce-account .woocommerce-message, .woocommerce-account .woocommerce-info { max-width: 520px; }
.pp-page--checkout .wc-block-components-address-form .wc-block-components-text-input.wc-block-components-address-form__password { margin-top: 14px !important; }
.pp-page--checkout .wc-block-components-password-strength.hidden { display: none !important; }
.pp-shop-top, .pp-phero { padding-top: 16px !important; }
/* ---------- 404 (design: NotFound.dc) ---------- */
.pp-404 { padding-top: 24px !important; padding-bottom: 104px !important; }
.pp-404 > * { margin: 0 !important; }
.pp-404__card { background: var(--pp-sand); border-radius: 28px; padding: 64px 48px; display: flex; flex-wrap: wrap; gap: 40px; align-items: center; justify-content: space-between; }
.pp-404__card > * { margin: 0 !important; }
.pp-404__text { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.pp-404__text > * { margin: 0 !important; }
.pp-404__badge { align-self: flex-start; font-size: 14px; font-weight: 700; border: 1.5px solid var(--pp-ink); border-radius: 999px; padding: 5px 12px; line-height: 1.3; }
.pp-404__title { font-weight: 800 !important; font-size: clamp(48px, 6.4vw, 96px) !important; letter-spacing: -.045em; line-height: .9 !important; }
.pp-404__lead { font-size: 19px; color: #4A443B; max-width: 520px; }
.pp-404__btns { margin-top: 6px !important; gap: 12px; }
.pp-404__btns .wp-block-button__link { padding: 18px 30px !important; }
.pp-404__btns .is-style-outline-ink .wp-block-button__link { padding: 16px 28px !important; }
.pp-404__art { flex: 0 1 440px; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 4%; }
.pp-404__art span { font-weight: 800; font-size: clamp(120px, 14vw, 200px); letter-spacing: -.06em; line-height: .8; }
.pp-404__art svg { width: 34%; flex: none; transform: rotate(-12deg); }
.pp-404__h2 { margin: 72px 0 20px !important; font-weight: 800 !important; font-size: clamp(32px, 3.6vw, 48px) !important; letter-spacing: -.03em; }
.pp-404__tiles > .pp-404__tile { margin: 0 !important; }
.pp-404__tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.pp-404__tile { position: relative; border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 8px; min-height: 180px; box-sizing: border-box; transition: transform .15s ease, box-shadow .15s ease; }
.pp-404__tile > * { margin: 0 !important; }
.pp-404__tile:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(27, 26, 23, .15); }
.pp-404__tiletitle { margin-top: auto !important; font-weight: 800; font-size: 24px; line-height: 1.2; }
.pp-404__tiletitle a { color: inherit; text-decoration: none; }
.pp-404__tiletitle a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.pp-404__tile.is-yellow { background: var(--pp-yellow); color: var(--pp-ink); }
.pp-404__tile.is-green { background: var(--pp-green); color: var(--pp-cream); }
.pp-404__tile.is-green .pp-404__tiletext { color: #EEF2E6; }
.pp-404__tile.is-blue { background: var(--pp-blue); color: var(--pp-cream); }
.pp-404__tile.is-blue .pp-404__tiletext { color: #E4E9F3; }
.pp-404__tile.is-white { background: #fff; border: 2px solid var(--pp-ink); color: var(--pp-ink); }
.pp-404__tile.is-white .pp-404__tiletext { color: #4A443B; }
@media (max-width: 760px) {
	.pp-404__card { padding: 32px 22px; }
	.pp-404__art { flex-basis: 100%; }
}
/* ---------- Order received (design: Thanks.dc) ---------- */
.pp-thanks { padding-top: 24px !important; padding-bottom: 104px !important; }
.pp-thanks > * { margin: 0; }
.pp-thanks__hero { background: var(--pp-green); color: var(--pp-cream); border-radius: 28px; padding: 56px 48px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; justify-content: space-between; overflow: hidden; }
.pp-thanks__hero.is-failed { background: var(--pp-red); }
.pp-thanks__intro { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.pp-thanks__intro > * { margin: 0 !important; }
.pp-thanks__tick { width: 64px; height: 64px; border-radius: 50%; background: var(--pp-cream); color: var(--pp-green); display: flex; align-items: center; justify-content: center; font-size: 32px; font-weight: 800; }
.pp-thanks__hero.is-failed .pp-thanks__tick { color: var(--pp-red); }
.pp-thanks__title { color: var(--pp-cream) !important; font-weight: 800 !important; font-size: clamp(48px, 6vw, 92px) !important; letter-spacing: -.045em; line-height: .9 !important; }
.pp-thanks__lead { font-size: 20px; color: #EEF2E6; max-width: 520px; }
.pp-thanks__lead strong { color: var(--pp-cream); }
.pp-thanks__art { flex: 0 1 340px; position: relative; height: 180px; }
.pp-thanks__art .pp-pill { position: absolute; width: 46%; filter: drop-shadow(0 14px 14px rgba(0, 0, 0, .25)); }
.pp-thanks__art .pp-pill:nth-child(1) { left: 0; top: 34%; transform: rotate(-8deg); }
.pp-thanks__art .pp-pill:nth-child(2) { left: 26%; top: 10%; width: 50%; z-index: 2; transform: rotate(4deg); }
.pp-thanks__art .pp-pill:nth-child(3) { right: 0; top: 30%; z-index: 1; transform: rotate(6deg); }
.pp-btn--light { display: inline-block; background: var(--pp-cream); color: var(--pp-ink) !important; padding: 14px 24px; border-radius: 999px; font-weight: 600; text-decoration: none; }
.pp-thanks__strip { margin: 20px 0 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); background: #fff; border: 2px solid var(--pp-ink); border-radius: 24px; overflow: hidden; }
.pp-thanks__strip > div { padding: 20px 24px; border-right: 1px solid #E3D6BF; }
.pp-thanks__strip > div:last-child { border-right: 0; }
.pp-thanks__strip dt { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--pp-muted); }
.pp-thanks__strip dd { margin: 6px 0 0; font-weight: 800; font-size: 22px; }
.pp-thanks__pay { margin-top: 20px !important; background: var(--pp-sand); border-radius: 24px; padding: 28px; }
.pp-thanks__pay h2 { margin: 0 0 10px; font-size: 24px; font-weight: 800; letter-spacing: -.02em; }
.pp-thanks__paybody > *:first-child { margin-top: 0; }
.pp-thanks__paybody h2, .pp-thanks__paybody h3 { font-size: 18px; margin: 16px 0 8px; }
.pp-thanks__paybody ul { list-style: none; padding: 0; margin: 8px 0 0; display: flex; flex-wrap: wrap; gap: 8px 28px; }
.pp-thanks__paybody ul li strong { display: block; font-size: 16px; }
.pp-thanks__paybody .wc-bacs-bank-details-account-name { font-weight: 700; }
.pp-thanks__h2 { margin: 72px 0 24px !important; font-weight: 800 !important; font-size: clamp(36px, 4.4vw, 56px) !important; letter-spacing: -.03em; line-height: .95 !important; }
.pp-thanks__steps { list-style: none; margin: 0 !important; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.pp-thanks__steps li { background: #fff; border: 2px solid var(--pp-ink); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.pp-thanks__steps strong { font-weight: 800; font-size: 22px; }
.pp-thanks__steps li > span:last-child { color: #4A443B; }
.pp-thanks__no { width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--pp-ink); display: flex; align-items: center; justify-content: center; font-weight: 800; box-sizing: border-box; }
.pp-thanks__no.is-done { background: var(--pp-green); border-color: var(--pp-green); color: var(--pp-cream); }
.pp-thanks__details { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; margin-top: 20px !important; }
.pp-thanks__order { flex: 999 1 520px; min-width: 0; background: #fff; border: 2px solid var(--pp-ink); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.pp-thanks__order h2 { margin: 0; font-weight: 800; font-size: 24px; letter-spacing: -.02em; }
.pp-thanks__line { display: flex; align-items: center; gap: 14px; }
.pp-thanks__thumb { position: relative; width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; flex: none; }
.pp-thanks__thumb .pp-pill { width: 42px; }
.pp-thanks__thumb b { position: absolute; top: -8px; right: -8px; min-width: 22px; height: 22px; padding: 0 6px; box-sizing: border-box; border-radius: 999px; background: var(--pp-ink); color: var(--pp-cream); font-size: 12px; display: flex; align-items: center; justify-content: center; }
.pp-thanks__name { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.pp-thanks__name strong { font-weight: 700; }
.pp-thanks__name span { font-size: 13px; color: var(--pp-muted); }
.pp-thanks__price { font-weight: 700; }
.pp-thanks__totals { border-top: 1px solid #E3D6BF; padding-top: 14px; display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.pp-thanks__totals > div { display: flex; justify-content: space-between; gap: 12px; }
.pp-thanks__totals > div > span:first-child { color: var(--pp-muted); }
.pp-thanks__totals .is-green { color: var(--pp-green); font-weight: 600; }
.pp-thanks__totals small, .pp-thanks__totals .includes_tax { display: none; }
.pp-thanks__total { border-top: 2px solid var(--pp-ink); padding-top: 14px; display: flex; justify-content: space-between; align-items: baseline; }
.pp-thanks__total > span:first-child { font-weight: 700; font-size: 18px; }
.pp-thanks__total > span:last-child { display: flex; flex-direction: column; align-items: flex-end; }
.pp-thanks__total b { font-weight: 800; font-size: 28px; letter-spacing: -.02em; }
.pp-thanks__total small { font-size: 12px; color: var(--pp-muted); }
.pp-thanks__side { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.pp-thanks__addr { background: var(--pp-sand); border-radius: 24px; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.pp-thanks__addr strong { font-weight: 800; font-size: 18px; }
.pp-thanks__addr address { font-style: normal; color: #4A443B; }
.pp-thanks__acct { background: var(--pp-ink); color: var(--pp-cream); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 14px; margin: 0; }
.pp-thanks__acct strong { font-weight: 800; font-size: 22px; line-height: 1.15; }
.pp-thanks__acct > span { color: #E8DCC6; font-size: 15px; }
.pp-thanks__acct label { font-size: 14px; font-weight: 600; margin-bottom: -8px; }
.pp-thanks__acct input[type=password] { min-height: 52px; padding: 0 16px; border: 2px solid var(--pp-cream); border-radius: 14px; background: var(--pp-cream); font: inherit; color: var(--pp-ink); }
.pp-thanks__acct input[type=password]:focus { outline: none; box-shadow: 0 0 0 3px rgba(232, 163, 23, .5); }
.pp-thanks__acctbtn { font: inherit; font-weight: 600; height: 52px; border-radius: 999px; border: 0; background: var(--pp-yellow); color: var(--pp-ink) !important; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0 22px; text-decoration: none; }
a.pp-thanks__acctbtn { align-self: flex-start; }
.pp-thanks__acctbtn:hover { transform: translateY(-1px); }
.pp-thanks__err { margin: 0; background: #F7DCE2; color: #6E1027; border-radius: 12px; padding: 10px 12px; font-size: 14px; font-weight: 600; }
.pp-thanks__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 48px !important; }
.pp-thanks__btn { background: var(--pp-ink); color: var(--pp-cream) !important; text-decoration: none; font-weight: 600; padding: 18px 30px; border-radius: 999px; }
.pp-thanks__btn.is-outline { background: transparent; color: var(--pp-ink) !important; padding: 16px 28px; border: 2px solid var(--pp-ink); }
.pp-thanks__btn:hover { transform: translateY(-1px); }
.pp-thanks__help { margin: 20px 0 0 !important; text-align: center; font-size: 15px; color: var(--pp-muted); }
.pp-thanks__help a { color: var(--pp-ink); }
@media (max-width: 760px) {
	.pp-thanks__hero { padding: 32px 22px; }
	.pp-thanks__art { display: none; }
	.pp-thanks__strip > div { border-right: 0; border-bottom: 1px solid #E3D6BF; }
}
/* ---------- My account: login / register / lost password (design: Account.dc) ---------- */
.woocommerce-account .woocommerce:has(.pp-auth) { display: block !important; max-width: none !important; }
.pp-auth { display: flex; flex-wrap: wrap; gap: 20px; align-items: stretch; margin-top: 16px; }
.pp-auth--single { max-width: 680px; }
.pp-auth__login, .pp-auth__register { flex: 1 1 480px; min-width: 0; border-radius: 28px; padding: 44px 40px; box-sizing: border-box; display: flex; flex-direction: column; gap: 24px; }
.pp-auth__login { background: #fff; border: 2px solid var(--pp-ink); }
.pp-auth__register { background: var(--pp-green); color: var(--pp-cream); }
.pp-auth h2 { margin: 0 0 -16px; font-weight: 800; font-size: 40px; letter-spacing: -.03em; line-height: 1; color: inherit; }
.pp-auth__lead { margin: 0; color: #4A443B; }
.pp-auth__register .pp-auth__lead { color: #EEF2E6; }
.pp-auth__back { align-self: flex-start; font-size: 15px; font-weight: 600; color: var(--pp-ink); text-decoration: none; margin-bottom: -8px; }
.pp-auth__back:hover { text-decoration: underline; }
.pp-auth__perks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pp-auth__perks li { display: flex; align-items: center; gap: 10px; }
.pp-auth__perks li::before { content: ""; width: 22px; height: 22px; flex: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E8A317' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12.5l2.5 2.5L16 9.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.woocommerce .pp-auth form.pp-auth__form, .pp-auth form.pp-auth__form { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; display: flex; flex-direction: column; gap: 16px; }
.pp-auth__field { margin: 0 !important; display: flex; flex-direction: column; gap: 6px; }
.pp-auth__field label { font-size: 15px; font-weight: 600; }
.pp-auth__field .required { color: inherit; }
.woocommerce .pp-auth__field input.input-text, .pp-auth__field input.input-text { width: 100%; min-height: 54px; padding: 0 16px !important; border: 2px solid #E3D6BF !important; border-radius: 14px !important; background: var(--pp-cream) !important; font: inherit; font-size: 16px; color: var(--pp-ink); box-sizing: border-box; }
.woocommerce .pp-auth__register .pp-auth__field input.input-text { border-color: var(--pp-cream) !important; }
.woocommerce .pp-auth__field input.input-text:focus { outline: none; border-color: var(--pp-ink) !important; box-shadow: 0 0 0 3px rgba(232, 163, 23, .35); }
.woocommerce .pp-auth__register .pp-auth__field input.input-text:focus { border-color: var(--pp-yellow) !important; }
.pp-auth .password-input { display: block; position: relative; }
.pp-auth .show-password-input { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); }
.pp-auth__hint { font-size: 13px; color: var(--pp-muted); margin: 0; }
.pp-auth__register .pp-auth__hint { color: #DDE6CF; }
.pp-auth__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.pp-auth__check { display: inline-flex !important; align-items: center; gap: 10px; font-size: 15px; cursor: pointer; margin: 0 !important; }
.pp-auth input[type=checkbox] { -webkit-appearance: none; appearance: none; width: 24px; height: 24px; margin: 0; border: 2px solid var(--pp-ink); border-radius: 7px; background: #fff; cursor: pointer; flex: none; }
.pp-auth input[type=checkbox]:checked { background: var(--pp-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFF9EF' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 15px no-repeat; }
.pp-auth__register input[type=checkbox] { border-color: var(--pp-cream); background: transparent; }
.pp-auth__lost { font-size: 15px; font-weight: 600; color: var(--pp-ink); text-decoration: underline; text-underline-offset: 3px; }
.woocommerce .pp-auth .pp-auth__btn, .pp-auth .pp-auth__btn { width: 100%; height: 60px; border-radius: 999px !important; border: 0 !important; background: var(--pp-ink) !important; color: var(--pp-cream) !important; font: inherit; font-weight: 600 !important; font-size: 18px !important; cursor: pointer; margin-top: 8px; padding: 0 !important; }
.woocommerce .pp-auth .pp-auth__btn--light { background: var(--pp-cream) !important; color: var(--pp-ink) !important; margin-top: 4px; }
.pp-auth .pp-auth__btn:hover { transform: translateY(-1px); }
.pp-auth__register .woocommerce-privacy-policy-text p, .pp-auth__register .woocommerce-privacy-policy-text { margin: 0; font-size: 13px; color: #DDE6CF; }
.pp-auth__register .woocommerce-privacy-policy-text a { color: var(--pp-cream); }
.pp-auth__register label { color: var(--pp-cream); }
.pp-auth__wholesale { margin-top: 20px; background: var(--pp-sand); border-radius: 24px; padding: 24px 28px; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; }
.pp-auth__wholesale > div { display: flex; flex-direction: column; gap: 2px; }
.pp-auth__wholesale strong { font-weight: 800; font-size: 20px; }
.pp-auth__wholesale span { color: #4A443B; font-size: 15px; }
.pp-auth__wholesale a { text-decoration: none; font-weight: 600; padding: 14px 24px; border-radius: 999px; border: 2px solid var(--pp-ink); color: var(--pp-ink); }
.pp-auth__wholesale a:hover { background: var(--pp-ink); color: var(--pp-cream); }
@media (max-width: 760px) {
	.pp-auth__login, .pp-auth__register { padding: 32px 22px; }
	.pp-auth h2 { font-size: 32px; }
}
.pp-auth .pp-auth__row > * { order: 0 !important; }
.pp-auth .pp-auth__row .woocommerce-form-login__rememberme { margin: 0 !important; }
.woocommerce-account #customer_login.pp-auth h2, .pp-auth h2 { margin: 0 0 -16px !important; font-size: 40px !important; }
.woocommerce .pp-auth__register .woocommerce-privacy-policy-text p, .woocommerce .pp-auth__register form.register .woocommerce-privacy-policy-text p { color: #DDE6CF !important; font-size: 13px !important; margin: 0 !important; }
.woocommerce .pp-auth__register .woocommerce-privacy-policy-text a { color: var(--pp-cream) !important; }
#customer_login.pp-auth { display: flex !important; grid-template-columns: none; margin-top: 16px; }
/* ==========================================================================
   My account (logged in) — Account-Dashboard design
   ========================================================================== */
body.woocommerce-account.logged-in:not(.woocommerce-lost-password) .pp-page-title { display: none; }
body.woocommerce-account.logged-in .pp-page__head > .pp-crumbs { margin-bottom: 28px !important; }
.woocommerce-account .wp-block-post-content > .woocommerce:has(.pp-accside) { display: flex !important; flex-wrap: nowrap; gap: 32px; align-items: flex-start; max-width: none !important; }
.woocommerce-account .woocommerce:has(.pp-accside) > .woocommerce-notices-wrapper { display: none; }
.woocommerce-account .woocommerce-MyAccount-content { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.woocommerce-account .woocommerce-MyAccount-content > * { margin: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-MyAccount-content .woocommerce-message, .woocommerce-MyAccount-content .woocommerce-info, .woocommerce-MyAccount-content .woocommerce-error { max-width: none; }
/* Side nav */
.pp-accside { flex: 0 0 280px; position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; }
.pp-accside__me { display: flex; align-items: center; gap: 14px; padding: 4px 4px 8px; }
.pp-accside__avatar { width: 56px; height: 56px; border-radius: 50%; background: var(--pp-yellow); color: var(--pp-ink); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 22px; flex: none; }
.pp-accside__who { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.pp-accside__who strong { font-weight: 800; font-size: 20px; }
.pp-accside__who span { font-size: 14px; color: var(--pp-muted); }
.woocommerce-account .pp-accnav { background: #fff; border: 2px solid var(--pp-ink); border-radius: 24px; padding: 8px; margin: 0 !important; }
.woocommerce-account .pp-accside .pp-accnav { flex: none; align-self: stretch; }
.woocommerce-account .pp-accnav ul { list-style: none; margin: 0 !important; padding: 0 !important; background: none; border: 0; border-radius: 0; display: flex !important; flex-direction: column; gap: 2px; }
.woocommerce-account .pp-accnav li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.woocommerce-account .pp-accnav li a { display: flex; align-items: center; gap: 12px; height: 50px; padding: 0 16px; border-radius: 16px; font-weight: 600; font-size: 16px; color: var(--pp-ink); text-decoration: none !important; box-sizing: border-box; transition: background-color .15s ease; }
.woocommerce-account .pp-accnav li a:hover { background: var(--pp-sand); color: var(--pp-ink); }
.woocommerce-account .pp-accnav li.is-active a { background: var(--pp-ink); color: var(--pp-cream); }
.pp-accnav__icon { width: 22px; text-align: center; flex: none; }
.pp-accnav__label { flex: 1; }
.pp-accnav__count { font-size: 13px; opacity: .7; }
.woocommerce-account .pp-accnav li.pp-accnav__sep { height: 1px; background: var(--pp-line); margin: 6px 8px !important; }
.woocommerce-account .pp-accnav li.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--pp-red); }
.woocommerce-account .pp-accnav li.woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: #F6E4E8; }
.pp-accside__help { margin: 0; background: var(--pp-sand); border-radius: 20px; padding: 18px 20px; font-size: 14px; color: var(--pp-body); }
.pp-accside__help a { color: inherit; }
/* Headings, cards, buttons */
.pp-acc__title { margin: 0 !important; font-weight: 800 !important; font-size: clamp(48px, 6vw, 88px) !important; letter-spacing: -.045em; line-height: .9 !important; }
.pp-acc__orderhead .pp-acc__title { font-size: clamp(44px, 5.4vw, 80px) !important; }
.pp-acc__intro { color: var(--pp-body); }
.pp-acc__back { align-self: flex-start; font-size: 15px; font-weight: 600; color: var(--pp-ink); text-decoration: none; }
.pp-acc__back:hover { color: var(--pp-ink); text-decoration: underline; text-underline-offset: 3px; }
.pp-acc__latest { background: var(--pp-green); color: var(--pp-cream); border-radius: 28px; padding: 32px; display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.pp-acc__latesttext { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pp-acc__latesttext .pp-acc__meta { font-size: 14px; font-weight: 600; color: #DDE6CF; }
.pp-acc__latesttext strong { font-weight: 800; font-size: 32px; letter-spacing: -.02em; line-height: 1.1; }
.pp-acc__latesttext > span:last-child:not(.pp-acc__meta) { color: #EEF2E6; }
.pp-acc__latestbtns { display: flex; gap: 10px; flex-wrap: wrap; }
.pp-acc__btn { display: inline-flex; align-items: center; justify-content: center; height: 52px; padding: 0 24px; border-radius: 999px; font-weight: 600; font-size: 16px; text-decoration: none !important; box-sizing: border-box; background: var(--pp-ink); color: var(--pp-cream); border: 2px solid transparent; white-space: nowrap; }
.pp-acc__btn:hover { color: var(--pp-cream); transform: translateY(-1px); }
.pp-acc__btn.is-light { background: var(--pp-cream); color: var(--pp-ink); }
.pp-acc__btn.is-light:hover { color: var(--pp-ink); }
.pp-acc__btn.is-ghost { background: none; border-color: var(--pp-cream); color: var(--pp-cream); }
.pp-acc__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; align-items: stretch; }
.pp-acc__stack { display: flex; flex-direction: column; gap: 20px; }
.pp-acc__card { background: #fff; border: 2px solid var(--pp-ink); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 16px; box-sizing: border-box; min-width: 0; }
.pp-acc__stack .pp-acc__card, .pp-acc__addresses .pp-acc__card { gap: 12px; }
.pp-acc__cardhead { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.pp-acc__cardhead h2 { margin: 0 !important; font-weight: 800; font-size: 24px !important; letter-spacing: -.02em; line-height: 1.2 !important; }
.pp-acc__cardhead > span { font-size: 14px; color: var(--pp-muted); }
.pp-acc__cardhead > a { font-size: 15px; font-weight: 600; color: var(--pp-ink); text-decoration: underline; text-underline-offset: 3px; }
.pp-acc__card address { font-style: normal; color: var(--pp-body); }
.pp-acc__plant { display: flex; align-items: center; gap: 14px; }
.pp-acc__thumb { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; flex: none; }
.pp-acc__thumb .pp-pill { width: 40px; }
.pp-acc__plantname { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.pp-acc__plantname a { font-weight: 700; color: var(--pp-ink); text-decoration: none; }
.pp-acc__plantname a:hover { text-decoration: underline; text-underline-offset: 3px; }
.pp-acc__plantname > span { font-size: 13px; color: var(--pp-muted); }
.pp-acc__add, .pp-acc__pill { display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 16px; border-radius: 999px; border: 2px solid var(--pp-ink); background: none; color: var(--pp-ink); font: inherit; font-weight: 600; font-size: 14px; white-space: nowrap; text-decoration: none !important; cursor: pointer; box-sizing: border-box; transition: background-color .15s ease, color .15s ease; }
.pp-acc__add:hover, .pp-acc__pill:hover { background: var(--pp-sand); color: var(--pp-ink); }
.pp-acc__add.is-added { background: var(--pp-ink); color: var(--pp-cream); }
.pp-acc__pill.is-dark { background: var(--pp-ink); color: var(--pp-cream); border-color: var(--pp-ink); }
.pp-acc__pill.is-dark:hover { background: #33312C; color: var(--pp-cream); }
.pp-acc__pill.is-big { height: 52px; padding: 0 24px; font-size: 16px; }
.pp-acc__reorder { font: inherit; font-weight: 600; font-size: 17px; height: 52px; border-radius: 999px; border: 0; background: var(--pp-ink); color: var(--pp-cream); cursor: pointer; margin-top: 4px; padding: 0 20px; }
.pp-acc__reorder:hover { background: #33312C; }
[data-pp-reorder][disabled] { opacity: .7; cursor: progress; }
.pp-acc__try { background: var(--pp-yellow); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.pp-acc__try strong { font-weight: 800; font-size: 24px; letter-spacing: -.02em; line-height: 1.1; }
.pp-acc__try .pp-acc__btn { align-self: flex-start; margin-top: 6px; height: auto; padding: 14px 22px; }
/* Status chips */
.pp-chip.is-green, .pp-chip.is-yellow, .pp-chip.is-sand, .pp-chip.is-grey, .pp-chip.is-red { border: 0; font-weight: 700; color: var(--pp-ink); }
.pp-chip.is-green { background: #DDE6CF; }
.pp-chip.is-yellow { background: var(--pp-yellow); }
.pp-chip.is-sand { background: var(--pp-sand); }
.pp-chip.is-grey { background: #E9E4DA; color: var(--pp-muted); }
.pp-chip.is-red { background: #F6DCE2; color: var(--pp-red); }
/* Orders table */
.pp-orders { background: #fff; border: 2px solid var(--pp-ink); border-radius: 24px; overflow: hidden; }
.pp-orders__head, .pp-orders__row { display: grid; grid-template-columns: 1fr 1.2fr 1fr 1fr 1.6fr; gap: 12px; padding: 18px 24px; align-items: center; }
.pp-orders__head { padding-block: 16px; background: var(--pp-sand); font-size: 14px; font-weight: 700; }
.pp-orders__row { border-top: 1px solid var(--pp-line); }
.pp-orders__no { font-weight: 700; color: var(--pp-ink); text-decoration: underline; text-underline-offset: 3px; }
.pp-orders__date { color: var(--pp-body); }
.pp-orders__count { font-size: 13px; color: var(--pp-muted); }
.pp-orders__actions { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; text-align: right; }
.pp-orders__pager { display: flex; gap: 10px; justify-content: space-between; }
/* Order detail */
.pp-acc__orderhead { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; justify-content: space-between; }
.pp-acc__orderhead > div:first-child { display: flex; flex-direction: column; gap: 8px; }
.pp-acc__placed { color: var(--pp-body); }
.pp-acc__placed .pp-chip { padding: 3px 10px; }
.pp-acc__orderbtns { display: flex; gap: 10px; flex-wrap: wrap; }
.pp-acc__timeline { list-style: none; margin: 0; padding: 24px 28px; background: #fff; border: 2px solid var(--pp-ink); border-radius: 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pp-acc__timeline li { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.pp-acc__tl { display: flex; align-items: center; gap: 8px; }
.pp-acc__tldot { width: 32px; height: 32px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; background: #fff; color: var(--pp-ink); border: 2px solid var(--pp-ink); box-sizing: border-box; }
.pp-acc__timeline li.is-done .pp-acc__tldot { background: var(--pp-green); border-color: var(--pp-green); color: var(--pp-cream); }
.pp-acc__tlline { flex: 1; height: 3px; border-radius: 3px; background: var(--pp-line); }
.pp-acc__timeline li.is-done:has(+ li.is-done) .pp-acc__tlline { background: var(--pp-green); }
.pp-acc__timeline li:last-child .pp-acc__tlline { background: transparent; }
.pp-acc__tltext { display: flex; flex-direction: column; line-height: 1.3; }
.pp-acc__tltext span { font-size: 14px; color: var(--pp-muted); }
.woocommerce-MyAccount-content .pp-thanks__details { margin-top: 0 !important; }
.pp-acc__tracking { font-size: 14px; color: var(--pp-body); }
.pp-acc__tracking > *:first-child { margin-top: 0; }
.pp-acc__tracking > *:last-child { margin-bottom: 0; }
.pp-acc__notes h2 { margin: 0 !important; font-size: 24px !important; font-weight: 800; }
.pp-acc__note { border-top: 1px solid var(--pp-line); padding-top: 12px; }
.pp-acc__note > span { font-size: 13px; color: var(--pp-muted); }
.pp-acc__note p { margin: 4px 0 0; }
/* Addresses */
.pp-acc__addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
/* Account details + edit address forms */
.woocommerce form.pp-acc__form, form.pp-acc__form { background: #fff; border: 2px solid var(--pp-ink) !important; border-radius: 24px !important; padding: 32px !important; margin: 0 !important; display: flex; flex-direction: column; gap: 28px; }
.pp-acc__form fieldset { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.pp-acc__form legend { float: left; width: 100%; font-weight: 800; font-size: 24px; letter-spacing: -.02em; margin: 0 0 14px; padding: 0; }
.pp-acc__form legend + .pp-acc__hint { margin: -14px 0 4px !important; }
.pp-acc__hint { margin: 0; font-size: 14px; color: var(--pp-muted); }
.pp-acc__row2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.woocommerce .pp-acc__form .form-row, .pp-acc__form .form-row { margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; display: flex; flex-direction: column; gap: 6px; }
.pp-acc__form .form-row label { font-size: 15px; font-weight: 600; line-height: 1.3; margin: 0; }
.pp-acc__form .form-row .required { color: inherit; text-decoration: none; }
.pp-acc__form .form-row .optional { font-weight: 400; color: var(--pp-muted); }
.pp-acc__form .woocommerce-input-wrapper { display: block; width: 100%; }
.woocommerce .pp-acc__form input.input-text, .woocommerce .pp-acc__form select, .pp-acc__form .select2-container .select2-selection--single { width: 100%; min-height: 54px; padding: 0 16px !important; border: 2px solid var(--pp-line) !important; border-radius: 14px !important; background: var(--pp-cream) !important; font: inherit; font-size: 16px; color: var(--pp-ink); box-sizing: border-box; box-shadow: none !important; }
.woocommerce .pp-acc__form input.input-text:focus, .woocommerce .pp-acc__form select:focus { border-color: var(--pp-ink) !important; outline: none; }
.pp-acc__form .select2-container .select2-selection--single { display: flex; align-items: center; }
.pp-acc__form .select2-container .select2-selection__rendered { padding: 0 !important; line-height: 1.3 !important; color: var(--pp-ink) !important; }
.pp-acc__form .select2-container .select2-selection__arrow { height: 50px !important; right: 10px !important; }
.pp-field__hint { font-size: 13px; color: var(--pp-muted); }
.pp-acc__form .password-input { display: block; position: relative; }
.pp-acc__form .show-password-input { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); }
.pp-acc__form .woocommerce-address-fields { display: flex; flex-direction: column; gap: 28px; }
.pp-acc__form .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pp-acc__form .woocommerce-address-fields__field-wrapper .form-row-wide, .pp-acc__form .woocommerce-address-fields__field-wrapper .address-field.form-row-wide, .pp-acc__form .woocommerce-address-fields__field-wrapper > :not(.form-row-first):not(.form-row-last) { grid-column: 1 / -1; }
.pp-acc__form .woocommerce-address-fields__field-wrapper #billing_address_2_field label.screen-reader-text, .pp-acc__form .woocommerce-address-fields__field-wrapper #shipping_address_2_field label.screen-reader-text { position: absolute !important; }
.pp-acc__formfoot { display: flex; justify-content: flex-end; align-items: center; gap: 16px; flex-wrap: wrap; border-top: 2px solid var(--pp-ink); padding-top: 24px; margin: 0 !important; }
.woocommerce .pp-acc__form .pp-acc__save, .pp-acc__save { font: inherit; font-weight: 600 !important; font-size: 17px !important; height: 56px; padding: 0 32px !important; border-radius: 999px !important; border: 0 !important; background: var(--pp-green) !important; color: var(--pp-cream) !important; cursor: pointer; }
.woocommerce .pp-acc__form .pp-acc__save.is-dark, .pp-acc__save.is-dark { background: var(--pp-ink) !important; }
.pp-acc__save:hover { filter: brightness(1.08); }
@media (max-width: 960px) {
	.woocommerce-account .wp-block-post-content > .woocommerce:has(.pp-accside) { flex-direction: column; align-items: stretch; gap: 24px; }
	.pp-accside { position: static; flex: none; }
	.pp-accside__help { display: none; }
	.woocommerce-account .pp-accnav ul { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.woocommerce-account .pp-accnav li { flex: none; }
	.woocommerce-account .pp-accnav li a { height: 44px; padding: 0 14px; font-size: 15px; gap: 8px; }
	.woocommerce-account .pp-accnav li.pp-accnav__sep { width: 1px; height: auto; margin: 8px 4px !important; }
}
@media (max-width: 760px) {
	.pp-orders__head { display: none; }
	.pp-orders__row { grid-template-columns: 1fr 1fr; padding: 16px 20px; }
	.pp-orders__actions { grid-column: 1 / -1; justify-content: flex-start; }
	.pp-acc__latest, .pp-acc__card, .pp-acc__try { padding: 24px; }
	.pp-acc__latesttext strong { font-size: 26px; }
	.pp-acc__timeline { padding: 20px; }
	.pp-acc__tltext span { font-size: 13px; }
	.woocommerce form.pp-acc__form, form.pp-acc__form { padding: 24px !important; }
	.pp-acc__form .woocommerce-address-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
	.pp-acc__formfoot .pp-acc__save { width: 100%; }
}
/* Header account button: no Gravatar overlay; filled on account pages (as in the design). */
.wc-block-customer-account__avatar { display: none !important; }
.woocommerce-account .wc-block-customer-account a, .woocommerce-account .wp-block-woocommerce-customer-account a { background: var(--pp-ink); color: var(--pp-cream); }
.woocommerce-account .wc-block-customer-account a:hover, .woocommerce-account .wp-block-woocommerce-customer-account a:hover { background: #33312C; color: var(--pp-cream); }
.woocommerce .pp-acc__form .woocommerce-address-fields, .pp-acc__form .woocommerce-address-fields { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; }
.woocommerce .pp-acc__form .form-row label, .pp-acc__form .form-row label { margin: 0 !important; line-height: 1.3 !important; padding: 0 !important; }
.woocommerce .pp-acc__form .form-row input.input-text { margin: 0 !important; }
/* ==========================================================================
   Language switchers (WPML)
   ========================================================================== */
.wpml-ls-statics-footer, .wpml-ls-statics-post_translations { display: none !important; }
/* replaced by ours */
.pp-lang { position: relative; flex: none; }
.pp-lang__btn { font: inherit; font-weight: 600; font-size: 15px; line-height: 1.5; display: flex; align-items: center; gap: 8px; height: 46px; padding: 0 14px 0 12px; border-radius: 999px; border: 0; background: var(--pp-sand); color: var(--pp-ink); cursor: pointer; box-sizing: border-box; }
.pp-lang__btn:hover { background: #EADBC0; }
.pp-lang__flag { width: 24px; height: 16px; border-radius: 3px; display: block; flex: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); object-fit: cover; }
.pp-lang__chev { transition: transform .15s ease; flex: none; }
.pp-lang.is-open .pp-lang__chev { transform: rotate(180deg); }
.pp-lang__list { list-style: none; margin: 0; padding: 6px; position: absolute; right: 0; top: 54px; min-width: 200px; background: #fff; border: 2px solid var(--pp-ink); border-radius: 16px; box-shadow: 0 12px 32px rgba(0, 0, 0, .18); z-index: 60; box-sizing: border-box; }
.pp-lang__list[hidden] { display: none; }
.pp-lang__list li { margin: 0; }
.pp-lang__list a { display: flex; align-items: center; gap: 12px; height: 44px; padding: 0 12px; border-radius: 10px; font-size: 15px; color: var(--pp-ink); text-decoration: none; white-space: nowrap; }
.pp-lang__list a:hover, .pp-lang__list a:focus-visible { background: var(--pp-sand); color: var(--pp-ink); }
.pp-lang__list a[aria-current] { background: var(--pp-sand); }
.pp-lang__name { flex: 1; }
.pp-lang__check { font-weight: 600; color: var(--pp-green); }
/* Footer variant */
.pp-footer__base { max-width: var(--pp-max); margin: 0 auto !important; padding: 0 var(--pp-gutter) 32px; box-sizing: border-box; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; }
.pp-footer__base .pp-footer__legal { margin: 0 !important; padding: 0 !important; max-width: none !important; }
.pp-lang--footer .pp-lang__btn { font-weight: 400; font-size: 14px; gap: 10px; height: 44px; background: transparent; border: 1.5px solid #5A564C; color: var(--pp-cream); }
.pp-lang--footer .pp-lang__btn:hover { border-color: var(--pp-cream); background: transparent; }
.pp-lang--footer .pp-lang__flag { box-shadow: none; }
.pp-lang--footer .pp-lang__list { top: auto; bottom: 52px; background: var(--pp-cream); border: 0; box-shadow: 0 12px 32px rgba(0, 0, 0, .35); }
.pp-lang--footer .pp-lang__list a:hover, .pp-lang--footer .pp-lang__list a[aria-current] { background: var(--pp-sand); }
@media (max-width: 760px) {
	.pp-lang--header { display: none; }
	/* mobile design: language switcher only in the footer */
	.pp-lang--footer .pp-lang__list { right: auto; left: 0; }
}
/* ICEPAY payment method labels in the checkout */
.wc-block-components-radio-control__label .icepay-label { padding-right: 0 !important; }
/* Step descriptions (set in the Checkout block, translatable with WPML) */
.pp-page--checkout .wc-block-components-checkout-step__description { display: block; margin: 14px 0 0 !important; font-size: 14px; color: var(--pp-muted); }
.pp-page--checkout .pp-haveacct { white-space: nowrap; }
/* ICEPAY: same row height for every method, name centred on the radio */
.wc-block-components-radio-control__label .icepay-label { min-height: 30px; align-items: center !important; }
.wc-block-components-radio-control__label .icepay-name { line-height: 1.2; position: relative; top: 1px; }
.wc-block-components-radio-control__label .icepay-description:empty { display: none; }
/* All payment methods (ICEPAY, bank transfer …): same height, name centred on the radio */
.wc-block-checkout__payment-method .wc-block-components-radio-control__label { min-height: 30px; display: flex !important; align-items: center; }
.wc-block-checkout__payment-method .wc-block-components-radio-control__label > .icepay-label { flex: 1; }
.wc-block-checkout__payment-method .wc-block-components-payment-method-label { line-height: 1.2; position: relative; top: 1px; }
/* Address form on small screens: WooCommerce switches it to a plain block
   (no gap, no ordering). Keep it a flex column so the 12px spacing and the
   "+ Add business details" position stay the same as on desktop. */
.pp-page--checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form, .pp-page--checkout .wc-block-checkout__billing-fields .wc-block-components-address-form { display: flex !important; flex-wrap: wrap; gap: 12px; align-items: flex-start; }
.pp-page--checkout .is-mobile .wc-block-checkout__shipping-fields .wc-block-components-address-form > *, .pp-page--checkout .is-small .wc-block-checkout__shipping-fields .wc-block-components-address-form > *, .pp-page--checkout .is-mobile .wc-block-checkout__billing-fields .wc-block-components-address-form > *, .pp-page--checkout .is-small .wc-block-checkout__billing-fields .wc-block-components-address-form > *, .pp-page--checkout .wc-block-components-address-form > .wc-block-components-address-form__address_2-toggle, .pp-page--checkout .wc-block-components-address-form > .wc-block-components-address-form__address_2-hidden-input, .pp-page--checkout .wc-block-components-address-form > .pp-biz-toggle { flex: 1 1 100%; width: 100% !important; box-sizing: border-box; }
.pp-page--checkout .wc-block-components-address-form > .wc-block-components-address-form__address_2-hidden-input:empty { display: none; }

/* Wholesale: white label */
.pp-wl { border-radius: var(--pp-radius); padding: 48px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 40px 56px; align-items: center; }
.pp-wl > * { margin: 0 !important; }
.pp-wl__text { display: flex; flex-direction: column; gap: 20px; }
.pp-wl__text > * { margin: 0 !important; }
.pp-wl__lead { font-size: 19px; line-height: 1.5; max-width: 520px; opacity: .85; }
.pp-wl__list { font-size: 17px; gap: 14px; background: rgba(255, 249, 239, .06); border-radius: var(--pp-radius-md); padding: 28px; }
@media (max-width: 900px) {
	.pp-wl { grid-template-columns: 1fr; padding: 32px 24px; }
}

/* Checkout mobile: order summary above the form */
@media (max-width: 900px) {
	.pp-page--checkout .wc-block-components-sidebar-layout { flex-direction: column !important; }
	.pp-page--checkout .wc-block-components-sidebar-layout > .wc-block-checkout__sidebar { order: -1 !important; margin-bottom: 8px; position: static !important; top: auto !important; width: 100% !important; }
	.pp-page--checkout .wc-block-components-sidebar-layout > .wc-block-checkout__main { order: 1 !important; }
}

/* Payment method without description or fields: no empty panel when selected */
.pp-page--checkout .wc-block-components-radio-control-accordion-content.pp-empty,
.pp-page--checkout .wc-block-components-radio-control-accordion-content:has(> .mollie-payment-method-container > div:only-child:empty) { display: none !important; }

/* Mollie credit card fields, styled like the checkout inputs */
.pp-page--checkout .wc-block-components-radio-control-accordion-content:has(.mollie-components) { padding: 4px 18px 18px !important; }
.pp-page--checkout .mollie-components { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.pp-page--checkout .mollie-component-wrapper { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 6px; margin: 0 !important; padding: 0 !important; width: auto !important; max-width: none !important; float: none !important; }
.pp-page--checkout .mollie-component-wrapper--expiryDate, .pp-page--checkout .mollie-component-wrapper--verificationCode { grid-column: auto; }
.pp-page--checkout .mollie-component-label { font-size: 14px; font-weight: 600; color: var(--pp-ink); margin: 0; }
.pp-page--checkout .mollie-component { position: relative; display: flex; align-items: center; height: 54px; padding: 0 16px; background: #fff; border: 2px solid #E3D6BF; border-radius: 14px; box-sizing: border-box; box-shadow: none !important; transition: border-color .15s; }
.pp-page--checkout .mollie-component iframe { flex: 1; }
.pp-page--checkout .mollie-component.has-focus { border-color: var(--pp-ink); }
.pp-page--checkout .mollie-component.is-invalid, .pp-page--checkout .mollie-component.is-touched.is-invalid { border-color: #B3261E; }
.pp-page--checkout .mollie-component-error { font-size: 13px; color: #B3261E; min-height: 0; }
.pp-page--checkout .mollie-component-error:empty { display: none; }
.pp-page--checkout .mollie-payment-method-container > div:not(.mollie-components):has(> p:only-child:empty) { display: none; }
.pp-page--checkout .mollie-payment-method-container > div:last-child:has(svg) { display: flex; align-items: center; gap: 6px; margin-top: 14px; font-size: 13px; color: var(--pp-muted); }
@media (max-width: 380px) {
	.pp-page--checkout .mollie-components { grid-template-columns: 1fr; }
}
/* Express buttons (Mollie Apple Pay is a div/web component, not a <button>): hand cursor */
.wc-block-components-express-payment__event-buttons > li, .wc-block-components-express-payment__event-buttons > li *,
#mollie_applepay_button, #mollie-applepayDirect-button, [id*="applepay" i][role="button"], .apple-pay-button, apple-pay-button, [class*="apple-pay" i], [class*="applepay" i] button { cursor: pointer !important; }

/* Order summary title: price + chevron only on mobile, where it folds open/closed */
.pp-page--checkout .wc-block-components-checkout-order-summary__title { display: flex !important; align-items: center !important; gap: 10px; }
.pp-page--checkout .wc-block-components-checkout-order-summary__title-text { flex: 1; }
.pp-page--checkout .wc-block-components-checkout-order-summary__title-price, .pp-page--checkout .wc-block-components-checkout-order-summary__title-icon { display: none !important; }
@media (max-width: 900px) {
	.pp-page--checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title { cursor: pointer; margin: 0 !important; user-select: none; }
	.pp-page--checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text { font-size: 20px !important; }
	.pp-page--checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-price { display: block !important; margin: 0 !important; font-weight: 700; font-size: 17px; line-height: 1; }
	.pp-page--checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-icon { display: flex !important; align-items: center; justify-content: center; width: 28px; height: 28px; margin: 0 !important; border-radius: 50%; background: var(--pp-sand); flex: none; transition: transform .2s; }
	.pp-page--checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-icon svg { display: block; width: 22px; height: 22px; fill: currentColor; margin: 0; }
	.pp-page--checkout .wc-block-checkout__sidebar .pp-sum-open .wc-block-components-checkout-order-summary__title-icon { transform: rotate(180deg) !important; }
	.pp-page--checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block:not(.pp-sum-open) { gap: 0 !important; }
	.pp-page--checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block:not(.pp-sum-open) .wc-block-components-checkout-order-summary__content { display: none !important; }
	.pp-page--checkout .wc-block-checkout__sidebar .pp-sum-open .wc-block-components-checkout-order-summary__title { margin-bottom: 14px !important; }
}
