/** Shopify CDN: Minification failed

Line 2348:205 Unexpected "\\n\\n"
Line 2348:364 Expected ":"
Line 2348:397 Expected ":"
Line 2348:620 Unexpected "\\n"
Line 2348:645 Expected ":"
Line 2348:667 Expected ":"
Line 2348:693 Expected ":"
Line 2348:815 Unexpected "\\n"
Line 2348:840 Expected ":"
Line 2348:869 Expected ":"
... and 30 more hidden warnings

**/
:root {
  --wpe-purple: #580176;
  --wpe-purple-dark: #3f0056;
  --wpe-blue: #a1cfe1;
  --wpe-blue-soft: #eaf5fa;
  --wpe-lilac: #f4edf7;
  --wpe-cream: #f7f3ec;
  --wpe-surface: #fffdf9;
  --wpe-text: #25232a;
  --wpe-muted: #6f6874;
  --wpe-line: rgba(50, 38, 56, .12);
  --wpe-radius-sm: 14px;
  --wpe-radius: 24px;
  --wpe-radius-lg: 34px;
  --wpe-shadow: 0 18px 50px rgba(55, 35, 62, .08);
  --wpe-shell: 1480px;
}

html { scroll-behavior: smooth; }
body {
  background: #f6f3ee;
  color: var(--wpe-text);
  letter-spacing: .015em;
}
body, input, button, select, textarea { font-family: var(--font-body-family); }
h1, h2, h3, h4, h5, h6 { color: var(--wpe-text); letter-spacing: -.025em; }
.wpe-shell { width: min(calc(100% - 40px), var(--wpe-shell)); margin-inline: auto; }
.wpe-section { padding: 34px 0; }
.wpe-eyebrow { margin: 0 0 12px; color: var(--wpe-purple); font-size: 1.22rem; line-height: 1.2; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.wpe-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:24px; padding: 0 4px; }
.wpe-section-heading h2 { margin:0; font-size:clamp(3rem, 3.4vw, 5.2rem); line-height:1.02; }
.wpe-section-heading__text { max-width: 52rem; color: var(--wpe-muted); }
.wpe-section-heading__text p { margin: 10px 0 0; }
.wpe-text-link { color: var(--wpe-text); font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:8px; }
.wpe-text-link:hover { color: var(--wpe-purple); }

