/* Outlet Shop — cards + filtro + cesta */
:root { --navy:#161C2F; --orange:#EE4423; }
/* H2 + filtros fixam abaixo do header do site (que ENCOLHE ao rolar). --dx-header-h é
   atualizado por JS (outlet-shop.js) com a altura ATUAL do header → sem gap nem corte. */
.dx-outlet-head { position:sticky; top:var(--dx-header-h,90px); z-index:40; background:#fff; padding-top:10px; }
.dx-outlet-title { font-family:var(--wp--preset--font-family--dm-sans,inherit); font-size:1.6rem; line-height:1.2; font-weight:700; color:var(--navy); margin:0 0 10px; }
.dx-outlet-bar { background:#fff; padding-bottom:10px; border-bottom:1px solid #e2e7ee; display:flex; flex-direction:column; gap:10px; }
/* chips sempre em 1 linha — scroll horizontal com fade, sem scrollbar visível */
.dx-outlet-chips { display:flex; flex-wrap:nowrap; gap:6px; padding:2px 0; overflow-x:auto; scrollbar-width:none; -webkit-mask-image:linear-gradient(to right,#000 85%,transparent); mask-image:linear-gradient(to right,#000 85%,transparent); }
.dx-outlet-chips::-webkit-scrollbar { display:none; }
.dx-chip { white-space:nowrap; padding:5px 12px; border-radius:16px; border:1px solid #d3d8e0; background:#fff; color:#2b3346; font-size:12px; font-weight:600; cursor:pointer; transition:background .15s,color .15s,border-color .15s; }
.dx-chip:hover { border-color:var(--navy); }
.dx-chip.is-on { background:var(--navy); color:#fff; border-color:var(--navy); }
.dx-chip--sm { padding:4px 10px; font-size:11px; }
/* seções por categoria — vertical; cada uma um carrossel horizontal */
.dx-outlet-sections { margin-top:16px; }
.dx-cat { margin-bottom:26px; }
.dx-cat[hidden] { display:none !important; }
.dx-cat__title { font-family:var(--wp--preset--font-family--dm-sans,inherit); font-size:1.1rem; font-weight:700; color:var(--navy); margin:0 0 10px; display:flex; align-items:center; gap:8px; }
.dx-cat__count { font-size:11px; font-weight:700; color:#8b94a5; background:#eef1f6; border-radius:10px; padding:1px 8px; }
.dx-carousel-wrap { position:relative; }
.dx-carousel { display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:2px 2px 8px; scroll-behavior:smooth; }
.dx-carousel::-webkit-scrollbar { display:none; }
/* setas ‹ › do carrossel — centradas sobre a área da imagem */
.dx-caro-btn { position:absolute; top:38%; transform:translateY(-50%); z-index:3; width:40px; height:40px; border-radius:50%; border:1px solid #e2e7ee; background:rgba(255,255,255,.96); color:var(--navy); font-size:24px; line-height:1; font-weight:700; cursor:pointer; box-shadow:0 3px 12px rgba(20,28,47,.18); display:flex; align-items:center; justify-content:center; transition:background .15s; }
.dx-caro-btn:hover { background:#fff; }
.dx-caro-btn[hidden] { display:none; }
.dx-caro-prev { left:6px; }
.dx-caro-next { right:6px; }
.dx-card { position:relative; flex:0 0 260px; scroll-snap-align:start; background:#fff; border:1px solid #e2e7ee; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 2px 10px rgba(20,28,47,.05); }
.dx-card[hidden] { display:none !important; }
/* ribbons — sobrepostos na imagem */
.dx-ribbons { position:absolute; top:8px; left:8px; z-index:2; display:flex; flex-direction:column; gap:4px; align-items:flex-start; }
.dx-ribbon { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#fff; padding:2px 8px; border-radius:4px; box-shadow:0 1px 4px rgba(20,28,47,.25); }
.dx-ribbon--ultima { background:#c0392b; }
.dx-ribbon--novo { background:#1a8a4a; }
.dx-ribbon--semi { background:#b8860b; }
.dx-card__media { aspect-ratio:3/2; background:#f4f6fa; display:flex; align-items:center; justify-content:center; }
.dx-card__media img { width:100%; height:100%; object-fit:contain; }
.dx-card__ph { color:#aeb6c4; font-weight:700; letter-spacing:.05em; font-size:13px; }
.dx-card__body { padding:10px 12px; display:flex; flex-direction:column; gap:0; flex:1; }
/* marca + modelo na mesma linha */
.dx-card__brand-row { display:flex; align-items:center; gap:7px; margin-bottom:5px; }
.dx-card__brand { font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--orange); font-weight:700; }
.dx-card__sku { font-size:12px; color:#b0b8c8; font-weight:400; }
.dx-card__name { font-size:16px; font-weight:700; color:var(--navy); margin:0 0 4px; line-height:1.2; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.dx-card__tagline { font-size:12px; color:#7a8499; font-style:italic; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
/* footer — preço + ações empurradas ao fundo do card */
.dx-card__footer { margin-top:auto; padding-top:8px; display:flex; flex-direction:column; gap:3px; }
.dx-price__label { font-size:11px; color:#9aa3b2; letter-spacing:.02em; text-transform:uppercase; }
/* badge de desconto sobreposto na imagem, canto direito (oposto aos ribbons) */
.dx-off-badge { position:absolute; top:8px; right:8px; z-index:2; background:#1a8a4a; color:#fff; font-size:12px; font-weight:800; padding:3px 9px; border-radius:5px; letter-spacing:.02em; box-shadow:0 1px 4px rgba(20,28,47,.25); }
/* duas ações lado a lado: preço (ou Ver preço) + cotação */
.dx-card__actions { display:flex; gap:7px; align-items:stretch; }
.dx-vto { flex:1; display:flex; align-items:center; justify-content:center; min-height:38px; background:#eef0f6; border-radius:8px; padding:6px 8px; font-size:15px; font-weight:800; color:var(--navy); text-align:center; }
.dx-vto .dx-price-gate-cta { width:100%; justify-content:center; border-radius:6px; font-size:0.82rem; padding:0.4rem 0.6rem; }
.dx-vadd { flex:1; background:var(--navy); color:#fff; border:none; font-size:14px; font-weight:700; padding:6px 10px; border-radius:8px; cursor:pointer; white-space:nowrap; min-height:38px; display:flex; align-items:center; justify-content:center; }
.dx-vadd:hover { background:#0f1520; }
.dx-card__disc { font-size:10px; color:#aeb6c4; font-style:italic; margin:6px 0 0; border-top:1px dashed #e2e7ee; padding-top:5px; }
.dx-outlet-noresult { text-align:center; color:#9aa3b2; padding:30px; }
/* Cesta */
.dx-cart-fab { position:fixed; bottom:18px; right:18px; z-index:99990; background:var(--orange); color:#fff; border:none; border-radius:28px; padding:13px 20px; font-size:15px; font-weight:700; box-shadow:0 6px 20px rgba(238,68,35,.4); cursor:pointer; }
.dx-cart-fab[hidden] { display:none !important; }
.dx-cart-drawer { position:fixed; top:0; right:0; bottom:0; width:380px; max-width:92vw; background:#fff; z-index:100001; box-shadow:-8px 0 30px rgba(20,28,47,.2); transform:translateX(100%); transition:transform .25s; display:flex; flex-direction:column; }
.dx-cart-drawer.is-open { transform:translateX(0); }
.dx-cart-hd { background:var(--navy); color:#fff; padding:14px 16px; display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; }
.dx-cart-items { flex:1; overflow:auto; }
.dx-cart-item { display:flex; gap:10px; padding:10px 16px; border-bottom:1px solid #f3f5f9; align-items:center; }
.dx-cart-item__info { flex:1; min-width:0; }
.dx-cart-foot { padding:14px 16px; background:#f7f9fc; border-top:1px solid #e2e7ee; }
.dx-cart-field { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #d3d8e0; border-radius:7px; font-size:14px; margin-bottom:8px; }
.dx-cart-field.is-err { border-color:#c0392b; }
.dx-cart-send { width:100%; background:#25D366; color:#fff; border:none; font-size:15px; font-weight:700; padding:12px; border-radius:8px; cursor:pointer; }
.dx-cart-backdrop { position:fixed; inset:0; background:rgba(20,28,47,.4); z-index:100000; opacity:0; pointer-events:none; transition:opacity .25s; }
.dx-cart-backdrop.is-open { opacity:1; pointer-events:auto; }
@media (max-width:640px){
  /* top do header sticky vem de --dx-header-h (JS) — vale p/ mobile também */
  .dx-outlet-title{ font-size:1.2rem; margin-bottom:8px; }
/* mobile: card ocupa a largura inteira; setas ‹ › navegam (swipe também funciona) */
  .dx-card{ flex:0 0 100%; }
  .dx-carousel{ gap:12px; scroll-snap-type:x mandatory; padding-left:0; padding-right:0; }
}

/* Observações — cards navy com borda + accent laranja no destaque */
.dx-obs-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; }
.dx-obs-card { background:#1e2740; border:1px solid rgba(255,255,255,.12); border-left:3px solid var(--orange); border-radius:10px; padding:16px 18px; }
.dx-obs-card__hl { display:block; color:var(--orange); font-weight:700; font-size:14px; letter-spacing:.01em; margin-bottom:6px; }
.dx-obs-card p { color:#cdd3df; font-size:14px; line-height:1.5; margin:0; }
