/* LUSO Premium Storefront v1 — Loja only.
   Home, checkout, cart drawer, accessibility dialogs and commercial logic stay as-is.
   Intentionally loaded after the legacy inline style blocks for scoped overrides. */
.luso-shop{
  --store-navy:#143c60;
  --store-ink:#103451;
  --store-wine:#a3263a;
  --store-muted:#637786;
  --store-line:#dde5e9;
  --store-bg:#fcfbf9;
  background:var(--store-bg);
}
.luso-shop > header{
  background:rgba(252,251,249,.98);
  border-bottom:1px solid #e5e9ed;
  box-shadow:0 8px 24px rgba(16,52,81,.045);
}
.luso-shop header .top{max-width:1180px}
.luso-shop header .brand{gap:12px}
.luso-shop header .brand>b{width:44px;height:44px;flex:0 0 44px}
.luso-shop header .brand strong{font-size:1.5rem;letter-spacing:.02em}
.luso-shop header .brand small{font-size:.62rem;letter-spacing:.1em}
.luso-shop header .cart{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #194669;
  padding:11px 17px;
  box-shadow:0 5px 15px rgba(20,60,96,.12);
}
.luso-shop header .tile{height:4px;background:repeating-linear-gradient(45deg,white 0 8px,#4d83a5 8px 10px,white 10px 20px)}
.luso-shop .shop{padding:23px 0 76px}
.luso-shop .premium-shop-intro{margin-bottom:17px}
.luso-shop .premium-shop-intro>span{
  display:block;
  font-size:.7rem;
  letter-spacing:.2em;
  font-weight:800;
  color:#2a678e;
}
.luso-shop .premium-shop-intro p{
  margin:5px 0 0;
  font-family:Fraunces,Georgia,serif;
  font-weight:600;
  font-size:clamp(1.2rem,2vw,1.62rem);
  color:var(--store-ink);
}
.luso-shop .catalog-shop-tools{
  grid-template-columns:minmax(0,1fr) 152px 192px;
  gap:12px;
  margin:0 0 23px;
}
.luso-shop .catalog-shop-tools .search{
  min-height:56px;
  border:1px solid #d7e1e7;
  border-radius:16px;
  background:#fff;
  color:var(--store-navy);
  padding:0 17px;
  box-shadow:0 2px 10px rgba(20,60,96,.025);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.luso-shop .catalog-shop-tools .search>span:first-child{
  font-size:1.7rem;
  line-height:1;
  color:#1d587e;
}
.luso-shop .catalog-shop-tools .search input{
  border:0;
  outline:0;
  box-shadow:none;
  font-size:16px;
  min-height:54px;
  color:var(--store-ink);
  background:transparent;
}
.luso-shop .catalog-shop-tools .search input::placeholder{color:#8795a0;opacity:1}
.luso-shop .catalog-shop-tools .search:focus-within{
  border-color:#4c86a9;
  box-shadow:0 0 0 3px rgba(76,134,169,.13);
}
.luso-shop .catalog-filter-button,
.luso-shop .catalog-shop-tools #sortSelect{
  border-radius:15px;
  min-height:54px;
  background:#fff;
  color:var(--store-ink);
  border:1px solid #d7e1e7;
  font-weight:700;
  font-size:.95rem;
}
.luso-shop .catalog-filter-button:hover,.luso-shop #sortSelect:hover{border-color:#a6b9c7}
.luso-shop #openCatalogFilters::before{content:"☷";font-size:1.15rem;margin-right:10px}
.luso-shop .category-label{
  font-size:.69rem!important;
  letter-spacing:.18em!important;
  font-weight:800;
  color:#2b6587;
  margin:24px 0 6px!important;
}
.luso-shop #categoryChips{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start;
  align-items:stretch;
  gap:14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  padding:10px 2px 18px!important;
  margin:0!important;
}
.luso-shop #categoryChips::-webkit-scrollbar{display:none}
.luso-shop #categoryChips .chip{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:9px;
  min-width:100px!important;
  min-height:111px!important;
  padding:0 4px 8px!important;
  background:transparent!important;
  border:0!important;
  border-radius:13px!important;
  font-size:.91rem!important;
  font-weight:700;
  color:#193f5f!important;
  text-decoration:none!important;
  line-height:1.25;
  cursor:pointer;
  scroll-snap-align:start;
}
.luso-shop #categoryChips .chip::before{
  content:"✦";
  display:grid;
  place-items:center;
  width:70px;
  height:70px;
  min-height:70px;
  border-radius:50%;
  background:linear-gradient(145deg,#f0f4f6,#e7edf0);
  color:var(--store-ink);
  box-shadow:inset 0 0 0 1px #e2e8eb;
  font-size:29px;
  font-weight:400;
  transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.luso-shop #categoryChips .chip[data-c="Vinhos"]::before{content:"🍷"}
.luso-shop #categoryChips .chip[data-c="Delicatessen"]::before{content:"🧀"}
.luso-shop #categoryChips .chip[data-c="Cervejas"]::before{content:"🍺"}
.luso-shop #categoryChips .chip[data-c="Conservas"]::before{content:"🥫"}
.luso-shop #categoryChips .chip[data-c="Queijos"]::before{content:"🧀"}
.luso-shop #categoryChips .chip[data-c="Azeites"]::before{content:"🫒"}
.luso-shop #categoryChips .chip[data-c="Embutidos"]::before{content:"🍖"}
.luso-shop #categoryChips .chip[data-c="Doces"]::before{content:"🍮"}
.luso-shop #categoryChips .chip.active::before,
.luso-shop #categoryChips .chip[aria-pressed="true"]::before{
  background:var(--store-navy);
  color:white;
  box-shadow:0 7px 17px rgba(20,60,96,.18);
}
.luso-shop #categoryChips .chip:hover::before{transform:translateY(-2px)}
.luso-shop #categoryChips .chip[aria-pressed="true"]{color:#103756!important}
.luso-shop #categoryChips .chip[aria-pressed="true"]::after{
  content:"";
  width:31px;
  height:3px;
  border-radius:999px;
  background:var(--store-navy);
  margin-top:-2px;
}
.luso-shop .trust{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0!important;
  width:100%;
  margin:5px 0 26px!important;
  padding:17px 14px!important;
  overflow:visible!important;
  border-radius:17px;
  background:#f0f3f4!important;
  color:var(--store-ink);
}
.luso-shop .trust span{
  min-width:0;
  padding:5px 17px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:2px 10px;
  align-content:center;
  background:transparent!important;
  white-space:normal!important;
}
.luso-shop .trust span+span{border-left:1px solid #d5dee4}
.luso-shop .trust span::before{
  grid-row:1/3;
  align-self:center;
  font-size:1.7rem;
  font-weight:400;
  color:var(--store-navy);
}
.luso-shop .trust [data-trust="delivery"]::before{content:"🚚"}
.luso-shop .trust [data-trust="pickup"]::before{content:"🛍️"}
.luso-shop .trust [data-trust="service"]::before{content:"💬"}
.luso-shop .trust span b{font-size:.88rem;font-weight:800;line-height:1.25}
.luso-shop .trust span small{font-size:.76rem;color:#637480;line-height:1.35}
.luso-shop .store-campaigns{position:relative;margin:5px 0 31px;min-width:0}
.luso-shop .store-campaign-track{min-width:0}
.luso-shop .store-campaign-slide{
  position:relative;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  align-items:center;
  gap:0;
  min-width:0;
  min-height:306px;
  overflow:hidden;
  isolation:isolate;
  border-radius:22px;
  color:#fff;
  background:radial-gradient(ellipse at 87% 46%,#517a8b 0,#1d4e72 32%,#0d3150 75%);
  box-shadow:0 12px 30px rgba(15,53,84,.13);
}
.luso-shop .store-campaign-slide[hidden]{display:none!important}
.luso-shop .store-campaign-slide::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(100deg,rgba(9,38,66,.42),transparent 70%);
  pointer-events:none;
}
.luso-shop .store-campaign-copy{
  position:relative;
  z-index:2;
  min-width:0;
  padding:32px clamp(24px,4vw,58px);
}
.luso-shop .store-campaign-kicker{
  display:block;
  margin-bottom:13px;
  font-size:.7rem;
  letter-spacing:.22em;
  font-weight:800;
  color:#d5e6ee;
}
.luso-shop .store-campaign-copy h2{
  color:#fff;
  font-family:Fraunces,Georgia,serif;
  font-size:clamp(2rem,3.4vw,3.05rem);
  line-height:1.07;
  letter-spacing:-.02em;
  margin:0 0 13px;
  max-width:17ch;
  overflow-wrap:break-word;
}
.luso-shop .store-campaign-copy p{
  margin:0 0 23px;
  max-width:39ch;
  color:#e8eef4;
  font-size:1rem;
  line-height:1.5;
}
.luso-shop .store-campaign-cta{
  min-height:46px;
  width:fit-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:11px 22px;
  border-radius:999px;
  background:#b42942;
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  font-weight:800;
  font-size:.9rem;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(69,9,22,.18);
}
.luso-shop .store-campaign-cta:hover{background:#982139;transform:translateY(-1px)}
.luso-shop .store-campaign-cta:focus-visible{outline:3px solid #fff;outline-offset:4px}
.luso-shop .store-campaign-art{
  height:100%;
  width:100%;
  min-height:250px;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:6px 20px 3px 0;
  overflow:hidden;
}
.luso-shop .store-campaign-art svg{
  width:min(100%,290px);
  max-height:306px;
  filter:drop-shadow(10px 10px 13px rgba(0,0,0,.24));
}
.luso-shop .store-campaign-picture{position:absolute;inset:0;z-index:-1;overflow:hidden}
.luso-shop .store-campaign-picture :is(img,picture){
  display:block;
  width:100%;
  height:100%;
}
.luso-shop .store-campaign-picture img{object-fit:cover}
.luso-shop .store-campaign-slide.has-image{
  background:linear-gradient(108deg,#0c2d4d,#1d506e);
}
.luso-shop .store-campaign-slide.has-image::before{
  z-index:0;
  background:linear-gradient(90deg,rgba(6,30,53,.97) 0%,rgba(6,30,53,.91) 32%,rgba(6,30,53,.62) 57%,rgba(6,30,53,.05) 100%);
}
.luso-shop .store-campaign-slide.has-product-photo .store-campaign-picture{
  inset:0 0 0 52%;
  background:linear-gradient(150deg,#f7f5f0,#dae4e7);
  padding:22px;
}
.luso-shop .store-campaign-slide.has-product-photo .store-campaign-picture img{object-fit:contain}
.luso-shop .store-campaign-controls{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  padding:9px 0 0;
}
.luso-shop .store-campaign-controls[hidden]{display:none!important}
.luso-shop .store-campaign-controls>button{
  width:38px;height:38px;display:grid;place-items:center;
  border:1px solid #d4dfe6;background:white;color:var(--store-ink);
  border-radius:50%;font-size:1.6rem;line-height:1;cursor:pointer;
}
.luso-shop .store-campaign-dots{display:flex;align-items:center;gap:9px}
.luso-shop .store-campaign-dots button{
  width:11px;height:11px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#cbd4dc;
  cursor:pointer;
}
.luso-shop .store-campaign-dots button[aria-current="true"]{width:25px;background:#173f64}
.luso-shop .store-campaign-controls :is(button):focus-visible{outline:3px solid #2c6f9c;outline-offset:3px}
.luso-shop .premium-products-heading{
  display:flex;
  align-items:end;
  gap:20px;
  margin-bottom:19px!important;
  padding:0 3px;
}
.luso-shop .premium-products-heading h2{
  color:var(--store-ink);
  font:600 clamp(1.85rem,3vw,2.45rem)/1.12 Fraunces,Georgia,serif;
  margin:5px 0 3px;
}
.luso-shop .premium-products-heading p{font-size:.93rem;color:#627685;margin:6px 0 0;line-height:1.45}
.luso-shop .premium-products-heading #productCount{
  font-size:.82rem;
  white-space:nowrap;
  margin-bottom:3px;
  color:#657b8a;
}
.luso-shop #productsGrid{gap:18px!important}
.luso-shop #productsGrid .card{
  border-radius:18px;
  border:1px solid #e0e6e9;
  background:#fff;
  box-shadow:0 5px 12px rgba(24,58,85,.025);
  transition:box-shadow .18s ease,transform .18s ease;
}
@media(hover:hover){
  .luso-shop #productsGrid .card:hover{
    box-shadow:0 12px 27px rgba(24,58,85,.09);
    transform:translateY(-2px);
  }
}
.luso-shop #productsGrid .pic{background:#fff;aspect-ratio:1/1!important}
.luso-shop #productsGrid .pic img{object-fit:contain!important}
.luso-shop #productsGrid .body{padding:16px 18px 18px!important}
.luso-shop #productsGrid .meta{font-size:.64rem;color:#2f6282}
.luso-shop #productsGrid .title{font-family:Fraunces,Georgia,serif;font-size:1.32rem;line-height:1.2}
.luso-shop #productsGrid .bottom{padding-top:12px;gap:7px}
.luso-shop #productsGrid .price{color:#102f4b}
.luso-shop #productsGrid .card-actions button{min-height:44px!important;border-radius:10px!important}
@media(max-width:899px){
 .luso-shop .shop{padding:14px 0 56px!important}
 .luso-shop .premium-shop-intro{margin:3px 0 14px}
 .luso-shop .premium-shop-intro p{font-size:1.18rem}
 .luso-shop #categoryChips{gap:10px!important;padding:9px 0 15px!important}
 .luso-shop #categoryChips .chip{min-width:93px!important}
 .luso-shop #categoryChips .chip::before{width:62px;height:62px;min-height:62px;font-size:25px}
 .luso-shop .trust{margin:4px 0 22px!important;padding:13px 7px!important}
 .luso-shop .trust span{grid-template-columns:30px minmax(0,1fr);gap:3px 7px;padding:4px 8px!important}
 .luso-shop .trust span::before{font-size:1.32rem}
 .luso-shop .trust span b{font-size:.78rem}
 .luso-shop .trust span small{font-size:.68rem}
 .luso-shop .store-campaign-slide{min-height:270px}
 .luso-shop .store-campaign-copy{padding:23px 27px}
 .luso-shop .store-campaign-copy h2{font-size:clamp(1.75rem,4vw,2.45rem)}
 .luso-shop .premium-products-heading{margin-bottom:13px!important}
}
@media(max-width:640px){
 .luso-shop header .top{height:68px!important;gap:9px}
 .luso-shop header .brand>b{width:38px!important;height:38px!important;flex-basis:38px}
 .luso-shop header .brand strong{font-size:1.26rem!important}
 .luso-shop header .brand small{font-size:.52rem!important}
 .luso-shop header .cart{min-height:44px;max-width:48vw;padding:9px 11px}
 .luso-shop .shop{padding-top:12px!important}
 .luso-shop .premium-shop-intro{margin:0 0 10px}
 .luso-shop .premium-shop-intro>span{font-size:.61rem}
 .luso-shop .premium-shop-intro p{font-size:1.05rem}
 .luso-shop .catalog-shop-tools{
   grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
   gap:9px!important;
   margin-bottom:17px;
 }
 .luso-shop .catalog-shop-tools .search{
   grid-column:1/-1;grid-row:1;
   height:56px!important;min-height:56px;
   border-radius:15px;
 }
 .luso-shop .catalog-shop-tools #openCatalogFilters{
   grid-column:1;grid-row:2;
   min-height:50px!important;
   text-align:center;
 }
 .luso-shop .catalog-shop-tools .catalog-sort{
   grid-column:2;grid-row:2;
   min-width:0;
 }
 .luso-shop .catalog-shop-tools #sortSelect{
   min-height:50px!important;
   font-size:.82rem!important;
   padding-inline:9px;
   overflow:hidden;
   text-overflow:ellipsis;
   white-space:nowrap;
 }
 .luso-shop .category-label{margin:19px 0 2px!important;font-size:.65rem!important}
 .luso-shop #categoryChips{padding-bottom:11px!important}
 .luso-shop #categoryChips .chip{min-height:106px!important;font-size:.82rem!important;min-width:90px!important}
 .luso-shop #categoryChips .chip::before{width:62px;height:62px;min-height:62px}
 .luso-shop .trust{display:flex!important;gap:0!important;overflow-x:auto!important;overscroll-behavior-x:contain!important;margin:1px 0 20px!important;padding:11px 4px!important}
 .luso-shop .trust span{
   flex:1 0 0;
   min-width:0;
   display:flex!important;
   flex-direction:column;
   align-items:center;
   text-align:center;
   gap:3px;
   padding:3px 7px!important;
   white-space:normal!important;
 }
 .luso-shop .trust span::before{font-size:1.34rem}
 .luso-shop .trust span b{font-size:.72rem}
 .luso-shop .trust span small{font-size:.63rem}
 .luso-shop .store-campaigns{margin:0 0 25px}
 .luso-shop .store-campaign-slide{
   display:grid;
   grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
   min-height:240px;
   border-radius:17px;
 }
 .luso-shop .store-campaign-copy{padding:18px 0 18px 19px}
 .luso-shop .store-campaign-kicker{font-size:.59rem;letter-spacing:.13em;margin-bottom:9px}
 .luso-shop .store-campaign-copy h2{font-size:clamp(1.5rem,5.7vw,2rem);line-height:1.11;margin-bottom:10px}
 .luso-shop .store-campaign-copy p{font-size:.76rem;line-height:1.4;margin-bottom:15px}
 .luso-shop .store-campaign-cta{min-height:43px;padding:9px 13px;font-size:.74rem;gap:7px}
 .luso-shop .store-campaign-art{height:240px;min-height:240px;padding:0 8px 0 0}
 .luso-shop .store-campaign-art svg{max-height:245px}
 .luso-shop .store-campaign-slide.has-image::before{background:linear-gradient(90deg,rgba(6,30,53,.96),rgba(6,30,53,.85) 48%,rgba(6,30,53,.25))}
 .luso-shop .store-campaign-slide.has-product-photo .store-campaign-picture{inset:0 0 0 56%;padding:10px}
 .luso-shop .store-campaign-controls{padding-top:7px}
 .luso-shop .premium-products-heading{align-items:end;gap:10px;padding:0 2px}
 .luso-shop .premium-products-heading h2{font-size:1.85rem;margin:2px 0 2px}
 .luso-shop .premium-products-heading p{font-size:.79rem;margin:5px 0 0}
 .luso-shop .premium-products-heading #productCount{font-size:.75rem}
 .luso-shop #productsGrid{gap:13px!important}
 .luso-shop #productsGrid .card{border-radius:15px}
 .luso-shop #productsGrid .body{padding:17px!important}
}
@media(max-width:370px){
 .luso-shop .trust span small{display:none}
 .luso-shop .store-campaign-slide{min-height:220px}
 .luso-shop .store-campaign-copy h2{font-size:1.43rem}
 .luso-shop .store-campaign-copy{padding-left:15px}
 .luso-shop .store-campaign-cta{padding:8px 10px}
 .luso-shop .premium-products-heading h2{font-size:1.6rem}
}
@media(prefers-reduced-motion:reduce){
 .luso-shop .store-campaign-cta,.luso-shop #categoryChips .chip::before,
 .luso-shop #productsGrid .card{transition:none!important;transform:none!important}
}


/* ==========================================================================
   LUSO PREMIUM v2 — direction approved 14/10: centered institutional header,
   bespoke gastronomic illustrations, compact mobile shopping experience.
   Scoped to Loja only; no effects on Home, Admin, cart drawer or checkout.
   ========================================================================== */
.luso-shop > header.premium-store-header{
  position:sticky;
  top:0;
  z-index:45;
  isolation:isolate;
  background:linear-gradient(125deg,#103a5e 0%,#174d75 46%,#092b4c 100%)!important;
  color:#fff;
  border-bottom:2px solid rgba(227,197,129,.48);
  box-shadow:0 5px 24px rgba(8,39,68,.2);
}
.luso-shop .premium-store-header-inner{
  position:relative;
  z-index:1;
  display:grid!important;
  grid-template-columns:60px minmax(0,1fr) 60px;
  width:min(1160px,calc(100% - 30px));
  height:103px!important;
  gap:6px!important;
  align-items:center;
  justify-items:center;
}
.luso-shop .premium-store-cart{
  position:relative!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  max-width:52px!important;
  min-height:52px!important;
  padding:0!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#fff!important;
  cursor:pointer;
  margin:0!important;
  box-shadow:none!important;
}
.luso-shop .store-header-balance{width:52px;height:52px;justify-self:start;pointer-events:none}
.luso-shop .premium-store-cart{justify-self:end}
.luso-shop .premium-store-cart:hover{
  background:rgba(255,255,255,.11)!important;
}
.luso-shop .premium-store-cart:focus-visible,
.luso-shop .store-centered-brand:focus-visible{
  outline:3px solid #f2d79b;
  outline-offset:3px;
}
.luso-shop .premium-store-cart .cart-label{display:none!important}
.luso-shop .premium-store-cart #cartCount{
  position:absolute;
  top:5px;right:5px;
  display:grid;
  place-items:center;
  width:23px;min-width:23px;height:23px;
  padding:0;
  border:1px solid #fbe4d9;
  border-radius:50%;
  background:#b6263b!important;
  color:#fff!important;
  font-size:.72rem;
  font-weight:800;
  font-family:Inter,Arial,sans-serif;
  line-height:1;
}
.luso-shop .premium-store-header .store-centered-brand{
  justify-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  width:100%;
  max-width:440px;
  height:100%;
  text-align:center;
  color:#fff!important;
  gap:0;
}
.luso-shop .premium-store-header .store-centered-brand>b{display:none!important}
.luso-shop .premium-store-header .store-centered-brand>span{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  max-width:100%;
  gap:0;
  line-height:1;
}
.luso-shop .premium-store-header .store-centered-brand strong{
  display:block!important;
  margin:0!important;
  font-family:Georgia,Fraunces,serif!important;
  font-size:clamp(2.4rem,4.4vw,3.1rem)!important;
  font-weight:500!important;
  line-height:.95!important;
  letter-spacing:.06em!important;
  color:#fff!important;
  text-shadow:0 2px 8px rgba(0,0,0,.13);
}
.luso-shop .premium-store-header .store-centered-brand small{
  display:block!important;
  margin-top:8px!important;
  font-size:clamp(.48rem,.8vw,.65rem)!important;
  font-weight:600;
  line-height:1.18;
  letter-spacing:.27em!important;
  color:#f2ede5!important;
  white-space:nowrap;
}
.luso-shop .premium-store-header .store-brand-ornament,
.luso-shop .premium-store-header .store-brand-rule{
  display:block!important;
  width:100%;
  margin:0!important;
  font-size:.66rem;
  line-height:1;
  font-family:Georgia,serif;
  text-align:center;
  color:#efd6a4;
  letter-spacing:.7em;
}
.luso-shop .premium-store-header .store-brand-rule{margin-top:2px!important;font-size:.48rem}
.luso-shop #categoryChips,
.luso-shop #storeCampaigns,
.luso-shop #productsGrid{
  scroll-margin-top:clamp(96px,12vh,130px);
}
.luso-shop .shop{padding-top:21px}
.luso-shop .catalog-shop-tools{margin-bottom:18px}
.luso-shop .catalog-shop-tools .search{gap:10px}
.luso-shop .catalog-shop-tools .premium-search-icon{
  display:block;
  flex:0 0 23px;
  width:23px;
  height:23px;
  color:#194d71;
}
.luso-shop .catalog-shop-tools .search input{padding:0 0 0 3px}
.luso-shop .catalog-shop-tools #openCatalogFilters::before{display:none!important;content:none!important}
.luso-shop .catalog-shop-tools #openCatalogFilters{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.luso-shop .catalog-shop-tools #openCatalogFilters svg{flex:0 0 19px}
.luso-shop #categoryChips{scroll-padding-inline:7px}
.luso-shop #categoryChips .chip{
  position:relative;
  min-width:112px!important;
  padding:3px 2px 8px!important;
  border:0!important;
  background:transparent!important;
  color:#173958!important;
  text-align:center;
  font-family:Fraunces,Georgia,serif;
  font-size:.95rem!important;
  letter-spacing:-.015em;
  line-height:1.17;
}
.luso-shop #categoryChips .chip::before{content:none!important;display:none!important}
.luso-shop #categoryChips .category-medallion{
  display:grid;
  place-items:center;
  width:86px;height:86px;min-width:86px;
  border:1px solid #d8e0e1;
  border-radius:50%;
  background:radial-gradient(circle at 42% 32%,#fdf8ee,#f4ede1);
  box-shadow:0 3px 10px rgba(28,52,64,.05),inset 0 0 0 2px rgba(255,255,255,.48);
  overflow:hidden;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.luso-shop #categoryChips .category-medallion img{
  display:block;
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  padding:6px;
  object-fit:contain!important;
  pointer-events:none;
}
.luso-shop #categoryChips .category-name{
  display:block;
  max-width:120px;
  white-space:normal;
  overflow-wrap:normal;
}
.luso-shop #categoryChips .chip.active .category-medallion,
.luso-shop #categoryChips .chip[aria-pressed="true"] .category-medallion{
  background:radial-gradient(circle at 39% 27%,#285b7e,#0d3051 78%);
  border-color:#0d3051;
  box-shadow:0 8px 20px rgba(9,42,70,.18);
}
.luso-shop #categoryChips .chip:hover .category-medallion{transform:translateY(-2px)}
.luso-shop #categoryChips .chip:focus-visible{outline:2px solid #2c739b;outline-offset:3px}
.luso-shop #categoryChips .chip[aria-pressed="true"]::after{
  content:"";
  display:block;
  width:33px;height:3px;
  border-radius:999px;
  background:#143c60;
  margin:4px auto 0;
}
.luso-shop .trust{margin-top:2px!important;margin-bottom:23px!important}
.luso-shop .trust span::before{display:none!important;content:none!important}
.luso-shop .trust span svg{
  grid-row:1/3;
  align-self:center;
  width:33px;height:33px;
  color:#205d83;
  max-height:none;
}
.luso-shop .store-campaign-copy h2{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.luso-shop .store-campaign-copy p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
@media(max-width:899px){
 .luso-shop .premium-store-header-inner{height:101px!important;grid-template-columns:56px minmax(0,1fr) 56px}
 .luso-shop .premium-store-header .store-centered-brand strong{font-size:2.55rem!important}
 .luso-shop .premium-store-header .store-centered-brand small{font-size:.58rem!important}
 .luso-shop .shop{padding-top:16px}
}
@media(max-width:640px){
 .luso-shop .premium-store-header-inner{
   width:calc(100% - 24px);
   grid-template-columns:49px minmax(0,1fr) 49px;
   height:93px!important;
   gap:3px!important;
 }
 .luso-shop .premium-store-header .store-centered-brand strong{font-size:clamp(2rem,8vw,2.65rem)!important}
 .luso-shop .premium-store-header .store-centered-brand small{
   font-size:clamp(.43rem,1.5vw,.58rem)!important;
   letter-spacing:.17em!important;
   margin-top:6px!important;
 }
 .luso-shop .premium-store-header .store-brand-ornament{font-size:.53rem}
 .luso-shop .premium-store-header .store-brand-rule{font-size:.4rem}
 .luso-shop .store-header-balance{width:46px;height:46px}
 .luso-shop .premium-store-cart{
   width:46px!important;min-width:46px!important;max-width:46px!important;
   height:46px!important;min-height:46px!important;
 }
 .luso-shop .shop{padding-top:14px!important}
 .luso-shop .catalog-shop-tools{margin-bottom:15px}
 .luso-shop #categoryChips{gap:10px!important;padding-top:7px!important}
 .luso-shop #categoryChips .chip{
   min-width:87px!important;
   min-height:107px!important;
   font-size:.83rem!important;
   gap:7px!important;
 }
 .luso-shop #categoryChips .category-medallion{
   width:74px;height:74px;min-width:74px;
 }
 .luso-shop #categoryChips .category-medallion img{padding:4px}
 .luso-shop .trust{padding:10px 3px!important;margin-bottom:18px!important}
 .luso-shop .trust span{padding:2px 5px!important;gap:2px!important}
 .luso-shop .trust span svg{width:25px;height:25px;max-height:none}
 .luso-shop .trust span b{font-size:.7rem;line-height:1.19}
 .luso-shop .trust span small{font-size:.62rem;line-height:1.2}
 .luso-shop .store-campaign-slide{min-height:224px}
 .luso-shop .store-campaign-copy{
   padding:17px 0 16px 16px;
 }
 .luso-shop .store-campaign-copy h2{
   font-size:clamp(1.15rem,4.5vw,1.65rem);
   line-height:1.13;
   margin-bottom:7px;
 }
 .luso-shop .store-campaign-copy p{
   font-size:.71rem;
   line-height:1.35;
   margin-bottom:12px;
 }
 .luso-shop .store-campaign-kicker{font-size:.55rem;margin-bottom:8px}
 .luso-shop .store-campaign-cta{font-size:.74rem;min-height:44px}
 .luso-shop .store-campaign-art{height:224px;min-height:224px}
 .luso-shop .store-campaign-slide.has-product-photo .store-campaign-picture{inset:0 0 0 55%;padding:8px}
}
@media(max-width:360px){
 .luso-shop .premium-store-header-inner{grid-template-columns:46px minmax(0,1fr) 46px}
 .luso-shop .premium-store-header .store-centered-brand strong{font-size:1.95rem!important}
 .luso-shop .premium-store-header .store-centered-brand small{font-size:.42rem!important}
 .luso-shop .store-campaign-copy h2{font-size:1.13rem}
 .luso-shop .trust span small{display:block!important;font-size:.57rem}
}
@media(prefers-reduced-motion:reduce){
 .luso-shop #categoryChips .category-medallion{transition:none!important;transform:none!important}
}

