/* Purpilo Shop Polish v4, 2026-10-15.
   Designed for the deployed Namecheap MySQL edition.
   Intentionally scoped to .page-shop; catalog logic and shared site CSS remain unchanged. */

.page-shop{
  --shop-purple:#564593;
  --shop-ink:#302843;
  --shop-muted:#696274;
  --shop-stroke:#eae6f0;
  --shop-radius:17px;
  background:#fefcf7!important;
}

/* HERO — override older, contradictory shop-header generations. */
.page-shop .shop-header.purpilo-shop-hero-v4 {
  position:relative!important;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(112deg,#f1edf9 0%,#fdfbf8 57%,#f4f6e8 100%)!important;
  border:0!important;
  border-bottom:1px solid #e9e4f0!important;
  border-radius:0 0 25px 25px!important;
  padding:30px 0 35px!important;
  margin:0 0 12px!important;
  min-height:0!important;
  box-shadow:none!important;
}
.page-shop .purpilo-shop-hero-v4::before,
.page-shop .purpilo-shop-hero-v4::after{display:none!important;content:none!important}
.page-shop .purpilo-shop-hero-v4 .container{position:relative;z-index:1}
.page-shop .purpilo-shop-hero-copy{
  display:flex!important;flex-direction:column;align-items:flex-start;
  max-width:850px;margin:0;padding:0;
  position:relative;z-index:2;text-align:left;
}
.page-shop .purpilo-shop-crumbs{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font:700 .82rem/1.4 'Nunito',sans-serif!important;
  color:#777082;margin:0 0 18px!important;
}
.page-shop .purpilo-shop-crumbs a{color:#564593!important;text-decoration:none}
.page-shop .purpilo-shop-crumbs a:hover{text-decoration:underline}
.page-shop .purpilo-shop-crumbs i{font-size:.65rem;color:#a49bb3}
.page-shop .purpilo-shop-eyebrow{
  display:inline-flex!important;align-items:center;gap:9px;
  font:800 .77rem/1.35 'Nunito',sans-serif!important;
  color:#55448c!important;letter-spacing:.075em;
  text-transform:uppercase;margin:0 0 7px!important;
}
.page-shop .purpilo-shop-eyebrow-dot{
  width:9px;height:9px;flex:none;border-radius:50%;background:#a1c94b;
  box-shadow:0 0 0 4px rgba(161,201,75,.13);
}
.page-shop .purpilo-shop-hero-v4 #purpilo-shop-heading{
  display:block!important;visibility:visible!important;opacity:1!important;
  position:static!important;clip:auto!important;
  width:auto!important;height:auto!important;overflow:visible!important;
  font-family:'Fredoka','Nunito',sans-serif!important;
  font-size:clamp(2rem,3.15vw,2.95rem)!important;
  font-weight:600!important;line-height:1.1!important;letter-spacing:-.025em!important;
  color:#3d316b!important;-webkit-text-fill-color:#3d316b!important;
  text-shadow:none!important;max-width:830px;margin:0!important;
}
.page-shop .purpilo-shop-lead{
  display:block!important;visibility:visible!important;opacity:1!important;
  font:600 clamp(.92rem,1.08vw,1.06rem)/1.5 'Nunito',sans-serif!important;
  color:#635d71!important;-webkit-text-fill-color:#635d71!important;
  max-width:720px;margin:9px 0 0!important;
}
.page-shop .purpilo-shop-hero-decoration{
  position:absolute;z-index:-1;right:0;top:0;bottom:0;width:min(31vw,440px);
  pointer-events:none;opacity:.9;
}
.page-shop .purpilo-shop-dot{position:absolute;display:block;border-radius:50%}
.page-shop .purpilo-shop-dot-a{width:170px;height:170px;right:16%;top:0;background:rgba(157,197,65,.13)}
.page-shop .purpilo-shop-dot-b{width:112px;height:112px;right:0;bottom:-32px;background:rgba(86,69,147,.105)}
.page-shop .purpilo-shop-dot-c{width:44px;height:44px;right:57%;bottom:23px;background:rgba(239,231,84,.48)}

/* Put shopping tools immediately below the hero, instead of oversized empty gaps. */
.page-shop .shop-layout{
  padding-top:12px!important;margin-top:0!important;
  gap:24px!important;align-items:flex-start!important;
}
.page-shop .shop-filters{
  flex:0 0 272px!important;width:272px;
  border:1px solid var(--shop-stroke)!important;
  border-radius:18px!important;
  box-shadow:0 6px 22px rgba(43,30,90,.045)!important;
  overflow:hidden!important;
}
.page-shop .shop-filters .filter-header{
  padding:17px 18px!important;background:#fff!important;
  border-bottom:1px solid var(--shop-stroke)!important;
  display:flex;align-items:center;gap:8px;
}
.page-shop .shop-filters .filter-header h3{
  font:600 1.16rem/1.2 'Fredoka','Nunito',sans-serif!important;
  color:#3d316b!important;
}
.page-shop .shop-filters .filter-clear{
  font-size:.76rem!important;padding:8px 10px!important;
  border-radius:999px!important;margin-left:auto;
}
.page-shop .shop-filters .filter-search{
  margin:15px 15px 0!important;padding-bottom:15px!important;
}
.page-shop .shop-filters .filter-search input{
  width:100%!important;min-width:0!important;
  background:#faf9fd!important;border:1px solid #eae4f0!important;
  border-radius:12px!important;font-size:.85rem!important;
  padding:12px 34px 12px 12px!important;
}
.page-shop .shop-filters .filter-search .search-icon{right:11px!important}
.page-shop .shop-filters .filter-block{padding:12px 15px!important}
.page-shop .purpilo-facet-group > summary{
  font:800 .9rem/1.35 'Nunito',sans-serif!important;
  color:var(--shop-ink)!important;
}
.page-shop .purpilo-facet-group .purpilo-facet{
  padding:8px 10px!important;border-radius:10px!important;
  min-width:0;min-height:38px!important;
}
.page-shop .purpilo-category-tree-item > .purpilo-facet{font-weight:900!important}
.page-shop .purpilo-facet small{flex:none}

/* Smaller, clearer product-toolbar hierarchy. */
.page-shop .shop-products{min-width:0;flex:1}
.page-shop .shop-toolbar{
  display:flex!important;flex-wrap:wrap!important;
  align-items:center!important;justify-content:space-between!important;
  gap:12px 18px!important;min-height:64px!important;
  padding:12px 16px!important;margin-bottom:17px!important;
  border:1px solid var(--shop-stroke)!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 4px 18px rgba(43,30,90,.035)!important;
  backdrop-filter:none!important;
}
.page-shop .toolbar-left{display:flex;align-items:center;gap:14px!important;flex-wrap:wrap;min-width:0}
.page-shop #productCount{
  font:800 .86rem/1.45 'Nunito',sans-serif!important;
  color:#3e3650!important;white-space:normal!important;
}
.page-shop .view-toggle{border-radius:12px!important;padding:3px!important;background:#f4f1f9!important}
.page-shop .view-toggle button{
  display:inline-flex!important;justify-content:center;align-items:center;
  min-width:37px!important;min-height:37px!important;padding:7px!important;
  border-radius:10px!important;
}
.page-shop .sort-select{gap:10px}
.page-shop .sort-select label{font-weight:800!important;font-size:.83rem!important;color:#51485e!important}
.page-shop .sort-select select{
  border:1px solid #eae4ef!important;border-radius:11px!important;
  padding:9px 35px 9px 12px!important;min-height:41px!important;
  font-weight:700!important;font-size:.85rem!important;
}

/* Cards — same image frame, calmer borders, readable name and properly aligned CTAs. */
.page-shop .product-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;margin:0 0 30px!important;
  align-items:stretch;
}
.page-shop .product-grid .purpilo-v3-product{
  display:flex!important;flex-direction:column;
  min-width:0;border-radius:17px!important;
  border:1px solid var(--shop-stroke)!important;
  box-shadow:0 5px 18px rgba(43,30,90,.045)!important;
  transform:none;
}
.page-shop .product-grid .purpilo-v3-product:hover{
  border-color:#d9cee6!important;
  box-shadow:0 11px 27px rgba(43,30,90,.09)!important;
  transform:translateY(-2px)!important;
}
.page-shop .purpilo-v3-photo{
  display:grid!important;place-items:center!important;
  position:relative!important;overflow:hidden!important;
  height:218px!important;padding:16px!important;
  background:#faf9fb!important;border-bottom:1px solid #f1edf4;
}
.page-shop .purpilo-v3-photo img{
  display:block!important;width:100%!important;height:100%!important;
  max-height:100%!important;max-width:100%!important;
  object-fit:contain!important;object-position:center!important;
}
.page-shop .purpilo-v3-tag{
  left:12px!important;top:12px!important;
  padding:5px 10px!important;font-size:.73rem!important;
  background:#efe754!important;color:#382d5c!important;
  box-shadow:0 2px 6px rgba(43,30,90,.06);
}
.page-shop .purpilo-v3-product .product-content{
  padding:14px 15px 16px!important;
  display:flex!important;flex:1!important;flex-direction:column!important;
  gap:8px!important;
}
.page-shop .purpilo-v3-product .purpilo-v3-category{
  color:#766f82!important;font-size:.75rem!important;line-height:1.3!important;
  margin:0!important;text-transform:none!important;
}
.page-shop .purpilo-v3-product .product-content h3{
  color:#302843!important;font:850 .96rem/1.4 'Nunito',sans-serif!important;
  min-height:2.8em!important;margin:0!important;letter-spacing:0!important;
  text-transform:none!important;
}
.page-shop .purpilo-v3-product .purpilo-v3-age{
  margin:0!important;padding:5px 8px!important;
  background:#f2eef9!important;color:#564593!important;
  font-size:.75rem!important;font-weight:800!important;
}
.page-shop .purpilo-v3-product .purpilo-v3-price{
  margin-top:auto!important;
  padding-top:6px!important;
  color:#453576!important;font-size:1.09rem!important;
  font-weight:900!important;letter-spacing:-.01em;
}
.page-shop .purpilo-v3-product .purpilo-v3-price del{font-size:.73rem!important;color:#85808d!important}
.page-shop .purpilo-v3-product .product-btn{
  width:100%!important;margin:4px 0 0!important;
  min-height:43px!important;border-radius:11px!important;
  font-weight:850!important;font-size:.86rem!important;
  box-shadow:none!important;transform:none!important;
}
.page-shop .purpilo-v3-product .product-btn:hover{background:#403272!important;transform:none!important}
.page-shop #pagination{margin:12px 0 55px!important}

/* Header is shared; this one small adjustment is deliberately Shop-only. */
@media(min-width:1001px){
 .page-shop .header-container .logo span{display:inline!important;font-weight:700!important}
}

/* Tablet: two columns and available sidebar without cramped cards. */
@media(min-width:901px) and (max-width:1210px){
 .page-shop .shop-filters{flex-basis:250px!important;width:250px}
 .page-shop .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .page-shop .purpilo-v3-photo{height:205px!important}
}
@media(max-width:900px){
 .page-shop .purpilo-shop-hero-v4{padding:25px 0 27px!important;margin-bottom:0!important}
 .page-shop .shop-layout{display:flex!important;flex-direction:column!important;gap:12px!important;padding-top:12px!important}
 .page-shop .shop-filters{
   width:min(90vw,360px)!important;max-width:360px!important;
   flex:none!important;position:fixed!important;top:0!important;left:-105%!important;
   bottom:0!important;height:100dvh!important;max-height:100dvh!important;
   z-index:1400!important;overflow-y:auto!important;
   border-radius:0 18px 18px 0!important;
   transition:left .24s ease!important;
 }
 .page-shop .shop-filters.active{left:0!important}
 .page-shop .filter-overlay.active{z-index:1350!important}
 .page-shop .mobile-filter-trigger{display:inline-flex!important;width:auto!important;min-height:44px!important;
   margin:14px 0 0!important;padding:10px 16px!important;background:#564593!important;color:#fff!important;
   border-radius:12px!important;box-shadow:none!important;font-weight:800!important}
 .page-shop .shop-products{width:100%!important}
 .page-shop .shop-filters .filter-close-mobile{display:inline-flex!important}
 .page-shop .shop-filters .filter-clear{display:none!important}
 .page-shop .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:580px){
 .page-shop .purpilo-shop-hero-v4{padding:21px 0 24px!important;border-radius:0 0 19px 19px!important}
 .page-shop .purpilo-shop-crumbs{margin-bottom:13px!important;font-size:.76rem!important}
 .page-shop .purpilo-shop-hero-v4 #purpilo-shop-heading{font-size:clamp(1.85rem,7vw,2.25rem)!important}
 .page-shop .purpilo-shop-lead{font-size:.9rem!important}
 .page-shop .purpilo-shop-hero-decoration{width:35vw;opacity:.6}
 .page-shop .purpilo-shop-dot-a{width:110px;height:110px;right:-45px}
 .page-shop .shop-toolbar{padding:12px!important;gap:10px!important;margin-bottom:13px!important}
 .page-shop .shop-toolbar .toolbar-left{width:100%;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between;gap:7px!important}
 .page-shop #productCount{font-size:.78rem!important}
 .page-shop .shop-toolbar .sort-select{display:flex!important;flex-direction:row!important;align-items:center!important;width:100%;justify-content:space-between;gap:8px!important}
 .page-shop .shop-toolbar .product-count{text-align:left!important}
 .page-shop .shop-toolbar .view-toggle{align-self:auto!important}
 .page-shop .shop-toolbar .sort-select label{text-align:left!important}
 .page-shop .sort-select select{min-width:0;flex:1;max-width:205px}
 .page-shop .product-grid{gap:10px!important}
 .page-shop .purpilo-v3-photo{height:157px!important;padding:10px!important}
 .page-shop .purpilo-v3-product .product-content{padding:12px 11px 13px!important;gap:7px!important}
 .page-shop .purpilo-v3-product .product-content h3{font-size:.81rem!important;line-height:1.37!important}
 .page-shop .purpilo-v3-product .purpilo-v3-price{font-size:.91rem!important}
 .page-shop .purpilo-v3-product .product-btn{min-height:42px!important;font-size:.75rem!important;padding:8px 5px!important}
 .page-shop .purpilo-v3-product .product-btn i{display:none!important}
 .page-shop .product-grid.list-view{grid-template-columns:1fr!important}
 .page-shop .product-grid.list-view .purpilo-v3-product{flex-direction:row!important}
 .page-shop .product-grid.list-view .purpilo-v3-photo{width:112px!important;min-width:112px!important;height:auto!important;min-height:170px!important}
}
@media(prefers-reduced-motion:reduce){
 .page-shop .purpilo-v3-product{transition:none!important;transform:none!important}
}
