:root {
    --ab-nav-height: 58px;
    --ab-nav-bg: var(--bs-body-bg);
    --ab-nav-surface: rgba(255,255,255,.72);
    --ab-nav-surface-2: rgba(255,255,255,.88);
    --ab-nav-border: rgba(0,0,0,.08);
    --ab-nav-shadow: 0 10px 24px rgba(0,0,0,.08);
  }
  [data-bs-theme="dark"] {
    --ab-nav-surface: rgba(22,22,24,.78);
    --ab-nav-surface-2: rgba(30,30,34,.92);
    --ab-nav-border: rgba(255,255,255,.10);
    --ab-nav-shadow: 0 10px 24px rgba(0,0,0,.35);
  }
  .ab-navbar-wrap {
    position: sticky;
    top: 0;
    z-index: 1035;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background: var(--ab-nav-surface);
    border-bottom: 1px solid var(--ab-nav-border);
    box-shadow: var(--ab-nav-shadow);
  }
  .ab-navbar-top {
    min-height: var(--ab-nav-height);
  }
  .ab-logo-shell{display:inline-flex;align-items:center;justify-content:center;padding:.22rem .55rem;border-radius:12px;background:rgba(20,20,22,.96);border:1px solid rgba(0,0,0,.12);box-shadow:none;}
  [data-bs-theme="dark"] .ab-logo-shell{background:transparent;border-color:rgba(255,255,255,.10);}
  .ab-logo {
    height: 34px;
    width: auto;
    object-fit: contain;
  }
  .ab-nav-link {
    color: var(--bs-body-color);
    text-decoration: none;
    font-size: .92rem;
    font-weight: 500;
    padding: .45rem .7rem;
    border-radius: 999px;
    transition: .18s ease;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
  }
  .ab-nav-link:hover,
  .ab-nav-link.active {
    background: var(--bs-secondary-bg);
    color: var(--bs-emphasis-color);
  }
  .ab-nav-icon-btn {
    border: 1px solid var(--ab-nav-border);
    background: var(--ab-nav-surface-2);
    color: var(--bs-body-color);
    border-radius: 999px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,.05);
  }
  .ab-nav-icon-btn:hover {
    background: var(--bs-secondary-bg);
    color: var(--bs-emphasis-color);
  }
  .ab-searchbar {
    position: relative;
    padding: .45rem .75rem .7rem;
    border-top: 1px solid var(--ab-nav-border);
  }
  .ab-search-group {
    background: var(--ab-nav-surface-2);
    border: 1px solid var(--ab-nav-border);
    border-radius: 16px;
    padding: .25rem;
    box-shadow: 0 8px 20px rgba(0,0,0,.06);
  }
  .ab-search-group .btn,
  .ab-search-group .form-control {
    border: 0 !important;
    box-shadow: none !important;
    min-height: 42px;
  }
  .ab-search-group .form-control {
    background: transparent;
    font-size: .96rem;
  }
  .ab-search-group .btn {
    border-radius: 12px !important;
  }

  .ab-search-group .ab-filter-btn{background: var(--bs-secondary-bg); color: var(--bs-emphasis-color);} 
  .ab-search-group .ab-filter-btn:hover{background: var(--bs-secondary-color); color:#fff;}
  .ab-search-group .ab-search-btn{background: var(--bs-dark); color:#fff;}
  [data-bs-theme="dark"] .ab-search-group .ab-search-btn{background: var(--bs-light); color:#111;}
  #search_suggest {
    position: absolute;
    left: .75rem;
    right: .75rem;
    top: calc(100% - .2rem);
    z-index: 1060;
    max-height: 420px;
    overflow-y: auto;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    border: 1px solid var(--ab-nav-border);
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(0,0,0,.16);
  }
  .ab-search-suggest-panel{padding:.65rem;background:var(--bs-body-bg);color:var(--bs-body-color);}
  .ab-suggest-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem;}
  .ab-suggest-eyebrow,.ab-suggest-section-title{font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--bs-secondary-color);}
  .ab-suggest-section-title{display:flex;align-items:center;gap:.38rem;margin:.08rem 0 .18rem;}
  .ab-suggest-section:not(.ab-suggest-section-promoted) .ab-suggest-section-title{font-weight:650;color:var(--bs-emphasis-color);}
  .ab-suggest-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end;}
  .ab-suggest-sort{border:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg);color:var(--bs-emphasis-color);border-radius:999px;padding:.28rem .62rem;font-size:.75rem;font-weight:500;line-height:1.1;}
  .ab-suggest-sort:hover,.ab-suggest-sort.is-active{background:var(--bs-emphasis-color);color:var(--bs-body-bg);border-color:var(--bs-emphasis-color);}
  .ab-suggest-section+.ab-suggest-section{margin-top:.62rem;padding-top:.6rem;border-top:1px solid var(--bs-border-color);}
  .ab-suggest-section-promoted{margin-bottom:.32rem;}
  .ab-suggest-section-promoted .ab-suggest-section-title{font-size:.66rem;font-weight:500;color:var(--bs-secondary-color);opacity:.82;}
  .ab-suggest-section-promoted .ab-suggest-list{gap:.28rem;margin-top:.28rem;}
  .ab-suggest-list{display:grid;gap:.38rem;margin-top:.38rem;}
  .ab-suggest-result{position:relative;display:flex;align-items:stretch;border:1px solid var(--bs-border-color);border-radius:14px;background:var(--bs-body-bg);overflow:hidden;transition:box-shadow .15s ease,border-color .15s ease,background .15s ease;}
  .ab-suggest-result:hover{box-shadow:0 10px 24px rgba(0,0,0,.08);}
  .ab-suggest-list-promoted .ab-suggest-result{border-color:rgba(108,117,125,.18);background:rgba(108,117,125,.035);box-shadow:none;}
  .ab-suggest-list-promoted .ab-suggest-result:hover{box-shadow:0 7px 18px rgba(0,0,0,.055);}
  .ab-suggest-list-promoted .ab-suggest-result-link{grid-template-columns:40px minmax(0,1fr) auto;gap:.45rem;padding:.34rem 2.55rem .34rem .38rem;}
  .ab-suggest-list-promoted .ab-suggest-thumb{width:40px;height:40px;border-radius:10px;background:rgba(108,117,125,.08);}
  .ab-suggest-list-promoted .ab-suggest-thumb img{max-width:34px;max-height:36px;}
  .ab-suggest-list-promoted .ab-suggest-name{font-size:.78rem;font-weight:500;color:var(--bs-body-color);}
  .ab-suggest-list-promoted .ab-suggest-meta{font-size:.66rem;}
  .ab-suggest-list-promoted .ab-suggest-price{font-size:.78rem;font-weight:500;color:var(--bs-body-color);}
  .ab-suggest-list-promoted .ab-suggest-list-price{font-size:.62rem;}
  .ab-suggest-list-promoted .ab-suggest-stock{font-size:.68rem;font-weight:500;}
  .ab-suggest-list-promoted .ab-suggest-cart-btn{width:28px;height:28px;right:.42rem;bottom:.42rem;font-size:.92rem;box-shadow:0 7px 16px rgba(17,24,39,.12);}
  .ab-suggest-list-promoted .ab-suggest-offer-badge{transform:scale(.86);transform-origin:right center;}
  .ab-suggest-result-link{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:.55rem;min-width:0;width:100%;padding:.48rem 3.05rem .48rem .48rem;text-decoration:none;color:inherit;}
  .ab-suggest-result-link:hover{color:inherit;}
  .ab-suggest-thumb{width:52px;height:52px;border-radius:12px;background:var(--bs-tertiary-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .ab-suggest-thumb img{max-width:44px;max-height:48px;object-fit:contain;}
  .ab-suggest-copy{min-width:0;display:grid;gap:.12rem;}
  .ab-suggest-name{font-size:.86rem;font-weight:500;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--bs-emphasis-color);}
  .ab-suggest-meta{font-size:.72rem;color:var(--bs-secondary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .ab-suggest-side{display:flex;flex-direction:column;align-items:flex-end;gap:.18rem;white-space:nowrap;}
  .ab-suggest-badge{border-radius:999px;background:rgba(255,193,7,.18);color:#8a5a00;border:1px solid rgba(255,193,7,.34);font-size:.64rem;font-weight:500;padding:.08rem .4rem;}
  .ab-suggest-list-promoted .ab-suggest-badge{background:rgba(108,117,125,.10);color:var(--bs-secondary-color);border-color:rgba(108,117,125,.22);font-size:.58rem;font-weight:500;padding:.05rem .34rem;}
  .ab-suggest-price{font-size:.86rem;font-weight:500;color:var(--bs-emphasis-color);}
  .ab-suggest-list-price{font-size:.68rem;font-weight:400;color:var(--bs-secondary-color);}
  .ab-suggest-stock{font-size:.74rem;font-weight:500;color:var(--bs-secondary-color);}
  .ab-suggest-cart-btn{position:absolute;right:.5rem;bottom:.5rem;width:34px;height:34px;border:1px solid rgba(17,24,39,.12);border-radius:999px;background:#111827;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;line-height:1;box-shadow:0 10px 24px rgba(17,24,39,.2);transition:transform .15s ease,box-shadow .15s ease,background .15s ease;}
  .ab-suggest-cart-btn:hover{transform:translateY(-1px);background:#0f172a;box-shadow:0 12px 28px rgba(17,24,39,.28);}
  .ab-suggest-cart-btn.is-pulsing{transform:scale(.92);}
  .ab-suggest-empty{padding:.75rem;border-radius:14px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:.86rem;}
  [data-bs-theme="dark"] .ab-suggest-sort, body.ab-dark-theme .ab-suggest-sort{background:rgba(255,255,255,.08);color:#f8f9fa;border-color:rgba(255,255,255,.18);}
  [data-bs-theme="dark"] .ab-suggest-sort:hover,[data-bs-theme="dark"] .ab-suggest-sort.is-active, body.ab-dark-theme .ab-suggest-sort:hover, body.ab-dark-theme .ab-suggest-sort.is-active{background:#f8f9fa;color:#111827;border-color:#f8f9fa;}
  [data-bs-theme="dark"] .ab-suggest-result, body.ab-dark-theme .ab-suggest-result{background:#171b22;border-color:rgba(255,255,255,.11);}
  [data-bs-theme="dark"] .ab-suggest-list-promoted .ab-suggest-result, body.ab-dark-theme .ab-suggest-list-promoted .ab-suggest-result{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.045);}
  [data-bs-theme="dark"] .ab-suggest-list-promoted .ab-suggest-thumb, body.ab-dark-theme .ab-suggest-list-promoted .ab-suggest-thumb{background:rgba(255,255,255,.07);}
  [data-bs-theme="dark"] .ab-suggest-list-promoted .ab-suggest-name, [data-bs-theme="dark"] .ab-suggest-list-promoted .ab-suggest-price, body.ab-dark-theme .ab-suggest-list-promoted .ab-suggest-name, body.ab-dark-theme .ab-suggest-list-promoted .ab-suggest-price{color:rgba(248,249,250,.88);}
  [data-bs-theme="dark"] .ab-suggest-badge, body.ab-dark-theme .ab-suggest-badge{color:#ffd76a;background:rgba(255,193,7,.14);border-color:rgba(255,193,7,.25);}
  [data-bs-theme="dark"] .ab-suggest-cart-btn, body.ab-dark-theme .ab-suggest-cart-btn{background:#f8f9fa;color:#111827;border-color:rgba(255,255,255,.18);box-shadow:0 12px 28px rgba(0,0,0,.38);}
  [data-bs-theme="dark"] .ab-suggest-cart-btn:hover, body.ab-dark-theme .ab-suggest-cart-btn:hover{background:#fff;}
  .ab-status-strip {
    font-size: .84rem;
    border-top: 1px solid var(--ab-nav-border);
    background: var(--ab-nav-surface-2);
  }
  .ab-desktop-only { display: none !important; }
  .ab-mobile-actions { display: inline-flex; }
  .ab-theme-label { font-size: .78rem; }
  .ab-user-pill {
    border-radius: 999px;
    padding: .2rem .55rem;
    font-size: .72rem;
  }
  .ab-floating-cart {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 1040;
    border-radius: 999px;
    padding: .75rem;
    box-shadow: 0 10px 28px rgba(0,0,0,.18);
  }
  body.ab-dark-theme .swal2-popup {
    background: #1e1f24 !important;
    color: #f2f2f2 !important;
  }
  body.ab-dark-theme .swal2-title,
  body.ab-dark-theme .swal2-html-container,
  body.ab-dark-theme .swal2-content {
    color: #f2f2f2 !important;
  }
  body.ab-dark-theme .swal2-input,
  body.ab-dark-theme .swal2-select,
  body.ab-dark-theme .swal2-textarea {
    background: #2a2c31 !important;
    color: #f2f2f2 !important;
    border-color: rgba(255,255,255,.12) !important;
  }
  @media (min-width: 992px) {
    .ab-desktop-only { display: inline-flex !important; }
    .ab-mobile-actions { display: none !important; }
    .ab-navbar-top { padding-inline: .75rem; }
    .ab-searchbar { padding-inline: 1rem; }
  }