/* Override the legacy inline mobile `.luso-shop header .top{display:flex!important}`
   with a symmetric grid so removing the menu never offsets the wordmark. */
.luso-shop header.premium-store-header .top.premium-store-header-inner{
  display:grid!important;
  justify-content:normal!important;
  grid-template-columns:60px minmax(0,1fr) 60px;
}
@media(max-width:899px){
  .luso-shop header.premium-store-header .top.premium-store-header-inner{
    grid-template-columns:56px minmax(0,1fr) 56px;
  }
}
@media(max-width:640px){
  .luso-shop header.premium-store-header .top.premium-store-header-inner{
    grid-template-columns:49px minmax(0,1fr) 49px;
  }
}
@media(max-width:360px){
  .luso-shop header.premium-store-header .top.premium-store-header-inner{
    grid-template-columns:46px minmax(0,1fr) 46px;
  }
}

/* ==========================================================================
   LUSO premium visual QA — comfortable outer gutters at real mobile widths.
   Legacy inline .shop padding:0 and .wrap width:100% caused edge-to-edge
   controls even though inner labels/CTA had padding. Correct the container,
   not the business widgets. Keep modal, cart drawer and Home out of scope.
   ========================================================================== */
.luso-shop {
  --store-page-gutter:clamp(18px,5.1vw,28px);
}
.luso-shop main.wrap.shop {
  width:min(1120px,calc(100% - 48px))!important;
  max-width:1120px!important;
  padding-left:0!important;
  padding-right:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box;
}
.luso-shop header.premium-store-header .top.premium-store-header-inner {
  width:min(1120px,calc(100% - 48px))!important;
  max-width:1120px!important;
  padding-left:0!important;
  padding-right:0!important;
  margin-inline:auto!important;
  box-sizing:border-box;
}
@media(max-width:640px){
  .luso-shop main.wrap.shop,
  .luso-shop header.premium-store-header .top.premium-store-header-inner {
    width:calc(100% - var(--store-page-gutter) - var(--store-page-gutter))!important;
  }
  /* Respect the safe browsing area across all stacked commercial sections. */
  .luso-shop main.shop .catalog-shop-tools,
  .luso-shop main.shop #categoryChips,
  .luso-shop main.shop .trust,
  .luso-shop main.shop #storeCampaigns,
  .luso-shop main.shop #productsGrid {
    max-width:100%;
    min-width:0;
  }
  .luso-shop main.shop .store-campaign-slide{
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  }
  .luso-shop main.shop .store-campaign-copy{
    min-width:0;
    padding-left:clamp(16px,4.2vw,21px);
  }
  .luso-shop main.shop .store-campaign-cta{
    max-width:100%;
    white-space:normal;
    text-align:center;
  }
}

/* The Admin-wide campaign toggle must remove all promotional space. */
.luso-shop #storeCampaigns[hidden]{display:none!important}

/* V53: retirar a opção de retirada de todos os pontos de divulgação se pausada. */
.luso-shop .trust [data-trust="pickup"][hidden]{display:none!important}
