/*
Theme Name: স্বাধীন-বাজার Shadin Bazer
Theme URI: https://shadinbazer.com
Author: স্বাধীন-বাজার Shadin Bazer
Author URI: https://shadinbazer.com
Description: স্বাধীন-বাজার Shadin Bazer official responsive WordPress and WooCommerce storefront theme.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: shadin-bazer-theme
Tags: e-commerce, custom-menu, featured-images, translation-ready, full-site-editing
*/

/* Reset & Root Mounting Styles */
html, body {
  margin: 0;
  padding: 0;
  background-color: #f8fafc;
  color: #0f172a;
  font-family: 'Hind Siliguri', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#root {
  min-height: 100vh;
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
}

/* Responsive sizing guardrails: keep intrinsic media and box dimensions
 * inside their parent without changing the site's visual content or layout.
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

img,
video,
canvas {
  height: auto;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}


/* Shadin Bazer admin panel: mobile-only responsive containment.
 * Scoped to .shadin-admin-panel so the storefront/customer site is untouched.
 */
.shadin-admin-panel {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  box-sizing: border-box;
}

.shadin-admin-panel,
.shadin-admin-panel * {
  box-sizing: border-box;
}

@media (max-width: 767.98px) {
  /* The admin route is rendered inside the app's normal content flow.
     Make ONLY the admin panel a true mobile full-bleed surface so it
     cannot inherit a narrower/desktop-sized ancestor width. */
  .shadin-admin-panel {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    min-width: 0;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow-x: hidden;
  }

  .shadin-admin-panel .max-w-6xl {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-left: auto;
    margin-right: auto;
  }

  /* The four admin tabs were flex items with long labels. On a phone
     their intrinsic text width could force the whole admin page wider
     than the viewport. Keep them inside the viewport in a 2x2 grid. */
  .shadin-admin-panel .max-w-6xl > .flex.border-b.border-slate-200.mb-6 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
  }

  .shadin-admin-panel .max-w-6xl > .flex.border-b.border-slate-200.mb-6 > button {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.35;
  }

  .shadin-admin-panel input,
  .shadin-admin-panel select,
  .shadin-admin-panel textarea {
    max-width: 100%;
    min-width: 0;
  }

  .shadin-admin-panel .overflow-x-auto {
    max-width: 100%;
  }
}


/* Premium styling for the five trust/service cards only.
 * Scoped to .sb-premium-trust so no other storefront section is changed.
 */
#root .sb-premium-trust {
  position: relative;
  isolation: isolate;
  background: transparent;
  border-top: 0;
  border-bottom: 0;
}

/* Keep the selected section background inside the same framed width on
   mobile and desktop. Only width is constrained; section height/padding stay unchanged. */
#root .sb-premium-trust::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 32px);
  max-width: 80rem;
  background: var(--sb-trust-section-bg, #f0fdf4);
  border-radius: 24px;
  border-top: 1px solid rgba(16, 185, 129, 0.10);
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  z-index: -1;
  pointer-events: none;
}

#root .sb-premium-trust-card {
  position: relative;
  overflow: hidden;
  min-height: 76px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(16, 185, 129, 0.18);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07), 0 1px 2px rgba(15, 23, 42, 0.04);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

#root .sb-premium-trust-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #16a34a 0%, #10b981 55%, #2563eb 100%);
  opacity: 0.85;
}

#root .sb-premium-trust-card:hover {
  transform: translateY(-2px);
  border-color: rgba(16, 185, 129, 0.38);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.10), 0 3px 8px rgba(16, 185, 129, 0.08);
}

#root .sb-premium-trust-icon {
  background: linear-gradient(145deg, #ecfdf5 0%, #ffffff 72%);
  border-color: rgba(16, 185, 129, 0.18);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.10);
}

#root .sb-premium-trust-card:hover .sb-premium-trust-icon {
  box-shadow: 0 7px 16px rgba(16, 185, 129, 0.16);
}

#root .sb-premium-trust-title {
  letter-spacing: -0.01em;
}

