/* p1450108174215-premium-listing-visual-restoration-v1
 * Browser-evidenced visual restoration after .214:
 * - preserve the flat information architecture and working Wishlist contract,
 * - restore premium rhythm, image presentation, typography and commerce hierarchy,
 * - never reintroduce card-in-card / mini-tile clutter.
 * Provider + category only; search/provider data semantics stay untouched.
 */

:root{
  --aw215-ink:#082a52;
  --aw215-ink-strong:#06244a;
  --aw215-muted:#61758a;
  --aw215-line:rgba(20,52,82,.12);
  --aw215-line-strong:rgba(20,52,82,.18);
  --aw215-soft:#f7f9fc;
  --aw215-soft-warm:#fbfaf7;
  --aw215-accent:#0b5967;
  --aw215-saved:#b33f50;
  --aw215-saved-soft:#fff5f6;
}

/* --------------------------------------------------------------------------
   Shared Wishlist presentation: function remains .214, visuals become refined.
   -------------------------------------------------------------------------- */
:where(.provider-profile-page,.category-page) .heart-button[data-basket-heart-button]{
  --aw-heart-size:36px!important;
  width:var(--aw-heart-size)!important;
  height:var(--aw-heart-size)!important;
  min-width:var(--aw-heart-size)!important;
  min-height:var(--aw-heart-size)!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
  color:#0a315f!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(22,61,96,.16)!important;
  border-radius:50%!important;
  box-shadow:0 4px 14px rgba(8,42,82,.07)!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
:where(.provider-profile-page,.category-page) .heart-button[data-basket-heart-button]:hover{
  border-color:rgba(22,61,96,.28)!important;
  box-shadow:0 6px 18px rgba(8,42,82,.10)!important;
  transform:translateY(-1px)!important;
}
:where(.provider-profile-page,.category-page) .heart-button[data-basket-heart-button]:focus-visible{
  outline:3px solid rgba(13,92,119,.22)!important;
  outline-offset:2px!important;
}
:where(.provider-profile-page,.category-page) .heart-button[data-basket-heart-button][aria-pressed="true"],
:where(.provider-profile-page,.category-page) .heart-button[data-basket-heart-button].is-saved{
  color:var(--aw215-saved)!important;
  background:var(--aw215-saved-soft)!important;
  border-color:rgba(179,63,80,.28)!important;
  box-shadow:0 4px 14px rgba(179,63,80,.10)!important;
}
:where(.provider-profile-page,.category-page) .heart-button[data-basket-heart-button] .aw-heart-icon[data-basket-heart-icon]{
  width:18px!important;
  height:18px!important;
}

/* --------------------------------------------------------------------------
   Provider products: premium editorial rows, not oversized table / dashboard.
   -------------------------------------------------------------------------- */
.provider-profile-page .provider-products-section{
  padding-top:34px!important;
}
.provider-profile-page .provider-products-head{
  align-items:flex-end!important;
  gap:24px!important;
  margin-bottom:20px!important;
  padding:0 0 16px!important;
  border-bottom:1px solid var(--aw215-line-strong)!important;
}
.provider-profile-page .provider-products-head .eyebrow{
  margin:0 0 7px!important;
  color:#31597e!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
}
.provider-profile-page .provider-products-head h2{
  max-width:18ch!important;
  margin:0!important;
  color:var(--aw215-ink-strong)!important;
  font-size:clamp(2rem,2.45vw,2.75rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  text-wrap:balance!important;
}
.provider-profile-page .provider-products-head [data-provider-result-count]{
  margin:8px 0 0!important;
  color:var(--aw215-muted)!important;
  font-size:1rem!important;
  line-height:1.4!important;
}
.provider-profile-page .provider-sort label{
  display:grid!important;
  gap:6px!important;
  color:#38536e!important;
  font-size:.76rem!important;
  font-weight:760!important;
}
.provider-profile-page .provider-sort select{
  min-width:210px!important;
  height:44px!important;
  padding:0 42px 0 14px!important;
  border:1px solid rgba(21,54,83,.18)!important;
  border-radius:10px!important;
  background-color:#fff!important;
  color:var(--aw215-ink)!important;
  font-weight:690!important;
  box-shadow:0 3px 12px rgba(8,42,82,.035)!important;
}

.provider-profile-page .provider-product-grid-v2{
  display:grid!important;
  gap:0!important;
  border-top:1px solid var(--aw215-line)!important;
}
.provider-profile-page .provider-offer-card-v3{
  position:relative!important;
  display:grid!important;
  grid-template-columns:116px minmax(250px,1.45fr) minmax(132px,.64fr) minmax(132px,.64fr) minmax(168px,.76fr)!important;
  align-items:center!important;
  gap:24px!important;
  min-height:136px!important;
  margin:0!important;
  padding:20px 0!important;
  border:0!important;
  border-bottom:1px solid var(--aw215-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transition:background-color .16s ease!important;
}
.provider-profile-page .provider-offer-card-v3:hover{
  background:linear-gradient(90deg,rgba(248,250,253,.82),rgba(255,255,255,0) 78%)!important;
}
.provider-profile-page .provider-offer-media{
  position:relative!important;
  width:108px!important;
  height:100px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.provider-profile-page .provider-offer-media>a:not(.heart-button){
  width:96px!important;
  height:96px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border:1px solid rgba(23,58,90,.075)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#ffffff 0%,#f8fafc 72%,#f4f7fa 100%)!important;
  box-shadow:0 7px 22px rgba(8,42,82,.045)!important;
}
.provider-profile-page .provider-offer-media img,
.provider-profile-page .provider-offer-media .product-image-placeholder{
  max-width:82px!important;
  max-height:82px!important;
  object-fit:contain!important;
}
.provider-profile-page .provider-offer-media>.product-heart-form{
  top:-5px!important;
  right:-1px!important;
  z-index:6!important;
}
.provider-profile-page .provider-offer-product{
  min-width:0!important;
  align-self:center!important;
}
.provider-profile-page .provider-offer-title{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  color:var(--aw215-ink-strong)!important;
  font-size:1.13rem!important;
  font-weight:760!important;
  line-height:1.28!important;
  letter-spacing:-.012em!important;
  text-decoration:none!important;
}
.provider-profile-page .provider-offer-title:hover{
  color:#0b5870!important;
}
.provider-profile-page .provider-offer-product>p{
  margin:6px 0 0!important;
  color:var(--aw215-muted)!important;
  font-size:.86rem!important;
  line-height:1.35!important;
}
.provider-profile-page .provider-product-quality-note{
  display:inline-block!important;
  margin-top:7px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#76684d!important;
  font-size:.75rem!important;
}
.provider-profile-page .provider-offer-availability{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:8px!important;
  color:#4a647c!important;
  font-size:.82rem!important;
  font-weight:650!important;
}
.provider-profile-page .provider-offer-availability::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:#2f8a68;
  box-shadow:0 0 0 3px rgba(47,138,104,.09);
}
.provider-profile-page :where(.provider-offer-price,.provider-offer-market){
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.provider-profile-page :where(.provider-offer-price,.provider-offer-market)>span{
  display:block!important;
  margin-bottom:5px!important;
  color:#77899a!important;
  font-size:.69rem!important;
  font-weight:760!important;
  line-height:1.25!important;
  letter-spacing:.025em!important;
}
.provider-profile-page :where(.provider-offer-price,.provider-offer-market)>strong{
  display:block!important;
  color:var(--aw215-ink-strong)!important;
  font-size:1.28rem!important;
  font-weight:820!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums!important;
}
.provider-profile-page .provider-offer-market>strong{
  color:var(--aw215-accent)!important;
}
.provider-profile-page :where(.provider-offer-price,.provider-offer-market)>small{
  display:block!important;
  margin-top:6px!important;
  color:#7b8d9d!important;
  font-size:.72rem!important;
  line-height:1.3!important;
}
.provider-profile-page .provider-offer-market>small.is-best{
  color:#2f7e62!important;
  font-weight:760!important;
}
.provider-profile-page .provider-offer-actions{
  display:grid!important;
  justify-items:stretch!important;
  align-content:center!important;
  gap:8px!important;
}
.provider-profile-page .provider-offer-actions .main-action{
  min-height:42px!important;
  padding:10px 16px!important;
  border-radius:10px!important;
  box-shadow:0 5px 15px rgba(8,42,82,.10)!important;
  font-size:.82rem!important;
  font-weight:780!important;
}
.provider-profile-page .provider-offer-actions .secondary-action{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#31597e!important;
  font-size:.72rem!important;
  font-weight:680!important;
  text-align:center!important;
  text-decoration:underline!important;
  text-decoration-color:rgba(49,89,126,.3)!important;
  text-underline-offset:3px!important;
}

/* --------------------------------------------------------------------------
   Category: same premium rhythm, with controls subordinate to products.
   -------------------------------------------------------------------------- */
.category-page .category-hero{
  padding:24px 0 20px!important;
}
.category-page .category-hero .eyebrow{
  margin-bottom:6px!important;
  color:#31597e!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
}
.category-page .category-hero h1{
  max-width:24ch!important;
  margin:0 0 9px!important;
  color:var(--aw215-ink-strong)!important;
  font-size:clamp(2rem,2.7vw,2.8rem)!important;
  line-height:1.02!important;
  letter-spacing:-.034em!important;
  text-wrap:balance!important;
}
.category-page .category-hero>p{
  max-width:68ch!important;
  color:#526a80!important;
  font-size:.98rem!important;
  line-height:1.55!important;
}
.category-page .category-facts{
  margin-top:14px!important;
  gap:6px 18px!important;
}
.category-page .category-facts span{
  color:#64798d!important;
  font-size:.78rem!important;
  font-weight:700!important;
}
.category-page .category-result-toolbar{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin-bottom:18px!important;
  padding-bottom:14px!important;
}
.category-page .category-result-toolbar h2{
  color:var(--aw215-ink-strong)!important;
  font-size:clamp(1.45rem,1.8vw,1.8rem)!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
}
.category-page .category-result-toolbar p{
  margin-top:4px!important;
  font-size:.86rem!important;
}
.category-page .category-results-layout{
  align-items:start!important;
}
@media (min-width:901px){
  .category-page .category-results-layout{
    grid-template-columns:minmax(190px,220px) minmax(0,1fr)!important;
    gap:32px!important;
  }
  .category-page .category-filter-panel{
    position:sticky!important;
    top:18px!important;
    padding-right:24px!important;
  }
}
.category-page .category-filter-head h2,
.category-page .category-filter-head h3{
  color:var(--aw215-ink)!important;
  font-size:1rem!important;
}
.category-page .category-filter-head p,
.category-page .category-filter-fields label,
.category-page .category-filter-fields legend{
  color:#64798d!important;
  font-size:.76rem!important;
}
.category-page .category-filter-form :where(input,select){
  min-height:40px!important;
  border:1px solid rgba(21,54,83,.16)!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.category-page .category-filter-form :where(input,select):focus{
  border-color:rgba(11,89,103,.42)!important;
  box-shadow:0 0 0 3px rgba(11,89,103,.08)!important;
}
.category-page .category-filter-actions .main-action{
  min-height:42px!important;
  border-radius:9px!important;
  box-shadow:none!important;
}

.category-page .category-product-list{
  border-top:1px solid var(--aw215-line)!important;
}
.category-page .category-product-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:24px!important;
  min-height:142px!important;
  padding:20px 0!important;
  border-bottom:1px solid var(--aw215-line)!important;
  background:transparent!important;
  overflow:visible!important;
  transition:background-color .16s ease!important;
}
.category-page .category-product-card:hover{
  background:linear-gradient(90deg,rgba(248,250,253,.82),rgba(255,255,255,0) 78%)!important;
}
.category-page .category-product-card .product-card-top{
  position:absolute!important;
  top:14px!important;
  left:78px!important;
  z-index:6!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}
.category-page .category-product-card .product-media{
  width:104px!important;
  height:104px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border:1px solid rgba(23,58,90,.075)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#ffffff 0%,#f8fafc 72%,#f4f7fa 100%)!important;
  box-shadow:0 7px 22px rgba(8,42,82,.045)!important;
}
.category-page .category-product-card .product-media img,
.category-page .category-product-card .product-media .product-image-placeholder{
  max-width:88px!important;
  max-height:90px!important;
  object-fit:contain!important;
}
.category-page .category-product-card .product-card-body-v2{
  display:grid!important;
  grid-template-columns:minmax(230px,1.3fr) minmax(270px,.95fr) minmax(150px,.62fr)!important;
  grid-template-rows:auto auto auto!important;
  column-gap:26px!important;
  align-items:center!important;
  min-width:0!important;
  padding:0!important;
}
.category-page .category-product-card .product-name{
  grid-column:1!important;
  grid-row:1!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  color:var(--aw215-ink-strong)!important;
  font-size:1.08rem!important;
  font-weight:760!important;
  line-height:1.28!important;
  letter-spacing:-.012em!important;
}
.category-page .category-product-card .product-card-meta{
  grid-column:1!important;
  grid-row:2!important;
  margin:5px 0 0!important;
  color:var(--aw215-muted)!important;
  font-size:.81rem!important;
  line-height:1.35!important;
}
.category-page .category-product-card .delivery-line{
  grid-column:1!important;
  grid-row:3!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:8px 0 0!important;
  color:#4a647c!important;
  font-size:.8rem!important;
  font-weight:640!important;
}
.category-page .category-product-card .delivery-line::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:#2f8a68;
  box-shadow:0 0 0 3px rgba(47,138,104,.09);
}
.category-page .category-product-card .product-facts-v2{
  grid-column:2!important;
  grid-row:1/4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:0 22px!important;
  align-items:center!important;
  min-width:0!important;
}
.category-page .category-product-card .product-facts-v2>:where(.fact-price,.fact-total-price-v4,.fact-provider){
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.category-page .category-product-card .fact-price,
.category-page .category-product-card .fact-total-price-v4{
  align-self:start!important;
}
.category-page .category-product-card .product-card-current-price-v4>small,
.category-page .category-product-card .fact-total-price-v4>small,
.category-page .category-product-card .product-reference-price-v4 small{
  display:block!important;
  margin:0 0 4px!important;
  color:#77899a!important;
  font-size:.68rem!important;
  font-weight:760!important;
  line-height:1.2!important;
  letter-spacing:.025em!important;
}
.category-page .category-product-card .product-price-amount,
.category-page .category-product-card .fact-total-price-v4 strong{
  color:var(--aw215-ink-strong)!important;
  font-size:1.2rem!important;
  font-weight:820!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums!important;
}
.category-page .category-product-card .fact-total-price-v4 strong{
  color:var(--aw215-accent)!important;
}
.category-page .category-product-card .product-unit-price-v4{
  margin-top:5px!important;
  color:#8393a2!important;
  font-size:.69rem!important;
}
.category-page .category-product-card .product-saving-badge-v4{
  margin-left:7px!important;
  padding:2px 6px!important;
  border-radius:6px!important;
  background:#f3e2a9!important;
  color:#614d00!important;
  font-size:.66rem!important;
  box-shadow:none!important;
}
.category-page .category-product-card .fact-provider{
  grid-column:1/-1!important;
  margin-top:10px!important;
  color:#4d657b!important;
  font-size:.78rem!important;
  font-weight:690!important;
  text-align:left!important;
  justify-content:flex-start!important;
}
.category-page .category-product-card .card-actions{
  grid-column:3!important;
  grid-row:1/4!important;
  align-self:center!important;
  display:grid!important;
  gap:8px!important;
}
.category-page .category-product-card .card-actions .main-action{
  min-height:42px!important;
  padding:10px 15px!important;
  border-radius:10px!important;
  box-shadow:0 5px 15px rgba(8,42,82,.09)!important;
  font-size:.81rem!important;
  font-weight:780!important;
}

/* Provider/card chrome: do not let prior generic styles re-box the row. */
:where(.provider-profile-page .provider-offer-card-v3,.category-page .category-product-card){
  box-shadow:none!important;
  transform:none!important;
}

/* --------------------------------------------------------------------------
   Responsive contracts: preserve premium rhythm instead of giant stacked tiles.
   -------------------------------------------------------------------------- */
@media (max-width:1180px){
  .provider-profile-page .provider-offer-card-v3{
    grid-template-columns:104px minmax(230px,1.35fr) minmax(120px,.6fr) minmax(120px,.6fr)!important;
    gap:18px!important;
  }
  .provider-profile-page .provider-offer-actions{
    grid-column:2/-1!important;
    grid-row:2!important;
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:14px!important;
  }
  .provider-profile-page .provider-offer-actions .main-action{min-width:170px!important}
  .category-page .category-product-card .product-card-body-v2{
    grid-template-columns:minmax(220px,1.2fr) minmax(240px,.95fr)!important;
    column-gap:22px!important;
  }
  .category-page .category-product-card .card-actions{
    grid-column:1/-1!important;
    grid-row:4!important;
    display:flex!important;
    justify-content:flex-end!important;
    margin-top:11px!important;
  }
  .category-page .category-product-card .card-actions .main-action{min-width:176px!important}
}

@media (max-width:900px){
  .provider-profile-page .provider-products-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .provider-profile-page .provider-sort{width:100%!important}
  .provider-profile-page .provider-sort select{width:min(100%,360px)!important}
  .provider-profile-page .provider-offer-card-v3{
    grid-template-columns:96px minmax(0,1fr) minmax(116px,.48fr)!important;
    gap:16px!important;
    padding:18px 0!important;
  }
  .provider-profile-page .provider-offer-market{display:none!important}
  .provider-profile-page .provider-offer-actions{grid-column:2/-1!important}
  .category-page .category-result-toolbar{align-items:flex-start!important;flex-direction:column!important}
  .category-page .category-product-card .product-card-body-v2{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto!important;
  }
  .category-page .category-product-card .product-name,
  .category-page .category-product-card .product-card-meta,
  .category-page .category-product-card .delivery-line,
  .category-page .category-product-card .product-facts-v2,
  .category-page .category-product-card .card-actions{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .category-page .category-product-card .product-facts-v2{
    margin-top:12px!important;
    max-width:430px!important;
  }
  .category-page .category-product-card .card-actions{
    justify-content:flex-start!important;
  }
}

@media (max-width:620px){
  .provider-profile-page .provider-products-head h2,
  .category-page .category-hero h1{
    font-size:1.9rem!important;
  }
  .provider-profile-page .provider-offer-card-v3{
    grid-template-columns:82px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    gap:11px 14px!important;
    min-height:0!important;
    padding:16px 0!important;
  }
  .provider-profile-page .provider-offer-media{
    width:82px!important;
    height:82px!important;
  }
  .provider-profile-page .provider-offer-media>a:not(.heart-button){width:78px!important;height:78px!important;border-radius:15px!important}
  .provider-profile-page .provider-offer-media img,
  .provider-profile-page .provider-offer-media .product-image-placeholder{max-width:68px!important;max-height:68px!important}
  .provider-profile-page .provider-offer-media>.product-heart-form{top:-7px!important;right:-7px!important}
  :where(.provider-profile-page,.category-page) .heart-button[data-basket-heart-button]{--aw-heart-size:32px!important}
  .provider-profile-page .provider-offer-title{font-size:1rem!important}
  .provider-profile-page .provider-offer-price{
    grid-column:2!important;
    grid-row:2!important;
  }
  .provider-profile-page .provider-offer-price>span{display:none!important}
  .provider-profile-page .provider-offer-price>strong{font-size:1.16rem!important}
  .provider-profile-page .provider-offer-actions{
    grid-column:2!important;
    grid-row:3!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }
  .provider-profile-page .provider-offer-actions .main-action{min-width:0!important;width:auto!important}
  .category-page .category-product-card{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:14px!important;
    min-height:0!important;
    padding:16px 0!important;
  }
  .category-page .category-product-card .product-media{width:80px!important;height:80px!important;border-radius:15px!important}
  .category-page .category-product-card .product-media img,
  .category-page .category-product-card .product-media .product-image-placeholder{max-width:68px!important;max-height:68px!important}
  .category-page .category-product-card .product-card-top{top:8px!important;left:61px!important}
  .category-page .category-product-card .product-name{font-size:1rem!important}
  .category-page .category-product-card .product-facts-v2{grid-template-columns:1fr 1fr!important;gap:10px 16px!important}
  .category-page .category-product-card .product-price-amount,
  .category-page .category-product-card .fact-total-price-v4 strong{font-size:1.08rem!important}
  .category-page .category-product-card .card-actions{margin-top:10px!important}
  .category-page .category-product-card .card-actions .main-action{min-width:0!important;width:auto!important}
}

@media (prefers-reduced-motion:reduce){
  :where(.provider-profile-page,.category-page) .heart-button[data-basket-heart-button],
  .provider-profile-page .provider-offer-card-v3,
  .category-page .category-product-card{transition:none!important}
}

html[data-aw-contrast="dark"] :where(.provider-profile-page,.category-page) .heart-button[data-basket-heart-button]{
  background:#102e4e!important;
  border-color:#43617d!important;
  color:#e7f0f8!important;
}
html[data-aw-contrast="dark"] :where(.provider-profile-page,.category-page) .heart-button[data-basket-heart-button][aria-pressed="true"],
html[data-aw-contrast="dark"] :where(.provider-profile-page,.category-page) .heart-button[data-basket-heart-button].is-saved{
  background:#442733!important;
  color:#ffc3cb!important;
  border-color:#8e5964!important;
}
