/* Mud Mercantile cozy refresh (October 2026): warm clay and cream, speckled stoneware, soft serif headings.
   Loaded after style.css; colors come from the :root tokens there. */

@font-face { font-family:"Fraunces"; font-style:normal; font-weight:300 700; font-display:swap; src:url("fonts/Fraunces-normal.woff2") format("woff2"); }
@font-face { font-family:"Fraunces"; font-style:italic; font-weight:300 700; font-display:swap; src:url("fonts/Fraunces-italic.woff2") format("woff2"); }
@font-face { font-family:"Nunito Sans"; font-style:normal; font-weight:300 800; font-display:swap; src:url("fonts/NunitoSans-normal.woff2") format("woff2"); }
@font-face { font-family:"Nunito Sans"; font-style:italic; font-weight:300 800; font-display:swap; src:url("fonts/NunitoSans-italic.woff2") format("woff2"); }

:root {
	--pss-radius:18px; --pss-radius-sm:12px; --pss-pill:999px;
	--pss-shadow:0 1px 2px rgba(74,48,30,.06), 0 8px 24px rgba(74,48,30,.08);
	--pss-shadow-lift:0 2px 4px rgba(74,48,30,.08), 0 16px 34px rgba(74,48,30,.14);
	--pss-card:#fffaf3; --pss-photo:#f6eee2; --pss-ink-soft:#4d3a2d;
	--pss-speckle:url("img/speckle.svg");
}

/* Base */
html body, body #main-container, body .site-main { background-color:var(--pss-paper); background-image:var(--pss-speckle); color:var(--pss-ink); font-family:var(--pss-body); font-size:16px; }
body { -webkit-font-smoothing:antialiased; }
h1, h2, h3, h4, .entry-title, .pss-display { font-family:var(--pss-display); font-variation-settings:"SOFT" 100, "WONK" 0; color:var(--pss-ink); }
a { color:var(--pss-blue); }
a:hover { color:var(--pss-blue-dark); }
::selection { background:var(--pss-bisque); color:var(--pss-ink); }
:focus-visible { outline:3px solid var(--pss-sage); outline-offset:3px; border-radius:6px; }
.pss-overline, .pss-panel-eyebrow, .pss-card-eyebrow, .pss-craft-links > span, .pss-shop-prompt > span, .pss-catalog-shipping span {
	color:var(--pss-sage-dark) !important; font-family:var(--pss-body); font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
}
.pss-overline::before { content:""; display:inline-block; width:7px; height:7px; margin:0 8px 1px 0; border-radius:50%; background:var(--pss-clay); vertical-align:middle; }
.pss-section-heading h2, .pss-home-hero h1, .pss-catalog-intro h1, .pss-empty-results h2, .pss-not-found h1, .pss-prelaunch-catalog h2 { font-weight:500; letter-spacing:-.025em; line-height:1.02; }
/* Page titles and section headings match the shop heading's weight instead of bold (owner, Nov 2 2026). */
.pss-content-hero h1, .pss-flow-head h1, .psga-order-page h1, .pss-prose h2, .pss-prose h3, .pss-guide h2, .pss-story h2, .pss-note-item h2, .pss-note-shop h2, .pss-note-faq h2, .pss-note-more h2, .woocommerce-order-tracking h2, .woocommerce-order-details__title, .woocommerce-column__title { font-weight:500; }
.pss-brush { position:relative; display:inline-block; z-index:0; }
.pss-brush::after { content:""; position:absolute; left:-2%; right:-2%; bottom:.04em; height:.32em; z-index:-1; border-radius:40% 60% 55% 45% / 60% 50% 50% 40%; background:var(--pss-bisque); opacity:.85; transform:rotate(-1.2deg); }

/* Buttons */
.pss-primary-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce .button, .wp-element-button, .pss-sort-form button, .pss-campaign-email button, .pss-account-support .button {
	gap:10px; min-height:48px; padding:12px 24px; border:0; border-radius:var(--pss-pill); background:var(--pss-blue); color:#fffaf3 !important; box-shadow:0 2px 0 var(--pss-blue-dark);
	font-family:var(--pss-body); font-size:15px; font-weight:800; letter-spacing:.01em; text-transform:none; transition:background .18s, transform .18s, box-shadow .18s;
}
.pss-primary-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce .button:hover, .wp-element-button:hover, .pss-sort-form button:hover, .pss-account-support .button:hover {
	transform:translateY(-2px); background:var(--pss-blue-dark); color:#fffaf3 !important; box-shadow:0 4px 0 #5f2c16;
}
.pss-secondary-button { gap:10px; min-height:48px; padding:12px 22px; border:2px solid var(--pss-ink); border-radius:var(--pss-pill); background:transparent; color:var(--pss-ink); font-size:15px; font-weight:800; letter-spacing:.01em; text-transform:none; }
.pss-secondary-button:hover { background:var(--pss-ink); color:var(--pss-paper); }
.pss-text-link { display:inline-flex; align-items:center; gap:6px; color:var(--pss-blue); font-weight:800; text-decoration:none; border-bottom:2px solid var(--pss-bisque); }
.pss-text-link:hover { border-color:var(--pss-blue); }