#root .sb-premium-trust-desc {
  color: #64748b;
  line-height: 1.45;
}

@media (max-width: 639px) {
  #root .sb-premium-trust-card {
    min-height: 72px;
    padding: 0.75rem;
  }
}


/* Shadin Bazer — desktop banner image fit fix.
 * Keeps the existing banner frame size and all mobile behavior unchanged.
 * On desktop only, the complete 1200x800 banner artwork is fitted inside
 * the existing frame instead of being cropped by object-fit: cover.
 */
@media (min-width: 1024px) {
  .shadin-desktop-banner-frame {
    background-color: #ffffff !important;
  }

  /* Desktop only: keep the EXISTING banner frame dimensions exactly as-is.
   * The source artwork is 1200x800 while the existing desktop frame is wider.
   * Use fill so the complete source artwork is visible inside the unchanged
   * frame: no crop, no cover-zoom, no letterbox, and no hover zoom.
   * Mobile rules are intentionally untouched.
   */
  .shadin-desktop-banner-frame .shadin-desktop-banner-image {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: fill !important;
    object-position: center center !important;
    transform: none !important;
  }

  .shadin-desktop-banner-frame:hover .shadin-desktop-banner-image {
    transform: none !important;
  }
}
/* Facebook/Meta settings: keep these fields explicitly interactive.
 * Scoped only to the Facebook/Meta settings panel.
 */
.shadin-facebook-meta-settings,
.shadin-facebook-meta-fields {
  position: relative;
  z-index: 20;
  pointer-events: auto !important;
}

.shadin-facebook-meta-input {
  position: relative;
  z-index: 30;
  pointer-events: auto !important;
  user-select: text !important;
  -webkit-user-select: text !important;
  touch-action: manipulation;
  cursor: text !important;
  -webkit-appearance: auto;
  appearance: auto;
}

.shadin-facebook-meta-input:disabled,
.shadin-facebook-meta-input[readonly] {
  pointer-events: auto !important;
  opacity: 1 !important;
  cursor: text !important;
}



/* Header logo sizing correction: keep the full brand mark visible without zoom/cropping. */
.custom-logo-link, a.custom-logo-link, .site-logo, .site-branding .custom-logo-link {
  display: inline-flex !important; align-items: center !important; max-width: 240px !important;
  width: auto !important; height: auto !important; max-height: 64px !important; overflow: hidden !important;
}
.custom-logo, .custom-logo-link img, .site-branding img, .site-logo img, header img[src*="shadin-bazer-logo"], img[src*="shadin-bazer-logo.png"] {
  display: block !important; width: auto !important; height: auto !important;
  max-width: min(240px, 42vw) !important; max-height: 58px !important;
  object-fit: contain !important; object-position: center !important; transform: none !important;
}
@media (max-width: 768px) {
  .custom-logo-link, a.custom-logo-link, .site-logo, .site-branding .custom-logo-link { max-width: 160px !important; max-height: 46px !important; }
  .custom-logo, .custom-logo-link img, .site-branding img, .site-logo img, header img[src*="shadin-bazer-logo"], img[src*="shadin-bazer-logo.png"] { max-width: min(160px, 48vw) !important; max-height: 42px !important; }
}





/* V5: responsive logo sizing controlled by WordPress Dashboard > Appearance > Header Logo Size. */
#root .sb-header-logo-frame {
  width: var(--shadin-logo-desktop-width, 200px) !important;
  height: var(--shadin-logo-desktop-height, 86px) !important;
  max-width: var(--shadin-logo-desktop-width, 200px) !important;
  min-width: 0 !important;
  flex: 0 0 var(--shadin-logo-desktop-width, 200px) !important;
  overflow: visible !important;
}
#root .sb-header-logo-frame .sb-header-logo-image {
  display: block !important; width: 100% !important; height: 100% !important;
  max-width: 100% !important; max-height: 100% !important;
  object-fit: contain !important; object-position: left center !important; transform: none !important;
}
@media (max-width: 767.98px) {
  #root .sb-header-logo-frame {
    width: var(--shadin-logo-mobile-width, 175px) !important;
    height: var(--shadin-logo-mobile-height, 75px) !important;
    max-width: var(--shadin-logo-mobile-width, 175px) !important;
    flex: 0 0 var(--shadin-logo-mobile-width, 175px) !important;
  }
}

