:root {
  --sq-cream: #fff9f1;
  --sq-oat: #f4ebdd;
  --sq-purple: #7861a9;
  --sq-purple-dark: #3e315c;
  --sq-peach: #f4a884;
  --sq-sky: #b8dceb;
  --sq-butter: #f6d98b;
  --sq-ink: #2e2933;
  --sq-white: #fff;
  --sq-line: rgba(62, 49, 92, 0.14);
  --sq-shadow: 0 22px 70px rgba(70, 54, 92, 0.12);
  --sq-radius: 28px;
}

html { scroll-behavior: smooth; }
body.squishy-dtc-theme { background: var(--sq-cream); color: var(--sq-ink); }
body.squishy-dtc-theme .wp-site-blocks { padding: 0; }
body.squishy-dtc-theme :where(a, button, input, textarea, select) { transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease; }
body.squishy-dtc-theme :where(a, button, input, textarea, select):focus-visible { outline: 3px solid var(--sq-butter); outline-offset: 3px; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }

.squishy-announcement { align-items: center; background: var(--sq-purple-dark); color: var(--sq-white); display: flex; font-size: 12px; font-weight: 800; justify-content: center; letter-spacing: .12em; min-height: 34px; text-align: center; text-transform: uppercase; }
.squishy-announcement span { padding: 7px 24px; }
.squishy-announcement span + span { border-left: 1px solid rgba(255,255,255,.3); }
.squishy-site-header { align-items: center; background: rgba(255,249,241,.96); border-bottom: 1px solid var(--sq-line); display: grid; column-gap: clamp(28px, 3vw, 54px); grid-template-columns: auto auto auto; justify-content: center; min-height: 82px; padding: 0 clamp(18px, 4vw, 64px); position: sticky; top: 0; z-index: 90; }
.squishy-site-header > p,
.squishy-site-header > br { display: none; margin: 0; }
.admin-bar .squishy-site-header { top: 32px; }
.squishy-logo { align-items: center; color: var(--sq-purple-dark); display: inline-flex; font-size: 25px; font-weight: 900; letter-spacing: .13em; position: relative; text-decoration: none; }
.squishy-logo i { background: var(--sq-peach); border-radius: 50%; height: 8px; margin: 0 0 17px 3px; width: 8px; }
.squishy-nav { align-items: center; display: flex; gap: clamp(14px, 2vw, 30px); justify-content: center; }
.squishy-nav-list { align-items: center; display: flex; gap: clamp(14px, 2vw, 30px); list-style: none; margin: 0; padding: 0; }
.squishy-nav a { color: var(--sq-ink); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.squishy-nav a:hover { color: var(--sq-purple); }
.squishy-header-tools { align-items: center; display: flex; gap: 8px; }
.squishy-header-tools > p { display: contents; margin: 0; }
.squishy-language-switcher { align-items: center; display: flex; min-height: 42px; min-width: 120px; position: relative; z-index: 5; }
.squishy-language-switcher .gtranslate_wrapper { min-width: 120px; }
.squishy-language-switcher .gt_switcher_wrapper { position: static !important; }
.squishy-language-switcher .gt_switcher { font-family: inherit !important; line-height: 1.2 !important; overflow: visible !important; width: 120px !important; }
.squishy-language-switcher .gt_switcher .gt_selected { background: transparent !important; }
.squishy-language-switcher .gt_switcher .gt_selected a { align-items: center; background: rgba(255,255,255,.82) !important; border: 1px solid rgba(120,97,169,.28) !important; border-radius: 999px; box-sizing: border-box !important; color: var(--sq-purple-dark) !important; display: flex !important; font-size: 12px !important; font-weight: 800; gap: 7px; height: 40px; padding: 7px 32px 7px 11px !important; width: 120px !important; }
.squishy-language-switcher .gt_switcher .gt_selected a:hover { background: var(--sq-oat) !important; border-color: rgba(120,97,169,.52) !important; }
.squishy-language-switcher .gt_switcher .gt_selected a::after { height: 100% !important; right: 11px !important; top: 0; width: 11px !important; }
.squishy-language-switcher .gt_switcher a img { border-radius: 3px; height: 14px !important; margin: 0 !important; object-fit: cover; opacity: 1 !important; width: 19px !important; }
.squishy-language-switcher .gt_switcher .gt_option { -webkit-overflow-scrolling: touch; background: var(--sq-white) !important; border: 1px solid var(--sq-line) !important; border-radius: 16px; box-shadow: 0 18px 45px rgba(62,49,92,.16); box-sizing: border-box !important; margin-top: 8px; max-height: min(320px,calc(100vh - 130px)) !important; overscroll-behavior: contain; overflow-x: hidden !important; overflow-y: auto !important; padding: 7px; position: absolute !important; right: 0; scrollbar-color: rgba(120,97,169,.52) transparent; scrollbar-gutter: stable; scrollbar-width: thin; touch-action: pan-y; width: 166px !important; }
.squishy-language-switcher .gt_switcher .gt_option::-webkit-scrollbar { width: 6px; }
.squishy-language-switcher .gt_switcher .gt_option::-webkit-scrollbar-track { background: transparent; margin: 9px 0; }
.squishy-language-switcher .gt_switcher .gt_option::-webkit-scrollbar-thumb { background: rgba(120,97,169,.42); border-radius: 999px; }
.squishy-language-switcher .gt_switcher .gt_option a { align-items: center; border-radius: 10px; color: var(--sq-ink) !important; display: flex !important; font-family: inherit !important; font-size: 13px !important; font-weight: 700; gap: 9px; padding: 9px 10px !important; }
.squishy-language-switcher .gt_switcher .gt_option a:hover { background: var(--sq-oat) !important; color: var(--sq-purple-dark) !important; }
.squishy-language-switcher .gt_switcher .gt_option a:focus-visible { background: var(--sq-oat) !important; outline: 2px solid var(--sq-purple); outline-offset: 1px; }
.squishy-header-tools > a,.squishy-mobile-menu { align-items: center; background: transparent; border: 0; border-radius: 50%; color: var(--sq-purple-dark); display: inline-flex; height: 42px; justify-content: center; padding: 0; position: relative; width: 42px; }
.squishy-header-tools > a:hover,.squishy-mobile-menu:hover { background: var(--sq-oat); }
.squishy-header-tools svg,.squishy-mobile-menu svg { fill: none; height: 21px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 21px; }
.squishy-cart-link span { align-items: center; background: var(--sq-peach); border-radius: 50%; color: var(--sq-purple-dark); display: flex; font-size: 10px; font-weight: 900; height: 18px; justify-content: center; position: absolute; right: 0; top: 1px; width: 18px; }
.squishy-mobile-menu { display: none; }

.squishy-main { margin: 0; max-width: none !important; padding: 0 !important; }
.squishy-section { margin: 0 auto; max-width: 1400px; padding: clamp(64px, 8vw, 120px) clamp(20px, 5vw, 72px); }
.squishy-eyebrow { color: var(--sq-purple); font-size: 12px; font-weight: 900; letter-spacing: .17em; margin: 0 0 14px; text-transform: uppercase; }
.squishy-section h1,.squishy-section h2,.squishy-editorial h1,.squishy-editorial h2 { color: var(--sq-purple-dark); margin-top: 0; }
.squishy-section h2 { font-size: clamp(34px, 4.5vw, 62px); }
.squishy-button,.squishy-section .button,.squishy-contact-form button,.squishy-newsletter button { align-items: center; background: var(--sq-purple); border: 2px solid var(--sq-purple); border-radius: 999px; color: var(--sq-white); cursor: pointer; display: inline-flex; font-size: 13px; font-weight: 900; justify-content: center; letter-spacing: .05em; min-height: 52px; padding: 0 25px; text-decoration: none; text-transform: uppercase; }
.squishy-button:hover,.squishy-section .button:hover,.squishy-contact-form button:hover,.squishy-newsletter button:hover { background: var(--sq-purple-dark); border-color: var(--sq-purple-dark); color: var(--sq-white); transform: translateY(-2px); }
.squishy-button--ghost { background: transparent; color: var(--sq-purple-dark); }
.squishy-button.disabled,.squishy-section .button.disabled { cursor: not-allowed; opacity: .62; pointer-events: none; }

.squishy-hero { align-items: center; display: grid; gap: clamp(40px, 7vw, 100px); grid-template-columns: .9fr 1.1fr; min-height: 620px; overflow: hidden; padding-top: clamp(34px, 3.5vw, 54px); }
.squishy-hero-copy h1 { font-size: clamp(52px, 6.6vw, 96px); letter-spacing: -.055em; margin: 0 0 24px; max-width: 760px; }
.squishy-hero-copy > p:not(.squishy-eyebrow) { font-size: clamp(18px, 2vw, 23px); max-width: 640px; }
.squishy-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.squishy-mini-trust { color: #665e6b; display: flex; flex-wrap: wrap; font-size: 12px; font-weight: 750; gap: 18px; margin-top: 28px; }
.squishy-mini-trust span::before { color: var(--sq-purple); content: "✓"; margin-right: 6px; }
.squishy-hero-visual { min-height: 530px; position: relative; }
.squishy-hero-visual img { aspect-ratio: 4 / 3; border: 10px solid var(--sq-white); border-radius: 45% 55% 44% 56% / 55% 43% 57% 45%; box-shadow: var(--sq-shadow); height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; z-index: 2; }
.squishy-blob { border-radius: 50%; position: absolute; }
.squishy-blob--one { background: var(--sq-sky); height: 310px; right: -90px; top: -80px; width: 310px; }
.squishy-blob--two { background: var(--sq-butter); bottom: -90px; height: 240px; left: -90px; width: 240px; }
.squishy-sticker { align-items: center; background: var(--sq-peach); border: 5px solid var(--sq-white); border-radius: 50%; bottom: 8px; color: var(--sq-purple-dark); display: flex; font-size: 15px; font-weight: 900; height: 120px; justify-content: center; line-height: 1.15; position: absolute; right: -30px; text-align: center; transform: rotate(8deg); width: 120px; z-index: 3; }

.squishy-values { border-bottom: 1px solid var(--sq-line); border-top: 1px solid var(--sq-line); display: grid; grid-template-columns: repeat(4,1fr); padding-bottom: 48px; padding-top: 48px; }
.squishy-value { border-right: 1px solid var(--sq-line); padding: 8px clamp(18px, 3vw, 38px); }
.squishy-value:last-child { border-right: 0; }
.squishy-value > span { color: var(--sq-peach); font-size: 24px; }
.squishy-value h2 { font-size: 17px; margin: 10px 0 6px; }
.squishy-value p { color: #6d6470; font-size: 14px; margin: 0; }

.squishy-section-heading { align-items: end; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 44px; }
.squishy-section-heading h2 { margin-bottom: 0; }
.squishy-section-heading > a,.squishy-text-link { color: var(--sq-purple-dark); font-size: 14px; font-weight: 900; text-decoration: none; white-space: nowrap; }
.squishy-product-grid { display: grid; gap: 22px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.squishy-product-card { background: var(--sq-white); border: 1px solid transparent; border-radius: 24px; box-shadow: 0 12px 35px rgba(62,49,92,.06); display: flex; flex-direction: column; overflow: hidden; }
.squishy-product-card:hover { border-color: rgba(120,97,169,.24); transform: translateY(-4px); }
.squishy-product-image { aspect-ratio: 1; background: var(--sq-oat); display: block; overflow: hidden; }
.squishy-product-image img { height: 100%; object-fit: cover; width: 100%; }
.squishy-product-copy { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.squishy-card-kicker { color: var(--sq-purple); font-size: 11px; font-weight: 850; letter-spacing: .08em; margin: 0 0 7px; text-transform: uppercase; }
.squishy-card-kicker a { color: inherit; }
.squishy-product-copy h3 { font-size: 17px; margin: 0 0 8px; }
.squishy-product-copy h3 a { color: var(--sq-purple-dark); text-decoration: none; }
.squishy-rating { color: #897f8c; font-size: 12px; min-height: 22px; }
.squishy-card-row { align-items: center; display: flex; gap: 10px; justify-content: space-between; margin-top: auto; padding-top: 16px; }
.squishy-card-row .price { color: var(--sq-purple-dark); font-size: 15px; font-weight: 850; }
.squishy-card-row .button,.squishy-product-card > .squishy-product-copy > .button { font-size: 10px; min-height: 38px; padding: 0 15px; }
.squishy-preview-note { color: #746d77; font-size: 12px; }

.squishy-categories { background: #f6ecdf; border-radius: 42px; max-width: calc(1400px - 36px); }
.squishy-categories .squishy-section-heading { margin-bottom: 34px; }
.squishy-section-intro { color: #665e6b; font-size: 16px; margin: 14px 0 0; max-width: 620px; }
.squishy-category-grid { display: grid; gap: 18px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.squishy-category-shell { min-width: 0; }
.squishy-category-grid > p,.squishy-category-shell > p { display: none; }
.squishy-category { aspect-ratio: .82; border-radius: 28px; box-shadow: 0 16px 45px rgba(62,49,92,.12); color: var(--sq-white); display: block; isolation: isolate; overflow: hidden; position: relative; text-decoration: none; }
.squishy-category-media,.squishy-category-media::after { inset: 0; position: absolute; }
.squishy-category-media { background: #d7cce9; }
.squishy-category-media::after { background: linear-gradient(180deg,rgba(32,23,49,.02) 30%,rgba(32,23,49,.82) 100%); content: ""; z-index: 1; }
.squishy-category-image { height: 100%; object-fit: cover; transition: transform .45s ease; width: 100%; }
.squishy-category-image-fallback { background: radial-gradient(circle at 70% 25%,rgba(255,255,255,.55) 0 15%,transparent 16%),linear-gradient(145deg,#d7cce9,#f5a27e); display: block; height: 100%; width: 100%; }
.squishy-category-content { bottom: 0; display: flex; flex-direction: column; left: 0; padding: 28px; position: absolute; right: 0; z-index: 2; }
.squishy-category-content > span { font-size: 10px; font-weight: 850; letter-spacing: .12em; margin-bottom: 9px; text-transform: uppercase; }
.squishy-category-content h3 { color: inherit; font-size: clamp(22px,2vw,29px); line-height: 1.05; margin: 0; }
.squishy-category-content p { color: rgba(255,255,255,.86); font-size: 13px; line-height: 1.45; margin: 11px 0 18px; max-width: 240px; }
.squishy-category-content b { align-items: center; display: flex; font-size: 12px; gap: 8px; text-transform: uppercase; }
.squishy-category-content i { font-size: 18px; font-style: normal; transition: transform .25s ease; }
.squishy-category:hover { box-shadow: 0 22px 55px rgba(62,49,92,.19); transform: translateY(-5px); }
.squishy-category:hover .squishy-category-image { transform: scale(1.045); }
.squishy-category:hover .squishy-category-content i { transform: translateX(5px); }
.squishy-category--butter .squishy-category-media { background: var(--sq-butter); }
.squishy-category--gorilla .squishy-category-media { background: #d7cce9; }
.squishy-category--bun .squishy-category-media { background: var(--sq-peach); }
.squishy-category--food .squishy-category-media { background: #f6d98b; }
.squishy-category--animal .squishy-category-media { background: var(--sq-sky); }
.squishy-category--gel .squishy-category-media { background: #cfc4e7; }

.squishy-moments { align-items: center; display: grid; gap: clamp(40px, 8vw, 120px); grid-template-columns: 1fr 1fr; }
.squishy-moments-copy h2 { max-width: 700px; }
.squishy-moment-list { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.squishy-moment-list div { align-items: center; background: var(--sq-white); border-radius: 18px; display: flex; font-size: 16px; font-weight: 750; gap: 12px; min-height: 82px; padding: 18px; }
.squishy-moment-list span { color: var(--sq-peach); font-size: 32px; }
.squishy-story { background: var(--sq-purple-dark); border-radius: 52px; color: rgba(255,255,255,.8); display: grid; gap: 70px; grid-template-columns: .9fr 1.1fr; max-width: calc(1400px - 36px); }
.squishy-story h2,.squishy-story .squishy-eyebrow,.squishy-story .squishy-text-link { color: var(--sq-white); }
.squishy-story-points { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
.squishy-story-points span { align-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; display: flex; font-weight: 750; min-height: 72px; padding: 17px; }
.squishy-story-points span::before { color: var(--sq-butter); content: "✦"; margin-right: 10px; }

.squishy-bundle { align-items: center; background: var(--sq-butter); border-radius: 52px; display: grid; gap: 60px; grid-template-columns: 1.1fr .9fr; max-width: calc(1400px - 36px); overflow: hidden; }
.squishy-bundle-copy { max-width: 650px; position: relative; z-index: 2; }
.squishy-bundle-price { font-size: 25px; font-weight: 900; margin: 18px 0; }
.squishy-bundle-orbs { height: 340px; position: relative; }
.squishy-bundle-orbs span { border: 8px solid rgba(255,255,255,.65); border-radius: 50%; box-shadow: var(--sq-shadow); position: absolute; }
.squishy-bundle-orbs span:nth-child(1) { background: var(--sq-peach); height: 190px; left: 0; top: 80px; width: 190px; }
.squishy-bundle-orbs span:nth-child(2) { background: var(--sq-sky); height: 220px; right: 0; top: 0; width: 220px; }
.squishy-bundle-orbs span:nth-child(3) { background: #d8c9eb; bottom: -40px; height: 180px; right: 120px; width: 180px; }

.squishy-demo-label { background: #fff3cd; border-radius: 12px; color: #674d00; font-size: 11px; font-weight: 800; letter-spacing: .05em; padding: 12px 15px; text-transform: uppercase; }
.squishy-review-grid { display: grid; gap: 20px; grid-template-columns: repeat(3,1fr); }
.squishy-review-grid article { background: var(--sq-white); border-radius: 24px; padding: 28px; }
.squishy-review-grid article > div { color: #c68b2d; letter-spacing: .12em; }
.squishy-review-grid article span { color: #746d77; font-size: 12px; font-weight: 750; }
.squishy-newsletter { align-items: center; background: var(--sq-sky); border-radius: 52px; display: grid; gap: 60px; grid-template-columns: 1fr 1fr; max-width: calc(1400px - 36px); }
.squishy-newsletter form { display: grid; grid-template-columns: 1fr auto; }
.squishy-newsletter input[type=email] { background: var(--sq-white); border: 0; border-radius: 999px 0 0 999px; font-size: 16px; min-height: 58px; padding: 0 24px; }
.squishy-newsletter button { border-radius: 0 999px 999px 0; min-height: 58px; }
.squishy-consent { align-items: flex-start; display: flex; font-size: 11px !important; font-weight: 500 !important; gap: 8px; grid-column: 1 / -1; margin-top: 12px; }
.squishy-consent input { margin-top: 3px; }

.squishy-footer { background: #2d243c; color: rgba(255,255,255,.74); margin-top: clamp(70px, 8vw, 120px); padding: 70px clamp(20px, 5vw, 72px) 24px; }
.squishy-footer-grid { display: grid; gap: 50px; grid-template-columns: 1.5fr .7fr .8fr 1fr; margin: 0 auto; max-width: 1280px; }
.squishy-footer-grid h2 { color: var(--sq-white); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.squishy-footer-link-list { display: grid; gap: 10px; margin-top: 14px; }
.squishy-footer-link-list a { color: rgba(255,255,255,.82) !important; display: inline-flex; font-size: 13px; line-height: 1.35; text-decoration: none; width: max-content; }
.squishy-footer-link-list a:hover { color: var(--sq-white) !important; transform: translateX(3px); }
.squishy-logo--footer { color: var(--sq-white); margin-bottom: 14px; }
.squishy-socials { display: flex; flex-wrap: wrap; gap: 8px; }
.squishy-socials a { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: var(--sq-white) !important; display: inline-flex; font-size: 11px; line-height: 1; padding: 8px 11px; text-decoration: none; }
.squishy-socials a:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.35); }
.squishy-socials a[aria-disabled=true] { opacity: .62; pointer-events: none; }
.squishy-footer-contacts { display: grid; gap: 8px; margin-bottom: 18px; }
.squishy-footer-contacts a { color: var(--sq-white); display: grid; font-size: 12px; overflow-wrap: anywhere; text-decoration: none; }
.squishy-footer-contacts a span { color: rgba(255,255,255,.5); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.squishy-footer-bottom { border-top: 1px solid rgba(255,255,255,.13); display: flex; font-size: 11px; justify-content: space-between; margin: 45px auto 0; max-width: 1280px; padding-top: 22px; }
.squishy-payment-methods { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.squishy-payment-methods img { max-height: 24px; width: auto; }

.squishy-page-shell,.squishy-commerce-shell { margin: 0 auto; max-width: 1280px !important; padding: clamp(60px, 7vw, 100px) clamp(20px, 4vw, 54px) !important; }
.post-type-archive-product .squishy-commerce-shell,.tax-product_cat .squishy-commerce-shell { padding-top: clamp(32px, 3.5vw, 48px) !important; }
.squishy-page-shell > .wp-block-post-title { font-size: clamp(42px, 6vw, 76px); }
.squishy-editorial { margin: 0 auto; max-width: 1080px; }
.squishy-editorial h1 { font-size: clamp(48px, 7vw, 88px); max-width: 800px; }
.squishy-lede { font-size: clamp(19px, 2.5vw, 26px); max-width: 820px; }
.squishy-editorial-grid { display: grid; gap: 30px; grid-template-columns: 1fr 1fr; margin-top: 60px; }
.squishy-editorial-grid > div { background: var(--sq-oat); border-radius: 24px; padding: 30px; }
.squishy-editorial-grid h2 { font-size: 27px; }
.squishy-faq details { border-bottom: 1px solid var(--sq-line); }
.squishy-faq summary { cursor: pointer; display: flex; font-size: 19px; font-weight: 800; justify-content: space-between; list-style: none; padding: 24px 0; }
.squishy-faq details p { color: #665f69; margin-top: 0; max-width: 780px; padding-bottom: 24px; }
.squishy-contact { display: grid; gap: clamp(40px, 7vw, 90px); grid-template-columns: .9fr 1.1fr; }
.squishy-contact h1 { font-size: clamp(44px, 6vw, 72px); }
.squishy-contact-methods { display: grid; gap: 10px; margin-top: 32px; }
.squishy-contact-methods h2 { font-size: 18px; margin: 0 0 4px; }
.squishy-contact-methods > a { background: var(--sq-oat); border-radius: 15px; color: var(--sq-purple-dark); display: grid; padding: 13px 16px; text-decoration: none; }
.squishy-contact-methods > a:hover { background: var(--sq-sky); }
.squishy-contact-methods > a span { color: #776f7b; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.squishy-contact-methods > a strong { font-size: 15px; overflow-wrap: anywhere; }
.squishy-contact-form { background: var(--sq-white); border-radius: 26px; box-shadow: var(--sq-shadow); display: grid; gap: 18px; padding: 30px; }
.squishy-contact-form label { font-size: 13px; font-weight: 800; }
.squishy-contact-form input:not([type=checkbox]),.squishy-contact-form textarea { background: var(--sq-cream); border: 1px solid var(--sq-line); border-radius: 14px; box-sizing: border-box; display: block; font: inherit; margin-top: 7px; padding: 13px 15px; width: 100%; }

/* WooCommerce catalog */
.woocommerce .woocommerce-breadcrumb { color: #776f7b; font-size: 12px; margin-bottom: 26px; }
.woocommerce .woocommerce-products-header__title,.woocommerce-page .page-title { font-size: clamp(42px, 6vw, 72px); margin-bottom: 20px; }
.woocommerce .woocommerce-result-count { color: #746d77; font-size: 13px; }
.woocommerce .woocommerce-ordering select { background: var(--sq-white); border: 1px solid var(--sq-line); border-radius: 999px; padding: 11px 36px 11px 16px; }
.squishy-shop-filters { clear: both; display: flex; flex-wrap: wrap; gap: 9px; padding-top: 22px; width: 100%; }
.squishy-shop-filters a { align-items: center; background: var(--sq-white); border: 1px solid var(--sq-line); border-radius: 999px; color: var(--sq-purple-dark); display: inline-flex; font-size: 12px; font-weight: 800; gap: 6px; padding: 9px 14px; text-decoration: none; transition: background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease; }
.squishy-shop-filters a:hover { background: var(--sq-purple); color: var(--sq-white); }
.squishy-shop-filters a.is-active { background: var(--sq-purple-dark); border-color: var(--sq-purple-dark); box-shadow: 0 6px 16px rgba(62,49,92,.22); color: var(--sq-white); transform: translateY(-1px); }
.squishy-shop-filters a.is-active::before { content: "✓"; font-size: 11px; font-weight: 900; line-height: 1; }
.squishy-shop-spotlights { display: none; }
.squishy-spotlight-column { display: grid; min-width: 0; pointer-events: auto; }
.squishy-spotlight-card { background: var(--sq-white); border: 1px solid rgba(62,49,92,.08); border-radius: 28px; box-shadow: 0 18px 46px rgba(62,49,92,.12); grid-area: 1 / 1; min-width: 0; opacity: 0; overflow: hidden; pointer-events: none; position: relative; transform: translateY(10px) scale(.985); transition: opacity .45s ease,transform .45s ease,visibility .45s; visibility: hidden; }
.squishy-spotlight-card.is-active { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); visibility: visible; }
.squishy-spotlight-image { background: var(--sq-oat); display: block; overflow: hidden; position: relative; text-decoration: none; }
.squishy-spotlight-image img { aspect-ratio: 1.08; display: block; height: auto; object-fit: cover; transition: transform .3s ease; width: 100%; }
.squishy-spotlight-card:hover .squishy-spotlight-image img { transform: scale(1.035); }
.squishy-spotlight-image span { background: var(--sq-purple-dark); border-radius: 999px; color: var(--sq-white); font-size: 10px; font-weight: 900; left: 14px; letter-spacing: .08em; padding: 8px 11px; position: absolute; text-transform: uppercase; top: 14px; }
.squishy-spotlight-card--butter .squishy-spotlight-image span { background: #e4936e; }
.squishy-spotlight-card--gorilla .squishy-spotlight-image span { background: var(--sq-purple); }
.squishy-spotlight-content { padding: 18px; }
.squishy-spotlight-content small { color: #847a88; display: block; font-size: 10px; font-weight: 850; letter-spacing: .08em; margin-bottom: 7px; text-transform: uppercase; }
.squishy-spotlight-content h2 { font-size: clamp(16px,1.1vw,19px); line-height: 1.18; margin: 0 0 11px; }
.squishy-spotlight-content h2 a { color: var(--sq-purple-dark); text-decoration: none; }
.squishy-spotlight-price { color: var(--sq-purple-dark); font-size: 18px; font-weight: 900; margin-bottom: 14px; }
.squishy-spotlight-buy,.squishy-spotlight-view { background: var(--sq-purple) !important; border-radius: 999px !important; box-sizing: border-box; color: var(--sq-white) !important; display: block !important; font-size: 11px !important; font-weight: 850 !important; margin: 0 !important; padding: 12px 14px !important; text-align: center; text-decoration: none; width: 100%; }
.squishy-spotlight-buy:hover,.squishy-spotlight-view:hover { background: var(--sq-purple-dark) !important; }
.squishy-spotlight-actions { display: grid; gap: 7px; grid-template-columns: 1fr 1fr; }
.squishy-spotlight-actions .squishy-spotlight-buy,.squishy-spotlight-actions .squishy-spotlight-buy-now,.squishy-spotlight-actions .squishy-spotlight-view { align-items: center; border-radius: 999px !important; box-sizing: border-box; display: flex !important; font-size: 10px !important; font-weight: 850 !important; justify-content: center; line-height: 1.1; margin: 0 !important; min-height: 40px; padding: 9px 7px !important; text-align: center; text-decoration: none; }
.squishy-spotlight-actions .squishy-spotlight-buy-now { background: var(--sq-peach) !important; color: var(--sq-purple-dark) !important; }
@media (min-width: 1840px) {
  .post-type-archive-product .squishy-shop-spotlights,.tax-product_cat .squishy-shop-spotlights,.single-product .squishy-shop-spotlights { align-items: flex-start; box-sizing: border-box; display: flex; justify-content: space-between; left: 22px; pointer-events: none; position: fixed; right: 22px; top: 180px; width: auto; z-index: 80; }
  .post-type-archive-product .squishy-spotlight-column,.tax-product_cat .squishy-spotlight-column,.single-product .squishy-spotlight-column { flex: 0 0 auto; width: min(272px,calc((100vw - 1340px)/2 - 34px)); }
  .post-type-archive-product .squishy-spotlight-card,.tax-product_cat .squishy-spotlight-card,.single-product .squishy-spotlight-card { width: 100%; }
}
.woocommerce ul.products { display: grid !important; gap: 24px; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 40px !important; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { background: var(--sq-white); border-radius: 24px; box-shadow: 0 12px 35px rgba(62,49,92,.06); float: none !important; margin: 0 !important; overflow: hidden; padding: 0 0 20px !important; width: auto !important; }
.woocommerce ul.products li.product a img { aspect-ratio: 1; background: var(--sq-oat); margin: 0 0 18px !important; object-fit: cover; width: 100%; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .star-rating,.woocommerce ul.products li.product .squishy-loop-copy { margin-left: 18px !important; margin-right: 18px !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--sq-purple-dark); font-size: 17px !important; padding: 0 !important; }
.woocommerce ul.products li.product .price { color: var(--sq-purple-dark) !important; font-weight: 850 !important; }
.squishy-unit-price-note { color: #746d77; font-size: 11px; line-height: 1.35; margin: 6px 0 0; }
.squishy-unit-price-note a { color: var(--sq-purple-dark); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.woocommerce ul.products li.product > .squishy-unit-price-note { margin: 6px 18px 0; }
.woocommerce div.product .summary > .squishy-unit-price-note { font-size: 12px; margin: -8px 0 14px; }
.squishy-unit-price-note--home { margin: 8px 0 0; }
.squishy-unit-price-note--spotlight { font-size: 10px; margin: 0 0 12px; }
.squishy-unit-price-note--bundle { color: rgba(255,255,255,.82); margin: 8px 0 16px; }
.squishy-unit-price-note--bundle a { color: var(--sq-white); }
.squishy-shipping-notice { align-items: center; background: var(--sq-sky); border: 1px solid rgba(62,49,92,.08); border-radius: 18px; color: var(--sq-purple-dark); display: flex; gap: 10px 18px; justify-content: space-between; margin: 0 0 24px; padding: 16px 20px; }
.squishy-shipping-notice strong { font-size: 14px; }
.squishy-shipping-notice span { color: #655e69; font-size: 13px; }
.squishy-footer-shipping { color: rgba(255,255,255,.76); font-size: 12px; line-height: 1.6; margin: 0 0 12px; }
.squishy-loop-copy { color: #766f79; font-size: 12px; min-height: 38px; }
.woocommerce ul.products li.product .button { background: var(--sq-purple); border-radius: 999px; color: var(--sq-white); font-size: 11px; margin: 14px 18px 0 !important; padding: 12px 17px; }
.squishy-loop-actions { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin: 14px 18px 0; }
.woocommerce ul.products li.product .squishy-loop-actions .button { align-items: center; display: flex; justify-content: center; line-height: 1.15; margin: 0 !important; min-height: 42px; padding: 10px 8px; text-align: center; }
.woocommerce ul.products li.product .squishy-loop-actions .squishy-loop-buy-now { background: var(--sq-peach) !important; color: var(--sq-purple-dark) !important; }
.woocommerce ul.products li.product .squishy-loop-actions .squishy-loop-buy-now:hover { background: var(--sq-purple-dark) !important; color: var(--sq-white) !important; }
.woocommerce span.onsale { background: var(--sq-peach) !important; color: var(--sq-purple-dark) !important; font-size: 11px !important; font-weight: 900 !important; left: 14px !important; line-height: 38px !important; min-height: 38px !important; min-width: 38px !important; right: auto !important; top: 14px !important; }
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: flex; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span { border-radius: 50%; height: 42px; line-height: 42px !important; padding: 0 !important; width: 42px; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--sq-purple) !important; color: var(--sq-white); }

/* WooCommerce product */
.woocommerce div.product { column-gap: clamp(35px, 6vw, 80px); display: grid; grid-template-columns: 1.05fr .95fr; row-gap: clamp(20px, 2.5vw, 34px); }
.woocommerce div.product .woocommerce-product-gallery,.woocommerce div.product .summary { float: none !important; width: auto !important; }
.woocommerce div.product .woocommerce-product-gallery__wrapper img { border-radius: 28px; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; gap: 10px; grid-template-columns: repeat(5,1fr); margin-top: 12px !important; }
.woocommerce div.product div.images .flex-control-thumbs li { float: none !important; width: auto !important; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 12px; }
.squishy-product-kicker { color: var(--sq-purple); font-size: 11px; font-weight: 900; letter-spacing: .12em; margin-bottom: 12px; text-transform: uppercase; }
.woocommerce div.product .product_title { font-size: clamp(38px, 5vw, 64px); line-height: 1; }
.woocommerce div.product p.price { color: var(--sq-purple-dark) !important; font-size: 26px !important; font-weight: 900; }
.woocommerce div.product .woocommerce-product-details__short-description { color: #655e69; font-size: 17px; }
.squishy-product-spec-summary { background: var(--sq-oat); border: 1px solid rgba(62,49,92,.08); border-radius: 20px; margin: 20px 0 4px; padding: 18px 20px; }
.squishy-product-spec-summary h2 { color: var(--sq-purple-dark); font-size: 16px; margin: 0 0 12px; }
.squishy-product-spec-summary dl { display: grid; gap: 8px; margin: 0; }
.squishy-product-spec-summary dl div { align-items: baseline; display: grid; gap: 12px; grid-template-columns: minmax(120px,.8fr) 1.2fr; }
.squishy-product-spec-summary dt { color: #776f7b; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.squishy-product-spec-summary dd { color: var(--sq-purple-dark); font-size: 13px; font-weight: 800; margin: 0; }
.woocommerce div.product form.cart { align-items: stretch; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.woocommerce div.product form.cart .quantity .qty { border: 1px solid var(--sq-line); border-radius: 999px; min-height: 52px; width: 74px; }
.woocommerce div.product form.cart .button { background: var(--sq-purple); border-radius: 999px; color: var(--sq-white); flex: 1; min-height: 52px; padding: 0 22px; }
.woocommerce div.product form.cart .squishy-buy-now { background: transparent; border: 2px solid var(--sq-purple); color: var(--sq-purple-dark); flex-basis: 100%; }
.woocommerce div.product form.cart .squishy-buy-now:hover { background: var(--sq-purple-dark); color: var(--sq-white); }
.squishy-product-trust { background: var(--sq-oat); border-radius: 18px; display: grid; font-size: 12px; gap: 8px; margin-top: 22px; padding: 17px; }
.woocommerce div.product .product_meta { color: #746d77; font-size: 12px; }
.woocommerce div.product .product_meta .posted_in { display: none !important; }
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related { grid-column: 1 / -1; margin-bottom: 0; margin-top: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 8px; overflow-x: auto; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after,.woocommerce div.product .woocommerce-tabs ul.tabs li::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--sq-oat) !important; border: 0 !important; border-radius: 999px !important; margin: 0 !important; padding: 0 16px !important; white-space: nowrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--sq-purple) !important; color: var(--sq-white) !important; }
.woocommerce div.product .woocommerce-tabs .panel { background: var(--sq-white); border-radius: 24px; margin-bottom: 0 !important; padding: 28px; }
.squishy-specs { display: grid; grid-template-columns: 180px 1fr; }
.squishy-specs dt,.squishy-specs dd { border-bottom: 1px solid var(--sq-line); margin: 0; padding: 12px 0; }
.squishy-specs dt { font-weight: 850; }
.woocommerce div.product .related > h2 { font-size: clamp(30px, 4vw, 48px); }
.squishy-mobile-buy { display: none; }

/* Cart, checkout, account */
.woocommerce-cart .squishy-page-shell { padding-top: clamp(34px, 4vw, 58px) !important; }
.woocommerce-cart .squishy-page-shell > .wp-block-post-title { font-size: clamp(42px, 5vw, 64px); margin: 0 0 clamp(22px, 3vw, 40px); }
.woocommerce-cart .wp-block-woocommerce-cart { margin: 0; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block { margin: 0 auto; max-width: 1180px; padding: clamp(24px, 3vw, 42px) 0 0; text-align: center; }
.woocommerce-cart .wc-block-cart__empty-cart__title { color: var(--sq-purple-dark); font-size: clamp(25px, 3vw, 38px); margin: 0 auto 34px !important; padding-top: 0 !important; }
.woocommerce-cart .wc-block-cart__empty-cart__title::before { background-color: var(--sq-purple); height: 68px; margin: 0 auto 18px; mask-size: 68px; width: 68px; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title) { color: var(--sq-purple-dark); font-size: clamp(28px, 3vw, 42px); margin: 0 0 24px; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products { gap: 22px; justify-content: center; margin: 0 auto !important; max-width: 930px; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product { background: var(--sq-white); border: 0; border-radius: 22px; box-shadow: 0 12px 35px rgba(62,49,92,.07); flex: 1 1 0; max-width: 296px; overflow: hidden; padding: 0 0 20px; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image { margin: 0 0 16px; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img { aspect-ratio: 1; display: block; object-fit: cover; width: 100%; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title { color: var(--sq-purple-dark); font-size: 15px; line-height: 1.25; padding: 0 14px; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price { color: var(--sq-purple-dark); font-weight: 850; }
.woocommerce table.shop_table { background: var(--sq-white); border: 0 !important; border-radius: 20px !important; overflow: hidden; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { border-color: var(--sq-line) !important; padding: 16px !important; }
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout-review-order,.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register,.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content { background: var(--sq-white); border: 0 !important; border-radius: 20px; padding: 24px; }
.woocommerce .button,.woocommerce button.button,.woocommerce input.button { border-radius: 999px !important; }
.woocommerce .button.alt,.woocommerce button.button.alt { background: var(--sq-purple) !important; color: var(--sq-white) !important; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single { background: var(--sq-white); border: 1px solid var(--sq-line); border-radius: 12px; min-height: 48px; padding: 10px 13px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 28px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation a { border-bottom: 1px solid var(--sq-line); display: block; padding: 10px 0; }

@media (max-width: 1100px) {
  .squishy-site-header { column-gap: 8px; grid-template-columns: auto auto 1fr; justify-content: stretch; }
  .squishy-mobile-menu { display: inline-flex; order: 2; }
  .squishy-logo { order: 1; }
  .squishy-header-tools { justify-self: end; order: 3; }
  .squishy-nav { background: var(--sq-cream); border-bottom: 1px solid var(--sq-line); box-shadow: var(--sq-shadow); display: none; flex-direction: column; left: 0; padding: 24px; position: absolute; right: 0; top: 78px; }
  .squishy-nav-list { flex-direction: column; }
  .squishy-nav.is-open { display: flex; }
  .squishy-product-grid,.squishy-category-grid,.woocommerce ul.products { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .squishy-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 600px) {
  .woocommerce-cart .squishy-page-shell { padding-top: 28px !important; }
  .woocommerce-cart .squishy-page-shell > .wp-block-post-title { margin-bottom: 12px; }
  .woocommerce-cart .wp-block-woocommerce-empty-cart-block { padding-top: 18px; }
  .woocommerce-cart .wc-block-cart__empty-cart__title { margin-bottom: 26px !important; }
}

@media (max-width: 782px) {
  .admin-bar .squishy-site-header { top: 46px; }
  .squishy-announcement { font-size: 10px; }
  .squishy-announcement span { padding: 7px 10px; }
  .squishy-hero,.squishy-moments,.squishy-story,.squishy-bundle,.squishy-newsletter,.squishy-contact { grid-template-columns: 1fr; }
  .squishy-hero { padding-top: 55px; }
  .squishy-hero-visual { min-height: 440px; }
  .squishy-values { grid-template-columns: 1fr 1fr; }
  .squishy-value:nth-child(2) { border-right: 0; }
  .squishy-value:nth-child(-n+2) { border-bottom: 1px solid var(--sq-line); }
  .squishy-product-grid,.woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .squishy-category-grid { grid-template-columns: 1fr 1fr; }
  .squishy-review-grid { grid-template-columns: 1fr; }
  .squishy-footer-grid { grid-template-columns: 1fr 1fr; }
  .woocommerce div.product { grid-template-columns: 1fr; }
  .woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related { grid-column: auto; }
  .squishy-mobile-buy { align-items: center; background: var(--sq-white); border-top: 1px solid var(--sq-line); bottom: 0; box-shadow: 0 -12px 30px rgba(62,49,92,.12); display: flex; gap: 12px; justify-content: space-between; left: 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); position: fixed; right: 0; z-index: 100; }
  .squishy-mobile-buy div { display: grid; max-width: 55%; }
.squishy-mobile-buy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.squishy-mobile-buy .squishy-unit-price-note--mobile { font-size: 9px; line-height: 1.15; margin: 1px 0 0; }
  .squishy-mobile-buy span { font-size: 13px; }
  .squishy-mobile-buy button { background: var(--sq-purple); border: 0; border-radius: 999px; color: var(--sq-white); font-weight: 800; padding: 13px 18px; }
}

@media (max-width: 520px) {
	.squishy-shipping-notice { align-items: flex-start; flex-direction: column; }
  .squishy-product-spec-summary dl div { grid-template-columns: 1fr; gap: 2px; }
  .squishy-site-header { gap: 4px; min-height: 66px; padding: 0 12px; }
  .squishy-nav { top: 66px; }
  .squishy-logo { font-size: 19px; }
  .squishy-language-switcher { min-width: 96px; }
  .squishy-language-switcher .gtranslate_wrapper,.squishy-language-switcher .gt_switcher { min-width: 96px; width: 96px !important; }
  .squishy-language-switcher .gt_switcher .gt_selected a { padding-left: 9px !important; width: 96px !important; }
  .squishy-header-tools > a,.squishy-mobile-menu { height: 36px; width: 36px; }
  .squishy-header-tools > a:first-child { display: none; }
  .squishy-section { padding-left: 18px; padding-right: 18px; }
  .squishy-hero-copy h1 { font-size: clamp(46px, 14vw, 68px); }
  .squishy-hero-visual { min-height: 340px; }
  .squishy-sticker { bottom: -10px; height: 92px; right: -4px; width: 92px; }
  .squishy-value { padding: 18px 12px; }
  .squishy-section-heading { align-items: flex-start; flex-direction: column; }
  .squishy-product-grid,.woocommerce ul.products { grid-template-columns: 1fr; }
  .squishy-category-grid,.squishy-moment-list,.squishy-story-points,.squishy-editorial-grid { grid-template-columns: 1fr; }
  .squishy-category { aspect-ratio: .9; min-height: 310px; }
  .squishy-category-content { padding: 22px; }
  .squishy-story,.squishy-categories,.squishy-bundle,.squishy-newsletter { border-radius: 30px; }
  .squishy-newsletter form { grid-template-columns: 1fr; }
  .squishy-newsletter input[type=email],.squishy-newsletter button { border-radius: 999px; }
  .squishy-newsletter button { margin-top: 8px; }
  .squishy-footer-grid { grid-template-columns: 1fr; }
  .squishy-footer-bottom { flex-direction: column; gap: 10px; }
  .squishy-specs { grid-template-columns: 1fr; }
  .squishy-specs dt { border-bottom: 0; padding-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.squishy-dtc-theme :where(a, button, input, textarea, select) { transition: none; }
}
