/*
Theme Name: Peach Street
Theme URI: https://peach-street.net/
Description: Catalogue theme for the Peach Street small-appliance range.
Author: peach-street.net
Version: 1.4.2
Requires at least: 6.0
Tested up to: 6.8.2
Requires PHP: 7.4
Text Domain: peachstreet
*/
:root{
--coral:#E2664C; --coral-d:#C4502F; --coral-l:#F08A6E;
--cream:#FCF1E7; --cream-d:#F5E2D2; --paper:#fff;
--ink:#2A2422; --ink-2:#5C514B; --ink-3:#8B7D75;
--line:#EADACA; --ok:#2F7D5C; --warn:#8A6A2F;
--r:14px; --r-s:9px; --r-l:24px;
--w:1180px; --gap:24px;
--sh:0 1px 2px rgba(42,36,34,.05),0 6px 20px rgba(42,36,34,.06);
--sh-h:0 2px 6px rgba(42,36,34,.07),0 14px 36px rgba(42,36,34,.11);
}
/* Relative to the stylesheet: /wp-content/themes/peachstreet/fonts/ — same URL the head preloads. */
@font-face{font-family:Outfit;src:url(fonts/outfit-var.woff2)format("woff2");font-weight:300 800;font-display:swap;font-style:normal}
@font-face{font-family:Figtree;src:url(fonts/figtree-var.woff2)format("woff2");font-weight:300 800;font-display:swap;font-style:normal}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);
font:400 17px/1.62 Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;
-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.ps-dsp{font-family:Outfit,system-ui,sans-serif;font-weight:600;
line-height:1.14;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5.2vw,3.5rem);letter-spacing:-.032em}
h2{font-size:clamp(1.65rem,3.4vw,2.4rem);letter-spacing:-.026em}
h3{font-size:1.22rem}
p{margin:0 0 1.05em}
a{color:var(--coral-d);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--coral)}
img{max-width:100%;height:auto;display:block}
picture{display:contents}
ul,ol{margin:0 0 1.05em;padding-left:1.15em}
li{margin:.3em 0}
:focus-visible{outline:2.5px solid var(--coral);outline-offset:2px;border-radius:3px}
.ps-wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
.ps-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ps-skip{position:absolute;left:-999px;top:0;background:var(--coral);color:#fff;padding:10px 16px;z-index:99;border-radius:0 0 var(--r-s) 0}
.ps-skip:focus{left:0}
/* ---------- header ---------- */
.ps-hd{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.ps-hd-in{display:flex;align-items:center;gap:18px;height:70px}
.ps-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--coral);flex:0 0 auto}
.ps-logo svg{width:30px;height:30px;display:block}
.ps-logo b{font:600 1.42rem/1 Outfit,sans-serif;letter-spacing:-.035em;color:var(--coral)}
.ps-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.ps-nav a{color:var(--ink-2);text-decoration:none;font-weight:500;font-size:.97rem;
padding:9px 13px;border-radius:var(--r-s);white-space:nowrap}
.ps-nav a:hover{color:var(--coral-d);background:var(--cream-d)}
.ps-nav a[aria-current]{color:var(--coral-d);background:var(--cream-d)}
.ps-burger{display:none;margin-left:auto;background:none;border:1.5px solid var(--line);
border-radius:var(--r-s);width:42px;height:42px;cursor:pointer;padding:0;color:var(--ink)}
.ps-burger span{display:block;width:18px;height:2px;background:currentColor;margin:3.5px auto;border-radius:2px}
@media(max-width:860px){
.ps-burger{display:block}
.ps-nav{position:fixed;inset:70px 0 auto 0;background:var(--cream);flex-direction:column;
align-items:stretch;gap:0;padding:8px 14px 18px;border-bottom:1px solid var(--line);
box-shadow:var(--sh);display:none}
.ps-nav.open{display:flex}
.ps-nav a{padding:13px 10px;font-size:1.05rem;border-bottom:1px solid var(--line)}
.ps-nav a:last-child{border-bottom:0}
}
/* ---------- buttons ---------- */
.ps-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
background:var(--coral);color:#fff;border:0;border-radius:999px;
padding:13px 26px;font:600 1rem/1 Figtree,sans-serif;text-decoration:none;cursor:pointer;
transition:background .15s,transform .15s;box-shadow:0 2px 10px rgba(226,102,76,.28)}
.ps-btn:hover{background:var(--coral-d);color:#fff;transform:translateY(-1px)}
.ps-btn--g{background:transparent;color:var(--coral-d);border:1.5px solid var(--coral);box-shadow:none}
.ps-btn--g:hover{background:var(--coral);color:#fff}
.ps-btn--off{background:var(--cream-d);color:var(--ink-3);box-shadow:none;cursor:default;pointer-events:none}
.ps-btn--w{width:100%}
/* ---------- hero ---------- */
.ps-hero{background:linear-gradient(168deg,#FDF6EF 0%,var(--cream) 58%,var(--cream-d) 100%);
border-bottom:1px solid var(--line);overflow:hidden}
.ps-hero-in{display:grid;grid-template-columns:1.06fr .94fr;gap:44px;align-items:center;padding:60px 0 64px}
.ps-hero h1{margin-top:0;margin-bottom:.4em}
.ps-hero h1 em{font-style:normal;color:var(--coral)}
.ps-lede{font-size:1.13rem;color:var(--ink-2);max-width:52ch;margin-bottom:26px}
.ps-hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px}
.ps-stats{display:flex;gap:30px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px}
.ps-stat b{display:block;font:600 1.6rem/1.1 Outfit,sans-serif;color:var(--coral-d);letter-spacing:-.03em}
.ps-stat b i{font-style:normal;font-size:.62em;color:var(--ink-3)}
.ps-stat span{font-size:.85rem;color:var(--ink-3)}
.ps-hero-art{position:relative;padding-bottom:34px;padding-left:26px}
.ps-ha-1{border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh-h);
aspect-ratio:4/3.35;background:var(--paper)}
.ps-ha-1 img{width:100%;height:100%;object-fit:cover}
.ps-ha-2{position:absolute;left:0;bottom:0;width:42%;border-radius:18px;overflow:hidden;
border:5px solid var(--cream);box-shadow:var(--sh-h);aspect-ratio:1/1;background:var(--paper)}
.ps-ha-2 img{width:100%;height:100%;object-fit:cover}
.ps-tag{position:absolute;z-index:5;background:var(--paper);border-radius:999px;
box-shadow:var(--sh-h);padding:9px 16px;font:600 .88rem/1 Figtree,sans-serif;
display:flex;align-items:center;gap:6px;white-space:nowrap}
.ps-tag--p{right:14px;bottom:16px;color:var(--coral-d)}
.ps-tag--r{right:-10px;top:26px;color:var(--ink)}
@media(max-width:900px){
.ps-hero-in{grid-template-columns:1fr;gap:30px;padding:40px 0 46px}
.ps-hero-art{max-width:460px;margin:0 auto;width:100%}
.ps-tag--r{right:0}
}
@media(max-width:420px){.ps-tag{font-size:.8rem;padding:7px 12px}}
/* ---------- sections ---------- */
.ps-sec{padding:64px 0}
.ps-sec--alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ps-sec-hd{max-width:62ch;margin-bottom:34px}
.ps-sec-hd p{color:var(--ink-2);margin:0}
.ps-sec-hd--c{margin-left:auto;margin-right:auto;text-align:center}
.ps-kicker{display:block;font:600 .82rem/1 Figtree,sans-serif;letter-spacing:.12em;
text-transform:uppercase;color:var(--coral);margin-bottom:12px}
/* ---------- grids & cards ---------- */
.ps-grid{display:grid;gap:var(--gap)}
.ps-grid--3{grid-template-columns:repeat(3,1fr)}
.ps-grid--4{grid-template-columns:repeat(4,1fr)}
.ps-grid--2{grid-template-columns:repeat(2,1fr)}
@media(max-width:980px){.ps-grid--4{grid-template-columns:repeat(2,1fr)}.ps-grid--3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ps-grid--3,.ps-grid--4,.ps-grid--2{grid-template-columns:1fr}}
.ps-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .16s,transform .16s;position:relative}
.ps-card:hover{box-shadow:var(--sh-h);transform:translateY(-2px)}
.ps-card-img{position:relative;aspect-ratio:1/1;background:#fff;padding:16px;display:block}
.ps-card-img img{width:100%;height:100%;object-fit:contain}
.ps-card-bd{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1;gap:8px}
.ps-card-bd h3{margin:0;font-size:1.06rem;letter-spacing:-.018em}
.ps-card-bd h3 a{color:var(--ink);text-decoration:none}
.ps-card-bd h3 a:hover{color:var(--coral-d)}
.ps-card-meta{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--ink-3);flex-wrap:wrap}
.ps-card-foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.ps-price{font:600 1.22rem/1 Outfit,sans-serif;color:var(--ink);letter-spacing:-.02em}
.ps-price s{color:var(--ink-3);font-size:.82rem;font-weight:400}
.ps-price--na{font-size:.95rem;color:var(--ink-3);font-weight:500;font-family:Figtree,sans-serif}
.ps-flag{position:absolute;top:12px;left:12px;z-index:2;background:var(--coral);color:#fff;
font:600 .73rem/1 Figtree,sans-serif;letter-spacing:.04em;text-transform:uppercase;
padding:6px 11px;border-radius:999px}
.ps-flag--alt{background:var(--ink);color:var(--cream)}
.ps-flag--oos{background:var(--cream-d);color:var(--ink-3)}
.ps-card--oos .ps-card-img img{opacity:.55;filter:grayscale(.35)}
.ps-stars{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-weight:500}
.ps-rate{position:relative;display:inline-block;height:13px;flex:none}
.ps-rate-bg,.ps-rate-fg{display:flex;gap:2px;line-height:0}
.ps-rate-fg{position:absolute;top:0;left:0;overflow:hidden}
.ps-rate svg{width:13px;height:13px;flex:none}
.ps-rate-bg svg{fill:#E3D3C2}
.ps-rate-fg svg{fill:#E8A33D}
.ps-swatch{display:flex;gap:5px;flex-wrap:wrap}
.ps-swatch i{width:9px;height:9px;border-radius:50%;border:1px solid var(--line);display:block}
/* ---------- category tiles ---------- */
.ps-tile{position:relative;display:block;background:var(--paper);border:1px solid var(--line);
border-radius:var(--r);padding:26px;text-decoration:none;color:var(--ink);
transition:box-shadow .16s,transform .16s;overflow:hidden}
.ps-tile:hover{box-shadow:var(--sh-h);transform:translateY(-2px);color:var(--ink)}
.ps-tile h3{margin:0 0 6px;font-size:1.3rem}
.ps-tile p{color:var(--ink-2);font-size:.95rem;margin:0 0 14px}
.ps-tile-n{font:600 .84rem/1 Figtree,sans-serif;color:var(--coral-d);letter-spacing:.02em}
.ps-tile-ic{width:46px;height:46px;border-radius:12px;background:var(--cream);
display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.ps-tile-ic svg{width:24px;height:24px;stroke:var(--coral);fill:none;stroke-width:1.7;
stroke-linecap:round;stroke-linejoin:round}
/* ---------- product page ---------- */
.ps-crumb{font-size:.88rem;color:var(--ink-3);padding:18px 0 0}
.ps-crumb a{color:var(--ink-3);text-decoration:none}
.ps-crumb a:hover{color:var(--coral-d);text-decoration:underline}
.ps-crumb span{margin:0 7px;opacity:.5}
.ps-pdp{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:26px 0 56px;align-items:start}
@media(max-width:900px){.ps-pdp{grid-template-columns:1fr;gap:28px;padding-bottom:40px}}
.ps-gal-main{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
aspect-ratio:1/1;padding:26px;position:relative}
.ps-gal-main img{width:100%;height:100%;object-fit:contain}
.ps-thumbs{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}
.ps-thumb{width:64px;height:64px;border:1.5px solid var(--line);border-radius:var(--r-s);
background:var(--paper);padding:5px;cursor:pointer;flex:0 0 auto}
.ps-thumb img{width:100%;height:100%;object-fit:contain}
.ps-thumb[aria-pressed=true]{border-color:var(--coral);box-shadow:0 0 0 2px rgba(226,102,76,.16)}
.ps-thumb--oos img{opacity:.45;filter:grayscale(.5)}
.ps-pdp h1{font-size:clamp(1.7rem,3.6vw,2.5rem);margin-bottom:.35em}
.ps-pdp-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;font-size:.93rem;color:var(--ink-2)}
.ps-buy{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin:22px 0}
.ps-buy-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.ps-buy-row .ps-price{font-size:2rem}
.ps-buy-note{font-size:.84rem;color:var(--ink-3);margin:10px 0 0}
.ps-oos{background:var(--cream-d);border:1px solid var(--line);border-radius:var(--r);padding:18px 22px;margin:22px 0}
.ps-oos b{display:block;font-family:Outfit,sans-serif;font-size:1.05rem;margin-bottom:4px;color:var(--ink)}
.ps-oos p{margin:0;font-size:.94rem;color:var(--ink-2)}
.ps-vars{margin:20px 0}
.ps-vars h4{font-size:.84rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;font-family:Figtree,sans-serif;font-weight:600}
.ps-var{display:flex;align-items:center;justify-content:space-between;gap:12px;
padding:11px 14px;border:1px solid var(--line);border-radius:var(--r-s);
background:var(--paper);text-decoration:none;color:var(--ink);margin-bottom:7px;font-size:.95rem}
.ps-var:hover{border-color:var(--coral);color:var(--ink)}
.ps-var em{font-style:normal;color:var(--ink-3);font-size:.87rem}
.ps-var b{font-weight:600;font-family:Outfit,sans-serif}
.ps-var--oos{opacity:.6}
.ps-feat{margin:0;padding:0;list-style:none}
.ps-feat li{position:relative;padding-left:26px;margin:.55em 0;color:var(--ink-2)}
.ps-feat li::before{content:"";position:absolute;left:4px;top:.62em;width:7px;height:7px;
border-radius:50%;background:var(--coral)}
.ps-spec{width:100%;border-collapse:collapse;font-size:.94rem;margin:0 0 1em}
.ps-spec th,.ps-spec td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.ps-spec th{color:var(--ink-3);font-weight:500;width:40%}
/* ---------- info blocks ---------- */
.ps-band{background:var(--ink);color:var(--cream);padding:58px 0}
.ps-band h2{color:var(--paper)}
.ps-band p{color:#D8CCC4}
.ps-band a{color:var(--coral-l)}
.ps-note{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--coral);
border-radius:var(--r-s);padding:18px 22px;margin:26px 0}
.ps-note p:last-child{margin-bottom:0}
.ps-note b{font-family:Outfit,sans-serif}
.ps-faq{border-top:1px solid var(--line)}
.ps-faq details{border-bottom:1px solid var(--line)}
.ps-faq summary{cursor:pointer;padding:18px 40px 18px 0;font:600 1.06rem/1.4 Outfit,sans-serif;
position:relative;list-style:none;letter-spacing:-.015em}
.ps-faq summary::-webkit-details-marker{display:none}
.ps-faq summary::after{content:"+";position:absolute;right:8px;top:15px;font-size:1.5rem;
color:var(--coral);font-weight:400;line-height:1}
.ps-faq details[open] summary::after{content:"\2013"}
.ps-faq-a{padding:0 40px 18px 0;color:var(--ink-2)}
.ps-faq-a p:last-child{margin-bottom:0}
/* Home ratings block. Card-shaped but deliberately not a testimonial: no avatar slot, no quote
mark, no name line — see the comment in pages.js. Left coral rule ties it to .ps-note, which is
the other place on the site that says "read this carefully". */
.ps-rev{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--coral);
border-radius:var(--r-s);padding:20px 22px 22px;display:flex;flex-direction:column;gap:9px}
.ps-rev-hd{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
/* The score is the bare text node stars() appends after the glyphs; the star svg is a fixed 13px,
so raising the font size here enlarges the number and nothing else. */
.ps-rev-hd .ps-stars{font:600 1.1rem/1 Outfit,sans-serif;color:var(--ink);letter-spacing:-.02em}
.ps-rev-hd>span{font-size:.84rem;color:var(--ink-3)}
.ps-rev h3{margin:0;font-size:1.02rem;letter-spacing:-.015em}
.ps-rev h3 a{color:inherit;text-decoration:none}
.ps-rev h3 a:hover{color:var(--coral-d)}
.ps-rev p{margin:0;color:var(--ink-2);font-size:.93rem}
.ps-rev-src{max-width:74ch;margin:30px 0 0;color:var(--ink-3);font-size:.86rem}
.ps-steps{counter-reset:s}
.ps-step{counter-increment:s;position:relative;padding-left:56px;margin-bottom:26px}
.ps-step::before{content:counter(s);position:absolute;left:0;top:0;width:38px;height:38px;
border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;
justify-content:center;font:600 1.05rem/1 Outfit,sans-serif}
.ps-step h3{margin:6px 0 5px}
.ps-step p{color:var(--ink-2);margin:0}
/* ---------- doc pages ---------- */
.ps-doc{max-width:74ch;padding:34px 0 60px}
.ps-doc h2{margin-top:1.7em;font-size:1.5rem}
.ps-doc h3{margin-top:1.4em}
.ps-doc-date{color:var(--ink-3);font-size:.9rem;margin-bottom:2em}
.ps-art{max-width:74ch;margin:0 auto;color:var(--ink-2)}
.ps-art h3{margin-top:1.75em;margin-bottom:.5em;font-size:1.3rem;color:var(--ink)}
.ps-art p{margin:0 0 1.05em}
.ps-art ul{margin:0 0 1.25em;padding-left:1.15em}
.ps-art li{margin:.55em 0}
.ps-art img{display:block;width:100%;max-width:640px;height:auto;border:1px solid var(--line);
border-radius:var(--r-s);margin:30px auto 34px}
/* ---------- footer ---------- */
.ps-ft{background:var(--paper);border-top:1px solid var(--line);padding:48px 0 26px;font-size:.94rem}
.ps-ft-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;margin-bottom:34px}
@media(max-width:820px){.ps-ft-top{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ps-ft-top{grid-template-columns:1fr}}
.ps-ft h4{font-size:.83rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);
margin:0 0 13px;font-family:Figtree,sans-serif;font-weight:600}
.ps-ft ul{list-style:none;margin:0;padding:0}
.ps-ft li{margin:.42em 0}
.ps-ft a{color:var(--ink-2);text-decoration:none}
.ps-ft a:hover{color:var(--coral-d);text-decoration:underline}
.ps-ft-about p{color:var(--ink-2);max-width:38ch;font-size:.93rem}
.ps-ft-addr{font-style:normal;color:var(--ink-3);font-size:.89rem;line-height:1.8;margin-top:14px}
.ps-ft-logo{display:flex;align-items:center;gap:9px;margin-bottom:12px;color:var(--coral)}
.ps-ft-logo svg{width:26px;height:26px}
.ps-ft-logo b{font:600 1.24rem/1 Outfit,sans-serif;letter-spacing:-.035em}
.ps-disc{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-s);
padding:15px 18px;font-size:.87rem;color:var(--ink-2);margin-bottom:22px;line-height:1.55}
.ps-disc b{color:var(--ink)}
.ps-disc p{margin:0}
.ps-disc-img{display:block;width:100%;max-width:310px;height:auto;margin-bottom:7px}
.ps-disc-full{display:block;width:100%;max-width:830px;height:auto;margin:.6em 0 1.2em}
.ps-ft-bot{border-top:1px solid var(--line);padding-top:20px;display:flex;
justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--ink-3);font-size:.87rem}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}