:root {
--pf-ink: #26302b;
--pf-forest: #315c45;
--pf-clay: #c9795a;
--pf-clay-dark: #b9674d;
--pf-warm-care: #f7f1e8;
--pf-linen: #fbfaf6;
--pf-mist: #e7efeb;
--pf-sage: #8fae9a;
--pf-border: #d9d8cf;
--pf-gold: #d7a84b;
--pf-muted: #6f756f;
--pf-white: #ffffff;
--pf-content: 1180px;
--pf-wide: 1280px;
--pf-radius-card: 8px;
--pf-radius-button: 6px;
--pf-shadow-soft: 0 8px 24px rgba(38, 48, 43, 0.08);
--pf-shadow-hover: 0 16px 40px rgba(38, 48, 43, 0.12);
}
*,
*::before,
*::after {
box-sizing: border-box;
}
body {
background: var(--pf-linen);
color: var(--pf-ink);
font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
letter-spacing: 0;
overflow-x: hidden;
}
h1,
h2,
h3,
h4,
h5,
h6,
.pf-heading-font {
color: var(--pf-ink);
font-family: Fraunces, Georgia, serif;
font-weight: 600;
letter-spacing: 0;
}
a {
color: inherit;
}
.pf-container {
inline-size: min(var(--pf-content), calc(100% - 48px));
margin-inline: auto;
}
.pf-wide-container {
inline-size: min(var(--pf-wide), calc(100% - 48px));
margin-inline: auto;
}
.pf-section {
padding-block: 88px;
}
.pf-section--warm {
background: var(--pf-warm-care);
}
.pf-section--linen {
background: var(--pf-linen);
}
.pf-section--mist {
background: var(--pf-mist);
}
.pf-section-header {
margin-inline: auto;
max-inline-size: 760px;
text-align: center;
}
.pf-section-kicker {
color: var(--pf-forest);
font-size: 13px;
font-weight: 800;
line-height: 1.35;
margin-block: 0 14px;
}
.pf-section-header h1,
.pf-section-header h2,
.pf-section-title {
font-size: clamp(32px, 3.4vw, 46px);
line-height: 1.12;
margin: 0;
}
.pf-section-header p,
.pf-section-intro {
color: var(--pf-muted);
font-size: 18px;
line-height: 1.55;
margin-block: 16px 0;
}
.pf-badge {
align-items: center;
background: var(--pf-mist);
border-radius: 999px;
color: var(--pf-forest);
display: inline-flex;
font-size: 12px;
font-weight: 800;
gap: 8px;
line-height: 1.2;
padding: 8px 12px;
width: fit-content;
}
.pf-card {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
box-shadow: var(--pf-shadow-soft);
color: var(--pf-ink);
}
.pf-card-hover {
transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.pf-card-hover:hover {
border-color: var(--pf-sage);
box-shadow: var(--pf-shadow-hover);
transform: translateY(-2px);
}
.pf-button,
.elementor-widget-button.pf-button .elementor-button,
.elementor-widget-button .elementor-button.pf-button {
align-items: center;
border-radius: var(--pf-radius-button);
box-sizing: border-box;
display: inline-flex;
font-family: Inter, system-ui, sans-serif;
font-size: 15px;
font-weight: 800;
justify-content: center;
line-height: 1.2;
min-block-size: 48px;
padding: 13px 20px;
text-align: center;
text-decoration: none;
text-underline-offset: 0;
transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
}
.pf-button:hover,
.elementor-widget-button.pf-button .elementor-button:hover,
.elementor-widget-button .elementor-button.pf-button:hover {
text-decoration: none;
transform: translateY(-1px);
}
.pf-button-primary,
.elementor-widget-button.pf-button-primary .elementor-button,
.elementor-widget-button .elementor-button.pf-button-primary {
background: var(--pf-clay);
border: 1px solid var(--pf-clay);
box-shadow: 0 8px 18px rgba(201, 121, 90, 0.16);
color: var(--pf-white);
}
.pf-button-primary:hover,
.elementor-widget-button.pf-button-primary .elementor-button:hover,
.elementor-widget-button .elementor-button.pf-button-primary:hover {
background: var(--pf-clay-dark);
border-color: var(--pf-clay-dark);
box-shadow: 0 10px 22px rgba(185, 103, 77, 0.2);
color: var(--pf-white);
}
.pf-button-secondary,
.elementor-widget-button.pf-button-secondary .elementor-button,
.elementor-widget-button .elementor-button.pf-button-secondary {
background: transparent;
border: 1px solid rgba(49, 92, 69, 0.72);
color: var(--pf-forest);
}
.pf-button-secondary:hover,
.elementor-widget-button.pf-button-secondary .elementor-button:hover,
.elementor-widget-button .elementor-button.pf-button-secondary:hover {
background: var(--pf-mist);
border-color: var(--pf-forest);
color: var(--pf-forest);
}
.pf-header {
background: rgba(251, 250, 246, 0.96);
border-block-end: 1px solid rgba(217, 216, 207, 0.9);
color: var(--pf-ink);
position: relative;
}
.pf-mobile-nav {
display: none;
}
.pf-header-inner {
align-items: center;
display: grid;
gap: 24px;
grid-template-columns: auto 1fr auto;
min-block-size: 80px;
}
.pf-logo {
align-items: center;
color: var(--pf-ink);
display: inline-flex;
font-family: Fraunces, Georgia, serif;
font-size: 24px;
font-weight: 700;
gap: 10px;
line-height: 1;
text-decoration: none;
}
.pf-logo-mark {
background: var(--pf-forest);
border-radius: var(--pf-radius-card);
color: var(--pf-linen);
display: grid;
font-family: Inter, system-ui, sans-serif;
font-size: 13px;
font-weight: 900;
inline-size: 36px;
min-block-size: 36px;
place-items: center;
}
.pf-nav {
align-items: center;
display: flex;
gap: 22px;
justify-content: center;
}
.pf-nav a {
border-block-end: 3px solid transparent;
color: var(--pf-ink);
font-size: 14px;
font-weight: 700;
padding-block: 28px 25px;
text-decoration: none;
}
.pf-nav a:hover,
.pf-nav a:focus-visible {
border-block-end-color: var(--pf-clay);
color: var(--pf-forest);
}
.pf-header-actions {
align-items: center;
display: flex;
gap: 12px;
justify-content: flex-end;
}
.pf-header-cart {
align-items: center;
display: inline-flex;
gap: 8px;
min-block-size: 42px;
padding: 11px 16px;
}
.pf-header-cart svg {
flex-shrink: 0;
}
.pf-header-cart-count {
align-items: center;
background: var(--pf-clay);
border-radius: 999px;
color: var(--pf-white);
display: inline-grid;
font-size: 12px;
font-weight: 900;
line-height: 1;
margin-inline-start: -2px;
min-block-size: 20px;
min-inline-size: 20px;
padding-inline: 6px;
place-items: center;
}
.pf-header-cart-count--empty {
display: none;
}
.pf-header-account {
align-items: center;
border-radius: var(--pf-radius-button);
color: var(--pf-forest);
display: inline-flex;
gap: 8px;
font-size: 14px;
font-weight: 800;
min-block-size: 42px;
padding: 9px 14px;
text-decoration: none;
}
.pf-header-account svg {
flex-shrink: 0;
color: var(--pf-forest);
}
.pf-header-account:hover,
.pf-header-account:focus-visible {
background: var(--pf-mist);
color: var(--pf-forest);
text-decoration: none;
}
.pf-header-account:focus-visible {
outline: 3px solid var(--pf-forest);
outline-offset: 2px;
}
.pf-cancel-note {
color: var(--pf-forest);
font-size: 13px;
font-weight: 800;
white-space: nowrap;
}
.pf-icon-button {
align-items: center;
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-button);
color: var(--pf-forest);
display: inline-flex;
font-weight: 900;
inline-size: 42px;
justify-content: center;
min-block-size: 42px;
}
.pf-button-row {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: 12px;
}
.pf-hero {
background: var(--pf-linen);
padding-block: 88px 44px;
}
.pf-hero-inner {
align-items: center;
display: grid;
gap: 56px;
grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
}
.pf-hero-copy {
display: grid;
gap: 22px;
}
.pf-hero-title {
font-size: clamp(42px, 5vw, 64px);
line-height: 1.04;
margin: 0;
max-inline-size: 620px;
}
.pf-hero-subhead {
color: var(--pf-forest);
font-size: clamp(23px, 2.4vw, 32px);
font-weight: 700;
line-height: 1.22;
margin: 0;
max-inline-size: 620px;
}
.pf-hero-body {
color: var(--pf-muted);
font-size: 18px;
line-height: 1.55;
margin: 0;
max-inline-size: 620px;
}
.pf-quiet-line {
color: var(--pf-muted);
font-size: 14px;
line-height: 1.45;
margin: 0;
max-inline-size: 520px;
}
.pf-hero-media {
min-block-size: 540px;
}
.pf-hero-image {
align-items: end;
background:
linear-gradient(180deg, rgba(38, 48, 43, 0.02), rgba(38, 48, 43, 0.18)),
var(--pf-mist);
background-position: center;
background-size: cover;
border: 1px solid rgba(217, 216, 207, 0.9);
border-radius: var(--pf-radius-card);
box-shadow: var(--pf-shadow-soft);
display: grid;
min-block-size: 540px;
overflow: hidden;
padding: 18px;
position: relative;
}
.pf-hero-image img {
block-size: 100%;
inline-size: 100%;
inset: 0;
object-fit: cover;
position: absolute;
}
.pf-hero-image-note {
background: rgba(251, 250, 246, 0.92);
border: 1px solid rgba(217, 216, 207, 0.9);
border-radius: var(--pf-radius-card);
color: var(--pf-ink);
font-size: 14px;
font-weight: 700;
line-height: 1.35;
padding: 14px 16px;
position: relative;
z-index: 1;
}
.pf-how {
background: var(--pf-warm-care);
padding-block: 92px;
}
.pf-steps {
display: grid;
gap: 22px;
grid-template-columns: repeat(3, minmax(0, 1fr));
margin-block-start: 38px;
position: relative;
}
.pf-steps::before {
background: var(--pf-border);
block-size: 1px;
content: "";
inset-block-start: 42px;
inset-inline: 16%;
position: absolute;
}
.pf-step-card {
align-content: start;
background: var(--pf-linen);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
box-shadow: 0 8px 24px rgba(38, 48, 43, 0.05);
display: grid;
gap: 16px;
min-block-size: 255px;
padding: 28px;
position: relative;
}
.pf-step-index {
background: var(--pf-mist);
border: 1px solid rgba(143, 174, 154, 0.65);
border-radius: 999px;
color: var(--pf-forest);
display: grid;
font-weight: 900;
inline-size: 56px;
min-block-size: 56px;
place-items: center;
}
.pf-step-label {
color: var(--pf-forest);
font-size: 12px;
font-weight: 900;
line-height: 1.35;
}
.pf-step-card h3 {
font-size: 25px;
line-height: 1.18;
margin: 0;
}
.pf-step-card p {
color: var(--pf-muted);
margin: 0;
}
.pf-bundles {
background: var(--pf-linen);
padding-block: 96px;
}
.pf-bundle-grid {
display: grid;
gap: 24px;
grid-template-columns: repeat(2, minmax(0, 1fr));
inline-size: min(var(--pf-content), calc(100% - 48px));
margin: 38px auto 0;
}
.pf-bundle-card {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
box-shadow: var(--pf-shadow-soft);
display: grid;
gap: 22px;
min-block-size: 520px;
padding: 32px;
position: relative;
}
.pf-bundle-card--featured {
background: linear-gradient(180deg, rgba(231, 239, 235, 0.98) 0%, rgba(251, 250, 246, 0.98) 68%), var(--pf-mist);
border: 2px solid rgba(49, 92, 69, 0.55);
box-shadow: 0 20px 48px rgba(38, 48, 43, 0.16);
overflow: hidden;
}
.pf-bundle-card--featured::before {
background: var(--pf-forest);
block-size: 4px;
content: "";
inset-block-start: 0;
inset-inline: 0;
position: absolute;
}
.pf-bundle-head {
display: grid;
gap: 12px;
}
.pf-badge-row {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.pf-badge-best {
background: var(--pf-forest);
color: var(--pf-linen);
}
.pf-promo-price {
color: var(--pf-clay);
display: grid;
gap: 4px;
line-height: 1.08;
}
.pf-promo-price span {
color: var(--pf-forest);
font-size: 13px;
font-weight: 900;
letter-spacing: 0.02em;
text-transform: uppercase;
}
.pf-promo-price strong {
color: var(--pf-clay);
font-size: clamp(30px, 2.5vw, 38px);
font-weight: 900;
letter-spacing: 0;
}
.pf-regular-price {
color: var(--pf-muted);
font-size: 15px;
font-weight: 800;
margin-block: 8px 0;
}
.pf-bundle-value-note {
align-items: center;
background: rgba(231, 239, 235, 0.78);
border: 1px solid rgba(143, 174, 154, 0.55);
border-radius: 999px;
color: var(--pf-forest);
display: inline-flex;
font-size: 13px;
font-weight: 900;
line-height: 1.25;
margin-block-start: 10px;
padding: 8px 12px;
width: fit-content;
}
.pf-bullet-list {
display: grid;
gap: 12px;
list-style: none;
margin: 0;
padding: 0;
}
.pf-bullet-list li {
color: var(--pf-muted);
display: grid;
font-size: 15px;
gap: 10px;
grid-template-columns: 22px 1fr;
}
.pf-bullet-list li::before {
background: var(--pf-mist);
border-radius: 999px;
color: var(--pf-forest);
content: "✓";
display: grid;
font-size: 13px;
font-weight: 900;
inline-size: 22px;
min-block-size: 22px;
place-items: center;
}
.pf-bundle-card .pf-button {
align-self: end;
block-size: auto;
justify-self: stretch;
margin-block-start: auto;
min-block-size: 48px;
}
.pf-reassurance-line {
background: var(--pf-warm-care);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
color: var(--pf-forest);
font-size: 15px;
font-weight: 800;
inline-size: fit-content;
margin: 24px auto 0;
max-inline-size: 100%;
padding: 14px 18px;
text-align: center;
}
.pf-products {
background: var(--pf-warm-care);
padding-block: 96px;
}
.pf-problem-finder {
background: var(--pf-linen);
border: 1px solid rgba(143, 174, 154, 0.55);
border-radius: var(--pf-radius-card);
box-shadow: 0 8px 24px rgba(38, 48, 43, 0.05);
display: grid;
gap: 18px;
inline-size: min(980px, 100%);
margin: 38px auto 32px;
padding: 22px;
}
.pf-problem-finder-head {
align-items: end;
display: flex;
flex-wrap: wrap;
gap: 10px 18px;
justify-content: space-between;
}
.pf-problem-finder h3 {
font-family: Inter, system-ui, sans-serif;
font-size: 20px;
font-weight: 900;
line-height: 1.25;
margin: 0 0 6px;
}
.pf-problem-finder p {
color: var(--pf-muted);
font-size: 15px;
line-height: 1.45;
margin: 0;
max-inline-size: 560px;
}
.pf-problem-chips {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.pf-problem-chip {
align-items: center;
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: 999px;
color: var(--pf-forest);
display: inline-flex;
font-size: 14px;
font-weight: 900;
line-height: 1.2;
min-block-size: 42px;
padding: 10px 14px;
text-decoration: none;
transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.pf-problem-chip:hover,
.pf-problem-chip:focus-visible {
background: var(--pf-mist);
border-color: var(--pf-forest);
color: var(--pf-forest);
text-decoration: none;
}
.pf-product-grid {
display: flex;
flex-wrap: wrap;
gap: 20px;
justify-content: center;
}
.pf-product-card {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
box-shadow: 0 8px 24px rgba(38, 48, 43, 0.05);
display: grid;
flex: 0 1 calc(25% - 15px);
min-block-size: 490px;
min-inline-size: 250px;
overflow: hidden;
transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.pf-product-card:hover {
border-color: var(--pf-sage);
box-shadow: var(--pf-shadow-hover);
transform: translateY(-2px);
}
.pf-product-art {
align-items: center;
background:
radial-gradient(circle at 70% 25%, rgba(215, 168, 75, 0.16), transparent 24%),
linear-gradient(135deg, var(--pf-mist), var(--pf-linen));
border-block-end: 1px solid var(--pf-border);
display: grid;
justify-items: center;
min-block-size: 190px;
padding: 24px;
}
.pf-pack-placeholder {
background: linear-gradient(180deg, #ffffff 0 58%, var(--pf-warm-care) 58% 100%);
border: 1px solid rgba(38, 48, 43, 0.18);
border-radius: 8px 8px 10px 10px;
box-shadow: 0 14px 28px rgba(38, 48, 43, 0.12);
display: grid;
inline-size: 92px;
min-block-size: 128px;
place-items: center;
position: relative;
}
.pf-pack-placeholder::before {
background: var(--pf-forest);
border-radius: 999px;
block-size: 18px;
content: "";
inline-size: 58px;
inset-block-start: 15px;
position: absolute;
}
.pf-pack-placeholder::after {
background: var(--pack-accent, var(--pf-clay));
border-radius: 4px;
block-size: 22px;
content: "";
inline-size: 52px;
inset-block-end: 22px;
position: absolute;
}
.pf-product-body {
display: grid;
gap: 14px;
padding: 20px;
}
.pf-product-title {
font-size: 18px;
font-weight: 900;
line-height: 1.28;
margin: 0;
min-block-size: 52px;
}
.pf-product-price {
color: var(--pf-forest);
font-size: 18px;
font-weight: 900;
margin: 0;
}
.pf-relevant {
color: var(--pf-muted);
display: grid;
font-size: 14px;
gap: 7px;
line-height: 1.45;
margin: 0;
}
.pf-relevant strong {
color: var(--pf-ink);
font-size: 13px;
}
.pf-text-link {
align-self: end;
color: var(--pf-clay);
font-size: 15px;
font-weight: 900;
margin-block-start: auto;
text-decoration: none;
}
.pf-text-link:hover,
.pf-text-link:focus-visible {
color: var(--pf-clay-dark);
text-decoration: underline;
text-underline-offset: 3px;
}
.pf-product-note {
background: var(--pf-linen);
border: 1px solid rgba(143, 174, 154, 0.55);
border-radius: var(--pf-radius-card);
color: var(--pf-forest);
font-weight: 800;
inline-size: min(760px, 100%);
margin: 28px auto 0;
padding: 18px 20px;
text-align: center;
}
.pf-mission {
background: var(--pf-linen);
padding-block: 92px;
}
.pf-mission-grid {
align-items: stretch;
display: grid;
gap: 36px;
grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
}
.pf-mission-story {
background:
linear-gradient(135deg, rgba(49, 92, 69, 0.9), rgba(38, 48, 43, 0.92)),
radial-gradient(circle at 20% 15%, rgba(215, 168, 75, 0.24), transparent 28%);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
color: var(--pf-linen);
display: grid;
gap: 20px;
min-block-size: 360px;
padding: 34px;
}
.pf-mission-story .pf-badge {
background: rgba(251, 250, 246, 0.12);
color: var(--pf-linen);
}
.pf-mission-story h2 {
color: var(--pf-linen);
font-size: clamp(32px, 3.4vw, 46px);
line-height: 1.12;
margin: 0;
}
.pf-mission-story p {
color: #dce5de;
font-size: 17px;
line-height: 1.55;
margin: 0;
max-inline-size: 560px;
}
.pf-mission-story .pf-button-secondary {
background: rgba(251, 250, 246, 0.08);
border-color: rgba(251, 250, 246, 0.72);
color: var(--pf-linen);
inline-size: fit-content;
}
.pf-mission-story .pf-button-secondary:hover {
background: rgba(251, 250, 246, 0.14);
color: var(--pf-linen);
}
.pf-mission-stats {
display: grid;
gap: 18px;
}
.pf-stat-card {
background: var(--pf-mist);
border: 1px solid rgba(143, 174, 154, 0.55);
border-radius: var(--pf-radius-card);
display: grid;
gap: 8px;
padding: 28px;
}
.pf-stat-number {
color: var(--pf-forest);
font-size: clamp(42px, 5vw, 72px);
font-weight: 900;
letter-spacing: 0;
line-height: 1;
}
.pf-stat-label {
color: var(--pf-forest);
font-size: 19px;
font-weight: 900;
line-height: 1.25;
}
.pf-stat-card p,
.pf-stat-meta {
color: var(--pf-muted);
margin: 0;
}
.pf-stat-meta {
font-size: 13px;
font-weight: 700;
}
.pf-testimonials {
background: var(--pf-warm-care);
padding-block: 92px;
}
.pf-testimonial-grid {
display: grid;
gap: 20px;
grid-template-columns: repeat(3, minmax(0, 1fr));
margin-block-start: 38px;
}
.pf-testimonial-card {
align-content: start;
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
box-shadow: 0 8px 24px rgba(38, 48, 43, 0.05);
display: grid;
gap: 16px;
min-block-size: 290px;
padding: 24px;
}
.pf-stars {
color: var(--pf-gold);
font-size: 16px;
letter-spacing: 0.08em;
}
.pf-testimonial-card p {
color: var(--pf-muted);
line-height: 1.55;
margin: 0;
}
.pf-testimonial-name {
color: var(--pf-forest);
font-size: 14px;
font-weight: 900;
margin-block-start: auto;
}
.pf-testimonial-note {
color: var(--pf-muted);
font-size: 13px;
inline-size: min(760px, 100%);
margin: 24px auto 0;
text-align: center;
}
.pf-purchase-calm {
background: var(--pf-mist);
border-block: 1px solid rgba(217, 216, 207, 0.7);
padding-block: 42px;
}
.pf-purchase-calm-inner {
align-items: center;
display: grid;
gap: 28px;
grid-template-columns: 0.9fr 1.6fr;
}
.pf-purchase-calm h2 {
font-size: clamp(28px, 2.5vw, 38px);
line-height: 1.12;
margin: 0;
}
.pf-purchase-calm p {
color: var(--pf-muted);
margin-block: 8px 0;
}
.pf-reassurance-grid {
display: grid;
gap: 12px;
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.pf-reassurance-item {
background: rgba(251, 250, 246, 0.82);
border: 1px solid rgba(143, 174, 154, 0.55);
border-radius: var(--pf-radius-card);
color: var(--pf-ink);
display: grid;
gap: 8px;
min-block-size: 128px;
padding: 16px;
text-decoration: none;
}
.pf-reassurance-item:hover,
.pf-reassurance-item:focus-visible {
border-color: var(--pf-forest);
color: var(--pf-ink);
text-decoration: none;
}
.pf-reassurance-item strong {
color: var(--pf-forest);
font-size: 16px;
font-weight: 900;
line-height: 1.28;
}
.pf-reassurance-item span {
color: var(--pf-muted);
font-size: 15px;
line-height: 1.45;
}
.pf-reassurance-icon {
background: rgba(49, 92, 69, 0.1);
border-radius: 999px;
color: var(--pf-forest);
display: grid;
font-size: 14px;
font-weight: 900;
inline-size: 34px;
min-block-size: 34px;
place-items: center;
}
.pf-reassurance-title {
color: var(--pf-ink);
font-size: 14px;
font-weight: 900;
line-height: 1.25;
}
.pf-reassurance-item p {
color: var(--pf-muted);
font-size: 13px;
line-height: 1.4;
margin: 0;
}
.pf-faq {
background: var(--pf-linen);
padding-block: 96px;
}
.pf-faq-grid {
align-items: start;
display: grid;
gap: 58px;
grid-template-columns: minmax(300px, 0.42fr) minmax(0, 0.58fr);
}
.pf-faq-intro {
display: grid;
gap: 18px;
}
.pf-faq-intro p {
color: var(--pf-muted);
font-size: 17px;
line-height: 1.55;
margin: 0;
}
.pf-reassurance-card {
background: var(--pf-warm-care);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
display: grid;
gap: 10px;
margin-block-start: 12px;
padding: 22px;
}
.pf-reassurance-card h3 {
font-size: 24px;
margin: 0;
}
.pf-accordion {
border-block-start: 1px solid var(--pf-border);
}
.pf-accordion details {
border-block-end: 1px solid var(--pf-border);
padding-block: 20px;
}
.pf-accordion summary {
align-items: center;
color: var(--pf-ink);
cursor: pointer;
display: flex;
font-size: 17px;
font-weight: 900;
gap: 18px;
justify-content: space-between;
line-height: 1.35;
list-style: none;
}
.pf-accordion summary::-webkit-details-marker {
display: none;
}
.pf-accordion summary::after {
background: var(--pf-mist);
border-radius: 999px;
color: var(--pf-forest);
content: "+";
display: grid;
flex: 0 0 auto;
font-size: 18px;
font-weight: 900;
inline-size: 28px;
min-block-size: 28px;
place-items: center;
}
.pf-accordion details[open] summary::after {
background: rgba(201, 121, 90, 0.14);
color: var(--pf-clay);
content: "-";
}
.pf-accordion details p {
color: var(--pf-muted);
line-height: 1.55;
margin: 0;
max-inline-size: 700px;
padding-block-start: 12px;
}
.pf-trust-bar {
background: var(--pf-mist);
border-block: 1px solid rgba(217, 216, 207, 0.8);
padding-block: 14px;
}
.pf-trust-grid {
display: grid;
gap: 12px;
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.pf-trust-item {
align-items: center;
color: var(--pf-ink);
display: flex;
font-size: 13px;
font-weight: 700;
gap: 10px;
line-height: 1.35;
min-block-size: 42px;
}
.pf-trust-icon {
background: rgba(49, 92, 69, 0.1);
border-radius: 999px;
color: var(--pf-forest);
display: grid;
flex: 0 0 auto;
font-size: 13px;
font-weight: 900;
inline-size: 28px;
min-block-size: 28px;
place-items: center;
}
.pf-footer {
background: var(--pf-forest);
color: var(--pf-linen);
}
.pf-footer-main {
display: grid;
gap: 38px;
grid-template-columns: 1.35fr 1fr 1fr 1fr;
padding-block: 72px 48px;
}
.pf-footer .pf-logo,
.pf-footer h2,
.pf-footer h3,
.pf-footer h4 {
color: var(--pf-linen);
}
.pf-footer .pf-logo-mark {
background: var(--pf-linen);
color: var(--pf-forest);
}
.pf-footer p,
.pf-footer a {
color: #dce5de;
}
.pf-footer a {
text-decoration: none;
}
.pf-footer a:hover,
.pf-footer a:focus-visible {
color: var(--pf-gold);
}
.pf-footer-heading {
color: var(--pf-linen);
font-family: Inter, system-ui, sans-serif;
font-size: 14px;
font-weight: 900;
margin-block: 0 14px;
}
.pf-footer-links {
display: grid;
font-size: 14px;
gap: 9px;
}
.pf-footer-bottom {
align-items: center;
border-block-start: 1px solid rgba(143, 174, 154, 0.45);
color: #dce5de;
display: flex;
flex-wrap: wrap;
font-size: 13px;
gap: 16px;
justify-content: space-between;
padding-block: 18px 24px;
}
.pf-home-shell {
background: var(--pf-linen);
margin-inline: 0;
max-inline-size: none;
padding-inline: 0;
width: 100%;
}
body .site-main.pf-home-shell,
body:not([class*="elementor-page-"]) .site-main.pf-home-shell {
inline-size: 100% !important;
margin-inline: 0 !important;
max-inline-size: none !important;
width: 100% !important;
}
.pf-home-shell .pf-container,
.pf-home-shell .pf-wide-container,
.pf-home-shell .pf-bundle-grid,
.pf-home-shell .pf-steps {
inline-size: min(1680px, calc(100% - 96px));
max-inline-size: calc(100% - 96px);
width: min(1680px, calc(100% - 96px));
}
.pf-home-shell .pf-section-header {
max-inline-size: 1120px;
}
.pf-home-hero-panel {
background:
linear-gradient(135deg, rgba(49, 92, 69, 0.14), rgba(201, 121, 90, 0.1)),
var(--pf-mist);
}
.pf-home-hero-stack {
align-self: center;
display: grid;
gap: 14px;
inline-size: min(420px, 100%);
margin-inline: auto;
position: relative;
z-index: 1;
}
.pf-home-product-tile {
background: rgba(255, 255, 255, 0.92);
border: 1px solid rgba(217, 216, 207, 0.88);
border-radius: var(--pf-radius-card);
box-shadow: var(--pf-shadow-soft);
display: grid;
gap: 7px;
padding: 20px;
}
.pf-home-product-tile span {
color: var(--pf-forest);
font-size: 12px;
font-weight: 900;
line-height: 1.2;
text-transform: uppercase;
}
.pf-home-product-tile strong {
color: var(--pf-ink);
font-family: Fraunces, Georgia, serif;
font-size: 27px;
font-weight: 600;
line-height: 1.08;
}
.pf-home-product-tile small {
color: var(--pf-muted);
font-size: 14px;
font-weight: 700;
line-height: 1.45;
}
.pf-home-check-list {
color: var(--pf-muted);
display: grid;
gap: 10px;
line-height: 1.5;
margin: 0;
padding-inline-start: 20px;
}
.pf-home-info-actions {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: 12px;
justify-content: center;
margin-block-start: 24px;
}
.pf-home-route-grid {
display: grid;
gap: 18px;
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.pf-home-route-card {
display: grid;
gap: 10px;
min-block-size: 190px;
padding: 24px;
text-decoration: none;
}
.pf-home-route-card strong {
color: var(--pf-ink);
font-size: 18px;
font-weight: 900;
line-height: 1.25;
}
.pf-home-route-card span {
color: var(--pf-muted);
line-height: 1.5;
}
.pf-home-legal-grid {
display: grid;
gap: 12px;
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.pf-home-legal-grid a {
background: var(--pf-white);
border: 1px solid rgba(143, 174, 154, 0.62);
border-radius: var(--pf-radius-button);
color: var(--pf-forest);
font-weight: 900;
line-height: 1.25;
min-block-size: 54px;
padding: 14px 16px;
text-align: center;
text-decoration: none;
}
.pf-home-legal-grid a:hover,
.pf-home-legal-grid a:focus-visible {
background: var(--pf-mist);
border-color: var(--pf-forest);
text-decoration: none;
}
.pf-legal-links {
display: flex;
flex-wrap: wrap;
gap: 14px;
}
.elementor-page .site-main {
background: var(--pf-linen);
overflow-x: hidden;
}
.elementor-page .elementor {
overflow-x: clip;
}
.site-header .header-inner,
.site-footer .footer-inner {
inline-size: min(var(--pf-content), calc(100% - 48px));
margin-inline: auto;
}
.pf-site-footer {
background: var(--pf-forest);
color: rgba(255, 255, 255, 0.82);
padding-block: 48px 0;
}
.pf-footer-inner {
display: grid;
gap: 40px;
grid-template-columns: repeat(3, minmax(0, 1fr));
inline-size: min(1080px, calc(100% - 160px));
margin-inline: auto;
}
.pf-footer-brand {
display: grid;
gap: 12px;
}
.pf-footer-logo {
color: var(--pf-white);
font-family: Fraunces, Georgia, serif;
font-size: 28px;
font-weight: 700;
line-height: 1.1;
text-decoration: none;
}
.pf-footer-brand p {
font-size: 15px;
line-height: 1.6;
margin: 0;
max-inline-size: 360px;
}
.pf-footer-nav {
display: grid;
gap: 10px;
align-content: start;
}
.pf-footer-nav h2 {
color: var(--pf-white);
font-size: 14px;
font-weight: 900;
letter-spacing: 0;
line-height: 1.3;
margin: 0 0 4px;
}
.pf-footer-nav a {
color: rgba(255, 255, 255, 0.84);
font-size: 15px;
font-weight: 700;
line-height: 1.35;
text-decoration: none;
}
.pf-footer-nav a:hover,
.pf-footer-nav a:focus-visible {
color: var(--pf-white);
text-decoration: underline;
text-underline-offset: 3px;
}
.pf-footer-bottom {
border-block-start: 1px solid rgba(255, 255, 255, 0.16);
inline-size: min(1080px, calc(100% - 160px));
margin: 40px auto 0;
padding-block: 18px;
}
.pf-footer-bottom p {
font-size: 14px;
line-height: 1.5;
margin: 0;
}
.site-header .site-title a {
color: var(--pf-forest);
font-family: Fraunces, Georgia, serif;
font-size: clamp(30px, 3vw, 42px);
font-weight: 700;
text-decoration: none;
}
.site-header {
background: var(--pf-linen);
border-block-end: 1px solid rgba(217, 216, 207, 0.75);
}
.site-footer {
background: var(--pf-linen);
color: var(--pf-muted);
}
.elementor-element[data-id="pfif001"],
.elementor-element[data-id="pffaq001"],
.elementor-element[data-id="pfcon001"],
.elementor-element[data-id="pflgl001"] {
background: var(--pf-linen);
padding-block: 76px 42px;
}
.elementor-element[data-id="pfif002"],
.elementor-element[data-id="pfif004"],
.elementor-element[data-id="pfif010"] {
inline-size: min(var(--pf-content), calc(100% - 48px));
max-inline-size: calc(100vw - 48px);
margin-inline: auto;
width: min(var(--pf-content), calc(100% - 48px)) !important;
}
.elementor-element[data-id="pfif002"] {
display: grid;
gap: 24px;
}
.elementor-element[data-id="pfif009"],
.elementor-element[data-id="pffaq003"],
.elementor-element[data-id="pffaq005"],
.elementor-element[data-id="pffaq007"],
.elementor-element[data-id="pfcon003"],
.elementor-element[data-id="pfcon005"],
.elementor-element[data-id="pfcon007"],
.elementor-element[data-id="pflgl003"],
.elementor-element[data-id="pflgl005"] {
padding-block: 42px;
}
.elementor-element[data-id="pfif017"],
.elementor-element[data-id="pffaq007"],
.elementor-element[data-id="pfcon005"],
.elementor-element[data-id="pflgl005"] {
background: var(--pf-mist);
}
.elementor-element[data-id="pfif017"] {
padding-block: 62px;
}
.elementor-element[data-id="pfif019"],
.elementor-element[data-id="pffaq009"] {
padding-block: 42px 72px;
}
.pf-container h1,
.pf-legal-container h1 {
font-size: clamp(40px, 4.8vw, 64px);
line-height: 1.05;
margin-block: 22px 0;
max-inline-size: 940px;
}
.pf-container h2,
.pf-legal-container h2 {
font-size: clamp(28px, 2.7vw, 38px);
line-height: 1.16;
margin-block: 0 18px;
}
.pf-container p,
.pf-legal-container p {
font-size: 17px;
line-height: 1.62;
}
.elementor-element[data-id="pfif004"],
.pf-faq-quick-grid,
.pf-contact-quick-grid {
align-items: stretch;
display: grid !important;
gap: 16px;
grid-template-columns: repeat(4, minmax(0, 1fr));
margin-block-start: 30px;
}
.elementor-element[data-id="pfif010"] {
align-items: start;
display: grid !important;
gap: 48px;
grid-template-columns: 150px minmax(0, 1fr);
}
.elementor-element[data-id="pfif012"] {
display: grid !important;
gap: 34px;
min-inline-size: 0;
}
.pf-shipping-quick-item,
.pf-guarantee-quick-item,
.pf-faq-quick-item,
.pf-contact-quick-item,
.pf-contact-topic-card,
.pf-policy-card {
display: grid;
gap: 8px;
line-height: 1.45;
min-block-size: 148px;
overflow-wrap: anywhere;
padding: 20px;
width: 100%;
}
.elementor-element[data-id="pfif004"] > .elementor-element,
.elementor-element[data-id="pfif004"] .elementor-widget-container,
.elementor-element[data-id="pfif004"] .pf-card {
block-size: 100%;
}
.pf-shipping-quick-item strong,
.pf-guarantee-quick-item strong,
.pf-faq-quick-item strong,
.pf-contact-quick-item strong,
.pf-contact-topic-card strong {
color: var(--pf-ink);
display: block;
font-size: 16px;
font-weight: 900;
line-height: 1.25;
}
.pf-shipping-quick-item span,
.pf-guarantee-quick-item span,
.pf-faq-quick-item span,
.pf-contact-quick-item span,
.pf-contact-topic-card span {
color: var(--pf-muted);
display: block;
font-size: 15px;
}
.pf-info-layout {
align-items: start;
display: grid;
gap: 48px;
grid-template-columns: 150px minmax(0, 1fr);
}
.pf-info-nav,
.pf-faq-category-nav {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.pf-info-nav {
align-content: start;
display: grid;
gap: 12px;
justify-items: start;
position: sticky;
top: 24px;
}
.pf-info-nav a,
.pf-faq-category-nav a {
background: var(--pf-white);
border: 1px solid rgba(143, 174, 154, 0.62);
border-radius: 999px;
color: var(--pf-forest);
font-size: 14px;
font-weight: 900;
line-height: 1.2;
padding: 10px 13px;
text-decoration: none;
transition: background-color 160ms ease, border-color 160ms ease;
}
.pf-info-nav a {
inline-size: min(100%, 142px);
text-align: center;
white-space: normal;
}
.pf-info-nav a:hover,
.pf-faq-category-nav a:hover,
.pf-info-nav a:focus-visible,
.pf-faq-category-nav a:focus-visible {
background: var(--pf-mist);
border-color: var(--pf-forest);
text-decoration: none;
}
.pf-info-main,
.pf-faq-main {
display: grid;
gap: 34px;
min-inline-size: 0;
}
.pf-info-block {
background: rgba(255, 255, 255, 0.72);
border: 1px solid rgba(217, 216, 207, 0.78);
border-radius: var(--pf-radius-card);
padding: 28px;
}
.pf-info-block :last-child,
.pf-faq-category-block :last-child,
.pf-legal-container :last-child {
margin-block-end: 0;
}
.pf-note-box,
.pf-warning-note,
.pf-legal-embed,
.pf-faq-side {
background: var(--pf-white);
border: 1px solid rgba(143, 174, 154, 0.62);
border-radius: var(--pf-radius-card);
box-shadow: 0 8px 24px rgba(38, 48, 43, 0.05);
padding: 22px;
}
.pf-info-table {
inline-size: 100%;
overflow-x: auto;
}
.pf-info-table table {
border-collapse: collapse;
inline-size: 100%;
min-inline-size: 620px;
}
.pf-info-table th,
.pf-info-table td {
border: 1px solid var(--pf-border);
padding: 16px 18px;
text-align: start;
vertical-align: top;
}
.pf-info-table th {
background: var(--pf-warm-care);
color: var(--pf-forest);
font-weight: 900;
}
.pf-faq-layout {
align-items: start;
display: grid;
gap: 36px;
grid-template-columns: minmax(230px, 310px) minmax(0, 1fr);
}
.pf-faq-side {
position: sticky;
top: 24px;
}
.pf-faq-category-block {
display: grid;
gap: 12px;
}
.pf-faq-category-block details {
background: var(--pf-white);
border: 1px solid rgba(217, 216, 207, 0.9);
border-radius: var(--pf-radius-card);
padding: 16px 18px;
}
.pf-faq-category-block summary {
cursor: pointer;
font-weight: 900;
line-height: 1.35;
}
.pf-faq-category-block details p {
color: var(--pf-muted);
margin-block: 12px 0;
}
.pf-contact-primary-card {
inline-size: min(760px, 100%);
margin-inline: auto;
padding: 28px;
text-align: center;
}
.pf-contact-method {
color: var(--pf-forest);
font-size: 20px;
font-weight: 900;
}
.pf-contact-topic-grid {
display: grid;
gap: 16px;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pf-contact-topic-card {
color: var(--pf-ink);
min-block-size: 150px;
text-decoration: none;
transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.pf-contact-topic-card:hover,
.pf-contact-topic-card:focus-visible {
border-color: var(--pf-sage);
box-shadow: var(--pf-shadow-hover);
text-decoration: none;
transform: translateY(-2px);
}
.pf-legal-container {
inline-size: min(860px, calc(100% - 48px));
margin-inline: auto;
}
.pf-legal-source-note,
.pf-legal-updated {
color: var(--pf-muted);
}
.pf-legal-link-list {
display: grid;
gap: 10px;
list-style: none;
margin: 0;
padding: 0;
}
.pf-legal-link-list a {
color: var(--pf-clay);
font-weight: 900;
text-decoration: none;
}
.pf-legal-link-list a:hover,
.pf-legal-link-list a:focus-visible {
color: var(--pf-clay-dark);
text-decoration: underline;
text-underline-offset: 3px;
}
@media (max-width: 1120px) {
.pf-header-inner {
grid-template-columns: auto auto;
justify-content: space-between;
}
.pf-nav,
.pf-cancel-note,
.pf-header-actions {
display: none;
}
.pf-mobile-nav {
display: block;
justify-self: end;
}
.pf-mobile-nav > summary.pf-mobile-nav-toggle {
align-items: center;
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-button);
color: var(--pf-forest);
cursor: pointer;
display: inline-flex;
justify-content: center;
list-style: none;
min-block-size: 44px;
min-inline-size: 44px;
padding: 0;
}
.pf-mobile-nav > summary.pf-mobile-nav-toggle::-webkit-details-marker {
display: none;
}
.pf-mobile-nav-icon {
display: inline-flex;
flex-direction: column;
gap: 5px;
inline-size: 20px;
}
.pf-mobile-nav-icon span {
background: var(--pf-forest);
block-size: 2px;
border-radius: 2px;
display: block;
inline-size: 100%;
}
.pf-mobile-nav[open] > summary.pf-mobile-nav-toggle {
background: var(--pf-forest);
}
.pf-mobile-nav[open] .pf-mobile-nav-icon span {
background: var(--pf-linen);
}
.pf-mobile-nav-panel {
background: var(--pf-white);
border-block-end: 1px solid var(--pf-border);
border-block-start: 1px solid var(--pf-border);
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
display: flex;
flex-direction: column;
gap: 2px;
inset-block-start: 100%;
inset-inline: 0;
padding: 12px 24px 24px;
position: absolute;
z-index: 60;
}
.pf-mobile-nav-panel a {
border-block-end: 1px solid rgba(217, 216, 207, 0.65);
color: var(--pf-ink);
font-size: 16px;
font-weight: 700;
padding-block: 14px;
text-decoration: none;
}
.pf-mobile-nav-panel a:last-child {
border-block-end: 0;
}
.pf-mobile-nav-account {
align-items: center;
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-button);
color: var(--pf-forest);
display: inline-flex;
gap: 10px;
justify-content: center;
margin-block-start: 16px;
padding-block: 12px;
text-align: center;
}
.pf-mobile-nav-account svg {
flex-shrink: 0;
}
.pf-mobile-nav-account:hover,
.pf-mobile-nav-account:focus-visible {
background: var(--pf-mist);
color: var(--pf-forest);
}
.pf-mobile-nav-cart {
align-items: center;
background: var(--pf-forest);
border-radius: var(--pf-radius-button);
color: var(--pf-linen) !important;
display: inline-flex;
gap: 10px;
justify-content: center;
margin-block-start: 8px;
padding-block: 14px;
text-align: center;
}
.pf-mobile-nav-cart svg {
flex-shrink: 0;
}
.pf-mobile-nav-cart .pf-header-cart-count {
background: var(--pf-linen);
color: var(--pf-forest);
}
.pf-trust-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pf-hero-inner {
gap: 32px;
grid-template-columns: 1fr 0.82fr;
}
.pf-product-card {
flex-basis: calc(33.333% - 14px);
min-inline-size: 240px;
}
}
@media (max-width: 900px) {
.pf-container,
.pf-wide-container {
inline-size: min(calc(100% - 36px), var(--pf-content));
}
.pf-section {
padding-block: 64px;
}
.pf-hero {
padding-block: 58px 34px;
}
.pf-hero-inner {
grid-template-columns: 1fr;
}
.pf-hero-media,
.pf-hero-image {
min-block-size: 420px;
}
.pf-steps,
.pf-bundle-grid {
grid-template-columns: 1fr;
}
.pf-product-card {
flex-basis: calc(50% - 10px);
}
.pf-mission-grid,
.pf-testimonial-grid,
.pf-purchase-calm-inner,
.pf-faq-grid {
grid-template-columns: 1fr;
}
.pf-home-route-grid,
.pf-home-legal-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pf-reassurance-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pf-steps::before {
display: none;
}
.pf-step-card {
min-block-size: auto;
}
.pf-footer-main {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.elementor-element[data-id="pfif004"],
.pf-faq-quick-grid,
.pf-contact-quick-grid,
.pf-contact-topic-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pf-info-layout,
.pf-faq-layout,
.elementor-element[data-id="pfif010"] {
grid-template-columns: 1fr;
}
.pf-info-nav,
.pf-faq-side {
position: static;
}
}
@media (max-width: 640px) {
.site-header .header-inner,
.site-footer .footer-inner,
.pf-legal-container {
inline-size: min(calc(100% - 36px), var(--pf-content));
}
.pf-header-inner {
min-block-size: 72px;
}
.pf-logo {
font-size: 22px;
}
.pf-header-actions {
justify-content: end;
}
.pf-home-route-grid,
.pf-home-legal-grid {
grid-template-columns: 1fr;
}
.pf-home-route-card {
min-block-size: auto;
}
.elementor-page .elementor,
.elementor-page .elementor-element,
.elementor-page .elementor-widget-container {
max-inline-size: 100%;
min-inline-size: 0;
}
.pf-container,
.pf-wide-container {
inline-size: calc(100% - 56px) !important;
margin-inline: auto !important;
max-inline-size: calc(100% - 56px) !important;
width: calc(100% - 56px) !important;
}
.pf-home-shell .pf-container,
.pf-home-shell .pf-wide-container,
.pf-home-shell .pf-bundle-grid,
.pf-home-shell .pf-steps {
inline-size: calc(100% - 56px) !important;
max-inline-size: calc(100% - 56px) !important;
width: calc(100% - 56px) !important;
}
.site-header .site-title a {
font-size: 28px;
}
.pf-header-inner {
min-block-size: 68px;
}
.pf-logo {
font-size: 21px;
}
.pf-section-header p,
.pf-section-intro {
font-size: 16px;
}
.pf-button-row,
.pf-button-row .pf-button {
inline-size: 100%;
}
.pf-hero-copy,
.pf-hero-title,
.pf-hero-subhead,
.pf-hero-body,
.pf-quiet-line,
.pf-hero-image-note,
.pf-home-product-tile,
.pf-home-product-tile * {
max-inline-size: 100%;
min-inline-size: 0;
overflow-wrap: anywhere;
white-space: normal;
}
.pf-hero-title {
font-size: 32px;
line-height: 1.08;
}
.pf-hero-subhead {
font-size: 18px;
line-height: 1.25;
}
.pf-hero-body {
font-size: 16px;
}
.pf-home-hero-stack {
inline-size: 100%;
}
.pf-hero-media,
.pf-hero-image {
inline-size: 100%;
max-inline-size: 100%;
min-block-size: 360px;
min-inline-size: 0;
}
.pf-hero-image {
padding: 12px;
}
.pf-how,
.pf-bundles,
.pf-products,
.pf-mission,
.pf-testimonials,
.pf-faq {
padding-block: 64px;
}
.pf-bundle-card,
.pf-step-card,
.pf-mission-story,
.pf-stat-card,
.pf-testimonial-card {
padding: 24px;
}
.pf-trust-grid,
.pf-product-grid,
.pf-reassurance-grid,
.pf-footer-main,
.pf-footer-inner {
grid-template-columns: 1fr;
}
.pf-product-card {
flex-basis: 100%;
min-block-size: auto;
min-inline-size: 0;
}
.pf-product-title {
min-block-size: auto;
}
.pf-purchase-calm {
padding-block: 34px;
}
.pf-button,
.elementor-widget-button.pf-button .elementor-button,
.elementor-widget-button .elementor-button.pf-button {
inline-size: 100%;
}
.elementor-element[data-id="pfif001"],
.elementor-element[data-id="pffaq001"],
.elementor-element[data-id="pfcon001"],
.elementor-element[data-id="pflgl001"] {
padding-block: 46px 28px;
}
.elementor-element[data-id="pfif004"],
.pf-faq-quick-grid,
.pf-contact-quick-grid,
.pf-contact-topic-grid {
grid-template-columns: 1fr;
}
.elementor-element[data-id="pfif002"],
.elementor-element[data-id="pfif004"],
.elementor-element[data-id="pfif010"] {
inline-size: min(calc(100% - 36px), var(--pf-content));
max-inline-size: calc(100vw - 36px);
width: min(calc(100% - 36px), var(--pf-content)) !important;
}
.elementor-element[data-id="pfif004"] {
inline-size: calc(100vw - 96px);
justify-self: stretch;
margin-inline: auto !important;
max-inline-size: calc(100vw - 96px);
width: calc(100vw - 96px) !important;
}
.elementor-element[data-id="pfif004"] > .elementor-element,
.elementor-element[data-id="pfif004"] .elementor-widget-container {
box-sizing: border-box;
max-inline-size: 100%;
min-inline-size: 0;
width: 100%;
}
.pf-faq-quick-grid,
.pf-contact-quick-grid,
.pf-contact-topic-grid {
inline-size: 100%;
max-inline-size: 100%;
width: 100%;
}
.pf-faq-quick-grid > *,
.pf-contact-quick-grid > *,
.pf-contact-topic-grid > *,
.pf-faq-quick-item,
.pf-contact-quick-item,
.pf-contact-topic-card {
max-inline-size: 100%;
min-inline-size: 0;
}
.pf-faq-quick-item *,
.pf-contact-quick-item *,
.pf-contact-topic-card *,
.pf-contact-primary-card * {
inline-size: 100%;
max-inline-size: 100%;
min-inline-size: 0;
}
.pf-faq-page-hero .pf-section-intro,
.pf-contact-hero .pf-section-intro,
.pf-faq-quick-item span,
.pf-contact-quick-item span,
.pf-contact-topic-card span,
.pf-contact-primary-card p {
max-inline-size: calc(100vw - 96px);
overflow-wrap: anywhere;
white-space: normal;
word-break: normal;
}
.pf-container h1,
.pf-legal-container h1 {
font-size: 38px;
}
.pf-container p,
.pf-legal-container p {
font-size: 16px;
}
.pf-info-block,
.pf-note-box,
.pf-warning-note,
.pf-legal-embed,
.pf-faq-side,
.pf-contact-primary-card {
padding: 20px;
}
.pf-info-nav,
.pf-faq-category-nav {
flex-wrap: nowrap;
margin-inline: 0;
overflow-x: auto;
padding-block-end: 6px;
scroll-padding-inline: 0;
}
.pf-info-nav a,
.pf-faq-category-nav a {
flex: 0 0 auto;
white-space: nowrap;
}
}
.pf-hero-img-placeholder {
border-radius: var(--pf-radius-card);
block-size: 100%;
inset: 0;
overflow: hidden;
position: absolute;
background:
radial-gradient(ellipse at 28% 65%, rgba(215, 168, 75, 0.38) 0%, transparent 48%),
radial-gradient(ellipse at 78% 18%, rgba(49, 92, 69, 0.22) 0%, transparent 42%),
radial-gradient(ellipse at 55% 85%, rgba(201, 121, 90, 0.14) 0%, transparent 36%),
linear-gradient(148deg, rgba(247, 241, 232, 1) 0%, rgba(231, 239, 235, 0.92) 42%, rgba(49, 92, 69, 0.18) 100%);
}
.pf-hero-img-placeholder::before {
background: rgba(38, 48, 43, 0.055);
border-radius: 58% 42% 52% 48% / 48% 54% 46% 52%;
block-size: 160px;
bottom: 96px;
content: "";
inline-size: 200px;
left: 50%;
position: absolute;
transform: translateX(-50%);
}
.pf-hero-img-placeholder::after {
background: rgba(49, 92, 69, 0.1);
border: 1px solid rgba(49, 92, 69, 0.18);
border-radius: 999px;
color: var(--pf-forest);
content: "PF Love · senior rutin";
font-family: Inter, system-ui, sans-serif;
font-size: 12px;
font-weight: 800;
inset-block-start: 24px;
left: 50%;
padding: 8px 14px;
position: absolute;
transform: translateX(-50%);
white-space: nowrap;
}
.pf-choice-section {
background: var(--pf-linen);
}
.pf-choice-grid {
display: grid;
gap: 16px;
grid-template-columns: repeat(6, minmax(0, 1fr));
margin-block-start: 32px;
}
.pf-choice-card {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
box-shadow: 0 6px 18px rgba(38, 48, 43, 0.05);
color: var(--pf-ink);
display: grid;
gap: 10px;
min-block-size: 150px;
padding: 20px;
text-decoration: none;
transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.pf-choice-card:hover,
.pf-choice-card:focus-visible {
border-color: var(--pf-sage);
box-shadow: var(--pf-shadow-hover);
text-decoration: none;
transform: translateY(-2px);
}
.pf-choice-card__title {
color: var(--pf-forest);
font-family: Inter, system-ui, sans-serif;
font-size: 17px;
font-weight: 700;
line-height: 1.25;
}
.pf-choice-card__desc {
color: var(--pf-muted);
font-size: 14px;
line-height: 1.45;
}
.pf-mission-mini {
padding-block: 72px;
}
.pf-mission-mini-card {
align-items: stretch;
display: grid;
gap: 0;
grid-template-columns: 1fr 1.1fr;
overflow: hidden;
}
.pf-mission-mini-visual {
background:
linear-gradient(135deg, rgba(49, 92, 69, 0.92), rgba(38, 48, 43, 0.94)),
radial-gradient(circle at 20% 15%, rgba(215, 168, 75, 0.22), transparent 28%);
color: var(--pf-linen);
display: grid;
gap: 18px;
padding: 40px 34px;
}
.pf-mission-mini-visual h2 {
color: var(--pf-linen);
font-size: clamp(30px, 3vw, 42px);
line-height: 1.12;
margin: 0;
}
.pf-mission-mini-visual p {
color: #dce5de;
font-size: 16px;
line-height: 1.5;
margin: 0;
}
.pf-mission-mini-copy {
display: grid;
gap: 18px;
padding: 40px 34px;
}
.pf-mission-mini-copy h2 {
font-size: clamp(26px, 2.5vw, 38px);
line-height: 1.14;
margin: 0;
}
.pf-mission-mini-copy p {
color: var(--pf-muted);
font-size: 16px;
line-height: 1.6;
margin: 0;
}
.pf-mission-counter {
color: var(--pf-muted);
font-size: 14px;
font-weight: 700;
}
.pf-mission-counter strong {
color: var(--pf-forest);
}
.pf-qa-preview-grid {
display: grid;
gap: 16px;
grid-template-columns: repeat(3, minmax(0, 1fr));
margin-block-start: 32px;
}
.pf-qa-preview-item {
display: grid;
gap: 10px;
padding: 22px;
}
.pf-qa-preview-item strong {
color: var(--pf-ink);
font-size: 17px;
font-weight: 900;
line-height: 1.28;
}
.pf-qa-preview-item p {
color: var(--pf-muted);
font-size: 15px;
line-height: 1.5;
margin: 0;
}
.pf-steps--4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.pf-steps--4::before {
inset-inline: 11%;
}
@media (max-width: 1100px) {
.pf-choice-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (max-width: 900px) {
.pf-choice-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pf-mission-mini-card {
grid-template-columns: 1fr;
}
.pf-steps--4 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pf-qa-preview-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 640px) {
.pf-choice-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pf-qa-preview-grid {
grid-template-columns: 1fr;
}
.pf-mission-mini-visual,
.pf-mission-mini-copy {
padding: 28px 24px;
}
.pf-steps--4 {
grid-template-columns: 1fr;
}
}
.pf-info-hero {
background: var(--pf-linen);
border-block-end: 1px solid var(--pf-border);
padding-block: 64px 52px;
}
.pf-info-hero h1 {
font-family: var(--pf-font-head);
font-size: clamp(32px, 5vw, 46px);
line-height: 1.12;
margin-block-start: 10px;
}
.pf-info-intro {
color: var(--pf-muted);
font-size: 17px;
margin-block-start: 4px;
max-inline-size: 640px;
}
.pf-quick-grid {
display: grid;
gap: 12px;
grid-template-columns: repeat(4, 1fr);
margin-block-start: 32px;
}
.pf-quick-item {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
display: grid;
gap: 6px;
padding: 16px 18px;
}
.pf-quick-item__label {
color: var(--pf-forest);
font-size: 12px;
font-weight: 700;
letter-spacing: .05em;
text-transform: uppercase;
}
.pf-quick-item__text {
color: var(--pf-ink);
font-size: 14px;
line-height: 1.45;
}
.pf-info-content {
padding-block: 64px 80px;
}
.pf-info-layout {
display: grid;
gap: 32px;
margin: 0 auto;
max-inline-size: 800px;
padding-inline: var(--pf-container-pad);
}
.pf-info-block {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
display: grid;
gap: 14px;
padding: 32px 36px;
}
.pf-info-block--mist {
background: var(--pf-mist);
border-color: var(--pf-sage);
}
.pf-info-block--cream {
background: var(--pf-cream);
}
.pf-info-block h2 {
font-family: var(--pf-font-head);
font-size: 24px;
color: var(--pf-ink);
}
.pf-info-block p {
color: var(--pf-muted);
font-size: 15px;
line-height: 1.6;
}
.pf-info-block-note {
border-block-start: 1px solid var(--pf-border);
color: var(--pf-muted);
font-size: 14px;
padding-block-start: 12px;
}
.pf-info-block-note a,
.pf-info-block a {
color: var(--pf-forest);
text-decoration: underline;
}
.pf-info-block-tag {
background: var(--pf-mist);
border: 1px solid var(--pf-sage);
border-radius: 999px;
color: var(--pf-forest);
display: inline-block;
font-size: 12px;
font-weight: 700;
padding: 3px 10px;
}
.pf-info-check-list {
display: grid;
gap: 10px;
list-style: none;
}
.pf-info-check-list li {
align-items: flex-start;
color: var(--pf-ink);
display: flex;
font-size: 15px;
gap: 10px;
}
.pf-info-check-list li::before {
background-color: var(--pf-forest);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4 9l3.5 3.5L14 6' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
background-size: contain;
block-size: 18px;
border-radius: 50%;
content: "";
flex-shrink: 0;
inline-size: 18px;
margin-block-start: 2px;
}
.pf-shipping-quick-table {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
margin-block-start: 32px;
overflow: hidden;
}
.pf-shipping-quick-table table {
border-collapse: collapse;
inline-size: 100%;
}
.pf-shipping-quick-table th {
background: var(--pf-mist);
border-block-end: 1px solid var(--pf-border);
color: var(--pf-forest);
font-size: 12px;
font-weight: 700;
letter-spacing: .05em;
padding: 10px 20px;
text-align: left;
text-transform: uppercase;
}
.pf-shipping-quick-table td {
border-block-end: 1px solid var(--pf-border);
color: var(--pf-ink);
font-size: 14px;
padding: 13px 20px;
vertical-align: top;
}
.pf-shipping-quick-table tr:last-child td {
border-block-end: none;
}
.pf-shipping-quick-table td:first-child {
color: var(--pf-forest);
font-weight: 700;
inline-size: 220px;
}
.pf-shipping-compare {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr;
}
.pf-contact-layout {
align-items: start;
display: grid;
gap: 48px;
grid-template-columns: 1fr 1.2fr;
margin: 0 auto;
max-inline-size: var(--pf-max-width);
padding-inline: var(--pf-container-pad);
}
.pf-contact-primary {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
display: grid;
gap: 20px;
padding: 32px;
position: sticky;
top: 88px;
}
.pf-contact-primary h2 {
font-family: var(--pf-font-head);
font-size: 26px;
}
.pf-contact-primary p {
color: var(--pf-muted);
font-size: 15px;
}
.pf-topic-grid {
display: grid;
gap: 14px;
grid-template-columns: 1fr 1fr;
}
.pf-topic-card {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
display: grid;
gap: 8px;
padding: 20px;
}
.pf-topic-card h3 {
color: var(--pf-forest);
font-size: 15px;
font-weight: 700;
}
.pf-topic-card p {
color: var(--pf-muted);
font-size: 14px;
line-height: 1.5;
}
.pf-related-grid {
display: grid;
gap: 16px;
grid-template-columns: repeat(3, 1fr);
}
.pf-related-card {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
display: grid;
gap: 8px;
padding: 20px;
text-decoration: none;
}
.pf-related-card h3 {
color: var(--pf-forest);
font-size: 15px;
font-weight: 700;
}
.pf-related-card p {
color: var(--pf-muted);
font-size: 14px;
line-height: 1.5;
}
.pf-faq-hero {
background: var(--pf-linen);
border-block-end: 1px solid var(--pf-border);
padding-block: 64px 52px;
}
.pf-faq-cat-nav {
background: var(--pf-white);
border-block-end: 1px solid var(--pf-border);
padding-inline: 40px;
position: sticky;
top: 68px;
z-index: 90;
}
.pf-faq-cat-nav-inner {
display: flex;
gap: 4px;
margin: 0 auto;
max-inline-size: var(--pf-max-width);
overflow-x: auto;
padding-block: 10px;
scrollbar-width: none;
}
.pf-faq-cat-btn {
background: transparent;
border: 1px solid transparent;
border-radius: var(--pf-radius-btn);
color: var(--pf-muted);
cursor: pointer;
font-family: var(--pf-font-body);
font-size: 14px;
font-weight: 700;
padding: 6px 14px;
text-decoration: none;
white-space: nowrap;
}
.pf-faq-cat-btn:hover,
.pf-faq-cat-btn.active {
background: var(--pf-mist);
border-color: var(--pf-sage);
color: var(--pf-forest);
}
.pf-faq-layout {
align-items: start;
display: grid;
gap: 48px;
grid-template-columns: 240px 1fr;
margin: 0 auto;
max-inline-size: var(--pf-max-width);
padding-inline: var(--pf-container-pad);
}
.pf-faq-side {
display: grid;
gap: 12px;
position: sticky;
top: 130px;
}
.pf-faq-main {
display: grid;
gap: 48px;
}
.pf-faq-category-block {
display: grid;
gap: 16px;
}
.pf-faq-category-block h2 {
border-block-end: 1px solid var(--pf-border);
font-family: var(--pf-font-head);
font-size: 26px;
padding-block-end: 12px;
}
.pf-accordion {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
overflow: hidden;
}
.pf-accordion-item {
border-block-end: 1px solid var(--pf-border);
}
.pf-accordion-item:last-child {
border-block-end: none;
}
.pf-accordion-trigger {
align-items: center;
background: transparent;
border: none;
color: var(--pf-ink);
cursor: pointer;
display: flex;
font-family: var(--pf-font-body);
font-size: 15px;
font-weight: 700;
gap: 16px;
justify-content: space-between;
line-height: 1.4;
padding: 18px 20px;
text-align: left;
inline-size: 100%;
}
.pf-accordion-trigger:hover {
background: var(--pf-linen);
}
.pf-accordion-trigger .icon {
align-items: center;
background: var(--pf-mist);
border-radius: 50%;
display: flex;
flex-shrink: 0;
block-size: 20px;
inline-size: 20px;
justify-content: center;
transition: transform .2s;
}
.pf-accordion-trigger .icon::after {
color: var(--pf-forest);
content: '+';
font-size: 16px;
font-weight: 700;
line-height: 1;
}
.pf-accordion-item.open .pf-accordion-trigger .icon {
transform: rotate(45deg);
}
.pf-accordion-body {
color: var(--pf-muted);
display: none;
font-size: 15px;
line-height: 1.6;
padding: 0 20px 18px;
}
.pf-accordion-item.open .pf-accordion-body {
display: block;
}
.pf-accordion-body a {
color: var(--pf-forest);
text-decoration: underline;
}
.pf-faq-answer-note {
align-items: flex-start;
color: var(--pf-muted);
display: flex;
font-size: 13px;
gap: 6px;
margin-block-start: 10px;
}
.pf-faq-answer-note::before {
color: var(--pf-forest);
content: '→';
flex-shrink: 0;
margin-block-start: 1px;
}
.pf-claims-note {
background: var(--pf-mist);
border-block: 1px solid var(--pf-border);
padding-block: 48px;
}
.pf-claims-note-inner {
align-items: start;
display: grid;
gap: 24px;
grid-template-columns: auto 1fr;
margin: 0 auto;
max-inline-size: var(--pf-max-width);
padding-inline: var(--pf-container-pad);
}
.pf-claims-copy h2 {
font-family: var(--pf-font-head);
font-size: 22px;
margin-block-end: 10px;
}
.pf-claims-copy p {
color: var(--pf-muted);
font-size: 15px;
max-inline-size: 680px;
}
.pf-testimonials {
background: var(--pf-cream);
padding-block: 80px;
}
.pf-testimonial-grid {
display: grid;
gap: 20px;
grid-template-columns: repeat(4, minmax(0, 1fr));
margin-block-start: 32px;
}
.pf-testimonial-card {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
display: grid;
gap: 14px;
padding: 24px;
}
.pf-testimonial-quote {
color: var(--pf-ink);
font-size: 15px;
font-style: italic;
line-height: 1.6;
}
.pf-testimonial-quote::before {
color: var(--pf-clay);
content: '"';
font-family: var(--pf-font-head);
font-size: 28px;
line-height: 1;
display: block;
margin-block-end: 6px;
}
.pf-testimonial-meta {
align-items: center;
border-block-start: 1px solid var(--pf-border);
display: flex;
gap: 10px;
padding-block-start: 12px;
}
.pf-testimonial-avatar {
background: var(--pf-mist);
border-radius: 50%;
block-size: 36px;
flex-shrink: 0;
inline-size: 36px;
overflow: hidden;
}
.pf-testimonial-name {
color: var(--pf-ink);
font-size: 14px;
font-weight: 700;
}
.pf-testimonial-dog {
color: var(--pf-muted);
font-size: 13px;
}
.pf-section-inner {
inline-size: min(var(--pf-content), calc(100% - 48px));
margin-inline: auto;
}
.pf-shop-hero {
background: var(--pf-linen);
border-block-end: 1px solid var(--pf-border);
padding-block: 72px 54px;
}
.pf-shop-hero-inner {
display: grid;
gap: 18px;
inline-size: min(860px, calc(100% - 48px));
margin-inline: auto;
text-align: center;
}
.pf-shop-hero-inner .pf-badge {
justify-self: center;
}
.pf-shop-hero h1 {
font-size: clamp(38px, 4vw, 56px);
line-height: 1.08;
margin: 0;
}
.pf-shop-hero-intro {
color: var(--pf-muted);
font-size: 18px;
line-height: 1.6;
margin: 0;
}
.pf-shop-hero-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
justify-content: center;
margin-block-start: 6px;
}
.pf-filter-bar {
background: var(--pf-white);
border-block-end: 1px solid var(--pf-border);
position: sticky;
top: 0;
z-index: 8;
}
.pf-filter-inner {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: 10px;
inline-size: min(var(--pf-content), calc(100% - 48px));
margin-inline: auto;
padding-block: 14px;
}
.pf-filter-label {
color: var(--pf-muted);
font-size: 13px;
font-weight: 900;
margin-inline-end: 4px;
}
.pf-filter-pill {
background: var(--pf-linen);
border: 1px solid var(--pf-border);
border-radius: 999px;
color: var(--pf-forest);
font-size: 13px;
font-weight: 900;
padding: 8px 13px;
text-decoration: none;
}
.pf-filter-pill:hover,
.pf-filter-pill:focus-visible,
.pf-filter-pill.active {
background: var(--pf-forest);
border-color: var(--pf-forest);
color: var(--pf-white);
text-decoration: none;
}
.pf-shop-archive .pf-section h2 {
font-size: clamp(30px, 3vw, 42px);
line-height: 1.12;
margin-block: 0 12px;
text-align: center;
}
.pf-shop-archive .pf-section-kicker,
.pf-shop-archive .pf-section-lead {
text-align: center;
}
.pf-section-lead {
color: var(--pf-muted);
font-size: 17px;
line-height: 1.6;
margin: 0 auto 30px;
max-inline-size: 760px;
}
.pf-shop-archive .pf-product-grid {
align-items: stretch;
}
.pf-shop-archive .pf-product-card {
color: var(--pf-ink);
text-decoration: none;
}
.pf-product-image {
align-items: center;
background:
radial-gradient(circle at 72% 20%, rgba(215, 168, 75, 0.16), transparent 24%),
linear-gradient(135deg, var(--pf-mist), var(--pf-linen));
border-block-end: 1px solid var(--pf-border);
display: grid;
min-block-size: 210px;
padding: 22px;
position: relative;
place-items: center;
}
.pf-product-image img {
display: block;
block-size: auto;
max-block-size: 170px;
max-inline-size: 100%;
object-fit: contain;
}
.pf-product-card-desc {
color: var(--pf-muted);
font-size: 14px;
line-height: 1.45;
margin: 0;
}
.pf-product-listprice {
color: var(--pf-forest);
font-size: 18px;
font-weight: 900;
}
.pf-product-arrow,
.pf-bundle-arrow {
color: var(--pf-clay);
font-size: 14px;
font-weight: 900;
margin-block-start: auto;
}
.pf-bundle-row,
.pf-shop-route-grid {
display: grid;
gap: 20px;
grid-template-columns: repeat(2, minmax(0, 1fr));
margin-block-start: 28px;
}
.pf-shop-archive .pf-bundle-card {
color: var(--pf-ink);
text-decoration: none;
}
.pf-bundle-image {
background: var(--pf-linen);
border-block-end: 1px solid var(--pf-border);
display: grid;
min-block-size: 190px;
padding: 22px;
place-items: center;
}
.pf-bundle-image img {
max-block-size: 160px;
object-fit: contain;
}
.pf-bundle-body {
display: grid;
gap: 12px;
padding: 24px;
}
.pf-bundle-usp {
color: var(--pf-muted);
font-size: 15px;
line-height: 1.55;
margin: 0;
}
.pf-bundle-price {
color: var(--pf-forest);
font-size: 20px;
font-weight: 900;
}
.pf-club-row {
align-items: center;
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
display: grid;
gap: 24px;
grid-template-columns: 1fr 220px;
padding: 28px;
}
.pf-club-row h3 {
font-size: 24px;
margin-block: 0 10px;
}
.pf-club-row p {
color: var(--pf-muted);
line-height: 1.6;
margin: 0;
}
.pf-club-extra {
margin-block-start: 10px !important;
}
.pf-club-price-box {
background: var(--pf-mist);
border: 1px solid rgba(143, 174, 154, 0.6);
border-radius: var(--pf-radius-card);
display: grid;
gap: 6px;
padding: 22px;
text-align: center;
}
.pf-club-price-val {
color: var(--pf-forest);
font-size: 30px;
font-weight: 900;
}
.pf-club-price-unit {
color: var(--pf-muted);
font-size: 14px;
}
.pf-club-price-box a,
.pf-shop-route-card {
text-decoration: none;
}
.pf-shop-route-card {
display: grid;
gap: 8px;
padding: 22px;
}
.pf-shop-route-card strong {
color: var(--pf-forest);
font-size: 17px;
font-weight: 900;
}
.pf-shop-route-card span {
color: var(--pf-muted);
font-size: 15px;
line-height: 1.55;
}
@media (max-width: 1100px) {
.pf-quick-grid { grid-template-columns: 1fr 1fr; }
.pf-faq-layout { grid-template-columns: 1fr; }
.pf-faq-side { display: none; }
.pf-contact-layout { grid-template-columns: 1fr; }
.pf-contact-primary { position: static; }
.pf-related-grid { grid-template-columns: 1fr 1fr; }
.pf-testimonial-grid { grid-template-columns: repeat(2, 1fr); }
.pf-shipping-compare { grid-template-columns: 1fr; }
.pf-club-row { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
.pf-info-block { padding: 24px 20px; }
.pf-topic-grid { grid-template-columns: 1fr; }
.pf-related-grid { grid-template-columns: 1fr; }
.pf-testimonial-grid { grid-template-columns: 1fr; }
.pf-faq-cat-nav { padding-inline: 16px; }
.pf-shipping-quick-table { overflow-x: auto; }
.pf-bundle-row,
.pf-shop-route-grid { grid-template-columns: 1fr; }
.pf-filter-bar { position: static; }
.pf-shop-hero-actions .pf-button { inline-size: 100%; }
}
.pf-breadcrumb { font-size: 13px; color: var(--pf-muted); margin-bottom: 28px; }
.pf-breadcrumb a { color: var(--pf-muted); text-decoration: none; }
.pf-breadcrumb a:hover { color: var(--pf-forest); }
.pf-product-hero { background: var(--pf-linen); padding-block: 56px 72px; border-bottom: 1px solid var(--pf-border); }
.pf-product-hero-inner { max-width: 1180px; margin: 0 auto; padding: 0 40px; display: grid; grid-template-columns: 52fr 48fr; grid-template-areas: "crumb crumb" "buybox media"; gap: 0 56px; }
.pf-product-hero-inner > .pf-breadcrumb { grid-area: crumb; }
.pf-product-hero-inner > .pf-product-media { grid-area: media; }
.pf-product-hero-inner > .pf-buy-box { grid-area: buybox; }
.pf-buy-box { background: #fff; border: 1px solid var(--pf-border); border-radius: 8px; padding: 28px; display: grid; gap: 18px; position: sticky; top: 84px; align-self: start; box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.pf-buy-box h1 { font-family: var(--font-head); font-size: 30px; color: var(--pf-ink); line-height: 1.15; }
.pf-buy-box-desc { font-size: 15px; color: var(--pf-muted); line-height: 1.6; }
.pf-plan-label { font-size: 12px; font-weight: 700; color: var(--pf-forest); text-transform: uppercase; letter-spacing: .06em; }
.pf-plan-selector { display: grid; gap: 8px; margin-top: 6px; }
.pf-plan-card { border: 1.5px solid var(--pf-border); border-radius: 8px; padding: 12px 14px; cursor: pointer; transition: border-color .15s, background .15s; }
.pf-plan-card--active { border-color: var(--pf-forest); background: var(--pf-mist); }
.pf-plan-card-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.pf-plan-card-name { font-weight: 700; font-size: 14px; color: var(--pf-ink); }
.pf-plan-card-sub { font-size: 12px; color: var(--pf-muted); margin-top: 3px; }
.pf-plan-card-sub--featured {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.pf-plan-save-badge {
background: var(--pf-forest);
border-radius: 99px;
color: #fff;
display: inline-flex;
font-size: 11px;
font-weight: 900;
line-height: 1;
padding: 5px 8px;
white-space: nowrap;
}
.pf-plan-disc { font-size: 12px; font-weight: 700; color: var(--pf-clay); background: rgba(201,121,90,.1); padding: 2px 8px; border-radius: 99px; white-space: nowrap; }
.pf-plan-price { font-weight: 700; font-size: 15px; color: var(--pf-forest); white-space: nowrap; }
.pf-plan-card--egyszeri .pf-plan-price { color: var(--pf-muted); }
.pf-buy-cta { width: 100%; padding: 14px; font-size: 16px; font-family: var(--font-body); font-weight: 700; background: var(--pf-clay); color: white; border: none; border-radius: 6px; cursor: pointer; transition: opacity .15s; }
.pf-buy-cta:hover { opacity: .9; }
.pf-buy-trust { border-top: 1px solid var(--pf-border); padding-top: 14px; display: grid; gap: 7px; }
.pf-buy-trust-row { font-size: 13px; color: var(--pf-muted); display: flex; align-items: flex-start; gap: 7px; }
.pf-buy-trust-row::before { content: '✓'; color: var(--pf-forest); font-weight: 700; flex-shrink: 0; }
.pf-product-trust-bar { background: var(--pf-mist); border-bottom: 1px solid var(--pf-border); padding-block: 16px; }
.pf-product-trust-bar-inner { max-width: 1180px; margin: 0 auto; padding: 0 40px; display: flex; gap: 32px; flex-wrap: wrap; justify-content: center; }
.pf-product-trust-item { font-size: 13px; color: var(--pf-forest); display: flex; align-items: center; gap: 7px; font-weight: 700; }
.pf-product-trust-item::before { content: '·'; color: var(--pf-sage); font-size: 20px; line-height: 1; }
.pf-product-section { padding-block: 72px; }
.pf-product-section--cream { background: var(--pf-warm-care); border-block: 1px solid var(--pf-border); }
.pf-product-section--mist { background: var(--pf-mist); border-block: 1px solid var(--pf-border); }
.pf-product-section--linen { background: var(--pf-linen); border-block: 1px solid var(--pf-border); }
.pf-product-section-inner { max-width: 860px; margin: 0 auto; padding: 0 40px; }
.pf-product-section h2 { font-family: var(--font-head); font-size: 32px; color: var(--pf-ink); margin-bottom: 16px; line-height: 1.2; }
.pf-product-section p { color: var(--pf-muted); font-size: 16px; line-height: 1.65; margin: 0 0 16px; }
.pf-relevance-list { list-style: none; display: grid; gap: 13px; margin: 20px 0; }
.pf-relevance-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; color: var(--pf-ink); line-height: 1.5; }
.pf-relevance-list li::before { content: ''; width: 20px; height: 20px; border-radius: 50%; background: var(--pf-forest); flex-shrink: 0; margin-top: 2px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.5 10l4 4L15.5 7' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E"); background-size: contain; }
.pf-safety-note { background: rgba(215,168,75,.1); border: 1px solid var(--pf-gold); border-radius: 8px; padding: 12px 16px; font-size: 14px; color: var(--pf-ink); line-height: 1.55; }
.pf-routine-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 24px; }
.pf-routine-card { background: #fff; border: 1px solid var(--pf-border); border-radius: 8px; padding: 20px 22px; }
.pf-routine-card h3 { font-family: var(--font-head); font-size: 18px; color: var(--pf-forest); margin-bottom: 10px; line-height: 1.3; }
.pf-routine-card p { font-size: 14px; color: var(--pf-muted); line-height: 1.6; }
.pf-routine-card a { display: inline-block; margin-top: 14px; font-size: 14px; color: var(--pf-clay); font-weight: 700; text-decoration: none; }
.pf-sub-plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 24px 0; }
.pf-sub-plan-card { border: 1.5px solid var(--pf-border); border-radius: 8px; padding: 20px 18px; background: #fff; display: grid; gap: 6px; }
.pf-sub-plan-card--featured { border-color: var(--pf-forest); }
.pf-sub-plan-name { font-weight: 700; font-size: 15px; color: var(--pf-ink); }
.pf-sub-plan-disc { font-family: var(--font-head); font-size: 28px; color: var(--pf-forest); }
.pf-sub-plan-cadence { font-size: 13px; color: var(--pf-muted); }
.pf-sub-note-list { display: grid; gap: 8px; margin-top: 4px; }
.pf-sub-note-row { font-size: 14px; color: var(--pf-muted); display: flex; gap: 8px; }
.pf-sub-note-row::before { content: '✓'; color: var(--pf-forest); font-weight: 700; flex-shrink: 0; }
.pf-purchase-calm { background: var(--pf-linen); border-top: 1px solid var(--pf-border); padding-block: 72px; }
.pf-calm-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.pf-calm-card { background: #fff; border: 1px solid var(--pf-border); border-radius: 8px; padding: 24px 20px; }
.pf-calm-card h3 { font-size: 15px; font-weight: 700; color: var(--pf-forest); margin-bottom: 8px; }
.pf-calm-card p { font-size: 14px; color: var(--pf-muted); line-height: 1.6; }
.pf-calm-card a { display: inline-block; margin-top: 12px; font-size: 13px; color: var(--pf-clay); font-weight: 700; text-decoration: none; }
.pf-checkout-hero {
background: var(--pf-linen);
border-block-end: 1px solid var(--pf-border);
padding-block: 64px 44px;
}
.pf-checkout-hero-inner {
display: grid;
gap: 16px;
inline-size: min(860px, calc(100% - 48px));
margin-inline: auto;
text-align: center;
}
.pf-checkout-hero-inner .pf-badge {
justify-self: center;
}
.pf-checkout-hero h1 {
font-size: clamp(34px, 4vw, 52px);
line-height: 1.08;
margin: 0;
}
.pf-checkout-hero p {
color: var(--pf-muted);
font-size: 17px;
line-height: 1.6;
margin: 0;
}
.pf-checkout-content {
background: var(--pf-warm-care);
padding-block: 56px;
}
.pf-checkout-content-inner {
align-items: start;
display: grid;
gap: 28px;
grid-template-columns: minmax(0, 1fr) 300px;
inline-size: min(var(--pf-content), calc(100% - 48px));
margin-inline: auto;
}
.pf-checkout-main {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
box-shadow: var(--pf-shadow-soft);
min-inline-size: 0;
padding: 24px;
}
.pf-checkout-side {
display: grid;
gap: 16px;
position: sticky;
top: 96px;
}
.pf-checkout-side-card {
box-shadow: none;
display: grid;
gap: 10px;
padding: 20px;
}
.pf-checkout-side-card h2 {
font-family: Inter, system-ui, sans-serif;
font-size: 15px;
font-weight: 900;
margin: 0 0 4px;
}
.pf-checkout-side-card a {
color: var(--pf-clay);
font-size: 14px;
font-weight: 900;
text-decoration: none;
}
.pf-checkout-side-card a:hover,
.pf-checkout-side-card a:focus-visible {
color: var(--pf-clay-dark);
text-decoration: underline;
text-underline-offset: 3px;
}
.pf-checkout-side-card ol {
color: var(--pf-muted);
display: grid;
font-size: 14px;
gap: 8px;
line-height: 1.45;
margin: 0;
padding-inline-start: 18px;
}
.pf-checkout-main .woocommerce,
.pf-checkout-main .wc-block-cart,
.pf-checkout-main .wc-block-checkout {
max-inline-size: 100%;
}
.pf-cart-empty-state {
align-content: center;
display: grid;
gap: 16px;
justify-items: start;
min-block-size: 260px;
}
.pf-cart-empty-state h2 {
font-family: var(--font-head);
font-size: clamp(28px, 3vw, 38px);
line-height: 1.15;
margin: 0;
}
.pf-cart-empty-state p {
color: var(--pf-muted);
font-size: 16px;
line-height: 1.6;
margin: 0;
max-inline-size: 620px;
}
.pf-cart-empty-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-block-start: 4px;
}
.pf-checkout-progress {
background: var(--pf-white);
border-block-end: 1px solid var(--pf-border);
}
.pf-checkout-progress-inner {
align-items: center;
color: var(--pf-muted);
display: flex;
flex-wrap: wrap;
font-size: 13px;
font-weight: 800;
gap: 10px;
inline-size: min(var(--pf-content), calc(100% - 48px));
letter-spacing: 0;
margin-inline: auto;
padding-block: 13px;
}
.pf-checkout-progress-inner a,
.pf-checkout-progress-inner strong {
color: var(--pf-forest);
text-decoration: none;
}
.pf-checkout-progress-inner a:hover,
.pf-checkout-progress-inner a:focus-visible {
color: var(--pf-clay);
text-decoration: underline;
text-underline-offset: 3px;
}
.pf-checkout-side-card p {
color: var(--pf-muted);
font-size: 14px;
line-height: 1.5;
margin: 0;
}
.pf-checkout-side-card--steps,
.pf-checkout-side-card--reassurance,
.pf-checkout-empty-guide {
border-color: rgba(143, 174, 154, 0.55);
}
.pf-checkout-mini-list {
color: var(--pf-muted);
display: grid;
font-size: 14px;
gap: 8px;
line-height: 1.45;
list-style: none;
margin: 0;
padding: 0;
}
.pf-checkout-mini-list li {
align-items: flex-start;
display: flex;
gap: 8px;
}
.pf-checkout-mini-list li::before {
color: var(--pf-forest);
content: '✓';
flex: 0 0 auto;
font-weight: 900;
}
.pf-purchase-route-band {
background: var(--pf-linen);
border-block-start: 1px solid var(--pf-border);
padding-block: 54px 64px;
}
.pf-purchase-route-inner {
display: grid;
gap: 22px;
inline-size: min(var(--pf-content), calc(100% - 48px));
margin-inline: auto;
}
.pf-purchase-route-head {
display: grid;
gap: 10px;
}
.pf-purchase-route-head h2 {
font-family: var(--font-head);
font-size: clamp(28px, 3vw, 38px);
line-height: 1.15;
margin: 0;
}
.pf-purchase-route-grid {
display: grid;
gap: 16px;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pf-purchase-route-grid--four {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.pf-purchase-route-card {
display: grid;
gap: 8px;
min-block-size: 142px;
padding: 22px;
text-decoration: none;
transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.pf-purchase-route-card:hover,
.pf-purchase-route-card:focus-visible {
border-color: var(--pf-sage);
box-shadow: var(--pf-shadow-hover);
color: var(--pf-ink);
text-decoration: none;
transform: translateY(-2px);
}
.pf-purchase-route-card strong {
color: var(--pf-forest);
font-size: 17px;
font-weight: 900;
line-height: 1.25;
}
.pf-purchase-route-card span {
color: var(--pf-muted);
font-size: 14px;
line-height: 1.5;
}
.pf-account-hero {
background: var(--pf-linen);
border-block-end: 1px solid var(--pf-border);
padding-block: 64px 42px;
}
.pf-account-hero-inner {
display: grid;
gap: 16px;
inline-size: min(900px, calc(100% - 48px));
margin-inline: auto;
text-align: center;
}
.pf-account-hero-inner .pf-badge {
justify-self: center;
}
.pf-account-hero h1 {
font-size: clamp(34px, 4vw, 52px);
line-height: 1.08;
margin: 0;
}
.pf-account-hero p {
color: var(--pf-muted);
font-size: 17px;
line-height: 1.6;
margin: 0;
}
.pf-account-content {
background: var(--pf-warm-care);
padding-block: 56px;
}
.pf-account-content-inner {
align-items: start;
display: grid;
gap: 28px;
grid-template-columns: minmax(0, 1fr) 300px;
inline-size: min(var(--pf-content), calc(100% - 48px));
margin-inline: auto;
}
.pf-account-main {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
box-shadow: var(--pf-shadow-soft);
min-inline-size: 0;
padding: 28px;
}
.pf-account-side {
display: grid;
gap: 16px;
position: sticky;
top: 96px;
}
.pf-account-side-card {
box-shadow: none;
display: grid;
gap: 10px;
padding: 20px;
}
.pf-account-side-card h2 {
font-family: Inter, system-ui, sans-serif;
font-size: 15px;
font-weight: 900;
margin: 0 0 4px;
}
.pf-account-side-card a {
color: var(--pf-clay);
font-size: 14px;
font-weight: 900;
text-decoration: none;
}
.pf-account-side-card a:hover,
.pf-account-side-card a:focus-visible {
color: var(--pf-clay-dark);
text-decoration: underline;
text-underline-offset: 3px;
}
.pf-account-main .woocommerce {
max-inline-size: 100%;
}
.pf-account-main .woocommerce h2,
.pf-account-main .woocommerce h3 {
color: var(--pf-ink);
font-family: var(--font-head);
line-height: 1.2;
margin-block: 0 16px;
}
.pf-account-main .woocommerce form.login,
.pf-account-main .woocommerce form.register,
.pf-account-main .woocommerce-MyAccount-content,
.pf-account-main .woocommerce-MyAccount-navigation {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: 8px;
padding: 24px 26px;
}
.pf-account-main .woocommerce form.login .form-row,
.pf-account-main .woocommerce form.register .form-row {
display: grid;
gap: 6px;
margin-block-end: 16px;
}
.pf-account-main .woocommerce form.login .lost_password,
.pf-account-main .woocommerce form.register .lost_password {
margin-block: 4px 0;
}
.pf-account-main .woocommerce form.login .lost_password a,
.pf-account-main .woocommerce form.register .lost_password a,
.pf-account-main .woocommerce-LostPassword a {
color: var(--pf-forest);
font-size: 14px;
font-weight: 700;
text-underline-offset: 3px;
}
.pf-account-main .woocommerce .woocommerce-privacy-policy-text {
color: var(--pf-muted);
font-size: 13px;
line-height: 1.55;
margin-block: 8px 0;
}
.pf-account-main .woocommerce form.login .woocommerce-form-login__rememberme,
.pf-account-main .woocommerce form.register .woocommerce-form__label-for-checkbox {
align-items: center;
color: var(--pf-ink);
display: inline-flex;
font-size: 14px;
gap: 8px;
}
.pf-account-main .woocommerce form .form-row label {
color: var(--pf-ink);
font-size: 14px;
font-weight: 800;
}
.pf-account-main .woocommerce input.input-text,
.pf-account-main .woocommerce textarea,
.pf-account-main .woocommerce select {
border: 1px solid var(--pf-border);
border-radius: 6px;
color: var(--pf-ink);
min-block-size: 44px;
padding: 10px 12px;
}
.pf-account-main .woocommerce button.button,
.pf-account-main .woocommerce a.button {
background: var(--pf-clay);
border-radius: 6px;
color: var(--pf-white);
font-weight: 900;
padding: 12px 18px;
}
.pf-account-main .woocommerce button.button:hover,
.pf-account-main .woocommerce a.button:hover {
background: var(--pf-clay-dark);
color: var(--pf-white);
}
.pf-account-main .woocommerce-MyAccount-navigation ul {
display: grid;
gap: 6px;
list-style: none;
margin: 0;
padding: 0;
}
.pf-account-main .woocommerce-MyAccount-navigation a {
background: var(--pf-linen);
border: 1px solid var(--pf-border);
border-radius: 6px;
color: var(--pf-ink);
display: block;
font-weight: 800;
padding: 10px 12px;
text-decoration: none;
}
.pf-account-main .woocommerce-MyAccount-navigation .is-active a,
.pf-account-main .woocommerce-MyAccount-navigation a:hover,
.pf-account-main .woocommerce-MyAccount-navigation a:focus-visible {
background: var(--pf-mist);
border-color: var(--pf-sage);
color: var(--pf-forest);
}
@media (max-width: 1100px) {
.pf-purchase-route-grid,
.pf-purchase-route-grid--four {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pf-account-content-inner {
grid-template-columns: 1fr;
}
.pf-account-side {
position: static;
}
}
@media (max-width: 720px) {
.pf-checkout-progress-inner,
.pf-purchase-route-inner,
.pf-account-content-inner {
inline-size: calc(100% - 36px);
}
.pf-purchase-route-grid,
.pf-purchase-route-grid--four {
grid-template-columns: 1fr;
}
.pf-purchase-route-card {
min-block-size: 118px;
}
.pf-account-main {
padding: 16px;
}
.pf-checkout-main .woocommerce .col2-set .col-1,
.pf-checkout-main .woocommerce .col2-set .col-2,
.pf-checkout-main .woocommerce form .form-row-first,
.pf-checkout-main .woocommerce form .form-row-last {
float: none;
inline-size: 100%;
}
.pf-checkout-main .woocommerce form .form-row {
margin-block-end: 14px;
}
.pf-checkout-main .woocommerce input.input-text,
.pf-checkout-main .woocommerce textarea,
.pf-checkout-main .woocommerce select {
inline-size: 100%;
min-block-size: 42px;
}
}
.pf-bundle-hero { background: var(--pf-linen); padding-block: 56px 72px; border-bottom: 1px solid var(--pf-border); }
.pf-bundle-hero-inner { max-width: 1180px; margin: 0 auto; padding: 0 40px; display: grid; grid-template-columns: 1fr 420px; gap: 0 56px; }
.pf-bundle-hero-copy { display: grid; gap: 18px; }
.pf-bundle-hero-copy h1 { font-family: var(--font-head); font-size: clamp(38px, 4vw, 56px); line-height: 1.08; margin: 0; }
.pf-bundle-hero-intro { color: var(--pf-muted); font-size: 17px; line-height: 1.65; margin: 0; }
.pf-bundle-buy-box { background: #fff; border: 1px solid var(--pf-border); border-radius: 8px; padding: 26px; display: grid; gap: 16px; position: sticky; top: 84px; align-self: start; box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.pf-product-media--bundle { background: var(--pf-linen); border: 1px solid var(--pf-border); border-radius: 8px; display: grid; min-block-size: 220px; padding: 16px; place-items: center; }
.pf-product-media--bundle img { max-block-size: 180px; object-fit: contain; }
.pf-first-month-badge { display: inline-block; background: var(--pf-gold); color: var(--pf-ink); font-size: 11px; font-weight: 900; letter-spacing: .08em; padding: 4px 10px; border-radius: 4px; }
.pf-bundle-hero-price { font-family: var(--font-head); font-size: 42px; color: var(--pf-ink); line-height: 1; margin: 4px 0; }
.pf-bundle-recurring { font-size: 14px; color: var(--pf-muted); }
.pf-bundle-recurring strong { color: var(--pf-ink); }
.pf-billing-toggle { display: flex; background: var(--pf-mist); border-radius: 8px; padding: 3px; gap: 2px; }
.pf-billing-btn { flex: 1; padding: 8px 10px; font-family: var(--font-body); font-size: 13px; font-weight: 700; border: none; border-radius: 6px; cursor: pointer; background: transparent; color: var(--pf-muted); transition: all .15s; }
.pf-billing-btn.active { background: #fff; color: var(--pf-forest); box-shadow: 0 1px 4px rgba(0,0,0,.1); }
.pf-bundle-cta-main { width: 100%; padding: 14px; font-size: 16px; font-family: var(--font-body); font-weight: 700; background: var(--pf-clay); color: white; border: none; border-radius: 6px; cursor: pointer; }
.pf-bundle-trust-list { display: grid; gap: 7px; border-top: 1px solid var(--pf-border); padding-top: 14px; }
.pf-bundle-trust-row { font-size: 13px; color: var(--pf-muted); display: flex; gap: 7px; }
.pf-bundle-trust-row::before { content: '✓'; color: var(--pf-forest); font-weight: 700; flex-shrink: 0; }
.pf-switcher-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pf-switcher-card { border: 2px solid var(--pf-border); border-radius: 8px; padding: 22px 24px; background: #fff; color: var(--pf-ink); text-decoration: none; }
.pf-switcher-card:hover, .pf-switcher-card:focus-visible { border-color: var(--pf-sage); color: var(--pf-ink); text-decoration: none; }
.pf-switcher-card--active { border-color: var(--pf-forest); background: var(--pf-mist); }
.pf-switcher-card h3 { font-family: var(--font-head); font-size: 20px; color: var(--pf-ink); margin: 8px 0 10px; }
.pf-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 32px; }
.pf-cat-card { background: #fff; border: 1px solid var(--pf-border); border-radius: 8px; padding: 20px 22px; }
.pf-cat-card--also { border-top: 3px solid var(--pf-sage); }
.pf-cat-card--kozepso { border-top: 3px solid var(--pf-gold); }
.pf-cat-card--felso { border-top: 3px solid var(--pf-forest); }
.pf-cat-level { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; }
.pf-cat-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.pf-chip { font-size: 12px; color: var(--pf-ink); background: var(--pf-linen); border: 1px solid var(--pf-border); border-radius: 99px; padding: 3px 10px; }
.pf-rotation-logic { background: var(--pf-mist); border-radius: 8px; padding: 18px 22px; font-size: 15px; color: var(--pf-ink); line-height: 1.6; }
.pf-rotation-table { width: 100%; border-collapse: collapse; margin-top: 20px; font-size: 14px; }
.pf-rotation-table th { background: var(--pf-forest); color: #fff; text-align: left; padding: 10px 14px; font-size: 13px; font-weight: 700; border: 1px solid var(--pf-border); }
.pf-rotation-table td { padding: 10px 14px; color: var(--pf-ink); border: 1px solid var(--pf-border); vertical-align: top; }
.pf-rotation-tag { display: inline-block; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 99px; white-space: nowrap; }
.pf-rotation-tag--also { background: rgba(143,174,154,.2); color: #4a7d5e; }
.pf-rotation-tag--kozepso { background: rgba(215,168,75,.15); color: #b87e12; }
.pf-rotation-tag--felso { background: rgba(49,92,69,.12); color: var(--pf-forest); }
.pf-value-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; }
.pf-value-card { background: #fff; border: 1px solid var(--pf-border); border-radius: 8px; padding: 24px 26px; }
.pf-value-card h3 { font-family: var(--font-head); font-size: 20px; color: var(--pf-ink); margin-bottom: 10px; }
.pf-value-row { display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; color: var(--pf-muted); padding-block: 6px; border-bottom: 1px solid var(--pf-border); }
.pf-value-row:last-child { border: none; font-weight: 700; color: var(--pf-forest); font-size: 16px; }
.pf-info-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.pf-info-chip { background: #fff; border: 1px solid var(--pf-border); border-radius: 8px; padding: 12px 16px; font-size: 14px; color: var(--pf-ink); display: flex; align-items: center; gap: 8px; text-decoration: none; }
.pf-info-chip:hover, .pf-info-chip:focus-visible { border-color: var(--pf-forest); color: var(--pf-ink); text-decoration: none; }
.pf-info-chip::before { content: '✓'; color: var(--pf-forest); font-weight: 700; flex-shrink: 0; }
.pf-mission-hero { background: var(--pf-linen); padding-block: 80px 64px; border-bottom: 1px solid var(--pf-border); }
.pf-mission-hero-inner { max-width: 1180px; margin: 0 auto; padding: 0 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.pf-mission-hero-copy { display: grid; gap: 18px; }
.pf-mission-hero-copy h1 { font-family: var(--font-head); font-size: 50px; line-height: 1.1; color: var(--pf-ink); }
.pf-mission-hero-intro { font-size: 18px; color: var(--pf-muted); line-height: 1.65; }
.pf-mission-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.pf-pull-quote { font-family: var(--font-head); font-size: 28px; color: var(--pf-forest); line-height: 1.25; border-left: 4px solid var(--pf-forest); padding-left: 20px; }
.pf-partner-card { background: #fff; border: 1px solid var(--pf-border); border-radius: 8px; padding: 32px 36px; display: grid; grid-template-columns: 180px 1fr; gap: 36px; align-items: start; }
.pf-partner-copy h3 { font-family: var(--font-head); font-size: 26px; color: var(--pf-ink); margin-bottom: 12px; }
.pf-partner-copy p { font-size: 15px; color: var(--pf-muted); line-height: 1.7; margin-bottom: 10px; }
.pf-partner-note { font-size: 13px; color: var(--pf-muted); font-style: italic; border-top: 1px solid var(--pf-border); padding-top: 12px; margin-top: 8px; }
.pf-flow { display: grid; gap: 0; }
.pf-flow-step { display: grid; grid-template-columns: 48px 1fr; gap: 20px; padding-bottom: 32px; }
.pf-flow-step:last-child { padding-bottom: 0; }
.pf-flow-num-col { display: flex; flex-direction: column; align-items: center; }
.pf-flow-num { width: 40px; height: 40px; border-radius: 50%; background: var(--pf-forest); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; flex-shrink: 0; }
.pf-flow-line { width: 2px; flex: 1; background: var(--pf-border); margin-top: 4px; min-height: 32px; }
.pf-flow-step:last-child .pf-flow-line { display: none; }
.pf-flow-content { padding-top: 8px; }
.pf-flow-content h3 { font-size: 16px; font-weight: 700; color: var(--pf-ink); margin-bottom: 6px; }
.pf-flow-content p { font-size: 15px; color: var(--pf-muted); line-height: 1.6; }
.pf-needs-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 24px; }
.pf-need-card { background: #fff; border: 1px solid var(--pf-border); border-radius: 8px; padding: 18px 16px; display: grid; gap: 8px; }
.pf-need-icon { width: 36px; height: 36px; border-radius: 50%; background: var(--pf-mist); display: flex; align-items: center; justify-content: center; font-size: 18px; }
.pf-need-card p { font-size: 14px; color: var(--pf-ink); line-height: 1.5; }
.pf-stats-block { background: #fff; border: 1px solid var(--pf-border); border-radius: 8px; padding: 32px 36px; display: grid; gap: 20px; }
.pf-stats-block h3 { font-family: var(--font-head); font-size: 22px; color: var(--pf-ink); }
.pf-stats-row { display: flex; gap: 40px; flex-wrap: wrap; }
.pf-stat-item { display: grid; gap: 4px; }
.pf-stat-value { font-family: var(--font-head); font-size: 32px; color: var(--pf-forest); }
.pf-stat-label { font-size: 14px; color: var(--pf-muted); }
.pf-stats-transparency-note { font-size: 14px; color: var(--pf-muted); border-top: 1px solid var(--pf-border); padding-top: 16px; line-height: 1.6; }
.pf-club-hero { background: var(--pf-linen); padding-block: 80px 64px; border-bottom: 1px solid var(--pf-border); }
.pf-club-hero-inner { max-width: 1180px; margin: 0 auto; padding: 0 40px; display: grid; grid-template-columns: 1fr 400px; gap: 56px; align-items: start; }
.pf-club-hero-copy { display: grid; gap: 18px; }
.pf-club-hero-copy h1 { font-family: var(--font-head); font-size: 46px; line-height: 1.1; color: var(--pf-ink); }
.pf-club-hero-intro { font-size: 17px; color: var(--pf-muted); line-height: 1.65; }
.pf-offer-box { background: #fff; border: 2px solid var(--pf-forest); border-radius: 8px; padding: 28px; display: grid; gap: 16px; position: sticky; top: 84px; box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.pf-offer-box-price { font-family: var(--font-head); font-size: 44px; color: var(--pf-forest); line-height: 1; }
.pf-offer-box-cadence { font-size: 15px; color: var(--pf-muted); }
.pf-offer-box h2 { font-family: var(--font-head); font-size: 18px; color: var(--pf-ink); }
.pf-offer-box-bullets { list-style: none; display: grid; gap: 9px; }
.pf-offer-box-bullets li { display: flex; gap: 9px; font-size: 14px; color: var(--pf-ink); align-items: flex-start; }
.pf-offer-box-bullets li::before { content: '✓'; color: var(--pf-forest); font-weight: 700; flex-shrink: 0; }
.pf-offer-cta { width: 100%; padding: 14px; font-size: 16px; font-family: var(--font-body); font-weight: 700; background: var(--pf-clay); color: white; border: none; border-radius: 6px; cursor: pointer; text-align: center; text-decoration: none; display: block; }
.pf-offer-note { font-size: 13px; color: var(--pf-muted); text-align: center; line-height: 1.5; }
.pf-benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pf-benefit-card { background: #fff; border: 1px solid var(--pf-border); border-radius: 8px; padding: 24px 22px; display: grid; gap: 12px; }
.pf-benefit-icon { width: 44px; height: 44px; border-radius: 50%; background: var(--pf-mist); display: flex; align-items: center; justify-content: center; font-size: 20px; }
.pf-benefit-card h3 { font-size: 16px; font-weight: 700; color: var(--pf-forest); }
.pf-benefit-card p { font-size: 14px; color: var(--pf-muted); line-height: 1.6; }
.pf-membership-table { width: 100%; border-collapse: collapse; margin-top: 20px; }
.pf-membership-table th { background: var(--pf-mist); text-align: left; padding: 12px 16px; font-size: 13px; font-weight: 700; color: var(--pf-forest); border: 1px solid var(--pf-border); }
.pf-membership-table td { padding: 12px 16px; font-size: 14px; color: var(--pf-ink); border: 1px solid var(--pf-border); vertical-align: top; }
.pf-membership-table tr:nth-child(even) td { background: rgba(0,0,0,.018); }
@media (max-width: 1100px) {
.pf-product-hero-inner { grid-template-columns: 1fr 1fr; gap: 0 36px; }
.pf-bundle-hero-inner { grid-template-columns: 1fr 380px; gap: 0 32px; }
.pf-checkout-content-inner { grid-template-columns: 1fr; }
.pf-checkout-side { position: static; }
.pf-routine-grid { grid-template-columns: 1fr 1fr; }
.pf-sub-plan-grid { grid-template-columns: 1fr 1fr 1fr; }
.pf-cat-grid { grid-template-columns: 1fr 1fr; }
.pf-value-grid { grid-template-columns: 1fr; }
.pf-calm-grid { grid-template-columns: 1fr 1fr; }
.pf-needs-grid { grid-template-columns: 1fr 1fr; }
.pf-benefit-grid { grid-template-columns: 1fr 1fr; }
.pf-mission-hero-inner { grid-template-columns: 1fr; gap: 32px; }
.pf-club-hero-inner { grid-template-columns: 1fr 360px; }
.pf-partner-card { grid-template-columns: 1fr; }
.pf-switcher-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
.pf-product-hero-inner { grid-template-columns: 1fr; }
.pf-product-hero-inner { grid-template-areas: "crumb" "media" "buybox"; }
.pf-buy-box { position: static; }
.pf-bundle-hero-inner { grid-template-columns: 1fr; }
.pf-bundle-buy-box { position: static; }
.pf-checkout-main { padding: 16px; }
.pf-checkout-content-inner { inline-size: calc(100% - 36px); }
.pf-routine-grid { grid-template-columns: 1fr; }
.pf-sub-plan-grid { grid-template-columns: 1fr; }
.pf-cat-grid { grid-template-columns: 1fr; }
.pf-calm-grid { grid-template-columns: 1fr 1fr; }
.pf-needs-grid { grid-template-columns: 1fr 1fr; }
.pf-benefit-grid { grid-template-columns: 1fr; }
.pf-club-hero-inner { grid-template-columns: 1fr; }
.pf-offer-box { position: static; }
.pf-switcher-grid { grid-template-columns: 1fr; }
.pf-product-trust-bar-inner { padding-inline: 20px; gap: 14px; }
.pf-mission-hero-copy h1 { font-size: 36px; }
.pf-club-hero-copy h1 { font-size: 34px; }
}
@media (max-width: 390px) {
.pf-product-hero-inner, .pf-bundle-hero-inner,
.pf-mission-hero-inner, .pf-club-hero-inner { padding-inline: 16px; }
.pf-product-section-inner { padding-inline: 16px; }
.pf-calm-grid { grid-template-columns: 1fr; }
.pf-needs-grid { grid-template-columns: 1fr; }
}
.pf-reassure-list {
list-style: none;
display: grid;
gap: 10px;
margin: 18px 0 0;
padding: 0;
}
.pf-reassure-list li {
display: flex;
gap: 10px;
font-size: 15px;
color: var(--pf-ink);
line-height: 1.6;
align-items: flex-start;
}
.pf-reassure-list li::before {
content: '✓';
color: var(--pf-forest);
font-weight: 700;
flex-shrink: 0;
}
.pf-club-steps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
margin-top: 18px;
}
.pf-club-step {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
padding: 22px 22px 24px;
display: grid;
gap: 8px;
}
.pf-club-step-num {
font-family: var(--pf-font-head);
font-size: 22px;
color: var(--pf-forest);
line-height: 1;
}
.pf-club-step h3 {
font-family: var(--pf-font-head);
font-size: 17px;
color: var(--pf-ink);
margin: 0;
}
.pf-club-step p {
font-size: 14px;
color: var(--pf-muted);
line-height: 1.6;
margin: 0;
}
.pf-mission-paths {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
margin-top: 16px;
}
.pf-mission-path-card {
background: var(--pf-white);
border: 1.5px solid var(--pf-border);
border-radius: var(--pf-radius-card);
padding: 22px 24px;
display: grid;
gap: 8px;
text-decoration: none;
color: inherit;
transition: border-color .15s, box-shadow .15s;
}
.pf-mission-path-card:hover {
border-color: var(--pf-forest);
box-shadow: 0 4px 14px rgba(38, 48, 43, 0.08);
}
.pf-mission-path-card--featured {
border-color: var(--pf-forest);
background: var(--pf-mist);
}
.pf-mission-path-tag {
display: inline-block;
font-size: 11px;
font-weight: 700;
color: var(--pf-forest);
text-transform: uppercase;
letter-spacing: .07em;
}
.pf-mission-path-card h3 {
font-family: var(--pf-font-head);
font-size: 18px;
color: var(--pf-ink);
margin: 0;
}
.pf-mission-path-card p {
font-size: 14px;
color: var(--pf-muted);
line-height: 1.6;
margin: 0;
}
.pf-route-arrow {
font-size: 13px;
color: var(--pf-clay);
font-weight: 700;
margin-top: 6px;
}
@media (max-width: 1100px) {
.pf-club-steps { grid-template-columns: 1fr 1fr; }
.pf-mission-paths { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
.pf-club-steps { grid-template-columns: 1fr; }
}
.pf-section--cream {
background: var(--pf-warm-care);
}
.pf-section-inner--narrow {
inline-size: min(720px, calc(100% - 48px));
margin-inline: auto;
}
.pf-section-inner .pf-section-kicker,
.pf-section-inner--narrow .pf-section-kicker {
margin-block-end: 12px;
}
.pf-section-inner h2,
.pf-section-inner--narrow h2 {
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: clamp(28px, 3vw, 38px);
line-height: 1.15;
margin: 0 0 18px;
color: var(--pf-ink);
}
.pf-prose {
color: var(--pf-ink);
font-size: 17px;
line-height: 1.7;
}
.pf-prose p { margin: 0 0 18px; }
.pf-prose p:last-child { margin-bottom: 0; }
.pf-story-hero {
background: var(--pf-linen);
border-block-end: 1px solid var(--pf-border);
padding-block: 80px 64px;
}
.pf-story-hero-inner {
align-items: center;
display: grid;
gap: 48px;
grid-template-columns: 1.2fr 0.8fr;
inline-size: min(var(--pf-content), calc(100% - 48px));
margin-inline: auto;
}
.pf-story-hero-copy .pf-badge { margin-bottom: 14px; }
.pf-story-hero-copy h1 {
color: var(--pf-ink);
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: clamp(32px, 4vw, 48px);
line-height: 1.1;
margin: 0 0 18px;
}
.pf-story-hero-intro {
color: var(--pf-muted);
font-size: 17px;
line-height: 1.65;
margin: 0;
}
.pf-story-hero-btns {
display: flex;
flex-wrap: wrap;
gap: 14px;
margin-block-start: 28px;
}
.pf-story-hero-media {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: 12px;
display: grid;
min-block-size: 320px;
overflow: hidden;
padding: 32px;
place-items: center;
text-align: center;
}
.pf-story-hero-media div { color: var(--pf-muted); font-size: 14px; line-height: 1.55; }
.pf-story-hero-media strong {
color: var(--pf-forest);
display: block;
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: 22px;
margin-bottom: 8px;
}
.pf-story-hero-img {
block-size: 100%;
inline-size: 100%;
object-fit: cover;
}
.pf-process-hero {
background: var(--pf-linen);
border-block-end: 1px solid var(--pf-border);
padding-block: 80px 64px;
}
.pf-process-hero-inner {
inline-size: min(820px, calc(100% - 48px));
margin-inline: auto;
text-align: center;
}
.pf-process-hero-copy .pf-badge { margin-bottom: 14px; }
.pf-process-hero-copy h1 {
color: var(--pf-ink);
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: clamp(32px, 4vw, 48px);
line-height: 1.1;
margin: 0 0 18px;
}
.pf-process-hero-intro {
color: var(--pf-muted);
font-size: 17px;
line-height: 1.65;
margin: 0 auto;
max-inline-size: 640px;
}
.pf-process-hero-btns {
display: flex;
flex-wrap: wrap;
gap: 14px;
justify-content: center;
margin-block-start: 28px;
}
.pf-route-block {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: 12px;
display: grid;
gap: 24px;
grid-template-columns: auto 1fr;
margin-block-end: 20px;
padding: 32px;
}
.pf-route-block:last-child { margin-block-end: 0; }
.pf-route-num {
color: var(--pf-clay);
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: 40px;
font-weight: 700;
line-height: 1;
}
.pf-route-block h3 {
color: var(--pf-ink);
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: 22px;
margin: 0 0 12px;
}
.pf-route-block p {
color: var(--pf-muted);
font-size: 16px;
line-height: 1.65;
margin: 0 0 14px;
}
.pf-route-meta {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-block: 16px 18px;
}
.pf-route-chip {
background: var(--pf-mist);
border-radius: 999px;
color: var(--pf-forest);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.02em;
padding: 6px 12px;
}
.pf-route-block-links {
display: flex;
flex-wrap: wrap;
gap: 22px;
}
.pf-route-block-links a {
color: var(--pf-forest);
font-size: 14px;
font-weight: 700;
text-decoration: underline;
text-underline-offset: 4px;
}
.pf-route-block-links a:hover { color: var(--pf-clay); }
.pf-decision-table {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-collapse: separate;
border-radius: 12px;
border-spacing: 0;
inline-size: 100%;
margin-block-start: 24px;
overflow: hidden;
}
.pf-decision-table th,
.pf-decision-table td {
border-block-end: 1px solid var(--pf-border);
font-size: 15px;
line-height: 1.55;
padding: 16px 20px;
text-align: start;
vertical-align: top;
}
.pf-decision-table th {
background: var(--pf-mist);
color: var(--pf-forest);
font-size: 12px;
font-weight: 800;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.pf-decision-table tr:last-child td { border-block-end: 0; }
.pf-decision-when {
color: var(--pf-ink);
font-weight: 600;
}
.pf-decision-link {
color: var(--pf-forest);
font-weight: 700;
text-decoration: underline;
text-underline-offset: 3px;
}
.pf-founder-grid {
display: grid;
gap: 24px;
grid-template-columns: 1fr 1fr;
margin-block-start: 36px;
}
.pf-founder-card {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: 12px;
display: grid;
grid-template-columns: 1fr 0.85fr;
overflow: hidden;
}
.pf-founder-text { padding: 28px; }
.pf-founder-role {
background: var(--pf-mist);
border-radius: 999px;
color: var(--pf-forest);
display: inline-block;
font-size: 11px;
font-weight: 800;
letter-spacing: 0.07em;
padding: 4px 10px;
text-transform: uppercase;
}
.pf-founder-text h3 {
color: var(--pf-ink);
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: 24px;
margin: 12px 0 12px;
}
.pf-founder-text p {
color: var(--pf-muted);
font-size: 15px;
line-height: 1.65;
margin: 0;
}
.pf-founder-image {
background: var(--pf-linen);
display: grid;
min-block-size: 220px;
overflow: hidden;
padding: 24px;
place-items: center;
text-align: center;
}
.pf-founder-image div { color: var(--pf-muted); font-size: 13px; }
.pf-founder-image strong {
color: var(--pf-forest);
display: block;
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: 20px;
margin-bottom: 6px;
}
.pf-founder-photo {
block-size: 100%;
inline-size: 100%;
object-fit: cover;
}
.pf-pillar-grid {
display: grid;
gap: 20px;
grid-template-columns: repeat(3, 1fr);
margin-block-start: 32px;
}
.pf-pillar-card {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: 12px;
padding: 28px;
}
.pf-pillar-number {
color: var(--pf-clay);
display: block;
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: 28px;
font-weight: 700;
line-height: 1;
margin-block-end: 12px;
}
.pf-pillar-card h3 {
color: var(--pf-ink);
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: 20px;
margin: 0 0 12px;
}
.pf-pillar-card p {
color: var(--pf-muted);
font-size: 15px;
line-height: 1.65;
margin: 0;
}
.pf-no-miracle {
background: var(--pf-mist);
border-inline-start: 4px solid var(--pf-forest);
border-radius: 8px;
margin-block-start: 24px;
padding: 32px;
}
.pf-no-miracle h3 {
color: var(--pf-forest);
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: 22px;
margin: 0 0 16px;
}
.pf-no-miracle p {
color: var(--pf-ink);
font-size: 16px;
line-height: 1.7;
margin: 0 0 14px;
}
.pf-no-miracle p:last-child { margin-block-end: 0; }
.pf-shelter-bridge {
align-items: center;
display: grid;
gap: 32px;
grid-template-columns: 1.2fr 0.8fr;
margin-block-start: 24px;
}
.pf-shelter-bridge h3 {
color: var(--pf-ink);
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: 22px;
margin: 0 0 14px;
}
.pf-shelter-bridge p {
color: var(--pf-muted);
font-size: 16px;
line-height: 1.65;
margin: 0 0 14px;
}
.pf-shelter-bridge-links {
display: flex;
flex-wrap: wrap;
gap: 22px;
margin-block-start: 18px;
}
.pf-shelter-bridge-links a {
color: var(--pf-forest);
font-size: 14px;
font-weight: 700;
text-decoration: underline;
text-underline-offset: 4px;
}
.pf-shelter-visual {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: 12px;
display: grid;
min-block-size: 220px;
overflow: hidden;
padding: 32px;
place-items: center;
text-align: center;
}
.pf-shelter-visual div { color: var(--pf-muted); font-size: 13px; line-height: 1.55; }
.pf-shelter-visual strong {
color: var(--pf-forest);
display: block;
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: 18px;
margin-bottom: 8px;
}
.pf-shelter-visual img {
block-size: 100%;
inline-size: 100%;
object-fit: cover;
}
.pf-club-extra {
color: var(--pf-muted);
font-size: 13px;
font-style: italic;
margin-block-start: 8px;
}
@media (max-width: 1100px) {
.pf-story-hero-inner { grid-template-columns: 1fr; gap: 32px; }
.pf-pillar-grid { grid-template-columns: 1fr 1fr; }
.pf-founder-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
.pf-story-hero { padding-block: 64px 48px; }
.pf-process-hero { padding-block: 64px 48px; }
.pf-founder-card { grid-template-columns: 1fr; }
.pf-pillar-grid { grid-template-columns: 1fr; }
.pf-shelter-bridge { grid-template-columns: 1fr; }
.pf-route-block { grid-template-columns: 1fr; padding: 24px; gap: 16px; }
.pf-route-num { font-size: 32px; }
.pf-decision-table th,
.pf-decision-table td { padding: 12px 14px; font-size: 14px; }
.pf-no-miracle { padding: 24px; }
}
@media (max-width: 640px) {
.pf-story-hero-copy h1,
.pf-process-hero-copy h1 { font-size: 30px; }
.pf-route-block { padding: 20px; }
.pf-route-block h3 { font-size: 19px; }
.pf-decision-table { font-size: 13px; }
.pf-decision-table th { font-size: 11px; }
}
.pf-list-price {
align-items: baseline;
display: flex;
gap: 10px;
flex-wrap: wrap;
}
.pf-list-price-label { display: none; }
.pf-list-price .from { display: none; }
.pf-list-price .subscription-details { display: none; }
.woocommerce-variation-price .subscription-details { display: none; }
.pf-list-price-value {
color: var(--pf-ink);
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: 28px;
font-weight: 700;
line-height: 1;
}
.pf-list-price-value .woocommerce-Price-amount { color: var(--pf-ink); }
.pf-list-price-value del { color: var(--pf-muted); font-size: 18px; margin-inline-end: 6px; }
.pf-list-price-value ins { background: transparent; text-decoration: none; }
.pf-data-table {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-collapse: separate;
border-radius: 12px;
border-spacing: 0;
inline-size: 100%;
margin-block-start: 20px;
overflow: hidden;
}
.pf-data-table th,
.pf-data-table td {
border-block-end: 1px solid var(--pf-border);
font-size: 15px;
line-height: 1.55;
padding: 14px 18px;
text-align: start;
vertical-align: top;
}
.pf-data-table th {
background: var(--pf-mist);
color: var(--pf-forest);
font-size: 12px;
font-weight: 800;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.pf-data-table tr:last-child td { border-block-end: 0; }
.pf-data-table td strong { color: var(--pf-ink); }
.pf-prototype-note {
color: var(--pf-muted);
font-size: 13px;
font-style: italic;
line-height: 1.55;
margin-block-start: 12px;
}
.pf-bundle-cta-section {
background: var(--pf-mist);
border-block: 1px solid var(--pf-border);
padding-block: 56px;
}
.pf-bundle-cta-inner {
inline-size: min(720px, calc(100% - 48px));
margin-inline: auto;
text-align: center;
}
.pf-bundle-cta-inner h2 {
color: var(--pf-ink);
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: clamp(24px, 2.8vw, 32px);
line-height: 1.2;
margin: 0 0 14px;
}
.pf-bundle-cta-inner p {
color: var(--pf-muted);
font-size: 16px;
line-height: 1.65;
margin: 0 auto 24px;
max-inline-size: 560px;
}
.pf-bundle-cta-btns {
display: flex;
flex-wrap: wrap;
gap: 14px;
justify-content: center;
}
.pf-cat-card h3 {
color: var(--pf-ink);
font-family: var(--pf-font-head, Fraunces, Georgia, serif);
font-size: 18px;
line-height: 1.25;
margin: 4px 0 10px;
}
.pf-cat-card p {
color: var(--pf-muted);
font-size: 14px;
line-height: 1.55;
margin: 0 0 12px;
}
.pf-cat-card--also .pf-cat-level { color: var(--pf-sage); }
.pf-cat-card--kozepso .pf-cat-level { color: var(--pf-gold); }
.pf-cat-card--felso .pf-cat-level { color: var(--pf-forest); }
.pf-bundle-hero-copy .pf-badge { align-self: start; }
.pf-bundle-hero-copy .pf-bullet-list { color: var(--pf-muted); display: grid; gap: 10px; list-style: none; margin: 4px 0 0; padding: 0; }
.pf-bundle-hero-copy .pf-bullet-list li {
display: block;
font-size: 15px;
line-height: 1.6;
padding-inline-start: 30px;
position: relative;
grid-template-columns: none;
gap: 0;
color: var(--pf-muted);
}
.pf-bundle-hero-copy .pf-bullet-list li::before {
background: var(--pf-mist);
border-radius: 999px;
color: var(--pf-forest);
content: '✓';
display: grid;
font-size: 12px;
font-weight: 800;
inline-size: 22px;
min-block-size: 22px;
inset-inline-start: 0;
inset-block-start: 2px;
place-items: center;
position: absolute;
}
.pf-buy-box .pf-badge { align-self: start; }
.pf-buy-box form.cart,
.pf-bundle-buy-box form.cart {
display: grid;
gap: 12px;
margin: 0;
}
.pf-buy-box form.cart .quantity,
.pf-bundle-buy-box form.cart .quantity {
display: flex;
align-items: center;
gap: 10px;
margin: 0;
}
.pf-buy-box form.cart .quantity .qty,
.pf-bundle-buy-box form.cart .quantity .qty,
.pf-buy-box form.cart input.qty,
.pf-bundle-buy-box form.cart input.qty {
inline-size: 80px;
padding: 10px 12px;
border: 1px solid var(--pf-border);
border-radius: 6px;
background: #fff;
color: var(--pf-ink);
font-family: var(--font-body);
font-size: 16px;
line-height: 1.2;
box-shadow: none;
-moz-appearance: textfield;
}
.pf-buy-box form.cart .quantity .qty::-webkit-outer-spin-button,
.pf-bundle-buy-box form.cart .quantity .qty::-webkit-outer-spin-button,
.pf-buy-box form.cart .quantity .qty::-webkit-inner-spin-button,
.pf-bundle-buy-box form.cart .quantity .qty::-webkit-inner-spin-button {
-webkit-appearance: auto;
}
.pf-buy-box form.cart button.single_add_to_cart_button,
.pf-bundle-buy-box form.cart button.single_add_to_cart_button,
.pf-buy-box form.cart .single_add_to_cart_button.button,
.pf-bundle-buy-box form.cart .single_add_to_cart_button.button,
.pf-buy-box form.cart .single_add_to_cart_button.button.alt,
.pf-bundle-buy-box form.cart .single_add_to_cart_button.button.alt {
inline-size: 100%;
padding: 14px 18px;
background: var(--pf-clay);
color: #fff;
border: 1px solid var(--pf-clay);
border-radius: 6px;
font-family: var(--font-body);
font-weight: 700;
font-size: 16px;
line-height: 1.2;
letter-spacing: 0;
text-transform: none;
text-shadow: none;
cursor: pointer;
box-shadow: none;
transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}
.pf-buy-box form.cart button.single_add_to_cart_button:hover,
.pf-bundle-buy-box form.cart button.single_add_to_cart_button:hover,
.pf-buy-box form.cart .single_add_to_cart_button.button:hover,
.pf-bundle-buy-box form.cart .single_add_to_cart_button.button:hover,
.pf-buy-box form.cart .single_add_to_cart_button.button.alt:hover,
.pf-bundle-buy-box form.cart .single_add_to_cart_button.button.alt:hover {
background: var(--pf-clay-dark);
border-color: var(--pf-clay-dark);
color: #fff;
}
.pf-buy-box form.cart button.single_add_to_cart_button:focus-visible,
.pf-bundle-buy-box form.cart button.single_add_to_cart_button:focus-visible {
outline: 3px solid var(--pf-forest);
outline-offset: 2px;
}
.pf-bundle-buy-box .price,
.pf-buy-box .price {
font-family: var(--font-head);
color: var(--pf-ink);
}
.pf-product-section .pf-accordion {
display: grid;
gap: 8px;
margin-block-start: 20px;
}
.pf-product-section .pf-accordion details {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: 8px;
padding: 16px 20px;
}
.pf-product-section .pf-accordion summary {
color: var(--pf-ink);
cursor: pointer;
font-size: 16px;
font-weight: 700;
line-height: 1.4;
list-style: none;
}
.pf-product-section .pf-accordion summary::-webkit-details-marker { display: none; }
.pf-product-section .pf-accordion summary::after {
color: var(--pf-forest);
content: '+';
float: inline-end;
font-size: 22px;
line-height: 1;
}
.pf-product-section .pf-accordion details[open] summary::after { content: '−'; }
.pf-product-section .pf-accordion details p {
color: var(--pf-muted);
font-size: 15px;
line-height: 1.6;
margin-block: 12px 0;
}
@media (max-width: 1100px) {
.pf-bundle-hero-inner,
.pf-product-hero-inner {
grid-template-columns: 1fr;
gap: 32px;
}
.pf-bundle-buy-box,
.pf-buy-box { position: static; }
.pf-switcher-grid { grid-template-columns: 1fr; }
.pf-cat-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
.pf-product-hero { padding-block: 40px 56px; }
.pf-bundle-hero { padding-block: 40px 56px; }
.pf-product-section { padding-block: 56px; }
.pf-product-section-inner,
.pf-product-hero-inner,
.pf-bundle-hero-inner,
.pf-product-trust-bar-inner { padding-inline: 24px; }
.pf-product-trust-bar-inner { gap: 18px; }
.pf-routine-grid { grid-template-columns: 1fr; }
.pf-info-chips { gap: 8px; }
.pf-info-chip { font-size: 13px; padding: 10px 12px; }
.pf-bundle-cta-section { padding-block: 40px; }
.pf-data-table th,
.pf-data-table td { padding: 12px 14px; font-size: 14px; }
.pf-rotation-table { font-size: 13px; }
.pf-rotation-table th,
.pf-rotation-table td { padding: 8px 10px; }
}
@media (max-width: 640px) {
.pf-bundle-hero-copy h1 { font-size: 30px; }
.pf-product-hero-inner .pf-buy-box h1 { font-size: 26px; }
.pf-list-price-value { font-size: 24px; }
.pf-bundle-hero-price { font-size: 34px; }
}
.pf-footer-section {
display: block;
}
.pf-footer-section-toggle-input {
position: absolute;
inline-size: 1px;
block-size: 1px;
overflow: hidden;
opacity: 0;
pointer-events: none;
}
.pf-footer-section-toggle {
cursor: default;
display: block;
margin: 0 0 12px;
}
.pf-footer-section-title {
color: var(--pf-white);
font-size: 14px;
font-weight: 900;
letter-spacing: 0;
line-height: 1.3;
}
.pf-footer-section-chevron {
display: none;
}
.pf-footer-section > .pf-footer-nav {
display: grid;
gap: 10px;
align-content: start;
}
.pf-mobile-only-newsletter {
display: none;
}
@media (max-width: 900px) {
.pf-footer-inner {
grid-template-columns: 1fr;
inline-size: min(1080px, calc(100% - 48px));
}
.pf-footer-bottom {
inline-size: min(1080px, calc(100% - 48px));
}
.pf-footer-section {
border-block-end: 1px solid rgba(255, 255, 255, 0.16);
padding-block: 6px 8px;
}
.pf-footer-section > .pf-footer-section-toggle {
align-items: center;
cursor: pointer;
display: flex;
justify-content: space-between;
min-block-size: 44px;
padding-block: 6px;
}
.pf-footer-section-chevron {
block-size: 10px;
border-block-end: 2px solid rgba(255, 255, 255, 0.78);
border-inline-end: 2px solid rgba(255, 255, 255, 0.78);
display: inline-block;
inline-size: 10px;
transform: rotate(45deg);
transform-origin: 75% 75%;
transition: transform 0.18s ease;
}
.pf-footer-section-toggle-input:checked ~ .pf-footer-section-toggle .pf-footer-section-chevron {
transform: rotate(-135deg);
}
.pf-footer-section > .pf-footer-nav {
display: none;
padding-block: 8px 12px;
}
.pf-footer-section-toggle-input:checked ~ .pf-footer-nav {
display: grid;
}
.pf-footer-section-toggle-input:focus-visible ~ .pf-footer-section-toggle {
outline: 2px solid rgba(255, 255, 255, 0.6);
outline-offset: 2px;
}
}
.pf-subscribe-page {
padding-block: 56px 64px;
}
.pf-subscribe-hero {
background: var(--pf-linen);
border-block-end: 1px solid var(--pf-border);
padding-block: 56px 44px;
}
.pf-subscribe-hero-inner {
inline-size: min(var(--pf-content), calc(100% - 48px));
margin-inline: auto;
max-inline-size: 720px;
}
.pf-subscribe-hero h1 {
color: var(--pf-forest);
font-family: Fraunces, Georgia, serif;
font-size: clamp(28px, 3vw, 38px);
line-height: 1.2;
margin: 8px 0 12px;
}
.pf-subscribe-hero p {
color: var(--pf-muted);
font-size: 16px;
line-height: 1.6;
margin: 0;
}
.pf-subscribe-form-wrap {
inline-size: min(var(--pf-content), calc(100% - 48px));
margin: 36px auto 0;
max-inline-size: 560px;
}
.pf-subscribe-form {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
display: grid;
gap: 16px;
padding: 28px 28px 24px;
}
.pf-subscribe-message {
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-btn);
font-size: 14px;
font-weight: 700;
line-height: 1.45;
padding: 12px 14px;
}
.pf-subscribe-message--success {
background: color-mix(in srgb, var(--pf-sage) 16%, var(--pf-white));
border-color: color-mix(in srgb, var(--pf-sage) 55%, var(--pf-border));
color: var(--pf-forest);
}
.pf-subscribe-message--error {
background: color-mix(in srgb, var(--pf-clay) 12%, var(--pf-white));
border-color: color-mix(in srgb, var(--pf-clay) 45%, var(--pf-border));
color: var(--pf-forest);
}
.pf-subscribe-honeypot {
block-size: 1px;
inline-size: 1px;
inset-block-start: -10000px;
overflow: hidden;
position: absolute;
}
.pf-subscribe-form label {
color: var(--pf-forest);
display: grid;
font-size: 14px;
font-weight: 700;
gap: 6px;
}
.pf-subscribe-form input[type="email"] {
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-btn);
font-family: inherit;
font-size: 15px;
padding: 12px 14px;
}
.pf-subscribe-form input[type="email"]:focus-visible {
border-color: var(--pf-forest);
outline: 2px solid var(--pf-forest);
outline-offset: 2px;
}
.pf-subscribe-consent {
align-items: flex-start;
color: var(--pf-muted);
display: flex;
font-size: 13px;
gap: 10px;
line-height: 1.5;
}
.pf-subscribe-consent input[type="checkbox"] {
margin-block-start: 3px;
}
.pf-subscribe-cta {
margin-block-start: 4px;
}
.pf-subscribe-note {
color: var(--pf-muted);
font-size: 12px;
font-style: italic;
line-height: 1.5;
margin: 12px 0 0;
}
.pf-subscribe-list {
inline-size: min(var(--pf-content), calc(100% - 48px));
margin: 36px auto 0;
max-inline-size: 720px;
}
.pf-subscribe-list ul {
display: grid;
gap: 10px;
list-style: none;
margin: 12px 0 0;
padding: 0;
}
.pf-subscribe-list li {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: 8px;
color: var(--pf-forest);
font-size: 15px;
line-height: 1.5;
padding: 12px 14px;
}
.pf-club-mission-section {
scroll-margin-block-start: 96px;
}
.pf-club-mission-section .pf-shelter-bridge {
align-items: start;
display: grid;
gap: 24px;
grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
margin-block-start: 24px;
}
.pf-club-mission-section .pf-shelter-visual {
background: var(--pf-mist);
border: 1px solid var(--pf-border);
border-radius: 8px;
color: var(--pf-forest);
display: grid;
font-size: 14px;
gap: 6px;
line-height: 1.5;
padding: 22px 24px;
}
.pf-club-mission-section .pf-shelter-visual strong {
display: block;
font-family: Fraunces, Georgia, serif;
font-size: 18px;
}
@media (max-width: 900px) {
.pf-club-mission-section .pf-shelter-bridge {
grid-template-columns: 1fr;
}
}
.pf-cta-strip {
background: var(--pf-linen);
border-block-start: 1px solid var(--pf-border);
padding-block: 72px;
}
.pf-cta-strip-inner {
inline-size: min(700px, calc(100% - 48px));
margin-inline: auto;
text-align: center;
}
.pf-cta-strip-inner h2 {
color: var(--pf-forest);
font-family: Fraunces, Georgia, serif;
font-size: clamp(28px, 3vw, 36px);
line-height: 1.15;
margin: 0 0 14px;
}
.pf-cta-strip-inner p {
color: var(--pf-muted);
font-size: 17px;
line-height: 1.6;
margin: 0 0 32px;
}
.pf-cta-strip-btns {
display: flex;
flex-wrap: wrap;
gap: 14px;
justify-content: center;
}
.pf-button-light {
background: var(--pf-clay);
border: 1px solid var(--pf-clay);
box-shadow: 0 8px 18px rgba(201, 121, 90, 0.16);
color: var(--pf-white);
}
.pf-button-light:hover,
.pf-button-light:focus-visible {
background: var(--pf-clay-dark);
border-color: var(--pf-clay-dark);
color: var(--pf-white);
}
.pf-button-outline-light {
background: transparent;
border: 1px solid rgba(49, 92, 69, 0.72);
color: var(--pf-forest);
}
.pf-button-outline-light:hover,
.pf-button-outline-light:focus-visible {
background: var(--pf-mist);
border-color: var(--pf-forest);
color: var(--pf-forest);
}
@media (max-width: 640px) {
.pf-cta-strip {
padding-block: 56px;
}
.pf-cta-strip-btns {
flex-direction: column;
align-items: stretch;
}
.pf-cta-strip-btns .pf-button {
inline-size: 100%;
}
}
.pf-shop-bundle-compare {
background: var(--pf-mist);
padding-block: 56px 64px;
}
.pf-shop-bundle-compare-inner {
inline-size: min(1080px, calc(100% - 48px));
margin-inline: auto;
}
.pf-shop-bundle-compare-inner > h2 {
color: var(--pf-forest);
font-family: Fraunces, Georgia, serif;
font-size: clamp(24px, 2.6vw, 32px);
line-height: 1.2;
margin: 4px 0 8px;
}
.pf-shop-bundle-compare-lead {
color: var(--pf-muted);
font-size: 15px;
line-height: 1.55;
margin: 0 0 24px;
}
.pf-shop-bundle-compare-table {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-collapse: separate;
border-radius: var(--pf-radius-card);
border-spacing: 0;
inline-size: 100%;
margin-block-end: 24px;
overflow: hidden;
}
.pf-shop-bundle-compare-table th,
.pf-shop-bundle-compare-table td {
border-block-end: 1px solid var(--pf-border);
font-size: 14px;
line-height: 1.45;
padding: 12px 16px;
text-align: start;
vertical-align: top;
}
.pf-shop-bundle-compare-table thead th {
background: var(--pf-linen);
color: var(--pf-forest);
font-family: Fraunces, Georgia, serif;
font-size: 15px;
font-weight: 700;
}
.pf-shop-bundle-compare-table tbody td:first-child {
color: var(--pf-muted);
font-weight: 700;
}
.pf-shop-bundle-compare-table tbody tr:last-child th,
.pf-shop-bundle-compare-table tbody tr:last-child td {
border-block-end: 0;
}
.pf-shop-bundle-compare-ctas {
display: flex;
flex-wrap: wrap;
gap: 12px;
}
@media (max-width: 720px) {
.pf-shop-bundle-compare {
padding-block: 40px;
}
.pf-shop-bundle-compare-table th,
.pf-shop-bundle-compare-table td {
font-size: 13px;
padding: 10px 12px;
}
.pf-shop-bundle-compare-ctas .pf-button {
inline-size: 100%;
text-align: center;
}
}
.pf-bundle-decision-guide {
background: var(--pf-linen);
}
.pf-bundle-decision-guide > .pf-product-section-inner > .pf-section-kicker {
margin: 0 0 4px;
}
.pf-bundle-decision-guide > .pf-product-section-inner > h2 {
color: var(--pf-forest);
font-family: Fraunces, Georgia, serif;
font-size: clamp(24px, 2.6vw, 30px);
line-height: 1.2;
margin: 0 0 24px;
}
.pf-bundle-decision-grid {
display: grid;
gap: 20px;
grid-template-columns: repeat(2, minmax(0, 1fr));
margin-block-end: 24px;
}
.pf-bundle-decision-col {
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
padding: 20px 22px;
}
.pf-bundle-decision-col h3 {
color: var(--pf-forest);
font-family: Fraunces, Georgia, serif;
font-size: 18px;
line-height: 1.2;
margin: 0 0 12px;
}
.pf-bundle-decision-col ul {
color: var(--pf-muted);
display: grid;
font-size: 14px;
gap: 8px;
line-height: 1.55;
list-style: disc;
margin: 0;
padding-inline-start: 18px;
}
.pf-bundle-decision-ctas {
display: flex;
flex-wrap: wrap;
gap: 12px;
}
@media (max-width: 720px) {
.pf-bundle-decision-grid {
grid-template-columns: 1fr;
}
.pf-bundle-decision-ctas .pf-button {
inline-size: 100%;
text-align: center;
}
}
.pf-newsletter-nudge {
background: var(--pf-linen);
border-block-start: 1px solid var(--pf-border);
padding-block: 36px;
}
.pf-newsletter-nudge-inner {
align-items: center;
display: grid;
gap: 20px;
grid-template-columns: minmax(0, 1.4fr) auto;
inline-size: min(1080px, calc(100% - 160px));
margin-inline: auto;
}
.pf-newsletter-nudge-copy {
display: grid;
gap: 4px;
}
.pf-newsletter-nudge-kicker {
color: var(--pf-muted);
font-size: 12px;
font-weight: 800;
letter-spacing: 0.06em;
margin: 0;
text-transform: uppercase;
}
.pf-newsletter-nudge-copy h3 {
color: var(--pf-forest);
font-family: Fraunces, Georgia, serif;
font-size: 22px;
line-height: 1.2;
margin: 0;
}
.pf-newsletter-nudge-copy p {
color: var(--pf-muted);
font-size: 14px;
line-height: 1.55;
margin: 4px 0 0;
}
.pf-newsletter-nudge-cta {
white-space: nowrap;
}
@media (max-width: 900px) {
.pf-newsletter-nudge-inner {
inline-size: min(1080px, calc(100% - 48px));
}
}
@media (max-width: 720px) {
.pf-newsletter-nudge {
padding-block: 28px;
}
.pf-newsletter-nudge-inner {
grid-template-columns: 1fr;
gap: 16px;
}
.pf-newsletter-nudge-copy h3 {
font-size: 20px;
}
.pf-newsletter-nudge-cta {
justify-self: stretch;
text-align: center;
}
}
.pf-newsletter-inline-section {
padding-block: 32px 56px;
}
.pf-newsletter-inline {
align-items: center;
background: var(--pf-white);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
display: grid;
gap: 24px;
grid-template-columns: minmax(0, 1.4fr) auto;
padding: 28px 32px;
}
.pf-newsletter-inline-copy {
display: grid;
gap: 4px;
}
.pf-newsletter-inline-kicker {
color: var(--pf-muted);
font-size: 12px;
font-weight: 800;
letter-spacing: 0.06em;
margin: 0;
text-transform: uppercase;
}
.pf-newsletter-inline-copy h2 {
color: var(--pf-forest);
font-family: Fraunces, Georgia, serif;
font-size: 24px;
line-height: 1.2;
margin: 0;
}
.pf-newsletter-inline-copy p {
color: var(--pf-muted);
font-size: 15px;
line-height: 1.55;
margin: 4px 0 0;
}
.pf-newsletter-inline-cta {
white-space: nowrap;
}
@media (max-width: 720px) {
.pf-newsletter-inline {
grid-template-columns: 1fr;
padding: 22px 24px;
}
.pf-newsletter-inline-copy h2 {
font-size: 20px;
}
.pf-newsletter-inline-cta {
justify-self: stretch;
text-align: center;
}
}
.pf-cta-strip-secondary {
color: var(--pf-muted);
font-size: 14px;
line-height: 1.5;
margin: 20px 0 0;
text-align: center;
}
.pf-cta-strip-secondary a {
color: var(--pf-forest);
font-weight: 700;
text-decoration: underline;
text-underline-offset: 3px;
}
.pf-cta-strip-secondary a:hover,
.pf-cta-strip-secondary a:focus-visible {
color: var(--pf-clay);
}
.pf-mission-redirect {
padding-block: 80px 96px;
}
.pf-mission-redirect-inner {
background: var(--pf-linen);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-card);
inline-size: min(var(--pf-content), calc(100% - 48px));
margin-inline: auto;
max-inline-size: 640px;
padding: 36px 32px;
text-align: center;
}
.pf-mission-redirect-inner h1 {
color: var(--pf-forest);
font-family: Fraunces, Georgia, serif;
font-size: clamp(26px, 3vw, 34px);
line-height: 1.2;
margin: 0 0 12px;
}
.pf-mission-redirect-inner p {
color: var(--pf-muted);
font-size: 15px;
line-height: 1.6;
margin: 0 0 18px;
}
.pf-mission-redirect-inner .pf-button {
margin-block-start: 4px;
}
.pf-bundle-page .woocommerce-tabs,
.pf-bundle-page .related.products,
.pf-bundle-page .upsells.products {
display: none;
}
.pf-bundle-page .pf-product-section--cream:has(> .pf-product-section-inner > .woocommerce-tabs),
.pf-bundle-page .pf-product-section--cream:has(> .pf-product-section-inner > .related.products),
.pf-bundle-page .pf-product-section--cream:has(> .pf-product-section-inner:empty) {
display: none;
}
.pf-header-cart .pf-header-cart-count {
margin-inline-start: 2px;
}
.pf-header-cart .pf-header-cart-count {
max-block-size: 22px;
}
.skip-link.screen-reader-text:focus,
.skip-link.screen-reader-text:focus-visible {
background: var(--pf-forest);
border-radius: var(--pf-radius-button);
color: var(--pf-linen);
clip: auto;
font-size: 14px;
font-weight: 800;
inset-block-start: 8px;
inset-inline-start: 8px;
inline-size: auto;
block-size: auto;
overflow: visible;
padding: 10px 16px;
position: fixed;
text-decoration: none;
z-index: 100;
}
.pf-account-main .woocommerce button.button:focus-visible,
.pf-account-main .woocommerce a.button:focus-visible {
outline: 3px solid var(--pf-forest);
outline-offset: 2px;
}
.pf-account-main .woocommerce .show-password-input,
.pf-account-main .woocommerce .password-input {
display: block;
position: relative;
}
.pf-account-main .woocommerce .show-password-input {
color: var(--pf-muted);
}
.pf-account-main .woocommerce .show-password-input:hover,
.pf-account-main .woocommerce .show-password-input:focus-visible {
color: var(--pf-forest);
}
.pf-account-main .woocommerce-info,
.pf-account-main .woocommerce-message,
.pf-account-main .woocommerce-Message,
.pf-account-main .woocommerce-noreviews,
.pf-account-main .woocommerce-MyAccount-content > p:first-child {
background: var(--pf-mist);
border: 1px solid var(--pf-border);
border-inline-start: 4px solid var(--pf-forest);
border-radius: 8px;
color: var(--pf-ink);
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 12px;
font-size: 15px;
line-height: 1.55;
margin-block: 0 18px;
padding: 14px 18px;
}
.pf-account-main .woocommerce-MyAccount-content > p:first-child {
background: transparent;
border: 0;
border-radius: 0;
padding: 0;
margin-block: 0 18px;
}
.pf-account-main .woocommerce-error {
background: rgba(201, 121, 90, 0.1);
border: 1px solid var(--pf-border);
border-inline-start: 4px solid var(--pf-clay);
border-radius: 8px;
color: var(--pf-ink);
font-size: 15px;
line-height: 1.55;
margin-block: 0 18px;
padding: 14px 18px;
}
.pf-account-main .woocommerce-info a.button,
.pf-account-main .woocommerce-message a.button {
margin-inline-start: auto;
}
.pf-account-main .woocommerce-orders-table,
.pf-account-main .shop_table {
background: #fff;
border: 1px solid var(--pf-border);
border-collapse: separate;
border-radius: 8px;
border-spacing: 0;
color: var(--pf-ink);
font-size: 14px;
inline-size: 100%;
overflow: hidden;
}
.pf-account-main .woocommerce-orders-table thead th,
.pf-account-main .shop_table thead th {
background: var(--pf-linen);
color: var(--pf-forest);
font-size: 12px;
font-weight: 800;
letter-spacing: 0.04em;
padding: 12px 14px;
text-align: start;
text-transform: uppercase;
}
.pf-account-main .woocommerce-orders-table tbody td,
.pf-account-main .shop_table tbody td {
border-block-start: 1px solid var(--pf-border);
padding: 14px;
vertical-align: middle;
}
.pf-account-main .woocommerce-orders-table tbody tr:first-child td,
.pf-account-main .shop_table tbody tr:first-child td {
border-block-start: 0;
}
.pf-account-main .woocommerce-orders-table .button,
.pf-account-main .woocommerce-orders-table a.button {
font-size: 13px;
padding: 8px 12px;
}
.pf-account-main .order-status,
.pf-account-main mark.order-status {
background: var(--pf-mist);
border-radius: 999px;
color: var(--pf-forest);
display: inline-flex;
font-size: 12px;
font-weight: 800;
letter-spacing: 0.04em;
padding: 4px 10px;
text-transform: uppercase;
}
.pf-account-main mark.order-status.status-processing,
.pf-account-main .order-status.status-processing {
background: rgba(143, 174, 154, 0.25);
color: #3f6b54;
}
.pf-account-main mark.order-status.status-completed,
.pf-account-main .order-status.status-completed {
background: rgba(49, 92, 69, 0.16);
color: var(--pf-forest);
}
.pf-account-main mark.order-status.status-on-hold,
.pf-account-main .order-status.status-on-hold,
.pf-account-main mark.order-status.status-pending,
.pf-account-main .order-status.status-pending {
background: rgba(215, 168, 75, 0.18);
color: #8d6515;
}
.pf-account-main mark.order-status.status-cancelled,
.pf-account-main .order-status.status-cancelled,
.pf-account-main mark.order-status.status-failed,
.pf-account-main .order-status.status-failed {
background: rgba(201, 121, 90, 0.18);
color: var(--pf-clay-dark);
}
.pf-account-main .woocommerce-Addresses,
.pf-account-main .woocommerce-MyAccount-content .col2-set {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr;
}
.pf-account-main .woocommerce-Address,
.pf-account-main .woocommerce-MyAccount-content .col2-set .col-1,
.pf-account-main .woocommerce-MyAccount-content .col2-set .col-2 {
background: var(--pf-linen);
border: 1px solid var(--pf-border);
border-radius: 8px;
color: var(--pf-ink);
inline-size: 100%;
padding: 22px 24px;
}
.pf-account-main .woocommerce-Address-title {
align-items: center;
border-block-end: 1px solid var(--pf-border);
display: flex;
gap: 12px;
justify-content: space-between;
margin-block: 0 14px;
padding-block-end: 12px;
}
.pf-account-main .woocommerce-Address-title h3,
.pf-account-main .woocommerce-MyAccount-content .col2-set .col-1 > h3,
.pf-account-main .woocommerce-MyAccount-content .col2-set .col-2 > h3 {
color: var(--pf-forest);
font-family: Fraunces, Georgia, serif;
font-size: 18px;
margin: 0;
}
.pf-account-main .woocommerce-Address address {
color: var(--pf-muted);
font-size: 15px;
font-style: normal;
line-height: 1.6;
}
.pf-account-main .woocommerce-Address .edit,
.pf-account-main .woocommerce-Address-title .edit {
color: var(--pf-forest);
font-size: 13px;
font-weight: 800;
text-decoration: underline;
text-underline-offset: 3px;
}
.pf-account-main .woocommerce-Address .edit:hover,
.pf-account-main .woocommerce-Address-title .edit:hover {
color: var(--pf-clay);
}
.pf-account-main .woocommerce form.woocommerce-EditAccountForm,
.pf-account-main .woocommerce form.edit-account,
.pf-account-main .woocommerce form.woocommerce-address-fields {
display: grid;
gap: 0 18px;
grid-template-columns: 1fr 1fr;
}
.pf-account-main .woocommerce form.woocommerce-EditAccountForm > p.form-row,
.pf-account-main .woocommerce form.edit-account > p.form-row,
.pf-account-main .woocommerce form.woocommerce-address-fields .woocommerce-address-fields__field-wrapper > p.form-row {
display: grid;
gap: 6px;
margin-block-end: 16px;
}
.pf-account-main .woocommerce form .form-row-first {
grid-column: 1 / 2;
}
.pf-account-main .woocommerce form .form-row-last {
grid-column: 2 / 3;
}
.pf-account-main .woocommerce form .form-row-wide {
grid-column: 1 / -1;
inline-size: 100%;
max-inline-size: 100%;
box-sizing: border-box;
}
.pf-account-main .woocommerce form .form-row-wide input.input-text,
.pf-account-main .woocommerce form .form-row-wide textarea,
.pf-account-main .woocommerce form .form-row-wide select {
box-sizing: border-box;
inline-size: 100%;
max-inline-size: 100%;
}
.pf-account-main .woocommerce form fieldset {
border: 1px solid var(--pf-border);
border-radius: 8px;
grid-column: 1 / -1;
margin: 12px 0 8px;
padding: 18px 22px;
}
.pf-account-main .woocommerce form fieldset legend {
color: var(--pf-forest);
font-family: Fraunces, Georgia, serif;
font-size: 17px;
font-weight: 700;
padding-inline: 6px;
}
.pf-account-main .woocommerce-MyAccount-paymentMethods,
.pf-account-main .account-payment-methods-table {
background: #fff;
border: 1px solid var(--pf-border);
border-collapse: separate;
border-radius: 8px;
border-spacing: 0;
inline-size: 100%;
}
.pf-account-main .woocommerce-MyAccount-paymentMethods td,
.pf-account-main .woocommerce-MyAccount-paymentMethods th {
padding: 12px 14px;
}
.pf-account-main .woocommerce input.input-text,
.pf-account-main .woocommerce textarea,
.pf-account-main .woocommerce select {
inline-size: 100%;
}
.pf-account-main .woocommerce-MyAccount-content {
min-block-size: 360px;
}
.pf-account-main .woocommerce-MyAccount-navigation {
align-self: start;
}
.pf-account-main .woocommerce-MyAccount-navigation a {
min-block-size: 42px;
display: flex;
align-items: center;
}
@media (max-width: 720px) {
.pf-account-main .woocommerce-Addresses,
.pf-account-main .woocommerce-MyAccount-content .col2-set {
grid-template-columns: 1fr;
}
.pf-account-main .woocommerce form.woocommerce-EditAccountForm,
.pf-account-main .woocommerce form.edit-account,
.pf-account-main .woocommerce form.woocommerce-address-fields {
grid-template-columns: 1fr;
}
.pf-account-main .woocommerce form .form-row-first,
.pf-account-main .woocommerce form .form-row-last {
grid-column: 1 / -1;
}
.pf-account-main .woocommerce form .form-row {
margin-block-end: 14px;
}
.pf-account-main .woocommerce-orders-table.shop_table_responsive {
background: transparent;
border: 0;
}
.pf-account-main .woocommerce-orders-table.shop_table_responsive thead {
display: none;
}
.pf-account-main .woocommerce-orders-table.shop_table_responsive tbody tr {
background: #fff;
border: 1px solid var(--pf-border);
border-radius: 8px;
display: block;
margin-block-end: 12px;
padding: 6px 0;
}
.pf-account-main .woocommerce-orders-table.shop_table_responsive tbody td {
border-block-start: 0;
display: flex;
gap: 12px;
justify-content: space-between;
padding: 8px 14px;
text-align: end;
}
.pf-account-main .woocommerce-orders-table.shop_table_responsive tbody td::before {
color: var(--pf-forest);
content: attr(data-title);
font-size: 12px;
font-weight: 800;
letter-spacing: 0.04em;
text-transform: uppercase;
}
}
@media (max-width: 420px) {
.pf-account-main .woocommerce form.login,
.pf-account-main .woocommerce form.register,
.pf-account-main .woocommerce-MyAccount-content,
.pf-account-main .woocommerce-MyAccount-navigation {
padding: 18px 16px;
}
.pf-account-main .woocommerce form.login .form-row,
.pf-account-main .woocommerce form.register .form-row {
margin-block-end: 12px;
}
}
.pf-shop-quick-choices {
display: flex;
flex-wrap: wrap;
gap: 8px;
justify-content: center;
margin: 18px auto 0;
}
.pf-shop-quick-choices a {
background: rgba(255,255,255,.72);
border: 1px solid var(--pf-border);
border-radius: 999px;
color: var(--pf-forest);
font-size: 13px;
font-weight: 700;
padding: 7px 12px;
text-decoration: none;
}
.pf-shop-quick-choices a:hover,
.pf-shop-quick-choices a:focus-visible {
background: var(--pf-mist);
border-color: var(--pf-forest);
}
.pf-plan-card--havi.pf-plan-card--active {
border-color: var(--pf-forest);
background: var(--pf-mist);
}
.pf-plan-card--havi .pf-plan-disc {
background: var(--pf-forest);
color: #fff;
}
.pf-plan-card--havi .pf-plan-save-badge {
background: #2f6f4e;
}
.pf-buy-trust-row a {
color: var(--pf-forest);
text-decoration: underline;
text-underline-offset: 2px;
}
.pf-product-prices {
display: grid;
gap: 3px;
margin-bottom: 10px;
}
.pf-product-price-egyszeri {
font-size: 13px;
color: var(--pf-muted);
}
.pf-product-price-sub {
font-size: 15px;
font-weight: 700;
color: var(--pf-forest);
}
.pf-product-price-save {
font-size: 12px;
color: var(--pf-clay);
font-weight: 700;
}
.pf-product-price-kethavi {
font-size: 12px;
color: var(--pf-muted);
font-weight: 600;
}
.pf-bundle-price-summary {
display: grid;
gap: 3px;
}
.pf-bundle-price-primary {
color: var(--pf-forest);
display: block;
font-size: 18px;
font-weight: 900;
}
.pf-bundle-price-secondary {
color: var(--pf-muted);
display: block;
font-size: 13px;
font-weight: 700;
}
.pf-review-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
margin-top: 24px;
}
.pf-review-card {
background: #fff;
border: 1px solid var(--pf-border);
border-radius: 10px;
padding: 24px;
display: grid;
gap: 14px;
}
.pf-review-quote {
font-size: 15px;
color: var(--pf-ink);
line-height: 1.65;
font-style: italic;
margin: 0;
padding: 0;
border: none;
}
.pf-review-meta {
display: flex;
flex-wrap: wrap;
gap: 8px;
align-items: center;
}
.pf-review-name {
font-weight: 700;
font-size: 13px;
color: var(--pf-ink);
}
.pf-review-dog {
font-size: 13px;
color: var(--pf-muted);
}
.pf-review-product-tag {
font-size: 12px;
background: var(--pf-mist);
color: var(--pf-forest);
padding: 2px 8px;
border-radius: 99px;
font-weight: 600;
}
@media (max-width: 720px) {
.pf-review-grid { grid-template-columns: 1fr; }
}