/*
Theme Name: Biskra Mall
Template: astra
Author: Biskra Mall
Description: Biskra Mall child theme — bilingual AR/FR marketplace design system (oasis teal + saffron, zellige motif).
Version: 1.0.0
Text Domain: biskra-mall
*/

:root{
  --bm-teal:#0F6E56; --bm-teal-deep:#0A3A2E; --bm-teal-mid:#1D9E75; --bm-teal-soft:#E1F5EE; --bm-teal-pale:#C8EFE0;
  --bm-saffron:#EF9F27; --bm-saffron-deep:#BA7517; --bm-saffron-ink:#412402; --bm-saffron-soft:#FAEEDA;
  --bm-ink:#1E2A26; --bm-head:#0A3A2E; --bm-body:#3A453F; --bm-muted:#7C857F;
  --bm-page:#F5F7F6; --bm-surf:#FFFFFF; --bm-line:#E1E5E3; --bm-line-soft:#EEF1EF;
  --bm-font:'Tajawal',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* ---- base ---- */
.bm * { box-sizing:border-box; }
.bm { font-family:var(--bm-font); color:var(--bm-ink); background:var(--bm-page); }
.bm img { max-width:100%; height:auto; display:block; }
.bm a { text-decoration:none; color:inherit; }
.bm-wrap { max-width:1180px; margin:0 auto; padding:0 22px; }

/* ---- utility bar ---- */
.bm-util { background:var(--bm-teal-deep); color:var(--bm-teal-pale); font-size:12px; }
.bm-util .bm-wrap { display:flex; justify-content:space-between; align-items:center; padding-top:6px; padding-bottom:6px; }
.bm-util a { color:#fff; }
.bm-util .bm-util-r { display:flex; gap:18px; align-items:center; }
.bm-util .bm-loc { display:flex; align-items:center; gap:5px; }

/* ---- header ---- */
.bm-head-main { background:var(--bm-surf); border-bottom:0.5px solid var(--bm-line); }
.bm-head-main .bm-wrap { display:flex; align-items:center; gap:18px; padding-top:12px; padding-bottom:12px; }
.bm-logo { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.bm-logo-txt b { font-size:18px; font-weight:700; color:var(--bm-head); display:block; line-height:1; }
.bm-logo-txt span { font-size:12px; color:var(--bm-saffron-deep); display:block; margin-top:2px; }
.bm-search { flex:1; display:flex; align-items:center; border:1.5px solid var(--bm-teal-mid); border-radius:11px; overflow:hidden; background:#fff; }
.bm-search input { flex:1; border:none; height:40px; font-size:14px; padding:0 16px; outline:none; font-family:inherit; background:transparent; }
.bm-search button { background:var(--bm-teal); border:none; color:#fff; height:40px; padding:0 20px; font-size:14px; font-weight:500; cursor:pointer; display:flex; align-items:center; gap:7px; }
.bm-head-actions { display:flex; gap:18px; flex-shrink:0; }
.bm-head-actions a { color:var(--bm-body); font-size:11px; text-align:center; position:relative; }
.bm-head-actions i { font-size:21px; display:block; margin:0 auto 1px; }
.bm-cart-count { position:absolute; top:-6px; right:-2px; background:var(--bm-saffron); color:var(--bm-saffron-ink); font-size:10px; font-weight:700; border-radius:9px; padding:0 5px; }

/* ---- category nav (circles) ---- */
.bm-cats { background:var(--bm-surf); border-bottom:0.5px solid var(--bm-line); }
.bm-cats .bm-wrap { display:flex; gap:34px; justify-content:center; padding-top:14px; padding-bottom:16px; }
.bm-cat { text-align:center; }
.bm-cat-ic { width:54px; height:54px; border-radius:16px; background:var(--bm-teal-soft); color:var(--bm-teal); display:flex; align-items:center; justify-content:center; margin:0 auto; transition:transform .15s,background .15s; }
.bm-cat:hover .bm-cat-ic { transform:translateY(-3px); background:#d3efe6; }
.bm-cat-ic i { font-size:26px; }
.bm-cat--all .bm-cat-ic { background:var(--bm-saffron-soft); color:var(--bm-saffron-deep); }
.bm-cat-l { font-size:12px; font-weight:500; color:var(--bm-head); margin:8px 0 0; }
.bm-cat-a { font-size:11px; color:var(--bm-teal-mid); margin:0; }

/* ---- hero ---- */
.bm-hero { margin:18px auto; max-width:1180px; padding:0 22px; }
.bm-hero-inner { position:relative; border-radius:18px; overflow:hidden; background:#FBE9C9 center/cover no-repeat; min-height:240px; display:flex; align-items:center; }
.bm-hero-text { position:relative; padding:34px; max-width:54%; }
.bm-hero-eyebrow { font-size:12px; letter-spacing:0.12em; color:var(--bm-teal); font-weight:500; margin:0 0 6px; }
.bm-hero-text h1 { font-size:30px; font-weight:700; color:var(--bm-head); margin:0; line-height:1.15; }
.bm-hero-text p { font-size:14px; color:var(--bm-body); margin:12px 0 0; }
.bm-hero-cta { display:inline-flex; align-items:center; gap:8px; background:var(--bm-saffron); color:var(--bm-saffron-ink); border:none; border-radius:12px; padding:12px 24px; font-size:14px; font-weight:700; margin-top:18px; font-family:inherit; cursor:pointer; }

/* ---- trust strip ---- */
.bm-trust { background:var(--bm-teal-soft); }
.bm-trust .bm-wrap { display:flex; justify-content:center; gap:40px; padding:11px 22px; flex-wrap:wrap; }
.bm-trust span { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--bm-teal-deep); }
.bm-trust i { font-size:18px; color:var(--bm-teal); }

/* ---- sections ---- */
.bm-sec { max-width:1180px; margin:0 auto; padding:26px 22px 4px; }
.bm-sec-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:14px; }
.bm-eyebrow { font-size:11px; letter-spacing:0.1em; font-weight:500; color:var(--bm-teal); display:flex; align-items:center; gap:7px; margin:0 0 3px; }
.bm-eyebrow--saffron { color:var(--bm-saffron-deep); }
.bm-sec h2 { font-size:20px; font-weight:700; color:var(--bm-head); margin:0; }
.bm-sec-more { font-size:13px; color:var(--bm-teal); font-weight:500; }

/* ---- product grid + card ---- */
.bm-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.bm-card { background:var(--bm-surf); border:0.5px solid var(--bm-line); border-radius:14px; overflow:hidden; transition:border-color .15s,transform .15s; }
.bm-card:hover { border-color:var(--bm-teal-mid); transform:translateY(-2px); }
.bm-card-img { position:relative; aspect-ratio:1; background:#fff; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.bm-card-img img { width:100%; height:100%; object-fit:contain; }
.bm-card-ph i { font-size:48px; }
.bm-ph-phone{color:#7F77DD;} .bm-ph-computer{color:#378ADD;} .bm-ph-parapharmacy{color:#D4537E;} .bm-ph-hardware{color:var(--bm-saffron-deep);} .bm-ph-other{color:var(--bm-teal-mid);}
.bm-sale { position:absolute; top:9px; left:9px; font-size:11px; font-weight:700; background:var(--bm-saffron); color:var(--bm-saffron-ink); border-radius:8px; padding:2px 8px; }
.bm-heart { position:absolute; top:8px; right:8px; width:30px; height:30px; border-radius:50%; background:#fff; border:0.5px solid var(--bm-line); display:flex; align-items:center; justify-content:center; color:#AEB7B2; cursor:pointer; }
.bm-heart:hover { color:#D4537E; border-color:#ED93B1; }
.bm-card-body { padding:11px 13px 13px; }
.bm-card-name { font-size:13px; line-height:1.35; color:var(--bm-ink); margin:0; height:36px; overflow:hidden; }
.bm-card-price { font-size:16px; font-weight:700; color:var(--bm-teal); margin:9px 0 0; }
.bm-card-price .bm-cur { font-size:11px; font-weight:500; }
.bm-card-price del { font-size:12px; color:#AEB7B2; font-weight:400; margin-left:5px; }
.bm-card-meta { font-size:11px; color:var(--bm-muted); margin:8px 0 0; padding-top:8px; border-top:0.5px solid var(--bm-line-soft); display:flex; align-items:center; gap:4px; }
.bm-card-meta .bm-star { color:var(--bm-saffron); }
.bm-card-meta .bm-verified { color:var(--bm-teal-mid); }

/* ---- stores rail ---- */
.bm-stores { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; padding-bottom:8px; }
.bm-store { text-align:center; }
.bm-store-av { width:56px; height:56px; border-radius:50%; border:2.5px solid var(--bm-teal-mid); background:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto; position:relative; color:var(--bm-teal); }
.bm-store-av i { font-size:23px; }
.bm-store-chk { position:absolute; bottom:-2px; right:-2px; background:#fff; border-radius:50%; line-height:0; }
.bm-store-chk i { font-size:16px; color:var(--bm-teal-mid); }
.bm-store-n { font-size:11px; font-weight:500; color:var(--bm-head); margin:6px 0 0; }
.bm-store-c { font-size:11px; color:var(--bm-muted); margin:0; }
.bm-store--add .bm-store-av { border-style:dashed; border-color:#B4B2A9; color:#888780; }
.bm-store--add .bm-store-n { color:var(--bm-teal); }

/* ---- footer ---- */
.bm-foot { position:relative; background:var(--bm-teal-deep) center/cover; color:var(--bm-teal-pale); margin-top:30px; overflow:hidden; }
.bm-foot::before { content:""; position:absolute; inset:0; background:var(--bm-teal-deep); opacity:0.86; }
.bm-foot .bm-wrap { position:relative; padding-top:26px; padding-bottom:16px; }
.bm-foot-cols { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:20px; }
.bm-foot-brand b { font-size:16px; font-weight:700; color:#fff; }
.bm-foot-brand p { font-size:12px; color:#9FE1CB; margin:10px 0 12px; line-height:1.6; }
.bm-foot-soc { display:inline-flex; gap:13px; color:#fff; }
.bm-foot-soc i { font-size:19px; }
.bm-foot h4 { font-size:12px; color:#fff; font-weight:500; margin:0 0 9px; }
.bm-foot ul { list-style:none; margin:0; padding:0; }
.bm-foot li { font-size:12px; color:#9FE1CB; margin-bottom:8px; }
.bm-foot-bottom { font-size:11px; color:#5DCAA5; border-top:0.5px solid #1f5848; margin-top:16px; padding-top:12px; display:flex; justify-content:space-between; }

/* ---- responsive ---- */
@media (max-width:980px){ .bm-grid{grid-template-columns:repeat(3,1fr);} .bm-stores{grid-template-columns:repeat(4,1fr);} .bm-foot-cols{grid-template-columns:1fr 1fr;} .bm-hero-text{max-width:70%;} }
@media (max-width:680px){ .bm-grid{grid-template-columns:repeat(2,1fr);} .bm-cats .bm-wrap{gap:14px;overflow-x:auto;justify-content:flex-start;} .bm-head-main .bm-wrap{flex-wrap:wrap;} .bm-search{order:3;flex-basis:100%;} .bm-hero-text{max-width:100%;} .bm-hero-inner{min-height:200px;} .bm-stores{grid-template-columns:repeat(3,1fr);} .bm-trust .bm-wrap{gap:16px;} }

/* ============ breadcrumb ============ */
.bm-crumb { max-width:1180px; margin:0 auto; padding:14px 22px 0; font-size:12px; color:var(--bm-muted); }
.bm-crumb a { color:var(--bm-muted); }
.bm-crumb a:hover { color:var(--bm-teal); }

/* ============ single product (PDP) ============ */
.bm-pdp { max-width:1180px; margin:0 auto; padding:14px 22px 0; display:grid; grid-template-columns:440px 1fr; gap:34px; }
.bm-pdp-gallery { }
.bm-pdp-main { background:#FBFBFA; border:0.5px solid var(--bm-line); border-radius:16px; height:420px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.bm-pdp-main img { width:100%; height:100%; object-fit:contain; padding:18px; }
.bm-pdp-main .bm-card-ph i { font-size:120px; }
.bm-pdp-thumbs { display:flex; gap:8px; margin-top:10px; }
.bm-pdp-thumb { width:70px; height:70px; border-radius:10px; background:#FBFBFA; border:0.5px solid var(--bm-line); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.bm-pdp-thumb.is-active { border:1.5px solid var(--bm-saffron); }
.bm-pdp-thumb img { width:100%; height:100%; object-fit:contain; padding:6px; }

.bm-pdp-info h1 { font-size:24px; font-weight:700; color:var(--bm-head); margin:0; line-height:1.3; }
.bm-pdp-ar { font-size:15px; color:var(--bm-body); margin:5px 0 0; }
.bm-pdp-price { display:flex; align-items:baseline; gap:10px; margin:14px 0 0; }
.bm-pdp-price .bm-now { font-size:26px; font-weight:700; color:var(--bm-teal); }
.bm-pdp-price del { font-size:15px; color:#AEB7B2; }
.bm-pdp-badges { display:flex; gap:8px; margin:12px 0 0; flex-wrap:wrap; }
.bm-badge { font-size:12px; font-weight:500; border-radius:9px; padding:3px 10px; }
.bm-badge--new { background:var(--bm-teal-soft); color:var(--bm-teal-deep); }
.bm-badge--stock { background:#EAF3DE; color:#173404; }
.bm-badge--sale { background:var(--bm-saffron); color:var(--bm-saffron-ink); }
.bm-pdp-cod { display:flex; align-items:center; gap:8px; background:var(--bm-saffron-soft); border-radius:10px; padding:9px 12px; margin:14px 0 0; font-size:13px; font-weight:500; color:var(--bm-saffron-ink); }
.bm-pdp-cart { display:flex; gap:10px; margin:16px 0 0; }
.bm-qty { display:flex; align-items:center; border:1px solid var(--bm-line); border-radius:10px; overflow:hidden; }
.bm-qty input { width:46px; height:46px; border:none; text-align:center; font-size:15px; font-weight:500; font-family:inherit; -moz-appearance:textfield; }
.bm-qty input::-webkit-outer-spin-button,.bm-qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.bm-qty button { width:42px; height:46px; border:none; background:#fff; font-size:18px; color:var(--bm-body); cursor:pointer; }
.bm-buy { flex:1; background:var(--bm-saffron); color:var(--bm-saffron-ink); border:none; border-radius:10px; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit; display:flex; align-items:center; justify-content:center; gap:8px; }
.bm-wa { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; border:1px solid #5DCAA5; background:#fff; color:var(--bm-teal); border-radius:10px; padding:11px; font-size:13px; font-weight:500; margin:10px 0 0; cursor:pointer; }
.bm-wa:hover { background:var(--bm-teal-soft); }
.bm-pdp-store { display:flex; align-items:center; justify-content:space-between; background:var(--bm-page); border:0.5px solid var(--bm-line); border-radius:12px; padding:12px 14px; margin:16px 0 0; }
.bm-pdp-store .bm-s-name { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:500; color:var(--bm-head); }
.bm-pdp-store .bm-s-loc { font-size:12px; color:var(--bm-muted); font-weight:400; }
.bm-pdp-store .bm-s-link { font-size:12px; color:var(--bm-teal); font-weight:500; }

.bm-pdp-tabs { max-width:1180px; margin:24px auto 0; padding:0 22px; }
.bm-pdp-tabnav { display:flex; gap:24px; border-bottom:0.5px solid var(--bm-line); }
.bm-pdp-tabnav span { font-size:14px; color:var(--bm-muted); padding-bottom:10px; font-weight:500; }
.bm-pdp-tabnav span.is-active { color:var(--bm-head); border-bottom:2px solid var(--bm-saffron); }
.bm-pdp-desc { display:grid; grid-template-columns:1fr 280px; gap:30px; padding:18px 0 0; }
.bm-pdp-desc p { font-size:14px; color:var(--bm-body); line-height:1.7; margin:0 0 10px; }
.bm-pdp-desc .bm-ar { direction:rtl; }
.bm-specs { width:100%; border-collapse:collapse; align-self:start; }
.bm-specs th { text-align:left; font-size:13px; font-weight:700; color:var(--bm-head); padding:0 0 8px; }
.bm-specs td { font-size:13px; padding:7px 0; border-top:0.5px solid var(--bm-line-soft); color:var(--bm-body); }
.bm-specs td:first-child { color:var(--bm-muted); }
.bm-specs td:last-child { text-align:right; font-weight:500; color:var(--bm-ink); }

/* ============ store page ============ */
.bm-shop { max-width:1180px; margin:14px auto 0; padding:0 22px; }
.bm-shop-banner { position:relative; height:150px; border-radius:18px; overflow:hidden; background:var(--bm-teal-deep) center/cover; }
.bm-shop-banner::after { content:""; position:absolute; inset:0; background:rgba(10,58,46,.5); }
.bm-shop-head { display:flex; align-items:flex-end; gap:16px; padding:0 6px; margin-top:-34px; position:relative; }
.bm-shop-av { width:84px; height:84px; border-radius:22px; background:#fff; border:0.5px solid var(--bm-line); display:flex; align-items:center; justify-content:center; color:var(--bm-teal); overflow:hidden; flex-shrink:0; }
.bm-shop-av i { font-size:40px; }
.bm-shop-av img { width:100%; height:100%; object-fit:cover; }
.bm-shop-id { flex:1; padding-bottom:4px; }
.bm-shop-id h1 { font-size:22px; font-weight:700; color:var(--bm-head); margin:0; display:flex; align-items:center; gap:8px; }
.bm-shop-verified { display:inline-flex; align-items:center; gap:4px; background:var(--bm-teal-soft); color:var(--bm-teal-deep); font-size:12px; font-weight:500; border-radius:10px; padding:2px 9px; }
.bm-shop-ar { font-size:13px; color:var(--bm-saffron-deep); margin:3px 0 0; }
.bm-shop-actions { display:flex; gap:8px; padding-bottom:6px; }
.bm-shop-actions a { display:flex; align-items:center; gap:6px; font-size:13px; font-weight:500; border-radius:10px; padding:9px 16px; }
.bm-shop-wa { background:var(--bm-teal-mid); color:#fff; }
.bm-shop-call { background:#fff; border:1px solid var(--bm-line); color:var(--bm-body); }
.bm-shop-meta { display:flex; gap:20px; flex-wrap:wrap; padding:14px 6px 0; }
.bm-shop-meta span { display:flex; align-items:center; gap:6px; font-size:13px; color:var(--bm-body); }
.bm-shop-meta i { color:var(--bm-teal); font-size:15px; }
.bm-shop-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:16px 6px 0; }
.bm-shop-stat { background:var(--bm-page); border:0.5px solid var(--bm-line); border-radius:12px; padding:12px; text-align:center; }
.bm-shop-stat b { font-size:18px; font-weight:700; color:var(--bm-head); display:block; }
.bm-shop-stat span { font-size:12px; color:var(--bm-muted); }
.bm-shop-tabs { display:flex; gap:24px; border-bottom:0.5px solid var(--bm-line); margin:18px 6px 0; }
.bm-shop-tabs span { font-size:14px; color:var(--bm-muted); padding-bottom:10px; font-weight:500; }
.bm-shop-tabs span.is-active { color:var(--bm-head); border-bottom:2px solid var(--bm-saffron); }
.bm-shop-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; padding:18px 6px 0; }

@media (max-width:980px){ .bm-pdp{grid-template-columns:1fr;} .bm-pdp-main{height:340px;} .bm-pdp-desc{grid-template-columns:1fr;} .bm-shop-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:680px){ .bm-pdp-gallery{max-width:100%;} .bm-shop-head{flex-wrap:wrap;} .bm-shop-actions{width:100%;} .bm-shop-grid{grid-template-columns:repeat(2,1fr);} .bm-shop-stats{grid-template-columns:repeat(3,1fr);} }

/* ============ product archive (category / shop) ============ */
.bm-arch-head { background:var(--bm-surf); border-bottom:0.5px solid var(--bm-line); }
.bm-arch-head .bm-wrap { display:flex; align-items:center; gap:16px; padding-top:20px; padding-bottom:20px; }
.bm-arch-ic { width:58px; height:58px; border-radius:16px; background:var(--bm-teal-soft); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.bm-arch-ic i { font-size:28px; }
.bm-arch-id h1 { font-size:23px; font-weight:700; color:var(--bm-head); margin:0; }
.bm-arch-desc { font-size:13px; color:var(--bm-muted); margin-top:4px; }
.bm-arch { padding:18px 0 36px; }
.bm-arch-bar { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.bm-arch-count { font-size:13px; color:var(--bm-muted); }
.bm-arch-sort select, body.bm .woocommerce-ordering select { height:38px; border:0.5px solid var(--bm-line); border-radius:9px; padding:0 12px; font-size:13px; font-family:inherit; color:var(--bm-body); background:#fff; }
.bm-arch-grid { margin-bottom:8px; }
.bm-arch-pager { display:flex; gap:6px; justify-content:center; margin-top:30px; }
.bm-arch-pager .page-numbers { min-width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; border:0.5px solid var(--bm-line); background:#fff; color:var(--bm-body); font-size:13px; font-weight:500; padding:0 6px; }
.bm-arch-pager .page-numbers.current { background:var(--bm-teal); color:#fff; border-color:var(--bm-teal); }
.bm-arch-pager a.page-numbers:hover { border-color:var(--bm-teal-mid); color:var(--bm-teal); }
.bm-arch-empty { font-size:14px; color:var(--bm-muted); padding:30px 0; text-align:center; }

/* ============ WooCommerce skin (cart / checkout / account) ============ */
body.bm .woocommerce, body.bm .woocommerce-page { max-width:1180px; margin:0 auto; padding:22px; color:var(--bm-ink); }
body.bm .woocommerce h1, body.bm .woocommerce h2, body.bm .woocommerce h3 { color:var(--bm-head); }
body.bm .woocommerce a.button, body.bm .woocommerce button.button, body.bm .woocommerce input.button,
body.bm .woocommerce a.button.alt, body.bm .woocommerce button.button.alt, body.bm .woocommerce input.button.alt,
body.bm .woocommerce #respond input#submit {
  background:var(--bm-teal); color:#fff; border:none; border-radius:10px; padding:11px 20px;
  font-size:14px; font-weight:500; font-family:inherit; box-shadow:none; text-shadow:none; transition:background .15s;
}
body.bm .woocommerce a.button:hover, body.bm .woocommerce button.button:hover, body.bm .woocommerce input.button:hover,
body.bm .woocommerce a.button.alt:hover, body.bm .woocommerce button.button.alt:hover, body.bm .woocommerce #respond input#submit:hover { background:var(--bm-teal-deep); }
body.bm .woocommerce .checkout-button, body.bm .woocommerce .wc-proceed-to-checkout a.checkout-button {
  background:var(--bm-saffron) !important; color:var(--bm-saffron-ink) !important; font-weight:700; font-size:15px;
}
body.bm .woocommerce table.shop_table { border:0.5px solid var(--bm-line); border-radius:14px; border-collapse:separate; overflow:hidden; }
body.bm .woocommerce table.shop_table th { background:var(--bm-page); color:var(--bm-head); font-size:13px; }
body.bm .woocommerce table.shop_table td { border-top:0.5px solid var(--bm-line-soft); font-size:14px; }
body.bm .woocommerce .cart_totals h2 { font-size:18px; }
body.bm .woocommerce .quantity input.qty { border:0.5px solid var(--bm-line); border-radius:8px; height:40px; font-family:inherit; }
body.bm .woocommerce .price, body.bm .woocommerce span.amount, body.bm .woocommerce .woocommerce-Price-amount { color:var(--bm-teal); font-weight:700; }
body.bm .woocommerce form .form-row input.input-text, body.bm .woocommerce form .form-row textarea, body.bm .woocommerce form .form-row select,
body.bm .woocommerce .select2-container .select2-selection { border:0.5px solid var(--bm-line) !important; border-radius:9px; min-height:42px; font-family:inherit; font-size:14px; }
body.bm .woocommerce .woocommerce-message { border-top-color:var(--bm-teal); }
body.bm .woocommerce .woocommerce-message::before, body.bm .woocommerce .woocommerce-info::before { color:var(--bm-teal); }
body.bm .woocommerce .woocommerce-info { border-top-color:var(--bm-saffron); }
body.bm .woocommerce .woocommerce-error { border-top-color:#E24B4A; }

/* my-account */
body.bm .woocommerce-account .woocommerce { display:flex; gap:26px; flex-wrap:wrap; }
body.bm .woocommerce-account .woocommerce-MyAccount-navigation { width:220px; flex-shrink:0; }
body.bm .woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; border:0.5px solid var(--bm-line); border-radius:14px; overflow:hidden; background:#fff; }
body.bm .woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom:0.5px solid var(--bm-line-soft); }
body.bm .woocommerce-account .woocommerce-MyAccount-navigation li a { display:block; padding:12px 16px; font-size:14px; color:var(--bm-body); }
body.bm .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background:var(--bm-teal-soft); color:var(--bm-teal-deep); font-weight:500; box-shadow:inset 3px 0 0 var(--bm-teal); }
body.bm .woocommerce-account .woocommerce-MyAccount-content { flex:1; min-width:0; }
body.bm .woocommerce-account .woocommerce-MyAccount-content { border:0.5px solid var(--bm-line); border-radius:14px; padding:22px; background:#fff; }

/* ============ Dokan vendor dashboard skin ============ */
body.bm .dokan-dashboard .dokan-dashboard-wrap { gap:20px; }
body.bm .dokan-dashboard .dokan-dashboard-menu { border:0.5px solid var(--bm-line); border-radius:14px; overflow:hidden; background:#fff; }
body.bm .dokan-dashboard .dokan-dashboard-menu li a { color:var(--bm-body); font-family:inherit; }
body.bm .dokan-dashboard .dokan-dashboard-menu li.active { background:var(--bm-teal); }
body.bm .dokan-dashboard .dokan-dashboard-menu li.active a { color:#fff; }
body.bm .dokan-dashboard .dokan-dashboard-menu li:not(.active):hover { background:var(--bm-teal-soft); }
body.bm .dokan-btn-theme, body.bm .dokan-btn-default.dokan-btn-theme, body.bm .dokan-product-listing a.dokan-btn-theme,
body.bm .dokan-dashboard .dokan-btn-theme, body.bm .dokan-edit-row .dokan-btn-theme {
  background:var(--bm-teal) !important; border-color:var(--bm-teal) !important; color:#fff !important; border-radius:9px; font-family:inherit;
}
body.bm .dokan-dashboard .dokan-form-control { border:0.5px solid var(--bm-line); border-radius:9px; font-family:inherit; }
body.bm .dokan-dashboard h1.entry-title, body.bm .dokan-dashboard .dokan-dashboard-content-area h2 { color:var(--bm-head); }
body.bm .dokan-add-new-product-popup .dokan-btn-theme, body.bm .dokan-add-product-notice a { background:var(--bm-teal) !important; }

/* ============ RTL (Arabic) overrides ============ */
body.bm-rtl { direction:rtl; }
body.bm-rtl .bm-eyebrow, body.bm-rtl .bm-hero-eyebrow { letter-spacing:0; }
body.bm-rtl .bm-sale { left:auto; right:9px; }
body.bm-rtl .bm-heart { right:auto; left:8px; }
body.bm-rtl .bm-cart-count { right:auto; left:-2px; }
body.bm-rtl .bm-store-chk { right:auto; left:-2px; }
body.bm-rtl .bm-card-price del, body.bm-rtl .bm-card-price .bm-cur { margin-left:0; margin-right:5px; }
body.bm-rtl .bm-hero-inner { transform:scaleX(-1); }
body.bm-rtl .bm-hero-inner > .bm-hero-text { transform:scaleX(-1); }
body.bm-rtl .bm-arch-pager .page-numbers.prev, body.bm-rtl .bm-arch-pager .page-numbers.next { transform:scaleX(-1); }
body.bm-rtl .bm-card-price, body.bm-rtl .bm-pdp-price, body.bm-rtl .bm-shop-stat b { direction:ltr; }
body.bm-rtl .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { box-shadow:inset -3px 0 0 var(--bm-teal); }

/* ============ WooCommerce blocks + add-to-cart + sale badge ============ */
body.bm .button.add_to_cart_button, body.bm a.add_to_cart_button,
body.bm .wp-block-button__link, body.bm .wc-block-components-button,
body.bm .wc-block-components-button.contained {
  background:var(--bm-teal) !important; color:#fff !important; border:none !important;
  border-radius:10px !important; font-family:inherit; font-weight:500; box-shadow:none !important;
}
body.bm .button.add_to_cart_button:hover, body.bm .wc-block-components-button:hover { background:var(--bm-teal-deep) !important; }
body.bm .wc-block-cart__submit-button, body.bm .wc-block-components-checkout-place-order-button {
  background:var(--bm-saffron) !important; color:var(--bm-saffron-ink) !important; font-weight:700;
}
body.bm span.onsale, body.bm .wc-block-grid__product-onsale, body.bm .wc-block-components-product-sale-badge {
  background:var(--bm-saffron) !important; color:var(--bm-saffron-ink) !important; border:none !important;
  border-radius:9px !important; font-weight:700; box-shadow:none;
}
body.bm .price ins, body.bm .wc-block-components-product-price ins, body.bm .wc-block-components-product-price__value { color:var(--bm-teal) !important; text-decoration:none; font-weight:700; }
body.bm .price del, body.bm .wc-block-components-product-price del { color:#AEB7B2 !important; font-weight:400; }
body.bm .wc-block-grid__product-title, body.bm .wc-block-components-product-name { color:var(--bm-ink); }

/* ============ Font size pass — bump everything up one step ============ */
body.bm, .bm { font-size:16px; }
.bm-util { font-size:13px; }
.bm-util .bm-loc, .bm-util .bm-util-r { font-size:13px; }
.bm-logo-txt b { font-size:20px; }
.bm-logo-txt span { font-size:13px; }
.bm-search input { font-size:15px; }
.bm-search button { font-size:15px; }
.bm-head-actions a { font-size:12px; }
.bm-cat-l { font-size:13px; }
.bm-cat-a { font-size:12px; }
.bm-hero-eyebrow { font-size:13px; }
.bm-hero-text h1 { font-size:34px; }
.bm-hero-text p { font-size:15px; }
.bm-hero-cta { font-size:15px; }
.bm-trust span { font-size:14px; }
.bm-eyebrow { font-size:12px; }
.bm-sec h2 { font-size:22px; }
.bm-sec-more { font-size:14px; }
.bm-card-name { font-size:14px; height:40px; }
.bm-card-price { font-size:17px; }
.bm-card-price .bm-cur { font-size:12px; }
.bm-card-price del { font-size:13px; }
.bm-card-meta { font-size:12px; }
.bm-sale { font-size:12px; }
.bm-store-n { font-size:12px; }
.bm-store-c { font-size:12px; }
.bm-arch-count { font-size:14px; }
.bm-arch-id h1 { font-size:25px; }
.bm-arch-desc { font-size:14px; }
.bm-arch-pager .page-numbers { font-size:14px; }
.bm-arch-empty { font-size:15px; }
.bm-pdp-info h1 { font-size:26px; }
.bm-pdp-price .bm-now { font-size:28px; }
.bm-pdp-tabs .bm-pdp-tabnav span { font-size:15px; }
.bm-pdp-desc p { font-size:15px; }
.bm-specs td, .bm-specs th { font-size:14px; }
.bm-shop-id h1 { font-size:24px; }
body.bm .woocommerce, body.bm .woocommerce-page { font-size:15px; }
body.bm .woocommerce table.shop_table th, body.bm .woocommerce table.shop_table td { font-size:15px; }
body.bm .woocommerce-account .woocommerce-MyAccount-navigation li a { font-size:15px; }

/* ============================================================
 * Vendor "Add a product" button (header)
 * ============================================================ */
.bm-add-product {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--bm-saffron, #EF9F27); color:#3a2600 !important;
  font-weight:700; padding:8px 16px; border-radius:999px;
  box-shadow:0 3px 10px rgba(239,159,39,.3);
  transition:background .15s, transform .05s;
}
.bm-add-product:hover { background:#e3920f; transform:translateY(-1px); }
.bm-add-product i { font-size:16px; }
#wpadminbar .bm-adminbar-add > .ab-item { font-weight:700; }

/* ============================================================
 * Brands — homepage widget, product badge, brand archive header
 * ============================================================ */
.bm-brands {
  display:flex; gap:14px; overflow-x:auto; padding:4px 2px 10px;
  scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
}
.bm-brands::-webkit-scrollbar { height:6px; }
.bm-brands::-webkit-scrollbar-thumb { background:#d8e6e0; border-radius:3px; }
.bm-brand-chip {
  flex:0 0 auto; width:130px;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  background:#fff; border:1px solid var(--bm-line, #e5ece9);
  border-radius:14px; padding:16px 12px; text-align:center;
  scroll-snap-align:start; transition:border-color .15s, box-shadow .15s, transform .1s;
}
.bm-brand-chip:hover { border-color:var(--bm-teal, #0F6E56); box-shadow:0 8px 20px rgba(15,110,86,.12); transform:translateY(-2px); }
.bm-brand-logo {
  width:70px; height:70px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#f3faf7; overflow:hidden;
}
.bm-brand-logo img { max-width:80%; max-height:80%; object-fit:contain; }
.bm-brand-initial { font-size:30px; font-weight:800; color:var(--bm-teal, #0F6E56); }
.bm-brand-name { font-size:14px; font-weight:700; color:var(--bm-ink, #15302a); line-height:1.2; }
.bm-brand-count { font-size:12px; color:var(--bm-muted, #6b8079); }

/* product page brand badge */
.bm-pdp-brand {
  display:inline-flex; align-items:center; gap:7px;
  background:#f3faf7; border:1px solid var(--bm-line, #e5ece9);
  border-radius:999px; padding:5px 14px; margin-bottom:10px;
  font-size:13px; font-weight:700; color:var(--bm-teal-deep, #0a5642);
}
.bm-pdp-brand:hover { border-color:var(--bm-teal, #0F6E56); }
.bm-pdp-brand.has-logo { padding:6px 16px; }
.bm-pdp-brand img { max-height:26px; max-width:96px; object-fit:contain; display:block; }
.bm-pdp-brand i { font-size:15px; color:var(--bm-saffron-deep, #c97f10); }

/* brand archive header — full-bleed teal banner */
.bm-arch-head--brand {
  background:linear-gradient(135deg, var(--bm-deep, #0A3A2E) 0%, #0d5442 100%);
  border-bottom:none;
}
.bm-arch-head--brand .bm-arch-id h1 { color:#fff; }
.bm-arch-head--brand .bm-arch-desc { color:rgba(255,255,255,.65); margin-top:5px; }
.bm-arch-head--brand .bm-arch-kicker { color:var(--bm-saffron, #EF9F27); }
.bm-arch-head--brand .bm-arch-brandlogo {
  width:110px; height:110px; border-radius:22px;
  background:#fff; border:none; flex-shrink:0;
  box-shadow:
    0 2px 8px rgba(0,0,0,.20),
    0 10px 30px rgba(0,0,0,.28),
    inset 0 0 0 1.5px rgba(0,0,0,.07);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.bm-arch-head--brand .bm-arch-brandlogo img {
  width:100%; height:100%; object-fit:contain;
  max-width:none; max-height:none;
}
.bm-arch-brand-back {
  display:inline-flex; align-items:center; gap:5px; margin-top:10px;
  font-size:12px; font-weight:600; color:rgba(255,255,255,.7);
  text-decoration:none; transition:color .15s;
}
.bm-arch-brand-back:hover { color:#fff; }
.bm-arch-brand-back i { font-size:13px; }
.bm-arch-kicker { font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--bm-saffron-deep, #c97f10); margin:0 0 2px; }

/* RTL: brand row scrolls the other way naturally; flip header logo spacing */
body.bm-rtl .bm-add-product i { transform:scaleX(-1); }

/* ============================================================
 * Hero brand marquee — auto-scrolling logo pills along the
 * bottom of the palm banner.
 * ============================================================ */
.bm-hero-inner.has-brands { min-height:300px; padding-bottom:66px; }

.bm-hero-brands {
  position:absolute; left:0; right:0; bottom:0; z-index:3;
  padding:11px 0 12px;
  background:linear-gradient(to top, rgba(10,58,46,.86), rgba(10,58,46,.40) 62%, rgba(10,58,46,0));
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
          mask-image:linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}
.bm-hero-brands-track {
  display:flex; align-items:center; gap:12px; width:max-content;
  animation:bm-marquee 34s linear infinite;
  will-change:transform;
}
.bm-hero-brands:hover .bm-hero-brands-track { animation-play-state:paused; }

.bm-hero-pill {
  flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  height:44px; padding:0;
  background:#fff;
  border-radius:999px;
  box-shadow:
    0 1px 2px rgba(0,0,0,.06),
    0 3px 10px rgba(0,0,0,.13),
    0 8px 28px rgba(0,0,0,.07),
    inset 0 0 0 1.5px rgba(0,0,0,.08);
  text-decoration:none;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
}
a.bm-hero-pill:hover {
  transform:translateY(-3px) scale(1.05);
  box-shadow:
    0 2px 6px rgba(0,0,0,.08),
    0 8px 22px rgba(0,0,0,.18),
    0 18px 44px rgba(0,0,0,.08),
    inset 0 0 0 1.5px rgba(0,0,0,.08);
}
.bm-hero-pill img { height:44px; width:auto; max-width:none; object-fit:contain; display:block; }

@keyframes bm-marquee {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .bm-hero-brands-track { animation:none; }
}
/* RTL: hero-inner is mirrored (scaleX -1); flip the strip back so logos read correctly */
body.bm-rtl .bm-hero-inner > .bm-hero-brands { transform:scaleX(-1); }

@media (max-width:680px){
  .bm-hero-inner.has-brands { min-height:240px; padding-bottom:52px; }
  .bm-hero-pill { height:36px; }
  .bm-hero-pill img { height:36px; }
}
