:root {
  --bl-bg: #fff8fb;
  --bl-navy: #183B56;
  --bl-navy-deep: #102A43;
  --bl-soft: #faf8fb;
  --bl-soft-2: #f5f1f6;
  --bl-text: #211d22;
  --bl-muted: #746b76;
  --bl-brand: #731c53;
  --bl-brand-dark: #56123d;
  --bl-brand-soft: #f8eef5;
  --bl-accent: #ff7a30;
  --bl-accent-dark: #e96218;
  --bl-line: #ebe5ed;
  --bl-success: #166534;
  --bl-success-soft: #f0fdf4;
  --bl-danger: #b42318;
  --bl-radius-sm: 12px;
  --bl-radius: 18px;
  --bl-radius-lg: 26px;
  --bl-shadow: 0 12px 34px rgba(42, 25, 39, .08);
  --bl-shadow-hover: 0 18px 46px rgba(42, 25, 39, .13);
  --bl-shell: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  color: var(--bl-text);
  background: var(--bl-bg);
  direction: rtl;
  font-family: Tahoma, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.85;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.admin-bar .blsc-header { top: 32px; }
img, svg, video { max-width: 100%; height: auto; }
img { vertical-align: middle; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
input, select, textarea { color: var(--bl-text); }
::selection { background: #ead1e2; color: var(--bl-text); }

.blsc-shell { width: min(calc(100% - 32px), var(--bl-shell)); margin-inline: auto; }
.blsc-main { min-height: 45vh; }
.blsc-content-shell { padding-block: 34px 64px; }
.blsc-skip-link {
  position: fixed; inset-inline-start: 12px; top: -100px; z-index: 99999;
  background: var(--bl-navy-deep); color: #fff; padding: 10px 14px; border-radius: 8px;
}
.blsc-skip-link:focus { top: 12px; }

.blsc-topbar { background: var(--bl-navy); color: #fff; font-size: 12px; }
.blsc-topbar-inner {
  min-height: 34px; display: flex; align-items: center; justify-content: center;
  gap: 34px; white-space: nowrap; overflow: hidden;
}
.blsc-header {
  background: rgba(255,255,255,.98); border-bottom: 1px solid var(--bl-line);
  position: sticky; top: 0; z-index: 100;
}
.blsc-header-main {
  min-height: 82px; display: grid; grid-template-columns: 220px minmax(260px, 1fr) auto;
  gap: 24px; align-items: center;
}
.blsc-header-main.blsc-no-brand { grid-template-columns: minmax(260px, 1fr) auto; }
.blsc-brand { min-width: 0; }
.blsc-brand .custom-logo-link { display: inline-flex; align-items: center; }
.blsc-brand img { width: auto; max-width: 100%; max-height: 58px; object-fit: contain; }

.blsc-search .woocommerce-product-search,
.blsc-search .search-form {
  display: flex; min-height: 46px; border: 1px solid var(--bl-line); border-radius: 14px;
  overflow: hidden; background: #faf9fb; transition: border-color .2s ease, box-shadow .2s ease;
}
.blsc-search .woocommerce-product-search:focus-within,
.blsc-search .search-form:focus-within { border-color: #cba9c2; box-shadow: 0 0 0 3px #f5e8f1; }
.blsc-search input[type="search"] {
  width: 100%; min-width: 0; border: 0; background: transparent; padding: 11px 16px; outline: 0;
}
.blsc-search button,
.blsc-search input[type="submit"] {
  border: 0; background: var(--bl-brand); color: #fff; min-width: 70px; padding: 0 16px; cursor: pointer;
}
.blsc-header-actions { display: flex; align-items: center; gap: 10px; }
.blsc-cart-link {
  display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 8px 13px;
  border: 1px solid var(--bl-line); border-radius: 13px; text-decoration: none; font-weight: 600;
  background: #fff;
}
.blsc-cart-count {
  display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding-inline: 6px;
  background: var(--bl-brand); color: #fff; border-radius: 999px; font-size: 11px;
}
.blsc-menu-toggle {
  display: none; border: 1px solid var(--bl-line); background: #fff; border-radius: 12px;
  min-height: 44px; padding: 0 14px; cursor: pointer;
}

.blsc-nav { border-top: 1px solid #f4eff3; background: #fff; }
.blsc-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: stretch; gap: 2px; }
.blsc-menu > li { position: relative; }
.blsc-menu a { display: flex; align-items: center; min-height: 48px; padding: 0 13px; text-decoration: none; font-size: 13px; font-weight: 500; }
.blsc-menu > li > a:hover, .blsc-menu > li.current-menu-item > a, .blsc-menu > li.current-menu-ancestor > a { color: var(--bl-brand); background: var(--bl-brand-soft); }
.blsc-menu .sub-menu {
  list-style: none; position: absolute; top: 100%; inset-inline-start: 0; z-index: 80; width: 250px;
  margin: 0; padding: 8px; background: #fff; border: 1px solid var(--bl-line); border-radius: 14px;
  box-shadow: var(--bl-shadow); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s ease;
}
.blsc-menu .sub-menu .sub-menu { top: 0; inset-inline-start: 100%; }
.blsc-menu li:hover > .sub-menu, .blsc-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.blsc-menu .sub-menu a { min-height: 38px; padding: 7px 10px; border-radius: 9px; }
.blsc-menu .sub-menu a:hover { background: var(--bl-soft); color: var(--bl-brand); }

.blsc-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px;
  border: 1px solid transparent; border-radius: 13px; text-decoration: none; font-weight: 700; cursor: pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.blsc-btn:hover { transform: translateY(-1px); }
.blsc-btn-primary { color: #fff; background: var(--bl-brand); border-color: var(--bl-brand); }
.blsc-btn-primary:hover { background: var(--bl-brand-dark); }
.blsc-btn-secondary { color: var(--bl-brand); background: #fff; border-color: #d9c4d3; }
.blsc-btn-secondary:hover { background: var(--bl-brand-soft); }
.blsc-text-link { color: var(--bl-brand); font-weight: 700; text-decoration: none; }
.blsc-text-link:hover { text-decoration: underline; }

.blsc-sales-hero { padding: 34px 0 8px; }
.blsc-sales-hero-grid {
  display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .65fr); gap: 22px;
  background: linear-gradient(135deg, #fff 0%, #fbf5f9 65%, #f6edf3 100%);
  border: 1px solid var(--bl-line); border-radius: var(--bl-radius-lg); padding: clamp(26px, 5vw, 58px);
  box-shadow: 0 14px 38px rgba(60, 27, 49, .06);
}
.blsc-eyebrow, .blsc-kicker { margin: 0 0 8px; color: var(--bl-brand); font-size: 12px; font-weight: 700; letter-spacing: -.1px; }
.blsc-sales-hero h2 { margin: 0; font-size: clamp(29px, 4.4vw, 52px); line-height: 1.45; letter-spacing: -1.2px; }
.blsc-sales-hero p:not(.blsc-eyebrow) { max-width: 720px; margin: 15px 0 0; color: var(--bl-muted); font-size: 16px; }
.blsc-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.blsc-hero-proof { align-self: stretch; background: #fff; border: 1px solid var(--bl-line); border-radius: 18px; padding: 22px; }
.blsc-hero-proof strong { display: block; font-size: 16px; margin-bottom: 10px; }
.blsc-hero-proof ul { margin: 0; padding: 0 18px 0 0; color: var(--bl-muted); }

.blsc-section { padding-block: 34px; }
.blsc-section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.blsc-section-head h2 { margin: 0; font-size: clamp(22px, 3vw, 30px); line-height: 1.5; }
.blsc-home-cat-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; }
.blsc-home-cat {
  display: flex; min-width: 0; flex-direction: column; align-items: center; text-align: center; gap: 6px;
  padding: 14px 10px; border: 1px solid var(--bl-line); border-radius: 16px; background: #fff;
  text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.blsc-home-cat:hover { transform: translateY(-2px); border-color: #d9c5d3; box-shadow: var(--bl-shadow); }
.blsc-home-cat-media { width: 74px; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: var(--bl-soft); }
.blsc-home-cat-media img { width: 100%; height: 100%; object-fit: contain; }
.blsc-cat-placeholder { font-size: 34px; color: #ceb9c8; }
.blsc-home-cat strong { width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.blsc-home-cat small { color: var(--bl-muted); font-size: 10px; }
.blsc-existing-home { margin-top: 24px; margin-bottom: 48px; }
.blsc-existing-home-elementor { width: 100%; }

.blsc-page-head { margin-bottom: 18px; }
.blsc-page-head h1 {
  margin: 0;
  max-width: 980px;
  font-size: clamp(22px, 2.35vw, 30px);
  line-height: 1.62;
  letter-spacing: -.35px;
  font-weight: 700;
}
.blsc-archive-description { max-width: 880px; margin-top: 10px; color: var(--bl-muted); }
.blsc-article { max-width: 980px; margin-inline: auto; }
.blsc-blog-single { max-width: 900px; }
.blsc-post-meta { margin-top: 8px; color: var(--bl-muted); font-size: 12px; }
.blsc-featured-image { margin: 0 0 28px; border-radius: 20px; overflow: hidden; background: var(--bl-soft); }
.blsc-featured-image img { width: 100%; height: auto; }

.entry-content { overflow-wrap: anywhere; }
.entry-content > :first-child { margin-top: 0; }
.entry-content h2 { margin-top: 34px; font-size: clamp(20px, 2.3vw, 26px); line-height: 1.7; }
.entry-content h3 { margin-top: 27px; font-size: clamp(18px, 2vw, 21px); line-height: 1.7; }
.entry-content h4 { margin-top: 22px; font-size: 17px; }
.entry-content p, .entry-content li { color: #3d363f; }
.entry-content a { color: var(--bl-brand); }
.entry-content img { border-radius: 14px; }
.entry-content blockquote { margin: 24px 0; padding: 18px 20px; border-inline-start: 4px solid var(--bl-brand); background: var(--bl-soft); border-radius: 12px; }
.entry-content table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.entry-content th, .entry-content td { border: 1px solid var(--bl-line); padding: 10px 12px; min-width: 110px; }
.entry-content th { background: var(--bl-soft); }

.blsc-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.blsc-post-card { overflow: hidden; border: 1px solid var(--bl-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(35, 25, 33, .04); }
.blsc-post-thumb { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--bl-soft); }
.blsc-post-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.blsc-post-card:hover .blsc-post-thumb img { transform: scale(1.025); }
.blsc-post-card-body { padding: 18px; }
.blsc-post-card-date { margin: 0 0 5px; font-size: 11px; color: var(--bl-muted); }
.blsc-post-card h2 { margin: 0; font-size: 17px; line-height: 1.7; }
.blsc-post-card h2 a { text-decoration: none; }
.blsc-post-excerpt { color: var(--bl-muted); font-size: 13px; }
.blsc-post-excerpt p { margin: 10px 0; }

.navigation.pagination { margin-top: 30px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.page-numbers { display: inline-grid; place-items: center; min-width: 38px; min-height: 38px; padding: 4px 9px; border: 1px solid var(--bl-line); border-radius: 10px; text-decoration: none; }
.page-numbers.current { background: var(--bl-brand); color: #fff; border-color: var(--bl-brand); }

.blsc-empty-state, .blsc-not-found { text-align: center; padding-block: 70px; }
.blsc-404-code { display: block; color: #d8c5d2; font-size: clamp(70px, 15vw, 150px); font-weight: 800; line-height: 1; }
.blsc-not-found h1 { margin: 10px 0; }
.blsc-not-found p { color: var(--bl-muted); }
.blsc-404-actions { margin-top: 22px; }

.blsc-comments { max-width: 900px; margin: 34px auto 0; padding-top: 30px; border-top: 1px solid var(--bl-line); }
.blsc-comments .comment-list { list-style: none; padding: 0; }
.blsc-comments .comment { margin: 14px 0; padding: 16px; border: 1px solid var(--bl-line); border-radius: 14px; }
.blsc-comments input:not([type="submit"]), .blsc-comments textarea { width: 100%; border: 1px solid var(--bl-line); border-radius: 10px; padding: 10px 12px; }
.blsc-comments input[type="submit"] { border: 0; border-radius: 12px; background: var(--bl-brand); color: #fff; padding: 11px 18px; cursor: pointer; }

.blsc-footer { margin-top: 48px; background: var(--bl-navy); color: #eef5f9; }
.blsc-footer-grid { display: grid; grid-template-columns: 1.3fr .8fr 1fr; gap: 40px; padding-block: 46px; }
.blsc-footer h2, .blsc-footer-title { color: #fff; font-size: 16px; margin: 0 0 12px; }
.blsc-footer p { color: #d6e3eb; margin: 8px 0; }
.blsc-footer a { color: #fff; text-decoration: none; }
.blsc-footer a:hover { text-decoration: underline; }
.blsc-footer-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.blsc-footer-bottom { border-top: 1px solid rgba(255,255,255,.13); padding-block: 15px; color: #c6d7e2; }

.blsc-elementor-page .blsc-content-shell { max-width: none; }
.blsc-elementor-content { width: 100%; }
.blsc-elementor-content > .elementor { width: 100%; }

@media (max-width: 1100px) {
  .blsc-header-main { grid-template-columns: 180px 1fr auto; gap: 16px; }
  .blsc-home-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  body.admin-bar .blsc-header { top: 46px; }
  .blsc-shell { width: min(calc(100% - 24px), var(--bl-shell)); }
  .blsc-topbar-inner { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; gap: 22px; padding-inline: 2px; }
  .blsc-topbar-inner::-webkit-scrollbar { display: none; }
  .blsc-header { position: sticky; }
  .blsc-header-main { min-height: auto; grid-template-columns: 1fr auto; grid-template-areas: "brand actions" "search search"; gap: 10px; padding-block: 10px; }
  .blsc-header-main.blsc-no-brand { grid-template-columns: 1fr auto; grid-template-areas: "search actions"; }
  .blsc-brand { grid-area: brand; }
  .blsc-brand img { max-height: 48px; max-width: 180px; }
  .blsc-search { grid-area: search; }
  .blsc-header-actions { grid-area: actions; }
  .blsc-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .blsc-cart-label { display: none; }
  .blsc-cart-link { padding-inline: 9px; }
  .blsc-nav { display: none; position: absolute; inset-inline: 0; top: 100%; max-height: calc(100vh - 120px); overflow: auto; box-shadow: var(--bl-shadow); }
  .blsc-nav.is-open { display: block; }
  .blsc-menu { display: block; padding-block: 8px; }
  .blsc-menu > li > a { min-height: 44px; padding-inline: 14px; }
  .blsc-menu .sub-menu, .blsc-menu .sub-menu .sub-menu {
    position: static; width: auto; opacity: 1; visibility: visible; transform: none; box-shadow: none;
    border: 0; border-radius: 0; margin: 0 14px 6px; padding: 0 12px; border-inline-start: 1px solid var(--bl-line);
  }
  .blsc-sales-hero { padding-top: 20px; }
  .blsc-sales-hero-grid { grid-template-columns: 1fr; padding: 24px; border-radius: 20px; }
  .blsc-hero-proof { display: none; }
  .blsc-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blsc-footer-grid { grid-template-columns: 1fr 1fr; gap: 26px; }
}

@media (max-width: 560px) {
  body { font-size: 14px; }
  .blsc-shell { width: min(calc(100% - 20px), var(--bl-shell)); }
  .blsc-content-shell { padding-block: 24px 48px; }
  .blsc-search .woocommerce-product-search, .blsc-search .search-form { min-height: 42px; }
  .blsc-sales-hero-grid { padding: 20px; }
  .blsc-sales-hero h2 { font-size: 28px; }
  .blsc-sales-hero p:not(.blsc-eyebrow) { font-size: 14px; }
  .blsc-hero-actions { display: grid; grid-template-columns: 1fr; }
  .blsc-btn { width: 100%; min-height: 45px; }
  .blsc-section { padding-block: 25px; }
  .blsc-section-head { align-items: center; }
  .blsc-section-head h2 { font-size: 21px; }
  .blsc-home-cat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .blsc-home-cat { padding: 10px 5px; border-radius: 13px; }
  .blsc-home-cat-media { width: 58px; }
  .blsc-home-cat strong { font-size: 10.5px; }
  .blsc-home-cat small { display: none; }
  .blsc-post-grid { grid-template-columns: 1fr; }
  .blsc-page-head h1 { font-size: 22px; line-height: 1.65; }
  .entry-content h2 { font-size: 22px; }
  .entry-content h3 { font-size: 19px; }
  .blsc-footer { margin-top: 32px; }
  .blsc-footer-grid { grid-template-columns: 1fr; gap: 24px; padding-block: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* =========================================================
   Mobile overflow guard — v2.0.3
   Prevent page-level horizontal scrolling without changing
   URLs, content structure, SEO markup, or WooCommerce logic.
   Internal scroll areas (menus/tables/carousels) can still scroll.
   ========================================================= */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

.blsc-topbar,
.blsc-header,
.blsc-nav,
.blsc-main,
.blsc-footer,
.blsc-elementor-content,
.blsc-existing-home,
.blsc-existing-home-elementor {
  max-width: 100%;
  min-width: 0;
}

.blsc-header-main,
.blsc-search,
.blsc-header-actions,
.blsc-nav > .blsc-shell,
.blsc-menu,
.blsc-main > *,
.blsc-footer-grid > * {
  min-width: 0;
}

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

.entry-content,
.woocommerce,
.woocommerce-page {
  max-width: 100%;
  min-width: 0;
}

.entry-content pre,
.entry-content table,
.woocommerce table.shop_table {
  max-width: 100%;
}

.entry-content pre {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 820px) {
  /* Elementor old sections + modern containers must not widen the document. */
  .blsc-elementor-content,
  .blsc-elementor-content > .elementor,
  .blsc-elementor-content .elementor,
  .blsc-elementor-content .elementor-section-wrap,
  .blsc-elementor-content .elementor-section,
  .blsc-elementor-content .elementor-container,
  .blsc-elementor-content .elementor-column,
  .blsc-elementor-content .elementor-widget-wrap,
  .blsc-elementor-content .elementor-widget,
  .blsc-elementor-content .e-con,
  .blsc-elementor-content .e-con-inner,
  .blsc-existing-home-elementor,
  .blsc-existing-home-elementor .elementor,
  .blsc-existing-home-elementor .elementor-section-wrap,
  .blsc-existing-home-elementor .elementor-section,
  .blsc-existing-home-elementor .elementor-container,
  .blsc-existing-home-elementor .elementor-column,
  .blsc-existing-home-elementor .elementor-widget-wrap,
  .blsc-existing-home-elementor .elementor-widget,
  .blsc-existing-home-elementor .e-con,
  .blsc-existing-home-elementor .e-con-inner {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Old Elementor full-width tricks can create a page-level scrollbar in Customizer/mobile. */
  .blsc-elementor-content .elementor-section.elementor-section-stretched,
  .blsc-existing-home-elementor .elementor-section.elementor-section-stretched {
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .blsc-header-main {
    width: 100%;
    max-width: 100%;
  }

  .blsc-search,
  .blsc-search form,
  .blsc-search input[type="search"] {
    min-width: 0;
    max-width: 100%;
  }

  .blsc-header-actions {
    max-width: 100%;
  }

  /* Keep intentionally scrollable UI local instead of widening the whole page. */
  .blsc-topbar-inner,
  .blsc-child-cats,
  .single-product .woocommerce-tabs ul.tabs,
  .entry-content .wp-block-table {
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .entry-content .wp-block-table,
  .entry-content > table,
  .woocommerce table.shop_table_responsive {
    overflow-x: auto;
    max-width: 100%;
  }

  /* Defensive sizing for common WordPress/WooCommerce blocks. */
  .wp-site-blocks,
  .wp-block-group,
  .wp-block-columns,
  .wp-block-column,
  .wc-block-cart,
  .wc-block-checkout,
  .wc-block-components-sidebar-layout,
  .wc-block-components-main,
  .wc-block-components-sidebar {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 560px) {
  .blsc-shell {
    width: calc(100% - 20px);
    max-width: calc(100% - 20px);
  }

  .blsc-header-main.blsc-no-brand {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .blsc-cart-link,
  .blsc-menu-toggle {
    flex: 0 0 auto;
  }
}


/* =========================================================
   Responsive polish + neutral premium navy — v2.3.4
   Presentation-only hardening. No URL, SEO markup, WooCommerce
   templates, queries, schema, canonical, or permalink changes.
   ========================================================= */

/* Keep long content from forcing page-level horizontal scroll. */
.entry-content,
.comment-content,
.blsc-post-excerpt,
.blsc-footer,
.blsc-footer * {
  overflow-wrap: anywhere;
}

.entry-content img,
.entry-content video,
.entry-content iframe,
.entry-content embed,
.entry-content object,
.comment-content img,
.comment-content video,
.comment-content iframe {
  max-width: 100%;
}

.entry-content input:not([type="checkbox"]):not([type="radio"]),
.entry-content select,
.entry-content textarea,
.comment-form input:not([type="checkbox"]):not([type="radio"]),
.comment-form select,
.comment-form textarea {
  max-width: 100%;
}

.entry-content table,
.comment-content table {
  width: 100%;
}

.blsc-footer-grid > *,
.blsc-footer .widget,
.blsc-footer-menu,
.blsc-footer-menu li,
.blsc-footer-menu a {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 820px) {
  /* Standard WordPress/Gutenberg content should stay inside the viewport. */
  .entry-content .alignwide,
  .entry-content .alignfull,
  .entry-content .wp-block-group,
  .entry-content .wp-block-cover,
  .entry-content .wp-block-media-text,
  .entry-content .wp-block-columns,
  .entry-content .wp-block-column,
  .entry-content .wp-block-gallery,
  .entry-content .wp-block-image,
  .entry-content .wp-block-embed,
  .entry-content .wp-block-video,
  .entry-content .wp-block-table,
  .comment-content,
  .blsc-post-card,
  .blsc-page-head,
  .blsc-comments {
    min-width: 0;
    max-width: 100%;
  }

  .entry-content .alignfull,
  .entry-content .alignwide {
    width: 100%;
    margin-inline: 0;
  }

  .entry-content table,
  .comment-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Prevent form controls and WooCommerce messages from escaping narrow screens. */
  .woocommerce form,
  .woocommerce .woocommerce-message,
  .woocommerce .woocommerce-info,
  .woocommerce .woocommerce-error,
  .woocommerce .woocommerce-notices-wrapper,
  .woocommerce form .form-row,
  .woocommerce form .form-row-wide,
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    min-width: 0;
    max-width: 100%;
  }

  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    float: none;
    width: 100%;
  }

  .woocommerce form input.input-text,
  .woocommerce form textarea,
  .woocommerce form select,
  .select2-container {
    max-width: 100% !important;
  }

  /* Footer remains compact and readable on tablet/mobile. */
  .blsc-footer-grid {
    align-items: start;
  }

  .blsc-footer a {
    display: inline-flex;
    max-width: 100%;
  }
}

@media (max-width: 560px) {
  /* Mobile pages, posts, search and archives share the same clean spacing. */
  .blsc-page-head,
  .blsc-post-card,
  .blsc-comments,
  .entry-content,
  .comment-content {
    width: 100%;
    max-width: 100%;
  }

  .entry-content blockquote {
    margin-inline: 0;
    padding-inline: 14px;
  }

  .blsc-footer h2,
  .blsc-footer-title {
    font-size: 15px;
    line-height: 1.7;
  }

  .blsc-footer p,
  .blsc-footer a,
  .blsc-footer-bottom {
    font-size: 12.5px;
    line-height: 1.9;
  }
}


/* =========================================================
   v2.3.8 — mobile cart label only
   Preserve the proven v2.3.5 homepage/header responsive layout.
   Only reveal a tiny cart label under the existing cart count.
   ========================================================= */
@media (max-width: 820px) {
  .blsc-cart-link {
    flex-direction: column;
    justify-content: center;
    gap: 1px;
    padding: 4px 7px;
    min-height: 44px;
    line-height: 1;
  }
  .blsc-cart-label {
    display: block !important;
    font-size: 8.5px;
    line-height: 1.15;
    font-weight: 700;
    white-space: nowrap;
  }
  .blsc-cart-count {
    min-width: 22px;
    height: 22px;
    font-size: 10px;
  }
}


/* =========================================================
   v2.3.9 — homepage real mobile reflow fix
   Fixes legacy Elementor/Xtra/Codevz containers that can keep a
   desktop width on mobile. Homepage-only; does not touch product,
   category, checkout, SEO markup, URLs or WooCommerce logic.
   ========================================================= */
@media (max-width: 820px) {
  body.home .blsc-home-main,
  body.home .blsc-existing-home,
  body.home .blsc-existing-home-elementor {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Elementor homepage must use the actual viewport width, not a
     desktop/stretched width left over from the previous theme. */
  body.home .blsc-existing-home-elementor {
    width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    overflow-x: hidden !important;
  }

  body.home .blsc-existing-home-elementor > .elementor,
  body.home .blsc-existing-home-elementor > .elementor > .elementor-section-wrap,
  body.home .blsc-existing-home-elementor > .elementor > .elementor-section,
  body.home .blsc-existing-home-elementor > .elementor > .e-con,
  body.home .blsc-existing-home-elementor > .elementor > .e-con.e-parent {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    left: auto !important;
    right: auto !important;
    box-sizing: border-box !important;
  }

  /* Clamp legacy builder elements. max-width keeps intentionally small
     elements small while preventing a 900/1200px desktop box on mobile. */
  body.home .blsc-existing-home :where(*):not(.slick-track):not(.swiper-wrapper):not(.owl-stage):not(.splide__list):not(.glide__slides) {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.home .blsc-existing-home :is(
    .elementor-section,
    .elementor-container,
    .elementor-column,
    .elementor-widget-wrap,
    .e-con,
    .e-con-inner,
    .vc_row,
    .wpb_row,
    .cz_row,
    .cz_wrap,
    .cz_grid
  ) {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.home .blsc-existing-home :is(
    .elementor-section.elementor-section-stretched,
    .vc_row,
    .wpb_row,
    .cz_row,
    .cz_wrap
  ) {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
  }

  /* Carousel tracks are intentionally wider than the viewport; only their
     viewport/track wrapper is clipped. This preserves swipe/carousel JS. */
  body.home .blsc-existing-home :is(
    .slick-list,
    .swiper,
    .swiper-container,
    .owl-stage-outer,
    .splide__track,
    .glide__track
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.home .blsc-existing-home :is(
    .slick-track,
    .swiper-wrapper,
    .owl-stage,
    .splide__list,
    .glide__slides
  ) {
    max-width: none !important;
  }

  /* Woo/product rows used inside the existing homepage must inherit the
     available mobile width rather than a desktop min-width. */
  body.home .blsc-existing-home .woocommerce,
  body.home .blsc-existing-home .woocommerce-page,
  body.home .blsc-existing-home ul.products,
  body.home .blsc-existing-home .products {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 560px) {
  /* Keep the original homepage breathing room without recreating a shell
     around Elementor full-width content. */
  body.home .blsc-existing-home:not(.blsc-existing-home-elementor) {
    max-width: calc(100% - 20px) !important;
    margin-inline: auto !important;
  }
}

/* =========================================================
   v2.4.0 — homepage shortcode strip mobile containment
   Targeted fix for the real shortcode seen in DevTools:
   .blj-strip / .blj-strip__top / .blj-strip__viewport / .blj-strip__bottom
   Keeps the strip inside the mobile viewport without touching product,
   category, checkout, SEO markup, URLs or WooCommerce templates.
   ========================================================= */
@media (max-width: 820px) {
  body.home .blj-strip {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    padding-inline: 10px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body.home .blj-strip__top,
  body.home .blj-strip__viewport,
  body.home .blj-strip__bottom {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
  }

  /* Heading/subtitle/actions must wrap instead of preserving desktop width. */
  body.home .blj-strip__top,
  body.home .blj-strip__bottom {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  body.home .blj-strip__top > *,
  body.home .blj-strip__bottom > * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.home .blj-strip__top h2,
  body.home .blj-strip__top h3,
  body.home .blj-strip__top [class*="title"] {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.55 !important;
  }

  /* The product/carousel track may legitimately be wider than the phone.
     Keep that width INSIDE its own scroll viewport so it cannot widen the page. */
  body.home .blj-strip__viewport {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  body.home .blj-strip__viewport::-webkit-scrollbar {
    display: none;
  }

  body.home .blj-strip__viewport > * {
    min-width: 0;
    box-sizing: border-box !important;
  }

  /* Common track/card patterns used by the shortcode: keep the track internal,
     and give cards a sensible mobile basis without forcing page-level overflow. */
  body.home .blj-strip__viewport :is(
    .blj-strip__track,
    .blj-track,
    .swiper-wrapper,
    .slick-track,
    .owl-stage
  ) {
    max-width: none !important;
  }

  body.home .blj-strip :is(img, picture, video, iframe, svg) {
    max-width: 100% !important;
  }

  body.home .blj-strip :is(.woocommerce, ul.products, .products) {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 560px) {
  body.home .blj-strip {
    padding-inline: 8px !important;
  }

  body.home .blj-strip__top h2,
  body.home .blj-strip__top h3,
  body.home .blj-strip__top [class*="title"] {
    font-size: clamp(19px, 5.6vw, 24px) !important;
  }
}


/* =========================================================
   v2.4.1 — Codevz stretched Elementor container mobile fix
   The legacy Xtra/Codevz class `.codevz-con-stretch-yes` can keep
   desktop-calculated width/offset values after a theme switch. On the
   homepage only, neutralize those stretch offsets on mobile so each
   Elementor container uses the real viewport width. No SEO/content/
   WooCommerce markup is changed.
   ========================================================= */
@media (max-width: 820px) {
  body.home .blsc-existing-home-elementor .codevz-con-stretch-yes,
  body.home .blsc-existing-home-elementor .e-con.codevz-con-stretch-yes,
  body.home .blsc-existing-home-elementor .e-con.e-parent.codevz-con-stretch-yes {
    --width: 100% !important;
    --content-width: 100% !important;
    --container-widget-width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    inline-size: 100% !important;
    max-inline-size: 100% !important;
    position: relative !important;
    inset: auto 0 auto 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    translate: none !important;
    box-sizing: border-box !important;
  }

  /* The shortcode/widget wrappers inside a stretched Codevz container must
     also shrink. This prevents a child with a desktop flex-basis from
     pulling the parent wider again. */
  body.home .blsc-existing-home-elementor .codevz-con-stretch-yes > .elementor-element,
  body.home .blsc-existing-home-elementor .codevz-con-stretch-yes > .e-con-inner,
  body.home .blsc-existing-home-elementor .codevz-con-stretch-yes .elementor-widget-shortcode,
  body.home .blsc-existing-home-elementor .codevz-con-stretch-yes .elementor-widget-shortcode > .elementor-widget-container,
  body.home .blsc-existing-home-elementor .codevz-con-stretch-yes .elementor-shortcode {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Keep the shortcode section itself contained even if its old stylesheet
     supplied a fixed/min width. The inner product track may scroll, but the
     document never should. */
  body.home .blsc-existing-home-elementor .codevz-con-stretch-yes .blj-strip {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body.home .blsc-existing-home-elementor .codevz-con-stretch-yes .blj-strip__viewport {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  /* Do not let inline Elementor widths on widget wrappers become a new page
     width. Track elements are intentionally excluded because carousels need
     to be wider than their viewport. */
  body.home .blsc-existing-home-elementor .codevz-con-stretch-yes :where(
    .elementor-widget,
    .elementor-widget-container,
    .elementor-shortcode,
    .blj-strip__top,
    .blj-strip__bottom
  ) {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}


/* =========================================================
   v2.4.2 — definitive BLJ mobile strip geometry fix
   DevTools showed `.blj-strip__card` at left ≈ -1054px on a 375px
   viewport. That is a legacy carousel positioning calculation, not a
   page/container width problem. On homepage mobile only, convert each
   BLJ strip to native horizontal scrolling and neutralize card/track
   left/transform positioning. Product/category/single/SEO markup is
   untouched.
   ========================================================= */
@media (max-width: 820px) {
  body.home .blj-strip.blsc-native-strip {
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.home .blj-strip.blsc-native-strip .blj-strip__viewport {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
    scrollbar-width: none;
    direction: rtl;
  }

  body.home .blj-strip.blsc-native-strip .blj-strip__viewport::-webkit-scrollbar {
    display: none;
  }

  body.home .blj-strip.blsc-native-strip .blsc-native-strip-track {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: max-content !important;
    max-width: none !important;
    min-width: 100% !important;
    height: auto !important;
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    margin: 0 !important;
    padding: 2px 0 8px !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    box-sizing: border-box !important;
    direction: rtl;
  }

  body.home .blj-strip.blsc-native-strip .blj-strip__card {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    float: none !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    flex: 0 0 clamp(154px, calc((100vw - 42px) / 2), 180px) !important;
    width: clamp(154px, calc((100vw - 42px) / 2), 180px) !important;
    min-width: 154px !important;
    max-width: 180px !important;
    margin: 0 !important;
    scroll-snap-align: start;
    box-sizing: border-box !important;
  }

  body.home .blj-strip.blsc-native-strip .blj-strip__card > *,
  body.home .blj-strip.blsc-native-strip .blj-strip__image,
  body.home .blj-strip.blsc-native-strip .blj-strip__body,
  body.home .blj-strip.blsc-native-strip .blj-strip__name,
  body.home .blj-strip.blsc-native-strip .blj-strip__price {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.home .blj-strip.blsc-native-strip .blj-strip__image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
}


/* =========================================================
   v2.4.6 — Mobile fixed navigation color only
   The four-button mobile navigation may be rendered by a
   legacy/custom component outside this theme. main.js marks
   only the fixed bottom bar containing Home/Offers/Cart.
   ========================================================= */
@media (max-width: 820px) {
  .blsc-external-mobile-nav-navy {
    background: var(--bl-navy) !important;
    background-color: var(--bl-navy) !important;
    border-color: rgba(255,255,255,.12) !important;
  }

  .blsc-external-mobile-nav-navy::before,
  .blsc-external-mobile-nav-navy::after {
    background-color: var(--bl-navy) !important;
  }

  .blsc-external-mobile-nav-navy > * {
    border-color: rgba(255,255,255,.10) !important;
  }
}


/* v2.4.7 — Keep each mobile bottom-nav icon exactly above its label. */
@media (max-width: 820px) {
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    text-align: center !important;
    line-height: 1.25 !important;
    min-width: 0 !important;
  }

  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item > * {
    margin-inline: auto !important;
  }

  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item svg,
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item i,
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item img {
    display: block !important;
    margin: 0 auto !important;
    flex: 0 0 auto !important;
  }
}

/* =========================================================
   v2.4.8 — Perfect alignment for the existing mobile bottom nav.
   Each control gets one equal column; icon is centered above label.
   ========================================================= */
@media (max-width: 820px) {
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-items-row {
    display: grid !important;
    grid-template-columns: repeat(var(--blsc-mobile-nav-count, 4), minmax(0, 1fr)) !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 0 !important;
  }

  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding-inline: 3px !important;
    text-align: center !important;
    position: relative !important;
    transform: none !important;
  }

  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item > *,
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item span,
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item small,
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item b,
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item strong {
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item svg,
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item i,
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item img {
    display: block !important;
    margin: 0 auto !important;
    position: static !important;
    transform: none !important;
    flex: 0 0 auto !important;
  }
}


/* =========================================================
   v2.4.9 — Exact two-row layout for external mobile bottom nav.
   Handles legacy raw text/absolute labels by using the label/icon
   classes marked by main.js. No links or click behavior are changed.
   ========================================================= */
@media (max-width: 820px) {
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 30px 20px !important;
    place-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    row-gap: 3px !important;
    column-gap: 0 !important;
    padding: 6px 2px !important;
    margin: 0 !important;
    text-align: center !important;
    overflow: visible !important;
  }

  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-icon,
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item > svg,
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item > i,
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item > img {
    grid-column: 1 !important;
    grid-row: 1 !important;
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center !important;
    align-self: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transform: none !important;
  }

  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-label {
    grid-column: 1 !important;
    grid-row: 2 !important;
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-align: center !important;
    justify-self: stretch !important;
    align-self: center !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  /* Neutralize old absolute-positioned text wrappers only inside the
     marked external nav item. */
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item > span:not(.blsc-external-mobile-nav-icon),
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item > small,
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item > b,
  .blsc-external-mobile-nav-navy .blsc-external-mobile-nav-item > strong {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}

/* =========================================================
   v2.5.9 — Mobile hamburger drawer + legacy blank-page recovery.
   Presentation only; no menu URLs, SEO meta, rewrites or page data changes.
   ========================================================= */
.blsc-legacy-page-restored {
  padding-block: clamp(22px, 4vw, 48px);
}
.blsc-legacy-page-restored > :first-child { margin-top: 0; }
.blsc-legacy-page-restored > :last-child { margin-bottom: 0; }
.blsc-legacy-page-head { margin-bottom: 22px; }
.blsc-legacy-page-head h1 { margin: 0; font-size: clamp(25px, 4vw, 38px); line-height: 1.6; }
.blsc-legacy-page-restored img { max-width: 100%; height: auto; border-radius: 14px; }
.blsc-legacy-page-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-block: 18px;
}
.blsc-legacy-page-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 18px;
  border-radius: 12px;
  background: var(--bl-brand);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800;
}

.blsc-menu-icon {
  width: 22px;
  height: 16px;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 0 0 auto;
}
.blsc-menu-icon > span {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
  transition: transform .22s ease, opacity .22s ease;
}
.blsc-menu-toggle[aria-expanded="true"] .blsc-menu-icon > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.blsc-menu-toggle[aria-expanded="true"] .blsc-menu-icon > span:nth-child(2) { opacity: 0; }
.blsc-menu-toggle[aria-expanded="true"] .blsc-menu-icon > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.blsc-nav-backdrop { display: none; }

@media (max-width: 820px) {
  .blsc-header-main { position: relative; }
  .blsc-header-actions {
    direction: rtl;
    justify-content: flex-start;
  }
  .blsc-menu-toggle {
    order: -1;
    gap: 8px;
    min-width: 46px;
    padding-inline: 11px;
    color: var(--bl-navy);
  }
  .blsc-menu-toggle .blsc-menu-text { display: none; }

  /* Real off-canvas drawer from the RIGHT. */
  .blsc-nav {
    display: block !important;
    position: fixed !important;
    z-index: 1000002;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    bottom: 0 !important;
    width: min(88vw, 360px) !important;
    max-width: 360px !important;
    max-height: none !important;
    overflow-y: auto !important;
    padding: 20px 0 30px;
    border: 0 !important;
    background: #fff;
    box-shadow: -18px 0 42px rgba(20, 33, 45, .18);
    transform: translateX(105%);
    visibility: hidden;
    transition: transform .25s ease, visibility .25s ease;
    overscroll-behavior: contain;
  }
  .blsc-nav.is-open {
    transform: translateX(0);
    visibility: visible;
  }
  .blsc-nav > .blsc-shell {
    width: 100% !important;
    max-width: none !important;
    padding: 52px 15px 15px;
  }
  .blsc-nav .blsc-menu { padding: 0; }
  .blsc-nav .blsc-menu > li { border-bottom: 1px solid #f2edf1; }
  .blsc-nav .blsc-menu > li > a { min-height: 50px; font-weight: 800; }
  .blsc-nav .blsc-menu .sub-menu,
  .blsc-nav .blsc-menu .sub-menu .sub-menu {
    margin: 0 10px 8px 0;
    padding: 0 10px 0 0;
    border-inline-start: 0;
    border-inline-end: 2px solid #f0e2eb;
  }
  .blsc-nav-backdrop {
    display: block;
    position: fixed;
    z-index: 1000001;
    inset: 0;
    background: rgba(18, 29, 38, .46);
    opacity: 0;
    visibility: hidden;
    transition: opacity .22s ease, visibility .22s ease;
  }
  .blsc-nav-backdrop.is-open { opacity: 1; visibility: visible; }
  html.blsc-menu-open,
  html.blsc-menu-open body { overflow: hidden; }

  .blsc-legacy-page-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
}

@media (max-width: 480px) {
  .blsc-legacy-page-gallery { grid-template-columns: 1fr; }
}

/* =========================================================
   BabyLife 2.6.0 — mobile menu position + native bottom nav
   + safe blank legacy landing fallback.
   ========================================================= */
.blsc-legacy-menu-landing {
  padding-block: 30px 52px;
}
.blsc-legacy-menu-landing .blsc-legacy-page-head {
  margin-bottom: 20px;
  text-align: center;
}
.blsc-legacy-menu-landing .blsc-legacy-page-head h1 {
  margin: 0 0 8px;
  font-size: clamp(24px, 4vw, 34px);
  color: var(--bl-navy);
}
.blsc-legacy-menu-landing .blsc-legacy-page-head p {
  margin: 0;
  color: var(--bl-muted);
}
.blsc-legacy-menu-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.blsc-legacy-menu-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--bl-line);
  border-radius: 18px;
  background: #fff;
  color: var(--bl-text);
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(35,20,31,.05);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.blsc-legacy-menu-card:hover {
  transform: translateY(-2px);
  border-color: #d7b8ce;
  box-shadow: 0 12px 30px rgba(35,20,31,.09);
}
.blsc-legacy-menu-card__media {
  width: 86px;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 13px;
  background: #faf7f9;
}
.blsc-legacy-menu-card__media img { width: 100%; height: 100%; object-fit: cover; }
.blsc-legacy-menu-card__body { min-width: 0; }
.blsc-legacy-menu-card__body strong { display: block; margin-bottom: 5px; font-size: 14px; line-height: 1.8; }
.blsc-legacy-menu-card__body small { color: var(--bl-muted); font-size: 11px; }
.blsc-legacy-menu-card__arrow { color: var(--bl-brand); font-size: 20px; font-weight: 900; }

.blsc-mobile-bottom-nav { display: none; }

@media (max-width: 820px) {
  /* First control on the RIGHT in RTL: hamburger, then cart. */
  .blsc-header-actions {
    direction: rtl !important;
    flex-direction: row !important;
  }
  .blsc-header-actions .blsc-menu-toggle {
    order: 0 !important;
  }
  .blsc-header-actions .blsc-cart-link {
    order: 1 !important;
  }

  .blsc-legacy-menu-grid { grid-template-columns: 1fr; gap: 10px; }
  .blsc-legacy-menu-card { grid-template-columns: 72px minmax(0, 1fr) 20px; padding: 10px; border-radius: 15px; }
  .blsc-legacy-menu-card__media { width: 72px; border-radius: 11px; }

  :root { --blsc-native-bottom-nav-h: 68px; }
  body { padding-bottom: calc(var(--blsc-native-bottom-nav-h) + env(safe-area-inset-bottom)) !important; }

  .blsc-mobile-bottom-nav {
    position: fixed;
    z-index: 999990;
    right: 0;
    left: 0;
    bottom: 0;
    min-height: var(--blsc-native-bottom-nav-h);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    padding: 6px max(5px, env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));
    background: #183B56;
    border-top: 1px solid rgba(255,255,255,.13);
    box-shadow: 0 -8px 24px rgba(18,29,38,.18);
  }
  .blsc-mobile-bottom-nav__item {
    min-width: 0;
    min-height: 54px;
    border: 0;
    background: transparent;
    color: #fff !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 3px 2px;
    border-radius: 10px;
    text-decoration: none !important;
    font-family: inherit;
    cursor: pointer;
  }
  .blsc-mobile-bottom-nav__item svg {
    width: 23px;
    height: 23px;
    display: block;
    flex: 0 0 auto;
  }
  .blsc-mobile-bottom-nav__item > span:last-child {
    display: block;
    max-width: 100%;
    color: #fff !important;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .blsc-mobile-bottom-nav__item.is-active { background: rgba(255,255,255,.10); }
  .blsc-mobile-bottom-nav__cart-icon { position: relative; display: block; line-height: 0; }
  .blsc-mobile-bottom-nav__cart-icon b {
    position: absolute;
    top: -5px;
    right: -9px;
    min-width: 17px;
    height: 17px;
    display: grid;
    place-items: center;
    padding: 0 4px;
    border-radius: 999px;
    background: #ff7a30;
    color: #fff;
    font-size: 9px;
    line-height: 1;
  }

  /* Keep product purchase bars usable above the native bottom nav. */
  .blsc-sticky-product-cta,
  .bl-floating-cart {
    bottom: calc(var(--blsc-native-bottom-nav-h) + env(safe-area-inset-bottom)) !important;
  }

  /* The old external bottom bar must not duplicate the new native one. */
  .blsc-external-mobile-nav-navy { display: none !important; }
}

/* =========================================================
   BabyLife 2.6.1 — Digikala-style mobile bottom nav,
   checklist-plugin bridge, mobile search/menu swap, bed-set repair.
   Presentation only; no SEO/URL/query mutations.
   ========================================================= */
@media (max-width: 820px) {
  /* User-requested swap on the no-logo mobile header: search and action area exchange sides. */
  .blsc-header-main.blsc-no-brand {
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-areas: "actions search" !important;
    column-gap: 9px !important;
  }
  .blsc-header-main.blsc-no-brand .blsc-header-actions {
    grid-area: actions !important;
    justify-self: start;
  }
  .blsc-header-main.blsc-no-brand .blsc-search {
    grid-area: search !important;
    width: 100%;
  }

  /* Digikala-like fixed white navigation: DOM order is RTL => Home, Checklist, Cart. */
  .blsc-mobile-bottom-nav {
    direction: rtl;
    min-height: 66px;
    background: rgba(255,255,255,.98) !important;
    border-top: 1px solid #e5e7eb !important;
    box-shadow: 0 -5px 18px rgba(15,23,42,.08) !important;
    backdrop-filter: blur(10px);
  }
  .blsc-mobile-bottom-nav__item {
    color: #62666d !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
  .blsc-mobile-bottom-nav__item svg {
    width: 22px;
    height: 22px;
  }
  .blsc-mobile-bottom-nav__item > span:last-child {
    color: #62666d !important;
    font-size: 10px;
    font-weight: 700;
  }
  .blsc-mobile-bottom-nav__item.is-active,
  .blsc-mobile-bottom-nav__item:focus-visible {
    color: #731C53 !important;
    background: #fff !important;
  }
  .blsc-mobile-bottom-nav__item.is-active > span:last-child,
  .blsc-mobile-bottom-nav__item:focus-visible > span:last-child {
    color: #731C53 !important;
  }
  .blsc-mobile-bottom-nav__item:focus-visible {
    outline: 2px solid rgba(115,28,83,.25);
    outline-offset: -2px;
  }
  .blsc-mobile-bottom-nav__cart-icon b {
    background: #ef4056 !important;
  }
}

/* v2.6.3 — Checklist opening is owned by the installed plugin.
   The bottom-nav item carries both .blce-open and #babylife-checklist, exactly
   matching the plugin's public/manual opener contract. */

/* /bed-set/ is a legacy Page containing Woo product output + a long article.
   Keep the saved content intact, only restore a readable responsive layout. */
.blsc-bed-set-page #main-content {
  width: min(calc(100% - 24px), 1180px);
  margin-inline: auto;
  padding: 22px 0 54px;
}
.blsc-bed-set-page .blsc-legacy-page-restored,
.blsc-bed-set-page .entry-content,
.blsc-bed-set-page .elementor-widget-text-editor,
.blsc-bed-set-page .elementor-widget-shortcode {
  max-width: 100%;
}
.blsc-bed-set-page #main-content h1 {
  margin: 0 0 20px;
  font-size: clamp(25px, 4vw, 38px);
  line-height: 1.55;
}
.blsc-bed-set-page #main-content h2:not(.woocommerce-loop-product__title) {
  margin: 34px 0 12px;
  padding-right: 12px;
  border-right: 4px solid #731C53;
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.75;
}
.blsc-bed-set-page #main-content h3:not(.woocommerce-loop-product__title) {
  margin: 25px 0 10px;
  font-size: clamp(17px, 2.5vw, 21px);
  line-height: 1.8;
}
.blsc-bed-set-page #main-content p,
.blsc-bed-set-page #main-content li {
  line-height: 2.05;
}
.blsc-bed-set-page #main-content img {
  max-width: 100%;
  height: auto;
}
.blsc-bed-set-page #main-content ul.products {
  margin-bottom: 36px !important;
}
@media (max-width: 820px) {
  .blsc-bed-set-page #main-content {
    width: calc(100% - 20px);
    padding-top: 14px;
  }
  .blsc-bed-set-page #main-content h2:not(.woocommerce-loop-product__title) {
    margin-top: 28px;
    padding-right: 9px;
    border-right-width: 3px;
  }
}


/* =========================================================
   BabyLife 2.6.2 — responsive Enamad footer + stable mobile bar
   ========================================================= */
.blsc-footer-grid {
  grid-template-columns: minmax(0, 1.6fr) minmax(145px, .55fr);
  align-items: start;
}
.blsc-footer-grid.has-shop {
  grid-template-columns: minmax(0, 1.25fr) minmax(145px, .52fr) minmax(0, 1fr);
}
.blsc-footer-grid > * { min-width: 0; }
.blsc-footer-trust { text-align: center; }
.blsc-footer-trust h2 { text-align: center; }
.blsc-enamad {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 132px);
  min-height: 126px;
  margin: 0 auto;
  padding: 9px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.13);
}
.blsc-enamad a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 108px;
  text-decoration: none !important;
}
.blsc-enamad img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 108px;
  margin: 0 auto;
  object-fit: contain;
}
.blsc-footer-bottom { text-align: center; }

@media (max-width: 1100px) {
  .blsc-footer-grid,
  .blsc-footer-grid.has-shop {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 24px;
  }
  .blsc-footer-trust { align-self: start; }
}

@media (max-width: 560px) {
  .blsc-footer-grid,
  .blsc-footer-grid.has-shop {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    padding-block: 30px;
  }
  .blsc-footer-about,
  .blsc-footer-grid > section:not(.blsc-footer-trust),
  .blsc-footer-shop {
    text-align: right;
  }
  .blsc-footer-trust {
    padding-top: 2px;
    text-align: center;
  }
  .blsc-enamad {
    width: 122px;
    min-height: 118px;
  }
  .blsc-enamad a { min-height: 100px; }
  .blsc-enamad img { max-height: 100px; }
}

@media (max-width: 820px) {
  /* The native bottom bar is server-rendered. Keep it visible before and
     after JS/cache/plugin initialization; no JS is required for its presence. */
  .blsc-mobile-bottom-nav,
  .blsc-mobile-bottom-nav.blsc-external-mobile-nav-navy {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }
}


/* =========================================================
   BabyLife 2.6.6 — native Popover checklist opener
   ========================================================= */
@media (max-width: 820px) {
  .blsc-mobile-bottom-nav button.blsc-mobile-bottom-nav__item {
    appearance: none;
    -webkit-appearance: none;
    border: 0 !important;
    outline: 0;
    margin: 0;
    font: inherit;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }
}

.blsc-checklist-fallback {
  position: fixed !important;
  z-index: 2147483000 !important;
  inset: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  height: var(--blsc-checklist-visible-h, 100dvh) !important;
  max-height: var(--blsc-checklist-visible-h, 100dvh) !important;
  margin: 0 !important;
  padding: 16px !important;
  border: 0 !important;
  background: rgba(18, 14, 17, .58) !important;
  color: inherit;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  overscroll-behavior: contain;
  backdrop-filter: blur(4px);
}
.blsc-checklist-fallback:not(:popover-open):not(.is-open) {
  display: none !important;
}
.blsc-checklist-fallback:popover-open,
.blsc-checklist-fallback.is-open {
  display: flex !important;
}
.blsc-checklist-fallback::backdrop {
  background: transparent;
}
.blsc-checklist-fallback__modal {
  position: relative;
  width: min(100%, 430px);
  max-height: calc(100% - 12px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 28px 22px 22px;
  direction: rtl;
  text-align: center;
  border: 1px solid #efdce7;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
  box-sizing: border-box;
}
.blsc-checklist-fallback__close {
  position: absolute;
  top: 10px;
  left: 11px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f5edf2;
  color: #731c53;
  font: inherit;
  font-size: 25px;
  line-height: 30px;
  cursor: pointer;
}
.blsc-checklist-fallback__icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin: 0 auto 12px;
  border-radius: 18px;
  background: #fff0f7;
  color: #731c53;
  font-size: 28px;
  font-weight: 900;
}
.blsc-checklist-fallback h2 {
  margin: 0 28px 8px;
  color: #59123f;
  font-size: 20px;
  line-height: 1.7;
}
.blsc-checklist-fallback p {
  margin: 0 0 15px;
  color: #67545f;
  font-size: 12px;
  line-height: 1.9;
}
.blsc-checklist-fallback form { margin: 0; }
.blsc-checklist-fallback input {
  width: 100%;
  height: 50px;
  box-sizing: border-box;
  padding: 0 13px;
  border: 1px solid #dfccd7;
  border-radius: 12px;
  background: #fff;
  color: #242024;
  font: inherit;
  font-size: 16px;
  text-align: center;
  direction: ltr;
  outline: none;
  scroll-margin-bottom: 18px;
}
.blsc-checklist-fallback input:focus {
  border-color: #731c53;
  box-shadow: 0 0 0 3px rgba(115,28,83,.10);
}
.blsc-checklist-fallback [data-blsc-checklist-submit],
.blsc-checklist-fallback [data-blsc-checklist-download] {
  width: 100%;
  min-height: 51px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin-top: 10px;
  padding: 10px 14px;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(135deg,#ff7a30,#ff5e2d);
  color: #fff !important;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none !important;
  cursor: pointer;
}
.blsc-checklist-fallback [data-blsc-checklist-submit]:disabled { opacity: .65; cursor: wait; }
.blsc-checklist-fallback__message {
  display: none;
  margin-top: 10px;
  padding: 9px 11px;
  border-radius: 10px;
  font-size: 12px;
  line-height: 1.8;
}
.blsc-checklist-fallback__message.is-error { display: block; background: #fff0f0; color: #a51f1f; }
.blsc-checklist-fallback__message.is-success { display: block; background: #ecfff2; color: #14743b; }
.blsc-checklist-fallback__success[hidden],
.blsc-checklist-fallback__form-view[hidden] { display: none !important; }
html.blsc-checklist-modal-open,
body.blsc-checklist-modal-open { overflow: hidden !important; }

@media (max-width: 820px) {
  .blsc-checklist-fallback {
    align-items: flex-end;
    justify-content: center;
    padding: 8px 10px max(8px, env(safe-area-inset-bottom)) !important;
  }
  .blsc-checklist-fallback__modal {
    width: 100%;
    max-width: 430px;
    max-height: calc(100% - 8px);
    border-radius: 20px;
    padding: 24px 16px 18px;
  }
  .blsc-checklist-fallback h2 { font-size: 18px; }
}

/* =========================================================
   BabyLife 2.7.0 — responsive HTML sismooni checklist
   ========================================================= */
.blsc-checklist-fallback__modal.is-checklist-view {
  width: min(100%, 940px);
  max-height: calc(100% - 12px);
  padding: 22px 18px 18px;
  text-align: right;
}
.blsc-checklist-mobile__hero {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 2px 4px 12px;
}
.blsc-checklist-mobile__hero .blsc-checklist-fallback__icon {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  margin: 0;
  font-size: 25px;
}
.blsc-checklist-mobile__hero h2 {
  margin: 0 0 3px;
  text-align: right;
  font-size: 20px;
}
.blsc-checklist-mobile__hero p {
  margin: 0;
  text-align: right;
}
.blsc-checklist-mobile__progress {
  margin: 0 0 14px;
  padding: 12px 13px;
  border: 1px solid #eadde5;
  border-radius: 14px;
  background: #fffafb;
}
.blsc-checklist-mobile__progress-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #59123f;
  font-size: 12px;
}
.blsc-checklist-mobile__progress-track {
  height: 8px;
  margin-top: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #eee7eb;
}
.blsc-checklist-mobile__progress-track i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#731c53,#ff7a30);
  transition: width .2s ease;
}
.blsc-checklist-mobile__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.blsc-checklist-mobile__category {
  min-width: 0;
  overflow: hidden;
  border: 1px dashed #f2aac5;
  border-radius: 18px;
  background: #fffafb;
}
.blsc-checklist-mobile__category.is-blue {
  border-color: #9ed2f1;
  background: #f8fcff;
}
.blsc-checklist-mobile__category h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 11px 13px;
  border-bottom: 1px solid rgba(226,145,175,.32);
  background: #fff0f5;
  color: #b43f69;
  font-size: 15px;
  line-height: 1.7;
}
.blsc-checklist-mobile__category.is-blue h3 {
  border-bottom-color: rgba(96,174,220,.28);
  background: #eaf7ff;
  color: #2474a6;
}
.blsc-checklist-mobile__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px 10px;
  padding: 8px 10px 11px;
}
.blsc-checklist-mobile__item {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 7px 5px;
  color: #3f333a;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.75;
  cursor: pointer;
  border-radius: 9px;
}
.blsc-checklist-mobile__item:hover { background: rgba(115,28,83,.035); }
.blsc-checklist-mobile__item input {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 19px;
  width: 19px !important;
  height: 19px !important;
  min-height: 19px;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  border: 1.5px solid #e17aa2 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
}
.blsc-checklist-mobile__category.is-blue .blsc-checklist-mobile__item input {
  border-color: #5eaedc !important;
}
.blsc-checklist-mobile__item input:checked {
  border-color: #731c53 !important;
  background: #731c53 !important;
  box-shadow: inset 0 0 0 4px #fff !important;
}
.blsc-checklist-mobile__category.is-blue .blsc-checklist-mobile__item input:checked {
  border-color: #2474a6 !important;
  background: #2474a6 !important;
}
.blsc-checklist-mobile__item input:checked + span {
  color: #8e7d86;
  text-decoration: line-through;
}
.blsc-checklist-mobile__tip {
  margin: 13px 0 0;
  padding: 11px 13px;
  border: 1px solid #e5dbe0;
  border-radius: 14px;
  background: linear-gradient(90deg,#fff6fa,#f3f9ff);
  color: #5b4b54;
  font-size: 11px;
  line-height: 1.9;
}
.blsc-checklist-mobile__tip strong { color: #59123f; }
.blsc-checklist-mobile__actions {
  position: sticky;
  bottom: -18px;
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin: 12px -18px -18px;
  padding: 10px 18px calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid #eadfe5;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
}
.blsc-checklist-fallback .blsc-checklist-mobile__actions [data-blsc-checklist-download] {
  min-height: 46px;
  margin: 0;
  border-radius: 11px;
  font-size: 12px;
}
.blsc-checklist-mobile__actions button {
  min-height: 46px;
  padding: 8px 13px;
  border: 1px solid #e4d9df;
  border-radius: 11px;
  background: #f7f3f5;
  color: #654c5b;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}
.blsc-checklist-mobile__support {
  margin: 13px 0 0 !important;
  padding-bottom: 2px;
  text-align: center;
  font-size: 10px !important;
}

@media (max-width: 820px) {
  .blsc-checklist-fallback__modal.is-checklist-view {
    width: 100%;
    max-width: 100%;
    max-height: calc(100% - 4px);
    padding: 18px 10px 14px;
    border-radius: 18px 18px 0 0;
  }
  .blsc-checklist-mobile__hero {
    padding-left: 35px;
  }
  .blsc-checklist-mobile__hero h2 { font-size: 17px; }
  .blsc-checklist-mobile__hero p { font-size: 10px; line-height: 1.8; }
  .blsc-checklist-mobile__grid { grid-template-columns: 1fr; gap: 10px; }
  .blsc-checklist-mobile__items { grid-template-columns: 1fr; padding: 6px 8px 9px; }
  .blsc-checklist-mobile__item {
    min-height: 38px;
    align-items: center;
    padding: 6px 5px;
    font-size: 12px;
  }
  .blsc-checklist-mobile__category h3 { font-size: 14px; }
  .blsc-checklist-mobile__actions {
    bottom: -14px;
    grid-template-columns: 1fr;
    margin: 10px -10px -14px;
    padding: 9px 10px calc(9px + env(safe-area-inset-bottom));
  }
  .blsc-checklist-mobile__actions button { min-height: 42px; }
}