/* Mobile checkout text and payment options compact sizing */
@media (max-width: 600px) {
  #root .fixed.inset-0 form { font-size: 11px !important; line-height: 1.35 !important; }
  #root .fixed.inset-0 form h3, #root .fixed.inset-0 form h4 { font-size: 11px !important; line-height: 1.35 !important; }
  #root .fixed.inset-0 form label, #root .fixed.inset-0 form p, #root .fixed.inset-0 form span, #root .fixed.inset-0 form button { font-size: 10px !important; line-height: 1.35 !important; }
  #root .fixed.inset-0 form input, #root .fixed.inset-0 form select, #root .fixed.inset-0 form textarea { font-size: 11px !important; padding: 6px 8px !important; min-height: 30px !important; }
  #root .fixed.inset-0 form button { padding: 6px 8px !important; border-radius: 8px !important; }
  #root .fixed.inset-0 form img { max-height: 30px !important; object-fit: contain !important; }
}

/* Shadin Bazer checkout: stronger mobile compact layout, matching supplied screenshot. */
@media (max-width: 600px) {
  /* The checkout is a modal div, not a form; target its actual structure. */
  #root .fixed.inset-0.z-50 > .max-w-2xl {
    width: calc(100vw - 16px) !important;
    max-width: 100% !important;
    border-radius: 14px !important;
  }
  #root .fixed.inset-0.z-50 > .max-w-2xl > .bg-slate-900 {
    padding: 8px 12px !important;
    min-height: 52px !important;
  }
  #root .fixed.inset-0.z-50 > .max-w-2xl > .flex-1.overflow-y-auto {
    padding: 8px !important;
  }
  #root .fixed.inset-0.z-50 > .max-w-2xl h3 { font-size: 12px !important; line-height: 1.25 !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl h4,
  #root .fixed.inset-0.z-50 > .max-w-2xl label,
  #root .fixed.inset-0.z-50 > .max-w-2xl p,
  #root .fixed.inset-0.z-50 > .max-w-2xl span { font-size: 10px !important; line-height: 1.25 !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl input,
  #root .fixed.inset-0.z-50 > .max-w-2xl textarea,
  #root .fixed.inset-0.z-50 > .max-w-2xl select { font-size: 10px !important; min-height: 28px !important; padding: 5px 7px !important; }
  /* Payment method cards and their bKash, Nagad, Bank, SSLCommerz, Stripe logos */
  #root .fixed.inset-0.z-50 > .max-w-2xl button img {
    width: 42px !important;
    height: 22px !important;
    max-width: 42px !important;
    max-height: 22px !important;
    margin: 0 auto 3px !important;
    object-fit: contain !important;
  }
  #root .fixed.inset-0.z-50 > .max-w-2xl button {
    font-size: 10px !important;
    line-height: 1.2 !important;
    padding: 5px 3px !important;
    border-radius: 8px !important;
    min-width: 0 !important;
  }
  #root .fixed.inset-0.z-50 > .max-w-2xl .gap-3 { gap: 5px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .gap-2 { gap: 4px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .p-3 { padding: 5px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .p-4 { padding: 7px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .text-lg { font-size: 12px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .text-base { font-size: 11px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .space-y-4 > :not(:first-child) { margin-top: 7px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .space-y-3 > :not(:first-child) { margin-top: 5px !important; }
}