/* Header */
#header { background:color-mix(in srgb, var(--pss-paper) 92%, white); border-bottom:1px solid var(--pss-line); }
.pss-shipping-announcement { padding:9px 16px; border:0; background:var(--pss-sage-dark); color:#f7f1e6; font-size:13px; font-weight:700; letter-spacing:.02em; }
.pss-shipping-announcement a { color:#fff; }
.pss-shipping-announcement span { padding:0 2px; color:inherit; } /* Same color as the main line. */
.pss-header-inner { min-height:92px; }
.pss-brand { color:var(--pss-ink); }
.pss-brand:hover { color:var(--pss-blue); }
.pss-brand-row { display:inline-flex; align-items:center; gap:10px; }
.pss-brand-pot { width:34px; height:34px; color:var(--pss-clay); transform:translateY(3px); } /* Optical centre: lowercase wordmark sits low in its line box. */
.pss-brand-name { font:500 clamp(26px,2.4vw,36px)/1 var(--pss-display); font-variation-settings:"SOFT" 100, "WONK" 1; letter-spacing:-.02em; text-transform:none; }
.pss-brand-tagline { margin-top:6px; color:var(--pss-muted); font-size:12px; font-weight:600; letter-spacing:.02em; text-transform:none; font-style:italic; }
.pss-menu-button { min-height:44px; padding:0 18px; border:1.5px solid var(--pss-line); border-radius:var(--pss-pill); background:var(--pss-card); color:var(--pss-ink); font-size:14px; font-weight:800; letter-spacing:.02em; text-transform:none; }
.pss-menu-button:hover, .pss-menu[open] .pss-menu-button { background:var(--pss-ink); border-color:var(--pss-ink); color:var(--pss-paper); transform:none; }
.pss-shop-link, .pss-cart-link { color:var(--pss-ink); font-size:14px; font-weight:800; letter-spacing:.02em; text-transform:none; }
.pss-shop-link { padding:0 16px; border-radius:var(--pss-pill); background:var(--pss-blue); color:#fffaf3 !important; min-height:42px !important; }
.pss-shop-link:hover { background:var(--pss-blue-dark); }
.pss-cart-link:hover, .pss-header-search-button:hover { color:var(--pss-blue); }
.pss-cart-count { display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:var(--pss-pill); background:var(--pss-clay); color:#fffaf3; font-size:11px; font-weight:800; }
.pss-menu-panel, .pss-shop-panel, .pss-header-search-panel { border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); box-shadow:var(--pss-shadow-lift); }
.pss-menu-panel > a, .pss-shop-panel > a, .pss-menu-panel > .pss-menu-contact-button { border-color:var(--pss-line); font-family:var(--pss-display); }
.pss-menu-panel > a:hover, .pss-menu-panel > .pss-menu-contact-button:hover { color:var(--pss-blue); }
.pss-shop-panel { overflow:hidden; }
.pss-shop-all-row, .pss-shop-category-link { border:1px solid var(--pss-line) !important; border-radius:var(--pss-radius-sm); background:var(--pss-card); font-family:var(--pss-display) !important; font-size:22px !important; min-height:62px !important; }
.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:var(--pss-bisque) !important; background:#f8ecdc; color:var(--pss-blue); }
.pss-shop-category-link span { color:var(--pss-clay); }
.pss-shop-prompt, .pss-shop-subpanel { border-left:1px solid var(--pss-line); background:#f4e9d9 var(--pss-speckle); }
.pss-shop-subpanel > .pss-shop-subpanel-all { color:var(--pss-blue); }
.pss-menu-group { border-color:var(--pss-line); }
.pss-menu-group-root { font-family:var(--pss-display); }
.pss-menu-group-child { color:var(--pss-muted); font-size:13px; }
.pss-menu-group a:hover { color:var(--pss-blue); }
.pss-search-row { border:1.5px solid var(--pss-line); border-radius:var(--pss-pill); background:#fff; overflow:hidden; }
.pss-search-row:focus-within { border-color:var(--pss-clay); }
.pss-search-row input { min-height:46px; padding:0 18px; font-size:15px; }
.pss-search-row button { width:52px; background:var(--pss-blue); color:#fffaf3; }
.pss-search-form label { color:var(--pss-muted); font-size:12px; font-weight:800; letter-spacing:.06em; }

/* Live search suggestions */
.pss-search-form { position:relative; }
.pss-suggest { position:absolute; left:0; right:0; top:calc(100% + 8px); z-index:80; max-height:min(70vh,520px); overflow:auto; padding:8px; border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); box-shadow:var(--pss-shadow-lift); }
.pss-suggest[hidden] { display:none; }
.pss-suggest h4 { margin:10px 10px 6px; color:var(--pss-sage-dark); font:800 11px/1 var(--pss-body); letter-spacing:.09em; text-transform:uppercase; }
.pss-suggest a { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:12px; padding:8px 10px; border-radius:var(--pss-radius-sm); color:var(--pss-ink); text-decoration:none; }
.pss-suggest a.is-plain { grid-template-columns:minmax(0,1fr) auto; }
.pss-suggest a:hover, .pss-suggest a.is-active { background:#f6e9d7; }
.pss-suggest img { width:48px; height:48px; border-radius:10px; object-fit:contain; background:var(--pss-photo); mix-blend-mode:multiply; }
.pss-suggest strong { display:block; overflow:hidden; font:500 16px/1.2 var(--pss-display); text-overflow:ellipsis; white-space:nowrap; }
.pss-suggest small { color:var(--pss-muted); font-size:12px; }
.pss-suggest .pss-suggest-price { font-weight:800; font-size:14px; }
.pss-suggest-all { display:block !important; margin-top:6px; padding:11px !important; border-top:1px solid var(--pss-line); color:var(--pss-blue) !important; font-weight:800; text-align:center; }
.pss-suggest-empty { padding:14px; color:var(--pss-muted); font-size:14px; }

/* Layout helpers */
.pss-page-width { width:min(100% - 48px, 1280px); }
.pss-wave { display:block; width:100%; height:38px; color:var(--pss-oat); }
.pss-band { position:relative; margin-top:96px; padding:72px 0; background:var(--pss-oat) var(--pss-speckle); }
.pss-band::before, .pss-band::after { content:""; position:absolute; left:0; right:0; height:28px; background:var(--pss-oat); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 28' preserveAspectRatio='none'%3E%3Cpath d='M0 28V14C150 2 300 2 450 12s300 14 450 4 225-14 300-6V28z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 28' preserveAspectRatio='none'%3E%3Cpath d='M0 28V14C150 2 300 2 450 12s300 14 450 4 225-14 300-6V28z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.pss-band::before { top:-27px; }
.pss-band::after { bottom:-27px; transform:scaleY(-1); }
.pss-section-heading { align-items:flex-end; margin-bottom:28px; }
.pss-section-heading h2 { font-size:clamp(34px,4.4vw,56px); }
.pss-section-heading > a { color:var(--pss-blue); font-size:15px; font-weight:800; letter-spacing:0; text-transform:none; }

/* Home */
.pss-home { padding:30px 0 40px; }
.pss-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:clamp(24px,4vw,64px); padding:clamp(28px,4vw,56px) 0 20px; }
.pss-hero h1 { margin:0; font-size:clamp(50px,6.6vw,92px); line-height:.98; letter-spacing:-.03em; }
.pss-hero h1 em { color:var(--pss-clay); font-style:italic; font-weight:400; font-variation-settings:"SOFT" 100, "WONK" 1; }
.pss-hero-intro { max-width:520px; margin:24px 0 30px; color:var(--pss-ink-soft); font-size:19px; line-height:1.6; }
.pss-hero-season { max-width:520px; margin:-14px 0 26px; padding:10px 14px; border-left:3px solid var(--pss-sage); background:var(--pss-bisque); border-radius:0 10px 10px 0; color:var(--pss-ink-soft); font-size:16px; line-height:1.5; }
.pss-hero-season strong { color:var(--pss-ink); }
.pss-hero-actions { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.pss-hero-note { margin-top:22px; color:var(--pss-muted); font-size:14px; }
.pss-hero-art { position:relative; aspect-ratio:1.05; }
.pss-hero-blob { position:absolute; inset:4% 2% 2% 6%; border-radius:58% 42% 50% 50% / 48% 54% 46% 52%; background:var(--pss-bisque); }
.pss-hero-blob.is-sage { inset:auto 0 0 auto; width:34%; aspect-ratio:1; border-radius:50% 46% 54% 50% / 52% 50% 50% 48%; background:var(--pss-sage); opacity:.85; }
.pss-hero-photo { position:absolute; display:block; overflow:hidden; border:6px solid var(--pss-card); border-radius:var(--pss-radius); background:var(--pss-photo); box-shadow:var(--pss-shadow-lift); }
.pss-hero-photo img { width:100%; height:100%; object-fit:cover; }
.pss-hero-photo:nth-of-type(1) { left:8%; top:8%; width:52%; aspect-ratio:1; transform:rotate(-4deg); }
.pss-hero-photo:nth-of-type(2) { right:4%; top:18%; width:40%; aspect-ratio:.9; transform:rotate(5deg); }
.pss-hero-photo:nth-of-type(3) { left:28%; bottom:4%; width:42%; aspect-ratio:1.1; transform:rotate(2deg); }
.pss-hero-campaign { display:inline-flex; align-items:center; gap:10px; margin-bottom:18px; padding:7px 14px; border-radius:var(--pss-pill); background:#f6e2cc; color:var(--pss-blue-dark); font-size:14px; font-weight:800; text-decoration:none; }
.pss-hero-campaign:hover { background:var(--pss-bisque); color:var(--pss-blue-dark); }

.pss-trust { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:34px 0 0; padding:0; list-style:none; }
.pss-trust li { display:flex; align-items:center; gap:14px; padding:18px 20px; border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); }
.pss-trust svg { flex:none; width:34px; height:34px; color:var(--pss-clay); }
.pss-trust strong { display:block; font:600 17px/1.2 var(--pss-display); }
.pss-trust span { color:var(--pss-muted); font-size:13px; line-height:1.4; }

.pss-home-section { padding-top:88px; }
.pss-cat-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.pss-cat-tile { position:relative; display:flex; flex-direction:column; min-height:100%; overflow:hidden; border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); color:var(--pss-ink); text-decoration:none; transition:transform .2s, box-shadow .2s; }
.pss-cat-tile:hover { transform:translateY(-4px); box-shadow:var(--pss-shadow-lift); color:var(--pss-ink); }
.pss-cat-tile-img { position:relative; display:block; flex:none; aspect-ratio:4/3; overflow:hidden; background:var(--pss-photo); }
.pss-cat-tile:nth-child(4n+2) .pss-cat-tile-img { background:#efe3cf; }
.pss-cat-tile:nth-child(4n+3) .pss-cat-tile-img { background:#e9e6d6; }
.pss-cat-tile:nth-child(4n+4) .pss-cat-tile-img { background:#f2e2d4; }
.pss-cat-tile-img img { position:absolute; inset:12px; display:block; width:calc(100% - 24px); height:calc(100% - 24px); max-width:none; object-fit:contain; mix-blend-mode:multiply; transition:transform .35s; }
.pss-cat-tile:hover .pss-cat-tile-img img { transform:scale(1.05) rotate(-1deg); }
.pss-cat-tile-copy { padding:16px 18px 18px; }
.pss-cat-tile-copy strong { display:block; font:500 22px/1.15 var(--pss-display); }
.pss-cat-tile-copy span { color:var(--pss-muted); font-size:13px; }

.pss-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.pss-path { display:grid; grid-template-columns:minmax(0,1fr); padding:clamp(28px,3.4vw,46px); border-radius:28px; background:var(--pss-card); border:1px solid var(--pss-line); }
.pss-path.is-wheel { background:#f4e2d1 var(--pss-speckle); }
.pss-path.is-hand { background:#e6e7d6 var(--pss-speckle); }
.pss-path h3 { margin:6px 0 12px; font-size:clamp(32px,3.2vw,46px); line-height:1.02; letter-spacing:-.02em; }
.pss-path p { max-width:460px; margin:0 0 22px; color:var(--pss-ink-soft); font-size:16px; line-height:1.6; }
.pss-path-links { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 26px; }
.pss-chip, .pss-path-links a, .pss-subcategory-row a { display:inline-flex; align-items:center; gap:7px; padding:8px 14px; border:1px solid rgba(58,42,32,.18); border-radius:var(--pss-pill); background:rgba(255,250,243,.75); color:var(--pss-ink); font-size:14px; font-weight:700; text-decoration:none; transition:background .15s, border-color .15s; }
.pss-chip:hover, .pss-path-links a:hover, .pss-subcategory-row a:hover { border-color:var(--pss-clay); background:#fff; color:var(--pss-blue); }
.pss-subcategory-row a small, .pss-chip small { color:var(--pss-muted); font-weight:600; }
.pss-subcategory-row a[aria-current="page"] { background:var(--pss-ink); border-color:var(--pss-ink); color:var(--pss-paper); }

.pss-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,80px); align-items:center; }
.pss-story h2 { margin:0 0 18px; font-size:clamp(34px,4vw,52px); line-height:1.05; letter-spacing:-.02em; }
.pss-story p { color:var(--pss-ink-soft); font-size:17px; line-height:1.7; }
.pss-story-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 22px; margin:18px 0 0; padding:0; list-style:none; }
.pss-story-links a { color:var(--pss-ink); font-weight:700; text-decoration:none; border-bottom:1px dashed var(--pss-line); }
.pss-story-links a:hover { color:var(--pss-blue); border-color:var(--pss-blue); }
.pss-story-card { padding:clamp(26px,3vw,40px); border-radius:28px; background:var(--pss-card); border:1px solid var(--pss-line); box-shadow:var(--pss-shadow); }
.pss-story-card ul { margin:16px 0 0; padding:0; list-style:none; display:grid; gap:14px; }
.pss-story-card li { display:grid; grid-template-columns:30px 1fr; gap:12px; font-size:15px; line-height:1.5; }
.pss-story-card li::before { content:""; width:22px; height:22px; margin-top:2px; border-radius:50% 46% 54% 50%; background:var(--pss-sage); opacity:.75; }

.pss-notes-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.pss-note-card { display:flex; flex-direction:column; gap:10px; padding:22px; border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); color:var(--pss-ink); text-decoration:none; transition:transform .2s, box-shadow .2s; }
.pss-note-card:hover { transform:translateY(-3px); box-shadow:var(--pss-shadow); color:var(--pss-ink); }
.pss-note-card strong { font:500 21px/1.2 var(--pss-display); }
.pss-note-card p { margin:0; color:var(--pss-muted); font-size:14px; line-height:1.55; }
.pss-note-card span { margin-top:auto; color:var(--pss-blue); font-weight:800; font-size:14px; }

/* Product cards (home rows and shop grid) */
.pss-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.pss-product-card, .pss-shop-card { position:relative; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); box-shadow:none; transition:transform .2s, box-shadow .2s; }
.pss-product-card:hover, .pss-shop-card:hover { transform:translateY(-4px); box-shadow:var(--pss-shadow-lift); }
.pss-product-card-link { display:flex; flex-direction:column; height:100%; }
.pss-product-image { aspect-ratio:1; margin:10px 10px 0; border-radius:var(--pss-radius-sm); background:var(--pss-photo); }
.pss-product-image img { mix-blend-mode:multiply; padding:6px; transition:transform .35s; }
.pss-product-card:hover .pss-product-image img { transform:scale(1.04); }
.pss-product-copy { gap:6px; padding:14px 16px 18px; }
.pss-product-copy h3 { min-height:0; font:500 19px/1.2 var(--pss-display); letter-spacing:-.01em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pss-card-eyebrow { font-size:11px !important; }
.pss-product-price { margin-top:2px; font-size:16px; font-weight:800; color:var(--pss-ink); }
.pss-product-action { margin-top:auto; padding-top:10px; border-top:1px dashed var(--pss-line); color:var(--pss-blue); font-size:14px; font-weight:800; letter-spacing:0; text-transform:none; }

.pss-catalog-results ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pss-catalog-results ul.products li.product { display:flex; }
.pss-shop-card { width:100%; padding:10px 10px 16px; }
.pss-shop-card figure { position:relative; margin:0 0 12px; overflow:hidden; border-radius:var(--pss-radius-sm); background:var(--pss-photo); }
.pss-catalog-results ul.products li.product .ct-media-container { background:var(--pss-photo) !important; border-radius:var(--pss-radius-sm); }
.pss-catalog-results ul.products li.product img { background:transparent !important; }
.pss-catalog-results ul.products li.product figure img { mix-blend-mode:multiply; padding:8px; transition:opacity .3s, transform .35s; }
.pss-shop-card:hover figure img { transform:scale(1.04); }
.pss-shop-card > .pss-card-hover { display:none; }
.pss-shop-card figure .pss-card-hover { position:absolute; inset:0; display:block; opacity:0; pointer-events:none; background:var(--pss-photo); transition:opacity .3s; }
.pss-card-hover-img { width:100% !important; height:100% !important; object-fit:contain; mix-blend-mode:multiply; padding:8px; }
@media (hover:hover) { .pss-shop-card:hover figure .pss-card-hover { opacity:1; } }
.pss-card-badges { position:absolute; top:10px; left:10px; z-index:2; display:flex; flex-wrap:wrap; gap:6px; pointer-events:none; }
.pss-badge { padding:4px 10px; border-radius:var(--pss-pill); background:var(--pss-card); color:var(--pss-ink); font-size:12px; font-weight:800; box-shadow:0 1px 3px rgba(58,42,32,.15); }
.pss-badge.is-sale { background:var(--pss-blue); color:#fffaf3; }
.pss-badge.is-new { background:var(--pss-sage-dark); color:#fffaf3; }
.pss-badge.is-low { background:#f3d9a8; color:#5c3a10; }
.pss-product-image { position:relative; }
.pss-card-stock { position:absolute; left:10px; top:10px; z-index:2; }
.pss-card-category { display:block; margin:0 4px 4px; color:var(--pss-sage-dark); font-size:12px; font-weight:800; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.pss-catalog-results ul.products li.product .woocommerce-loop-product__title { margin:0 4px 6px; font:500 19px/1.22 var(--pss-display); letter-spacing:-.01em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.44em; }
.pss-catalog-results ul.products li.product .woocommerce-loop-product__title a { color:var(--pss-ink); text-decoration:none; }
.pss-catalog-results ul.products li.product .price { margin:0 4px 12px; color:var(--pss-ink); font-size:17px; font-weight:800; }
.pss-catalog-results ul.products li.product .entry-meta { display:none !important; }
.pss-shop-card .ct-woo-card-actions { margin:auto 4px 0; }
.pss-shop-card .ct-woo-card-actions .button { width:100%; min-height:44px; font-size:14px; }
.pss-card-styles { margin:10px 4px 0; border-top:1px dashed var(--pss-line); }
.pss-card-styles .pss-variety-picker { margin-top:0; padding-top:8px; border-top:0; }
.pss-card-styles .pss-variety-heading { margin-bottom:5px; }
/* Card styles: always showing, 4 in a row with a very small photo; the rest open with "View more". */
.pss-card-styles .pss-variety-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; overflow:visible; padding:0 0 4px; }
.pss-card-styles .pss-variety-option { flex:none; min-width:0; padding:3px 2px; gap:2px; }
.pss-card-styles .pss-variety-thumb { width:24px; height:24px; border-radius:5px; font-size:12px; }
.pss-card-styles .pss-variety-short { font-size:9px; }
.pss-card-styles .pss-variety-price { min-height:0; font-size:9px; }
.pss-card-styles.has-more:not(.is-open) .pss-variety-option:nth-child(n+4) { display:none; }
.pss-card-styles .pss-variety-option { position:relative; overflow:hidden; align-content:start; }
/* Prices in the tile: always centred, a sale's old price and new price on two lines. */
.pss-card-styles .pss-variety-option .pss-variety-price { display:flex; flex-direction:column; align-items:center; gap:1px; width:100%; min-height:0; text-align:center; white-space:normal; }
.pss-card-styles .pss-variety-option .pss-variety-price del, .pss-card-styles .pss-variety-option .pss-variety-price ins { display:block; line-height:1.15; text-align:center; text-decoration-thickness:1px; }
.pss-card-styles .pss-variety-price del { color:var(--pss-muted); font-weight:600; }
.pss-card-styles .pss-variety-price ins { background:none; text-decoration:none; }
/* Sold out runs diagonally across the style photo (no box behind it) instead of taking its own line. */
.pss-card-styles .pss-variety-sold { position:absolute; left:50%; top:14px; z-index:1; padding:0; background:none; color:#3b2a20; font-size:8px; font-weight:900; line-height:1.2; letter-spacing:.02em; white-space:nowrap; pointer-events:none; transform:translate(-50%,-50%) rotate(-22deg); }
.pss-card-styles .pss-variety-sold-out .pss-variety-thumb, .pss-card-styles .pss-variety-temporarily-unavailable .pss-variety-thumb { opacity:.45; }
/* "View more" sits in the row with the styles, in the place after the third. */
.pss-card-styles-more { display:flex; align-items:center; justify-content:center; min-width:0; padding:3px 4px; border:1px solid var(--pss-line); border-radius:var(--pss-radius-sm); background:transparent; color:var(--pss-blue); font-size:10px; font-weight:800; line-height:1.2; text-align:center; text-decoration:none; }
.pss-card-styles-more:hover, .pss-card-styles-more:focus-visible { border-color:var(--pss-clay); background:#f8ead8; }
.pss-card-styles:not(.has-more) .pss-card-styles-more, .pss-more-phone, .pss-more-less, .pss-card-styles.is-open .pss-more-desk { display:none; }
.pss-card-styles.is-open .pss-more-less { display:inline; }
.pss-card-styles-toggle { display:none; }
/* Phones: styles start closed behind a "Styles" button; open, 3 in a row with bigger photos, the first 2 and "View more". */
@media (max-width:760px) {
	/* A thin button right under the price, with a little room before Add to cart. */
	.pss-card-styles-toggle { display:flex; align-items:center; justify-content:center; gap:5px; width:100%; min-height:0; margin:0; padding:2px 10px; border:1px solid var(--pss-line); border-radius:var(--pss-pill); background:transparent; color:var(--pss-blue); font:inherit; font-size:12px; font-weight:800; line-height:1.4; cursor:pointer; }
	.pss-catalog-results ul.products li.product:has(.pss-card-styles) .price { margin-bottom:6px; }
	.pss-shop-card > .pss-card-styles { margin-top:0; margin-bottom:10px; }
	.pss-card-styles-toggle span { transition:transform .2s; }
	.pss-card-styles.is-shown .pss-card-styles-toggle span { transform:rotate(180deg); }
	.pss-card-styles:not(.is-shown) .pss-variety-picker { display:none; }
	.pss-card-styles { border-top:0; }
	.pss-card-styles .pss-variety-options { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.pss-card-styles .pss-variety-thumb { width:34px; height:34px; }
	.pss-card-styles .pss-variety-short, .pss-card-styles .pss-variety-price { font-size:10px; }
	.pss-card-styles.has-more-phone:not(.is-open) .pss-variety-option:nth-child(n+3) { display:none; }
	.pss-card-styles.has-more-phone .pss-card-styles-more { display:flex; }
	.pss-card-styles:not(.is-open) .pss-more-desk { display:none; }
	.pss-card-styles:not(.is-open) .pss-more-phone { display:inline; }
	/* Shop and category pages: only a few pixels at the screen edges (Blocksy's container and the page width both added a gutter). */
	.ct-container:has(> section > .pss-catalog) { width:100%; }
	.pss-page-width.pss-catalog { width:calc(100% - 12px); }
	/* Bigger product photo: less padding around it. */
	.pss-catalog-results ul.products li.product figure img { padding:0; }
	.pss-shop-card figure { margin-bottom:10px; }
}
.pss-shop-card.is-previewing figure .pss-card-hover { opacity:0 !important; }
.pss-variety-heading span { color:var(--pss-blue); }
.pss-variety-option { border-color:var(--pss-line); border-radius:var(--pss-radius-sm); background:var(--pss-card); }
.pss-variety-thumb { border-radius:8px; background:var(--pss-photo); }
.pss-variety-thumb img { mix-blend-mode:multiply; }
.pss-variety-option:hover, .pss-variety-option:focus-visible, .pss-variety-option.is-preview { border-color:var(--pss-clay); background:#f8ead8; color:var(--pss-blue-dark); }
.pss-variety-option.is-shown { box-shadow:inset 0 -3px 0 var(--pss-clay); }
.pss-out-of-stock .pss-shop-card { background:#f1ebe2; }
.pss-card-stock-note { border-radius:var(--pss-pill); background:#e6ddd0; color:#5d4c3f; }

/* Catalog shell */
.pss-catalog { padding:28px 0 40px; }
.pss-breadcrumbs { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px; padding:0; list-style:none; color:var(--pss-muted); font-size:14px; }
.pss-breadcrumbs li + li::before { content:"›"; margin-right:6px; color:var(--pss-line); }
.pss-breadcrumbs a { color:var(--pss-muted); text-decoration:none; }
.pss-breadcrumbs a:hover { color:var(--pss-blue); }
.pss-catalog-intro { position:relative; overflow:hidden; padding:clamp(28px,3.6vw,48px) clamp(24px,4vw,56px); border:0; border-radius:28px; background:#f1e2cf var(--pss-speckle); }
.pss-catalog-intro::after { content:""; position:absolute; right:-60px; top:-70px; width:260px; height:260px; border-radius:58% 42% 50% 50% / 48% 54% 46% 52%; background:var(--pss-bisque); opacity:.7; }
.pss-catalog-intro > * { position:relative; z-index:1; }
.pss-catalog-intro > a.pss-catalog-back { display:none; }
.pss-catalog-intro h1 { font-size:clamp(40px,5vw,68px); }
.pss-catalog-intro-copy { max-width:720px; color:var(--pss-ink-soft); font-size:17px; line-height:1.6; }
.pss-catalog-shipping { margin-top:20px; padding:10px 16px; border:0; border-radius:var(--pss-pill); background:rgba(255,250,243,.8); }
.pss-catalog-shipping strong { color:var(--pss-ink); }
.pss-subcategory-row { padding-top:20px; }
.pss-catalog-layout { grid-template-columns:268px minmax(0,1fr); gap:28px; }
.pss-filter-details { border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); overflow:hidden; position:sticky; top:16px; }
.pss-filter-details > summary { border-color:var(--pss-line); color:var(--pss-ink); font-size:14px; letter-spacing:.04em; }
.pss-filter-body h2 { font-size:22px; }
.pss-filter-body input[type="search"], .pss-filter-body input[type="number"], .pss-catalog-toolbar select { border:1.5px solid var(--pss-line); border-radius:var(--pss-radius-sm); background:#fff; font-size:15px; }
.pss-filter-body legend, .pss-filter-search-label, .pss-price-fields label { color:var(--pss-ink-soft); font-size:13px; }
.pss-price-chips { display:flex; flex-wrap:wrap; gap:6px; }
.pss-price-chips button { padding:6px 12px; border:1px solid var(--pss-line); border-radius:var(--pss-pill); background:#fff; color:var(--pss-ink); cursor:pointer; font-size:13px; font-weight:700; }
.pss-price-chips button:hover, .pss-price-chips button.is-active { border-color:var(--pss-clay); background:#f8ead8; color:var(--pss-blue-dark); }
.pss-stock-filter { font-size:14px; }
.pss-stock-filter input { accent-color:var(--pss-clay); }
.pss-clear-filters, .pss-all-categories { color:var(--pss-blue); }
.pss-sidebar-categories { border-color:var(--pss-line); }
.pss-filter-category { border-color:var(--pss-line); }
.pss-filter-category summary { font-size:14px; }
.pss-filter-category summary a { color:var(--pss-ink); }
.pss-filter-category summary small, .pss-filter-children a small { color:var(--pss-muted); font-weight:600; }
.pss-filter-children a { font-size:14px; }
.pss-filter-children a:hover, .pss-filter-children a[aria-current="page"] { color:var(--pss-blue); }
.js-auto-filter .pss-filter-apply { display:none; }
.pss-catalog-toolbar { border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); }
.pss-catalog-toolbar label { color:var(--pss-muted); font-size:12px; letter-spacing:.06em; }
.pss-catalog-toolbar form > label, .pss-catalog-toolbar div > label { margin-bottom:0; } /* Centred beside its field, not 3px high. */
.js-auto-filter .pss-sort-form button { display:none; }
.pss-active-filters a { border:1px solid var(--pss-bisque); border-radius:var(--pss-pill); background:#f8ead8; color:var(--pss-blue-dark); font-size:13px; }
.pss-catalog-results .woocommerce-result-count { color:var(--pss-muted); font-size:14px; }
.pss-mobile-filter-toggle { display:none; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span, .ct-pagination a, .ct-pagination span { border-radius:var(--pss-pill) !important; }
.ct-pagination .current, .woocommerce nav.woocommerce-pagination ul li span.current { background:var(--pss-blue) !important; color:#fffaf3 !important; }
/* Next / Previous: a filled button, easy to spot under the grid. */
.ct-pagination a.next, .ct-pagination a.prev { min-height:46px; padding:0 22px !important; border:0 !important; background:var(--pss-blue) !important; color:#fffaf3 !important; font-size:15px; font-weight:800; box-shadow:0 2px 0 rgba(58,42,32,.25); }
.ct-pagination a.next:hover, .ct-pagination a.prev:hover, .ct-pagination a.next:focus-visible, .ct-pagination a.prev:focus-visible { background:var(--pss-blue-dark) !important; }
.pss-empty-results, .pss-prelaunch-catalog { border:1px dashed var(--pss-bisque); border-radius:28px; background:#f6ead9; }
.pss-empty-results > span, .pss-prelaunch-catalog > span { color:var(--pss-clay); }

/* Category guide (below the grid) */
.pss-guide { margin-top:72px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(28px,4vw,60px); }
.pss-guide h2 { margin:0 0 16px; font-size:clamp(30px,3.4vw,44px); line-height:1.08; letter-spacing:-.02em; }
.pss-guide-copy p { color:var(--pss-ink-soft); font-size:16.5px; line-height:1.75; }
.pss-guide-copy a { font-weight:700; }
.pss-faq { padding:clamp(22px,3vw,34px); border-radius:28px; background:var(--pss-card); border:1px solid var(--pss-line); }
.pss-faq h3 { margin:0 0 10px; font-size:24px; }
.pss-faq details { border-top:1px solid var(--pss-line); }
.pss-faq summary { display:flex; justify-content:space-between; gap:12px; padding:15px 0; cursor:pointer; font-weight:800; list-style:none; }
.pss-faq summary::-webkit-details-marker { display:none; }
.pss-faq summary::after { content:"+"; color:var(--pss-clay); font-size:20px; line-height:1; }
.pss-faq details[open] summary::after { content:"–"; }
.pss-faq details p { margin:0 0 16px; color:var(--pss-ink-soft); line-height:1.65; }

/* Single product */
.single-product .product_title { font:500 clamp(30px,3.4vw,46px)/1.08 var(--pss-display) !important; letter-spacing:-.02em; }
.single-product .woocommerce-product-gallery { border-radius:var(--pss-radius); overflow:hidden; background:var(--pss-photo); }
.woocommerce-product-gallery .ct-media-container { background:var(--pss-photo) !important; }
.woocommerce-product-gallery .ct-media-container img { mix-blend-mode:multiply; }
/* Hover zoom: the zoomed copy multiplies too, so the photo under it showed through as a second image. Hide the photo
   while the zoomed copy is up (it fades in over the same 0.12s). */
.woocommerce-product-gallery .ct-media-container:has(> .zoomImg) > img:not(.zoomImg) { transition:opacity .12s; }
.woocommerce-product-gallery .ct-media-container:has(> .zoomImg):hover > img:not(.zoomImg) { opacity:0; }
.single-product .flex-control-thumbs img, .single-product .ct-product-gallery-thumbs img { border-radius:10px; }
/* Phones: the thumbnails are one swipeable row, not a 3-across grid (7+ photos pushed the name, price and Add to cart
   below the first screen). */
@media (max-width:689px) {
	.single-product .woocommerce-product-gallery .flexy-pills ol { flex-wrap:nowrap; overflow-x:auto; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:4px; }
	.single-product .woocommerce-product-gallery .flexy-pills ol::-webkit-scrollbar { display:none; }
	.single-product .woocommerce-product-gallery .flexy-pills ol li { flex:0 0 68px !important; width:68px !important; max-width:none !important; scroll-snap-align:start; }
}
.single-product .summary .price { color:var(--pss-ink) !important; font-size:26px !important; font-weight:800; }
.single-product .summary .single_add_to_cart_button { min-height:54px; font-size:16px; }
.single-product .quantity .qty { border-radius:var(--pss-pill); }
.pss-shipping-terms { border:0; padding:0; color:var(--pss-sage-dark); font-size:14px; }
.pss-product-trust { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:20px 0; padding:0; list-style:none; }
.pss-product-trust li { display:flex; gap:10px; align-items:flex-start; padding:12px; border:1px solid var(--pss-line); border-radius:var(--pss-radius-sm); background:var(--pss-card); font-size:13px; line-height:1.4; }
.pss-product-trust svg { flex:none; width:22px; height:22px; color:var(--pss-clay); }
.pss-product-trust strong { display:block; font-size:14px; }
.pss-product-more { margin:22px 0; border-top:1px solid var(--pss-line); }
.pss-product-more details { border-bottom:1px solid var(--pss-line); }
.pss-product-more summary { display:flex; justify-content:space-between; padding:16px 2px; cursor:pointer; font:600 19px/1.2 var(--pss-display); list-style:none; }
.pss-product-more summary::-webkit-details-marker { display:none; }
.pss-product-more summary::after { content:"+"; color:var(--pss-clay); font-family:var(--pss-body); font-size:22px; }
.pss-product-more details[open] summary::after { content:"–"; }
.pss-product-more details > div { padding:0 2px 18px; color:var(--pss-ink-soft); font-size:15px; line-height:1.65; }
.psga-delivery-product { border:0; border-radius:var(--pss-radius-sm); background:#eef0e3; }
.woocommerce-tabs .tabs { border-color:var(--pss-line) !important; }
.woocommerce-tabs .tabs li a { font-family:var(--pss-display); font-size:19px; text-transform:none !important; letter-spacing:0 !important; }
.woocommerce-tabs .tabs li.active a { color:var(--pss-blue) !important; }
.woocommerce-Tabs-panel { font-size:16.5px; line-height:1.75; color:var(--pss-ink-soft); }
.related.products > h2, .upsells.products > h2, .pss-recent > h2 { font:500 clamp(28px,3vw,38px)/1.1 var(--pss-display); letter-spacing:-.02em; }
.related.products ul.products, .pss-recent-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.related.products ul.products li.product { width:auto !important; margin:0 !important; }
.pss-recent-grid > a { border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); padding:10px 10px 16px; }
.related.products ul.products li.product { border:0; padding:0; background:none; }
.related.products ul.products li.product img { border-radius:var(--pss-radius-sm); background:var(--pss-photo); mix-blend-mode:multiply; }
.related.products .entry-meta { display:none !important; }
.pss-recent { margin:60px 0 0; }
.pss-recent[hidden] { display:none; }
.pss-recent-grid > a { display:flex; flex-direction:column; gap:8px; color:var(--pss-ink); text-decoration:none; }
.pss-recent-grid img { width:100%; aspect-ratio:1; object-fit:contain; border-radius:var(--pss-radius-sm); background:var(--pss-photo); mix-blend-mode:multiply; }
.pss-recent-grid strong { font:500 16px/1.25 var(--pss-display); }
.pss-sticky-cart { position:fixed; left:0; right:0; bottom:0; z-index:85; display:none; align-items:center; gap:12px; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid var(--pss-line); background:var(--pss-card); box-shadow:0 -6px 20px rgba(58,42,32,.12); }
.pss-sticky-cart strong { display:block; overflow:hidden; font:500 15px/1.2 var(--pss-display); text-overflow:ellipsis; white-space:nowrap; }
.pss-sticky-cart span { font-weight:800; }
.pss-sticky-cart .pss-primary-button { flex:none; min-height:44px; padding:10px 18px; }

/* Q&A, notices, dialogs */
.pss-order-help { border:0; border-radius:var(--pss-radius-sm); background:#eef0e3; }
.pss-order-help button { color:var(--pss-blue-dark); }
.pss-order-help-dialog, .pss-campaign-dialog { border:0; border-radius:26px; box-shadow:var(--pss-shadow-lift); overflow:hidden; }
.pss-order-help-dialog::backdrop, .pss-campaign-dialog::backdrop { background:rgba(46,30,20,.55); }
.pss-order-help-dialog-inner, .pss-campaign-dialog-inner { background:var(--pss-paper) var(--pss-speckle); }
.pss-order-help-close, .pss-campaign-dialog-close { border:1px solid var(--pss-line); border-radius:50%; background:var(--pss-card); }
.pss-order-help-dialog input, .pss-order-help-dialog textarea, .pss-campaign-email input { border:1.5px solid var(--pss-line); border-radius:var(--pss-radius-sm); }
.pss-campaign-email > div { gap:8px; }
.pss-campaign-code-box { border:2px dashed var(--pss-bisque); border-radius:var(--pss-radius); background:var(--pss-card); }
.pss-campaign-code-copy { border:1px solid var(--pss-bisque); border-radius:var(--pss-radius-sm); background:#f8ead8; color:var(--pss-blue-dark); }
.pss-campaign-revealed > .pss-campaign-discount, .pss-campaign-feedback, .pss-campaign-email-thanks strong { color:var(--pss-blue) !important; }
.pss-campaign-bar { background:var(--pss-ink); }
.pss-campaign-reopen { border:0; border-radius:var(--pss-pill); background:var(--pss-blue); box-shadow:var(--pss-shadow-lift); font-size:13px; letter-spacing:.02em; text-transform:none; }
.pss-campaign-dialog p, .pss-order-help-dialog p { color:var(--pss-ink-soft); }
.pss-preview-banner { border:0; border-radius:var(--pss-radius-sm); background:#f6e2cc; }
.pss-preview-banner strong { color:var(--pss-blue-dark); }
.woocommerce-message, .woocommerce-info { border-top-color:var(--pss-sage) !important; border-radius:var(--pss-radius-sm); background:#eef0e3 !important; color:var(--pss-ink) !important; }
.woocommerce-error { border-radius:var(--pss-radius-sm); }
.woocommerce-cart .woocommerce-message { border:1px solid #cfd5b8; border-left:4px solid var(--pss-sage); background:#eef0e3; color:var(--pss-ink); }
.woocommerce-cart .woocommerce-message .restore-item { border:0; border-radius:var(--pss-pill); background:var(--pss-blue); }
.woocommerce-cart .pss-cart-notice-dismiss { border-color:var(--pss-line); border-radius:50%; color:var(--pss-ink); }
.woocommerce-checkout .pss-billing-summary { border-left-color:var(--pss-sage); background:#eef0e3; }
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select, .woocommerce-checkout .select2-selection { border-radius:var(--pss-radius-sm) !important; }
.woocommerce-cart table.shop_table, .woocommerce-checkout #order_review, .cart_totals { border-radius:var(--pss-radius) !important; background:var(--pss-card); }
.pss-option-label { border-color:var(--pss-bisque); border-radius:var(--pss-pill); background:#f8ead8; color:var(--pss-blue-dark); }

/* Content pages and Studio Notes */
.pss-content-page { padding:40px 0 20px; }
.pss-content-hero { position:relative; overflow:hidden; padding:clamp(30px,4vw,56px); border-radius:28px; background:#f1e2cf var(--pss-speckle); }
.pss-content-hero h1 { margin:6px 0 12px; font-size:clamp(40px,5vw,66px); line-height:1.02; letter-spacing:-.025em; }
.pss-content-hero p { max-width:680px; margin:0; color:var(--pss-ink-soft); font-size:18px; line-height:1.6; }
.pss-content-hero .pss-note-byline { margin-top:4px; font-size:15px; }
.pss-content-hero .pss-note-byline a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.pss-prose { max-width:760px; margin:44px auto 0; color:var(--pss-ink-soft); font-size:17.5px; line-height:1.78; }
.pss-prose h2 { margin:44px 0 12px; font-size:clamp(28px,3vw,36px); line-height:1.12; letter-spacing:-.015em; color:var(--pss-ink); }
.pss-prose h3 { margin:30px 0 8px; font-size:23px; color:var(--pss-ink); }
.pss-prose a { font-weight:700; text-decoration-color:var(--pss-bisque); text-decoration-thickness:2px; }
.pss-prose ul, .pss-prose ol { padding-left:1.2em; }
.pss-prose li { margin:6px 0; }
.pss-prose blockquote, .pss-callout { margin:28px 0; padding:20px 24px; border:0; border-radius:var(--pss-radius); background:#eef0e3; color:var(--pss-ink); font-style:normal; }
.pss-owner-placeholder { margin:20px 0; padding:18px 22px; border:2px dashed var(--pss-clay); border-radius:var(--pss-radius); background:#fbefe2; color:var(--pss-blue-dark); font-weight:700; }
.pss-notes-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:40px; }
.pss-note-item { display:flex; flex-direction:column; gap:12px; padding:28px; border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); color:var(--pss-ink); text-decoration:none; transition:transform .2s, box-shadow .2s; }
.pss-note-item:hover { transform:translateY(-3px); box-shadow:var(--pss-shadow); color:var(--pss-ink); }
.pss-note-item h2 { margin:0; font-size:28px; line-height:1.12; letter-spacing:-.015em; }
.pss-note-item p { margin:0; color:var(--pss-ink-soft); line-height:1.6; }
.pss-note-meta { color:var(--pss-muted); font-size:13px; font-weight:700; }
.pss-note-shop { margin-top:48px; padding:28px; border-radius:28px; background:#f1e2cf var(--pss-speckle); }
.pss-note-shop h2 { margin:0 0 14px; font-size:28px; }
.pss-contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:28px; }
.pss-contact-grid > div { padding:22px; border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); }
.pss-contact-grid h3 { margin:0 0 8px; font-size:21px; }
.pss-contact-grid p { margin:0 0 12px; font-size:15px; line-height:1.6; }
.pss-contact-grid button { padding:0; border:0; background:none; color:var(--pss-blue); font-weight:800; cursor:pointer; text-decoration:underline; }

/* Footer */
#footer { display:none !important; }
.pss-footer { position:relative; margin-top:110px; background:var(--pss-ink); color:#eadfce; }
.pss-footer::before { content:""; position:absolute; left:0; right:0; top:-30px; height:31px; background:var(--pss-ink); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M0 30V16C120 4 260 0 420 10s320 18 480 8 220-16 300-10V30z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M0 30V16C120 4 260 0 420 10s320 18 480 8 220-16 300-10V30z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.pss-footer-inner { display:grid; grid-template-columns:1.35fr 1fr 1fr 1.4fr; gap:clamp(24px,4vw,56px); width:min(100% - 48px,1280px); margin:auto; padding:64px 0 40px; }
.pss-footer h2, .pss-footer h3 { color:#fffaf3; }
.pss-footer-brand { display:flex; align-items:center; gap:10px; margin:0 0 14px; font:500 30px/1 var(--pss-display); font-variation-settings:"SOFT" 100, "WONK" 1; color:#fffaf3; text-decoration:none; }
.pss-footer-brand svg { width:34px; height:34px; color:var(--pss-bisque); }
.pss-footer p { margin:0 0 12px; color:#d8cab6; font-size:15px; line-height:1.65; }
.pss-footer h3 { margin:6px 0 14px; font:700 13px/1 var(--pss-body); letter-spacing:.1em; text-transform:uppercase; color:var(--pss-bisque); }
.pss-footer ul { margin:0; padding:0; list-style:none; display:grid; gap:9px; }
.pss-footer a { color:#f2e8d9; text-decoration:none; }
.pss-footer a:hover { color:#fff; text-decoration:underline; text-decoration-color:var(--pss-clay); }
.pss-footer-news form { display:flex; gap:8px; margin-top:12px; }
.pss-footer-news input { flex:1; min-width:0; min-height:46px; padding:0 16px; border:1px solid #6d5544; border-radius:var(--pss-pill); background:#4a3729; color:#fffaf3; }
.pss-footer-news input::placeholder { color:#c9b7a1; }
.pss-footer-news button { min-height:46px; padding:0 20px; border:0; border-radius:var(--pss-pill); background:var(--pss-blue); color:#fffaf3; cursor:pointer; font-weight:800; }
.pss-footer-news button:hover { background:var(--pss-blue-dark); }
.pss-footer-news small { display:block; margin-top:10px; color:#bfae98; font-size:12px; line-height:1.5; }
.pss-footer-news [data-footer-news-status] { min-height:20px; color:var(--pss-bisque); font-weight:700; }
.pss-footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; width:min(100% - 48px,1280px); margin:auto; padding:20px 0 26px; border-top:1px solid #57412f; color:#bfae98; font-size:13px; }
.pss-footer-bottom nav { display:flex; flex-wrap:wrap; gap:16px; }
.pss-footer-bottom a { color:#d8cab6; }

/* 404 */
.pss-not-found-search { border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); box-shadow:var(--pss-shadow); }
.pss-not-found-search li { border-color:var(--pss-line); }
.pss-not-found-search li a:hover, .pss-not-found-actions > a:not(.pss-primary-button) { color:var(--pss-blue); }

/* Responsive */
@media (max-width:1100px) {
	.pss-cat-tiles, .pss-notes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pss-trust { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pss-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.pss-footer-inner { grid-template-columns:1fr 1fr; }
	.pss-catalog-results ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pss-catalog-layout { grid-template-columns:230px minmax(0,1fr); }
}
@media (max-width:860px) {
	.pss-hero, .pss-story, .pss-paths, .pss-guide { grid-template-columns:1fr; }
	.pss-hero-art { max-width:520px; width:100%; margin:auto; }
	.related.products ul.products, .pss-recent-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pss-product-trust { grid-template-columns:1fr; }
	.pss-notes-list, .pss-contact-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
	body { font-size:15.5px; }
	.pss-page-width, .pss-footer-inner, .pss-footer-bottom { width:min(100% - 28px,1280px); }
	.pss-header-inner { min-height:72px; }
	.pss-brand-pot { width:26px; height:26px; transform:translateY(2px); }
	.pss-brand-row { gap:7px; }
	.pss-shop-link { padding:0 12px; min-height:38px !important; font-size:13px; }
	.pss-hero { padding-top:12px; }
	.pss-hero h1 { font-size:clamp(44px,12vw,64px); }
	.pss-hero-intro { font-size:17px; }
	.pss-trust { grid-template-columns:1fr; gap:10px; }
	.pss-home-section { padding-top:64px; }
	.pss-band { margin-top:70px; padding:54px 0; }
	.pss-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
	.pss-product-copy h3, .pss-catalog-results ul.products li.product .woocommerce-loop-product__title { font-size:16.5px; }
	.pss-catalog-results ul.products { gap:12px; }
	.pss-cat-tile-copy strong { font-size:18px; }
	.pss-footer-inner { grid-template-columns:1fr; padding-top:48px; }
	.pss-catalog-layout { display:block; }
	.pss-mobile-filter-toggle { display:inline-flex; align-items:center; gap:8px; margin:0 0 14px; padding:10px 18px; border:1.5px solid var(--pss-ink); border-radius:var(--pss-pill); background:var(--pss-card); color:var(--pss-ink); font-weight:800; cursor:pointer; }
	.pss-filter-details { position:fixed; inset:0 auto 0 0; z-index:95; width:min(88vw,360px); margin:0; border-radius:0 24px 24px 0; overflow-y:auto; transform:translateX(-104%); transition:transform .25s; }
	.pss-filter-details.is-drawer-open { transform:none; box-shadow:var(--pss-shadow-lift); }
	.pss-filter-details > summary { pointer-events:none; }
	.pss-filter-details > summary span { display:none; }
	.pss-filter-details:not([open]) .pss-filter-body { display:block; }
	.pss-filter-backdrop { position:fixed; inset:0; z-index:94; background:rgba(46,30,20,.45); }
	.pss-filter-backdrop[hidden] { display:none; }
	.pss-filter-close { position:absolute; top:10px; right:12px; z-index:2; width:36px; height:36px; border:1px solid var(--pss-line); border-radius:50%; background:var(--pss-card); font-size:20px; cursor:pointer; }
	.single-product .pss-sticky-cart.is-visible { display:flex; }
	.single-product { padding-bottom:70px; }
}
@media (min-width:761px) { .pss-filter-close, .pss-filter-backdrop { display:none !important; } }
@media (max-width:430px) {
	.pss-cat-tiles { gap:10px; }
	.pss-cat-tile-copy { padding:12px; }
	.pss-catalog-results ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pss-shop-card { padding:8px 8px 12px; }
	.pss-shop-card .ct-woo-card-actions .button { font-size:13px; padding:10px; }
}
@media (prefers-reduced-motion:reduce) { .pss-cat-tile:hover .pss-cat-tile-img img, .pss-product-card:hover .pss-product-image img, .pss-shop-card:hover figure img { transform:none; } }

/* Popup: phones get a bottom sheet for the automatic open (non-modal, page stays usable). */
@media (max-width:640px) {
	.pss-campaign-dialog.is-sheet { position:fixed; inset:auto 0 0 0; z-index:120; width:100%; max-width:none; max-height:78vh; margin:0; overflow:auto; border-radius:24px 24px 0 0; box-shadow:0 -10px 34px rgba(46,30,20,.24); animation:pss-sheet-up .32s ease-out; }
	.pss-campaign-dialog.is-sheet .pss-campaign-dialog-inner { padding-bottom:calc(18px + env(safe-area-inset-bottom)); }
}
@keyframes pss-sheet-up { from { transform:translateY(100%); } to { transform:none; } }
@media (prefers-reduced-motion:reduce) { .pss-campaign-dialog.is-sheet { animation:none; } }

/* 404 */
.pss-not-found-pot { display:block; width:150px; height:auto; margin:0 0 18px -8px; color:var(--pss-clay); }
.pss-not-found-search { padding:26px; }
.pss-not-found-search > p { margin:24px 0 6px; font-size:13px; letter-spacing:.06em; text-transform:none; font-weight:800; color:var(--pss-sage-dark); }
.pss-not-found-search li a { font-size:18px; padding:10px 0; }
.pss-not-found-search li small { color:var(--pss-muted); font:700 13px/1 var(--pss-body); }

/* Shop card order: photo, category, title, price, then the button pinned to the bottom. */
.pss-shop-card > .ct-media-container, .pss-shop-card > figure { order:0; }
.pss-shop-card > .pss-card-category { order:1; }
.pss-shop-card > .woocommerce-loop-product__title, .pss-shop-card > h2 { order:2; }
.pss-shop-card > .price, .pss-shop-card > .pss-bundle-label, .pss-shop-card > .pss-card-price-pending { order:3; }
.pss-shop-card > * { order:4; }
.pss-shop-card > .pss-card-badges { order:0; }
.pss-shop-card > .pss-card-styles { order:5; }
.pss-shop-card > .ct-woo-card-actions { order:6; }
/* White supplier backdrops melt into the warm photo tone (multiply needs a coloured backdrop right behind the image). */
.related.products li.product .ct-media-container { background:var(--pss-photo); border-radius:var(--pss-radius-sm); }

/* Product page polish */
.single-product .pss-product-more, .single-product .pss-product-qa, .single-product .pss-recent { width:min(100% - 48px, 1290px); max-width:none; margin-left:auto; margin-right:auto; }
.single-product .pss-product-qa { padding-left:0; padding-right:0; }
.single-product .pss-product-qa input[type="search"] { border:1.5px solid var(--pss-line); border-radius:var(--pss-pill); padding:12px 18px; background:var(--pss-card); }
.related.products .price, .related.products .price .amount { color:var(--pss-ink); font-weight:800; }
.single-product .quantity { border:1.5px solid var(--pss-line) !important; border-radius:var(--pss-pill) !important; background:var(--pss-card); overflow:hidden; }
.single-product .quantity input.qty { border:0 !important; background:transparent; box-shadow:none !important; }
.single-product .quantity .ct-increase, .single-product .quantity .ct-decrease { border:0 !important; color:var(--pss-ink); }
.single-product .product_meta .tagged_as { display:none; }
.single-product .product_meta { font-size:13px; letter-spacing:0; text-transform:none; color:var(--pss-muted); }
.single-product .product_meta a { text-transform:none; letter-spacing:0; color:var(--pss-blue); }
@media (max-width:760px) { .single-product .pss-product-more, .single-product .pss-product-qa, .single-product .pss-recent { width:calc(100% - 32px); } }

/* Phone polish: one-line brand, slimmer catalog toolbar, quiet breadcrumbs. */
@media (max-width:760px) {
	.pss-catalog-toolbar .pss-toolbar-category, .pss-sort-form label[for="pss-per-page"], .pss-sort-form #pss-per-page { display:none; }
	.pss-sort-form { display:flex; align-items:center; gap:10px; width:100%; }
	.pss-sort-form select { flex:1; min-width:0; }
	.single-product .ct-breadcrumbs { font-size:12px; text-transform:none; letter-spacing:0; }
	.single-product .ct-breadcrumbs > span:last-child { display:none; }
}
@media (max-width:430px) {
	.pss-brand-row { flex-wrap:nowrap; white-space:nowrap; gap:0; }
	.pss-brand-row .pss-brand-pot { display:none; }
	.pss-brand { white-space:nowrap; }
	.pss-brand .pss-brand-name { font-size:min(20px, 100cqi / 7.4); }
}
@media (min-width:431px) and (max-width:760px) { .pss-brand .pss-brand-name { font-size:min(24px, (100cqi - 33px) / 7.4); } }
/* Phones: the name shrinks to the room between the menu and the buttons (it used to run into them below ~400px wide). */
@media (max-width:760px) { .pss-brand { container-type:inline-size; min-width:0; } }
/* Narrow phones: search lives in the menu ("Search products"), so the header keeps just Shop and the cart. */
@media (max-width:400px) { .pss-header-search { display:none; } .pss-header-actions { gap:6px !important; } .pss-shop-link { padding:0 11px; } }
.woocommerce-product-gallery .flexy-view, .woocommerce-product-gallery .flexy { overflow:hidden; }
@media (max-width:760px) { .single-product .ct-breadcrumbs > span:has(+ .last-item) svg { display:none; } }

/* Monthly Promotions: hero badge, hero picture, countdown, month badge and price pill on cards. */
.pss-hero-badge { display:inline-block; margin-left:8px; padding:6px 12px; border-radius:var(--pss-pill); background:var(--pss-ink); color:#fffaf3; font-size:13px; font-weight:800; vertical-align:middle; }
.pss-hero-art.has-picture { display:block; }
.pss-hero-art .pss-hero-picture { position:relative; z-index:1; display:block; overflow:hidden; border-radius:28px; box-shadow:var(--pss-shadow-lift); }
.pss-hero-art .pss-hero-picture img { display:block; width:100%; height:100%; object-fit:cover; }
.pss-hero .psga-countdown { margin-top:14px; }
.pss-card-badges .psga-month-badge { box-shadow:0 1px 3px rgba(58,42,32,.15); }
.pss-shop-card .price .psga-off-pill, .pss-product-card .psga-off-pill { margin-left:4px; padding:2px 7px; font-size:11px; }
.pss-shop-card .price del, .pss-product-card del { color:var(--pss-muted); font-weight:600; }
.single-product .summary .price .psga-off-pill { font-size:13px; padding:4px 11px; }
/* Blocksy's blue "Sale" flash is replaced by our own badges. */
.pss-shop-card .onsale, .related.products .onsale, .single-product .woocommerce-product-gallery .onsale, .single-product .ct-media-container + .onsale { display:none !important; }
/* Monthly deal hero bits */
/* The hero photos stay absolutely placed (see .pss-hero-photo above), which already anchors the badges. The first
 * and second photos' badges sit where the third photo, which overlaps their lower corners, can't cover them. */
.pss-hero-photo:nth-of-type(1) .pss-hero-photo-off { top:10px; bottom:auto; }
.pss-hero-photo:nth-of-type(2) .pss-hero-photo-off { left:auto; right:10px; }
.pss-hero-photo-off { position:absolute; left:10px; bottom:10px; z-index:2; padding:4px 10px; border-radius:var(--pss-pill); background:var(--pss-blue); color:#fffaf3; font:800 13px/1.2 var(--pss-body); box-shadow:0 2px 6px rgba(46,30,20,.25); }

/* Studio Notes: quick answer, FAQ and related guides (October 2026) */
.pss-prose .pss-quick-answer { background:#f6e2cc; }
.pss-prose .pss-quick-answer strong:first-child { display:block; margin-bottom:6px; color:var(--pss-blue-dark); font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.pss-note-faq { margin:40px 0 8px; }
.pss-note-faq h2 { margin:0 0 8px; font-size:clamp(24px,3vw,30px); }
.pss-note-more { margin:36px 0 0; padding-top:24px; border-top:1px solid var(--pss-line); }
.pss-note-more h2 { margin:0 0 12px; font-size:22px; }
.pss-note-more ul { margin:0; padding:0; list-style:none; display:grid; gap:14px; }
.pss-note-more li a { font-weight:800; }
.pss-note-more li span { display:block; margin-top:2px; color:var(--pss-ink-soft); font-size:15px; line-height:1.5; }

/* Studio Notes tool picks */
.pss-prose .pss-tool-picks { margin:32px 0; padding:20px; border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); }
.pss-prose .pss-tool-picks-title { margin:0 0 14px; color:var(--pss-sage-dark); font:800 12px/1.2 var(--pss-body); letter-spacing:.09em; text-transform:uppercase; }
.pss-tool-picks-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; }
.pss-prose .pss-tool-pick { display:grid; grid-template-columns:88px 1fr; gap:14px; align-items:start; margin:0; padding:12px; border-radius:var(--pss-radius-sm); background:#fff; box-shadow:var(--pss-shadow); }
.pss-prose .pss-tool-pick-image img { display:block; width:88px; height:88px; margin:0; object-fit:cover; border-radius:10px; background:var(--pss-photo); }
.pss-prose .pss-tool-pick-name { display:block; color:var(--pss-ink); font:700 16px/1.3 var(--pss-body); text-decoration:none; }
.pss-prose .pss-tool-pick-name:hover { color:var(--pss-blue); }
.pss-prose .pss-tool-pick-use { margin:6px 0 0; color:var(--pss-ink-soft); font-size:14px; line-height:1.45; }
.pss-prose .pss-tool-pick-meta { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:6px 12px; margin:8px 0 0; font-size:14px; }
.pss-prose .pss-tool-pick-meta a { font-weight:800; text-decoration:none; }
.pss-prose .pss-tool-pick-price { font-weight:800; color:var(--pss-ink); }
.pss-prose .pss-tool-pick-price del { color:var(--pss-muted); font-weight:600; }
@media (max-width:720px) { .pss-tool-picks-grid { grid-template-columns:1fr; } .pss-prose .pss-tool-picks { padding:14px; } }

/* Studio Notes: "In this guide" jump list, guide links on shop pages, list thumbnails. */
.pss-prose h2[id] { scroll-margin-top:110px; }
.pss-note-toc { margin:28px 0 8px; padding:20px 24px; border:1px solid var(--pss-line); border-radius:var(--pss-radius); background:var(--pss-card); }
.pss-note-toc-title { margin:0 0 8px !important; font-weight:800; font-size:15px; color:var(--pss-ink); }
.pss-note-toc ol { margin:0; padding-left:22px; display:grid; gap:4px; }
.pss-note-toc li { font-size:15.5px; line-height:1.5; }
.pss-note-toc a { text-decoration:none; font-weight:700; }
.pss-note-toc a:hover { text-decoration:underline; }
.pss-guide-links { margin-top:28px; }
.pss-guide-links ul { margin:8px 0 0; padding:0; list-style:none; display:grid; gap:10px; }
.pss-guide-links li { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; padding:14px 18px; border:1px solid var(--pss-line); border-radius:var(--pss-radius-sm); background:var(--pss-card); }
.pss-guide-links li a { font-weight:800; font-size:16px; text-decoration:none; }
.pss-guide-links li a:hover { text-decoration:underline; }
.pss-guide-links li span { color:var(--pss-muted); font-size:13px; font-weight:700; }
.pss-guide-only { display:block; }
.single-product .pss-guide-links { max-width:760px; margin:40px 0 0; }
.pss-note-thumb { display:block; margin:-28px -28px 4px; height:180px; overflow:hidden; border-radius:var(--pss-radius) var(--pss-radius) 0 0; background:#fff; }
.pss-note-thumb img { width:100%; height:100%; object-fit:contain; padding:10px; }

/* My Account menu: the current page in clay, not the parent theme's blue. */
.woocommerce-MyAccount-navigation ul li.is-active > a, .woocommerce-MyAccount-navigation ul li.is-active > a:hover { background:var(--pss-blue) !important; color:#fffaf3 !important; }
.woocommerce-MyAccount-navigation ul li.is-active > a svg, .woocommerce-MyAccount-navigation ul li.is-active > a * { color:#fffaf3 !important; }
.woocommerce-MyAccount-navigation ul li:not(.is-active) > a:hover { background:#f8ecdc; color:var(--pss-blue-dark); }

/* ---------- Calm pass (Oct 2026): less repetition, one small highlight at a time ---------- */
/* Home trust strip: a quiet row of short facts, not four big cards. */
.pss-trust { gap:10px 22px; margin-top:26px; }
.pss-trust li { padding:0; border:0; background:none; gap:10px; }
.pss-trust svg { width:24px; height:24px; }
.pss-trust strong { font:700 15px/1.25 var(--pss-body); }
.pss-trust span { font-size:12.5px; }
/* Product page trust facts: small lines under the buttons, no boxes. */
.pss-product-trust { gap:8px 18px; margin:16px 0; }
.pss-product-trust li { padding:0; border:0; background:none; font-size:12.5px; color:var(--pss-muted); }
.pss-product-trust svg { width:18px; height:18px; }
.pss-product-trust strong { font-size:13px; color:var(--pss-ink); }
/* Card labels whisper; badges are small. */
.pss-card-eyebrow, .pss-card-category { color:var(--pss-muted) !important; font-weight:700 !important; letter-spacing:.05em !important; }
.pss-badge { padding:3px 8px; font-size:11px; box-shadow:none; }
.pss-product-copy { gap:6px; }
/* Checkout guest line: small and quiet. */
.pss-checkout-path { padding:10px 14px; font-size:14px; }
.pss-checkout-path .srw-checkout-note { font-size:12.5px; margin-top:4px; }
@media (max-width:720px) {
	.pss-trust { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; }
	.pss-trust span { display:none; }
	.pss-product-trust { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pss-product-trust li span { font-size:12px; }
	/* Home product rows: four cards on a phone, the full row on bigger screens. */
	.pss-home .pss-product-grid > :nth-child(n+5) { display:none; }
	.pss-notes-grid { grid-template-columns:1fr; gap:12px; }
}
/* Phones: sorting is a plain row under the Filters button, not another card. */
@media (max-width:760px) {
	.pss-catalog-toolbar { padding:0 !important; border:0 !important; background:none !important; box-shadow:none !important; }
	.pss-sort-form label { font-size:12px; }
}
/* The month's offer pill sits bottom-left: the punch card owns the bottom-right corner. */
.pss-campaign-reopen { right:auto !important; left:18px; }

/* Comfortable tap areas on phones without changing the look: invisible padding cancelled by negative margin. */
.pss-brand { padding:12px 0; margin:-12px 0; } /* Keeps style.css's stacked layout (tagline under the name). */
.pss-footer-bottom nav a { display:inline-block; padding:10px 2px; margin:-10px -2px; }
.pss-stock-filter { display:flex; align-items:center; gap:8px; min-height:32px; cursor:pointer; }
.pss-stock-filter input { width:18px; height:18px; margin:0; accent-color:var(--pss-clay); flex:none; }

/* Phones: products come into view sooner. The catalog intro gets compact (description trimmed to two lines) and
   the shipping bar stays on one line. */
@media (max-width:640px) {
	.pss-shipping-announcement { padding:8px 12px; font-size:12.5px; }
	.ct-container:has(> .pss-catalog), .ct-container:has(> * > .pss-catalog) { padding-top:16px; }
	.pss-catalog { padding-top:0; }
	.pss-catalog-intro { padding:18px 20px 20px; border-radius:20px; }
	.pss-catalog-intro::after { width:150px; height:150px; right:-50px; top:-55px; }
	.pss-catalog-intro h1 { font-size:34px; }
	.pss-catalog-intro-copy { margin-bottom:0; font-size:15px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
}
@media (max-width:480px) { .pss-announcement-more { display:none; } }

/* Cart changes pop-up (price changes, sold-out items) on the cart and checkout pages. */
.pss-cart-changes { width:min(100% - 32px,480px); padding:0; border:0; border-radius:24px; box-shadow:var(--pss-shadow-lift); }
.pss-cart-changes::backdrop { background:rgba(46,30,20,.55); }
.pss-cart-changes-inner { padding:24px 24px 20px; background:var(--pss-paper) var(--pss-speckle); }
.pss-cart-changes h2 { margin:0 0 14px; font-size:24px; line-height:1.15; }
.pss-cart-changes ul { display:grid; gap:10px; margin:0 0 18px; padding:0; list-style:none; }
.pss-cart-changes li { display:flex; gap:12px; align-items:flex-start; padding:12px; border:1px solid var(--pss-line); border-radius:16px; background:var(--pss-card); }
.pss-cart-changes li img { width:56px; height:56px; object-fit:cover; border-radius:10px; flex:none; }
.pss-cart-changes li strong { display:block; font-size:15px; line-height:1.3; }
.pss-cart-changes li span { display:block; margin-top:2px; color:var(--pss-ink-soft); font-size:14px; line-height:1.45; }
.pss-cart-changes li.is-up span { color:var(--pss-clay); font-weight:700; }
.pss-cart-changes li.is-down span { color:var(--pss-sage-dark); font-weight:700; }
.pss-cart-changes-remove, .pss-cart-changes-link { display:inline-block; margin-top:6px; padding:4px 0; color:var(--pss-blue); font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.pss-cart-changes-ok { width:100%; min-height:48px; border:0; border-radius:999px; background:var(--pss-clay); color:#fff; font-weight:800; font-size:16px; cursor:pointer; }

/* Accessibility (PageSpeed): readable crossed-out sale prices, and plain text links that don't rely on color alone. */
.pss-product-price del, .pss-product-price del .amount, .price del, .price del .amount { color:var(--pss-muted, #6e5a4b) !important; opacity:1 !important; }
main p a:not([class]), main li > span > a:not([class]) { text-decoration:underline; text-underline-offset:3px; }

/* Form colors in the shop's palette (Blocksy's defaults were a pale blue-gray outline and bright blue): visible field
   outlines, white fields, clay for checked boxes, radios and focus. WooPayments' card fields pick these up too.
   "html:root" outranks Blocksy's own :root colors, which it prints later in the page. */
html:root {
	--theme-form-field-border-initial-color:#bda68c;
	--theme-form-field-border-focus-color:#9e4f2e;
	--theme-form-field-background-initial-color:#ffffff;
	--theme-form-field-background-focus-color:#ffffff;
	--theme-form-selection-field-initial-color:#a8927a;
	--theme-form-selection-field-active-color:#9e4f2e;
}

/* "View cart" after adding from a product card (WooCommerce adds it in place of the button): a clay outline pill the
   same size as "Add to cart", instead of the theme's default blue box (and without the theme's icon spot). */
a.added_to_cart.wc-forward { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; min-height:44px; margin:0; padding:10px 16px; border:2px solid var(--pss-blue) !important; border-radius:var(--pss-pill) !important; background:var(--pss-card) !important; color:var(--pss-blue-dark) !important; box-shadow:none; font-family:var(--pss-body); font-size:14px; font-weight:800; line-height:1.2; text-decoration:none; text-transform:none; transition:background .18s, color .18s; }
a.added_to_cart.wc-forward::before, a.added_to_cart.wc-forward::after { display:none !important; }
a.added_to_cart.wc-forward:hover { background:var(--pss-blue) !important; color:#fffaf3 !important; }

/* Add to cart feedback (assets/site.js): "Added ✓" and a little pop on the cart count. */
.single_add_to_cart_button.is-added, .add_to_cart_button.is-added { background:var(--pss-sage-dark, #55613f) !important; border-color:var(--pss-sage-dark, #55613f) !important; }
.pss-cart-count.is-bump { animation:pss-cart-bump .45s ease; }
@keyframes pss-cart-bump { 0% { transform:scale(1); } 40% { transform:scale(1.45); } 100% { transform:scale(1); } }
@media (prefers-reduced-motion: reduce) { .pss-cart-count.is-bump { animation:none; } }

/* Tablets in portrait (iPad mini 744 to iPad Pro 834): keep the hero side by side instead of a full-screen collage,
   keep "Shop All" on one line, and let the cart icon stand alone so the header fits beside the logo. */
.pss-shop-link { white-space:nowrap; }
@media (min-width:761px) and (max-width:900px) {
	.pss-cart-link > span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
}
@media (min-width:721px) and (max-width:860px) {
	.pss-hero { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); }
	.pss-hero-art { max-width:none; margin:0; }
	.pss-hero h1 { font-size:clamp(48px,7.2vw,64px); }
	.pss-trust { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pss-hero-photo-off { font-size:12px; padding:3px 8px; white-space:nowrap; }
}

/* Sold out button: the size of Add to cart, grey, square corners. */
.pss-shop-card .pss-sold-out-button { display:flex; width:100%; box-sizing:border-box; min-height:44px; padding:10px 15px; border:1px solid #bfc2c7; border-radius:0; background:#e5e6e9; color:#676b72; font-size:14px; font-weight:800; text-transform:none; }
/* Tools without styles keep their grid place but don't stretch to the tallest card in the row. */
.pss-catalog-results ul.products li.product.pss-no-styles { align-self:start; }
.pss-catalog-results ul.products li.product.pss-no-styles .pss-shop-card { height:auto; }
/* Bundle style tiles on cards: same text size and colour as the other styles; the discount is a brown pill ("Bundle sale" / "42% off"). */
.pss-card-styles .pss-variety-price .pss-bundle-price { display:flex; flex-direction:column; align-items:center; gap:2px; width:100%; }
.pss-card-styles .pss-variety-price .pss-bundle-price-row { flex-direction:column-reverse; align-items:center; gap:1px; order:1; }
.pss-card-styles .pss-variety-price .pss-bundle-current { padding:0; background:none; color:inherit; font-size:inherit; font-weight:900; line-height:1.15; }
.pss-card-styles .pss-variety-price .pss-bundle-separate { color:var(--pss-muted); font-size:inherit; font-weight:600; line-height:1.15; text-decoration:line-through; text-decoration-thickness:1px; }
.pss-card-styles .pss-variety-price .pss-bundle-separate::after { display:none; }
/* The bundle's "% OFF" pill is for the main price only; the style tile shows just the two prices. */
.pss-card-styles .pss-variety-price .pss-bundle-pill { display:none; }

/* Main price of a bundle style: black price, crossed-out grey price and the brown pill, like every other sale. */
.pss-bundle-price { flex-direction:row; flex-wrap:wrap; align-items:center; gap:4px 8px; }
.pss-bundle-price .pss-bundle-price-row { align-items:baseline; gap:8px; }
.pss-bundle-price .pss-bundle-current { padding:0; background:none; color:inherit; font-size:inherit; font-weight:inherit; }
.pss-bundle-price .pss-bundle-separate { color:var(--pss-muted); font-size:inherit; font-weight:600; text-decoration:line-through; }
.pss-bundle-price .pss-bundle-separate::after { display:none; }
.pss-bundle-price .pss-bundle-pill { margin-left:0; }
/* Add payment method (My account): with only one way to pay, no radio button to pick it (owner, Nov 2 2026). */
#add_payment_method .payment_methods > li:only-child > input.input-radio { display:none; }
/* ...and no "Card" header row either: the box starts with the card number (owner, Nov 2 2026). */
#add_payment_method #payment .payment_methods > li:only-child > label { display:none !important; } /* The theme lays this row out as flex; ours must win. */
#add_payment_method .payment_methods > li:only-child > .payment_box { margin-top:0; border-top:0; }
#add_payment_method .payment_methods > li:only-child > .payment_box::before { display:none; }
/* Billing address under the card (owner, Nov 3 2026): name on one line, street and apartment on one line, country,
   city, state and ZIP on one line; two to a line on tablets and phones, street and apartment full width on phones. */
#add_payment_method .pss-card-billing { margin:16px 0 4px; padding:14px 18px 4px; border:1px solid var(--pss-line, #ead9c4); border-radius:14px; background:#fffaf3; }
#add_payment_method .pss-card-billing legend { float:left; width:100%; margin:0 0 10px; padding:0; font-weight:600; }
#add_payment_method .pss-card-billing .woocommerce-address-fields__field-wrapper { clear:both; display:grid !important; grid-template-columns:repeat(12, minmax(0, 1fr)); gap:0 12px; align-items:end; }
#add_payment_method .pss-card-billing .form-row > label { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#add_payment_method .pss-card-billing .form-row { width:auto !important; float:none !important; margin:0 0 12px !important; padding:0 !important; grid-column:span 12; }
#add_payment_method .pss-card-billing #billing_first_name_field { grid-column:span 6; order:1; }
#add_payment_method .pss-card-billing #billing_last_name_field { grid-column:span 6; order:2; }
#add_payment_method .pss-card-billing #billing_address_1_field { grid-column:span 8; order:3; }
#add_payment_method .pss-card-billing #billing_address_2_field { grid-column:span 4; order:4; }
#add_payment_method .pss-card-billing #billing_country_field { grid-column:span 3; order:5; }
#add_payment_method .pss-card-billing #billing_city_field { grid-column:span 3; order:6; }
#add_payment_method .pss-card-billing #billing_state_field { grid-column:span 3; order:7; }
#add_payment_method .pss-card-billing #billing_postcode_field { grid-column:span 3; order:8; }
@media (max-width:900px) {
	#add_payment_method .pss-card-billing #billing_country_field, #add_payment_method .pss-card-billing #billing_city_field,
	#add_payment_method .pss-card-billing #billing_state_field, #add_payment_method .pss-card-billing #billing_postcode_field { grid-column:span 6; }
}
@media (max-width:540px) {
	#add_payment_method .pss-card-billing #billing_address_1_field, #add_payment_method .pss-card-billing #billing_address_2_field { grid-column:span 12; }
}
/* Studio Notes: a credited tutorial video that loads on click, and credited photos. */
.pss-prose .pss-video { margin:28px 0; }
.pss-prose .pss-video-play, .pss-prose .pss-video iframe { position:relative; display:block; width:100%; aspect-ratio:16/9; border:0; border-radius:18px; overflow:hidden; background:#2b211b; padding:0; cursor:pointer; }
.pss-prose .pss-video-play img { width:100%; height:100%; object-fit:cover; display:block; opacity:.92; }
.pss-prose .pss-video-play:hover img, .pss-prose .pss-video-play:focus-visible img { opacity:1; }
.pss-prose .pss-video-icon { position:absolute; left:50%; top:50%; width:68px; height:48px; margin:-24px 0 0 -34px; border-radius:14px; background:rgba(20,14,10,.78); }
.pss-prose .pss-video-icon::after { content:""; position:absolute; left:28px; top:14px; border-style:solid; border-width:10px 0 10px 16px; border-color:transparent transparent transparent #fff; }
.pss-prose .pss-video figcaption, .pss-prose figure.pss-credited figcaption { margin-top:8px; font-size:14px; line-height:1.5; color:var(--pss-ink-soft); }
.pss-prose figure.pss-credited img { border-radius:18px; }
.pss-tool-pick-skip { opacity:.85; }
.pss-prose .pss-note-sources { margin-top:28px; font-size:14.5px; line-height:1.6; }

/* Product page style switch (assets/style-switch.js): the stock note waits a moment for the picked style's own. */
.summary.pss-style-updating .pss-stock-note { opacity:.35; transition:opacity .15s; }
/* Style switch: a quarter-second shimmer on the photo, name and price after picking a style (Studio Reveal's colours). */
@keyframes pss-swap-shimmer { from { background-position: 150% 0; } to { background-position: -50% 0; } }
@keyframes pss-swap-in { from { opacity: .35; } to { opacity: 1; } }
.woocommerce-product-gallery figure.pss-swap-photo { position: relative; }
.woocommerce-product-gallery figure.pss-swap-photo img { opacity: .18; }
.woocommerce-product-gallery figure.pss-swap-photo::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
	background: rgba(120, 94, 70, .1) linear-gradient(100deg, rgba(120, 94, 70, .06) 40%, rgba(255, 255, 255, .6) 50%, rgba(120, 94, 70, .06) 60%);
	background-size: 200% 100%; animation: pss-swap-shimmer 1.1s linear infinite; }
.woocommerce-product-gallery figure:not(.pss-swap-photo) img { transition: opacity .2s ease-out; }
.summary .pss-swap-text { color: transparent !important; border-radius: 6px;
	background: rgba(120, 94, 70, .13) linear-gradient(100deg, rgba(120, 94, 70, .06) 40%, rgba(255, 255, 255, .6) 50%, rgba(120, 94, 70, .06) 60%);
	background-size: 200% 100%; animation: pss-swap-shimmer 1.1s linear infinite; }
.summary .pss-swap-text * { visibility: hidden; }
.summary h1.product_title, .summary p.price { transition: color .2s ease-out; }
.woocommerce-product-gallery img.pss-swap-fade { animation: pss-swap-in .16s ease-out; }
@media (prefers-reduced-motion: reduce) {
	.woocommerce-product-gallery figure.pss-swap-photo::after, .summary .pss-swap-text { animation: none; }
	.woocommerce-product-gallery img.pss-swap-fade { animation: none; }
}
