/*
Theme Name: Pottery Studio Shop
Description: Custom storefront for pottery makers.
Template: blocksy
Version: 3.0.0
Text Domain: pottery-studio-shop
*/

:root { --pss-paper:#f3ebdd; --pss-white:#fffaf3; --pss-ink:#3a2a20; --pss-muted:#6e5a4b; --pss-blue:#9e4f2e; --pss-blue-dark:#7c3b20; --pss-line:#e3d4bf; --pss-clay:#b5603a; --pss-sage:#7e8b67; --pss-sage-dark:#55613f; --pss-bisque:#e9c9a8; --pss-oat:#eadfcc; --pss-display:"Fraunces","Iowan Old Style",Georgia,serif; --pss-body:"Nunito Sans","Avenir Next","Segoe UI",sans-serif; }
body, #main-container, .site-main { background:var(--pss-paper); color:var(--pss-ink); font-family:var(--pss-body); }
::selection { background:#b9c6ff; color:var(--pss-ink); }
:focus-visible { outline:3px solid var(--pss-blue); outline-offset:3px; }
a { text-underline-offset:3px; }

/* Masthead */
#header { position:relative; z-index:40; background:var(--pss-white); border-bottom:1px solid var(--pss-line); }
.pss-shipping-announcement { padding:8px 16px; border-bottom:1px solid var(--pss-line); background:#eff2fa; color:var(--pss-ink); font-size:12px; font-weight:700; letter-spacing:.025em; text-align:center; }
.pss-shipping-announcement span { padding:0 8px; color:var(--pss-blue); }
.pss-shipping-terms { max-width:760px; margin:14px 0 22px; padding:10px 0; border-top:1px solid var(--pss-line); border-bottom:1px solid var(--pss-line); color:var(--pss-muted); font-size:13px; font-weight:700; }
.pss-header-inner { width:min(100% - 48px, 1380px); min-height:100px; margin:auto; display:grid; grid-template-columns:minmax(110px,1fr) auto minmax(230px,1fr); gap:22px; align-items:center; }
.pss-brand { color:var(--pss-ink); display:grid; justify-items:center; text-align:center; text-decoration:none; }
.pss-brand:hover { color:var(--pss-blue); }
.pss-brand-name { font:600 clamp(24px,2.35vw,36px)/1 var(--pss-display); letter-spacing:-.045em; text-transform:lowercase; }
.pss-brand-tagline { margin-top:8px; color:var(--pss-muted); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.pss-menu { position:relative; justify-self:start; }
.pss-menu-button { display:inline-flex; align-items:center; gap:10px; min-height:46px; padding:0 17px; border:2px solid var(--pss-ink); border-radius:3px; background:var(--pss-white); color:var(--pss-ink); cursor:pointer; font-size:12px; font-weight:900; letter-spacing:.13em; list-style:none; text-transform:uppercase; transition:background .2s,color .2s,transform .2s; }
.pss-menu-button::-webkit-details-marker { display:none; }
.pss-menu-button:hover, .pss-menu[open] .pss-menu-button { background:var(--pss-blue); border-color:var(--pss-blue); color:#fff; transform:translateY(-2px); }
.pss-hamburger { width:19px; display:grid; gap:4px; }
.pss-hamburger i { display:block; height:2px; width:19px; background:currentColor; border-radius:2px; }
.pss-hamburger i:nth-child(2) { width:15px; }
.pss-menu-panel, .pss-shop-panel { position:absolute; top:calc(100% + 12px); z-index:60; background:var(--pss-white); border:1px solid var(--pss-line); box-shadow:8px 9px 0 #c8d2ff; color:var(--pss-ink); }
.pss-menu-panel { left:0; width:min(340px,calc(100vw - 24px)); padding:22px; }
.pss-panel-eyebrow, .pss-overline { display:block; margin:0 0 11px; color:var(--pss-blue); font-size:11px; font-weight:900; letter-spacing:.16em; line-height:1.3; text-transform:uppercase; }
.pss-menu-panel > a, .pss-shop-panel > a { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-top:1px solid var(--pss-line); color:var(--pss-ink); font:500 22px/1.15 var(--pss-display); text-decoration:none; }
.pss-menu-panel > a:hover, .pss-shop-panel > a:hover { color:var(--pss-blue); }
.pss-menu-search-button { display:flex; align-items:center; gap:10px; width:100%; margin-top:10px; padding:12px 0; border:0; border-top:1px solid var(--pss-line); background:transparent; color:var(--pss-ink); cursor:pointer; font-size:13px; font-weight:800; text-align:left; }
.pss-menu-search-button svg, .pss-search-form svg { width:19px; height:19px; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
#pss-menu-search { margin-top:14px; }
.pss-header-actions { display:flex; justify-self:end; align-items:center; gap:24px; }
.pss-shop-nav { position:relative; display:flex; align-items:center; gap:2px; }
.pss-shop-link, .pss-cart-link { color:var(--pss-ink); font-size:12px; font-weight:900; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.pss-shop-link:hover, .pss-cart-link:hover { color:var(--pss-blue); }
.pss-shop-chevron { width:32px; height:38px; border:0; background:transparent; color:var(--pss-ink); cursor:pointer; font-size:20px; line-height:1; }
.pss-shop-chevron:hover { color:var(--pss-blue); }
.pss-shop-panel { right:0; width:min(330px,calc(100vw - 24px)); max-height:min(75vh,650px); overflow:auto; padding:18px 22px; visibility:hidden; opacity:0; pointer-events:none; transform:translateY(-6px); transition:opacity .16s,transform .16s; }
.pss-shop-panel > a { font-size:17px; padding:9px 0; }
.pss-shop-nav:hover .pss-shop-panel, .pss-shop-nav:focus-within .pss-shop-panel, .pss-shop-nav.is-open .pss-shop-panel { visibility:visible; opacity:1; pointer-events:auto; transform:none; }
.pss-header-search { position:relative; }
.pss-header-search-button { display:grid; place-items:center; width:34px; height:34px; color:var(--pss-ink); cursor:pointer; list-style:none; }
.pss-header-search-button::-webkit-details-marker { display:none; }
.pss-header-search-button:hover, .pss-header-search[open] .pss-header-search-button { color:var(--pss-blue); }
.pss-header-search-button svg { width:22px; height:22px; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; }
.pss-header-search-panel { position:absolute; top:calc(100% + 12px); right:0; z-index:61; width:min(340px,calc(100vw - 32px)); padding:18px; background:var(--pss-white); border:1px solid var(--pss-line); box-shadow:8px 9px 0 #c8d2ff; }
.pss-cart-link { display:flex; align-items:center; gap:8px; }
.pss-cart-link svg { width:24px; height:24px; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.pss-search-form label { display:block; margin-bottom:8px; font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.pss-search-row { display:flex; border:1px solid var(--pss-line); background:#fff; }
.pss-search-row input { min-width:0; width:100%; min-height:44px; padding:0 12px; border:0; box-shadow:none; background:transparent; color:var(--pss-ink); }
.pss-search-row button { width:47px; flex:none; display:grid; place-items:center; border:0; background:var(--pss-blue); color:#fff; cursor:pointer; }

/* Global layout and actions */
.pss-page-width { width:min(100% - 48px,1290px); margin:0 auto; }
.pss-primary-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce .button, .wp-element-button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:48px; padding:13px 19px; border:1px solid var(--pss-blue); border-radius:2px; background:var(--pss-blue); color:#fff; box-shadow:4px 4px 0 rgba(158,79,46,.25); font-family:var(--pss-body); font-size:12px; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; transition:transform .2s,box-shadow .2s,background .2s; }
.pss-primary-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce .button:hover, .wp-element-button:hover { transform:translate(-2px,-2px); background:var(--pss-blue-dark); color:#fff; box-shadow:6px 6px 0 rgba(158,79,46,.25); }
.pss-not-found { padding:clamp(52px,8vw,120px) 0; }
.pss-not-found-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr); gap:clamp(35px,7vw,110px); align-items:center; }
.pss-not-found h1 { max-width:720px; margin:0; font:500 clamp(54px,7vw,100px)/.95 var(--pss-display); letter-spacing:-.055em; }
.pss-not-found-copy > p:not(.pss-overline) { max-width:530px; margin:27px 0; color:var(--pss-muted); font-size:17px; line-height:1.65; }
.pss-not-found-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.pss-not-found-actions > a:not(.pss-primary-button) { color:var(--pss-blue); font-size:13px; font-weight:800; }
.pss-not-found-search { padding:30px; border:1px solid var(--pss-line); background:#fff; box-shadow:8px 8px 0 #d8e0fb; }
.pss-not-found-search > p { margin:28px 0 10px; color:var(--pss-muted); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.pss-not-found-search ul { margin:0; padding:0; list-style:none; }
.pss-not-found-search li { border-top:1px solid var(--pss-line); }
.pss-not-found-search li a { display:flex; justify-content:space-between; gap:16px; padding:13px 0; color:var(--pss-ink); font:500 20px/1.2 var(--pss-display); text-decoration:none; }
.pss-not-found-search li a:hover { color:var(--pss-blue); }
@media (max-width:760px) { .pss-not-found-layout { grid-template-columns:1fr; } .pss-not-found-search { padding:22px; } }
.pss-section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.pss-section-heading h2, .pss-home-hero h1, .pss-catalog-intro h1, .pss-empty-results h2 { margin:0; color:var(--pss-ink); font:500 clamp(38px,5vw,68px)/.98 var(--pss-display); letter-spacing:-.055em; }
.pss-section-heading > a { color:var(--pss-blue); font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.pss-section-heading > span { color:var(--pss-muted); font-size:13px; }

/* Curated home */
.home .hero-section { display:none; }
.pss-home { padding:40px 0 100px; }
.pss-home-hero { position:relative; display:grid; grid-template-columns:1.04fr .96fr; min-height:530px; overflow:hidden; background:#e8ecf8; }
.pss-home-hero-copy { z-index:1; align-self:center; padding:clamp(32px,5vw,78px); }
.pss-home-hero h1 { font-size:clamp(58px,7vw,105px); }
.pss-home-hero h1 em { color:var(--pss-blue); font-weight:500; }
.pss-home-hero-copy > p:not(.pss-overline) { max-width:520px; margin:29px 0; color:#4e5b6d; font-size:17px; line-height:1.6; }
.pss-home-art { position:relative; min-height:450px; background:linear-gradient(135deg,#3154d7,#7691ef); clip-path:polygon(13% 0,100% 0,100% 100%,0 100%); }
.pss-home-art span:nth-child(1) { position:absolute; left:21%; top:15%; width:65%; aspect-ratio:1; border:42px solid #14266c77; border-radius:50%; box-shadow:inset 12px 14px 30px #172b70aa,16px 18px 30px #16296a66; }
.pss-home-art span:nth-child(2) { position:absolute; left:15%; top:8%; width:75%; aspect-ratio:1; border:2px solid #e5e9ffbb; border-radius:50%; transform:rotate(16deg) scaleX(.85); }
.pss-home-art span:nth-child(3) { position:absolute; right:10%; bottom:10%; width:115px; height:115px; border:1px solid #fff8; border-radius:50%; }
.pss-home-section { padding:88px 0 0; }
.pss-home-section-tint { margin-top:82px; padding:60px; background:#edf0f8; }
.pss-section-empty { padding:38px; border:1px dashed var(--pss-line); color:var(--pss-muted); }
.pss-product-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.pss-home-product-wrap { min-width:0; }
.pss-home-product-wrap .pss-product-card { height:100%; }
.pss-product-card { min-width:0; background:#fff; border:1px solid var(--pss-line); transition:transform .2s,box-shadow .2s; }
.pss-product-card:hover { transform:translateY(-4px); box-shadow:5px 7px 0 #cdd7fc; }
.pss-product-card-link { display:block; height:100%; color:var(--pss-ink); text-decoration:none; }
.pss-product-card-link:hover { color:var(--pss-ink); }
.pss-product-image { position:relative; display:grid; place-items:center; aspect-ratio:1; overflow:hidden; background:#fff; }
.pss-product-image img { width:100%; height:100%; object-fit:contain; }
.pss-product-copy { display:grid; gap:8px; padding:17px 18px 20px; }
.pss-option-label { display:inline-flex; width:max-content; max-width:100%; padding:5px 8px; border:1px solid #b9c8f9; background:#f8ecdc; color:var(--pss-blue); font-size:11px; font-weight:800; letter-spacing:.02em; line-height:1.2; }
.pss-admin-extra { display:none !important; }
.pss-show-extra-info .pss-option-label.pss-admin-extra { display:inline-flex !important; }
.pss-show-extra-info .pss-admin-source-info.pss-admin-extra, .pss-show-extra-info .pss-source-options.pss-admin-extra { display:block !important; }
.pss-admin-source-info { margin:8px 0; padding:9px; border:1px solid #b9c8f9; background:#f5f7ff; color:var(--pss-ink); font-size:11px; line-height:1.5; }
.pss-admin-source-info span { display:block; }
.pss-admin-source-info .pss-admin-price-review { margin:4px 0; padding:5px 7px; border-left:3px solid #b14a2a; background:#fff3e9; color:#732c17; }
.pss-admin-source-info p { margin:7px 0 0; }
.pss-admin-source-info { margin:0 0 7px; }
.pss-admin-source-header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; padding-bottom:6px; border-bottom:1px solid #d7def7; }
.pss-admin-buy-link { display:inline-flex; align-items:center; justify-content:center; margin-top:9px; padding:7px 10px; background:#2f49d8; color:#fff !important; font-size:11px; font-weight:700; text-decoration:none; }
.pss-admin-buy-link:hover, .pss-admin-buy-link:focus { background:#2339ae; color:#fff !important; }
.pss-admin-source-link { display:inline-flex; align-items:center; gap:3px; padding:4px 6px; border:1px solid #b9c8f9; background:#fff; color:var(--pss-blue); font-size:10px; font-weight:800; text-decoration:none; white-space:nowrap; }
.pss-admin-source-link:hover { border-color:var(--pss-blue); color:var(--pss-blue-dark); }
.pss-shop-card { height:100%; padding:10px; border:1px solid var(--pss-line); background:#fff; }
.pss-variety-picker { margin-top:10px; padding-top:10px; border-top:1px solid var(--pss-line); }
.pss-variety-heading { display:flex; justify-content:space-between; gap:8px; margin:0 0 8px; font-size:11px; font-weight:800; }
.pss-variety-heading span { color:var(--pss-blue); text-align:right; }
.pss-variety-options { display:flex; gap:7px; overflow-x:auto; padding:1px 1px 8px; scrollbar-width:thin; }
.pss-variety-option { flex:0 0 78px; display:grid; align-content:start; justify-items:center; gap:3px; min-width:78px; padding:4px; border:1px solid var(--pss-line); border-radius:3px; background:#fff; color:var(--pss-ink); font:700 10px/1.1 var(--pss-body); text-align:center; text-decoration:none; }
.pss-variety-thumb { display:grid; place-items:center; width:56px; height:56px; overflow:hidden; border-radius:2px; background:#fff; color:var(--pss-blue); font-size:20px; }
.pss-variety-thumb img { width:100% !important; height:100% !important; aspect-ratio:1 !important; object-fit:contain; }
.pss-variety-short { width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pss-variety-price { display:block; min-height:12px; color:var(--pss-ink); font-size:10px; font-weight:900; white-space:nowrap; }
.pss-variety-price.is-pending { color:var(--pss-muted); font-size:9px; font-weight:600; }
.pss-variety-option:hover,.pss-variety-option:focus-visible,.pss-variety-option.is-preview { border-color:var(--pss-blue); background:#edf2ff; color:var(--pss-blue-dark); }
.pss-variety-option.is-shown { box-shadow:inset 0 -2px 0 var(--pss-blue); }
.pss-variety-option.pss-variety-sold-out { border-color:#c8cbd1; background:#f0f1f3; color:#6b7078; }
.pss-variety-option.pss-variety-sold-out .pss-variety-thumb { filter:grayscale(1); opacity:.5; }
.pss-variety-option.pss-variety-temporarily-unavailable { border-color:#c8cbd1; background:#f0f1f3; color:#6b7078; }
.pss-variety-option.pss-variety-temporarily-unavailable .pss-variety-thumb { filter:grayscale(1); opacity:.5; }
.psg-unavailable:not(p) { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:10px 15px; border:1px solid #bfc2c7; background:#e5e6e9; color:#676b72; font-size:11px; font-weight:900; text-transform:uppercase; cursor:not-allowed; }
p.psg-unavailable { color:#676b72; font-weight:700; }
.pss-variety-sold { color:#6b7078; font-size:9px; font-weight:900; text-transform:uppercase; }
.pss-variety-note { margin:2px 0 0; color:var(--pss-muted); font-size:10px; line-height:1.35; }
.pss-option-price-status { color:var(--pss-muted); }
.pss-out-of-stock .pss-shop-card { border-color:#c8cbd1; background:#f3f3f4; }
.pss-out-of-stock .pss-shop-card > a img { filter:grayscale(1); opacity:.55; }
.pss-out-of-stock .woocommerce-loop-product__title,.pss-out-of-stock .price { color:#777b82 !important; }
.pss-card-stock-note { display:inline-block; margin:7px 0; padding:5px 8px; background:#e4e5e8; color:#565a62; font-size:11px; font-weight:900; text-transform:uppercase; }
.pss-card-price-pending { display:block; margin:7px 0; color:var(--pss-muted); font-size:12px; font-weight:700; }
.pss-sold-out-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:10px 15px; border:1px solid #bfc2c7; background:#e5e6e9; color:#676b72; font-size:11px; font-weight:900; text-transform:uppercase; cursor:not-allowed; }
.pss-shop-card .add_to_cart_button[hidden] { display:none !important; }
.pss-admin-info-toggle { display:inline-flex; align-items:center; gap:7px; min-height:42px; white-space:nowrap; cursor:pointer; }
.pss-admin-info-toggle input { width:16px; height:16px; accent-color:var(--pss-blue); }
.pss-catalog-results ul.products li.product .pss-option-label { margin:7px 0; }
.pss-source-options { margin:18px 0; padding:12px; border:1px solid var(--pss-line); background:#fff; }
.pss-source-options summary { cursor:pointer; font-weight:800; }
.pss-source-options > p { font-size:12px; line-height:1.5; }
.pss-source-option-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(92px,1fr)); gap:8px; }
.pss-source-option { display:grid; align-content:start; gap:5px; padding:7px; border:1px solid var(--pss-line); font-size:11px; line-height:1.3; }
.pss-source-option img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.pss-source-option small { color:var(--pss-muted); }
.pss-card-eyebrow { color:var(--pss-blue); font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.pss-product-copy h3 { min-height:2.2em; margin:0; font:500 25px/1.1 var(--pss-display); letter-spacing:-.035em; }
.pss-product-price { font-size:15px; font-weight:800; }
.pss-card-shipping-review { display:block; margin:5px 0; color:var(--pss-muted); font-size:12px; font-weight:700; }
.pss-product-action { padding-top:9px; border-top:1px solid var(--pss-line); color:var(--pss-blue); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pss-spotlight-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.pss-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.pss-category-card { display:flex; flex-direction:column; min-height:183px; padding:22px; border:1px solid var(--pss-line); background:#fff; color:var(--pss-ink); text-decoration:none; transition:transform .2s,box-shadow .2s,border-color .2s; }
.pss-category-card:nth-child(3n+2) { background:#eef1fa; }
.pss-category-card:hover { transform:translate(-2px,-4px); box-shadow:5px 7px 0 #cad5ff; border-color:var(--pss-blue); color:var(--pss-ink); }
.pss-category-index { color:var(--pss-blue); font-size:10px; font-weight:900; letter-spacing:.1em; }
.pss-category-card strong { margin:auto 0 14px; font:500 29px/1.02 var(--pss-display); letter-spacing:-.04em; }
.pss-category-cta { color:var(--pss-muted); font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }

/* Catalog shell and filters */
.pss-catalog { padding:40px 0 100px; }
.pss-catalog-intro { padding:36px 44px; background:#e9edf9; border-left:5px solid var(--pss-blue); }
.pss-catalog-intro > a { display:inline-block; margin-bottom:24px; color:var(--pss-blue); font-size:11px; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.pss-catalog-intro h1 { font-size:clamp(48px,6vw,82px); }
.pss-catalog-intro-copy { max-width:600px; margin:14px 0 0; color:var(--pss-muted); font-size:16px; }
.pss-catalog-shipping { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:2px 15px; width:max-content; max-width:100%; margin-top:24px; padding:12px 16px; border-left:3px solid var(--pss-blue); background:#fff; }
.pss-catalog-shipping span { grid-row:1 / 3; color:var(--pss-blue); font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.pss-catalog-shipping strong { grid-column:2; color:var(--pss-ink); font-size:14px; }
.pss-catalog-shipping small { grid-column:2; color:var(--pss-muted); font-size:12px; }
.pss-subcategory-row { display:flex; flex-wrap:wrap; gap:8px; padding:20px 0 0; }
.pss-subcategory-row a { padding:9px 13px; border:1px solid var(--pss-line); background:#fff; color:var(--pss-ink); font-size:12px; font-weight:700; text-decoration:none; }
.pss-subcategory-row a:hover { border-color:var(--pss-blue); color:var(--pss-blue); }
.pss-catalog-layout { display:grid; grid-template-columns:275px minmax(0,1fr); gap:28px; margin-top:34px; }
.pss-filter-details { align-self:start; background:#fff; border:1px solid var(--pss-line); }
.pss-filter-details > summary { display:flex; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--pss-line); color:var(--pss-ink); cursor:pointer; font-size:13px; font-weight:900; letter-spacing:.09em; list-style:none; text-transform:uppercase; }
.pss-filter-details > summary::-webkit-details-marker { display:none; }
.pss-filter-body { padding:20px; }
.pss-filter-body h2 { margin:0 0 12px; font:500 25px/1.1 var(--pss-display); }
.pss-filter-body form { display:grid; gap:13px; }
.pss-filter-body input[type="search"], .pss-filter-body input[type="number"], .pss-catalog-toolbar select { width:100%; min-height:42px; padding:9px 10px; border:1px solid var(--pss-line); border-radius:2px; background:#fff; color:var(--pss-ink); box-shadow:none; font-size:13px; }
.pss-filter-search-label { font-size:11px; font-weight:800; }
.pss-filter-body fieldset { margin:4px 0 0; padding:0; border:0; }
.pss-filter-body legend { margin-bottom:10px; font-size:12px; font-weight:800; }
.pss-price-fields { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.pss-price-fields label { font-size:11px; font-weight:800; }
.pss-price-fields input { margin-top:5px; }
.pss-stock-filter { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; }
.pss-stock-filter input { accent-color:var(--pss-blue); }
.pss-clear-filters { color:var(--pss-blue); font-size:12px; font-weight:800; text-align:center; }
.pss-sidebar-categories { margin-top:30px; padding-top:24px; border-top:1px solid var(--pss-line); }
.pss-all-categories { display:block; margin-bottom:10px; color:var(--pss-blue); font-size:12px; font-weight:900; text-decoration:none; }
.pss-filter-category { border-top:1px solid var(--pss-line); }
.pss-filter-category summary { padding:10px 0; cursor:pointer; font-size:12px; font-weight:800; }
.pss-filter-category summary a { color:var(--pss-ink); text-decoration:none; }
.pss-filter-category summary a:hover { color:var(--pss-blue); }
.pss-filter-children { display:grid; gap:7px; padding:0 0 12px 14px; }
.pss-filter-children a { color:var(--pss-muted); font-size:12px; text-decoration:none; }
.pss-filter-children a:hover, .pss-filter-children a[aria-current="page"] { color:var(--pss-blue); }
.pss-catalog-toolbar { display:flex; align-items:end; justify-content:space-between; gap:15px; margin-bottom:22px; padding:17px; border:1px solid var(--pss-line); background:#fff; }
.pss-supplier-sort-note { margin:-14px 0 20px; color:var(--pss-muted); font-size:12px; line-height:1.5; }
.pss-toolbar-category, .pss-sort-form { display:flex; align-items:center; gap:9px; }
.pss-catalog-toolbar label { color:var(--pss-muted); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.pss-catalog-toolbar select { min-width:130px; }
.pss-catalog-toolbar #pss-per-page { min-width:72px; }
.pss-sort-form button { min-height:42px; padding:8px 11px; border:1px solid var(--pss-blue); background:var(--pss-blue); color:#fff; cursor:pointer; font-size:11px; font-weight:800; }
.pss-catalog-results .woo-listing-top { margin-bottom:16px; }
.pss-catalog-results .woocommerce-result-count { color:var(--pss-muted); font-size:12px; }
.pss-active-filters { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:-6px 0 20px; }
.pss-active-filters a { display:inline-flex; align-items:center; gap:9px; padding:7px 10px; border:1px solid #b9c8f9; background:#f8ecdc; color:var(--pss-blue); font-size:11px; font-weight:800; text-decoration:none; }
.pss-active-filters .pss-clear-all { border-color:transparent; background:transparent; text-decoration:underline; }
.pss-catalog-results ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0; }
.pss-catalog-results ul.products li.product { float:none; width:auto; margin:0; padding:0; border:0; background:transparent; }
.pss-catalog-results ul.products li.product .ct-media-container { background:#fff; --theme-object-fit:contain; }
.pss-catalog-results ul.products li.product img { width:100%; aspect-ratio:1 !important; object-fit:contain; object-position:center; background:#fff; }
.pss-home-product-wrap .post-119 img { object-position:center; }
.woocommerce-product-gallery .ct-media-container { background:#fff; --theme-object-fit:contain; }
.woocommerce-product-gallery .ct-media-container img { object-fit:contain; object-position:center; }
.pss-catalog-results ul.products li.product .woocommerce-loop-product__title { font:500 24px/1.1 var(--pss-display); letter-spacing:-.03em; }
.pss-catalog-results ul.products li.product .price { color:var(--pss-ink); font-size:15px; font-weight:800; }
.pss-demo-badge { display:inline-block; margin:8px 0; padding:5px 7px; background:#edf0fb; color:var(--pss-blue); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pss-demo-notice { display:inline-block; padding:9px 12px; background:#eef1fb; color:var(--pss-blue); font-size:12px; font-weight:800; }
.pss-empty-results { padding:70px 30px; border:1px dashed #a9b8e9; background:#eef1f9; text-align:center; }
.pss-empty-results > span { color:var(--pss-blue); font-size:38px; }
.pss-empty-results h2 { margin:14px 0; font-size:43px; }
.pss-empty-results p { color:var(--pss-muted); }
.pss-empty-results .pss-primary-button { margin-top:12px; }
.woocommerce div.product, .woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-account .woocommerce { color:var(--pss-ink); }
#footer { background:var(--pss-ink); color:#edf0fa; }
#footer [data-row="bottom"] { border-top:3px solid var(--pss-blue); }
#footer .ct-footer-copyright { color:#edf0fa; font-size:12px; }
.pss-menu-panel > .pss-menu-contact-button { display:flex; justify-content:space-between; width:100%; padding:12px 0; border:0; border-top:1px solid var(--pss-line); background:transparent; color:var(--pss-ink); font:500 22px/1.15 var(--pss-display); text-align:left; cursor:pointer; }
.pss-menu-panel > .pss-menu-contact-button:hover { color:var(--pss-blue); }
.pss-order-help { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:24px 0; padding:16px 20px; border-left:3px solid var(--pss-blue); background:#f4f6fb; color:var(--pss-ink); }
.pss-order-help button { padding:0; border:0; background:transparent; color:var(--pss-blue-dark); font-weight:800; text-decoration:underline; cursor:pointer; }
.pss-order-help-dialog { width:min(520px,calc(100vw - 28px)); max-height:90vh; padding:0; border:1px solid #b9c5e3; box-shadow:12px 15px 0 #1b3170; color:var(--pss-ink); }
.pss-order-help-dialog::backdrop { background:#122044b8; }
.pss-order-help-dialog-inner { position:relative; padding:clamp(28px,5vw,48px); background:#f7f5f1; }
.pss-order-help-close { position:absolute; top:16px; right:17px; display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid #c2c9d7; background:#fff; color:var(--pss-ink); font:22px/1 Arial,sans-serif; cursor:pointer; }
.pss-order-help-dialog h2 { margin:12px 0 15px; font:500 clamp(35px,6vw,52px)/1 var(--pss-display); letter-spacing:-.05em; }
.pss-order-help-dialog p { color:#4e5b6d; font-size:14px; line-height:1.5; }
.pss-order-help-dialog form { display:grid; gap:14px; margin-top:24px; }
.pss-order-help-dialog form label { display:grid; gap:6px; font-size:12px; font-weight:800; }
.pss-order-help-dialog input,.pss-order-help-dialog textarea { width:100%; padding:12px; border:1px solid #bfc9d8; border-radius:0; background:#fff; color:var(--pss-ink); font:14px var(--pss-body); }
.pss-order-help-dialog textarea { resize:vertical; }
.pss-order-help-dialog form .pss-primary-button { justify-self:start; cursor:pointer; }
.pss-order-help-dialog form .pss-primary-button:disabled { opacity:.6; cursor:wait; }
.pss-order-help-dialog [hidden],.pss-order-help-trap { display:none!important; }
.pss-order-help-status { min-height:18px; margin:0!important; }
.pss-order-help-success strong { color:var(--pss-blue-dark); font:500 30px var(--pss-display); }
.woocommerce-checkout #customer_details { display:flex; flex-direction:column; gap:30px; }
.woocommerce-checkout #customer_details > .col-1,.woocommerce-checkout #customer_details > .col-2 { float:none; width:100%; max-width:760px; }
.woocommerce-checkout #customer_details h3 { margin:0 0 18px; font:500 clamp(28px,4vw,38px)/1.1 var(--pss-display); }
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address { display:block!important; }
.woocommerce-checkout .pss-save-shipping-choice { display:flex; align-items:flex-start; gap:9px; margin:15px 0 4px; font-size:13px; line-height:1.5; cursor:pointer; }
.woocommerce-checkout .pss-save-shipping-choice input { width:auto; margin:2px 0 0; }
.woocommerce-checkout .pss-save-shipping-note { margin:0 0 4px 25px; color:var(--pss-muted); font-size:12px; }
.woocommerce-checkout .pss-save-payment-choice { display:flex; align-items:flex-start; gap:9px; margin:16px 0; font-size:13px; line-height:1.5; cursor:pointer; }
.woocommerce-checkout .pss-save-payment-choice[hidden] { display:none!important; }
.woocommerce-checkout .pss-save-payment-choice input { width:auto; margin:2px 0 0; }
body.pss-payment-save-available .woocommerce-checkout .payment_method_ppcp-credit-card-gateway .woocommerce-SavedPaymentMethods-saveNew,
body.pss-payment-save-available .woocommerce-checkout .payment_method_ppcp-credit-card-gateway #ppcp-credit-card-vault { display:none!important; }
.woocommerce-checkout [data-pss-paypal-unavailable] { padding:12px 14px; border:1px solid #d6b89d; background:#fff6ed; color:var(--pss-ink); font-size:13px; line-height:1.45; }
.woocommerce-checkout .pss-venmo-method { padding:16px 18px; border-top:1px solid var(--pss-line); }
.woocommerce-checkout .pss-venmo-method-label { display:block; margin-bottom:12px; font-weight:600; }
.woocommerce-checkout .pss-venmo-method [data-pss-venmo-slot] { max-width:100%; }
.woocommerce-checkout .pss-billing-same-choice { display:flex; align-items:center; gap:10px; margin:18px 0; font-weight:700; cursor:pointer; }
.woocommerce-checkout .pss-billing-same-choice input { width:auto; margin:0; }
.woocommerce-checkout .pss-separate-billing-address[hidden] { display:none!important; }
.woocommerce-checkout .pss-billing-summary[hidden] { display:none!important; }
.woocommerce-checkout .pss-billing-summary { margin:18px 0; padding:16px 18px; border-left:3px solid var(--pss-blue); background:#f8efe2; }
.woocommerce-checkout .pss-billing-summary strong { display:block; margin-bottom:8px; }
.woocommerce-checkout .pss-billing-summary address { font-style:normal; line-height:1.55; white-space:pre-line; }
.woocommerce-checkout .pss-billing-same-choice:has(input:checked) ~ .pss-separate-billing-address { display:none!important; }
.woocommerce-checkout #order_comments { height:64px!important; min-height:64px!important; resize:vertical; }

@media (max-width:1050px) { .pss-home-hero { grid-template-columns:1fr; } .pss-home-art { min-height:260px; clip-path:none; } .pss-product-grid,.pss-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .pss-catalog-layout { grid-template-columns:235px minmax(0,1fr); gap:18px; } .pss-catalog-results ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .pss-header-inner { width:min(100% - 26px,1380px); min-height:82px; grid-template-columns:54px minmax(0,1fr) auto; gap:7px; } .pss-menu-button { width:43px; height:43px; min-height:0; justify-content:center; padding:0; } .pss-menu-label { display:none; } .pss-brand-name { font-size:clamp(18px,4.9vw,25px); } .pss-brand-tagline { max-width:225px; font-size:7px; line-height:1.25; } .pss-header-actions { gap:7px; } .pss-shop-link { font-size:10px; } .pss-shop-chevron { width:18px; } .pss-cart-link { padding:4px; } .pss-cart-link span { display:none; } .pss-page-width { width:min(100% - 28px,1290px); } .pss-home { padding-top:18px; } .pss-home-hero-copy { padding:45px 26px; } .pss-home-hero h1 { font-size:clamp(49px,11vw,75px); } .pss-home-hero-copy > p:not(.pss-overline) { font-size:15px; } .pss-home-art { min-height:190px; } .pss-home-section { padding-top:62px; } .pss-home-section-tint { margin-top:60px; padding:30px 20px; } .pss-section-heading { display:block; } .pss-section-heading > a,.pss-section-heading > span { display:inline-block; margin-top:13px; } .pss-product-grid,.pss-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; } .pss-product-copy { padding:13px; } .pss-product-copy h3 { font-size:21px; } .pss-category-card { min-height:150px; padding:15px; } .pss-category-card strong { font-size:23px; } .pss-catalog { padding-top:18px; } .pss-catalog-intro { padding:28px; } .pss-catalog-layout { display:block; } .pss-filter-details { margin-bottom:18px; } .pss-filter-details:not([open]) .pss-filter-body { display:none; } .pss-catalog-toolbar { flex-wrap:wrap; } .pss-toolbar-category,.pss-sort-form { width:100%; justify-content:space-between; } .pss-catalog-toolbar select { flex:1; min-width:0; } }
@media (max-width:430px) { .pss-shop-link { font-size:9px; } .pss-brand-name { font-size:18px; } .pss-brand-tagline { font-size:6px; } .pss-catalog-results ul.products { grid-template-columns:1fr; } .pss-home-hero h1 { font-size:48px; } .pss-product-copy h3 { font-size:19px; } .pss-category-card strong { font-size:21px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:0s!important; animation-duration:0s!important; } }

/* Clear paths through the smaller prelaunch catalog. */
.pss-shop-label-short { display:none; }
.pss-catalog { padding-top:22px; }
.pss-catalog-intro { padding:24px 34px; }
.pss-catalog-intro > a { margin-bottom:12px; }
.pss-catalog-intro h1 { font-size:clamp(42px,5vw,65px); }
.pss-catalog-intro-copy { max-width:760px; margin-top:9px; line-height:1.45; }
.pss-catalog-layout { margin-top:22px; }
.pss-empty-actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:20px; margin-top:20px; }
.pss-empty-actions .pss-primary-button { margin:0; }
.pss-empty-actions > a:not(.pss-primary-button) { color:var(--pss-blue); font-size:12px; font-weight:800; text-decoration:underline; }
.woocommerce-cart .entry-title, .woocommerce-checkout .entry-title, .woocommerce-account .entry-title { font:500 clamp(34px,5vw,52px)/1.05 var(--pss-display); letter-spacing:-.04em; }
.woocommerce-cart.pss-cart-auto-update .woocommerce-cart-form [name="update_cart"] { display:none!important; }
.woocommerce-cart .woocommerce-message { position:relative; min-height:62px; padding-right:68px; border:1px solid #b4c4fa; border-left:4px solid var(--pss-blue); background:#e9efff; color:#18294c; }
.woocommerce-cart .woocommerce-message .restore-item { min-height:36px; padding:8px 14px; border:1px solid #1b398f; background:#284bbd; color:#fff; font-size:12px; font-weight:800; text-decoration:none; }
.woocommerce-cart .woocommerce-message .restore-item:hover { background:#1b398f; color:#fff; }
.woocommerce-cart .pss-cart-notice-dismiss { position:absolute; top:50%; right:16px; display:grid; place-items:center; width:34px; height:34px; padding:0; transform:translateY(-50%); border:1px solid #869bd0; border-radius:3px; background:#fff; color:#203c88; font:24px/1 Arial,sans-serif; cursor:pointer; }
.woocommerce-cart .pss-cart-notice-dismiss:hover { background:#d7e2ff; }
.woocommerce-cart .pss-cart-notice-dismiss:focus-visible { outline:3px solid #254bc3; outline-offset:2px; }
@media (max-width:760px) {
  .pss-catalog { padding-top:14px; }
  .pss-catalog-intro { padding:24px; }
  .pss-catalog-intro h1 { font-size:clamp(38px,9vw,54px); }
  .pss-catalog-layout { margin-top:18px; }
}
@media (max-width:430px) {
  .pss-shop-label-full, .pss-brand-tagline { display:none; }
  .pss-shop-label-short { display:inline; }
  .pss-brand-name { font-size:clamp(17px,4.8vw,21px); line-height:1.08; }
  .pss-header-inner { grid-template-columns:43px minmax(0,1fr) auto; }
}

/* Shop menu: the trigger, categories, and flyout share one hover area. */
.pss-shop-nav { min-height:46px; }
.pss-shop-link { display:flex; align-items:center; min-height:46px; }
.pss-shop-panel { top:100%; right:0; width:min(660px,calc(100vw - 32px)); max-height:none; min-height:555px; padding:0; overflow:visible; transform:none; }
.pss-shop-primary { width:50%; padding:18px 22px; }
.pss-shop-all-row, .pss-shop-category-link { width:100%; min-height:76px !important; padding:17px 18px; border:1px solid var(--pss-line) !important; background:#fff; font:500 27px/1.1 var(--pss-display) !important; transition:background .16s,color .16s,border-color .16s; }
.pss-shop-primary > .pss-shop-all-row, .pss-shop-primary > .pss-shop-item { margin-top:9px; }
.pss-shop-all-row:hover, .pss-shop-category-link:hover, .pss-shop-item.is-active > .pss-shop-category-link, .pss-shop-item.is-open > .pss-shop-category-link { border-color:rgba(158,79,46,.25) !important; background:#f8ecdc; }
.pss-shop-primary > .pss-panel-eyebrow { margin-bottom:9px; }
.pss-shop-all-row, .pss-shop-category-link, .pss-shop-subpanel > a { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:35px; border-top:1px solid var(--pss-line); color:var(--pss-ink); font:500 17px/1.15 var(--pss-display); text-decoration:none; }
.pss-shop-all-row:hover, .pss-shop-category-link:hover, .pss-shop-subpanel > a:hover { color:var(--pss-blue); }
.pss-shop-category-link span { color:var(--pss-blue); font:500 23px/1 var(--pss-body); }
.pss-shop-item.is-active > .pss-shop-category-link, .pss-shop-item:focus-within > .pss-shop-category-link, .pss-shop-item.is-open > .pss-shop-category-link { color:var(--pss-blue); }
.pss-shop-prompt, .pss-shop-subpanel { position:absolute; top:0; right:0; width:50%; height:100%; padding:26px; border-left:1px solid var(--pss-line); background:#edf0f8; }
.pss-shop-prompt { display:flex; flex-direction:column; justify-content:center; pointer-events:none; }
.pss-shop-prompt > span { margin-bottom:15px; color:var(--pss-blue); font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.pss-shop-prompt strong { max-width:220px; font:500 34px/1.08 var(--pss-display); letter-spacing:-.04em; }
.pss-shop-prompt p { max-width:230px; margin:17px 0 0; color:var(--pss-muted); font-size:13px; }
.pss-shop-subpanel { z-index:1; overflow-y:auto; visibility:hidden; opacity:0; pointer-events:none; transition:opacity .12s; }
.pss-shop-subpanel > .pss-panel-eyebrow { margin-bottom:14px; }
.pss-shop-subpanel > a { padding:9px 0; }
.pss-shop-subpanel > .pss-shop-subpanel-all { margin-bottom:8px; color:var(--pss-blue); font-size:20px; }
.pss-shop-item.is-active .pss-shop-subpanel, .pss-shop-item:focus-within .pss-shop-subpanel, .pss-shop-item.is-open .pss-shop-subpanel { visibility:visible; opacity:1; pointer-events:auto; }
.pss-menu-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 12px; padding:10px 0 13px; border-top:1px solid var(--pss-line); }
.pss-menu-group-root { grid-column:1/-1; color:var(--pss-ink); font:600 17px/1.15 var(--pss-display); text-decoration:none; }
.pss-menu-group-child { color:var(--pss-muted); font-size:11px; line-height:1.3; text-decoration:none; }
.pss-menu-group a:hover { color:var(--pss-blue); }
.pss-craft-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.pss-craft-panel { display:flex; flex-direction:column; min-width:0; min-height:0; border:1px solid #ccd6ef; background:#e9edfb; }
.pss-craft-panel-handbuilding { background:#eee9e3; border-color:#ded4ca; }
.pss-craft-copy { display:flex; flex:1; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(28px,3vw,48px); }
.pss-craft-copy h3 { max-width:620px; margin:8px 0 16px; font:500 clamp(37px,3.6vw,54px)/1 var(--pss-display); letter-spacing:-.055em; }
.pss-craft-copy p { max-width:500px; margin:0 0 29px; color:#4e5b6d; font-size:15px; line-height:1.55; }
.pss-craft-links { display:flex; flex-direction:column; justify-content:center; padding:24px clamp(28px,3vw,48px); border-top:1px solid #cbd5ef; background:#ffffffa6; }
.pss-craft-links > span { margin-bottom:14px; color:var(--pss-blue); font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.pss-craft-links a, .pss-more-tools a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--pss-line); color:var(--pss-ink); font:500 19px/1.15 var(--pss-display); text-decoration:none; }
.pss-craft-links a:hover, .pss-more-tools a:hover { color:var(--pss-blue); }
.pss-craft-links a span, .pss-more-tools a span { color:var(--pss-blue); font:700 15px/1 var(--pss-body); }
.pss-more-tools { margin-top:28px; padding:29px 34px; border:1px solid var(--pss-line); background:#fff; }
.pss-more-tools > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 23px; }
.pss-shop-nav.is-dismissed .pss-shop-panel { visibility:hidden; opacity:0; pointer-events:none; }
@media (hover:hover) and (min-width:761px) {
	.pss-shop-nav::before { content:""; position:absolute; top:0; right:100%; width:100px; height:calc(100% + 22px); clip-path:polygon(100% 0,100% 100%,0 100%); }
}
@media (max-width:980px) {
	.pss-craft-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
	.pss-craft-links { padding:24px; }
	.pss-more-tools > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pss-more-tools { padding:24px; }
  .pss-shop-panel { width:min(360px,calc(100vw - 24px)); max-height:calc(100vh - 94px); min-height:0; overflow-y:auto; }
  .pss-shop-primary { width:100%; padding:18px; }
  .pss-shop-prompt { display:none; }
  .pss-shop-subpanel { position:static; display:none; width:100%; height:auto; margin:4px 0 9px; padding:8px 12px; border-left:3px solid var(--pss-blue); background:#edf0f8; visibility:visible; opacity:1; pointer-events:auto; }
  .pss-shop-item:hover .pss-shop-subpanel { display:none; }
  .pss-shop-item.is-open .pss-shop-subpanel, .pss-shop-item:focus-within .pss-shop-subpanel { display:block; }
  .pss-shop-subpanel > a { font-size:15px; }
  .pss-menu-group { grid-template-columns:1fr; }
}
@media (max-width:430px) { .pss-more-tools > div { grid-template-columns:1fr; } }

/* October campaign controls and offer preview. */
.pss-home-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.pss-secondary-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:48px; padding:12px 18px; border:1px solid var(--pss-blue); color:var(--pss-blue); background:#fff; font-size:12px; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.pss-secondary-button:hover { background:#f8ecdc; color:var(--pss-blue-dark); }
.pss-home-hero-campaign { min-height:460px; background:#eee8e2; }
.pss-home-hero-campaign .pss-home-hero-copy { padding:clamp(26px,2.7vw,38px); }
.pss-home-hero-campaign h1 { font-size:clamp(52px,5vw,74px); }
.pss-home-hero-campaign .pss-home-hero-copy > p:not(.pss-overline) { margin:15px 0 17px; font-size:16px; }
.pss-home-hero-campaign .pss-home-art { min-height:390px; background:linear-gradient(135deg,#263d79,#a37869); }
.pss-home-hero-campaign + .pss-home-section { padding-top:54px; }
@media (max-width:1050px) { .pss-home-hero-campaign .pss-home-art { min-height:180px; } }
@media (max-width:760px) { .pss-home-hero-campaign h1 { font-size:clamp(48px,9vw,68px); } .pss-home-hero-campaign .pss-home-hero-copy { padding:32px 26px; } .pss-home-hero-campaign + .pss-home-section { padding-top:55px; } }
.pss-campaign-bar[hidden], .pss-campaign-dialog [hidden] { display:none!important; }
.pss-campaign-bar { background:#3a2a20; color:#fff; }
.pss-campaign-bar-inner { display:flex; align-items:center; justify-content:center; gap:18px; max-width:1290px; min-height:43px; margin:auto; padding:7px 24px; font-size:12px; text-align:center; }
.pss-campaign-bar-inner small { margin-left:8px; color:#d4dcf3; }
.pss-campaign-bar button { border:0; background:none; color:#fff; font-size:11px; font-weight:900; text-decoration:underline; text-transform:uppercase; cursor:pointer; white-space:nowrap; }
.pss-campaign-bar .pss-campaign-bar-close { margin-left:auto; padding:0 5px; font-size:20px; font-weight:400; text-decoration:none; }
.pss-campaign-reopen { position:fixed; right:18px; bottom:18px; z-index:90; padding:10px 13px; border:1px solid rgba(158,79,46,.25); background:#3a2a20; color:#fff; box-shadow:3px 3px 0 rgba(158,79,46,.25); font-size:10px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.pss-campaign-reopen[hidden] { display:none!important; }
.pss-campaign-dialog { width:min(520px,calc(100vw - 28px)); max-height:min(90vh,760px); padding:0; border:1px solid #b9c5e3; box-shadow:12px 15px 0 #1b3170; color:var(--pss-ink); }
.pss-campaign-dialog::backdrop { background:#122044b8; }
.pss-campaign-dialog-inner { position:relative; padding:clamp(28px,5vw,52px); background:#f3f0eb; }
.pss-campaign-dialog-close { position:absolute; top:16px; right:17px; display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid #c2c9d7; background:#fff; color:var(--pss-ink); font-family:Arial,sans-serif; font-size:22px; line-height:1; cursor:pointer; }
.pss-campaign-dialog h2 { max-width:390px; margin:12px 0 15px; font:500 clamp(37px,6vw,57px)/1 var(--pss-display); letter-spacing:-.05em; }
.pss-campaign-dialog p { color:#4e5b6d; font-size:14px; line-height:1.55; }
.pss-campaign-code-box { position:relative; display:grid; align-items:center; min-height:207px; margin:20px 0 0; padding:18px; overflow:hidden; border:1px dashed var(--pss-blue); background:#fff; }
.pss-campaign-unrevealed { display:grid; justify-items:center; align-content:center; min-height:169px; text-align:center; }
.pss-campaign-revealed { display:grid; gap:8px; }
.pss-campaign-revealed > .pss-campaign-discount { color:var(--pss-blue); font:700 clamp(31px,6vw,44px)/1 var(--pss-display); letter-spacing:-.04em; text-transform:none; }
.pss-campaign-revealed > span { color:var(--pss-muted); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pss-campaign-code-copy { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:6px; padding:10px 12px; border:1px solid #abbbe8; background:#f8ecdc; color:var(--pss-blue); cursor:pointer; }
.pss-campaign-code-copy:hover { background:#dfe7ff; }
.pss-campaign-code-copy strong { overflow-wrap:anywhere; font-size:clamp(20px,5vw,26px); letter-spacing:.08em; }
.pss-campaign-code-copy span { flex:none; font-size:10px; font-weight:900; text-transform:uppercase; }
.pss-campaign-revealed > small { color:#4e5b6d; font-size:11px; font-weight:800; }
.pss-campaign-unrevealed.is-fading-out { animation:pss-reveal-out .18s ease-in both; }
.pss-campaign-revealed.is-fading-in > * { animation:pss-reveal-piece .55s cubic-bezier(.2,.75,.25,1) both; }
.pss-campaign-revealed.is-fading-in > :nth-child(1) { animation-delay:.03s; }
.pss-campaign-revealed.is-fading-in > :nth-child(2) { animation-delay:.10s; }
.pss-campaign-revealed.is-fading-in > :nth-child(3) { animation-delay:.17s; }
.pss-campaign-revealed.is-fading-in > :nth-child(4) { animation-delay:.24s; }
.pss-campaign-email button { min-height:38px; padding:8px 12px; border:0; background:var(--pss-blue); color:#fff; font-size:11px; font-weight:900; text-transform:uppercase; cursor:pointer; }
.pss-campaign-email button:disabled { opacity:.6; cursor:wait; }
.pss-campaign-feedback { min-height:18px; margin:10px 0; color:var(--pss-blue)!important; font-weight:800; }
.pss-campaign-feedback.is-flash { animation:pss-feedback-flash .8s ease-out both; }
.pss-campaign-email { display:grid; gap:8px; margin-top:20px; padding-top:18px; border-top:1px solid #cbd2df; }
.pss-campaign-email label { font-size:12px; font-weight:800; }
.pss-campaign-email label span,.pss-campaign-email small { color:var(--pss-muted); font-size:11px; font-weight:400; }
.pss-campaign-email > div { display:flex; }
.pss-campaign-email input { flex:1; min-width:0; min-height:40px; padding:9px; border:1px solid #b9c5dc; border-radius:0; background:#fff; }
.pss-campaign-email-thanks { margin-top:20px; animation:pss-feedback-flash .35s ease-out both; }
.pss-campaign-email-thanks strong { font-size:14px; color:var(--pss-blue); }
.pss-campaign-email-thanks p { margin:5px 0 0; font-size:12px; }
.pss-campaign-dialog :focus-visible,.pss-campaign-bar :focus-visible { outline:3px solid #e29368; outline-offset:3px; }
@keyframes pss-reveal-out { to { opacity:0; transform:scale(.98); } }
@keyframes pss-reveal-piece { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes pss-feedback-flash { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .pss-campaign-unrevealed.is-fading-out,.pss-campaign-revealed.is-fading-in > *,.pss-campaign-feedback.is-flash { animation:none; } }
@media (max-width:600px) { .pss-campaign-bar-inner { flex-wrap:wrap; gap:4px 10px; padding:7px 12px; } .pss-campaign-bar-inner > span { flex:1 1 100%; } .pss-campaign-bar .pss-campaign-bar-close { margin-left:0; } }

/* Private draft preview keeps unapproved products off the public storefront. */
.pss-preview-banner { display:flex; flex-wrap:wrap; align-items:center; gap:6px 18px; margin:0 0 18px; padding:12px 17px; border-left:4px solid var(--pss-blue); background:#e8edff; color:var(--pss-ink); font-size:13px; }
.pss-home > .pss-preview-banner { margin-top:24px; margin-bottom:0; }
.pss-preview-banner strong { color:var(--pss-blue); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pss-preview-count { margin:0 0 16px; color:var(--pss-muted); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.pss-catalog-draft-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pss-draft-product-art { background:linear-gradient(140deg,#edf0f8,#dce5fa); color:var(--pss-blue); }
.pss-draft-product-art span { font:500 clamp(50px,8vw,90px)/1 var(--pss-display); }
.pss-draft-product-card .pss-product-price { color:var(--pss-muted); font-size:12px; font-weight:700; }
.pss-prelaunch-catalog { display:grid; justify-items:start; gap:14px; margin-top:30px; padding:clamp(35px,6vw,75px); border:1px solid #e3d4bf; background:#f8efe2; }
.pss-prelaunch-catalog > span { color:var(--pss-blue); font-size:38px; line-height:1; }
.pss-prelaunch-catalog h2 { margin:0; color:var(--pss-ink); font:500 clamp(36px,5vw,62px)/1 var(--pss-display); letter-spacing:-.05em; }
.pss-prelaunch-catalog p { max-width:600px; margin:0 0 8px; color:var(--pss-muted); font-size:16px; line-height:1.55; }
@media (max-width:1050px) { .pss-catalog-draft-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:430px) { .pss-catalog-draft-grid { grid-template-columns:1fr; } }
.pss-bundle-price { display:inline-flex; flex-direction:column; align-items:flex-start; gap:5px; line-height:1.4; }
.pss-bundle-label { color:#12633d; font-size:12px; font-weight:700; }
.pss-bundle-price-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.pss-bundle-price .pss-bundle-current { color:#12633d; background:none; padding:0; font-size:1.1em; font-weight:800; }
.pss-bundle-price .pss-bundle-separate { position:relative; display:inline-block; color:#3b4048; font-size:.9em; font-weight:500; opacity:1; text-decoration:none; }
.pss-bundle-separate::after { content:""; position:absolute; left:-2%; top:50%; width:104%; height:1px; background:currentColor; transform:rotate(-12deg); pointer-events:none; }
.pss-variety-price .pss-bundle-price { align-items:center; gap:3px; max-width:100%; }
.pss-variety-price .pss-bundle-label { display:flex; flex-direction:column; align-items:center; font-size:9px; white-space:normal; }
.pss-variety-price .pss-bundle-label-text,
.pss-variety-price .pss-bundle-label-separator { display:none; }
.pss-variety-price .pss-bundle-price-row { flex-direction:column; align-items:center; gap:3px; }
.pss-variety-price .pss-bundle-separate { font-size:11px; }
/* Saved-address delivery guidance on individual product pages. */
.psga-delivery-product { padding:10px 13px; border-left:3px solid var(--pss-blue); background:#f8efe2; font-size:13px; line-height:1.5; }
.psga-delivery-product small { display:block; margin-top:2px; color:var(--pss-muted); font-size:11px; font-weight:400; line-height:1.4; }
@media (max-width:760px) { .pss-header-inner { position:relative; } .pss-header-search { position:static; } .pss-header-search-button { width:30px; height:30px; } .pss-header-search-panel { left:0; right:0; width:auto; top:100%; } }

/* Drawn arrow (a text arrow becomes a blue emoji on iPhones). */
.pss-arrow { display:inline-block; line-height:1; vertical-align:-.08em; }
.pss-arrow svg { display:block; width:.85em; height:.85em; }
/* Phones: the Shop panel spans the header width (it used to hang off the left edge, anchored to the Shop button). */
@media (max-width:760px) {
	.pss-shop-nav { position:static; }
	.pss-shop-panel { left:12px; right:12px; width:auto; top:100%; }
}

/* Signup / unsubscribe pages (inc/emails.php) */
.pss-mail-page h1 { font-size:clamp(44px,6vw,80px); }
.pss-mail-page .pss-not-found-pot { width:120px; color:var(--pss-clay); margin-bottom:18px; }
.pss-mail-page form button.pss-primary-button { cursor:pointer; font:inherit; font-weight:800; }
