/*
Theme Name: Pure Harvest
Theme URI: https://example.com/pure-harvest
Author: OpenAI
Description: A responsive Pure Harvest hair-care storefront with collection landing pages, a Magic Hair Oil product page, editable assets, social links, and a cash-on-delivery workflow.
Version: 1.4.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: pure-harvest
*/

:root {
  --ph-plum: #451331;
  --ph-plum-dark: #321026;
  --ph-plum-soft: #6a2b4b;
  --ph-ivory: #fffaf2;
  --ph-cream: #f6eee2;
  --ph-cream-deep: #efe1ce;
  --ph-gold: #c58a3d;
  --ph-gold-dark: #9f6727;
  --ph-ink: #1f1918;
  --ph-muted: #6b625d;
  --ph-line: #e8dccd;
  --ph-green: #536c35;
  --ph-radius: 13px;
  --ph-shadow: 0 9px 26px rgba(55, 28, 36, .09);
  --ph-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --ph-sans: "DM Sans", "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; color: var(--ph-ink); background: var(--ph-ivory); font-family: var(--ph-sans); font-size: 14px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
body.ph-modal-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a, input { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid rgba(197, 138, 61, .65); outline-offset: 3px; }
.site-shell { overflow: clip; }
.ph-container { width: min(1240px, calc(100% - 56px)); margin-inline: auto; }
.ph-section { padding: 58px 0; }
.ph-eyebrow { margin: 0 0 9px; color: var(--ph-gold-dark); text-transform: uppercase; font-size: 11px; line-height: 1.35; letter-spacing: .18em; font-weight: 800; }
.ph-section-title { margin: 0; color: var(--ph-plum-dark); font-family: var(--ph-serif); font-size: clamp(31px, 3.2vw, 46px); font-weight: 600; line-height: .99; letter-spacing: -.035em; }
.ph-section-intro { margin: 10px 0 0; color: var(--ph-muted); font-size: 13px; }
.ph-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 43px; padding: 11px 22px; border: 1px solid var(--ph-plum); border-radius: 999px; background: var(--ph-plum); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.2; box-shadow: 0 4px 12px rgba(69, 19, 49, .12); transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.ph-button:hover { transform: translateY(-1px); background: var(--ph-plum-dark); box-shadow: 0 8px 20px rgba(69, 19, 49, .17); }
.ph-button--light { background: var(--ph-ivory); border-color: var(--ph-ivory); color: var(--ph-plum); }
.ph-button--outline { background: transparent; color: var(--ph-plum); }
.ph-small-icon { width: 18px; height: 18px; flex: 0 0 18px; }
.ph-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Announcement and header */
.ph-announcement { min-height: 36px; background: var(--ph-plum-dark); color: #fff7ef; display: flex; align-items: center; }
.ph-announcement-inner { width: min(1240px, calc(100% - 36px)); margin: auto; display: flex; align-items: center; justify-content: center; gap: clamp(15px, 4vw, 58px); }
.ph-announcement-item { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; font-size: 10px; letter-spacing: .015em; }
.ph-announcement-item svg { width: 14px; height: 14px; color: #f1d7aa; }
.ph-announcement-divider { opacity: .4; }
.ph-site-header { position: relative; z-index: 20; border-bottom: 1px solid rgba(72, 37, 45, .08); background: rgba(255, 250, 242, .97); }
.ph-header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.ph-brand { display: inline-flex; align-items: center; gap: 10px; min-width: 188px; }
.ph-brand-mark { width: 34px; height: 40px; color: var(--ph-gold); flex: 0 0 34px; }
.ph-custom-logo { width: auto; max-width: 46px; max-height: 48px; object-fit: contain; flex: 0 0 auto; }
.ph-brand-copy { display: flex; flex-direction: column; line-height: 1.03; }
.ph-brand-name { font-family: var(--ph-serif); font-size: 20px; line-height: 1; letter-spacing: .105em; color: #342a2a; white-space: nowrap; }
.ph-brand-tagline { margin-top: 5px; color: #645651; font-size: 7px; letter-spacing: .22em; font-weight: 800; text-align: center; }
.ph-primary-nav { display: flex; align-items: center; justify-content: center; gap: clamp(13px, 2vw, 28px); margin-left: auto; }
.ph-primary-nav .ph-nav-list { display: flex; align-items: center; justify-content: center; gap: clamp(13px, 2vw, 28px); margin: 0; padding: 0; list-style: none; }
.ph-primary-nav .ph-nav-list li { margin: 0; padding: 0; }
.ph-primary-nav a { color: #3c3434; font-size: 11px; font-weight: 600; white-space: nowrap; transition: color .2s ease; }
.ph-primary-nav a:hover { color: var(--ph-gold-dark); }
.ph-header-actions { display: flex; align-items: center; gap: 13px; }
.ph-icon-button { position: relative; display: grid; width: 32px; height: 36px; place-items: center; padding: 0; border: 0; background: transparent; color: var(--ph-plum-dark); }
.ph-icon-button svg { width: 19px; height: 19px; }
.ph-cart-count { position: absolute; top: 0; right: -3px; display: grid; min-width: 16px; height: 16px; place-items: center; padding: 0 4px; border-radius: 99px; background: var(--ph-plum); color: #fff; font-size: 9px; font-weight: 800; }
.ph-header-cta { min-height: 38px; padding: 9px 19px; font-size: 11px; }
.ph-mobile-toggle { display: none; }
.ph-search-panel { display: none; padding: 12px 0 17px; border-top: 1px solid var(--ph-line); }
.ph-search-panel.is-open { display: block; }
.ph-search-form { display: flex; max-width: 520px; margin-left: auto; }
.ph-search-form input { width: 100%; min-width: 0; border: 1px solid var(--ph-line); border-right: 0; border-radius: 8px 0 0 8px; background: white; padding: 10px 13px; }
.ph-search-form button { border: 0; border-radius: 0 8px 8px 0; background: var(--ph-plum); color: #fff; padding: 0 17px; }

/* Hero */
.ph-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 505px; background: linear-gradient(108deg, #fffaf2 0%, #fff8ed 44%, #f1e2cf 100%); }
.ph-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .32; background-image: radial-gradient(ellipse at 77% 43%, rgba(255,255,255,.95) 0%, transparent 42%), radial-gradient(ellipse at 8% 65%, #9ca878 0%, transparent 24%); }
.ph-hero-inner { min-height: 505px; display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); align-items: center; gap: 10px; }
.ph-hero-copy { position: relative; z-index: 2; padding: 42px 0 36px; }
.ph-hero .ph-eyebrow { margin-bottom: 14px; font-size: 11px; letter-spacing: .11em; }
.ph-hero-title { max-width: 570px; margin: 0; color: #171414; font-family: var(--ph-serif); font-size: clamp(56px, 7.3vw, 92px); font-weight: 600; line-height: .78; letter-spacing: -.048em; }
.ph-hero-title span { display: block; margin-top: 13px; }
.ph-hero-tagline { margin: 20px 0 9px; color: #151313; font-size: 12px; font-weight: 800; letter-spacing: .19em; }
.ph-hero-description { max-width: 415px; margin: 0; color: #48403c; font-size: 13px; line-height: 1.62; }
.ph-hero-benefits { display: flex; align-items: flex-start; gap: clamp(12px, 2.3vw, 30px); margin: 20px 0 20px; }
.ph-mini-benefit { display: flex; min-width: 57px; max-width: 88px; flex: 1; flex-direction: column; align-items: center; gap: 6px; text-align: center; color: #4e453f; font-size: 9px; line-height: 1.25; }
.ph-mini-benefit-icon { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #6a6057; border-radius: 50%; color: #332a25; }
.ph-mini-benefit-icon svg { width: 20px; height: 20px; }
.ph-price-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 13px; }
.ph-price-now { font-size: 25px; color: var(--ph-plum); font-weight: 800; letter-spacing: -.04em; }
.ph-price-old { color: #5e514a; font-size: 15px; text-decoration: line-through; text-decoration-thickness: 1px; }
.ph-discount { display: inline-flex; align-items: center; padding: 4px 9px; border-radius: 99px; background: #c18c46; color: #fff; font-size: 10px; font-weight: 800; }
.ph-order-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ph-quantity { display: inline-flex; align-items: center; height: 43px; border: 1px solid #e4d7c7; border-radius: 999px; background: #fffdf8; overflow: hidden; }
.ph-quantity button { display: grid; width: 31px; height: 100%; place-items: center; padding: 0; border: 0; background: transparent; color: var(--ph-plum); font-size: 20px; }
.ph-quantity input { width: 25px; border: 0; outline: none; padding: 0; text-align: center; color: var(--ph-ink); background: transparent; font-size: 12px; font-weight: 800; appearance: textfield; -moz-appearance: textfield; }
.ph-quantity input::-webkit-outer-spin-button, .ph-quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ph-hero-order { min-width: 164px; }
.ph-proof-line { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 17px; color: #554941; font-size: 9px; }
.ph-proof-line span { display: inline-flex; align-items: center; gap: 5px; }
.ph-proof-line svg { width: 13px; height: 13px; }
.ph-hero-visual { position: relative; align-self: stretch; display: flex; align-items: center; justify-content: center; min-width: 0; padding: 22px 0 18px; }
.ph-hero-visual::before { content: ""; position: absolute; inset: 7% 1% 5% 3%; border: 1px solid rgba(197,138,61,.19); border-radius: 48% 48% 18px 18px; background: radial-gradient(ellipse at 50% 45%, rgba(255,255,255,.6), rgba(247,232,209,.12) 62%, transparent 75%); pointer-events: none; }
.ph-hero-image { position: relative; z-index: 1; width: 112%; max-width: none; height: min(500px, 43vw); min-height: 360px; object-fit: contain; object-position: center; mix-blend-mode: multiply; filter: drop-shadow(0 22px 19px rgba(48, 29, 22, .18)) saturate(1.04); transform: translateX(1.2%) scale(1.015); transition: transform .45s ease, filter .45s ease; }
.ph-hero-visual:hover .ph-hero-image { transform: translateX(1.2%) scale(1.035); filter: drop-shadow(0 25px 21px rgba(48, 29, 22, .2)) saturate(1.06); }
.ph-natural-stamp { position: absolute; top: 11%; right: 1%; display: grid; width: 98px; height: 98px; place-content: center; border: 1px solid #be893c; border-radius: 50%; background: #f2cc76; color: #271a10; text-align: center; box-shadow: inset 0 0 0 4px rgba(80, 41, 22, .08); transform: rotate(7deg); }
.ph-natural-stamp strong { font-family: var(--ph-serif); font-size: 28px; line-height: 1; }
.ph-natural-stamp span { max-width: 68px; margin: 3px auto 0; font-size: 8px; line-height: 1.1; text-transform: uppercase; font-weight: 900; letter-spacing: .04em; }

/* Trust strip */
.ph-trust-strip { background: #fbf5ec; border-top: 1px solid rgba(89, 48, 48, .08); border-bottom: 1px solid rgba(89, 48, 48, .1); }
.ph-trust-grid { display: grid; grid-template-columns: repeat(5, 1fr); }
.ph-trust-item { display: flex; justify-content: center; align-items: center; gap: 11px; min-height: 73px; padding: 10px 12px; border-right: 1px solid rgba(85, 43, 53, .08); }
.ph-trust-item:last-child { border-right: 0; }
.ph-trust-icon { width: 27px; height: 27px; color: var(--ph-plum-soft); flex: 0 0 27px; }
.ph-trust-item strong { display: block; font-size: 10px; line-height: 1.25; font-weight: 800; }
.ph-trust-item small { display: block; margin-top: 2px; color: var(--ph-muted); font-size: 9px; line-height: 1.2; }

/* Categories */
.ph-categories { padding-top: 40px; padding-bottom: 43px; background: #fffaf3; }
.ph-centered-heading { text-align: center; }
.ph-centered-heading .ph-eyebrow { margin-bottom: 7px; letter-spacing: .24em; }
.ph-centered-heading .ph-section-title { font-size: clamp(30px, 3vw, 39px); }
.ph-centered-heading .ph-section-intro { margin-top: 6px; }
.ph-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; margin-top: 24px; }
.ph-category-card { min-width: 0; overflow: hidden; border: 1px solid #ecdfd1; border-radius: 9px; background: #fffdf9; box-shadow: 0 4px 11px rgba(65, 39, 30, .06); transition: transform .2s ease, box-shadow .2s ease; }
.ph-category-card { position: relative; text-align: center; }
.ph-category-card:focus-visible { outline: 3px solid #c58a3d; outline-offset: 3px; }
.ph-category-card:hover { transform: translateY(-4px); box-shadow: 0 13px 27px rgba(65, 39, 30, .13); }
.ph-category-image-wrap { height: 113px; overflow: hidden; background: #f2e5d2; }
.ph-category-image { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.ph-category-card:hover .ph-category-image { transform: scale(1.04); }
.ph-category-copy { min-height: 51px; padding: 8px 6px 9px; text-align: center; }
.ph-category-copy strong { display: block; color: #30232c; font-family: var(--ph-serif); font-size: 15px; line-height: 1.15; }
.ph-category-copy small { display: block; margin-top: 3px; color: var(--ph-muted); font-size: 9px; line-height: 1.2; }
.ph-category-link { display: inline-flex; align-items: center; gap: 5px; margin-top: 7px; color: var(--ph-plum); font-size: 9px; font-weight: 800; letter-spacing: .015em; }
.ph-category-link::after { content: "→"; transition: transform .2s ease; }
.ph-category-card:hover .ph-category-link::after { transform: translateX(3px); }

/* Ingredients */
.ph-ingredients { padding-top: 43px; padding-bottom: 46px; background: #fcf6ee; }
.ph-ingredients-layout { display: grid; grid-template-columns: minmax(220px, .9fr) minmax(0, 1.7fr); align-items: center; gap: 38px; }
.ph-ingredients-copy .ph-section-title { max-width: 380px; font-size: clamp(31px, 3.2vw, 43px); }
.ph-ingredients-copy p:not(.ph-eyebrow) { max-width: 410px; margin: 13px 0 17px; color: #514842; font-size: 12px; line-height: 1.55; }
.ph-ingredient-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px 10px; }
.ph-ingredient { text-align: center; min-width: 0; }
.ph-ingredient-art { display: grid; width: clamp(54px, 6.5vw, 80px); height: clamp(54px, 6.5vw, 80px); place-items: center; margin: 0 auto 7px; border: 4px solid rgba(255,255,255,.86); border-radius: 50%; background: radial-gradient(circle at 30% 20%, #fff8dd, #d0d9a2 44%, #647b35 100%); box-shadow: 0 3px 9px rgba(63, 52, 25, .11); color: #39441e; font-size: 25px; }
.ph-ingredient:nth-child(3n+2) .ph-ingredient-art { background: radial-gradient(circle at 35% 25%, #fff6e6, #eee1bd 43%, #97764e 100%); color: #543f20; }
.ph-ingredient:nth-child(3n) .ph-ingredient-art { background: radial-gradient(circle at 30% 23%, #fff2e0, #c66d44 48%, #702b29 100%); color: #421f1c; }
.ph-ingredient strong { display: block; font-size: 10px; line-height: 1.2; }
.ph-ingredient small { display: block; margin-top: 3px; color: var(--ph-muted); font-size: 9px; line-height: 1.15; }

/* Visible results — real customer photographs are deliberately not fabricated */
.ph-results { position: relative; overflow: hidden; background: var(--ph-plum); color: #fff7f1; }
.ph-results::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 0% 100%, rgba(101, 132, 63, .48), transparent 30%), radial-gradient(ellipse at 100% 0%, rgba(122, 55, 91, .45), transparent 35%); }
.ph-results-layout { position: relative; display: grid; grid-template-columns: .84fr .9fr 1.28fr; align-items: center; gap: 30px; }
.ph-results-visual { align-self: stretch; display: flex; align-items: end; min-height: 285px; margin: -12px 0 -58px -28px; }
.ph-results-visual img { width: 100%; height: 100%; max-height: 370px; object-fit: contain; object-position: bottom center; mix-blend-mode: screen; border-radius: 0 80px 0 0; }
.ph-results .ph-eyebrow { color: #e3bb73; }
.ph-results .ph-section-title { color: #fff7f1; font-size: clamp(32px, 3.3vw, 43px); }
.ph-results-copy p { margin: 14px 0 7px; color: #e8dbe0; font-size: 12px; }
.ph-benefit-list { list-style: none; display: grid; gap: 7px; margin: 14px 0 0; padding: 0; }
.ph-benefit-list li { display: flex; align-items: flex-start; gap: 8px; color: #fff7f1; font-size: 12px; line-height: 1.35; }
.ph-check { color: #e6c281; font-weight: 900; }
.ph-results-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 10px; border: 1px solid rgba(255,255,255,.24); border-radius: 12px; background: rgba(255,255,255,.09); }
.ph-result-photo { min-width: 0; overflow: hidden; border-radius: 8px; background: rgba(255,250,242,.06); text-align: center; }
.ph-result-photo > img { display: block; width: 100%; height: 160px; object-fit: cover; border-radius: 8px 8px 0 0; }
.ph-result-photo > strong { display: block; padding: 5px 4px; color: #fff7f1; font-family: var(--ph-serif); font-size: 17px; line-height: 1.2; background: rgba(255,255,255,.08); }
.ph-proof-placeholder { display: flex; min-height: 160px; flex-direction: column; justify-content: center; align-items: center; gap: 7px; padding: 18px 12px; border: 1px dashed rgba(255,255,255,.55); border-radius: 8px; background: rgba(255,250,242,.06); text-align: center; }
.ph-proof-placeholder svg { width: 28px; height: 28px; opacity: .8; }
.ph-proof-placeholder strong { font-family: var(--ph-serif); font-size: 22px; line-height: 1; }
.ph-proof-placeholder small { max-width: 150px; color: #e8dbe0; font-size: 9px; line-height: 1.4; }
.ph-proof-caption { grid-column: 1 / -1; margin: 0; color: #f4e4e8; text-align: center; font-size: 9px; }

/* How to use */
.ph-howto { padding-top: 43px; padding-bottom: 44px; background: #fbf5ed; }
.ph-howto-head { text-align: center; margin-bottom: 22px; }
.ph-howto-head .ph-section-title { font-size: 35px; }
.ph-howto-layout { display: grid; grid-template-columns: 1.5fr .8fr; align-items: stretch; gap: 18px; }
.ph-steps-card { display: grid; grid-template-columns: repeat(4, 1fr); align-items: start; gap: 10px; padding: 22px 18px 20px; border: 1px solid #eee1d2; border-radius: 14px; background: rgba(255,255,255,.66); box-shadow: 0 4px 14px rgba(75, 48, 39, .04); }
.ph-step { position: relative; text-align: center; }
.ph-step-icon { display: grid; width: 56px; height: 56px; place-items: center; margin: 0 auto 12px; border: 1px solid var(--ph-plum-soft); border-radius: 50%; color: var(--ph-plum); background: #fffaf5; }
.ph-step-icon svg { width: 25px; height: 25px; }
.ph-step:not(:last-child)::after { content: "→"; position: absolute; top: 13px; right: -18px; color: var(--ph-gold); font-size: 25px; font-weight: 300; }
.ph-step strong { display: block; color: var(--ph-plum); font-size: 10px; }
.ph-step p { max-width: 140px; margin: 4px auto 0; color: #524942; font-size: 10px; line-height: 1.35; }
.ph-howto-image { min-height: 215px; overflow: hidden; border-radius: 12px; background: #ead7bc; }
.ph-howto-image img { width: 100%; height: 100%; min-height: 215px; object-fit: cover; }

/* Reviews */
.ph-reviews { padding-top: 41px; padding-bottom: 46px; background: #fffaf3; }
.ph-reviews-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.ph-reviews-heading .ph-section-title { font-size: 31px; }
.ph-reviews-summary { text-align: right; }
.ph-reviews-summary strong { display: block; color: var(--ph-plum); font-size: 19px; line-height: 1.1; }
.ph-reviews-summary span { display: block; margin-top: 5px; color: var(--ph-muted); font-size: 10px; }
.ph-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ph-review-card { min-height: 145px; display: flex; flex-direction: column; align-items: flex-start; padding: 18px; border: 1px solid #ede2d7; border-radius: 11px; background: #fffdf9; box-shadow: 0 4px 14px rgba(60, 40, 33, .045); }
.ph-review-placeholder-label { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border-radius: 99px; background: #f4e9d9; color: #71532f; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.ph-review-card p { margin: 12px 0 15px; color: #766a62; font-family: var(--ph-serif); font-size: 18px; line-height: 1.15; }
.ph-review-card small { margin-top: auto; color: #6d625d; font-size: 10px; }

/* FAQ and purchase card */
.ph-faq-offer { padding-top: 37px; padding-bottom: 43px; background: #fbf5ed; }
.ph-faq-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
.ph-faq-heading { margin-bottom: 16px; }
.ph-faq-heading .ph-section-title { font-size: 28px; }
.ph-faq-heading p { margin: 5px 0 0; color: var(--ph-muted); font-size: 11px; }
.ph-faq-list { display: grid; gap: 6px; }
.ph-faq-list details { border: 1px solid #eee3d7; border-radius: 7px; background: #fffdf9; }
.ph-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 13px; cursor: pointer; list-style: none; color: #30252b; font-size: 11px; font-weight: 700; }
.ph-faq-list summary::-webkit-details-marker { display: none; }
.ph-faq-list summary::after { content: "+"; color: var(--ph-plum); font-size: 18px; line-height: 1; }
.ph-faq-list details[open] summary::after { content: "−"; }
.ph-faq-list details p { margin: 0; padding: 0 13px 12px; color: #655951; font-size: 11px; line-height: 1.5; }
.ph-offer-card { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; min-height: 275px; overflow: hidden; padding: 24px; border: 1px solid #ead8c5; border-radius: 14px; background: linear-gradient(135deg, #f4e7d4, #fff8ee); box-shadow: var(--ph-shadow); }
.ph-offer-copy { position: relative; z-index: 1; }
.ph-limited { display: inline-flex; padding: 4px 8px; border-radius: 4px; background: #be873c; color: #fff; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.ph-offer-title { margin: 10px 0 8px; color: var(--ph-plum); font-family: var(--ph-serif); font-size: clamp(31px, 3vw, 42px); line-height: .95; }
.ph-offer-prices { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 5px; }
.ph-offer-prices strong { color: var(--ph-plum-dark); font-size: 19px; }
.ph-offer-prices del { color: #66584e; font-size: 12px; }
.ph-offer-saving { margin: 0 0 14px; color: #5f5044; font-size: 11px; }
.ph-offer-card .ph-button { min-width: 165px; }
.ph-offer-image { width: 100%; max-height: 244px; object-fit: contain; mix-blend-mode: multiply; }
.ph-offer-proof { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; color: #57493e; font-size: 9px; }
.ph-offer-proof span { display: inline-flex; align-items: center; gap: 4px; }

/* Footer */
.ph-footer { color: #f6e9ee; background: var(--ph-plum-dark); }
.ph-newsletter { padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,.15); background: #42142f; }
.ph-newsletter-inner { display: grid; grid-template-columns: 1fr minmax(280px, .95fr) auto; align-items: center; gap: 25px; }
.ph-newsletter h2 { margin: 0; color: #fff7f1; font-family: var(--ph-serif); font-size: 29px; font-weight: 600; line-height: 1; }
.ph-newsletter p { margin: 6px 0 0; color: #d9c1cb; font-size: 10px; }
.ph-newsletter-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 0; min-width: 0; }
.ph-newsletter-form input[type="email"] { width: 100%; min-width: 0; min-height: 40px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.25); border-right: 0; border-radius: 99px 0 0 99px; color: #2e1a25; background: #fffaf4; font-size: 11px; }
.ph-newsletter-form button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 111px; padding: 0 15px; border: 1px solid #f1d9bc; border-radius: 99px; margin-left: -8px; color: var(--ph-plum); background: #f1d9bc; font-size: 11px; font-weight: 800; }
.ph-newsletter-consent { display: flex; grid-column: 1 / -1; align-items: flex-start; gap: 5px; margin: 3px 0 0 4px; color: #dfcbd4; font-size: 8px; line-height: 1.25; }
.ph-newsletter-consent input { flex: 0 0 auto; width: 11px; height: 11px; margin: 0; accent-color: #e6c79b; }
.ph-newsletter-consent label { display: block; }
.ph-footer-values { display: flex; align-items: center; gap: 19px; }
.ph-footer-value { display: grid; justify-items: center; gap: 4px; min-width: 57px; text-align: center; color: #e7d5de; font-size: 8px; line-height: 1.2; }
.ph-footer-value svg { width: 22px; height: 22px; color: #f0d29c; }
.ph-footer-main { display: grid; grid-template-columns: 1.35fr 1fr 1.05fr 1.1fr; gap: 34px; padding: 37px 0 30px; }
.ph-footer-logo { margin-bottom: 14px; }
.ph-footer .ph-brand-name { color: #fff7f1; }
.ph-footer .ph-brand-tagline { color: #d3b8c4; }
.ph-footer-about p { max-width: 260px; margin: 0; color: #d7c2cc; font-size: 10px; line-height: 1.6; }
.ph-socials { display: flex; gap: 12px; margin-top: 17px; }
.ph-socials a { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: #fff; font-size: 12px; font-weight: 800; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.ph-socials a:hover { background: rgba(255,255,255,.12); border-color: #f0d29c; transform: translateY(-2px); }
.ph-footer-heading { margin: 4px 0 15px; color: #fff8f2; font-size: 11px; font-weight: 800; }
.ph-footer-links { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ph-footer-links a { color: #d5c0cb; font-size: 10px; transition: color .2s ease; }
.ph-footer-links a:hover { color: #f3d4a1; }
.ph-contact-item { display: flex; align-items: flex-start; gap: 9px; margin-bottom: 10px; color: #decbd4; font-size: 10px; line-height: 1.35; overflow-wrap: anywhere; }
.ph-contact-item svg { width: 15px; height: 15px; flex: 0 0 15px; color: #e8bd7d; }
.ph-footer-bottom { border-top: 1px solid rgba(255,255,255,.15); }
.ph-footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 55px; }
.ph-copyright { color: #cfb7c3; font-size: 9px; }
.ph-payment-row { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.ph-payment { padding: 3px 6px; border-radius: 4px; color: #39202c; background: #fffdf7; font-size: 8px; font-weight: 900; }
.ph-cod-note { display: inline-flex; align-items: center; gap: 6px; margin-left: 6px; color: #ead9e0; font-size: 9px; }
.ph-cod-note svg { width: 19px; height: 19px; }
.ph-form-notice { margin: 11px 0 0; padding: 11px 13px; border: 1px solid #d8c2a3; border-radius: 8px; color: #4a3320; background: #fff4df; font-size: 12px; }
.ph-form-notice--success { border-color: #b8caa2; color: #314726; background: #f0f6e8; }
.ph-form-notice--error { border-color: #d8a4a4; color: #6e2424; background: #fff0f0; }

/* Order modal */
.ph-modal-backdrop { position: fixed; z-index: 200; inset: 0; display: none; align-items: center; justify-content: center; padding: 18px; background: rgba(25, 9, 19, .69); backdrop-filter: blur(4px); }
.ph-modal-backdrop.is-open { display: flex; }
.ph-order-modal { position: relative; width: min(520px, 100%); max-height: min(92vh, 820px); overflow-y: auto; padding: 28px; border: 1px solid #ead7c4; border-radius: 16px; background: var(--ph-ivory); box-shadow: 0 25px 80px rgba(0,0,0,.26); }
.ph-modal-close { position: absolute; top: 12px; right: 14px; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--ph-line); border-radius: 50%; background: white; color: var(--ph-plum); font-size: 22px; }
.ph-order-modal h2 { margin: 0; color: var(--ph-plum); font-family: var(--ph-serif); font-size: 36px; line-height: 1; }
.ph-order-modal > p { margin: 7px 0 20px; color: var(--ph-muted); font-size: 12px; }
.ph-order-form { display: grid; gap: 12px; }
.ph-form-field { display: grid; gap: 5px; }
.ph-form-field label { color: #42343a; font-size: 11px; font-weight: 800; }
.ph-form-field input, .ph-form-field textarea, .ph-form-field select { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #ded0c1; border-radius: 8px; background: #fffdfa; color: var(--ph-ink); font-size: 12px; }
.ph-form-field textarea { min-height: 76px; resize: vertical; }
.ph-order-total { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--ph-line); border-bottom: 1px solid var(--ph-line); color: var(--ph-muted); font-size: 12px; }
.ph-order-total strong { color: var(--ph-plum); font-size: 18px; }
.ph-order-form .ph-button { width: 100%; min-height: 46px; }
.ph-form-privacy { margin: 0; color: var(--ph-muted); font-size: 10px; line-height: 1.45; }
.ph-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }


/* Store, collection and individual product pages */
.ph-store-page { min-height: 50vh; background: #fffaf3; padding-bottom: 52px; }
.ph-store-hero { padding-top: 26px; }
.ph-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 22px; color: #887871; font-size: 11px; }
.ph-breadcrumbs a { color: var(--ph-plum); font-weight: 700; }
.ph-breadcrumbs a:hover { text-decoration: underline; }
.ph-store-hero-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; gap: clamp(25px, 5vw, 68px); padding: clamp(22px, 4vw, 48px); border: 1px solid #eadac8; border-radius: 20px; background: linear-gradient(118deg, #fffdf8, #f5e8d5); box-shadow: 0 17px 45px rgba(57,31,35,.07); }
.ph-store-hero-copy { position: relative; z-index: 1; }
.ph-store-kicker { margin: 0 0 12px; color: var(--ph-gold-dark); font-size: 10px; font-weight: 900; letter-spacing: .19em; text-transform: uppercase; }
.ph-store-title { max-width: 650px; margin: 0; color: var(--ph-plum-dark); font-family: var(--ph-serif); font-size: clamp(42px, 5.5vw, 72px); font-weight: 600; line-height: .95; letter-spacing: -.035em; }
.ph-store-lead { max-width: 520px; margin: 17px 0 22px; color: #655952; font-size: 14px; line-height: 1.75; }
.ph-store-image-frame { position: relative; min-width: 0; overflow: hidden; border-radius: 14px; background: #f5e8d5; box-shadow: 0 18px 35px rgba(44,24,25,.13); }
.ph-store-image-frame img { width: 100%; max-height: 440px; object-fit: cover; }
.ph-collection-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 30px; }
.ph-shop-tile { overflow: hidden; border: 1px solid #eadccd; border-radius: 15px; background: #fffdfa; box-shadow: 0 7px 18px rgba(42,23,26,.055); transition: transform .22s ease, box-shadow .22s ease; }
.ph-shop-tile:hover { transform: translateY(-4px); box-shadow: 0 16px 31px rgba(42,23,26,.11); }
.ph-shop-tile img { width: 100%; height: 225px; object-fit: cover; background: #f3e6d4; }
.ph-shop-tile-copy { padding: 19px 20px 21px; }
.ph-shop-tile-copy h2, .ph-shop-tile-copy h3 { margin: 0; color: var(--ph-plum-dark); font-family: var(--ph-serif); font-size: 27px; line-height: 1.05; }
.ph-shop-tile-copy p { margin: 9px 0 16px; color: var(--ph-muted); font-size: 12px; }
.ph-coming-soon { display: inline-flex; padding: 6px 10px; border: 1px solid #dfc49d; border-radius: 99px; color: #7b4b18; background: #fff2d9; font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.ph-store-note { margin: 22px 0 0; padding: 17px 20px; border-left: 3px solid var(--ph-gold); border-radius: 0 9px 9px 0; color: #655952; background: #f8efe2; font-size: 12px; line-height: 1.6; }
.ph-section-head-row { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 37px 0 17px; }
.ph-section-head-row h2 { margin: 0; color: var(--ph-plum-dark); font-family: var(--ph-serif); font-size: clamp(30px, 3vw, 42px); line-height: 1.03; }
.ph-product-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: center; gap: clamp(25px, 4vw, 55px); margin-top: 33px; padding: clamp(18px, 3vw, 34px); border: 1px solid #eadccd; border-radius: 18px; background: #fffdfa; box-shadow: 0 10px 30px rgba(42,23,26,.055); }
.ph-product-detail-image { overflow: hidden; border-radius: 12px; background: #f4e7d7; }
.ph-product-detail-image img { width: 100%; max-height: 590px; object-fit: contain; mix-blend-mode: multiply; }
.ph-product-detail-copy h2 { margin: 0; color: var(--ph-plum-dark); font-family: var(--ph-serif); font-size: clamp(34px, 4vw, 52px); line-height: 1; }
.ph-product-detail-copy p { color: #655952; font-size: 13px; line-height: 1.7; }
.ph-product-price-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin: 19px 0; }
.ph-product-price-row strong { color: var(--ph-plum); font-size: 27px; }
.ph-product-price-row del { color: #80736d; font-size: 14px; }
.ph-product-feature-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; margin: 18px 0 23px; padding: 0; list-style: none; }
.ph-product-feature-list li { position: relative; padding-left: 22px; color: #493e39; font-size: 12px; }
.ph-product-feature-list li::before { content: "✓"; position: absolute; left: 0; color: #7b854a; font-weight: 900; }
.ph-product-fine-print { margin: 15px 0 0; color: #897b72; font-size: 10px !important; }
.ph-back-to-shop { display: inline-flex; align-items: center; gap: 8px; color: var(--ph-plum); font-size: 11px; font-weight: 800; }
.ph-back-to-shop:hover { text-decoration: underline; }
.ph-store-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.ph-store-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 39px; padding: 9px 14px; border: 1px solid #e4d5c7; border-radius: 99px; color: var(--ph-plum); background: #fffdfa; font-size: 11px; font-weight: 800; }
.ph-store-links a:hover { border-color: var(--ph-gold); background: #fbf1e3; }
.ph-store-links a.ph-button { color: #fff; background: var(--ph-plum); border-color: var(--ph-plum); }
@media (max-width: 780px) {
  .ph-hero-visual { padding: 8px 0 0; margin: 0 -6px; }
  .ph-hero-image { width: 100%; height: min(95vw, 395px); min-height: 255px; transform: none; }
  .ph-hero-visual:hover .ph-hero-image { transform: scale(1.015); }
  .ph-store-hero { padding-top: 18px; }
  .ph-store-hero-grid, .ph-product-detail-grid { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
  .ph-store-title { font-size: clamp(39px, 12vw, 57px); }
  .ph-store-image-frame img { max-height: 350px; }
  .ph-collection-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .ph-shop-tile img { height: clamp(125px, 34vw, 200px); }
  .ph-shop-tile-copy { padding: 13px; }
  .ph-shop-tile-copy h2, .ph-shop-tile-copy h3 { font-size: 22px; }
  .ph-section-head-row { align-items: flex-start; flex-direction: column; }
  .ph-product-detail-image img { max-height: 410px; }
}
@media (max-width: 420px) {
  .ph-collection-card-grid { grid-template-columns: 1fr; }
  .ph-shop-tile img { height: 210px; }
  .ph-product-feature-list { grid-template-columns: 1fr; }
}

/* WordPress utility styles */
.alignwide { max-width: 1240px; margin-inline: auto; }
.alignfull { width: 100%; }
.wp-caption { max-width: 100%; }
.wp-caption-text { color: var(--ph-muted); font-size: 12px; }
.gallery { display: grid; gap: 16px; }
.sticky { display: block; }
.bypostauthor { display: block; }

@media (min-width: 1500px) {
  .ph-hero-title { font-size: 96px; }
}
@media (max-width: 1050px) {
  .ph-container { width: min(100% - 38px, 1240px); }
  .ph-header-inner { gap: 14px; }
  .ph-brand { min-width: 170px; }
  .ph-primary-nav { gap: 13px; }
  .ph-primary-nav a { font-size: 10px; }
  .ph-header-actions { gap: 7px; }
  .ph-hero-inner { grid-template-columns: 1fr 1fr; }
  .ph-hero-title { font-size: clamp(55px, 7vw, 76px); }
  .ph-hero-benefits { gap: 12px; }
  .ph-category-grid { gap: 9px; }
  .ph-category-image-wrap { height: 100px; }
  .ph-ingredients-layout { gap: 23px; }
  .ph-results-layout { grid-template-columns: .7fr 1fr 1.15fr; gap: 20px; }
  .ph-newsletter-inner { grid-template-columns: 1fr 1fr; }
  .ph-footer-values { display: none; }
  .ph-footer-main { gap: 22px; }
}
@media (max-width: 780px) {
  html { scroll-padding-top: 74px; }
  body { font-size: 13px; }
  .ph-container { width: min(100% - 30px, 650px); }
  .ph-section { padding: 43px 0; }
  .ph-announcement-inner { width: calc(100% - 16px); gap: 13px; overflow-x: auto; justify-content: flex-start; scrollbar-width: none; }
  .ph-announcement-inner::-webkit-scrollbar { display: none; }
  .ph-announcement-item { font-size: 9px; }
  .ph-announcement-divider { display: none; }
  .ph-header-inner { min-height: 69px; gap: 10px; }
  .ph-brand { min-width: auto; gap: 7px; }
  .ph-brand-mark { width: 29px; height: 34px; flex-basis: 29px; }
  .ph-brand-name { font-size: 17px; }
  .ph-brand-tagline { font-size: 6px; }
  .ph-primary-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 7px 15px 14px; border-top: 1px solid var(--ph-line); border-bottom: 1px solid var(--ph-line); background: var(--ph-ivory); box-shadow: 0 15px 20px rgba(30,20,23,.08); }
  .ph-primary-nav .ph-nav-list { display: flex; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 0; list-style: none; }
  .ph-primary-nav.is-open { display: flex; }
  .ph-primary-nav a { display: block; padding: 11px 8px; border-bottom: 1px solid rgba(70,36,47,.08); font-size: 12px; }
  .ph-primary-nav a:last-child { border-bottom: 0; }
  .ph-primary-nav .ph-nav-list li a { border-bottom: 1px solid rgba(70,36,47,.08); }
  .ph-primary-nav .ph-nav-list li:last-child a { border-bottom: 0; }
  .ph-custom-logo { max-width: 38px; max-height: 40px; }
  .ph-mobile-toggle { display: grid; }
  .ph-header-actions { margin-left: auto; gap: 5px; }
  .ph-header-cta { display: none; }
  .ph-icon-button { width: 29px; }
  .ph-hero { min-height: 0; }
  .ph-hero-inner { min-height: 0; grid-template-columns: 1fr; gap: 0; padding-top: 5px; }
  .ph-hero-copy { padding: 30px 0 3px; }
  .ph-hero .ph-eyebrow { margin-bottom: 12px; font-size: 10px; }
  .ph-hero-title { font-size: clamp(58px, 13vw, 82px); }
  .ph-hero-tagline { margin-top: 17px; font-size: 10px; letter-spacing: .17em; }
  .ph-hero-description { max-width: 490px; font-size: 12px; }
  .ph-hero-benefits { max-width: 460px; margin: 17px 0; gap: 10px; }
  .ph-mini-benefit { font-size: 8px; }
  .ph-mini-benefit-icon { width: 34px; height: 34px; }
  .ph-hero-visual { min-height: 280px; max-height: 410px; margin: -3px -8px 0; }
  .ph-hero-image { height: min(95vw, 395px); min-height: 255px; object-position: center 48%; }
  .ph-natural-stamp { top: 6%; right: 5%; width: 72px; height: 72px; }
  .ph-natural-stamp strong { font-size: 22px; }
  .ph-natural-stamp span { max-width: 51px; font-size: 6px; }
  .ph-proof-line { gap: 9px; font-size: 8px; margin-top: 12px; }
  .ph-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ph-trust-item { min-height: 62px; justify-content: flex-start; border-right: 1px solid rgba(85,43,53,.08); border-bottom: 1px solid rgba(85,43,53,.08); padding: 9px 10px; gap: 9px; }
  .ph-trust-item:nth-child(2n) { border-right: 0; }
  .ph-trust-item:last-child { grid-column: 1 / -1; justify-content: center; border-bottom: 0; }
  .ph-trust-icon { width: 24px; height: 24px; flex-basis: 24px; }
  .ph-categories { padding-top: 35px; padding-bottom: 35px; }
  .ph-centered-heading .ph-section-title { font-size: 32px; }
  .ph-category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-top: 20px; }
  .ph-category-image-wrap { height: clamp(120px, 35vw, 190px); }
  .ph-category-copy { min-height: 48px; }
  .ph-category-copy strong { font-size: 16px; }
  .ph-category-copy small { font-size: 10px; }
  .ph-ingredients-layout { grid-template-columns: 1fr; gap: 25px; }
  .ph-ingredients-copy .ph-section-title { max-width: 420px; font-size: 39px; }
  .ph-ingredients-copy p:not(.ph-eyebrow) { max-width: 500px; }
  .ph-ingredient-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 10px; }
  .ph-ingredient-art { width: 65px; height: 65px; font-size: 23px; }
  .ph-ingredient strong { font-size: 10px; }
  .ph-results-layout { grid-template-columns: 1fr; gap: 22px; }
  .ph-results-visual { min-height: 190px; max-height: 250px; margin: -30px -14px 0; order: 2; justify-content: center; }
  .ph-results-visual img { max-height: 250px; width: auto; max-width: 100%; }
  .ph-results-copy { order: 1; }
  .ph-results-cards { order: 3; }
  .ph-results-copy .ph-section-title { font-size: 39px; }
  .ph-proof-placeholder { min-height: 135px; }
  .ph-result-photo > img { height: 135px; }
  .ph-howto-head .ph-section-title { font-size: 32px; }
  .ph-howto-layout { grid-template-columns: 1fr; }
  .ph-steps-card { gap: 10px 5px; padding: 18px 10px; }
  .ph-step-icon { width: 48px; height: 48px; }
  .ph-step:not(:last-child)::after { right: -14px; top: 10px; font-size: 19px; }
  .ph-step p { font-size: 9px; }
  .ph-howto-image { max-height: 260px; }
  .ph-howto-image img { max-height: 260px; }
  .ph-reviews-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .ph-reviews-heading .ph-section-title { font-size: 29px; }
  .ph-reviews-summary { text-align: left; }
  .ph-review-grid { grid-template-columns: 1fr; gap: 10px; }
  .ph-review-card { min-height: 0; padding: 15px; }
  .ph-review-card p { max-width: 460px; }
  .ph-faq-layout { grid-template-columns: 1fr; gap: 25px; }
  .ph-faq-heading .ph-section-title { font-size: 30px; }
  .ph-offer-card { min-height: 0; padding: 19px; }
  .ph-offer-title { font-size: 34px; }
  .ph-offer-image { max-height: 220px; }
  .ph-newsletter-inner { grid-template-columns: 1fr; gap: 17px; }
  .ph-newsletter h2 { font-size: 28px; }
  .ph-footer-main { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px 22px; padding: 30px 0; }
  .ph-footer-about { grid-column: 1 / -1; }
  .ph-footer-about p { max-width: 430px; }
  .ph-footer-bottom-inner { align-items: flex-start; flex-direction: column; justify-content: center; padding: 14px 0; gap: 12px; }
  .ph-order-modal { padding: 24px 18px; }
}
@media (max-width: 420px) {
  .ph-container { width: calc(100% - 24px); }
  .ph-announcement-item { font-size: 8px; }
  .ph-brand-name { font-size: 15px; letter-spacing: .08em; }
  .ph-brand-tagline { letter-spacing: .14em; }
  .ph-header-inner { gap: 6px; }
  .ph-header-actions { gap: 2px; }
  .ph-hero-title { font-size: 58px; }
  .ph-hero-order { min-width: 138px; padding-inline: 15px; }
  .ph-price-now { font-size: 23px; }
  .ph-proof-line { display: grid; grid-template-columns: repeat(2, max-content); }
  .ph-trust-item strong { font-size: 9px; }
  .ph-category-image-wrap { height: 125px; }
  .ph-ingredient-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ph-ingredient-art { width: 66px; height: 66px; }
  .ph-steps-card { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px 8px; }
  .ph-step:not(:last-child)::after { display: none; }
  .ph-step p { font-size: 10px; }
  .ph-offer-card { grid-template-columns: 1fr .75fr; gap: 3px; padding: 15px; }
  .ph-offer-title { font-size: 30px; }
  .ph-offer-prices strong { font-size: 17px; }
  .ph-offer-card .ph-button { min-width: 0; padding-inline: 13px; }
  .ph-offer-proof { font-size: 8px; gap: 7px; }
  .ph-footer-main { grid-template-columns: 1fr 1fr; gap: 24px 14px; }
  .ph-footer-about p { font-size: 10px; }
  .ph-contact-item { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* Bundle offer and customer feedback form */
.ph-bundle-offer-line { display: inline-block; margin: 8px 0 5px; padding: 6px 10px; border: 1px solid #e2c79f; border-radius: 7px; color: #68451c; background: #fff1d8; font-size: 10px; font-weight: 700; line-height: 1.4; }
.ph-offer-bundle { margin: 8px 0 13px; color: #6e4d27; font-size: 10px; font-weight: 800; }
.ph-review-form { margin-top: 22px; padding: clamp(18px, 3vw, 30px); border: 1px solid #eadccd; border-radius: 16px; background: #fffdfa; box-shadow: 0 8px 24px rgba(45,24,30,.055); }
.ph-review-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.ph-review-comment { grid-column: 1 / -1; }
.ph-review-form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 14px; }
.ph-review-form-actions .ph-form-privacy { max-width: 430px; margin: 0; }
.ph-review-form [data-review-notice]:empty { display: none; }
.ph-socials a:focus-visible, .ph-category-card:focus-visible { outline: 3px solid #d8aa63; outline-offset: 3px; }
@media (max-width: 600px) { .ph-review-form-grid { grid-template-columns: 1fr; } .ph-review-comment { grid-column: auto; } .ph-review-form-actions { align-items: flex-start; flex-direction: column; } }

.ph-whatsapp-inline { display: inline-flex; align-items: center; gap: 5px; margin: 6px 0 2px; color: #4f653c; font-size: 10px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.ph-whatsapp-inline:hover { color: var(--ph-plum); }

.ph-category-image-wrap { position: relative; }
.ph-category-status { position: absolute; top: 8px; right: 8px; z-index: 2; padding: 5px 7px; border: 1px solid rgba(255,255,255,.75); border-radius: 99px; color: #fff; background: rgba(65,19,49,.9); font-size: 7px; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; box-shadow: 0 2px 7px rgba(35,15,26,.15); }

.ph-consult-section { padding: 34px 0; color: #fff8f3; background: radial-gradient(circle at 90% 50%, rgba(148,91,116,.35), transparent 32%), var(--ph-plum-dark); }
.ph-consult-inner { display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.ph-consult-inner .ph-eyebrow { margin: 0 0 5px; color: #e3c28a; }
.ph-consult-inner h2 { margin: 0; color: #fff8f3; font-family: var(--ph-serif); font-size: clamp(27px, 3vw, 38px); line-height: 1.05; }
.ph-consult-inner p:not(.ph-eyebrow) { margin: 7px 0 0; color: #e7d4de; font-size: 12px; }
.ph-ritual-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ph-featured-product-tile { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: center; max-width: 900px; margin: 0 auto; }
.ph-featured-product-tile > img { height: 260px; object-fit: contain; mix-blend-mode: multiply; }
@media (max-width: 780px) { .ph-consult-inner { align-items: flex-start; flex-direction: column; } .ph-featured-product-tile { grid-template-columns: 1fr; } .ph-featured-product-tile > img { height: 230px; } .ph-ritual-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 420px) { .ph-ritual-grid { grid-template-columns: 1fr; } }

/* -------------------------------------------------------------------------
   Pure Harvest v1.3.0 — desktop reference match (1024 × 1536 target)
   Compact layout values intentionally follow the supplied screenshot rhythm.
   ------------------------------------------------------------------------- */
@media (min-width: 901px) {
  .ph-container { width: min(1200px, calc(100% - 160px)); }
  .ph-section { padding-top: 0; padding-bottom: 0; }

  /* Announcements and navigation */
  .ph-announcement { min-height: 25px; height: 25px; }
  .ph-announcement-inner { width: min(1200px, calc(100% - 160px)); gap: clamp(16px, 4vw, 48px); }
  .ph-announcement-item { gap: 5px; font-size: 8px; letter-spacing: .01em; }
  .ph-announcement-item svg { width: 12px; height: 12px; }
  .ph-announcement-divider { font-size: 8px; }
  .ph-site-header { min-height: 44px; }
  .ph-header-inner { min-height: 44px; gap: 14px; }
  .ph-brand { min-width: 165px; gap: 7px; }
  .ph-brand-mark { width: 27px; height: 30px; flex-basis: 27px; }
  .ph-custom-logo { max-width: 34px; max-height: 36px; }
  .ph-brand-name { font-size: 16px; letter-spacing: .11em; }
  .ph-brand-tagline { margin-top: 3px; font-size: 6px; letter-spacing: .2em; }
  .ph-primary-nav { gap: 15px; }
  .ph-primary-nav .ph-nav-list { gap: 15px; }
  .ph-primary-nav a { font-size: 8px; font-weight: 600; }
  .ph-header-actions { gap: 6px; }
  .ph-icon-button { width: 25px; height: 29px; }
  .ph-icon-button svg { width: 16px; height: 16px; }
  .ph-cart-count { min-width: 13px; height: 13px; top: 0; right: -1px; padding: 0 3px; font-size: 7px; }
  .ph-header-cta { min-height: 28px; padding: 6px 17px; font-size: 9px; }

  /* Hero: photo crop supplies the exact product-lineup composition only;
     headings, price and ordering controls remain live HTML. */
  .ph-hero { min-height: clamp(370px, 36.13vw, 430px); height: clamp(370px, 36.13vw, 430px); background: #f6eddf; }
  .ph-hero::before { opacity: .12; }
  .ph-hero-inner { position: static; display: block; min-height: inherit; height: 100%; }
  .ph-hero-copy { width: 36.5%; max-width: 350px; margin-left: 10px; padding: 17px 0 11px; }
  .ph-hero .ph-eyebrow { margin: 0 0 6px; font-size: 8.5px; line-height: 1.2; letter-spacing: .1em; }
  .ph-hero-title { max-width: 355px; font-size: clamp(43px, 4.45vw, 53px); line-height: .82; letter-spacing: -.045em; }
  .ph-hero-title span { margin-top: 0; }
  .ph-hero-tagline { margin: 8px 0 5px; font-size: 9px; line-height: 1.25; letter-spacing: .16em; }
  .ph-hero-description { max-width: 310px; margin: 0; color: #2c2826; font-size: 9.7px; line-height: 1.38; }
  .ph-hero-benefits { display: flex; justify-content: space-between; gap: 5px; margin: 10px 0 8px; }
  .ph-mini-benefit { min-width: 0; max-width: 58px; flex: 1 1 0; gap: 4px; color: #3d3835; font-size: 7.5px; line-height: 1.15; }
  .ph-mini-benefit-icon { width: 31px; height: 31px; border-color: #514b46; }
  .ph-mini-benefit-icon svg { width: 17px; height: 17px; }
  .ph-price-row { gap: 8px; margin: 7px 0 6px; }
  .ph-price-now { font-size: 20px; line-height: 1; letter-spacing: -.025em; }
  .ph-price-old { font-size: 11px; }
  .ph-discount { padding: 3px 7px; font-size: 8px; }
  .ph-order-row { gap: 8px; flex-wrap: nowrap; }
  .ph-quantity { height: 28px; }
  .ph-quantity button { width: 24px; font-size: 15px; }
  .ph-quantity input { width: 19px; font-size: 10px; }
  .ph-hero-order { min-width: 155px; min-height: 28px; padding: 6px 15px; font-size: 9px; box-shadow: none; }
  .ph-hero-order .ph-small-icon { width: 14px; height: 14px; flex-basis: 14px; }
  .ph-hero-copy > .ph-whatsapp-inline { display: none; }
  .ph-proof-line { gap: 8px; margin-top: 12px; font-size: 7px; line-height: 1.15; }
  .ph-proof-line span { gap: 3px; white-space: nowrap; }
  .ph-proof-line svg { width: 11px; height: 11px; }
  .ph-hero-visual { position: absolute; z-index: 0; top: 0; right: 0; bottom: 0; left: 38%; display: block; height: auto; min-height: 0; margin: 0; padding: 0; overflow: hidden; pointer-events: none; }
  .ph-hero-visual::before { display: none; }
  .ph-hero-image { display: block; width: 100%; max-width: none; height: 100%; min-height: 0; object-fit: cover; object-position: center; mix-blend-mode: normal; filter: none; transform: none; }
  .ph-hero-visual:hover .ph-hero-image { transform: none; filter: none; }
  .ph-natural-stamp { display: none; }
  .ph-home-notice { font-size: 0; line-height: 0; }
  .ph-home-notice .ph-form-notice { font-size: 11px; line-height: 1.35; margin: 5px 0; }

  /* Slim five-column shipping / trust strip */
  .ph-trust-strip { min-height: 46px; }
  .ph-trust-grid { grid-template-columns: repeat(5, minmax(0,1fr)); }
  .ph-trust-item { min-height: 45px; gap: 8px; padding: 5px 6px; }
  .ph-trust-icon { width: 23px; height: 23px; flex-basis: 23px; }
  .ph-trust-item strong { font-size: 8px; line-height: 1.15; }
  .ph-trust-item small { margin-top: 1px; font-size: 7px; line-height: 1.15; }

  /* Six category cards and short editorial headings */
  .ph-categories { padding: 10px 0 11px; background: #fffaf3; }
  .ph-centered-heading .ph-eyebrow { margin: 0 0 2px; color: var(--ph-gold-dark); font-size: 9px; letter-spacing: .22em; line-height: 1.2; }
  .ph-centered-heading .ph-section-title { font-size: 28px; line-height: 1.02; letter-spacing: -.02em; }
  .ph-centered-heading .ph-section-intro { margin-top: 3px; font-size: 10px; line-height: 1.2; }
  .ph-category-grid { grid-template-columns: repeat(6, minmax(0,1fr)); gap: 10px; margin-top: 12px; }
  .ph-category-card { border-radius: 7px; border-color: #eadfd3; box-shadow: 0 2px 8px rgba(65,39,30,.055); }
  .ph-category-card:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(65,39,30,.1); }
  .ph-category-image-wrap { height: 84px; background: #f6ead8; }
  .ph-category-image { object-fit: cover; }
  .ph-category-copy { min-height: 63px; padding: 5px 4px 6px; }
  .ph-category-copy strong { font-family: var(--ph-sans); font-size: 10px; font-weight: 800; line-height: 1.1; }
  .ph-category-copy small { margin-top: 3px; font-size: 7.3px; line-height: 1.1; }
  .ph-category-link { justify-content: center; min-height: 18px; margin-top: 5px; padding: 3px 12px; border-radius: 999px; color: #fff; background: var(--ph-plum); font-size: 7.5px; line-height: 1; font-weight: 700; }
  .ph-category-link::after { color: #fff; }
  .ph-category-status { top: 5px; right: 5px; padding: 4px 5px; font-size: 6px; }

  /* Ingredients: small circular real-photo swatches, two rows of five */
  .ph-ingredients { padding: 12px 0 10px; background: #fcf6ee; }
  .ph-ingredients-layout { grid-template-columns: minmax(285px, .9fr) minmax(0,1.6fr); gap: 20px; align-items: center; }
  .ph-ingredients-copy .ph-eyebrow { margin: 0 0 3px; font-size: 8.5px; line-height: 1.15; letter-spacing: .1em; }
  .ph-ingredients-copy .ph-section-title { max-width: 310px; font-size: 26px; line-height: .98; letter-spacing: -.028em; }
  .ph-ingredients-copy p:not(.ph-eyebrow) { max-width: 305px; margin: 7px 0 9px; font-size: 9.4px; line-height: 1.35; }
  .ph-ingredients-copy .ph-button { min-height: 28px; padding: 7px 14px; font-size: 8.5px; box-shadow: none; }
  .ph-ingredient-grid { grid-template-columns: repeat(5, minmax(0,1fr)); gap: 8px 4px; }
  .ph-ingredient { text-align: center; min-width: 0; }
  .ph-ingredient-art { display: block; width: 50px; height: 50px; margin: 0 auto 4px; padding: 0; overflow: hidden; border: 2px solid rgba(255,255,255,.95); border-radius: 50%; background: #f5ead6 !important; box-shadow: 0 2px 5px rgba(63,52,25,.1); font-size: 0; color: transparent; }
  .ph-ingredient-art img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
  .ph-ingredient strong { font-size: 8px; line-height: 1.1; }
  .ph-ingredient small { margin-top: 2px; font-size: 7px; line-height: 1.05; }

  /* Burgundy results banner */
  .ph-results { min-height: 167px; padding: 0; }
  .ph-results::before { opacity: .3; }
  .ph-results-layout.ph-container { width: 100%; max-width: none; margin: 0; padding: 0 max(80px, calc((100vw - 1200px)/2)); display: grid; grid-template-columns: minmax(280px,36.3vw) minmax(210px,23.6vw) minmax(260px,27.8vw); gap: 16px; align-items: center; min-height: 167px; }
  .ph-results-visual { align-self: stretch; display: block; min-height: 167px; height: 167px; margin: 0; overflow: hidden; }
  .ph-results-visual img { width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: center; mix-blend-mode: normal; border-radius: 0; }
  .ph-results-copy { align-self: center; padding: 8px 0; }
  .ph-results .ph-eyebrow { margin: 0 0 3px; color: #e7c27f; font-size: 8px; line-height: 1.1; letter-spacing: .15em; }
  .ph-results .ph-section-title { color: #fff7f1; font-size: 25px; line-height: 1.02; letter-spacing: -.02em; }
  .ph-results-copy p:not(.ph-eyebrow) { display: none; }
  .ph-benefit-list { gap: 3px; margin: 7px 0 0; }
  .ph-benefit-list li { gap: 6px; font-size: 9.5px; line-height: 1.15; }
  .ph-check { color: #f0cc86; }
  .ph-results-cards { align-self: center; min-width: 0; grid-template-columns: 1fr 1fr; gap: 5px; padding: 6px; border: 1px solid rgba(255,255,255,.3); border-radius: 8px; background: #f8f0e8; }
  .ph-result-photo { border-radius: 5px; background: #fffaf4; }
  .ph-result-photo > img { width: 100%; height: 94px; object-fit: cover; border-radius: 5px 5px 0 0; }
  .ph-result-photo > strong { padding: 3px 3px; color: var(--ph-plum); background: #fffaf4; font-family: var(--ph-sans); font-size: 10px; line-height: 1.1; }
  .ph-proof-caption { grid-column: 1/-1; margin: 0; color: #623d50; font-size: 6px; line-height: 1.15; }

  /* Four-step use panel with the oil-pouring photo bleeding to the right edge */
  .ph-howto { padding: 8px 0 7px; background: #fbf5ed; }
  .ph-howto-head { margin-bottom: 6px; }
  .ph-howto-head .ph-section-title { font-size: 17px; line-height: 1.1; }
  .ph-howto-head .ph-section-intro { margin-top: 2px; font-size: 9px; line-height: 1.15; }
  .ph-howto-layout { width: calc(100% + 120px); margin-left: -40px; display: grid; grid-template-columns: minmax(0,1fr) 282px; align-items: stretch; gap: 0; }
  .ph-steps-card { grid-template-columns: repeat(4,minmax(0,1fr)); align-items: start; gap: 7px; min-height: 77px; padding: 7px 14px 6px; border-radius: 9px; background: rgba(255,255,255,.65); box-shadow: 0 2px 6px rgba(75,48,39,.04); }
  .ph-step { min-width: 0; }
  .ph-step-icon { width: 42px; height: 42px; margin-bottom: 3px; border-color: var(--ph-plum-soft); background: #fffaf5; }
  .ph-step-icon svg { width: 21px; height: 21px; }
  .ph-step:not(:last-child)::after { right: -11px; top: 9px; font-size: 19px; }
  .ph-step strong { font-size: 8px; line-height: 1.1; }
  .ph-step p { max-width: 118px; margin-top: 2px; font-size: 7.5px; line-height: 1.15; }
  .ph-howto-image { height: 120px; min-height: 120px; border-radius: 0; background: #eed9b9; }
  .ph-howto-image img { width: 100%; height: 100%; min-height: 120px; object-fit: cover; object-position: center; }

  /* Compact review row; actual submissions remain available in the disclosure */
  .ph-reviews { padding: 8px 0 9px; background: #fffaf3; }
  .ph-reviews-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
  .ph-reviews .ph-eyebrow { margin: 0; color: var(--ph-plum-dark); font-family: var(--ph-serif); font-size: 13px; line-height: 1.05; letter-spacing: .02em; }
  .ph-reviews-heading .ph-section-title { display: none; }
  .ph-reviews .ph-section-intro { margin: 2px 0 0; font-size: 8.5px; line-height: 1.1; }
  .ph-reviews-summary { text-align: right; }
  .ph-reviews-summary strong { font-size: 11px; line-height: 1.1; }
  .ph-reviews-summary span { margin-top: 2px; font-size: 7px; line-height: 1.1; }
  .ph-review-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
  .ph-review-card { display: grid; grid-template-columns: 49px minmax(0,1fr); align-items: center; gap: 8px; min-height: 69px; padding: 7px; border: 1px solid #eee4d9; border-radius: 6px; box-shadow: 0 2px 7px rgba(60,40,33,.035); }
  .ph-review-avatar { display: block; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
  .ph-review-card-copy { min-width: 0; }
  .ph-review-card-copy > strong { display: block; color: #30232c; font-size: 8px; line-height: 1.1; }
  .ph-review-placeholder-label { margin-top: 3px; padding: 2px 4px; border-radius: 3px; font-size: 6px; letter-spacing: .02em; }
  .ph-review-card p { margin: 3px 0 0; color: #655951; font-family: var(--ph-sans); font-size: 7px; line-height: 1.15; }
  .ph-review-write { margin-top: 5px; font-size: 8px; }
  .ph-review-write > summary { cursor: pointer; color: #e9d1db; list-style: none; }
  .ph-review-write > summary::-webkit-details-marker { display: none; }
  .ph-review-write > summary::before { content: "+ "; color: #efcc8d; }
  .ph-review-write[open] > summary::before { content: "− "; }
  .ph-review-form { margin-top: 6px; padding: 12px; border-radius: 8px; }

  /* FAQ and offer card */
  .ph-faq-offer { padding: 8px 0 10px; background: #fbf5ed; }
  .ph-faq-layout { grid-template-columns: minmax(0,1fr) minmax(0,1.08fr); gap: 17px; align-items: center; }
  .ph-faq-heading { margin-bottom: 6px; }
  .ph-faq-heading .ph-section-title { font-size: 15px; line-height: 1.05; letter-spacing: -.01em; text-transform: uppercase; }
  .ph-faq-heading p { margin-top: 2px; font-size: 8px; line-height: 1.15; }
  .ph-faq-list { gap: 3px; }
  .ph-faq-list details { border-radius: 4px; }
  .ph-faq-list summary { gap: 8px; padding: 5px 8px; font-size: 8px; line-height: 1.2; }
  .ph-faq-list summary::after { font-size: 12px; }
  .ph-faq-list details p { padding: 0 8px 7px; font-size: 8px; line-height: 1.35; }
  .ph-offer-card { min-height: 100px; grid-template-columns: minmax(0,1fr) 43%; gap: 4px; padding: 8px 9px 8px 12px; border-radius: 8px; box-shadow: 0 2px 7px rgba(57,31,35,.045); }
  .ph-limited { padding: 3px 5px; font-size: 6.5px; line-height: 1; }
  .ph-offer-title { display: none; }
  .ph-offer-prices { gap: 6px; margin: 3px 0 1px; }
  .ph-offer-prices strong { font-size: 17px; line-height: 1.05; }
  .ph-offer-prices del { font-size: 8px; }
  .ph-offer-saving { margin: 0 0 5px; font-size: 8px; line-height: 1.1; }
  .ph-offer-bundle { display: none; }
  .ph-offer-card .ph-button { min-width: 0; width: 100%; min-height: 25px; padding: 5px 10px; font-size: 8px; box-shadow: none; }
  .ph-offer-card .ph-small-icon { width: 13px; height: 13px; flex-basis: 13px; }
  .ph-offer-proof { gap: 5px; margin-top: 4px; font-size: 6px; line-height: 1.1; }
  .ph-offer-image { width: 100%; height: 83px; max-height: 83px; object-fit: cover; object-position: center; mix-blend-mode: normal; border-radius: 4px; }

  /* Plum newsletter and four-column footer */
  .ph-newsletter { padding: 7px 0; }
  .ph-newsletter-inner { grid-template-columns: minmax(0,1.1fr) minmax(220px,1fr) auto; align-items: center; gap: 12px; }
  .ph-newsletter h2 { font-size: 14px; line-height: 1.05; }
  .ph-newsletter p { margin-top: 2px; font-size: 7.5px; line-height: 1.15; }
  .ph-newsletter-form { grid-template-columns: minmax(0,1fr) auto; gap: 0; }
  .ph-newsletter-form input[type="email"] { min-height: 25px; padding: 5px 10px; font-size: 7.5px; }
  .ph-newsletter-form button { min-width: 82px; padding: 0 9px; font-size: 7.5px; }
  .ph-newsletter-consent { display: none; }
  .ph-footer-values { display: flex; gap: 6px; min-width: 0; }
  .ph-footer-value { display: flex; min-width: 0; gap: 4px; font-size: 7px; }
  .ph-footer-value svg { width: 18px; height: 18px; }
  .ph-footer-main { grid-template-columns: 1.25fr .8fr .9fr 1.1fr; gap: 22px; padding: 11px 0 8px; }
  .ph-footer-logo { gap: 5px; margin-bottom: 5px; }
  .ph-footer-logo .ph-brand-mark { width: 25px; height: 26px; flex-basis: 25px; }
  .ph-footer-logo .ph-brand-name { font-size: 13px; }
  .ph-footer-logo .ph-brand-tagline { font-size: 5px; margin-top: 2px; }
  .ph-footer-about p { max-width: 190px; font-size: 7px; line-height: 1.3; }
  .ph-socials { gap: 7px; margin-top: 5px; }
  .ph-socials a { width: 17px; height: 17px; border: 0; border-radius: 0; font-size: 12px; }
  .ph-footer-heading { margin: 1px 0 5px; font-size: 8px; line-height: 1.1; }
  .ph-footer-links { gap: 2px; }
  .ph-footer-links a { font-size: 7px; line-height: 1.12; }
  .ph-contact-item { gap: 5px; margin-bottom: 3px; font-size: 7px; line-height: 1.15; }
  .ph-contact-item svg { width: 10px; height: 10px; flex-basis: 10px; }
  .ph-footer-bottom-inner { min-height: 28px; gap: 12px; }
  .ph-copyright { font-size: 7px; }
  .ph-payment-row { gap: 4px; }
  .ph-payment { padding: 3px 5px; font-size: 7px; }
  .ph-cod-note { margin-left: 3px; gap: 4px; font-size: 7px; }
  .ph-cod-note svg { width: 15px; height: 15px; }
}

@media (min-width: 781px) and (max-width: 900px) {
  .ph-container { width: calc(100% - 38px); }
  .ph-hero { height: auto; min-height: 360px; }
  .ph-hero-inner { min-height: 360px; }
  .ph-hero-visual { left: auto; }
  .ph-hero-copy { width: 40%; margin-left: 0; }
  .ph-hero-title { font-size: clamp(38px, 5vw, 45px); }
  .ph-category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ph-ingredients-layout { grid-template-columns: 1fr 1.6fr; }
  .ph-results-layout.ph-container { padding: 0 22px; grid-template-columns: minmax(180px,1fr) minmax(190px,1fr); }
  .ph-results-cards { grid-column: 1/-1; }
  .ph-howto-layout { width: 100%; margin-left: 0; grid-template-columns: minmax(0,1fr) 220px; }
  .ph-newsletter-inner { grid-template-columns: 1fr 1fr; }
  .ph-footer-values { display: none; }
}

@media (max-width: 780px) {
  .ph-hero-copy > .ph-whatsapp-inline { display: inline-flex; }
  .ph-howto-layout { width: 100%; margin-left: 0; }
  .ph-results-layout.ph-container { width: min(100% - 30px, 650px); margin-inline: auto; padding: 0; }
  .ph-results-visual img { mix-blend-mode: screen; }
  .ph-review-card { grid-template-columns: 49px minmax(0,1fr); }
  .ph-review-write { color: var(--ph-plum); }
  .ph-review-write > summary { color: var(--ph-plum); }
  .ph-footer-values { display: none; }
}

@media (min-width: 901px) {
  .ph-categories { padding-top: 8px; padding-bottom: 8px; }
  .ph-centered-heading .ph-eyebrow { margin-bottom: 1px; }
  .ph-centered-heading .ph-section-title { font-size: 26px; }
  .ph-centered-heading .ph-section-intro { margin-top: 1px; }
  .ph-category-grid { margin-top: 4px; }

  .ph-howto { position: relative; height: 120px; min-height: 120px; padding: 0; overflow: hidden; }
  .ph-howto-head { position: absolute; z-index: 3; top: 5px; left: 50%; width: min(460px, 70%); margin: 0; transform: translateX(-50%); text-align: center; }
  .ph-howto-head .ph-section-title { font-size: 16px; }
  .ph-howto-head .ph-section-intro { margin-top: 1px; }
  .ph-howto-layout { position: relative; display: block; width: calc(100% + 120px); height: 120px; margin-left: -40px; padding: 0; }
  .ph-steps-card { position: absolute; top: 35px; left: 0; width: calc(100% - 282px); height: 78px; min-height: 78px; margin: 0; }
  .ph-howto-image { position: absolute; top: 0; right: 0; width: 282px; height: 120px; min-height: 120px; }
  .ph-howto-image img { height: 120px; min-height: 120px; }

  .ph-footer-follow { display: grid; justify-items: center; gap: 3px; min-width: 95px; color: #f7ebf0; }
  .ph-footer-follow-label { font-size: 8px; line-height: 1.1; }
  .ph-footer-follow-icons { display: flex; align-items: center; gap: 7px; }
  .ph-footer-follow-icons a { display: inline-grid; width: 15px; height: 15px; place-items: center; color: white; font-size: 12px; font-weight: 800; line-height: 1; }
  .ph-footer-follow-icons a:hover { color: #f2d09a; }
}
@media (max-width: 780px) {
  .ph-footer-follow { display: none; }
}


/* Final reference-alignment pass: 1024px screenshot geometry and full-bleed sections. */
@media (min-width: 901px) {
  .ph-results-layout.ph-container { padding-left: 0; padding-right: 0; }
  .ph-ingredients-layout.ph-container { width: min(928px, calc(100% - 96px)); }
  .ph-reviews > .ph-container,
  .ph-faq-layout.ph-container,
  .ph-newsletter-inner,
  .ph-footer-main,
  .ph-footer-bottom-inner { width: min(928px, calc(100% - 96px)); }
  .ph-reviews { padding-top: 6px; padding-bottom: 5px; }
  .ph-reviews-heading { margin-bottom: 5px; }
}
@media (min-width: 1000px) {
  .ph-ingredients-layout.ph-container { grid-template-columns: 300px 520px; gap: 78px; justify-content: start; }
}

/* Category header matches the reference: one compact uppercase title with gold rules. */
@media (min-width: 901px) {
  .ph-categories { padding: 8px 0 12px; }
  .ph-centered-heading { display: block; text-align: center; }
  .ph-centered-heading .ph-section-title {
    display: flex; align-items: center; justify-content: center; gap: 12px;
    margin: 0; color: var(--ph-plum-dark); font-family: var(--ph-serif);
    font-size: 15px; font-weight: 700; line-height: 1.12;
    letter-spacing: .14em; text-transform: uppercase;
  }
  .ph-centered-heading .ph-section-title::before,
  .ph-centered-heading .ph-section-title::after {
    content: ""; display: block; width: 36px; height: 1px; flex: 0 0 36px; background: var(--ph-gold);
  }
  .ph-centered-heading .ph-section-intro { margin: 4px 0 0; font-size: 11px; line-height: 1.1; }
  .ph-category-grid { margin-top: 12px; }
}
@media (min-width: 901px) {
  .ph-faq-offer { padding-top: 4px; padding-bottom: 6px; }
  .ph-faq-heading { margin-bottom: 4px; }
  .ph-faq-list summary { padding: 4px 8px; font-size: 8px; line-height: 1.1; }
}


/* v1.4.0: request-specific refinements; keeps the v1.3 reference layout intact. */
@media (min-width: 901px) {
  .ph-header-inner {
    display: grid;
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr) auto;
    gap: clamp(10px, 1.1vw, 16px);
  }
  .ph-primary-nav {
    width: 100%;
    min-width: 0;
    margin-left: 0;
    justify-content: space-evenly;
    gap: clamp(9px, .95vw, 15px);
  }
  .ph-primary-nav .ph-nav-list {
    flex: 1 1 auto;
    justify-content: space-evenly;
    gap: clamp(9px, 1.05vw, 16px);
  }
  .ph-primary-nav a {
    font-size: clamp(10px, 1.03vw, 12px);
    font-weight: 650;
    letter-spacing: .005em;
  }
  .ph-header-actions { gap: 8px; }
  .ph-footer-main { padding-top: 14px; padding-bottom: 12px; gap: 22px; }
  .ph-footer-logo .ph-brand-name { font-size: 14px; }
  .ph-footer-logo .ph-brand-tagline { font-size: 6px; }
  .ph-footer-about p { font-size: 8.5px; line-height: 1.45; }
  .ph-footer-heading { margin: 2px 0 7px; font-size: 9.5px; line-height: 1.15; }
  .ph-footer-links { gap: 4px; }
  .ph-footer-links a { font-size: 8.5px; line-height: 1.25; }
  .ph-contact-item { margin-bottom: 5px; font-size: 8.5px; line-height: 1.25; }
  .ph-contact-item svg { width: 12px; height: 12px; flex-basis: 12px; }
  .ph-footer-bottom-inner { min-height: 32px; }
  .ph-copyright, .ph-cod-note { font-size: 8px; }
  .ph-payment { font-size: 8px; }
}

/* Product samples and cart controls */
.ph-product-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 18px; }
.ph-editable-product-card { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(20px, 3vw, 40px); align-items: center; margin: 30px 0 44px; padding: clamp(16px, 2.7vw, 30px); border: 1px solid var(--ph-line); border-radius: 16px; background: #fffdf8; box-shadow: var(--ph-shadow); }
.ph-editable-product-image { overflow: hidden; min-height: 250px; border-radius: 11px; background: #f5eadc; }
.ph-editable-product-image img { width: 100%; height: 100%; min-height: 250px; max-height: 420px; object-fit: contain; mix-blend-mode: multiply; }
.ph-editable-product-copy h2 { margin: 0 0 10px; color: var(--ph-plum-dark); font: 600 clamp(28px,3vw,42px)/1 var(--ph-serif); }
.ph-editable-product-copy > p:not(.ph-eyebrow) { color: #655952; line-height: 1.65; }
.ph-editable-product-copy .ph-product-price-row { margin: 14px 0; }
.ph-related-price { display: block; margin: 9px 0 4px; color: var(--ph-plum); font-size: 18px; }
.ph-sample-tag { display: block; margin-top: 5px; color: #7a6340; font-size: 10px; }
.ph-shop-product-tile { display: flex; flex-direction: column; min-width: 0; padding-bottom: 12px; }
.ph-shop-product-tile .ph-shop-product-link { display: block; }
.ph-shop-product-tile .ph-shop-product-link > img { width: 100%; height: 210px; object-fit: cover; }
.ph-shop-product-actions { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; padding: 0 16px; margin-top: auto; }
.ph-shop-product-actions .ph-button, .ph-related-add { min-height: 34px; padding: 8px 14px; font-size: 11px; }
.ph-shop-product-actions .ph-category-link { margin: 0; font-size: 11px; }
.ph-related-add { margin: 0 16px 14px; }
.ph-shop-product-tile .ph-related-add { width: calc(100% - 32px); margin-top: 12px; }
.ph-cart-count { min-width: 16px; height: 16px; font-size: 9px; }
.ph-cart-summary { display: grid; gap: 8px; max-height: 250px; overflow-y: auto; margin: 14px 0 4px; }
.ph-cart-empty { margin: 0; padding: 13px; border: 1px dashed var(--ph-line); border-radius: 9px; color: var(--ph-muted); font-size: 12px; }
.ph-cart-line { display: grid; grid-template-columns: 60px minmax(0,1fr); align-items: center; gap: 12px; padding: 8px; border: 1px solid var(--ph-line); border-radius: 10px; background: #fffdf9; }
.ph-cart-line-image { width: 60px; height: 60px; border-radius: 7px; object-fit: contain; background: #f4e8d9; }
.ph-cart-line-copy { display: grid; gap: 4px; min-width: 0; }
.ph-cart-line-copy > strong { color: var(--ph-plum-dark); font-size: 12px; }
.ph-cart-line-price { color: var(--ph-plum); font-weight: 800; font-size: 12px; }
.ph-cart-line-controls { display: flex; align-items: center; gap: 10px; }
.ph-cart-line-controls input { width: 66px; min-height: 29px; padding: 4px 7px; border: 1px solid var(--ph-line); border-radius: 6px; background: #fff; }
.ph-cart-remove { padding: 5px 0; border: 0; background: none; color: #8c3c53; font-size: 11px; text-decoration: underline; }
.ph-cart-live-notice { min-height: 0; margin: 3px 0; color: var(--ph-green); font-size: 11px; }
.ph-order-form [data-order-total] { font-variant-numeric: tabular-nums; }
.ph-order-form button[type="submit"]:disabled { opacity: .48; cursor: not-allowed; transform: none; }
@media (max-width: 780px) {
  .ph-editable-product-card { grid-template-columns: 1fr; gap: 16px; margin: 22px 0 32px; }
  .ph-editable-product-image, .ph-editable-product-image img { min-height: 200px; max-height: 300px; }
  .ph-shop-product-tile .ph-shop-product-link > img { height: 160px; }
  .ph-shop-product-actions { padding: 0 10px; }
  .ph-shop-product-tile .ph-related-add { width: calc(100% - 20px); margin-left: 10px; margin-right: 10px; }
  .ph-footer-about p { font-size: 11px; line-height: 1.5; }
  .ph-footer-heading { font-size: 11px; }
  .ph-footer-links a, .ph-contact-item { font-size: 10.5px; line-height: 1.35; }
  .ph-copyright { font-size: 9px; }
}


/* Version 1.4.1 — readability, visible brand marks, and shop image safeguards.
   Kept as a final override layer so existing layout and functionality remain intact. */
@media (min-width: 781px) {
  .ph-announcement { min-height: 32px; }
  .ph-site-header { min-height: 62px; }
  .ph-header-inner { min-height: 62px; }
  .ph-announcement-item { font-size: 12px; }
  .ph-announcement-item svg { width: 15px; height: 15px; }
  .ph-primary-nav a { font-size: 13px; }
  .ph-brand { min-width: 215px; gap: 11px; }
  .ph-brand-mark { width: 42px; height: 46px; flex-basis: 42px; }
  .ph-custom-logo { display: block; width: auto; max-width: 205px; max-height: 48px; height: auto; object-fit: contain; flex: 0 1 auto; }
}

/* Headings: a modest +2px increase without inflating the already-large hero title. */
.ph-section-title { font-size: clamp(33px, 3.2vw, 48px); }
.ph-centered-heading .ph-section-title { font-size: clamp(32px, 3vw, 41px); }
.ph-store-title { font-size: clamp(44px, 5.5vw, 74px); }
.ph-section-head-row h2,
.ph-editable-product-copy h2,
.ph-product-detail-copy h2 { font-size: clamp(30px, 3vw, 44px); }

/* General copy and controls: improve readability while retaining the compact aesthetic. */
.ph-section-intro,
.ph-shop-tile-copy p,
.ph-product-detail-copy p,
.ph-editable-product-copy > p:not(.ph-eyebrow),
.ph-store-lead { font-size: 15px; }
.ph-primary-nav a { font-size: 13px; }
.ph-breadcrumbs { font-size: 12px; }
.ph-shop-product-actions .ph-button,
.ph-shop-product-actions .ph-category-link,
.ph-related-add { font-size: 12px; }
.ph-footer-links a,
.ph-contact-item { font-size: 12px; }
.ph-footer-about p { font-size: 13px; }
.ph-review-write { font-size: 13px; }
.ph-review-write > summary { color: var(--ph-plum-dark) !important; font-weight: 700; }

/* Header logo stays fully inside the header and never overlaps navigation/actions. */
.ph-header-inner { gap: clamp(12px, 1.6vw, 24px); }
.ph-brand { flex-shrink: 1; min-width: 0; max-width: 28%; }
.ph-custom-logo { width: auto; max-width: 100%; max-height: 48px; height: auto; object-fit: contain; }
.ph-brand-copy { min-width: 0; }
.ph-brand-name { font-size: 22px; }
.ph-brand-tagline { font-size: 8px; }

/* Reuse the exact WordPress custom logo in the footer, with a light backing for contrast. */
.ph-footer-logo { display: inline-flex; align-items: center; max-width: 100%; }
.ph-footer-logo .ph-custom-logo { display: block; width: auto; max-width: min(220px, 100%); max-height: 62px; height: auto; object-fit: contain; padding: 5px 8px; border-radius: 5px; background: var(--ph-ivory); }
.ph-footer-logo .ph-brand-mark { width: 38px; height: 42px; flex-basis: 38px; }
.ph-footer-logo .ph-brand-name { font-size: 19px; }
.ph-footer-logo .ph-brand-tagline { font-size: 7px; }

/* Shop cards use local bundled image assets and product-friendly image fitting. */
.ph-shop-product-tile .ph-shop-product-link > img {
  display: block;
  width: 100%;
  height: 220px;
  padding: 8px;
  object-fit: contain;
  object-position: center;
  background: linear-gradient(135deg, #fffaf2, #f3e5d3);
}
.ph-shop-product-tile .ph-shop-tile-copy h2,
.ph-shop-product-tile .ph-shop-tile-copy h3 { font-size: 25px; }
.ph-shop-product-tile .ph-shop-tile-copy p { font-size: 14px; }
.ph-shop-product-tile .ph-related-price { font-size: 20px; }

@media (max-width: 1100px) and (min-width: 781px) {
  .ph-brand { max-width: 24%; }
  .ph-brand-name { font-size: 19px; letter-spacing: .07em; }
  .ph-primary-nav .ph-nav-list { gap: clamp(8px, 1vw, 14px); }
  .ph-primary-nav a { font-size: 12px; }
  .ph-header-actions { gap: 7px; }
  .ph-header-cta { padding-inline: 13px; }
}
@media (max-width: 780px) {
  .ph-announcement { min-height: 30px; height: auto; }
  .ph-announcement-inner { width: calc(100% - 18px); gap: 12px; padding: 5px 0; }
  .ph-announcement-item { font-size: 11px; }
  .ph-announcement-item svg { width: 14px; height: 14px; }
  .ph-custom-logo { max-width: 150px; max-height: 46px; width: auto; height: auto; }
  .ph-brand { max-width: 54%; }
  .ph-brand-name { font-size: 18px; }
  .ph-brand-tagline { font-size: 7px; }
  .ph-section-intro,
  .ph-shop-tile-copy p,
  .ph-product-detail-copy p,
  .ph-editable-product-copy > p:not(.ph-eyebrow),
  .ph-store-lead { font-size: 14px; }
  .ph-centered-heading .ph-section-title { font-size: 30px; }
  .ph-shop-product-tile .ph-shop-product-link > img { height: 175px; padding: 6px; }
  .ph-shop-product-tile .ph-shop-tile-copy h2,
  .ph-shop-product-tile .ph-shop-tile-copy h3 { font-size: 22px; }
  .ph-shop-product-actions .ph-button,
  .ph-shop-product-actions .ph-category-link,
  .ph-related-add { font-size: 12px; }
  .ph-footer-logo .ph-custom-logo { max-width: min(200px, 100%); max-height: 56px; }
  .ph-footer-logo .ph-brand-name { font-size: 17px; }
  .ph-footer-logo .ph-brand-tagline { font-size: 7px; }
  .ph-review-write { font-size: 12px; }
  .ph-review-write > summary { color: var(--ph-plum-dark) !important; }
}
@media (max-width: 420px) {
  .ph-announcement-item { font-size: 10px; }
  .ph-custom-logo { max-width: 125px; max-height: 40px; }
  .ph-brand { gap: 6px; }
  .ph-brand-name { font-size: 16px; letter-spacing: .05em; }
  .ph-brand-tagline { font-size: 6px; letter-spacing: .12em; }
  .ph-shop-product-tile .ph-shop-product-link > img { height: 190px; }
}

/* Version 1.4.2 — site-wide readable typography and larger primary actions.
   Final override layer: intentionally changes text sizing and button dimensions only,
   while preserving the existing section structure, colors, imagery, and behavior. */
:root { --ph-readable-copy: 16px; }

/* Main body copy and supporting text */
.ph-hero .ph-eyebrow { font-size: 13px; line-height: 1.35; }
.ph-hero-tagline { font-size: 14px; line-height: 1.4; }
.ph-hero-description { font-size: 16px; line-height: 1.65; max-width: 440px; }
.ph-proof-line { font-size: 11px; line-height: 1.4; gap: 15px; }
.ph-proof-line svg { width: 15px; height: 15px; }
.ph-trust-item strong { font-size: 12px; line-height: 1.35; }
.ph-trust-item small { font-size: 11px; line-height: 1.35; }
.ph-category-copy strong { font-size: 17px; line-height: 1.2; }
.ph-category-copy small, .ph-category-link { font-size: 11px; line-height: 1.35; }
.ph-section-intro,
.ph-shop-tile-copy p,
.ph-product-detail-copy p,
.ph-editable-product-copy > p:not(.ph-eyebrow),
.ph-store-lead { font-size: 16px; line-height: 1.6; }
.ph-benefit-list li { font-size: 14px; line-height: 1.5; }
.ph-proof-placeholder small, .ph-proof-caption { font-size: 11px; line-height: 1.5; }
.ph-howto-step p, .ph-howto-step small, .ph-howto-step .ph-step-copy { font-size: 13px; line-height: 1.45; }
.ph-reviews-summary span { font-size: 12px; line-height: 1.4; }
.ph-review-card p { font-size: 19px; line-height: 1.3; }
.ph-review-card small { font-size: 12px; line-height: 1.4; }
.ph-review-placeholder-label { font-size: 11px; }
.ph-faq-heading p, .ph-faq-list summary, .ph-faq-list details p { font-size: 13px; line-height: 1.5; }
.ph-limited { font-size: 10px; line-height: 1.3; }
.ph-offer-prices del, .ph-offer-saving { font-size: 12px; line-height: 1.4; }
.ph-offer-proof { font-size: 10px; line-height: 1.35; }
.ph-newsletter p { font-size: 12px; line-height: 1.5; }
.ph-newsletter-form input[type="email"], .ph-newsletter-form button { font-size: 13px; }
.ph-footer-value { font-size: 10px; line-height: 1.35; }
.ph-footer-about p { font-size: 13px; line-height: 1.65; }
.ph-footer-heading { font-size: 13px; line-height: 1.35; }
.ph-footer-links a, .ph-contact-item { font-size: 12px; line-height: 1.5; }
.ph-copyright, .ph-cod-note { font-size: 10px; line-height: 1.4; }
.ph-breadcrumbs { font-size: 13px; line-height: 1.5; }
.ph-store-lead { max-width: 760px; }
.ph-shop-product-tile .ph-shop-tile-copy h2,
.ph-shop-product-tile .ph-shop-tile-copy h3 { font-size: 27px; line-height: 1.2; }
.ph-shop-product-tile .ph-shop-tile-copy p { font-size: 15px; }
.ph-shop-product-tile .ph-related-price, .ph-related-price { font-size: 22px; }
.ph-shop-product-actions .ph-category-link { font-size: 13px; }
.ph-cart-empty, .ph-cart-line-copy > strong, .ph-cart-line-price { font-size: 14px; line-height: 1.45; }
.ph-cart-remove, .ph-cart-live-notice { font-size: 13px; }
.ph-review-write { color: var(--ph-plum-dark) !important; font-size: 15px; font-weight: 700; }
.ph-review-write > summary { color: var(--ph-plum-dark) !important; font-size: 15px; font-weight: 800; }

/* Buttons: larger targets and clearer labels, without changing their styling. */
.ph-button { min-height: 49px; padding: 13px 26px; font-size: 15px; line-height: 1.25; }
.ph-hero-order { min-width: 190px; }
.ph-header-cta { min-height: 43px; padding: 11px 21px; font-size: 14px; }
.ph-offer-card .ph-button { min-height: 46px; font-size: 14px; }
.ph-shop-product-actions .ph-button,
.ph-shop-product-actions .ph-category-link,
.ph-related-add { font-size: 14px; }
.ph-shop-product-actions .ph-button, .ph-related-add { min-height: 44px; padding: 11px 17px; }
.ph-newsletter-form button { min-height: 42px; padding: 9px 16px; }

/* Announcement bar and navigation should be comfortably readable. */
.ph-announcement { min-height: 36px; }
.ph-announcement-item { font-size: 13px; line-height: 1.35; }
.ph-primary-nav a { font-size: 14px; }

@media (max-width: 1100px) {
  .ph-primary-nav a { font-size: 13px; }
  .ph-hero-description { font-size: 15px; }
  .ph-trust-item { gap: 8px; padding-inline: 8px; }
  .ph-trust-item strong { font-size: 11px; }
  .ph-trust-item small { font-size: 10px; }
}

@media (max-width: 780px) {
  .ph-announcement { min-height: 34px; }
  .ph-announcement-item { font-size: 12px; line-height: 1.4; }
  .ph-primary-nav a { font-size: 14px; }
  .ph-hero .ph-eyebrow { font-size: 12px; line-height: 1.45; }
  .ph-hero-tagline { font-size: 13px; line-height: 1.5; }
  .ph-hero-description { font-size: 16px; line-height: 1.65; }
  .ph-proof-line { font-size: 11px; line-height: 1.45; }
  .ph-button { min-height: 48px; padding: 12px 22px; font-size: 15px; }
  .ph-hero-order { min-width: 180px; }
  .ph-trust-item strong { font-size: 12px; }
  .ph-trust-item small { font-size: 11px; }
  .ph-category-copy strong { font-size: 17px; }
  .ph-category-copy small, .ph-category-link { font-size: 12px; }
  .ph-section-intro,
  .ph-shop-tile-copy p,
  .ph-product-detail-copy p,
  .ph-editable-product-copy > p:not(.ph-eyebrow),
  .ph-store-lead { font-size: 16px; line-height: 1.6; }
  .ph-benefit-list li { font-size: 14px; }
  .ph-howto-step p, .ph-howto-step small, .ph-howto-step .ph-step-copy { font-size: 13px; }
  .ph-review-card p { font-size: 18px; line-height: 1.35; }
  .ph-review-card small, .ph-reviews-summary span { font-size: 12px; }
  .ph-faq-heading p, .ph-faq-list summary, .ph-faq-list details p { font-size: 13px; line-height: 1.5; }
  .ph-offer-card .ph-button { min-height: 46px; font-size: 14px; }
  .ph-newsletter p { font-size: 12px; }
  .ph-newsletter-form input[type="email"], .ph-newsletter-form button { font-size: 13px; }
  .ph-footer-about p { font-size: 13px; line-height: 1.6; }
  .ph-footer-heading { font-size: 13px; }
  .ph-footer-links a, .ph-contact-item { font-size: 12px; line-height: 1.5; }
  .ph-copyright, .ph-cod-note { font-size: 10px; }
  .ph-shop-product-tile .ph-shop-tile-copy h2,
  .ph-shop-product-tile .ph-shop-tile-copy h3 { font-size: 24px; }
  .ph-shop-product-tile .ph-shop-tile-copy p { font-size: 15px; }
  .ph-shop-product-actions .ph-button, .ph-related-add { min-height: 44px; font-size: 14px; }
  .ph-review-write, .ph-review-write > summary { font-size: 14px; }
}

@media (max-width: 420px) {
  .ph-announcement-item { font-size: 11px; }
  .ph-hero-description { font-size: 15px; }
  .ph-hero-tagline { font-size: 12px; letter-spacing: .12em; }
  .ph-button { min-height: 46px; padding: 11px 18px; font-size: 14px; }
  .ph-category-copy strong { font-size: 16px; }
  .ph-category-copy small, .ph-category-link { font-size: 11px; }
  .ph-footer-links a, .ph-contact-item { font-size: 12px; }
}