/* Shadin Bazer: extra-compact checkout for small mobile screens. Scoped to checkout modal only. */
@media (max-width: 600px) {
  #root .fixed.inset-0.z-50 { padding: 4px !important; align-items: center !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl {
    width: calc(100vw - 8px) !important; max-width: 100% !important;
    max-height: calc(100dvh - 8px) !important; border-radius: 10px !important;
  }
  #root .fixed.inset-0.z-50 > .max-w-2xl > .bg-slate-900 { padding: 5px 8px !important; min-height: 38px !important; gap: 6px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl > .bg-slate-900 img,
  #root .fixed.inset-0.z-50 > .max-w-2xl > .bg-slate-900 svg { width: 24px !important; height: 24px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl > .flex-1.overflow-y-auto { padding: 5px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl h3 { font-size: 10px !important; line-height: 1.15 !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl h4 { font-size: 10px !important; line-height: 1.15 !important; margin-bottom: 3px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl label,
  #root .fixed.inset-0.z-50 > .max-w-2xl p,
  #root .fixed.inset-0.z-50 > .max-w-2xl span { font-size: 9px !important; line-height: 1.15 !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl input,
  #root .fixed.inset-0.z-50 > .max-w-2xl textarea,
  #root .fixed.inset-0.z-50 > .max-w-2xl select { font-size: 9px !important; min-height: 24px !important; height: 24px !important; padding: 3px 5px !important; border-radius: 7px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl button { font-size: 9px !important; line-height: 1.1 !important; padding: 4px 3px !important; border-radius: 6px !important; min-width: 0 !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl button img { width: 25px !important; height: 14px !important; max-width: 25px !important; max-height: 14px !important; margin: 0 auto 1px !important; object-fit: contain !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .gap-3 { gap: 3px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .gap-2 { gap: 3px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .p-3 { padding: 4px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .p-4 { padding: 4px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .p-2\.5 { padding: 4px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .text-lg { font-size: 10px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .text-base { font-size: 9px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .text-xs { font-size: 9px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .text-\[11px\] { font-size: 8px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .space-y-4 > :not(:first-child) { margin-top: 4px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .space-y-3 > :not(:first-child) { margin-top: 3px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .space-y-2 > :not(:first-child) { margin-top: 3px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .mb-4 { margin-bottom: 4px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .mb-2 { margin-bottom: 3px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .mt-2 { margin-top: 3px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .py-3\.5 { padding-top: 5px !important; padding-bottom: 5px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .py-3 { padding-top: 4px !important; padding-bottom: 4px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .rounded-xl { border-radius: 7px !important; }
}


/* Final mobile checkout compact pass: keep order number and cancel actions visible */
@media (max-width: 600px) {
  #root .fixed.inset-0.z-50 { padding: 2px !important; align-items: center !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl {
    width: calc(100vw - 4px) !important; max-width: calc(100vw - 4px) !important;
    max-height: calc(100dvh - 4px) !important; height: auto !important;
    overflow: hidden !important; border-radius: 7px !important;
  }
  #root .fixed.inset-0.z-50 > .max-w-2xl > .bg-slate-900 { padding: 3px 6px !important; min-height: 29px !important; gap: 4px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl > .bg-slate-900 img,
  #root .fixed.inset-0.z-50 > .max-w-2xl > .bg-slate-900 svg { width: 18px !important; height: 18px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl > .flex-1.overflow-y-auto {
    padding: 3px !important; overflow-y: auto !important; min-height: 0 !important;
    max-height: calc(100dvh - 38px) !important;
  }
  #root .fixed.inset-0.z-50 > .max-w-2xl h2,
  #root .fixed.inset-0.z-50 > .max-w-2xl h3,
  #root .fixed.inset-0.z-50 > .max-w-2xl h4 { font-size: 9px !important; line-height: 1.05 !important; margin-top: 1px !important; margin-bottom: 2px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl label,
  #root .fixed.inset-0.z-50 > .max-w-2xl p,
  #root .fixed.inset-0.z-50 > .max-w-2xl span { font-size: 8px !important; line-height: 1.05 !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl input,
  #root .fixed.inset-0.z-50 > .max-w-2xl textarea,
  #root .fixed.inset-0.z-50 > .max-w-2xl select { font-size: 8px !important; min-height: 20px !important; height: 20px !important; padding: 2px 4px !important; border-radius: 4px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl button { font-size: 8px !important; line-height: 1.02 !important; padding: 3px 2px !important; min-height: 0 !important; border-radius: 4px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl button img { width: 19px !important; height: 11px !important; max-width: 19px !important; max-height: 11px !important; margin: 0 auto 1px !important; object-fit: contain !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .gap-3,
  #root .fixed.inset-0.z-50 > .max-w-2xl .gap-2 { gap: 2px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .p-3,
  #root .fixed.inset-0.z-50 > .max-w-2xl .p-4,
  #root .fixed.inset-0.z-50 > .max-w-2xl .p-2\.5 { padding: 3px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .text-lg { font-size: 9px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .text-base,
  #root .fixed.inset-0.z-50 > .max-w-2xl .text-xs { font-size: 8px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .space-y-4 > :not(:first-child),
  #root .fixed.inset-0.z-50 > .max-w-2xl .space-y-3 > :not(:first-child),
  #root .fixed.inset-0.z-50 > .max-w-2xl .space-y-2 > :not(:first-child) { margin-top: 2px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .mb-4,
  #root .fixed.inset-0.z-50 > .max-w-2xl .mb-2 { margin-bottom: 2px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .mt-2 { margin-top: 2px !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl .py-3, 
  #root .fixed.inset-0.z-50 > .max-w-2xl .py-3\.5 { padding-top: 3px !important; padding-bottom: 3px !important; }
}


