@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700;800&display=swap");
/* Storefront layout modelled on the ghorerbazar.com structure: white header, dark category bar,
   split hero, square category cards, horizontal top-selling cards, product sliders and a light footer. */
:root {
    --gb-primary: #f48721;
    --gb-primary-dark: #d9700f;
    --gb-primary-soft: #fff2ea;
    --gb-secondary: #041f1e;
    --gb-title: #222831;
    --gb-text: #252a34;
    --gb-muted: #7a7f87;
    --gb-border: #ececec;
    --gb-bg: #fbf9f5;
    --gb-radius: 8px;
    /* Re-point the existing theme tokens so every storefront page follows the same palette. */
    --bfp-green: var(--gb-primary);
    --bfp-dark: var(--gb-secondary);
    --bfp-leaf: var(--gb-primary-soft);
    --bfp-line: var(--gb-border);
    --bfp-ink: var(--gb-text);
}

body.bahari-theme { background: var(--gb-bg) !important; color: var(--gb-text); font-family: "Open Sans", "Segoe UI", Arial, sans-serif; }
.bahari-theme h1, .bahari-theme h2, .bahari-theme h3, .bahari-theme h4, .bahari-theme h5, .bahari-theme h6,
.bahari-theme .gb-section, .bahari-theme .gb-hero { font-family: "Open Sans", "Segoe UI", Arial, sans-serif; }
.bahari-theme .container { max-width: 1240px; }
.bahari-theme #content, .bahari-theme .gb-section, .bahari-theme .gb-hero { background: var(--gb-bg) !important; }
.bfp-bilingual-name { display: inline-flex; flex-direction: column; max-width: 100%; vertical-align: middle; line-height: 1.25; }
.bfp-bilingual-name__bn, .bfp-bilingual-name__en { display: block; }
.bfp-bilingual-name__bn { font-weight: 600; }
.bfp-bilingual-name__en { font-size: .82em; font-weight: 500; opacity: .82; }

