/* Mandrake Store Refresh v1 - unified storefront polish */
:root {
  --mg-app-bg: #f5f8ff;
  --mg-card-border: rgba(0,87,255,.12);
  --mg-card-shadow: 0 18px 44px rgba(15,23,42,.08);
  --mg-card-shadow-hover: 0 22px 54px rgba(15,23,42,.14);
  --mg-radius-xl: 1.7rem;
}
html { scroll-behavior:smooth; }
body { background: radial-gradient(circle at top left, rgba(0,87,255,.08), transparent 26rem), linear-gradient(180deg, #f8fbff 0%, var(--mg-app-bg) 100%); }
#tabsList { display:none !important; }
.mg-store, .mg-client-scope, .mg-checkout-clean, .minha-conta-main { width:min(1180px, calc(100% - 1rem)); }
@media (min-width: 640px){ .mg-store, .mg-client-scope, .mg-checkout-clean, .minha-conta-main { width:min(1180px, calc(100% - 2rem)); } }
.js-products-grid, #mgUnifiedGrid { align-items:stretch; }
.mg-product-card,.produto-card,.mg-client-product-card { height:100%; border-radius: var(--mg-radius-xl) !important; border-color: var(--mg-card-border) !important; box-shadow: var(--mg-card-shadow) !important; background: linear-gradient(180deg, #fff, #fbfdff) !important; }
.mg-product-card:hover,.produto-card:hover,.mg-client-product-card:hover { box-shadow: var(--mg-card-shadow-hover) !important; }
.mg-product-card .imagem-produto,.produto-card .produto-img,.mg-client-product-img img { width:100%; height:100%; object-fit:cover !important; display:block; }
.mg-product-card h3,.produto-card .produto-nome,.mg-client-product-body b { min-height:2.8rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mg-card-actions,.produto-card .flex.gap-3 { margin-top:auto; }
.mg-product-card .flex-1.flex-col,.produto-card .p-4,.produto-card .p-5 { display:flex; flex-direction:column; min-height:100%; }
.mg-card-meta-row { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.6rem; }
.mg-card-category,.mg-card-availability { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mg-hero-card,.checkout-topbar,.mg-client-hero,.mg-card,.checkout-card-pro,.mg-filter-panel,.mg-client-card { border-radius: 1.85rem !important; border-color: var(--mg-card-border) !important; box-shadow: var(--mg-card-shadow) !important; background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,252,255,.98)) !important; }
.mg-filter-panel { position:sticky; top:5.4rem; z-index:20; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
@media (max-width: 920px){ .mg-filter-panel { position:relative; top:0; } }
.mg-input-pro,.mg-select,.mg-input,select,textarea,input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="tel"] { border-color:#dbeafe !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }
.mg-input-pro:focus,.mg-select:focus,.mg-input:focus,select:focus,textarea:focus,input:focus { border-color:#0057ff !important; box-shadow:0 0 0 4px rgba(0,87,255,.12) !important; outline:none !important; }
.mg-detail-btn,.mg-primary-btn,.mg-client-btn,.btn,.brand-button,.checkout-final-btn { border-radius:1rem !important; font-weight:800 !important; }
.checkout-layout-clean { align-items:start; }
.checkout-summary-card { position:sticky; top:5.8rem; }
@media (max-width: 991px) { .checkout-summary-card { position:relative; top:0; } }
.checkout-step-clean { border:1px solid rgba(0,87,255,.10); background:linear-gradient(180deg,#fff,#fbfdff); }
.checkout-mobile-bar { backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); background: rgba(255,255,255,.92) !important; border-top:1px solid rgba(0,87,255,.14); }
.mg-reviews-grid { display:grid; gap:1rem; }
.mg-review-card { border:1px solid rgba(0,87,255,.10); border-radius:1.2rem; padding:1rem; background:linear-gradient(180deg,#fff,#fbfdff); box-shadow:0 10px 24px rgba(15,23,42,.05); }
.mg-review-head { display:flex; align-items:center; gap:.85rem; margin-bottom:.75rem; }
.mg-review-avatar,.mg-review-avatar-fallback { width:3rem; height:3rem; border-radius:999px; flex:0 0 auto; object-fit:cover; border:2px solid #fff; box-shadow:0 10px 22px rgba(15,23,42,.12); background:#eef5ff; }
.mg-review-avatar-fallback { display:grid; place-items:center; font-weight:900; color:#0057ff; }
.mg-review-meta { min-width:0; }
.mg-review-name { font-weight:800; display:block; }
.mg-review-date { font-size:.78rem; color:#64748b; font-weight:600; }
.mg-review-stars { color:#f59e0b; letter-spacing:.05em; font-size:.95rem; }
.mg-product-breadcrumb { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1rem; font-size:.88rem; font-weight:800; color:#64748b; }
.mg-product-breadcrumb a { color:#0057ff; text-decoration:none; }
.mg-product-actions { display:grid; gap:.75rem; }
@media (min-width:640px){ .mg-product-actions.two { grid-template-columns:1fr 1fr; } }
.mg-product-card[data-product-url], .produto-card[data-product-url] { position:relative; }
.mg-product-card[data-product-url]::after, .produto-card[data-product-url]::after { content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit; box-shadow: inset 0 0 0 0 rgba(0,87,255,0); transition: box-shadow .2s ease; }
.mg-product-card[data-product-url]:hover::after, .produto-card[data-product-url]:hover::after { box-shadow: inset 0 0 0 1px rgba(0,87,255,.18); }
@media (max-width: 640px) {
  .mg-store { padding-top:5.45rem !important; padding-bottom:5.8rem !important; }
  .produto-card .produto-img { height: 13rem !important; }
}


/* Product listing bugfix/mobile polish v2 */
.mg-product-card .mg-product-image-wrap { aspect-ratio:4/5 !important; min-height:auto !important; overflow:hidden !important; }
.mg-product-card .imagem-produto { display:block !important; width:100% !important; height:100% !important; object-fit:cover !important; padding:0 !important; opacity:1 !important; visibility:visible !important; background:#eef5ff !important; }
@media (max-width: 640px) {
  .js-products-grid, #mgUnifiedGrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap:.72rem !important; }
  .mg-product-card { border-radius:1.15rem !important; overflow:hidden !important; }
  .mg-product-card .mg-product-image-wrap { aspect-ratio: 3 / 4 !important; }
  .mg-product-card .flex-1.flex-col { padding:.72rem !important; }
  .mg-product-card h3 { font-size:.82rem !important; line-height:1.18rem !important; min-height:2.35rem !important; }
  .mg-card-meta-row { gap:.35rem !important; margin-bottom:.45rem !important; }
  .mg-card-category, .mg-card-availability { max-width:50%; font-size:.62rem !important; padding:.25rem .45rem !important; }
  .mg-product-card .text-lg, .mg-product-card .sm\:text-xl { font-size:1rem !important; line-height:1.1 !important; }
  .mg-size-label, .mg-color-chip-label { font-size:.68rem !important; padding:.35rem .55rem !important; }
  .mg-card-actions { display:grid !important; grid-template-columns:1fr !important; gap:.45rem !important; padding:.65rem !important; }
  .mg-card-actions .mg-detail-btn, .mg-card-actions .mg-primary-btn { width:100% !important; min-height:2.55rem !important; font-size:.78rem !important; }
  .js-carousel-prev, .js-carousel-next { display:none !important; }
  .mg-fav-btn { width:2.25rem !important; height:2.25rem !important; top:.45rem !important; right:.45rem !important; }
  .mg-filter-panel { margin-left:0 !important; margin-right:0 !important; padding:.9rem !important; border-radius:1.25rem !important; }
  .mg-product-filter-grid { grid-template-columns:1fr !important; }
}
@media (min-width: 641px) and (max-width: 1024px) {
  .js-products-grid, #mgUnifiedGrid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .mg-product-card .mg-product-image-wrap { aspect-ratio:4/5 !important; }
}
@media (min-width: 1025px) {
  .js-products-grid, #mgUnifiedGrid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