/* Shadin Bazer: slightly taller mobile checkout frame while keeping its content scrollable */
@media (max-width: 600px) {
  #root .fixed.inset-0.z-50 { padding: 4px !important; align-items: center !important; }
  #root .fixed.inset-0.z-50 > .max-w-2xl {
    height: calc(100dvh - 12px) !important;
    max-height: calc(100dvh - 8px) !important;
    min-height: min(92dvh, 520px) !important;
    display: flex !important; flex-direction: column !important;
    overflow: hidden !important;
  }
  #root .fixed.inset-0.z-50 > .max-w-2xl > .flex-1.overflow-y-auto {
    flex: 1 1 auto !important; min-height: 0 !important;
    max-height: none !important; overflow-y: auto !important;
  }
}


/* Shadin Bazer: ensure product-detail Add to Cart remains visible and accessible. */
#root .fixed.inset-0.z-50 button.bg-emerald-600 {
  display: flex !important; visibility: visible !important; opacity: 1 !important;
  align-items: center !important; justify-content: center !important;
  min-height: 44px !important; position: relative; z-index: 2;
}
/* Consistent home-page header action sizing: Cart, Admin, My Account. */
#root button[title="কার্ট খুলুন"],
#root button[title="অ্যাডমিন ম্যানেজমেন্ট"],
#root button[aria-label="My Account"] {
  box-sizing: border-box !important; height: 40px !important; min-height: 40px !important;
  min-width: 112px !important; padding: 0 12px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  vertical-align: middle; white-space: nowrap;
}
/* Mobile-only compact header actions. Desktop sizing above remains unchanged. */
@media (max-width: 600px) {
  #root button[title="কার্ট খুলুন"],
  #root button[title="অ্যাডমিন ম্যানেজমেন্ট"],
  #root button[aria-label="My Account"] {
    box-sizing: border-box !important;
    width: 54px !important;
    min-width: 0 !important;
    max-width: 54px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 3px !important;
    gap: 3px !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    flex: 0 1 54px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    justify-content: center !important;
  }
  #root button[title="কার্ট খুলুন"] svg,
  #root button[title="অ্যাডমিন ম্যানেজমেন্ট"] svg,
  #root button[aria-label="My Account"] svg {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    min-height: 14px !important;
    flex-shrink: 0 !important;
  }
}
@media (max-width: 360px) {
  #root button[title="কার্ট খুলুন"],
  #root button[title="অ্যাডমিন ম্যানেজমেন্ট"],
  #root button[aria-label="My Account"] {
    width: 48px !important;
    max-width: 48px !important;
    flex-basis: 48px !important;
    font-size: 7px !important;
    gap: 1px !important;
  }
}


/* Product-card action buttons: consistent full grid-cell width and matching height. */
#root .shadin-cart-action-btn {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  flex: 1 1 0% !important;
}