.wpe-button-row { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:28px; }
.wpe-button { min-height:48px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:12px; border-radius:999px; text-decoration:none; font-weight:700; border:1px solid transparent; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.wpe-button:hover { transform:translateY(-2px); }
.wpe-button--primary { color:#fff; background:var(--wpe-purple); box-shadow:0 10px 24px rgba(88,1,118,.18); }
.wpe-button--primary:hover { background:var(--wpe-purple-dark); color:#fff; }
.wpe-button--secondary { color:var(--wpe-text); background:rgba(255,255,255,.66); border-color:var(--wpe-line); }

/* Announcement */
.wpe-announcement { background:var(--wpe-purple); color:#fff; font-size:1.28rem; }
.wpe-announcement a { color:inherit; text-decoration:none; }
.wpe-announcement__inner { min-height:36px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.wpe-announcement__primary { font-weight:700; letter-spacing:.02em; }
.wpe-announcement__secondary, .wpe-announcement__secondary p { margin:0; opacity:.9; }

/* Header */
.wpe-header-section { position:sticky; top:0; z-index:50; }
.shopify-section-group-header-group.wpe-announcement-section + .wpe-header-section { top:36px; }
.wpe-header { background:rgba(255,253,249,.96); border-bottom:1px solid var(--wpe-line); backdrop-filter:blur(14px); }
.wpe-header__top { min-height:88px; display:grid; grid-template-columns:minmax(190px, 250px) minmax(340px, 680px) auto; gap:38px; align-items:center; }
.wpe-header__logo { display:flex; align-items:center; width:max-content; max-width:100%; color:var(--wpe-text); font-size:2rem; line-height:1.05; font-weight:700; text-decoration:none; }
.wpe-header__logo img { width:auto; max-width:220px; max-height:72px; object-fit:contain; display:block; }
.wpe-header-search { height:48px; display:flex; align-items:center; gap:10px; padding:4px 5px 4px 16px; background:#fff; border:1px solid var(--wpe-line); border-radius:999px; box-shadow:0 5px 20px rgba(53,40,61,.04); }
.wpe-header-search__icon { width:20px; height:20px; color:var(--wpe-muted); flex:0 0 auto; }
.wpe-header-search__icon svg { width:100%; height:100%; }
.wpe-header-search input { width:100%; border:0; outline:0; background:transparent; color:var(--wpe-text); font-size:1.45rem; padding:0; box-shadow:none; }
.wpe-header-search button { border:0; border-radius:999px; background:var(--wpe-purple); color:white; height:38px; padding:0 18px; cursor:pointer; font-weight:700; }
.wpe-header__actions { display:flex; justify-content:flex-end; align-items:center; gap:8px; }
.wpe-icon-button { width:44px; height:44px; border:1px solid var(--wpe-line); border-radius:50%; display:grid; place-items:center; color:var(--wpe-text); background:#fff; text-decoration:none; cursor:pointer; position:relative; }
.wpe-icon-button svg { width:20px; height:20px; }
.wpe-header__cart svg { width:24px; height:24px; }
.wpe-cart-count { position:absolute; top:-4px; right:-3px; background:var(--wpe-purple); color:#fff; min-width:19px; height:19px; display:grid; place-items:center; border-radius:999px; font-size:1rem; font-weight:700; border:2px solid #fff; }
.wpe-desktop-nav { border-top:1px solid var(--wpe-line); }
.wpe-desktop-nav > ul { display:flex; align-items:center; justify-content:center; gap:34px; min-height:48px; margin:0; padding:0; list-style:none; }
.wpe-desktop-nav__item > a, .wpe-desktop-nav__item summary { color:var(--wpe-text); text-decoration:none; font-size:1.42rem; font-weight:700; cursor:pointer; list-style:none; white-space:nowrap; }
.wpe-desktop-nav__item summary::-webkit-details-marker { display:none; }
.wpe-desktop-nav__item.is-current > a, .wpe-desktop-nav__item > a:hover, .wpe-desktop-nav__item summary:hover { color:var(--wpe-purple); }
.wpe-nav-chevron { color:var(--wpe-purple); font-size:1.2rem; }
.wpe-desktop-nav details { position:static; }
.wpe-nav-dropdown { position:absolute; left:0; right:0; top:100%; padding-top:1px; z-index:20; }
.wpe-nav-dropdown__inner { width:min(calc(100% - 40px), 1180px); margin:auto; background:#fff; border:1px solid var(--wpe-line); border-radius:0 0 26px 26px; box-shadow:var(--wpe-shadow); padding:24px 28px 30px; }
.wpe-nav-dropdown__all { display:flex; justify-content:space-between; gap:20px; padding-bottom:17px; margin-bottom:18px; border-bottom:1px solid var(--wpe-line); color:var(--wpe-purple); font-weight:800; text-decoration:none; }
.wpe-nav-dropdown__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; }
.wpe-nav-dropdown__heading { color:var(--wpe-text); text-decoration:none; font-weight:800; }
.wpe-nav-dropdown ul { margin:10px 0 0; padding:0; list-style:none; display:grid; gap:8px; }
.wpe-nav-dropdown ul a { color:var(--wpe-muted); text-decoration:none; }
.wpe-nav-dropdown ul a:hover { color:var(--wpe-purple); }
.wpe-mobile-menu, .wpe-header__mobile-search { display:none; }

/* Hero */
.wpe-hero-wrap { padding-top:22px; }
.wpe-hero { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-areas:"content visual" "benefits benefits"; gap:0; overflow:hidden; border-radius:var(--wpe-radius-lg); background:linear-gradient(135deg,#f3eee5 0%,#eef5f6 52%,#e4eff3 100%); box-shadow:var(--wpe-shadow); border:1px solid rgba(88,1,118,.06); }
.wpe-hero__content { grid-area:content; padding:clamp(46px,6vw,92px); align-self:center; }
.wpe-hero__content h1 { font-size:clamp(4.6rem,6vw,8rem); line-height:.96; max-width:9.5ch; margin:0; }
.wpe-hero__text { max-width:55rem; font-size:clamp(1.65rem,1.4vw,2rem); line-height:1.55; color:var(--wpe-muted); margin-top:24px; }
.wpe-hero__text p { margin:0; }
.wpe-hero__visual { grid-area:visual; position:relative; min-height:560px; margin:20px; border-radius:26px; overflow:hidden; background:var(--wpe-blue-soft); }
.wpe-hero__visual img, .wpe-hero__visual .placeholder-svg { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; display:block; }
.wpe-hero__badge { position:absolute; right:22px; top:22px; background:rgba(255,255,255,.9); color:var(--wpe-purple); border:1px solid rgba(88,1,118,.12); border-radius:999px; padding:10px 14px; font-size:1.2rem; font-weight:800; box-shadow:0 8px 25px rgba(0,0,0,.07); backdrop-filter:blur(8px); }
.wpe-hero__benefits { grid-area:benefits; display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:0 20px 20px; background:rgba(255,255,255,.72); border:1px solid rgba(88,1,118,.08); border-radius:20px; overflow:hidden; }
.wpe-mini-benefit { min-height:82px; display:flex; align-items:center; gap:13px; padding:14px 18px; border-right:1px solid var(--wpe-line); }
.wpe-mini-benefit:last-child { border-right:0; }
.wpe-mini-benefit__icon { width:40px; height:40px; border-radius:50%; background:var(--wpe-lilac); color:var(--wpe-purple); display:grid; place-items:center; font-size:1.7rem; font-weight:800; flex:0 0 auto; }
.wpe-mini-benefit strong, .wpe-mini-benefit span { display:block; }
.wpe-mini-benefit strong { font-size:1.35rem; }
.wpe-mini-benefit div span { color:var(--wpe-muted); font-size:1.15rem; margin-top:2px; }

/* Pet categories */
.wpe-pets-section { padding-top:42px; }
.wpe-pet-scroller { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:14px; background:rgba(255,255,255,.55); padding:18px; border:1px solid rgba(88,1,118,.07); border-radius:var(--wpe-radius); }
.wpe-pet-card { text-decoration:none; color:var(--wpe-text); min-width:0; }
.wpe-pet-card__image { aspect-ratio:1/1; border-radius:18px; overflow:hidden; background:var(--wpe-blue-soft); position:relative; }
.wpe-pet-card__image img, .wpe-pet-card__image svg { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.wpe-pet-card:hover .wpe-pet-card__image img { transform:scale(1.035); }
.wpe-pet-card__label { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 4px 3px; font-weight:800; font-size:1.36rem; }
.wpe-pet-card__label span:last-child { color:var(--wpe-purple); }

/* Product section */
.wpe-products-section .wpe-shell { background:#fffdf9; border:1px solid rgba(88,1,118,.07); border-radius:var(--wpe-radius-lg); padding:clamp(24px,3vw,44px); box-shadow:0 10px 35px rgba(55,35,62,.04); }
.wpe-product-scroller { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.wpe-product-card { min-width:0; background:#f7f4ef; border:1px solid rgba(88,1,118,.07); border-radius:20px; overflow:hidden; transition:transform .22s ease, box-shadow .22s ease; }
.wpe-product-card:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(55,35,62,.08); }
.wpe-product-card__image { aspect-ratio:1/1; display:block; position:relative; background:#fff; overflow:hidden; }
.wpe-product-card__image img, .wpe-product-card__image svg { width:100%; height:100%; object-fit:contain; display:block; padding:16px; }
.wpe-product-card__badge { position:absolute; left:12px; top:12px; color:#fff; background:var(--wpe-purple); border-radius:999px; padding:5px 10px; font-size:1.05rem; font-weight:800; }
.wpe-product-card__content { padding:16px 17px 17px; }
.wpe-product-card__vendor { margin:0 0 5px; color:var(--wpe-muted); font-size:1.1rem; text-transform:uppercase; letter-spacing:.09em; }
.wpe-product-card h3 { margin:0; font-size:1.55rem; line-height:1.3; min-height:4rem; }
.wpe-product-card h3 a { color:var(--wpe-text); text-decoration:none; }
.wpe-product-card__bottom { margin-top:16px; display:flex; justify-content:space-between; align-items:flex-end; gap:12px; }
.wpe-product-card__price { color:var(--wpe-purple); font-weight:800; }
.wpe-product-card__price s { display:block; color:var(--wpe-muted); font-size:1.15rem; font-weight:400; }
.wpe-product-card__arrow { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--wpe-purple); text-decoration:none; border:1px solid var(--wpe-line); }

/* Promo */
.wpe-promo { display:grid; grid-template-columns:.92fr 1.08fr; min-height:390px; background:linear-gradient(120deg,#eaf5fa 0%,#f4edf7 100%); border-radius:var(--wpe-radius-lg); overflow:hidden; border:1px solid rgba(88,1,118,.08); }
.wpe-promo--reverse .wpe-promo__content { order:2; }
.wpe-promo--reverse .wpe-promo__image { order:1; }
.wpe-promo__content { padding:clamp(42px,5vw,76px); align-self:center; }
.wpe-promo__content h2 { margin:0; font-size:clamp(3.6rem,4.5vw,6.4rem); line-height:1; max-width:12ch; }
.wpe-promo__content .rte { max-width:55rem; margin:20px 0 0; color:var(--wpe-muted); font-size:1.65rem; }
.wpe-promo__image { margin:16px; border-radius:24px; overflow:hidden; min-height:360px; position:relative; background:#fff; }
.wpe-promo__image img, .wpe-promo__image svg { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; display:block; }

/* Store feature */
.wpe-store-feature { display:grid; grid-template-columns:.86fr 1.14fr; background:#24212a; color:#fff; border-radius:var(--wpe-radius-lg); overflow:hidden; }
.wpe-store-feature__image { min-height:540px; position:relative; background:#151419; }
.wpe-store-feature__image img, .wpe-store-feature__image svg { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; display:block; }
.wpe-store-feature__content { padding:clamp(42px,5vw,78px); align-self:center; }
.wpe-store-feature__content h2 { margin:0; color:#fff; font-size:clamp(3.7rem,4.6vw,6rem); line-height:1; max-width:12ch; }
.wpe-store-feature__content .rte { color:rgba(255,255,255,.74); max-width:58rem; font-size:1.6rem; margin-top:20px; }
.wpe-store-feature__content .wpe-eyebrow { color:#c99ed7; }
.wpe-store-feature__content .wpe-button--primary { background:#fff; color:var(--wpe-purple); }
.wpe-store-feature__content .wpe-text-link { color:#fff; }
.wpe-store-feature__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:28px; }
.wpe-store-fact { padding:15px 16px; border:1px solid rgba(255,255,255,.13); border-radius:16px; background:rgba(255,255,255,.04); }
.wpe-store-fact strong, .wpe-store-fact span { display:block; }
.wpe-store-fact strong { color:#fff; font-size:1.4rem; }
.wpe-store-fact span { color:rgba(255,255,255,.63); font-size:1.2rem; margin-top:2px; }

/* Advice */
.wpe-advice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.wpe-advice-card { background:#fff; border-radius:22px; overflow:hidden; border:1px solid rgba(88,1,118,.07); }
.wpe-advice-card__image { aspect-ratio:1.45/1; display:block; overflow:hidden; background:var(--wpe-blue-soft); }
.wpe-advice-card__image img, .wpe-advice-card__image svg { width:100%; height:100%; object-fit:cover; display:block; }
.wpe-advice-card__content { padding:19px 20px 22px; }
.wpe-advice-card__content > p { margin:0 0 7px; color:var(--wpe-muted); font-size:1.1rem; text-transform:uppercase; letter-spacing:.09em; }
.wpe-advice-card h3 { margin:0 0 16px; font-size:2rem; line-height:1.15; }
.wpe-advice-card h3 a { color:var(--wpe-text); text-decoration:none; }

/* Footer */
.wpe-footer { margin-top:46px; background:#1d1a20; color:rgba(255,255,255,.72); }
.wpe-footer a { color:inherit; text-decoration:none; }
.wpe-footer a:hover { color:#fff; }
.wpe-footer__top { display:grid; grid-template-columns:1.1fr 2.1fr; gap:60px; padding:64px 0 48px; }
.wpe-footer__logo { display:inline-flex; color:#fff; font-size:2rem; font-weight:800; }
.wpe-footer__logo img { max-width:210px; max-height:78px; width:auto; object-fit:contain; filter:brightness(0) invert(1); }
.wpe-footer__brand > p { max-width:36rem; font-size:1.35rem; line-height:1.6; }
.wpe-footer__social { margin-top:22px !important; }
.wpe-footer__desktop-columns { display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:34px; }
.wpe-footer__column h3 { color:#fff; font-size:1.4rem; margin:0 0 16px; }
.wpe-footer__column ul { padding:0; margin:0; list-style:none; display:grid; gap:8px; }
.wpe-footer__column li, .wpe-footer__column p { font-size:1.3rem; }
.wpe-footer__visit p { line-height:1.6; margin:0 0 12px; }
.wpe-footer__bottom { min-height:72px; display:flex; align-items:center; gap:24px; border-top:1px solid rgba(255,255,255,.1); font-size:1.15rem; }
.wpe-footer__bottom > p { margin:0; }
.wpe-footer__policies { display:flex; flex-wrap:wrap; gap:14px; }
.wpe-footer__payments { margin-left:auto; display:flex; gap:5px; align-items:center; flex-wrap:wrap; }
.wpe-footer__payments svg { width:34px; height:auto; }
.wpe-footer__mobile-columns { display:none; }

/* Make ordinary Dawn pages feel less raw while they await template redesign */
main#MainContent > .shopify-section:not(.wpe-hero-wrap):not(.wpe-pets-section):not(.wpe-products-section):not(.wpe-advice-section) .page-width { max-width:148rem; }
.card, .product__media, .collection-hero, .main-page-title + .rte { border-radius:var(--wpe-radius-sm); }
.button, .shopify-payment-button__button { border-radius:999px !important; }

@media screen and (max-width: 1100px) {
  .wpe-header__top { grid-template-columns:180px minmax(280px,1fr) auto; gap:18px; }
  .wpe-desktop-nav > ul { gap:20px; }
  .wpe-pet-scroller { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .wpe-product-scroller { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .wpe-product-card:nth-child(n+7) { display:none; }
}

@media screen and (max-width: 749px) {
  .wpe-shell { width:min(calc(100% - 24px), var(--wpe-shell)); }
  .wpe-section { padding:22px 0; }
  .wpe-section-heading { align-items:flex-start; gap:16px; margin-bottom:18px; }
  .wpe-section-heading h2 { font-size:3.4rem; }
  .wpe-section-heading .wpe-text-link { display:none; }
  .wpe-eyebrow { font-size:1.05rem; margin-bottom:9px; }
  .wpe-announcement { font-size:1.08rem; }
  .wpe-announcement__inner { min-height:32px; justify-content:center; text-align:center; }
  .wpe-announcement__secondary { display:none; }
  .shopify-section-group-header-group.wpe-announcement-section + .wpe-header-section { top:32px; }
  .wpe-header__top { min-height:64px; display:grid; grid-template-columns:44px 1fr auto; gap:8px; }
  .wpe-mobile-menu { display:block; position:relative; }
  .wpe-mobile-menu > summary { list-style:none; }
  .wpe-mobile-menu > summary::-webkit-details-marker { display:none; }
  .wpe-menu-lines { width:18px; display:grid; gap:4px; }
  .wpe-menu-lines span { height:1.5px; background:currentColor; display:block; border-radius:2px; }
  .wpe-mobile-menu__panel { position:absolute; top:54px; left:0; width:min(92vw,420px); max-height:calc(100vh - 120px); overflow:auto; background:#fff; border:1px solid var(--wpe-line); border-radius:20px; box-shadow:var(--wpe-shadow); padding:10px; }
  .wpe-mobile-nav { list-style:none; margin:0; padding:0; }
  .wpe-mobile-nav > li { border-bottom:1px solid var(--wpe-line); }
  .wpe-mobile-nav > li:last-child { border-bottom:0; }
  .wpe-mobile-nav a, .wpe-mobile-nav summary { min-height:46px; padding:10px 9px; display:flex; align-items:center; justify-content:space-between; color:var(--wpe-text); text-decoration:none; font-weight:700; list-style:none; }
  .wpe-mobile-nav summary::-webkit-details-marker { display:none; }
  .wpe-mobile-nav ul { list-style:none; margin:0; padding:0 0 10px 15px; }
  .wpe-mobile-nav ul a { min-height:36px; color:var(--wpe-muted); font-weight:600; }
  .wpe-mobile-menu__contact { border-top:1px solid var(--wpe-line); margin-top:8px; padding:12px 9px 4px; display:flex; justify-content:space-between; gap:12px; font-size:1.2rem; }
  .wpe-mobile-menu__contact a { color:var(--wpe-purple); font-weight:700; text-decoration:none; }
  .wpe-header__logo { margin:auto; }
  .wpe-header__logo img { max-width:152px; max-height:48px; }
  .wpe-header__actions { gap:5px; }
  .wpe-header__account { display:none; }
  .wpe-icon-button { width:40px; height:40px; }
  .wpe-header__top > .wpe-header-search, .wpe-desktop-nav { display:none; }
  .wpe-header__mobile-search { display:block; padding-bottom:10px; }
  .wpe-header__mobile-search .wpe-header-search { height:42px; padding-left:13px; }
  .wpe-header__mobile-search .wpe-header-search button { display:none; }
  .wpe-header-search input { font-size:1.3rem; }

  .wpe-hero-wrap { padding-top:12px; }
  .wpe-hero { grid-template-columns:1fr; grid-template-areas:"visual" "content" "benefits"; border-radius:26px; }
  .wpe-hero__visual { min-height:330px; margin:10px 10px 0; border-radius:20px; }
  .wpe-hero__badge { top:12px; right:12px; font-size:1rem; padding:8px 10px; }
  .wpe-hero__content { padding:30px 24px 26px; }
  .wpe-hero__content h1 { font-size:4.4rem; line-height:.98; max-width:10ch; }
  .wpe-hero__text { font-size:1.48rem; margin-top:16px; }
  .wpe-button-row { margin-top:20px; }
  .wpe-button { min-height:44px; padding:0 17px; font-size:1.25rem; }
  .wpe-hero__benefits { grid-template-columns:repeat(2,1fr); margin:0 10px 10px; border-radius:17px; }
  .wpe-mini-benefit { min-height:74px; padding:11px; border-right:1px solid var(--wpe-line); border-bottom:1px solid var(--wpe-line); }
  .wpe-mini-benefit:nth-child(2n) { border-right:0; }
  .wpe-mini-benefit:nth-last-child(-n+2) { border-bottom:0; }
  .wpe-mini-benefit__icon { width:34px; height:34px; font-size:1.4rem; }
  .wpe-mini-benefit strong { font-size:1.15rem; }
  .wpe-mini-benefit div span { font-size:1rem; }

  .wpe-pets-section { padding-top:28px; overflow:hidden; }
  .wpe-pet-scroller { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:11px; padding:12px; margin-right:-12px; border-radius:22px 0 0 22px; scrollbar-width:none; }
  .wpe-pet-scroller::-webkit-scrollbar { display:none; }
  .wpe-pet-card { flex:0 0 43%; scroll-snap-align:start; }
  .wpe-pet-card__image { border-radius:15px; }
  .wpe-pet-card__label { font-size:1.18rem; padding-top:9px; }

  .wpe-products-section .wpe-shell { width:min(calc(100% - 12px), var(--wpe-shell)); margin-left:12px; padding:22px 0 22px 18px; border-radius:26px 0 0 26px; overflow:hidden; }
  .wpe-products-section .wpe-section-heading { padding-right:18px; }
  .wpe-product-scroller { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding-right:18px; scrollbar-width:none; }
  .wpe-product-scroller::-webkit-scrollbar { display:none; }
  .wpe-product-card { flex:0 0 68%; scroll-snap-align:start; }
  .wpe-product-card:nth-child(n) { display:block; }
  .wpe-product-card h3 { min-height:auto; }

  .wpe-promo { grid-template-columns:1fr; border-radius:26px; }
  .wpe-promo__content, .wpe-promo--reverse .wpe-promo__content { order:2; padding:30px 24px 34px; }
  .wpe-promo__image, .wpe-promo--reverse .wpe-promo__image { order:1; min-height:300px; margin:10px; border-radius:19px; }
  .wpe-promo__content h2 { font-size:4rem; }
  .wpe-promo__content .rte { font-size:1.45rem; }

  .wpe-store-feature { grid-template-columns:1fr; border-radius:26px; }
  .wpe-store-feature__image { min-height:330px; }
  .wpe-store-feature__content { padding:32px 24px 36px; }
  .wpe-store-feature__content h2 { font-size:4rem; }
  .wpe-store-feature__facts { gap:9px; }
  .wpe-store-fact { padding:12px; }

  .wpe-advice-grid { grid-template-columns:1fr; gap:12px; }
  .wpe-advice-card { display:grid; grid-template-columns:120px 1fr; border-radius:18px; }
  .wpe-advice-card__image { aspect-ratio:auto; min-height:150px; }
  .wpe-advice-card__content { padding:16px; }
  .wpe-advice-card h3 { font-size:1.55rem; }

  .wpe-footer { margin-top:30px; }
  .wpe-footer__top { grid-template-columns:1fr; gap:28px; padding:42px 0 30px; }
  .wpe-footer__brand { text-align:center; }
  .wpe-footer__logo { justify-content:center; }
  .wpe-footer__brand > p { margin:14px auto; }
  .wpe-footer__social { justify-content:center !important; }
  .wpe-footer__desktop-columns { display:none; }
  .wpe-footer__mobile-columns { display:grid; }
  .wpe-footer__mobile-columns details { border-top:1px solid rgba(255,255,255,.12); }
  .wpe-footer__mobile-columns summary { min-height:50px; display:flex; justify-content:space-between; align-items:center; color:#fff; font-weight:800; list-style:none; }
  .wpe-footer__mobile-columns summary::-webkit-details-marker { display:none; }
  .wpe-footer__mobile-columns ul { list-style:none; padding:0 0 16px; margin:0; display:grid; gap:8px; }
  .wpe-footer__mobile-columns details > div { padding-bottom:16px; }
  .wpe-footer__bottom { min-height:auto; padding:20px 0 26px; display:grid; justify-items:center; text-align:center; }
  .wpe-footer__payments { margin-left:0; justify-content:center; }
}
.wpe-announcement-section { position: sticky; top: 0; z-index: 51; }
.wpe-footer__logo img { filter: none; background: #fff; border-radius: 10px; padding: 4px; }

/* ==========================================================
   WPE v3 homepage refinement
   Promotional banner first visually, crawler-first intro in DOM
   ========================================================== */
body { background:#f0ebe3; }
.wpe-home-lead-section { padding-top:14px; padding-bottom:22px; }
.wpe-home-lead { display:flex; flex-direction:column; }

/* The intro is first in source order, but deliberately presented after hero + trust. */
.wpe-home-intro { order:3; margin-top:18px; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(28px,5vw,76px); align-items:center; padding:30px clamp(28px,4vw,54px); background:rgba(255,253,249,.72); border:1px solid rgba(88,1,118,.08); border-radius:24px; }
.wpe-home-intro__heading h1 { margin:0; font-size:clamp(3.5rem,3.6vw,5rem); line-height:1.02; max-width:13ch; }
.wpe-home-intro__body { color:var(--wpe-muted); font-size:1.48rem; line-height:1.65; max-width:76rem; }
.wpe-home-intro__body p { margin:0; }
.wpe-home-intro__links { display:flex; flex-wrap:wrap; gap:22px; margin-top:16px; }

.wpe-banner-frame { order:1; padding:10px; background:var(--wpe-surface); border:1px solid rgba(88,1,118,.14); border-radius:30px; box-shadow:0 18px 55px rgba(55,35,62,.09); }
.wpe-banner-carousel { position:relative; height:clamp(320px,28vw,410px); overflow:hidden; border-radius:21px; background:#ddd4ca; }
.wpe-banner-carousel__slides, .wpe-banner-slide, .wpe-banner-slide__media, .wpe-banner-slide__media picture { position:absolute; inset:0; width:100%; height:100%; display:block; }
.wpe-banner-slide { opacity:0; visibility:hidden; pointer-events:none; transition:opacity .45s ease, visibility .45s ease; }
.wpe-banner-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; z-index:2; }
.wpe-banner-slide__media { background:#e9e2d8; }
.wpe-banner-slide__image { width:100%; height:100%; object-fit:cover; display:block; }
.wpe-banner-slide__placeholder { width:100%; height:100%; display:grid; place-items:center; background:radial-gradient(circle at 76% 32%, rgba(161,207,225,.9), transparent 33%), linear-gradient(120deg,#f6efe4 0%,#e8dce9 55%,#dceef4 100%); color:rgba(88,1,118,.55); font-size:1.4rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.wpe-banner-slide__full-link { position:absolute; inset:0; z-index:1; }
.wpe-banner-slide__content { position:absolute; z-index:3; top:50%; left:clamp(26px,4vw,64px); transform:translateY(-50%); width:min(48rem,42%); padding:clamp(20px,2.3vw,34px); border-radius:22px; }
.wpe-banner-slide--content-center .wpe-banner-slide__content { left:50%; transform:translate(-50%,-50%); text-align:center; }
.wpe-banner-slide--content-right .wpe-banner-slide__content { left:auto; right:clamp(26px,4vw,64px); }
.wpe-banner-slide--light .wpe-banner-slide__content { background:rgba(255,253,249,.9); color:var(--wpe-text); box-shadow:0 14px 40px rgba(34,28,38,.08); backdrop-filter:blur(8px); }
.wpe-banner-slide--dark .wpe-banner-slide__content { background:rgba(31,24,34,.82); color:#fff; box-shadow:0 14px 40px rgba(0,0,0,.16); backdrop-filter:blur(8px); }
.wpe-banner-slide--dark .wpe-banner-slide__content h2, .wpe-banner-slide--dark .wpe-banner-slide__content .rte { color:#fff; }
.wpe-banner-slide--dark .wpe-banner-slide__content .wpe-eyebrow { color:#d9b7e3; }
.wpe-banner-slide--none .wpe-banner-slide__content { padding:0; color:#fff; text-shadow:0 2px 22px rgba(0,0,0,.35); }
.wpe-banner-slide--none .wpe-banner-slide__content h2, .wpe-banner-slide--none .wpe-banner-slide__content .rte { color:inherit; }
.wpe-banner-slide--none .wpe-banner-slide__content .wpe-eyebrow { color:#fff; }
.wpe-banner-slide__content h2 { margin:0; font-size:clamp(3.2rem,3.4vw,5rem); line-height:1; max-width:13ch; }
.wpe-banner-slide--content-center .wpe-banner-slide__content h2 { margin-inline:auto; }
.wpe-banner-slide__content .rte { margin-top:12px; color:var(--wpe-muted); font-size:1.4rem; line-height:1.55; }
.wpe-banner-slide__content .rte p { margin:0; }
.wpe-banner-slide__content .wpe-button { margin-top:20px; position:relative; z-index:4; }
.wpe-banner-arrow { position:absolute; z-index:5; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%; border:1px solid rgba(35,29,38,.16); background:rgba(255,253,249,.9); color:var(--wpe-text); display:grid; place-items:center; font-size:2.8rem; line-height:1; cursor:pointer; box-shadow:0 8px 24px rgba(38,27,42,.08); backdrop-filter:blur(8px); }
.wpe-banner-arrow--prev { left:15px; }
.wpe-banner-arrow--next { right:15px; }
.wpe-banner-dots { position:absolute; z-index:5; left:50%; bottom:14px; transform:translateX(-50%); display:flex; gap:7px; padding:7px 9px; border-radius:999px; background:rgba(255,253,249,.82); backdrop-filter:blur(7px); }
.wpe-banner-dot { width:7px; height:7px; padding:0; border:0; border-radius:50%; background:rgba(37,35,42,.25); cursor:pointer; }
.wpe-banner-dot.is-active { width:20px; border-radius:999px; background:var(--wpe-purple); }

.wpe-trust-strip { order:2; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:10px; background:var(--wpe-surface); border:1px solid rgba(88,1,118,.10); border-radius:20px; overflow:hidden; box-shadow:0 8px 28px rgba(55,35,62,.035); }
.wpe-trust-item { min-height:68px; display:flex; align-items:center; justify-content:center; gap:12px; padding:10px 18px; border-right:1px solid var(--wpe-line); }
.wpe-trust-item:last-child { border-right:0; }
.wpe-trust-item__icon { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto; color:var(--wpe-purple); background:var(--wpe-lilac); }
.wpe-trust-item__icon svg { width:19px; height:19px; }
.wpe-trust-item__copy strong, .wpe-trust-item__copy small { display:block; }
.wpe-trust-item__copy strong { font-size:1.2rem; line-height:1.2; }
.wpe-trust-item__copy small { margin-top:3px; color:var(--wpe-muted); font-size:1.05rem; line-height:1.25; }

/* Slightly tighter section rhythm below the lead area. */
.wpe-pets-section { padding-top:28px; }
.wpe-products-section { padding-top:28px; padding-bottom:28px; }
.wpe-products-section--light .wpe-shell { background:var(--wpe-surface); }
.wpe-products-section--blue .wpe-shell { background:#eaf3f6; }
.wpe-products-section--lilac .wpe-shell { background:#f1e9f4; }
.wpe-products-section--blue .wpe-product-card, .wpe-products-section--lilac .wpe-product-card { background:rgba(255,253,249,.76); }

/* More compact location treatment with map and supporting photography. */
.wpe-location-feature { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.95fr) minmax(210px,.62fr); min-height:350px; background:#241d28; color:rgba(255,255,255,.78); border-radius:30px; overflow:hidden; border:1px solid rgba(88,1,118,.16); box-shadow:0 18px 48px rgba(44,28,50,.08); }
.wpe-location-feature__content { padding:clamp(30px,3.2vw,48px); align-self:center; }
.wpe-location-feature__content .wpe-eyebrow { color:#d8b9e1; }
.wpe-location-feature__content h2 { color:#fff; margin:0; font-size:clamp(3.1rem,3.5vw,4.9rem); line-height:1.02; max-width:12ch; }
.wpe-location-feature__content .rte { margin-top:14px; max-width:55rem; font-size:1.35rem; line-height:1.6; color:rgba(255,255,255,.68); }
.wpe-location-feature__content .rte p { margin:0; }
.wpe-location-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:22px; }
.wpe-location-details > div { min-width:0; padding-top:11px; border-top:1px solid rgba(255,255,255,.16); }
.wpe-location-details span, .wpe-location-details strong { display:block; }
.wpe-location-details span { color:rgba(255,255,255,.5); font-size:1rem; text-transform:uppercase; letter-spacing:.09em; }
.wpe-location-details strong { margin-top:5px; color:#fff; font-size:1.1rem; line-height:1.35; }
.wpe-location-details a { color:inherit; text-decoration:none; }
.wpe-button--light { background:#fff; color:var(--wpe-purple); border-color:#fff; }
.wpe-button--light:hover { color:var(--wpe-purple-dark); background:#f8f2fb; }
.wpe-location-feature__map { margin:12px 0 12px 12px; overflow:hidden; border-radius:20px; min-height:326px; background:#eee; }
.wpe-location-feature__map iframe { display:block; width:100%; height:100%; min-height:326px; }
.wpe-location-feature__image { margin:12px; min-height:326px; overflow:hidden; border-radius:20px; background:#332d35; }
.wpe-location-feature__image img, .wpe-location-feature__image svg { width:100%; height:100%; min-height:326px; object-fit:cover; display:block; }

@media screen and (max-width: 1100px) {
  .wpe-location-feature { grid-template-columns:minmax(0,1fr) minmax(300px,.9fr); }
  .wpe-location-feature__image { display:none; }
  .wpe-location-feature__map { margin-right:12px; }
}

@media screen and (max-width: 749px) {
  body { background:#f2ede6; }
  .wpe-home-lead-section { padding-top:8px; padding-bottom:16px; }
  .wpe-banner-frame { padding:6px; border-radius:21px; }
  .wpe-banner-carousel { height:250px; border-radius:16px; }
  .wpe-banner-slide__content { left:16px; right:auto; width:min(78%,32rem); padding:17px; border-radius:16px; }
  .wpe-banner-slide--content-right .wpe-banner-slide__content { left:auto; right:16px; }
  .wpe-banner-slide--content-center .wpe-banner-slide__content { left:50%; right:auto; width:min(82%,32rem); }
  .wpe-banner-slide__content h2 { font-size:2.7rem; }
  .wpe-banner-slide__content .rte { display:none; }
  .wpe-banner-slide__content .wpe-button { min-height:40px; margin-top:13px; padding-inline:14px; font-size:1.12rem; }
  .wpe-banner-arrow { width:34px; height:34px; font-size:2.2rem; }
  .wpe-banner-arrow--prev { left:8px; }
  .wpe-banner-arrow--next { right:8px; }
  .wpe-banner-dots { bottom:8px; padding:6px 8px; }

  .wpe-trust-strip { grid-template-columns:repeat(2,minmax(0,1fr)); border-radius:16px; }
  .wpe-trust-item { min-height:64px; justify-content:flex-start; padding:10px 12px; border-right:1px solid var(--wpe-line); border-bottom:1px solid var(--wpe-line); }
  .wpe-trust-item:nth-child(2n) { border-right:0; }
  .wpe-trust-item:nth-last-child(-n+2) { border-bottom:0; }
  .wpe-trust-item__icon { width:31px; height:31px; }
  .wpe-trust-item__copy strong { font-size:1.08rem; }
  .wpe-trust-item__copy small { font-size:.95rem; }

  .wpe-home-intro { grid-template-columns:1fr; gap:13px; margin-top:12px; padding:24px 20px; border-radius:18px; }
  .wpe-home-intro__heading h1 { font-size:3.3rem; max-width:12ch; }
  .wpe-home-intro__body { font-size:1.34rem; }
  .wpe-home-intro__links { gap:15px; margin-top:13px; }

  .wpe-pets-section { padding-top:20px; }
  .wpe-products-section { padding-top:20px; padding-bottom:20px; }

  .wpe-location-feature { grid-template-columns:1fr; min-height:auto; border-radius:24px; }
  .wpe-location-feature__content { padding:28px 22px 24px; }
  .wpe-location-feature__content h2 { font-size:3.5rem; max-width:12ch; }
  .wpe-location-details { grid-template-columns:1fr 1fr; gap:10px 16px; }
  .wpe-location-details > div:last-child { grid-column:1 / -1; }
  .wpe-location-feature__map { order:2; min-height:225px; height:225px; margin:0 10px 10px; border-radius:16px; }
  .wpe-location-feature__map iframe { min-height:225px; height:225px; }
  .wpe-location-feature__image { order:3; display:block; min-height:150px; height:150px; margin:0 10px 10px; border-radius:16px; }
  .wpe-location-feature__image img, .wpe-location-feature__image svg { min-height:150px; height:150px; object-position:center 38%; }
}

/* ==========================================================
   WPE v4 refinement
   Responsive promotional artwork, accessibility sizing,
   product carousels, compact 1/3 + 2/3 location, light footer
   ========================================================== */

/* Pure white ecommerce header against the warm page canvas. */
.wpe-header { background:#fff; backdrop-filter:none; }
.wpe-desktop-nav { background:#fff; }

/* Readability: important interface and content text should not rely on tiny type. */
.wpe-announcement { font-size:1.5rem; }
.wpe-header-search input { font-size:1.6rem; }
.wpe-header-search button { font-size:1.5rem; }
.wpe-desktop-nav__item > a,
.wpe-desktop-nav__item summary { font-size:1.6rem; }
.wpe-nav-dropdown__heading,
.wpe-nav-dropdown__all { font-size:1.55rem; }
.wpe-nav-dropdown ul a { font-size:1.5rem; }
.wpe-text-link { font-size:1.5rem; }
.wpe-button { font-size:1.5rem; }
.wpe-section-heading__text { font-size:1.6rem; line-height:1.6; }
.wpe-home-intro__body { font-size:1.65rem; }
.wpe-trust-item__copy strong { font-size:1.5rem; }
.wpe-trust-item__copy small { font-size:1.45rem; }
.wpe-pet-card__label { font-size:1.55rem; }
.wpe-product-card__vendor { font-size:1.4rem; }
.wpe-product-card h3 { font-size:1.7rem; }
.wpe-product-card__price { font-size:1.6rem; }
.wpe-product-card__price s { font-size:1.4rem; }
.wpe-advice-card__content > p { font-size:1.4rem; }
.wpe-advice-card h3 { font-size:2rem; }

/* Promotional hero uses explicit art-directed aspect ratios instead of a fixed height.
   Recommended exports: desktop 1920x600, tablet 1200x600, mobile 1080x1350. */
.wpe-banner-carousel { height:auto; aspect-ratio:3.2 / 1; }
.wpe-banner-slide__media { background:var(--wpe-banner-bg, #fff); }
.wpe-banner-slide--fit-contain .wpe-banner-slide__image { object-fit:contain; }
.wpe-banner-slide--fit-cover .wpe-banner-slide__image { object-fit:cover; }
.wpe-banner-slide__content { width:min(50rem,38%); padding:clamp(24px,2.5vw,38px); border-radius:24px; }
.wpe-banner-slide--light .wpe-banner-slide__content { background:rgba(255,255,255,.94); border:1px solid rgba(88,1,118,.08); }
.wpe-banner-slide__content .rte { font-size:1.6rem; }
.wpe-banner-slide__content h2 { font-size:clamp(3.4rem,3.3vw,5.2rem); }
.wpe-banner-frame { background:#fff; border-color:rgba(88,1,118,.12); }

/* Product sections are true horizontal sliders at every breakpoint. */
.wpe-slider-heading-actions { display:flex; align-items:center; gap:18px; flex:0 0 auto; }
.wpe-slider-arrows { display:flex; gap:8px; }
.wpe-slider-arrow { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--wpe-line); background:#fff; color:var(--wpe-text); cursor:pointer; font-size:2.4rem; line-height:1; transition:background .2s ease, color .2s ease, opacity .2s ease; }
.wpe-slider-arrow:hover:not(:disabled) { background:var(--wpe-purple); color:#fff; }
.wpe-slider-arrow:disabled { opacity:.3; cursor:default; }
.wpe-product-scroller { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; gap:18px; scrollbar-width:none; overscroll-behavior-inline:contain; }
.wpe-product-scroller::-webkit-scrollbar { display:none; }
.wpe-product-card { flex:0 0 calc((100% - 54px) / 4); scroll-snap-align:start; }
.wpe-product-card:nth-child(n) { display:block; }

/* 1/3 image + 2/3 content/map location composition. */
.wpe-location-feature { display:grid; grid-template-columns:minmax(260px,1fr) minmax(0,2fr); min-height:0; background:#29212e; border-radius:30px; overflow:hidden; color:rgba(255,255,255,.8); border:1px solid rgba(88,1,118,.14); box-shadow:0 16px 45px rgba(44,28,50,.07); }
.wpe-location-feature__image { margin:0; min-height:460px; height:100%; border-radius:0; background:#332d35; }
.wpe-location-feature__image img,
.wpe-location-feature__image svg { width:100%; height:100%; min-height:460px; object-fit:cover; object-position:center; display:block; }
.wpe-location-feature__right { min-width:0; display:grid; grid-template-rows:auto minmax(245px,1fr); }
.wpe-location-feature__content { padding:28px 32px 20px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr) auto; gap:26px; align-items:end; }
.wpe-location-feature__copy { align-self:start; }
.wpe-location-feature__content .wpe-eyebrow { color:#d8b9e1; }
.wpe-location-feature__content h2 { color:#fff; margin:0; font-size:clamp(3rem,3vw,4.5rem); line-height:1.03; max-width:18ch; }
.wpe-location-feature__content .rte { margin-top:10px; max-width:66rem; font-size:1.55rem; line-height:1.55; color:rgba(255,255,255,.72); }
.wpe-location-feature__content .rte p { margin:0; }
.wpe-location-details { display:grid; grid-template-columns:1fr .72fr 1.25fr; gap:14px; margin:0; align-self:end; }
.wpe-location-details > div { padding-top:10px; border-top:1px solid rgba(255,255,255,.18); }
.wpe-location-details span { color:rgba(255,255,255,.58); font-size:1.35rem; letter-spacing:.07em; }
.wpe-location-details strong { margin-top:4px; color:#fff; font-size:1.45rem; line-height:1.4; }
.wpe-location-feature__button { align-self:end; white-space:nowrap; }
.wpe-location-feature__map { margin:0 14px 14px 0; min-height:245px; height:245px; border-radius:20px; overflow:hidden; background:#eee; }
.wpe-location-feature__map iframe { display:block; width:100%; height:245px; min-height:245px; }

/* Lighter footer aligns with the soft retail system instead of feeling like a separate dark site. */
.wpe-footer { margin-top:42px; padding:36px 0 0; background:#eee7f1; color:#544b57; border-top:1px solid rgba(88,1,118,.08); }
.wpe-footer a { color:inherit; }
.wpe-footer a:hover { color:var(--wpe-purple); }
.wpe-footer__top { grid-template-columns:1fr 2.25fr; gap:54px; padding:42px 46px; background:rgba(255,255,255,.66); border:1px solid rgba(88,1,118,.09); border-radius:30px; }
.wpe-footer__logo { color:var(--wpe-text); }
.wpe-footer__logo img { max-width:220px; max-height:80px; filter:none; background:#fff; border-radius:12px; padding:5px; }
.wpe-footer__brand > p { font-size:1.55rem; line-height:1.6; color:#615967; }
.wpe-footer__column h3 { color:var(--wpe-purple); font-size:1.6rem; }
.wpe-footer__column li,
.wpe-footer__column p { font-size:1.5rem; }
.wpe-footer__bottom { min-height:78px; color:#5f5663; border-top:0; font-size:1.4rem; }
.wpe-footer__social { color:var(--wpe-purple); }

@media screen and (max-width: 1100px) and (min-width: 750px) {
  .wpe-banner-carousel { aspect-ratio:2 / 1; }
  .wpe-banner-slide__content { width:min(46rem,46%); }
  .wpe-product-card { flex-basis:calc((100% - 36px) / 3); }
  .wpe-location-feature { grid-template-columns:minmax(240px,.85fr) minmax(0,2fr); }
  .wpe-location-feature__image { display:block; min-height:500px; }
  .wpe-location-feature__image img,
  .wpe-location-feature__image svg { min-height:500px; }
  .wpe-location-feature__content { grid-template-columns:1fr; gap:16px; padding:26px 28px 18px; }
  .wpe-location-details { grid-template-columns:1fr .7fr 1.25fr; }
  .wpe-location-feature__button { width:max-content; }
  .wpe-location-feature__map { margin-right:12px; }
}

@media screen and (max-width: 749px) {
  .wpe-announcement { font-size:1.35rem; }
  .wpe-header-search input { font-size:1.6rem; }
  .wpe-mobile-nav a,
  .wpe-mobile-nav summary { font-size:1.6rem; }
  .wpe-mobile-nav ul a { font-size:1.5rem; }
  .wpe-mobile-menu__contact { font-size:1.45rem; }
  .wpe-eyebrow { font-size:1.3rem; }
  .wpe-text-link { font-size:1.5rem; }
  .wpe-button { font-size:1.5rem; }

  .wpe-banner-carousel { height:auto; aspect-ratio:4 / 5; }
  .wpe-banner-slide__content { width:min(86%,35rem); padding:20px; }
  .wpe-banner-slide__content h2 { font-size:3rem; }
  .wpe-banner-slide__content .rte { display:block; font-size:1.5rem; line-height:1.5; }
  .wpe-banner-arrow { width:38px; height:38px; }

  .wpe-trust-item__copy strong { font-size:1.45rem; }
  .wpe-trust-item__copy small { font-size:1.35rem; }
  .wpe-home-intro__body { font-size:1.6rem; }
  .wpe-pet-card__label { font-size:1.5rem; }

  .wpe-slider-heading-actions .wpe-text-link { display:none; }
  .wpe-slider-arrows { display:flex; }
  .wpe-slider-arrow { width:40px; height:40px; }
  .wpe-product-card { flex:0 0 66%; }
  .wpe-product-card h3 { font-size:1.65rem; }

  .wpe-location-feature { grid-template-columns:1fr; border-radius:24px; }
  .wpe-location-feature__image { min-height:240px; height:240px; order:1; }
  .wpe-location-feature__image img,
  .wpe-location-feature__image svg { min-height:240px; height:240px; object-position:center 38%; }
  .wpe-location-feature__right { order:2; display:block; }
  .wpe-location-feature__content { display:block; padding:28px 22px 20px; }
  .wpe-location-feature__content h2 { font-size:3.4rem; max-width:15ch; }
  .wpe-location-feature__content .rte { font-size:1.55rem; }
  .wpe-location-details { grid-template-columns:1fr 1fr; gap:12px 16px; margin-top:20px; }
  .wpe-location-details > div:last-child { grid-column:1 / -1; }
  .wpe-location-details span { font-size:1.25rem; }
  .wpe-location-details strong { font-size:1.4rem; }
  .wpe-location-feature__button { margin-top:20px; }
  .wpe-location-feature__map { height:230px; min-height:230px; margin:0 10px 10px; border-radius:16px; }
  .wpe-location-feature__map iframe { height:230px; min-height:230px; }

  .wpe-footer { margin-top:30px; padding-top:20px; }
  .wpe-footer__top { padding:30px 20px 20px; border-radius:24px; }
  .wpe-footer__brand > p { font-size:1.5rem; }
  .wpe-footer__mobile-columns details { border-top:1px solid rgba(88,1,118,.13); }
  .wpe-footer__mobile-columns summary { color:var(--wpe-purple); font-size:1.6rem; }
  .wpe-footer__mobile-columns ul a,
  .wpe-footer__mobile-columns details > div { font-size:1.5rem; }
  .wpe-footer__bottom { font-size:1.35rem; }
}

/* ==========================================================
   WPE v5 layout refinement
   Centred desktop search, consistent product merchandising,
   improved location information hierarchy, neutral footer.
   ========================================================== */

/* Centre the search to the viewport on wide desktop, rather than centring
   it only in the leftover space between the logo and account controls. */
@media screen and (min-width: 1201px) {
  .wpe-header__top {
    position:relative;
    grid-template-columns:minmax(200px,260px) 1fr auto;
  }
  .wpe-header__top > .wpe-header-search {
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:min(48vw,820px);
    z-index:2;
  }
}

/* Keep merchandising sections visually consistent. Colour is reserved for
   promotional/editorial modules where it has more impact. */
.wpe-products-section--light .wpe-shell,
.wpe-products-section--blue .wpe-shell,
.wpe-products-section--lilac .wpe-shell {
  background:#fff;
}
.wpe-products-section--blue .wpe-product-card,
.wpe-products-section--lilac .wpe-product-card {
  background:#f7f4ef;
}

/* Location: 1/3 image + 2/3 information. The copy spans the entire content
   column, then contact details/button form their own row above a padded map. */
.wpe-location-feature {
  grid-template-columns:minmax(270px,1fr) minmax(0,2fr);
  min-height:0;
}
.wpe-location-feature__image {
  min-height:455px;
}
.wpe-location-feature__image img,
.wpe-location-feature__image svg {
  min-height:455px;
  object-position:center 40%;
}
.wpe-location-feature__right {
  min-width:0;
  display:grid;
  grid-template-rows:auto 245px;
  padding:0 22px 22px 30px;
}
.wpe-location-feature__content {
  display:block;
  padding:30px 0 22px;
}
.wpe-location-feature__copy {
  width:100%;
}
.wpe-location-feature__content h2 {
  max-width:none;
  font-size:clamp(3.1rem,2.8vw,4.35rem);
}
.wpe-location-feature__content .rte {
  max-width:82rem;
  margin-top:12px;
}
.wpe-location-feature__meta {
  display:flex;
  align-items:flex-end;
  gap:24px;
  margin-top:24px;
}
.wpe-location-details {
  flex:1 1 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(120px,.72fr) minmax(0,1.35fr);
  gap:18px;
  margin:0;
}
.wpe-location-details > div {
  padding-top:11px;
}
.wpe-location-details span {
  font-size:1.35rem;
}
.wpe-location-details strong {
  font-size:1.5rem;
}
.wpe-location-feature__button {
  flex:0 0 auto;
  margin:0;
  white-space:nowrap;
}
.wpe-location-feature__map {
  margin:0;
  min-height:245px;
  height:245px;
  border-radius:20px;
}
.wpe-location-feature__map iframe {
  min-height:245px;
  height:245px;
}

/* Footer: keep it modern and useful, but deliberately quieter than the
   homepage. It now behaves like the clean white navigation rather than a
   large decorative homepage card. */
.wpe-footer {
  margin-top:48px;
  padding:0;
  background:#fff;
  color:#554f58;
  border-top:1px solid rgba(42,34,45,.10);
}
.wpe-footer__top {
  display:grid;
  grid-template-columns:minmax(240px,.9fr) minmax(0,2.1fr);
  gap:72px;
  padding:54px 0 44px;
  background:transparent;
  border:0;
  border-radius:0;
}
.wpe-footer__logo img {
  max-width:220px;
  max-height:82px;
  background:transparent;
  border-radius:0;
  padding:0;
}
.wpe-footer__brand > p {
  max-width:34rem;
  color:#655f68;
  font-size:1.55rem;
}
.wpe-footer__desktop-columns {
  gap:48px;
}
.wpe-footer__column h3 {
  color:#29232c;
  font-size:1.6rem;
  margin-bottom:18px;
}
.wpe-footer__column li,
.wpe-footer__column p {
  font-size:1.5rem;
}
.wpe-footer__bottom {
  min-height:76px;
  color:#665f69;
  border-top:1px solid rgba(42,34,45,.09);
  font-size:1.4rem;
}
.wpe-footer__social { color:var(--wpe-purple); }

@media screen and (max-width: 1100px) and (min-width: 750px) {
  .wpe-location-feature { grid-template-columns:minmax(230px,.82fr) minmax(0,2fr); }
  .wpe-location-feature__image,
  .wpe-location-feature__image img,
  .wpe-location-feature__image svg { min-height:505px; }
  .wpe-location-feature__right { padding-left:24px; padding-right:16px; padding-bottom:16px; }
  .wpe-location-feature__content { padding-top:26px; }
  .wpe-location-feature__meta { display:block; margin-top:20px; }
  .wpe-location-details { grid-template-columns:1fr .72fr 1.25fr; }
  .wpe-location-feature__button { margin-top:18px; }
  .wpe-footer__top { grid-template-columns:1fr 2fr; gap:42px; }
  .wpe-footer__desktop-columns { gap:28px; }
}

@media screen and (max-width: 749px) {
  .wpe-location-feature__image {
    min-height:230px;
    height:230px;
  }
  .wpe-location-feature__image img,
  .wpe-location-feature__image svg {
    min-height:230px;
    height:230px;
  }
  .wpe-location-feature__right {
    display:block;
    padding:0;
  }
  .wpe-location-feature__content {
    padding:28px 22px 22px;
  }
  .wpe-location-feature__meta {
    display:block;
    margin-top:20px;
  }
  .wpe-location-details {
    grid-template-columns:1fr 1fr;
    gap:12px 16px;
  }
  .wpe-location-details > div:last-child { grid-column:1 / -1; }
  .wpe-location-feature__button { margin-top:20px; }
  .wpe-location-feature__map {
    margin:0 12px 12px;
    height:230px;
    min-height:230px;
  }
  .wpe-location-feature__map iframe {
    height:230px;
    min-height:230px;
  }

  .wpe-footer { margin-top:34px; padding:0; }
  .wpe-footer__top {
    padding:38px 0 24px;
    background:transparent;
    border-radius:0;
  }
  .wpe-footer__mobile-columns details { border-top:1px solid rgba(42,34,45,.10); }
  .wpe-footer__mobile-columns summary { color:#29232c; }
  .wpe-footer__bottom { padding:22px 0 28px; }
}


/* ==========================================================
   WPE V6 — navigation, collection/filter and product UX
   ========================================================== */

/* Desktop navigation opens on hover/focus and closes immediately when the
   pointer leaves, preventing multiple disclosure menus remaining open. */
.wpe-desktop-nav__item { position:static; }
.wpe-desktop-nav__item > .wpe-nav-trigger,
.wpe-desktop-nav__item > a {
  display:flex;
  align-items:center;
  gap:5px;
  min-height:48px;
  color:var(--wpe-text);
  text-decoration:none;
  font-size:1.6rem;
  font-weight:700;
  white-space:nowrap;
}
.wpe-desktop-nav__item.is-current > .wpe-nav-trigger,
.wpe-desktop-nav__item.is-current > a,
.wpe-desktop-nav__item > .wpe-nav-trigger:hover,
.wpe-desktop-nav__item > a:hover { color:var(--wpe-purple); }
.wpe-desktop-nav__item.has-dropdown .wpe-nav-dropdown {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.wpe-desktop-nav__item.has-dropdown:hover .wpe-nav-dropdown,
.wpe-desktop-nav__item.has-dropdown:focus-within .wpe-nav-dropdown {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.wpe-nav-dropdown__livestock {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:-4px 0 18px;
  padding:12px 15px;
  border-radius:12px;
  background:#f3edf6;
  color:var(--wpe-purple);
  font-size:1.5rem;
  font-weight:800;
  text-decoration:none;
}
.wpe-nav-dropdown__livestock:hover { background:#ece1f0; }
.wpe-mobile-nav__livestock > a { color:var(--wpe-purple) !important; font-weight:800 !important; }

/* Collection/archive pages */
.collection-hero__inner { padding-top:34px !important; padding-bottom:24px !important; }
.collection-hero__title { margin:0 !important; }
.collection-hero__description { max-width:78rem; font-size:1.6rem; line-height:1.6; }
#main-collection-filters { margin-top:0; }
.facets-container-drawer {
  padding:0 0 22px;
  border-bottom:1px solid rgba(42,34,45,.10);
  margin-bottom:28px;
}
.facets-container-drawer .mobile-facets__wrapper { flex-grow:0; margin-right:20px; }
.facets-container-drawer .mobile-facets__open-wrapper {
  min-height:46px;
  display:flex;
  align-items:center;
  padding:0 18px;
  background:#fff;
  border:1px solid rgba(88,1,118,.18);
  border-radius:999px;
  color:var(--wpe-purple);
}
.facets-container-drawer .mobile-facets__open { padding:0; color:inherit; font-size:1.5rem; font-weight:800; }
.facets-container-drawer .mobile-facets__open .svg-wrapper { width:18px; height:18px; }
.facets-container-drawer .product-count { margin-left:auto; }
.facets-container-drawer .product-count__text { font-size:1.5rem; }
.facets-container-drawer .facet-filters__label,
.facets-container-drawer .facet-filters__sort { font-size:1.5rem; }
.facets-container-drawer .facet-filters { padding-left:20px; }

/* Force the filter drawer to enter from the left on every breakpoint. */
.facets-container-drawer .mobile-facets__inner {
  margin-left:0;
  margin-right:auto;
  border-width:0 var(--drawer-border-width) 0 0;
  border-radius:0 18px 18px 0;
  max-width:42rem;
}
.js .facets-container-drawer .disclosure-has-popup:not(.menu-opening) .mobile-facets__inner {
  transform:translateX(-105vw);
}
.facets-container-drawer .menu-opening .mobile-facets__inner { transform:translateX(0); }
.facets-container-drawer .mobile-facets__header {
  min-height:76px;
  padding:20px 28px 14px;
  text-align:left;
  background:#fff;
}
.facets-container-drawer .mobile-facets__heading { font-size:2rem; color:var(--wpe-text); }
.facets-container-drawer .mobile-facets__count { font-size:1.4rem; }
.facets-container-drawer .mobile-facets__main { background:#fff; }
.facets-container-drawer .mobile-facets__summary { font-size:1.6rem; }
.facets-container-drawer .mobile-facets__label { font-size:1.5rem; }

/* Equal-height product cards with a consistent image stage. */
#product-grid { align-items:stretch; }
#product-grid > .grid__item { display:flex; }
#product-grid .card-wrapper { display:flex; width:100%; height:100%; }
#product-grid .card {
  width:100%;
  height:100%;
  overflow:hidden;
  border:1px solid rgba(42,34,45,.08);
  border-radius:20px;
  background:#fff;
}
#product-grid .card__inner {
  --ratio-percent:100% !important;
  width:100%;
  background:#fff;
  border-radius:0;
}
#product-grid .card__media,
#product-grid .media { background:#fff; }
#product-grid .media img { object-fit:contain !important; padding:18px; }
#product-grid .card__content { display:flex; flex-direction:column; flex:1 1 auto; }
#product-grid .card__information { display:flex; flex-direction:column; flex:1 1 auto; padding:18px 18px 20px; }
#product-grid .card__heading { font-size:1.7rem; line-height:1.35; }
#product-grid .price { margin-top:auto; padding-top:14px; font-size:1.6rem; }

/* Product page: a deliberate gallery + information layout rather than Dawn's
   stacked media stream. */
.template-product .section-main-product,
.product-section { background:transparent; }
.product:not(.product--no-media) { align-items:start; gap:clamp(32px,4vw,70px); }
.product--medium:not(.product--no-media) .product__media-wrapper { max-width:none; }
.product__media-wrapper,
.product__info-wrapper { min-width:0; }
.product__media-wrapper > media-gallery {
  display:block;
  padding:18px;
  background:#fff;
  border:1px solid rgba(42,34,45,.08);
  border-radius:24px;
}
.product--thumbnail_slider .product__media-list { margin-bottom:16px; }
.product--thumbnail_slider .product__media-list .product__media-item {
  width:100% !important;
  max-width:100% !important;
}
.product__media-list .product__media-item .global-media-settings {
  border:0;
  border-radius:18px;
  background:#fff;
}
.product__media-list .media { background:#fff; }
.product__media-list .media > img { object-fit:contain !important; }
.thumbnail-slider { margin-top:12px; }
.thumbnail-list { gap:10px; }
.thumbnail-list__item.slider__slide { width:82px !important; }
.thumbnail {
  border:1px solid rgba(42,34,45,.12) !important;
  border-radius:12px !important;
  overflow:hidden;
  background:#fff;
}
.thumbnail[aria-current] { box-shadow:0 0 0 2px var(--wpe-purple); border-color:transparent !important; }
.thumbnail img { object-fit:contain; }

.product__info-container {
  padding:30px;
  background:#fff;
  border:1px solid rgba(42,34,45,.08);
  border-radius:24px;
  box-shadow:0 12px 34px rgba(43,32,48,.04);
}
.product__title h1 { font-size:clamp(3.4rem,3.5vw,5.4rem); line-height:1.02; }
.product__info-container .price--large { font-size:2.4rem; }
.product-form__quantity .form__label { font-size:1.5rem; font-weight:700; }
.product-form__quantity .quantity {
  background:#fff;
  border:1px solid rgba(42,34,45,.22);
  border-radius:999px;
  min-height:54px;
}
.product-form__quantity .quantity:before,
.product-form__quantity .quantity:after { display:none; }
.product-form__quantity .quantity__button,
.product-form__quantity .quantity__input { background:#fff; }
.product-form__submit {
  min-height:58px;
  border:0 !important;
  border-radius:999px !important;
  background:var(--wpe-purple) !important;
  color:#fff !important;
  font-size:1.7rem;
  font-weight:800;
  box-shadow:0 10px 24px rgba(88,1,118,.16);
}
.product-form__submit:before,
.product-form__submit:after { display:none !important; }
.product-form__submit:hover { background:#45005d !important; transform:translateY(-1px); }
.product-form__submit[disabled] { opacity:.48; transform:none; }

/* Product-page store information should feel like a useful next step rather
   than a pickup availability drawer. */
.template-product .wpe-location-section { padding-top:28px; }
.template-product .wpe-location-feature { border-radius:24px; }
.template-product .wpe-location-feature__content h2 { font-size:clamp(2.8rem,2.5vw,4rem); }

@media screen and (max-width: 989px) {
  .facets-container-drawer { padding-bottom:16px; }
  .facets-container-drawer .product-count { margin-left:auto; }
  .product__info-container { padding:24px; }
}

@media screen and (max-width: 749px) {
  .collection-hero__inner { padding-top:24px !important; padding-bottom:16px !important; }
  .facets-container-drawer { gap:10px; margin-bottom:20px; }
  .facets-container-drawer .mobile-facets__wrapper { margin-right:0; }
  .facets-container-drawer .mobile-facets__open-wrapper { min-height:44px; padding:0 14px; }
  .facets-container-drawer .product-count { order:3; width:100%; margin:6px 0 0; }
  #product-grid .media img { padding:10px; }
  #product-grid .card__information { padding:14px; }
  #product-grid .card__heading { font-size:1.55rem; }
  .product__media-wrapper > media-gallery { padding:10px; border-radius:18px; }
  .product__info-container { padding:22px 18px; border-radius:20px; }
  .product__title h1 { font-size:3.4rem; }
  .thumbnail-list__item.slider__slide { width:70px !important; }
}


/* V6 collection toolbar ordering: Filter + result count on the left, Sort on the right. */
.facets-container-drawer > .mobile-facets__wrapper { order:1; }
.facets-container-drawer > .product-count { order:2; margin:0 0 0 8px; }
.facets-container-drawer > facet-filters-form.facets:not(.facets-pill) { order:3; margin-left:auto; }
.facets-container-drawer > .facets-pill { order:4; }
@media screen and (max-width:749px) {
  .facets-container-drawer > .product-count { order:2; width:auto; margin:0 0 0 auto; }
}

/* ==========================================================
   WPE V7 — livestock cross-links, editorial pages and site-wide store CTA
   ========================================================== */

/* Related live-animal links inside the relevant animal navigation. */
.wpe-nav-live-group {
  display:flex;
  align-items:center;
  gap:18px;
  margin:-2px 0 20px;
  padding:14px 16px;
  border-radius:14px;
  background:#f3edf6;
}
.wpe-nav-live-group__label {
  flex:0 0 auto;
  color:var(--wpe-purple);
  font-size:1.35rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.wpe-nav-live-group__links { display:flex; flex-wrap:wrap; gap:8px; }
.wpe-nav-live-group__links a {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border-radius:999px;
  background:#fff;
  color:var(--wpe-text);
  font-size:1.45rem;
  font-weight:700;
  text-decoration:none;
  border:1px solid rgba(88,1,118,.09);
}
.wpe-nav-live-group__links a:hover { color:var(--wpe-purple); border-color:rgba(88,1,118,.22); }
.wpe-mobile-nav__live-heading {
  padding:14px 0 5px !important;
  color:var(--wpe-purple);
  font-size:1.25rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Homepage livestock discovery module. */
.wpe-livestock-section { padding-top:28px; padding-bottom:28px; }
.wpe-livestock-panel {
  display:grid;
  grid-template-columns:minmax(220px,.75fr) minmax(0,2.25fr);
  gap:28px;
  align-items:stretch;
  padding:30px;
  border-radius:var(--wpe-radius-lg);
  background:#f1e9f4;
  border:1px solid rgba(88,1,118,.08);
}
.wpe-livestock-panel__intro {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:10px 8px 10px 4px;
}
.wpe-livestock-panel__intro h2 {
  margin:6px 0 12px;
  font-size:clamp(2.7rem,2.7vw,4.2rem);
  line-height:1.05;
}
.wpe-livestock-panel__intro .rte { color:#625968; font-size:1.55rem; line-height:1.55; }
.wpe-livestock-panel__intro .wpe-text-link { margin-top:10px; align-self:flex-start; }
.wpe-livestock-scroller {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.wpe-livestock-card {
  min-width:0;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  color:var(--wpe-text);
  text-decoration:none;
  border:1px solid rgba(42,34,45,.07);
  transition:transform .18s ease, box-shadow .18s ease;
}
.wpe-livestock-card:hover { transform:translateY(-2px); box-shadow:0 12px 26px rgba(55,35,62,.07); }
.wpe-livestock-card__image { aspect-ratio:1.55/1; background:#fff; overflow:hidden; }
.wpe-livestock-card__image img,
.wpe-livestock-card__image svg { width:100%; height:100%; object-fit:cover; display:block; }
.wpe-livestock-card__body { padding:13px 14px 15px; }
.wpe-livestock-card__body strong { display:block; font-size:1.6rem; }
.wpe-livestock-card__body > span { display:flex; justify-content:space-between; gap:8px; margin-top:6px; color:#6d6470; font-size:1.35rem; }
.wpe-livestock-card__body b { color:var(--wpe-purple); }

/* Pet Care: replace the old download list with readable resource cards. */
.wpe-page-feature { padding:40px 0 24px; }
.wpe-page-hero {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);
  gap:24px;
  padding:clamp(28px,4vw,54px);
  background:#fff;
  border:1px solid rgba(42,34,45,.07);
  border-radius:var(--wpe-radius-lg);
}
.wpe-page-hero__copy h1 {
  margin:5px 0 14px;
  font-size:clamp(4rem,5vw,7rem);
  line-height:.98;
}
.wpe-page-hero__copy .rte { max-width:72rem; color:#655e68; font-size:1.75rem; line-height:1.6; }
.wpe-page-hero__aside {
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  padding:24px;
  border-radius:20px;
  background:#f3edf6;
}
.wpe-page-hero__aside > span { color:var(--wpe-purple); font-size:1.35rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.wpe-page-hero__aside strong { font-size:1.8rem; line-height:1.35; }
.wpe-care-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:24px;
}
.wpe-care-card {
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid rgba(42,34,45,.07);
  border-radius:22px;
}
.wpe-care-card__image { aspect-ratio:1.65/1; background:#f7f4ef; overflow:hidden; }
.wpe-care-card__image img,
.wpe-care-card__image svg { width:100%; height:100%; object-fit:cover; display:block; }
.wpe-care-card__body { display:flex; flex-direction:column; flex:1; padding:22px; }
.wpe-care-card__body h2 { margin:0 0 8px; font-size:2.2rem; }
.wpe-care-card__body .rte { color:#655e68; font-size:1.55rem; }
.wpe-care-card__downloads { display:grid; gap:8px; margin-top:auto; padding-top:18px; }
.wpe-care-card__downloads a {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  min-height:46px;
  padding:10px 13px;
  border-radius:12px;
  background:#f6f1f7;
  color:var(--wpe-text);
  text-decoration:none;
  font-size:1.45rem;
  font-weight:700;
}
.wpe-care-card__downloads a:hover { background:#eee3f1; color:var(--wpe-purple); }
.wpe-care-card__downloads a span:last-child { color:var(--wpe-purple); font-size:1.8rem; }

/* About page: homepage-style composition without turning it into another home page. */
.wpe-about-page { padding-left:0; padding-right:0; }
.wpe-about-hero {
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  min-height:460px;
  overflow:hidden;
  border-radius:var(--wpe-radius-lg);
  background:#fff;
  border:1px solid rgba(42,34,45,.07);
}
.wpe-about-hero__image { min-height:460px; }
.wpe-about-hero__image img { width:100%; height:100%; min-height:460px; object-fit:cover; display:block; }
.wpe-about-hero__copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(34px,5vw,72px);
}
.wpe-about-hero__copy h1 { margin:5px 0 16px; font-size:clamp(4rem,5vw,7rem); line-height:.98; }
.wpe-about-hero__lead { margin:0; color:#615963; font-size:1.85rem; line-height:1.6; max-width:66rem; }
.wpe-about-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:26px; }
.wpe-about-layout {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);
  gap:24px;
  align-items:start;
  margin-top:24px;
}
.wpe-about-content,
.wpe-about-aside {
  padding:clamp(26px,3.5vw,48px);
  background:#fff;
  border:1px solid rgba(42,34,45,.07);
  border-radius:24px;
}
.wpe-about-content { font-size:1.65rem; line-height:1.72; }
.wpe-about-content > p:first-child:has(img),
.wpe-about-content > img:first-child { display:none; }
.wpe-about-content img:first-of-type { display:none; }
.wpe-about-content h2,
.wpe-about-content h3 { margin-top:36px; color:var(--wpe-text); }
.wpe-about-content h3 { padding-top:28px; border-top:1px solid rgba(42,34,45,.1); font-size:2.5rem; }
.wpe-about-aside { position:sticky; top:170px; background:#f3edf6; }
.wpe-about-aside h2 { margin:5px 0 20px; font-size:clamp(2.4rem,2.6vw,3.6rem); line-height:1.08; }
.wpe-about-points { display:grid; gap:10px; }
.wpe-about-points > div { padding:16px; background:#fff; border-radius:14px; }
.wpe-about-points strong { display:block; margin-bottom:5px; color:var(--wpe-purple); font-size:1.55rem; }
.wpe-about-points span { display:block; color:#625b65; font-size:1.45rem; line-height:1.5; }

/* Keep accelerated checkout available while retaining Add to Cart as the
   clearest store-branded action. */
.product-form__buttons .shopify-payment-button { margin-top:12px; }
.product-form__buttons .shopify-payment-button__button {
  min-height:52px !important;
  border-radius:999px !important;
  overflow:hidden;
}
.product-form__buttons .shopify-payment-button__button--unbranded {
  background:#fff !important;
  color:var(--wpe-purple) !important;
  border:1px solid rgba(88,1,118,.24) !important;
  box-shadow:none !important;
}

@media screen and (max-width: 989px) {
  .wpe-livestock-panel { grid-template-columns:1fr; }
  .wpe-livestock-panel__intro { max-width:72rem; }
  .wpe-care-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wpe-about-layout { grid-template-columns:1fr; }
  .wpe-about-aside { position:static; }
}

@media screen and (max-width: 749px) {
  .wpe-nav-live-group { display:block; margin:8px 0 14px; padding:12px; }
  .wpe-nav-live-group__links { margin-top:8px; }
  .wpe-livestock-section { padding-top:20px; padding-bottom:20px; }
  .wpe-livestock-panel { padding:22px 0 22px 18px; border-radius:26px 0 0 26px; margin-left:12px; overflow:hidden; }
  .wpe-livestock-panel__intro { padding:0 20px 2px 0; }
  .wpe-livestock-scroller { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding-right:18px; scrollbar-width:none; }
  .wpe-livestock-scroller::-webkit-scrollbar { display:none; }
  .wpe-livestock-card { flex:0 0 68%; scroll-snap-align:start; }

  .wpe-page-feature { padding-top:20px; }
  .wpe-page-hero { grid-template-columns:1fr; padding:26px 22px; border-radius:22px; }
  .wpe-page-hero__copy h1 { font-size:4rem; }
  .wpe-page-hero__copy .rte { font-size:1.65rem; }
  .wpe-page-hero__aside { padding:18px; }
  .wpe-care-grid { grid-template-columns:1fr; gap:14px; margin-top:14px; }
  .wpe-care-card__body { padding:18px; }

  .wpe-about-hero { grid-template-columns:1fr; min-height:0; border-radius:22px; }
  .wpe-about-hero__image,
  .wpe-about-hero__image img { min-height:260px; height:260px; }
  .wpe-about-hero__copy { padding:28px 22px 32px; }
  .wpe-about-hero__copy h1 { font-size:4rem; }
  .wpe-about-hero__lead { font-size:1.65rem; }
  .wpe-about-layout { gap:14px; margin-top:14px; }
  .wpe-about-content,
  .wpe-about-aside { padding:22px 18px; border-radius:20px; }
  .wpe-about-content { font-size:1.6rem; }
}


/* ==========================================================
   WPE V8 — compact livestock carousel, flat filter drawer,
   restored archive cards, tighter product gallery + details
   ========================================================== */

/* Livestock: keep the strong editorial treatment, but make the category area
   a single-row carousel so it does not dominate the homepage vertically. */
.wpe-livestock-panel {
  grid-template-columns:minmax(230px,.72fr) minmax(0,2.28fr);
  align-items:center;
  padding:24px 26px;
}
.wpe-livestock-panel__intro { padding:2px 4px; }
.wpe-livestock-panel__intro h2 { font-size:clamp(2.6rem,2.4vw,3.8rem); margin-bottom:9px; }
.wpe-livestock-panel__intro .rte { font-size:1.5rem; line-height:1.5; }
.wpe-livestock-panel__actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; }
.wpe-livestock-panel__actions .wpe-slider-arrows { flex:0 0 auto; }
.wpe-livestock-scroller {
  display:flex;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:2px 2px 6px;
}
.wpe-livestock-scroller::-webkit-scrollbar { display:none; }
.wpe-livestock-card { flex:0 0 clamp(190px,22%,235px); scroll-snap-align:start; }
.wpe-livestock-card__image { aspect-ratio:1.7/1; }
.wpe-livestock-card__body { padding:11px 13px 13px; }
.wpe-livestock-card__body strong { font-size:1.5rem; }
.wpe-livestock-card__body > span { margin-top:4px; font-size:1.3rem; }

/* Archive cards: V7's flex rule overrode Dawn's built-in rule that hides the
   duplicate title inside the media stage. Restore that behaviour explicitly. */
#product-grid .card--media > .card__inner .card__information,
#product-grid .card--text > .card__inner .card__information { display:none !important; }
#product-grid .card--text > .card__inner {
  display:block !important;
  position:relative;
  aspect-ratio:1/1;
  background:#fff;
}
#product-grid .card--text > .card__inner::before {
  content:'';
  display:block;
  padding-bottom:100%;
}
#product-grid .card--text > .card__inner::after {
  content:'Image coming soon';
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#8a828d;
  font-size:1.4rem;
  font-weight:700;
}
#product-grid .card--text > .card__inner .card__content { display:none !important; }
#product-grid .card__inner { flex:0 0 auto; }
#product-grid .card__content { min-height:0; }

/* Filter drawer: one click opens the filter panel and all filter controls are
   visible at once. No second navigation layer for Availability, Price, etc. */
.facets-container-drawer .mobile-facets__main.has-submenu {
  overflow-y:auto;
  overflow-x:hidden;
  padding:8px 24px 110px;
}
.facets-container-drawer .mobile-facets__details {
  display:block;
  padding:20px 0;
  border-bottom:1px solid rgba(42,34,45,.10);
}
.facets-container-drawer .mobile-facets__details > .mobile-facets__summary {
  padding:0 0 13px;
  pointer-events:none;
  font-size:1.7rem;
  font-weight:800;
  color:var(--wpe-text);
}
.facets-container-drawer .mobile-facets__summary .mobile-facets__arrow { display:none; }
.facets-container-drawer .mobile-facets__submenu {
  position:static !important;
  inset:auto !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  transform:none !important;
  visibility:visible !important;
  background:transparent !important;
  border:0 !important;
}
.facets-container-drawer .mobile-facets__close-button,
.facets-container-drawer .mobile-facets__details > .mobile-facets__submenu > .mobile-facets__footer { display:none !important; }
.facets-container-drawer .mobile-facets__list { padding:0; }
.facets-container-drawer .mobile-facets__label { padding:9px 0; }
.facets-container-drawer .mobile-facets__info { margin:0 0 10px; }
.facets-container-drawer .facets__price { padding:0; }
.facets-container-drawer .mobile-facets__main > .mobile-facets__footer {
  position:sticky;
  bottom:-110px;
  margin:20px -24px -110px;
  padding:16px 24px;
  background:#fff;
  border-top:1px solid rgba(42,34,45,.10);
  z-index:2;
}

/* Product gallery: keep the entire principal image stage and the thumbnail row
   visible together on a normal desktop/laptop viewport. */
@media screen and (min-width: 990px) {
  .product__media-wrapper .product-media-container.constrain-height {
    --constrained-min-height:360px;
    --constrained-height:min(52vh,540px);
    width:100% !important;
    max-width:100% !important;
    height:var(--constrained-height);
  }
  .product__media-wrapper .product-media-container.constrain-height .product__modal-opener,
  .product__media-wrapper .product-media-container.constrain-height .media {
    width:100%;
    height:100%;
  }
  .product__media-wrapper .product-media-container.constrain-height .media { padding-top:0 !important; }
  .product__media-wrapper .product-media-container.constrain-height .media img { object-fit:contain !important; }
  .product--thumbnail_slider .thumbnail-slider { margin-top:10px; }
}

/* Product description now belongs with the product imagery/content, rather
   than interrupting the purchase controls. */
.wpe-product-description {
  margin-top:18px;
  padding:24px 26px;
  background:#fff;
  border:1px solid rgba(42,34,45,.08);
  border-radius:20px;
  color:#5f5862;
  font-size:1.6rem;
  line-height:1.65;
}
.wpe-product-description h2 {
  margin:0 0 12px;
  color:var(--wpe-text);
  font-size:2.2rem;
  line-height:1.15;
}
.wpe-product-description > :last-child { margin-bottom:0; }

/* Make trading hours scan vertically instead of forming one long line. */
.wpe-location-hours { display:grid !important; gap:3px; }
.wpe-location-hours > span { display:block; }

@media screen and (max-width: 989px) {
  .wpe-livestock-panel { grid-template-columns:1fr; gap:16px; }
  .wpe-livestock-panel__intro { max-width:none; }
  .wpe-livestock-panel__actions { justify-content:flex-start; }
  .wpe-livestock-card { flex-basis:230px; }
}

@media screen and (max-width: 749px) {
  .wpe-livestock-panel { padding:20px 0 20px 18px; }
  .wpe-livestock-panel__actions { padding-right:18px; }
  .wpe-livestock-card { flex-basis:64%; }
  .facets-container-drawer .mobile-facets__main.has-submenu { padding-left:20px; padding-right:20px; }
  .wpe-product-description { margin-top:12px; padding:20px 18px; border-radius:18px; }
}

/* ==========================================================
   WPE V9 — compact live-animal nav + unified product cards
   ========================================================== */

/* Keep the related live-animal shortcut in the same top row as Shop all.
   It remains visually distinct without consuming a full menu row. */
.wpe-nav-dropdown__top {
  display:grid;
  grid-template-columns:minmax(210px,.9fr) minmax(0,2.1fr);
  gap:24px;
  align-items:center;
  padding-bottom:17px;
  margin-bottom:18px;
  border-bottom:1px solid var(--wpe-line);
}
.wpe-nav-dropdown__top .wpe-nav-dropdown__all {
  margin:0;
  padding:8px 0;
  border:0;
  min-width:0;
}
.wpe-nav-dropdown__top .wpe-nav-live-group {
  margin:0;
  padding:0;
  background:transparent;
  border-radius:0;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
}
.wpe-nav-dropdown__top .wpe-nav-live-group__label {
  white-space:nowrap;
  font-size:1.25rem;
}
.wpe-nav-dropdown__top .wpe-nav-live-group__links {
  justify-content:flex-end;
  gap:8px;
}
.wpe-nav-dropdown__top .wpe-nav-live-group__links a {
  padding:8px 13px;
  background:#f3edf6;
  border-color:rgba(88,1,118,.08);
  color:var(--wpe-purple);
  white-space:nowrap;
}
.wpe-nav-dropdown__top .wpe-nav-live-group__links a:hover {
  background:#ece1f0;
  border-color:rgba(88,1,118,.16);
}

/* Collection/archive pages use the exact same WPE product card component as
   the homepage merchandising sliders. This locks media to a strict square
   stage and lets every source image fit inside without changing card height. */
#product-grid > .grid__item {
  display:flex;
  align-self:stretch;
}
#product-grid .wpe-product-card {
  flex:1 1 auto;
  width:100%;
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  background:#f7f4ef;
  border:1px solid rgba(88,1,118,.08);
  border-radius:20px;
  overflow:hidden;
}
#product-grid .wpe-product-card__image {
  width:100%;
  aspect-ratio:1 / 1;
  flex:0 0 auto;
  background:#fff;
  overflow:hidden;
}
#product-grid .wpe-product-card__image img,
#product-grid .wpe-product-card__image svg,
#product-grid .wpe-product-card__placeholder {
  width:100%;
  height:100%;
  display:block;
}
#product-grid .wpe-product-card__image img,
#product-grid .wpe-product-card__image svg {
  object-fit:contain !important;
  padding:16px;
}
.wpe-product-card__placeholder {
  display:grid !important;
  place-items:center;
  background:#fff;
}
.wpe-product-card__placeholder svg {
  opacity:.38;
}
#product-grid .wpe-product-card__content {
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  padding:16px 17px 17px;
}
#product-grid .wpe-product-card h3 {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:4.4rem;
  max-height:4.4rem;
  font-size:1.7rem;
  line-height:1.3;
}
#product-grid .wpe-product-card__bottom {
  margin-top:auto;
  padding-top:16px;
}
#product-grid .wpe-product-card__price { font-size:1.65rem; }
#product-grid .wpe-product-card__arrow { flex:0 0 38px; width:38px; height:38px; }

@media screen and (max-width: 989px) {
  .wpe-nav-dropdown__top { grid-template-columns:1fr; gap:10px; }
  .wpe-nav-dropdown__top .wpe-nav-live-group { justify-content:flex-start; }
  .wpe-nav-dropdown__top .wpe-nav-live-group__links { justify-content:flex-start; }
}

@media screen and (max-width: 749px) {
  #product-grid .wpe-product-card__image img,
  #product-grid .wpe-product-card__image svg { padding:10px; }
  #product-grid .wpe-product-card__content { padding:13px 13px 14px; }
  #product-grid .wpe-product-card h3 {
    min-height:4.05rem;
    max-height:4.05rem;
    font-size:1.55rem;
  }
  #product-grid .wpe-product-card__price { font-size:1.5rem; }
  #product-grid .wpe-product-card__arrow { width:34px; height:34px; flex-basis:34px; }
}

/* ==========================================================
   WPE V10 — product gallery containment + shop controls
   ========================================================== */

/* The purchase panel can remain sticky; the media gallery must stay in normal
   document flow so it can never float over Product details beneath it. */
.template-product .product__media-wrapper > media-gallery {
  position:relative !important;
  top:auto !important;
  z-index:auto !important;
}

/* Product recommendations now share the exact WPE card language used on the
   homepage and collection archives. */
.wpe-related-products-wrap { background:transparent; }
.wpe-related-products {
  padding-top:clamp(30px,4vw,54px);
  padding-bottom:clamp(30px,4vw,54px);
}
.wpe-related-products__header {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
.wpe-related-products__header .wpe-eyebrow { margin-bottom:7px; }
.wpe-related-products .related-products__heading {
  margin:0;
  color:var(--wpe-text);
  font-size:clamp(2.8rem,3vw,4.2rem);
  line-height:1.05;
}
.wpe-related-products__grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin:0;
  padding:0;
}
.wpe-related-products__grid > li { min-width:0; display:flex; }
.wpe-related-products__grid .wpe-product-card {
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
}
.wpe-related-products__grid .wpe-product-card__content {
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
}
.wpe-related-products__grid .wpe-product-card__bottom { margin-top:auto; }

/* Make sorting look like a real control rather than incidental text. */
.facets-vertical-sort .facets-vertical-form {
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  margin-bottom:20px;
  padding:10px 14px;
  background:#fff;
  border:1px solid rgba(42,34,45,.09);
  border-radius:16px;
}
.facets-vertical-sort .facet-filters {
  padding:0;
}
.facets-vertical-sort .facet-filters__field {
  display:flex;
  align-items:center;
  gap:10px;
}
.facets-vertical-sort .facet-filters__label {
  margin:0;
  color:var(--wpe-text);
  font-size:1.55rem;
  font-weight:800;
  white-space:nowrap;
}
.facets-vertical-sort .facet-filters__field .select {
  min-width:230px;
  background:#fff;
  border:1.5px solid rgba(88,1,118,.24);
  border-radius:999px;
}
.facets-vertical-sort .facet-filters__sort {
  min-height:46px;
  padding:0 46px 0 18px;
  color:var(--wpe-text);
  font-size:1.55rem;
  font-weight:700;
  cursor:pointer;
}
.facets-vertical-sort .facet-filters__field .select .svg-wrapper {
  right:16px;
  color:var(--wpe-purple);
}
.facets-vertical-sort .product-count-vertical {
  margin-left:0;
  padding-left:4px;
}
.facets-vertical-sort .product-count__text {
  font-size:1.45rem;
  font-weight:700;
  color:var(--wpe-muted);
}

/* Pagination should be visually unmistakable at the bottom of an archive. */
.pagination-wrapper {
  margin-top:clamp(34px,5vw,64px) !important;
  margin-bottom:16px;
}
.pagination__list {
  gap:10px;
  justify-content:center;
}
.pagination__list > li { flex:0 0 auto !important; max-width:none !important; }
.pagination__item {
  width:46px;
  height:46px;
  min-width:46px;
  display:grid !important;
  place-items:center;
  margin:0 !important;
  border:1.5px solid rgba(88,1,118,.22);
  border-radius:999px;
  background:#fff;
  color:var(--wpe-purple) !important;
  font-size:1.55rem;
  font-weight:800;
  text-decoration:none !important;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.pagination__item:hover {
  background:#f3edf6;
  border-color:rgba(88,1,118,.42);
  transform:translateY(-1px);
}
.pagination__item--current {
  background:var(--wpe-purple) !important;
  border-color:var(--wpe-purple) !important;
  color:#fff !important;
  opacity:1 !important;
}
.pagination__item--current:after,
.pagination__item:hover:after { display:none !important; }
.pagination__item-arrow {
  background:var(--wpe-purple);
  border-color:var(--wpe-purple);
  color:#fff !important;
}
.pagination__item-arrow:hover { background:#45005d; border-color:#45005d; }
.pagination__item-arrow .svg-wrapper { width:18px; height:18px; }

@media screen and (max-width: 989px) {
  .wpe-related-products__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .facets-vertical-sort .facets-vertical-form { justify-content:space-between; }
}

@media screen and (max-width: 749px) {
  .wpe-related-products { overflow:hidden; }
  .wpe-related-products__grid {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:12px;
    padding-right:18px;
    scrollbar-width:none;
  }
  .wpe-related-products__grid::-webkit-scrollbar { display:none; }
  .wpe-related-products__grid > li { flex:0 0 68%; scroll-snap-align:start; }
  .pagination__item { width:42px; min-width:42px; height:42px; }
}


/* ==========================================================
   WPE V11 — archive controls, recommendations, contact + collection SEO
   ========================================================== */

/* Drawer-mode archive controls: this is the markup actually used by WPE. */
#main-collection-filters .facets-container-drawer {
  display:flex !important;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 24px;
  padding:12px 14px;
  background:#fff;
  border:1px solid rgba(42,34,45,.09);
  border-radius:18px;
}
#main-collection-filters .facets-container-drawer > .mobile-facets__wrapper {
  order:1;
  margin:0;
}
#main-collection-filters .facets-container-drawer > .product-count {
  order:2;
  margin:0;
  padding:0 4px;
}
#main-collection-filters .facets-container-drawer > .wpe-archive-sort {
  order:3;
  width:auto;
  margin:0 0 0 auto;
}
.wpe-archive-sort__form {
  display:block !important;
  margin:0 !important;
}
.wpe-archive-sort .facet-filters {
  display:block;
  padding:0 !important;
}
.wpe-archive-sort .facet-filters__field {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
}
.wpe-archive-sort .facet-filters__label {
  margin:0 !important;
  color:var(--wpe-text) !important;
  font-size:1.55rem !important;
  font-weight:800;
  white-space:nowrap;
}
.wpe-archive-sort .facet-filters__field .select {
  position:relative;
  width:250px !important;
  min-width:250px;
  background:#f7f2f8;
  border:1.5px solid rgba(88,1,118,.24);
  border-radius:999px;
  overflow:hidden;
}
.wpe-archive-sort .facet-filters__sort {
  width:100% !important;
  min-height:48px !important;
  padding:0 46px 0 18px !important;
  border:0 !important;
  background:transparent !important;
  color:var(--wpe-purple) !important;
  font-size:1.55rem !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  cursor:pointer;
  appearance:none;
}
.wpe-archive-sort .select .svg-wrapper {
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:var(--wpe-purple);
  pointer-events:none;
}
#main-collection-filters .product-count__text {
  margin:0;
  color:var(--wpe-muted);
  font-size:1.5rem;
  font-weight:700;
}

/* Related products: override the homepage slider's flex-basis so cards fill
   their recommendation grid cells instead of collapsing into narrow strips. */
.wpe-related-products__grid .wpe-product-card {
  flex:1 1 100% !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}
.wpe-related-products__grid .wpe-product-card__image {
  width:100%;
  aspect-ratio:1 / 1;
}
.wpe-related-products__grid .wpe-product-card h3 {
  min-height:4.4rem;
  font-size:1.7rem;
  line-height:1.3;
}

/* Contact page — compact introduction + deliberate form card. */
.wpe-contact-page {
  padding:clamp(42px,6vw,82px) 0;
  background:var(--wpe-canvas);
}
.wpe-contact-page__shell {
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(28px,5vw,72px);
  align-items:start;
}
.wpe-contact-page__intro { padding:24px 0; }
.wpe-contact-page__intro h1 {
  margin:5px 0 20px;
  color:var(--wpe-text);
  font-size:clamp(4rem,5vw,6.8rem);
  line-height:.98;
}
.wpe-contact-page__lead {
  max-width:58rem;
  margin:0;
  color:var(--wpe-muted);
  font-size:1.8rem;
  line-height:1.65;
}
.wpe-contact-page__content { margin-top:20px; font-size:1.6rem; }
.wpe-contact-page__details {
  display:grid;
  gap:10px;
  margin-top:34px;
}
.wpe-contact-detail {
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:16px 18px;
  border:1px solid rgba(88,1,118,.10);
  border-radius:16px;
  background:#fff;
  color:var(--wpe-text);
  text-decoration:none;
}
.wpe-contact-detail span {
  color:var(--wpe-purple);
  font-size:1.25rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.wpe-contact-detail strong { font-size:1.6rem; overflow-wrap:anywhere; }
.wpe-contact-page__form-card {
  padding:clamp(24px,3.2vw,42px);
  background:#fff;
  border:1px solid rgba(88,1,118,.10);
  border-radius:26px;
  box-shadow:0 18px 44px rgba(52,38,59,.06);
}
.wpe-contact-page__form-head h2 {
  margin:5px 0 8px;
  color:var(--wpe-text);
  font-size:clamp(2.8rem,3vw,4rem);
  line-height:1.05;
}
.wpe-contact-page__form-head > p:last-child {
  margin:0 0 26px;
  color:var(--wpe-muted);
  font-size:1.6rem;
}
.wpe-contact-form { display:grid; gap:16px; }
.wpe-contact-form__row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.wpe-contact-form__field { display:grid; gap:7px; }
.wpe-contact-form__field label {
  color:var(--wpe-text);
  font-size:1.45rem;
  font-weight:800;
}
.wpe-contact-form__field input,
.wpe-contact-form__field textarea {
  width:100%;
  min-height:52px;
  padding:13px 15px;
  border:1.5px solid rgba(42,34,45,.16);
  border-radius:14px;
  background:#fff;
  color:var(--wpe-text);
  font:inherit;
  font-size:1.6rem;
}
.wpe-contact-form__field textarea { min-height:170px; resize:vertical; }
.wpe-contact-form__field input:focus,
.wpe-contact-form__field textarea:focus {
  outline:2px solid rgba(88,1,118,.18);
  outline-offset:2px;
  border-color:var(--wpe-purple);
}
.wpe-contact-form__submit {
  justify-self:start;
  min-width:190px;
  border:0;
  cursor:pointer;
}
.wpe-contact-form__success,
.wpe-contact-form__errors {
  display:grid;
  gap:3px;
  padding:14px 16px;
  border-radius:14px;
  font-size:1.5rem;
}
.wpe-contact-form__success { background:#edf8f0; color:#1f6035; }
.wpe-contact-form__errors { background:#fff1f1; color:#8a2525; }

/* Useful legacy homepage copy is redistributed to the relevant top-level
   animal collections, below shopping content so it supports rather than
   interrupts product discovery. */
.wpe-collection-guide {
  padding:clamp(34px,5vw,64px) 0;
  background:var(--wpe-canvas);
}
.wpe-collection-guide__shell {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:clamp(28px,5vw,64px);
  padding:clamp(24px,3.5vw,42px);
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(88,1,118,.08);
}
.wpe-collection-guide__copy h2 {
  margin:6px 0 14px;
  color:var(--wpe-text);
  font-size:clamp(2.8rem,3vw,4.2rem);
  line-height:1.05;
}
.wpe-collection-guide__copy p {
  margin:0 0 12px;
  color:var(--wpe-muted);
  font-size:1.65rem;
  line-height:1.65;
}
.wpe-collection-guide__copy a { color:var(--wpe-purple); font-weight:700; }
.wpe-collection-guide__essentials {
  padding:22px;
  border-radius:18px;
  background:#f7f2f8;
}
.wpe-collection-guide__essentials h3 {
  margin:0 0 16px;
  color:var(--wpe-text);
  font-size:2rem;
}
.wpe-collection-guide__chips { display:flex; flex-wrap:wrap; gap:9px; }
.wpe-collection-guide__chips span,
.wpe-collection-guide__chips a {
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(88,1,118,.10);
  color:var(--wpe-text);
  text-decoration:none;
  font-size:1.4rem;
  font-weight:700;
}
.wpe-collection-guide__chips a { color:var(--wpe-purple); }
.wpe-collection-guide__chips a:hover { border-color:rgba(88,1,118,.32); }

@media screen and (max-width: 989px) {
  .wpe-related-products__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wpe-contact-page__shell,
  .wpe-collection-guide__shell { grid-template-columns:1fr; }
  .wpe-contact-page__intro { padding:0; }
}

@media screen and (max-width: 749px) {
  #main-collection-filters .facets-container-drawer {
    padding:10px;
    border-radius:15px;
  }
  #main-collection-filters .facets-container-drawer > .wpe-archive-sort { display:none; }
  .wpe-related-products__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .wpe-related-products__grid .wpe-product-card h3 { min-height:auto; font-size:1.5rem; }
  .wpe-contact-form__row { grid-template-columns:1fr; }
  .wpe-contact-page__form-card { border-radius:20px; }
  .wpe-collection-guide__shell { padding:22px 18px; border-radius:20px; }
  .wpe-collection-guide__essentials { padding:18px; }
}

/* ==========================================================
   WPE V12 — recommendation containment + collection copy placement
   ========================================================== */

/* The recommendation section owns its vertical spacing; the inner page-width
   owns the horizontal gutters. This prevents the grid from touching the
   viewport edge while preserving the same alignment as the rest of the site. */
.wpe-related-products {
  width:100%;
  overflow:visible;
}
.wpe-related-products__inner {
  width:100%;
}

/* Keep the supporting collection guide clearly separated from commerce.
   It remains below the product grid/pagination and is deliberately quieter
   than a hero so it adds useful context without becoming another SEO wall. */
.wpe-collection-guide {
  border-top:1px solid rgba(42,34,45,.07);
}
.wpe-collection-guide__shell {
  max-width:124rem;
  margin:0 auto;
  box-shadow:0 12px 34px rgba(52,38,59,.035);
}
.wpe-collection-guide__copy {
  max-width:68rem;
}
.wpe-collection-guide__copy .wpe-eyebrow {
  margin-bottom:8px;
}
.wpe-collection-guide__copy h2 {
  max-width:60rem;
}

@media screen and (max-width: 749px) {
  .wpe-related-products__inner.page-width {
    padding-left:18px;
    padding-right:18px;
  }
}


/* ==========================================================
   WPE V13 — category tile, collection rhythm, product spacing + policies
   ========================================================== */

/* Bring the archive toolbar closer to the collection H1. The collection grid
   now supplies only 12px of top padding, so this small hero gap completes the
   spacing rather than creating a large empty band. */
.template-collection .collection-hero__inner {
  padding-bottom:8px !important;
}

/* Equal vertical breathing room in the white filter/sort toolbar. Explicitly
   override Dawn's facet-container spacing so the controls sit dead-centre. */
#main-collection-filters .facets-container-drawer {
  padding:14px 18px !important;
  min-height:76px;
  align-items:center !important;
}
#main-collection-filters .facets-container-drawer > * {
  align-self:center;
}
#main-collection-filters .facets-container-drawer .mobile-facets__open-wrapper,
#main-collection-filters .wpe-archive-sort .facet-filters__field .select {
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* Give Product details a deliberate pause before recommendations begin. */
.template-product .wpe-product-description {
  margin-bottom:52px;
}

/* Shopify policy pages bypass Dawn's normal page templates. Put them back on
   the WPE body grid instead of leaving the default very narrow policy column. */
.shopify-policy__container {
  width:100% !important;
  max-width:120rem !important;
  margin:0 auto !important;
  padding:48px 5rem 72px !important;
}
.shopify-policy__title {
  max-width:none !important;
  margin:0 0 32px !important;
}
.shopify-policy__body {
  max-width:none !important;
  margin:0 !important;
  color:var(--wpe-text);
  font-size:1.6rem;
  line-height:1.72;
}
.shopify-policy__body .rte {
  max-width:none !important;
}
.shopify-policy__body h2,
.shopify-policy__body h3 {
  color:var(--wpe-text);
  line-height:1.18;
}
.shopify-policy__body p,
.shopify-policy__body li {
  font-size:1.6rem;
  line-height:1.72;
}

@media screen and (max-width: 749px) {
  .template-collection .collection-hero__inner { padding-bottom:4px !important; }
  #main-collection-filters .facets-container-drawer {
    padding:12px 14px !important;
    min-height:0;
  }
  .template-product .wpe-product-description { margin-bottom:34px; }
  .shopify-policy__container { padding:32px 18px 48px !important; }
  .shopify-policy__title { margin-bottom:24px !important; text-align:left; }
}


/* =========================================================
   WPE v14: In-store-only product enquiries + Buddy AI brand
   ========================================================= */
.wpe-instore-enquiry {
  margin-top: 2.4rem;
  padding: clamp(2rem, 3vw, 3rem);
  border: 1px solid rgba(88, 1, 118, 0.14);
  border-radius: 24px;
  background: #f8f4fa;
}

.wpe-instore-enquiry .wpe-eyebrow {
  margin: 0 0 0.8rem;
  color: #580176;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.wpe-instore-enquiry__title {
  margin: 0 0 1rem;
  font-size: clamp(2.2rem, 2.2vw, 3rem);
  line-height: 1.08;
}

.wpe-instore-enquiry__intro {
  margin: 0 0 2rem;
  font-size: 1.6rem;
  line-height: 1.6;
  color: rgba(35, 31, 38, 0.78);
}

.wpe-instore-enquiry__form {
  display: grid;
  gap: 1.2rem;
}

.wpe-instore-enquiry__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
}

.wpe-instore-enquiry .field__input,
.wpe-instore-enquiry .text-area {
  background: #fff;
}

.wpe-instore-enquiry__submit {
  width: 100%;
  min-height: 5.6rem;
  margin-top: 0.4rem;
  background: #580176;
  color: #fff;
  border-color: #580176;
  font-weight: 700;
}

.wpe-instore-enquiry__submit:hover {
  background: #43005b;
  border-color: #43005b;
}

.wpe-form-success {
  padding: 1.2rem 1.4rem;
  border-radius: 14px;
  background: rgba(88, 1, 118, 0.08);
  color: #43005b;
  font-weight: 700;
}

/* Buddy AI deal / better-price CTAs retain their app styling. */

@media screen and (max-width: 749px) {
  .wpe-instore-enquiry {
    border-radius: 20px;
    padding: 2rem 1.6rem;
  }

  .wpe-instore-enquiry__grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   WPE v15: visible enquiry subject + restored payment presentation
   ========================================================= */
.wpe-instore-enquiry__subject .field__input[readonly] {
  background:#f2eef4;
  color:#3d3540;
  cursor:default;
}


.wpe-footer__payments svg {
  width:38px;
  max-height:24px;
}

/* Buddy's deal / better-price CTAs deliberately retain their app styling. */
\n\n/* =========================================================\n   WPE v17: Buddy state, recommendation/location rhythm + footer clearance\n   ========================================================= */\n\n/* Give the global location module a stronger pause after product\n   recommendations on product templates. */\n.template-product .wpe-location-section {\n  padding-top: 76px !important;\n}\n\n/* The Buddy dock is fixed to the bottom of the viewport. Leave enough real\n   document space below the sub-footer so policy links/payment icons can scroll\n   fully above the dock instead of sitting underneath it. */\n.wpe-footer__bottom {\n  padding-top: 18px;\n  padding-bottom: 108px;\n}\n\n/* Social links are a compact horizontal group, with a larger touch target and\n   icon size than Dawn's defaults. */\n.wpe-footer__social {\n  display: flex !important;\n  flex-direction: row !important;\n  flex-wrap: wrap !important;\n  justify-content: flex-start !important;\n  align-items: center !important;\n  gap: 8px !important;\n  margin-top: 24px !important;\n  padding: 0 !important;\n}\n.wpe-footer__social .list-social__item {\n  display: block !important;\n  margin: 0 !important;\n}\n.wpe-footer__social .list-social__link {\n  display: flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n  width: 46px;\n  height: 46px;\n  padding: 8px !important;\n  border-radius: 50%;\n  color: var(--wpe-purple) !important;\n}\n.wpe-footer__social .svg-wrapper,\n.wpe-footer__social .icon {\n  width: 28px !important;\n  height: 28px !important;\n}\n\n@media screen and (max-width: 749px) {\n  .template-product .wpe-location-section {\n    padding-top: 52px !important;\n  }\n  .wpe-footer__bottom {\n    padding-bottom: 124px;\n  }\n  .wpe-footer__social {\n    justify-content: flex-start !important;\n  }\n}\n

/* =========================================================
   WPE v20: migration pages + header contact links
   ========================================================= */
.wpe-announcement__secondary { display:flex; align-items:center; gap:8px; }
.wpe-announcement__secondary a { color:inherit; text-decoration:none; }
.wpe-announcement__secondary a:hover { text-decoration:underline; text-underline-offset:3px; }

.wpe-brands-page,
.wpe-sitemap-page,
.wpe-thank-you { padding: clamp(44px, 6vw, 84px) 0; }
.wpe-brands-page__intro,
.wpe-sitemap-page__intro { max-width:850px; margin-bottom:34px; }
.wpe-brands-page__intro h1,
.wpe-sitemap-page__intro h1,
.wpe-thank-you__hero h1 { margin:4px 0 14px; font-size:clamp(3.6rem,5vw,6.2rem); line-height:.96; }
.wpe-brands-page__intro p,
.wpe-sitemap-page__intro p,
.wpe-thank-you__hero p { font-size:1.7rem; line-height:1.65; }

.wpe-brands-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.wpe-brand-card { display:flex; flex-direction:column; min-width:0; background:#fff; color:var(--wpe-text); border:1px solid rgba(88,1,118,.10); border-radius:22px; overflow:hidden; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.wpe-brand-card:hover { transform:translateY(-3px); border-color:rgba(88,1,118,.24); box-shadow:0 16px 36px rgba(38,24,42,.08); }
.wpe-brand-card__media { aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; padding:28px; background:#fff; }
.wpe-brand-card__media img { width:100%; height:100%; object-fit:contain; }
.wpe-brand-card__fallback { display:grid; place-items:center; width:82px; height:82px; border-radius:50%; background:var(--wpe-soft-lilac,#f3eaf6); color:var(--wpe-purple); font-size:3.4rem; font-weight:700; }
.wpe-brand-card__footer { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:72px; padding:18px 20px; background:#faf7f3; font-size:1.6rem; }
.wpe-brand-card__footer span { color:var(--wpe-purple); font-size:2.2rem; }

.wpe-sitemap-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.wpe-sitemap-card { background:#fff; border-radius:24px; padding:28px; border:1px solid rgba(88,1,118,.10); }
.wpe-sitemap-card h2 { margin:0 0 18px; font-size:2.4rem; }
.wpe-sitemap-card ul { list-style:none; margin:0; padding:0; }
.wpe-sitemap-card > ul > li { margin:0 0 12px; }
.wpe-sitemap-card ul ul { padding:8px 0 2px 18px; }
.wpe-sitemap-card ul ul li { margin:0 0 7px; }
.wpe-sitemap-card a { color:var(--wpe-text); text-decoration:none; font-size:1.6rem; line-height:1.45; }
.wpe-sitemap-card a:hover { color:var(--wpe-purple); text-decoration:underline; text-underline-offset:3px; }

.wpe-thank-you__hero { max-width:900px; background:#fff; border-radius:30px; padding:clamp(30px,5vw,60px); border:1px solid rgba(88,1,118,.10); }
.wpe-thank-you__actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:26px; }
.wpe-thank-you__categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:22px; }
.wpe-thank-you__categories a { display:flex; flex-direction:column; gap:5px; padding:22px; min-height:108px; justify-content:center; background:#f6eff8; color:var(--wpe-text); border-radius:20px; text-decoration:none; }
.wpe-thank-you__categories strong { font-size:1.8rem; }
.wpe-thank-you__categories span { color:var(--wpe-purple); font-size:1.5rem; }
.wpe-thank-you__products { margin-top:52px; }
.wpe-thank-you__product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }

@media screen and (max-width: 989px) {
  .wpe-brands-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .wpe-sitemap-grid { grid-template-columns:1fr 1fr; }
  .wpe-thank-you__categories,
  .wpe-thank-you__product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width: 749px) {
  .wpe-announcement__secondary { display:none; }
  .wpe-brands-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .wpe-brand-card__media { padding:18px; }
  .wpe-brand-card__footer { min-height:64px; padding:14px; font-size:1.5rem; }
  .wpe-sitemap-grid { grid-template-columns:1fr; }
  .wpe-thank-you__categories,
  .wpe-thank-you__product-grid { grid-template-columns:1fr 1fr; gap:12px; }
}

/* v21 sub-footer credit */
.wpe-footer__bottom > p a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.wpe-footer__bottom > p a:hover { color:#fff; }

/* =========================================================
   WPE v22: footer payment placement + sub-footer alignment
   ========================================================= */
.wpe-footer__accepted-payments {
  margin-top: 26px;
  display: grid;
  gap: 10px;
}
.wpe-footer__accepted-payments-label {
  color: #29232c;
  font-size: 1.35rem;
  font-weight: 700;
}
.wpe-footer__accepted-payments .wpe-footer__payments {
  margin-left: 0;
  justify-content: flex-start;
  gap: 6px;
}
.wpe-footer__accepted-payments .wpe-footer__payments svg {
  width: 38px;
  max-height: 25px;
}
.wpe-footer__bottom {
  justify-content: space-between;
  align-items: flex-start;
  column-gap: 32px;
}
.wpe-footer__bottom > p {
  flex: 0 0 auto;
}
.wpe-footer__policies {
  margin-left: auto;
  max-width: 68%;
  justify-content: flex-end;
  text-align: right;
  row-gap: 9px;
}

@media screen and (max-width: 989px) {
  .wpe-footer__bottom {
    flex-wrap: wrap;
  }
  .wpe-footer__policies {
    max-width: 100%;
  }
}

@media screen and (max-width: 749px) {
  .wpe-footer__accepted-payments {
    justify-items: center;
  }
  .wpe-footer__accepted-payments .wpe-footer__payments {
    justify-content: center;
  }
  .wpe-footer__bottom {
    display: grid;
    justify-items: stretch;
    text-align: left;
    gap: 14px;
    padding-bottom: 124px;
  }
  .wpe-footer__bottom > p {
    text-align: left;
  }
  .wpe-footer__policies {
    margin-left: 0;
    justify-content: flex-end;
    text-align: right;
  }
}

/* WPE FINAL: responsive global location module */
@media screen and (max-width: 749px) {
  .wpe-location-feature {
    display: block !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
  .wpe-location-feature__image {
    display: none !important;
  }
  .wpe-location-feature__right {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
  }
  .wpe-location-feature__content {
    display: block !important;
    width: 100% !important;
    padding: 28px 22px 22px !important;
  }
  .wpe-location-feature__copy,
  .wpe-location-feature__content h2,
  .wpe-location-feature__content .rte {
    max-width: none !important;
  }
  .wpe-location-feature__meta {
    display: block !important;
    width: 100% !important;
    margin-top: 22px !important;
  }
  .wpe-location-details {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .wpe-location-details > div,
  .wpe-location-details > div:last-child {
    grid-column: auto !important;
    width: 100% !important;
  }
  .wpe-location-feature__button {
    width: 100% !important;
    justify-content: center !important;
    margin-top: 20px !important;
  }
  .wpe-location-feature__map {
    width: auto !important;
    height: 270px !important;
    min-height: 270px !important;
    margin: 0 12px 12px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }
  .wpe-location-feature__map iframe {
    width: 100% !important;
    height: 270px !important;
    min-height: 270px !important;
  }
}

/* WPE FINAL: Brand directories and brand collection pages */
.wpe-brand-directory__status,
.wpe-brand-directory__empty {
  padding: 22px 24px;
  background: #fff;
  border: 1px solid rgba(88,1,118,.10);
  border-radius: 18px;
  font-size: 1.6rem;
}
.wpe-brand-pagination { margin-top: 32px; }

/* Brand collections: compact hero, deliberate handoff into commerce. */
.wpe-brand-hero { padding: 18px 0 10px; }
.wpe-brand-hero__frame {
  position: relative;
  min-height: 235px;
  overflow: hidden;
  border-radius: 28px;
  background: #f4edf7;
  border: 1px solid rgba(88,1,118,.10);
}
.wpe-brand-hero__picture,
.wpe-brand-hero__picture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.wpe-brand-hero__picture img { object-fit: cover; }
.wpe-brand-hero__frame::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 42%, rgba(255,255,255,.18) 76%, rgba(255,255,255,0) 100%);
  pointer-events: none;
}
.wpe-brand-hero--no-image .wpe-brand-hero__frame::after { display: none; }
.wpe-brand-hero__card {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 235px;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(170px,300px);
  grid-template-areas:
    'eyebrow logo'
    'title logo'
    'intro logo';
  column-gap: clamp(28px,5vw,72px);
  align-content: center;
  align-items: center;
  padding: 28px clamp(30px,4vw,54px);
}
.wpe-brand-hero__card--no-logo {
  grid-template-columns: minmax(0,1fr);
  grid-template-areas: 'eyebrow' 'title' 'intro';
}
.wpe-brand-hero__card > .wpe-eyebrow { grid-area: eyebrow; align-self:end; margin:0 0 5px; }
.wpe-brand-hero__logo {
  grid-area: logo;
  justify-self: end;
  align-self: center;
  margin: 0;
  width: min(100%,280px);
  max-height: 110px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.wpe-brand-hero__logo img { max-width:100%; max-height:110px; width:auto; height:auto; object-fit:contain; }
.wpe-brand-hero__card h1 { grid-area:title; margin:0 0 8px; font-size:clamp(3.5rem,4vw,5.4rem); line-height:.98; color:var(--wpe-text); }
.wpe-brand-hero__intro { grid-area:intro; max-width:62rem; font-size:1.6rem; line-height:1.55; color:#5e5661; }
.wpe-brand-hero__intro p { margin:0; }

/* Keep the product controls close to the compact brand hero and ensure the
   toolbar has visually equal top/bottom padding. */
.template-collection:has(.wpe-brand-hero) .section[id*='product-grid'] { margin-top:0 !important; }
.template-collection:has(.wpe-brand-hero) #main-collection-filters { margin-top:0 !important; }
.template-collection:has(.wpe-brand-hero) #main-collection-filters .facets-container-drawer {
  margin-top:0 !important;
  margin-bottom:20px !important;
  padding-top:14px !important;
  padding-bottom:4px !important;
  min-height:0 !important;
}

.wpe-brand-content { padding:34px 0 18px; }
.wpe-brand-content__inner {
  max-width:100rem;
  margin:0 auto;
  padding:30px 34px;
  background:#faf7fb;
  border:1px solid rgba(88,1,118,.09);
  border-radius:24px;
  font-size:1.65rem;
  line-height:1.7;
}
@media screen and (max-width: 749px) {
  .wpe-brand-hero { padding:12px 0 8px; }
  .wpe-brand-hero__frame { min-height:300px; border-radius:22px; }
  .wpe-brand-hero__frame::after { background:linear-gradient(0deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.88) 58%, rgba(255,255,255,.20) 100%); }
  .wpe-brand-hero__card {
    min-height:300px;
    grid-template-columns:1fr auto;
    grid-template-areas:'logo logo' 'eyebrow eyebrow' 'title title' 'intro intro';
    align-content:end;
    column-gap:16px;
    padding:22px;
  }
  .wpe-brand-hero__logo { justify-self:end; width:min(55vw,180px); max-height:64px; margin-bottom:10px; }
  .wpe-brand-hero__logo img { max-height:64px; }
  .wpe-brand-hero__card h1 { font-size:3.8rem; }
  .wpe-brand-hero__intro { font-size:1.5rem; }
  .wpe-brand-content { padding-top:24px; }
  .wpe-brand-content__inner { padding:22px 20px; border-radius:20px; font-size:1.55rem; }
}


/* WPE v27: homepage CTA rhythm */
.wpe-promo__content .wpe-button {
  margin-top: 28px;
}
@media screen and (max-width: 749px) {
  .wpe-promo__content .wpe-button { margin-top: 24px; }
}

/* WPE v28: Buddify active tab only. No JS/inline overrides. */
.buddify-tab--active {
  background: #580176 !important;
  background-color: #580176 !important;
}

/* WPE v28: Brands hub category navigation */
.wpe-brand-areas {
  margin: 28px 0 42px;
}
.wpe-brand-areas__heading {
  margin: 0 0 16px;
  font-size: clamp(2.4rem, 3vw, 3.4rem);
  line-height: 1.05;
}
.wpe-brand-areas__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.wpe-brand-area-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 72px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid rgba(88,1,118,.10);
  border-radius: 18px;
  color: #252129;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.6rem;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.wpe-brand-area-card:hover {
  border-color: rgba(88,1,118,.30);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(37,33,41,.06);
}
.wpe-brand-area-card span:last-child { color: #580176; }
@media screen and (max-width: 989px) {
  .wpe-brand-areas__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media screen and (max-width: 549px) {
  .wpe-brand-areas__grid { grid-template-columns: 1fr; }
  .wpe-brand-area-card { min-height: 62px; }
}


/* =========================================================
   WPE v31: final brand archive spacing corrections
   ========================================================= */
/* The toolbar already has balanced internal padding. Remove the legacy
   external bottom margin that created the apparent extra padding/gap. */
.template-collection #main-collection-filters .facets-container-drawer {
  margin-bottom: 0 !important;
}

/* Give the brand eyebrow deliberate separation from the H1 without
   increasing the overall hero unnecessarily. */
.wpe-brand-hero__card > .wpe-eyebrow {
  margin-bottom: 12px !important;
}

/* =========================================================
   WPE v34: launch polish from 19 Oct current theme export
   ========================================================= */
/* Collection filter toolbar: reduce only the lower internal space on every
   collection archive, matching the corrected brand archive treatment. */
.template-collection #main-collection-filters .facets-container-drawer {
  padding-bottom: 4px !important;
}

/* Header cart/shop icon: visually match the account icon. */
.wpe-header__cart svg {
  width: 38px !important;
  height: 38px !important;
}

/* ========================================================================== 
   WPE cart page refinement
   ========================================================================== */
.template-cart cart-items:not(.is-empty) .cart__warnings {
  display: none !important;
}

.template-cart cart-items,
.template-cart #main-cart-footer {
  background: var(--wpe-cream, #f6f3ee);
}

.template-cart cart-items .page-width,
.template-cart #main-cart-footer .page-width {
  max-width: 1440px;
}

.template-cart .title-wrapper-with-link {
  align-items: center;
  margin-bottom: 2.4rem;
}

.template-cart .title-wrapper-with-link .title {
  margin: 0;
  font-size: clamp(3.6rem, 4.3vw, 5.6rem);
  line-height: .95;
}

.template-cart .title-wrapper-with-link .underlined-link {
  color: var(--wpe-purple, #580176);
  font-weight: 700;
  text-underline-offset: .35rem;
}

.template-cart .cart__items {
  background: #fff;
  border: 1px solid rgba(88, 1, 118, .10);
  border-radius: 2.4rem;
  padding: 2.8rem 3.2rem;
  border-bottom: 1px solid rgba(88, 1, 118, .10);
  box-shadow: 0 10px 30px rgba(37, 35, 42, .035);
}

.template-cart .cart-items thead th {
  color: rgba(37, 35, 42, .62);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: .12em;
  padding-bottom: 1.5rem;
}

.template-cart .cart-item {
  border-top: 1px solid rgba(37, 35, 42, .08);
}

.template-cart .cart-item:first-child {
  border-top: 0;
}

.template-cart .cart-item > td {
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
}

.template-cart .cart-item__image-container {
  background: #fff;
  border: 1px solid rgba(88, 1, 118, .10);
  border-radius: 1.8rem;
  overflow: hidden;
  padding: 1rem;
}

.template-cart .cart-item__image {
  border-radius: 1.2rem;
}

.template-cart .cart-item__name {
  color: #25232a;
  font-weight: 800;
}

.template-cart .cart-item__quantity-wrapper .quantity,
.template-cart .cart-quantity {
  background: #fff !important;
  border: 1px solid rgba(88, 1, 118, .20) !important;
  border-radius: 999px !important;
  min-height: 4.8rem;
  overflow: hidden;
  box-shadow: 0 3px 10px rgba(37, 35, 42, .04);
}

.template-cart .cart-item__quantity-wrapper .quantity:before,
.template-cart .cart-item__quantity-wrapper .quantity:after,
.template-cart .cart-quantity:before,
.template-cart .cart-quantity:after {
  display: none !important;
}

.template-cart .cart-item__quantity-wrapper .quantity__button,
.template-cart .cart-item__quantity-wrapper .quantity__input,
.template-cart .cart-quantity .quantity__button,
.template-cart .cart-quantity .quantity__input {
  background: #fff !important;
}

.template-cart #main-cart-footer .cart__footer {
  display: block;
  padding-top: 1.6rem;
}

.template-cart #main-cart-footer .cart__blocks {
  width: min(100%, 64rem);
  margin-left: auto;
  background: #fff;
  border: 1px solid rgba(88, 1, 118, .10);
  border-radius: 2.4rem;
  padding: 2.6rem;
  box-shadow: 0 10px 30px rgba(37, 35, 42, .035);
}

.template-cart #main-cart-footer .totals {
  align-items: baseline;
  justify-content: space-between;
  gap: 2rem;
}

.template-cart #main-cart-footer .totals__total {
  font-size: 2rem;
  font-weight: 800;
}

.template-cart #main-cart-footer .totals__total-value {
  font-size: 2rem;
  font-weight: 700;
}

.template-cart #main-cart-footer .tax-note {
  margin: 1.2rem 0 1.8rem;
  text-align: left;
  color: rgba(37, 35, 42, .68);
}

.template-cart #main-cart-footer .cart__ctas {
  display: block;
  margin-top: 0;
}

.template-cart #main-cart-footer .cart__checkout-button {
  width: 100%;
  max-width: none;
  min-height: 5.6rem;
  border-radius: 999px;
  background: var(--wpe-purple, #580176);
  color: #fff;
  border: 0;
  font-size: 1.7rem;
  font-weight: 800;
  letter-spacing: .01em;
  box-shadow: none;
}

.template-cart #main-cart-footer .cart__checkout-button:before,
.template-cart #main-cart-footer .cart__checkout-button:after {
  display: none;
}

.template-cart #main-cart-footer .cart__checkout-button:hover {
  background: #43005a;
}

.template-cart #main-cart-footer .cart__dynamic-checkout-buttons {
  width: 100%;
  max-width: none;
  margin: 1.2rem 0 0;
}

/* Keep accelerated methods available, but visually secondary to Checkout. */
.template-cart #main-cart-footer .cart__dynamic-checkout-buttons [data-shopify-buttoncontainer] {
  gap: .8rem !important;
}

.template-cart #main-cart-footer .cart__dynamic-checkout-buttons [data-testid],
.template-cart #main-cart-footer .cart__dynamic-checkout-buttons iframe,
.template-cart #main-cart-footer .cart__dynamic-checkout-buttons button {
  min-height: 4.4rem !important;
  height: 4.4rem !important;
}

@media screen and (max-width: 749px) {
  .template-cart .title-wrapper-with-link {
    align-items: flex-start;
    gap: 1rem;
  }

  .template-cart .title-wrapper-with-link .title {
    font-size: 3.6rem;
  }

  .template-cart .cart__items {
    border-radius: 2rem;
    padding: 1.6rem;
  }

  .template-cart .cart-item > td {
    padding-top: 1.8rem;
    padding-bottom: 1.8rem;
  }

  .template-cart #main-cart-footer .cart__blocks {
    width: 100%;
    border-radius: 2rem;
    padding: 1.8rem;
  }

  .template-cart #main-cart-footer .cart__dynamic-checkout-buttons [data-shopify-buttoncontainer] {
    flex-direction: column !important;
  }
}