/* ---------- Header ---------- */
.bahari-theme #navbar_top { background: #fff; box-shadow: 0 1px 0 var(--gb-border); }
.bahari-theme .top_header { display: none; }
.bahari-theme .logo-area { background: #fff; padding: 4px 0; }
.bahari-theme .logo-header { gap: 24px; padding: 8px 0 !important; }
.bahari-theme .main-logo { width: 285px; height: 76px; flex: 0 0 285px; }
.bahari-theme .main-logo > .site-brand-lockup { width: 100%; height: 100%; }
.bahari-theme .main-search { position: relative; }
.bahari-theme .main-search form { max-width: 560px; margin: 0 auto; height: 42px; border: 1px solid #f0f0f0; border-radius: 8px; background: #f5f5f5; }
.bahari-theme .main-search form input { font-size: 13px !important; color: var(--gb-title); }
.bahari-theme .main-search form button { width: 46px; flex-basis: 46px; background: transparent; color: var(--gb-title); }
.bahari-theme .main-search form button svg { stroke: var(--gb-title); }
.bahari-theme .main-search .search_result { width: 100%; max-width: 560px; margin: 0 auto; }
.bahari-theme .header-list-items > ul { gap: 22px; }
.bahari-theme .header-list-items li a,
.bahari-theme .header-list-items .for_order a { display: inline-flex !important; flex-direction: column; align-items: center; gap: 4px !important; color: var(--gb-title) !important; font-size: 12px; font-weight: 500; line-height: 1.1; text-decoration: none; }
.bahari-theme .header-list-items li a > i { font-size: 18px !important; }
.bahari-theme .header-list-items li a:hover { color: var(--gb-primary) !important; }
.bahari-theme .header-list-items .for_order p { margin: 0; }
.bahari-theme .header-list-items .track_btn { display: block !important; }
.bahari-theme .header-list-items .cart-dialog > a { min-width: 0; height: auto; padding: 0; border: 0; }
.bahari-theme .header-list-items .margin-shopping { position: relative; flex-direction: column; gap: 4px !important; color: var(--gb-title); font-size: 12px; }
.bahari-theme .header-list-items .margin-shopping i { font-size: 18px; }
.bahari-theme .header-list-items .margin-shopping > span { position: absolute; top: -7px; right: -9px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--gb-primary); color: #fff; font-size: 10px; font-weight: 700; line-height: 17px; text-align: center; }
.bahari-theme .header-list-items .margin-shopping .gb-label { position: static; min-width: 0; height: auto; padding: 0; background: none; color: inherit; font-size: 12px; font-weight: 500; line-height: 1.1; }

.bahari-theme .menu-area { background: var(--gb-secondary) !important; }
.bahari-theme .catagory_menu { text-align: left !important; }
.bahari-theme .catagory_menu > ul { justify-content: flex-start; gap: 0; }
.bahari-theme li.cat_bar > a { height: 40px !important; padding: 10px 14px !important; color: #fff !important; font-size: 13px; font-weight: 600; }
.bahari-theme li.cat_bar:first-child > a { padding-left: 0 !important; }
.bahari-theme li.cat_bar:hover > a, .bahari-theme li.cat_bar.is-active > a { background: transparent !important; box-shadow: none !important; color: var(--gb-primary) !important; }
.bahari-theme li.cat_bar .cat_down { position: static; margin-left: 5px; font-size: 10px; }
.bahari-theme li.cat_bar.gb-nav-flash { margin-left: auto; }
.bahari-theme li.cat_bar.gb-nav-flash > a { height: 28px !important; margin-top: 6px; padding: 5px 14px !important; border-radius: 20px; background: var(--gb-primary) !important; color: #fff !important; }
.bahari-theme li.cat_bar.gb-nav-flash > a:hover { background: var(--gb-primary-dark) !important; color: #fff !important; }
.bahari-theme .Cat_menu { border-top: 2px solid var(--gb-primary) !important; }
.bahari-theme .Cat_menu a:hover { color: var(--gb-primary) !important; }

/* ---------- Shared section headings ---------- */
.gb-section { padding: 16px 0; }
.gb-center-title { margin: 0 0 16px; color: var(--gb-title); font-size: 22px; font-weight: 600; text-align: center; }
.gb-section-head { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid #ddd; }
.gb-section-head::after { position: absolute; bottom: -1px; left: 0; width: 70px; height: 2px; background: var(--gb-primary); content: ""; }
.gb-section-head h3 { margin: 0; color: var(--gb-title); font-size: 18px; font-weight: 700; }
.gb-section-head .offer_timer { margin-left: 12px; }
.gb-see-all { display: inline-flex; align-items: center; gap: 6px; color: var(--gb-primary) !important; font-size: 12px; font-weight: 600; letter-spacing: .4px; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.gb-see-all:hover { color: var(--gb-primary-dark) !important; }

/* ---------- Hero ---------- */
.gb-hero { padding: 16px 0 8px; }
.gb-hero-grid { display: grid; grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.gb-hero-main, .gb-hero-side { position: relative; display: block; width: 100%; height: 300px; min-height: 300px; max-height: 300px; overflow: hidden; border-radius: 12px; background: #f6ecd9; }
.gb-hero-main .owl-stage-outer, .gb-hero-main .owl-stage, .gb-hero-main .owl-item, .gb-hero-main .slider-item { height: 100%; }
.gb-hero-main .main_slider { width: 100%; height: 100%; }
.gb-hero-main .slider-item { position: relative; display: block; width: 100%; overflow: hidden; }
.gb-hero-main .slider-item img, .gb-hero-side > img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; border-radius: inherit; }
.gb-hero-main .owl-dots { position: absolute; bottom: 12px; left: 20px; }
.gb-hero-main .owl-dot span { width: 8px !important; height: 8px !important; margin: 0 3px !important; background: #ffffffa8 !important; }
.gb-hero-main .owl-dot.active span { width: 20px !important; background: var(--gb-primary) !important; }
.gb-hero-slide-copy { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 10px; padding: 36px 44px; background: linear-gradient(90deg, #041f1edb 0%, #041f1e99 38%, transparent 75%); color: #fff; pointer-events: none; }
.gb-hero-slide-eyebrow { padding: 4px 10px; border-radius: 20px; background: var(--gb-primary); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; }
.gb-hero-slide-title { display: block; max-width: 460px; color: #fff; font-size: clamp(26px, 3.1vw, 40px); font-weight: 700; line-height: 1.12; }
.gb-hero-slide-description { display: block; max-width: 390px; color: #fff; font-size: 14px; line-height: 1.6; }
.gb-hero-slide-copy .gb-btn, .gb-hero-side-content .gb-btn { pointer-events: auto; }
.gb-hero-fallback { position: absolute; inset: 0; display: flex; align-items: center; padding: 36px 44px; background: #f1e8d6 url('../images/bahari/spice-hero.webp') center right / cover no-repeat; }
.gb-hero-fallback::before { position: absolute; inset: 0; background: linear-gradient(90deg, #fbf3e3 0%, #fbf3e3e6 34%, #fbf3e360 58%, transparent 75%); content: ""; }
.gb-hero-copy { position: relative; z-index: 1; max-width: 360px; }
.gb-hero-copy span { display: inline-block; margin-bottom: 10px; padding: 4px 10px; border-radius: 20px; background: var(--gb-primary); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
.gb-hero-copy h1 { margin: 0 0 10px; color: var(--gb-secondary); font-size: clamp(26px, 3.1vw, 40px); font-weight: 700; line-height: 1.12; }
.gb-hero-copy p { margin: 0 0 18px; color: #5b5f66; font-size: 14px; line-height: 1.6; }
.gb-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 9px 20px; border: 1px solid var(--gb-primary); border-radius: 6px; background: var(--gb-primary); color: #fff !important; font-size: 13px; font-weight: 600; text-decoration: none; transition: background .15s, color .15s, border-color .15s; cursor: pointer; }
.gb-btn:hover { border-color: var(--gb-primary-dark); background: var(--gb-primary-dark); }
.gb-btn-outline { background: #fff; color: var(--gb-primary) !important; }
.gb-btn-outline:hover { background: var(--gb-primary); color: #fff !important; }
.gb-hero-side { text-decoration: none; }
.gb-hero-side-content { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 5px; padding: 22px; background: linear-gradient(180deg, transparent 18%, #041f1e0a 38%, #041f1edb 100%); color: #fff; pointer-events: none; }
.gb-hero-side-content small { color: #ffd7b3; font-size: 11px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; }
.gb-hero-side-content strong { margin: 0 0 6px; color: #fff; font-size: 22px; line-height: 1.25; }
.gb-hero-side-description { color: #fff; font-size: 12px; line-height: 1.5; }
.gb-hero-side-fallback { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; background: #2b2016 url('../images/bahari/spice-collection.webp') center / cover no-repeat; color: #fff; text-decoration: none; }
.gb-hero-side-fallback::before { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, #041f1ed9 100%); content: ""; }
.gb-hero-side-fallback > * { position: relative; }
.gb-hero-side-fallback small { color: #ffd7b3; font-size: 11px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; }
.gb-hero-side-fallback strong { margin: 4px 0 12px; font-size: 22px; line-height: 1.25; }
.gb-hero-side-fallback .gb-btn { align-self: flex-start; min-height: 34px; padding: 6px 16px; font-size: 12px; }

/* ---------- Featured categories ---------- */
.gb-category-slider .owl-stage { margin: 0 auto; }
.gb-category-card { display: block; text-align: center; text-decoration: none; }
.gb-category-img { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1; margin-bottom: 8px; padding: 10px; border: 1px solid var(--gb-border); border-radius: 12px; background: #fff; transition: box-shadow .2s, border-color .2s; }
.gb-category-img img { width: 100%; height: 100%; border-radius: 8px; object-fit: cover; }
.gb-category-card:hover .gb-category-img { border-color: #f6c49a; box-shadow: 3px 3px 8px #00000014; }
.gb-category-card p { margin: 0; text-align: center; overflow: hidden; color: var(--gb-title); font-size: 13px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- Owl carousel controls ---------- */
.gb-slider { position: relative; }
.gb-slider .owl-nav { margin: 0 !important; }
.gb-slider .owl-nav button.owl-prev, .gb-slider .owl-nav button.owl-next { position: absolute; top: 38%; width: 32px; height: 32px; margin: 0 !important; border-radius: 50% !important; background: var(--gb-primary) !important; color: #fff !important; font-size: 13px !important; box-shadow: 0 2px 6px #0000001f; transform: translateY(-50%); }
.gb-slider .owl-nav button.owl-prev { left: -14px; }
.gb-slider .owl-nav button.owl-next { right: -14px; }
.gb-slider .owl-nav button.disabled { opacity: .35; cursor: default; }
.gb-slider .owl-dots { margin-top: 10px !important; text-align: center; }
.gb-slider .owl-dot span { width: 7px !important; height: 7px !important; margin: 0 3px !important; background: #d6d6d6 !important; }
.gb-slider .owl-dot.active span { background: var(--gb-primary) !important; }

/* ---------- Top selling (horizontal cards) ---------- */
.gb-top-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.bahari-theme .gb-top-card { position: relative; display: grid; grid-template-columns: 44% 1fr; align-items: center; gap: 16px; margin: 0 !important; padding: 14px !important; border: 0 !important; border-radius: var(--gb-radius) !important; background: #fff; box-shadow: none !important; }
.bahari-theme .gb-top-card:hover { box-shadow: 0 6px 18px #0000000f !important; }
.gb-top-card .gb-card-badges { justify-content: flex-end; }
.gb-top-card .gb-card-media { aspect-ratio: 1; border-radius: 6px; }
.gb-top-card .gb-card-name { min-height: 0; margin-bottom: 6px; font-size: 16px; }
.gb-top-card .gb-card-price .gb-new-price { font-size: 16px; }
.gb-top-card .gb-card-actions { flex-direction: row; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.gb-top-card .gb-card-actions > * { flex: 0 1 auto; }
.gb-top-card .gb-card-actions .gb-btn { min-height: 34px; padding: 6px 14px; font-size: 12px; }

/* ---------- Product card ---------- */
.bahari-theme .gb-card { position: relative; display: flex; flex-direction: column; height: 100%; margin: 0 !important; padding: 8px !important; border: 1px solid var(--gb-border) !important; border-radius: var(--gb-radius) !important; background: #fff; box-shadow: none !important; transition: box-shadow .2s !important; }
.bahari-theme .gb-card:hover { border-color: var(--gb-border) !important; box-shadow: 0 6px 18px #0000000f !important; }
.gb-card-media { position: relative; display: block; overflow: hidden; aspect-ratio: 1; border-radius: 6px; background: #f7f5f0; }
.gb-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.gb-card:hover .gb-card-media img, .gb-top-card:hover .gb-card-media img { transform: scale(1.04); }
.gb-card-badges { position: absolute; top: 8px; right: 8px; left: 8px; z-index: 1; display: flex; justify-content: space-between; gap: 6px; pointer-events: none; }
.gb-badge { padding: 3px 7px; border-radius: 3px; background: var(--gb-primary); color: #fff; font-size: 10px; font-weight: 700; line-height: 1.3; }
.gb-badge-save { margin-left: auto; background: #3bb77e; }
.gb-badge-stock { background: #8a8f98; }
.gb-badge-hot { background: #e53935; }
.gb-card-body { display: flex; flex: 1; flex-direction: column; padding: 10px 2px 0; }
.bahari-theme .gb-card-name { min-height: 40px; margin: 0 0 6px; font-size: 14px; font-weight: 500; line-height: 1.45; }
.bahari-theme .gb-card-name a { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #304b33 !important; font-family: inherit !important; font-size: inherit !important; font-weight: inherit !important; text-decoration: none; }
.bahari-theme .gb-card-name a:hover { color: var(--gb-primary) !important; }
.bahari-theme .gb-card-price { margin: 0; text-align: left; }
.bahari-theme .gb-card-price p { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 0; }
.gb-new-price { color: var(--gb-primary); font-size: 15px; font-weight: 700; }
.bahari-theme .gb-card-price .gb-new-price { color: #2f6a31; }
.bahari-theme .gb-card-price del { color: #9aa0a6; font-size: 12px; font-weight: 400; }
.gb-save-pill { display: inline-block; margin-top: 4px; padding: 1px 7px; border-radius: 3px; background: #dff5c9; color: #2c6e12; font-size: 11px; font-weight: 600; }
.gb-card-actions { display: flex; flex-direction: column; gap: 6px; margin-top: auto; padding-top: 10px; }
.gb-card-actions form { margin: 0; }
.gb-card-actions .gb-btn { width: 100%; min-height: 34px; padding: 6px 10px; font-size: 13px; }
.gb-card-actions .gb-btn i { font-size: 12px; }
.gb-card .gb-card-actions.has-buy-now { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: stretch; gap: 6px; }
.gb-card .gb-card-actions.has-buy-now form { min-width: 0; }
.gb-card .gb-card-actions.has-buy-now .gb-btn { height: 100%; padding-right: 5px; padding-left: 5px; font-size: 12px; }
.bahari-theme .gb-card-actions > form:first-child > .gb-btn { border-color: #2e7d32; background: #2e7d32; color: #fff !important; }
.bahari-theme .gb-card-actions > form:first-child > .gb-btn:hover { border-color: #24692a; background: #24692a; color: #fff !important; }
.bahari-theme .gb-card-actions > form:nth-child(2) > .gb-btn { border-color: #d9e5d1; background: #f5f9f0; color: #527642 !important; }
.bahari-theme .gb-card-actions > form:nth-child(2) > .gb-btn:hover { border-color: #bbd0ac; background: #edf4e5; color: #365d2d !important; }
.gb-btn-disabled { border-color: #d9d9d9 !important; background: #f2f2f2 !important; color: #8a8f98 !important; pointer-events: none; }
.bahari-theme .scrolltop {
    display: none;
    right: 24px !important;
    bottom: 132px !important;
    width: 46px !important;
    height: 46px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--gb-primary) !important;
    color: #fff !important;
    font-size: 18px !important;
    line-height: 46px !important;
    text-align: center !important;
    box-shadow: 0 6px 18px #00000026;
    z-index: 10001;
}
.bahari-theme .scrolltop:hover { background: var(--gb-primary-dark) !important; color: #fff !important; }

/* ---------- Product grids ---------- */
.gb-product-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.gb-product-slider .owl-stage { display: flex; }
.gb-product-slider .owl-item { display: flex; }
.gb-product-slider .owl-item > * { width: 100%; }
.gb-center-action { margin-top: 18px; text-align: center; }

/* ---------- Brands ---------- */
.gb-brand-card { display: flex; align-items: center; justify-content: center; height: 76px; padding: 10px 16px; border: 1px solid #eee; border-radius: var(--gb-radius); background: #fff; text-decoration: none; }
.gb-brand-card img { max-width: 124px; max-height: 52px; object-fit: contain; }
.gb-brand-card span { color: var(--gb-title); font-size: 14px; font-weight: 600; }

/* ---------- Banners ---------- */
.gb-banner { display: block; overflow: hidden; border-radius: 12px; }
.gb-banner + .gb-banner { margin-top: 14px; }
.gb-banner img { display: block; width: 100%; height: auto; }

/* ---------- Testimonials / reviews ---------- */
.gb-review-card { overflow: hidden; border: 1px solid var(--gb-border); border-radius: var(--gb-radius); background: #fff; }
.gb-review-card img { display: block; width: 100%; height: auto; }

/* ---------- Existing homepage blocks restyled ---------- */
.bahari-theme .gb-section .blog-home-card, .bahari-theme .gb-section .vendor-shop-item { border-color: var(--gb-border); }
.bahari-theme .gb-section .read-more-link, .bahari-theme .gb-section .blog-home-title a:hover { color: var(--gb-primary); }
.bahari-theme .gb-section .vendor-shop-item:hover .shop-visit-btn { background: var(--gb-primary); }

/* ---------- Footer (light, as on the reference layout) ---------- */
.bahari-theme footer { margin-top: 24px; border-top: 1px solid var(--gb-border); background: #fff !important; }
.bahari-theme footer .footer-top { padding: 40px 0 28px; background: #fff !important; }
.bahari-theme footer .footer-about > .site-brand-lockup { margin-bottom: 14px; }
.bahari-theme footer .footer-about p { color: var(--gb-text); font-size: 13px; line-height: 1.8; }
.bahari-theme footer .footer-hotlint { color: var(--gb-title) !important; font-weight: 600; }
.bahari-theme footer .footer-menu .title a, .bahari-theme footer .footer-menu .title.stay_conn a { color: var(--gb-title) !important; font-size: 15px; font-weight: 700; }
.bahari-theme footer .footer-menu a { color: #555b63 !important; font-size: 13px; }
.bahari-theme footer .footer-menu a:hover { color: var(--gb-primary) !important; }
.bahari-theme footer .newsletter-input { border: 1px solid var(--gb-border) !important; background: var(--gb-bg) !important; color: var(--gb-title) !important; }
.bahari-theme footer .newsletter-input::placeholder { color: #9aa0a6; }
.bahari-theme footer .newsletter-btn { border: 0; background: var(--gb-primary) !important; }
.bahari-theme footer .social_link .social_list a { display: inline-grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--gb-bg); color: var(--gb-title) !important; }
.bahari-theme footer .social_link .social_list a:hover { background: var(--gb-primary); color: #fff !important; }
.bahari-theme footer .footer-bottom { padding: 14px 0; border-top: 1px solid var(--gb-border); background: #fff !important; }
.bahari-theme footer .copyright p { margin: 0; color: #555b63; font-size: 12px; }
.bahari-theme footer .metasoft-credit { color: var(--gb-title); }
.bahari-theme footer .metasoft-credit:hover { color: var(--gb-primary); }

.bahari-theme .floating-cart-widget { background: var(--gb-primary) !important; }

/* ---------- Preloader ---------- */
#gb-preloader { position: fixed; inset: 0; z-index: 2147483000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; background: var(--gb-bg); transition: opacity .35s ease, visibility .35s ease; }
#gb-preloader.is-hidden { opacity: 0; visibility: hidden; }
#gb-preloader img { width: 160px; max-height: 60px; object-fit: contain; animation: gb-pulse 1.2s ease-in-out infinite; }
.gb-preloader-bar { position: relative; width: 140px; height: 3px; overflow: hidden; border-radius: 3px; background: #f1e3d6; }
.gb-preloader-bar::after { position: absolute; top: 0; left: -40%; width: 40%; height: 100%; border-radius: 3px; background: var(--gb-primary); content: ""; animation: gb-load 1s ease-in-out infinite; }
@keyframes gb-load { to { left: 100%; } }
@keyframes gb-pulse { 50% { opacity: .55; } }

/* ---------- Responsive ---------- */
@media (max-width: 1199px) {
    .gb-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    .gb-hero-grid { grid-template-columns: 1fr; }
    .gb-hero-main { height: 300px; min-height: 300px; max-height: 300px; }
    .gb-hero-side { height: 180px; min-height: 180px; max-height: 180px; }
    .gb-top-grid { grid-template-columns: 1fr; }
    .gb-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .bahari-theme .scrolltop { right: 18px !important; bottom: calc(132px + env(safe-area-inset-bottom)) !important; }
    .bahari-theme .mobile-logo { height: 86px; }
    .bahari-theme .menu-logo img { max-width: 110px; max-height: 76px; }
    .bahari-theme footer .footer-about > .site-brand-lockup { margin-bottom: 12px; }
    .bahari-theme footer .footer-bottom {
        display: block !important;
        margin: 0 !important;
        padding: 14px 12px calc(136px + env(safe-area-inset-bottom)) !important;
        overflow: visible;
    }
    .bahari-theme footer .footer-bottom > .container,
    .bahari-theme footer .footer-bottom .row,
    .bahari-theme footer .footer-bottom [class*="col-"] {
        width: 100%;
        max-width: 100%;
        margin-right: 0;
        margin-left: 0;
        padding-right: 0;
        padding-left: 0;
        overflow: visible;
    }
    .bahari-theme footer .copyright,
    .bahari-theme footer .bahari-copyright {
        display: block !important;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        color: #555b63 !important;
        font-size: 11px !important;
        line-height: 1.65;
        text-align: center;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .bahari-theme footer .bahari-copyright > span {
        display: inline;
    }
    .bahari-theme footer .metasoft-credit {
        display: inline;
        color: var(--gb-title) !important;
    }
    .gb-section { padding: 12px 0; }
    .gb-hero { padding-top: 10px; }
    .gb-hero-main { height: 190px; min-height: 190px; max-height: 190px; }
    .gb-hero-main .slider-item img { height: 100%; min-height: 0; }
    .gb-hero-fallback { padding: 22px; }
    .gb-hero-copy { max-width: 62%; }
    .gb-hero-copy p { display: none; }
    .gb-hero-slide-copy { gap: 6px; padding: 18px 22px; }
    .gb-hero-slide-title { max-width: 70%; font-size: clamp(18px, 5.5vw, 27px); }
    .gb-hero-slide-description { display: none; }
    .gb-hero-slide-copy .gb-btn { min-height: 32px; padding: 6px 12px; font-size: 11px; }
    .gb-hero-side { display: none; }
    .gb-center-title { font-size: 18px; }
    .gb-section-head h3 { font-size: 16px; }
    .gb-see-all { font-size: 11px; }
    .gb-category-card p { font-size: 11px; }
    .gb-top-card { grid-template-columns: 40% 1fr; gap: 10px; padding: 10px; }
    .gb-top-card .gb-card-name { font-size: 14px; }
    .gb-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .bahari-theme .gb-card-name { font-size: 13px; }
    .gb-card-actions .gb-btn { font-size: 12px; }
    .gb-card .gb-card-actions.has-buy-now { grid-template-columns: 1fr; }
    .gb-slider .owl-nav { display: none; }
    .bahari-theme .mobile-search form { border-color: #f0f0f0; background: #f5f5f5; }
    .bahari-theme .mobile-search form button { background: transparent; color: var(--gb-title); }
}

/* Settings-driven brand lockup: keep the uploaded logo whole and render the site name as live text. */
.bahari-theme .site-brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    color: #276b30;
    text-decoration: none;
}
.bahari-theme .site-brand-lockup:hover { color: #276b30; text-decoration: none; }
.bahari-theme .site-brand-lockup__logo {
    display: block;
    flex: 0 0 66px;
    width: 66px !important;
    height: 66px !important;
    max-width: 66px !important;
    max-height: 66px !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center;
}
.bahari-theme .site-brand-lockup__name {
    --wordmark-size: 43px;
}
.bahari-theme .site-brand-lockup--header { max-width: 100%; }
.bahari-theme .site-brand-lockup--header .site-brand-lockup__name { --wordmark-size: 36px; }
.bahari-theme .site-brand-lockup--footer .site-brand-lockup__logo { flex-basis: 66px; }
.bahari-theme .site-brand-lockup--footer .site-brand-lockup__name { --wordmark-size: 43px; }
.bahari-theme .mobile-menu-logo .logo-image { min-width: 0; flex: 1; }
.bahari-theme .mobile-menu-logo .site-brand-lockup--drawer { max-width: 100%; }
.bahari-theme .site-brand-lockup--drawer .site-brand-lockup__name { --wordmark-size: 30px; }
.bahari-theme .site-brand-lockup--mobile { gap: 8px; }
.bahari-theme .site-brand-lockup--mobile .site-brand-lockup__logo {
    flex-basis: 46px;
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
}
.bahari-theme .site-brand-lockup--mobile .site-brand-lockup__name { --wordmark-size: 27px; }

@media (max-width: 1100px) {
    .bahari-theme .main-logo { width: 235px; flex-basis: 235px; }
    .bahari-theme .site-brand-lockup { gap: 8px; }
    .bahari-theme .site-brand-lockup__logo {
        flex-basis: 56px;
        width: 56px !important;
        height: 56px !important;
        max-width: 56px !important;
        max-height: 56px !important;
    }
    .bahari-theme .site-brand-lockup--header .site-brand-lockup__name { --wordmark-size: 32px; }
}
@media (max-width: 767px) {
    .bahari-theme .site-brand-lockup--mobile .site-brand-lockup__logo {
        flex-basis: 48px;
        width: 48px !important;
        height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
    }
    .bahari-theme .site-brand-lockup--mobile .site-brand-lockup__name { --wordmark-size: 27px; }
    .bahari-theme .site-brand-lockup--footer .site-brand-lockup__logo {
        flex-basis: 56px;
        width: 56px !important;
        height: 56px !important;
        max-width: 56px !important;
        max-height: 56px !important;
    }
    .bahari-theme .site-brand-lockup--footer .site-brand-lockup__name { --wordmark-size: 36px; }
}
@media (max-width: 359px) {
    .bahari-theme .site-brand-lockup--mobile { gap: 5px; }
    .bahari-theme .site-brand-lockup--mobile .site-brand-lockup__name { --wordmark-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
    .gb-card-media img, .gb-category-img, .gb-btn { transition: none; }
    #gb-preloader img, .gb-preloader-bar::after { animation: none; }
}