/* Shadin Bazer contact widget: WhatsApp launcher with temporary contact menu. */
.shadin-contact-widget { position: fixed; right: 18px; bottom: 24px; z-index: 99990; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; font-family: inherit; }
.shadin-contact-main { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 52px; padding: 10px 17px; border: 2px solid rgba(255,255,255,.95); border-radius: 999px; background: #16a34a; color: #fff !important; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; box-shadow: 0 5px 20px rgba(15,23,42,.26); }
.shadin-contact-main svg { width: 27px; height: 27px; flex: 0 0 27px; }
.shadin-contact-main:hover, .shadin-contact-main:focus-visible { background: #12813c; transform: translateY(-1px); outline: 3px solid rgba(22,163,74,.25); outline-offset: 3px; }
.shadin-contact-panel { width: min(290px, calc(100vw - 32px)); padding: 13px; border: 1px solid #e2e8f0; border-radius: 17px; background: #fff; box-shadow: 0 10px 35px rgba(15,23,42,.22); display: flex; flex-direction: column; gap: 9px; animation: shadinContactIn .18s ease-out; }
.shadin-contact-panel[hidden] { display: none !important; }
.shadin-contact-welcome { display: flex; flex-direction: column; gap: 5px; padding: 4px 4px 9px; color: #0f172a; }
.shadin-contact-welcome strong { font-size: 15px; line-height: 1.5; }
.shadin-contact-welcome span { color: #475569; font-size: 12px; line-height: 1.6; }
.shadin-contact-option { display: flex; align-items: center; gap: 10px; min-height: 43px; padding: 9px 12px; border-radius: 11px; color: #fff !important; text-decoration: none !important; font-size: 13px; font-weight: 700; box-sizing: border-box; }
.shadin-contact-option svg { width: 22px; height: 22px; flex: 0 0 22px; }
.shadin-contact-option__icon { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; flex: 0 0 22px; border-radius: 50%; background: #fff; color: #1877f2; font-family: Arial,sans-serif; font-size: 20px; font-weight: 800; }
.shadin-contact-option--facebook { background: #1877f2; }
.shadin-contact-option--whatsapp { background: #16a34a; }
.shadin-contact-option--call { background: #ea580c; }
.shadin-contact-option:hover, .shadin-contact-option:focus-visible { filter: brightness(.93); outline: 2px solid #cbd5e1; outline-offset: 2px; }
@keyframes shadinContactIn { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) { .shadin-contact-widget { right: 10px; bottom: 84px; gap: 9px; } .shadin-contact-main { min-height: 48px; padding: 8px 14px; font-size: 13px; } .shadin-contact-main svg { width: 25px; height: 25px; flex-basis: 25px; } .shadin-contact-panel { width: min(275px, calc(100vw - 28px)); } }
@media (prefers-reduced-motion: reduce) { .shadin-contact-panel { animation: none; } .shadin-contact-main { transition: none; } }


/* Shadin Bazer: on-site WhatsApp question picker; isolated additive styles. */
.shadin-contact-option { font-family: inherit; cursor: pointer; border: 0; width: 100%; text-align: left; box-sizing: border-box; }
.shadin-question-panel { width: min(310px, calc(100vw - 32px)); max-height: min(72vh, 560px); overflow-y: auto; padding: 13px; border: 1px solid #e2e8f0; border-radius: 17px; background: #fff; box-shadow: 0 10px 35px rgba(15,23,42,.22); display: flex; flex-direction: column; gap: 8px; animation: shadinContactIn .18s ease-out; }
.shadin-question-panel[hidden] { display: none !important; }
.shadin-question-option { display: block; box-sizing: border-box; width: 100%; padding: 11px 12px; border: 1px solid #dbe4ee; border-radius: 10px; background: #f8fafc; color: #0f172a !important; text-decoration: none !important; font-size: 13px; line-height: 1.45; font-weight: 600; transition: background .15s ease, border-color .15s ease; }
.shadin-question-option:hover, .shadin-question-option:focus-visible { background: #ecfdf5; border-color: #16a34a; outline: 2px solid rgba(22,163,74,.18); outline-offset: 1px; }
.shadin-question-back { padding: 10px 12px; border: 0; border-radius: 10px; background: #e2e8f0; color: #0f172a; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.shadin-question-back:hover, .shadin-question-back:focus-visible { background: #cbd5e1; outline: 2px solid #94a3b8; outline-offset: 1px; }
@media (max-width: 600px) { .shadin-question-panel { width: min(290px, calc(100vw - 28px)); max-height: 68vh; padding: 11px; gap: 7px; } .shadin-question-option { padding: 10px; font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .shadin-question-panel { animation: none; } }


/* Saved WordPress WhatsApp Contact settings: CSS variables are printed on the widget by footer.php. */
.shadin-contact-widget { right: var(--shadin-widget-right, 18px); bottom: var(--shadin-widget-bottom, 24px); }
.shadin-contact-main { background: var(--shadin-widget-button-bg, #16a34a); color: var(--shadin-widget-button-text, #fff) !important; font-size: var(--shadin-widget-button-font, 14px); min-height: var(--shadin-widget-button-height, 52px); }
.shadin-contact-main:hover, .shadin-contact-main:focus-visible { background: var(--shadin-widget-button-bg, #16a34a); filter: brightness(.92); }
.shadin-contact-panel, .shadin-question-panel { width: min(var(--shadin-widget-panel-width, 310px), calc(100vw - 32px)); background: var(--shadin-widget-panel-bg, #fff); border-radius: var(--shadin-widget-radius, 17px); }
.shadin-contact-welcome { color: var(--shadin-widget-panel-text, #0f172a); }
.shadin-contact-welcome span { color: var(--shadin-widget-panel-text, #475569); opacity: .82; }
.shadin-contact-option--facebook { background: var(--shadin-widget-facebook, #1877f2); }
.shadin-contact-option--whatsapp { background: var(--shadin-widget-whatsapp, #16a34a); }
.shadin-contact-option--call { background: var(--shadin-widget-call, #ea580c); }
.shadin-question-option { background: var(--shadin-widget-question-bg, #f8fafc); color: var(--shadin-widget-question-text, #0f172a) !important; border-color: var(--shadin-widget-question-border, #dbe4ee); }
.shadin-question-option:hover, .shadin-question-option:focus-visible { background: var(--shadin-widget-question-bg, #f8fafc); filter: brightness(.97); border-color: var(--shadin-widget-whatsapp, #16a34a); }

@media (max-width: 600px) { .shadin-contact-widget { right: var(--shadin-widget-mobile-right, 10px); bottom: var(--shadin-widget-mobile-bottom, 84px); } }


/* Mobile-only trust-card sizing correction v7.
   Keep the frame width unchanged; reduce only the frame height and five inner cards.
   Flash Sales styles below are intentionally left exactly as they were in v6. */
@media screen and (max-width: 639px) {
  #root .sb-premium-trust {
    box-sizing: border-box !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    overflow: hidden !important;
  }
  /* Keep the existing framed width; only constrain the content inside it. */
  #root .sb-premium-trust > div {
    box-sizing: border-box !important;
    width: calc(100% - 32px) !important;
    max-width: 80rem !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  #root .sb-premium-trust > div > .grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  #root .sb-premium-trust-card {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 2px 3px !important;
    gap: 3px !important;
    border-radius: 7px !important;
    overflow: hidden !important;
    transform: none !important;
  }
  #root .sb-premium-trust-icon {
    box-sizing: border-box !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    flex: 0 0 18px !important;
    border-radius: 4px !important;
  }
  #root .sb-premium-trust-icon svg {
    width: 11px !important;
    height: 11px !important;
    max-width: 11px !important;
    max-height: 11px !important;
  }
  #root .sb-premium-trust-card > div:last-child {
    box-sizing: border-box !important;
    flex: 1 1 0% !important;
    width: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  #root .sb-premium-trust-title {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 8px !important;
    line-height: 1 !important;
    letter-spacing: -0.025em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  #root .sb-premium-trust-desc {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 1px 0 0 !important;
    font-size: 6px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  /* Flash Sales: retain the previously approved compact mobile sizing unchanged. */
  #root section.py-12.bg-white.border-b {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl > div.bg-gradient-to-r {
    box-sizing: border-box !important;
    padding: 9px !important;
    margin-bottom: 6px !important;
    border-radius: 15px !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl > div.bg-gradient-to-r > div.relative {
    gap: 5px !important;
    align-items: flex-start !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl > div.bg-gradient-to-r > div.relative > div.space-y-2 {
    width: 100% !important;
    max-width: 100% !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl > div.bg-gradient-to-r .space-y-2 > :not([hidden]) ~ :not([hidden]) {
    margin-top: 4px !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl > div.bg-gradient-to-r h2 {
    font-size: 15px !important;
    line-height: 1.18 !important;
    margin: 0 !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl > div.bg-gradient-to-r p {
    font-size: 9px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl > div.bg-gradient-to-r div.inline-flex {
    gap: 4px !important;
    padding: 3px 7px !important;
    font-size: 8px !important;
    line-height: 1.15 !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl > div.bg-gradient-to-r div.inline-flex svg {
    width: 11px !important;
    height: 11px !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl > div.bg-gradient-to-r div.bg-slate-950\/40 {
    box-sizing: border-box !important;
    padding: 5px !important;
    gap: 4px !important;
    border-radius: 10px !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl > div.bg-gradient-to-r div.bg-slate-950\/40 > div.flex {
    gap: 4px !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl > div.bg-gradient-to-r div.bg-rose-500.px-3\.5 {
    box-sizing: border-box !important;
    min-width: 34px !important;
    padding: 5px 5px !important;
    border-radius: 8px !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl > div.bg-gradient-to-r div.bg-rose-500.px-3\.5 span:first-child {
    font-size: 12px !important;
    line-height: 1 !important;
  }
  #root section.py-12.bg-white.border-b > div.max-w-7xl > div.bg-gradient-to-r div.bg-rose-500.px-3\.5 span:last-child {
    font-size: 7px !important;
    line-height: 1.1 !important;
    margin-top: 2px !important;
  }
}


/* Shadin Bazer: compact the five home-page trust/service cards on mobile only. */
@media (max-width: 600px) {
  #root section.sb-premium-trust {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  #root section.sb-premium-trust > div.max-w-7xl {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  #root section.sb-premium-trust .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }
  #root section.sb-premium-trust .sb-premium-trust-card {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 6px !important;
    gap: 6px !important;
    border-radius: 9px !important;
    align-items: center !important;
  }
  #root section.sb-premium-trust .sb-premium-trust-icon {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    border-radius: 7px !important;
  }
  #root section.sb-premium-trust .sb-premium-trust-icon svg {
    width: 14px !important;
    height: 14px !important;
  }
  #root section.sb-premium-trust .sb-premium-trust-title {
    font-size: 10px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
  #root section.sb-premium-trust .sb-premium-trust-card .min-w-0 > div {
    font-size: 8px !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
  }
}


/* Mobile navigation drawer brand: show the full logo and site name together. */
@media (max-width: 1023px) { .animate-slideLeft .border-b.border-slate-200 > .flex.items-center.gap-2 { display:flex !important; align-items:center !important; gap:10px !important; min-width:0; } .animate-slideLeft .border-b.border-slate-200 > .flex.items-center.gap-2 > div:first-child { width:56px !important; height:56px !important; min-width:56px !important; flex:0 0 56px !important; overflow:visible !important; } .animate-slideLeft .border-b.border-slate-200 > .flex.items-center.gap-2 img { display:block !important; width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; object-fit:contain !important; opacity:1 !important; visibility:visible !important; } .animate-slideLeft .border-b.border-slate-200 > .flex.items-center.gap-2 > div:nth-child(2) { color:#111827 !important; font-size:16px !important; font-weight:700 !important; white-space:nowrap !important; } }
