/* ═══════════════════════════════════════════════════════════════
   Al Safar & Partners — Black & White Theme
   Applied site-wide: all pages, blogs, articles, service pages.
   Activated via /assets/js/theme-bw.js injector.
   Toggle ON:  push theme-bw.js with content to GCS + bust CDN
   Toggle OFF: push empty theme-bw.js (just a comment) + bust CDN
   ═══════════════════════════════════════════════════════════════ */

/* ─── CSS VARIABLES ─────────────────────────────────────────── */
:root {
  --bw-black:    #1A1A1A;
  --bw-black-d:  #0D0D0D;
  --bw-black-m:  #2E2E2E;
  --bw-gray:     #7A7A7A;
  --bw-gray-m:   #ABABAB;
  --bw-gray-l:   #E0E0E0;
  --bw-off:      #F5F5F5;
  --bw-white:    #FDFDFD;
  --bw-pill:     50px;
  --bw-card:     12px;
  --bw-font:     "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  --bw-serif:    "IBM Plex Serif", Georgia, serif;
  --bw-img-hero: url('/assets/images/d305618fbb5c6003f52a60ff5ed8a761.png');
}

/* ─── BASE BODY ─────────────────────────────────────────────── */
body.bw-theme-active {
  font-family: var(--bw-font) !important;
  background-color: var(--bw-white) !important;
  color: var(--bw-black) !important;
  -webkit-font-smoothing: antialiased;
}

/* ─── KILL ODOO HEADER / FOOTER ─────────────────────────────── */
body.bw-theme-active #top,
body.bw-theme-active #bottom,
body.bw-theme-active .o_header_affix,
body.bw-theme-active #o_footer_scrolltop_wrapper { display: none !important; }

/* ─── BW NAV ─────────────────────────────────────────────────── */
.bw-nav {
  position: sticky; top: 0; z-index: 9999;
  background: var(--bw-black);
  min-height: 72px; display: flex; align-items: center;
  justify-content: space-between; padding: 12px 48px;
  font-family: var(--bw-font);
}
.bw-nav-brand { display: flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.bw-nav-logo { height: 51px; width: auto; max-width: 230px; object-fit: contain; display: block; }
.bw-nav-links { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; }
.bw-nav-links a {
  color: rgba(255,255,255,.5); font-size: 12px; font-weight: 500;
  padding: 7px 15px; border-radius: var(--bw-pill);
  text-decoration: none; transition: color .15s, background .15s; white-space: nowrap;
}
.bw-nav-links a:hover, .bw-nav-links a.active { color: #fff; background: rgba(255,255,255,.09); }
.bw-nav-cta {
  display: inline-flex; align-items: center; gap: 7px;
  background: #fff; color: var(--bw-black);
  font-size: 11px; font-weight: 700; letter-spacing: .05em;
  padding: 9px 20px; border-radius: var(--bw-pill);
  text-decoration: none; transition: background .15s; white-space: nowrap; flex-shrink: 0;
}
.bw-nav-cta:hover { background: var(--bw-gray-l); color: var(--bw-black); text-decoration: none; }
.bw-nav-burger { display: none; background: none; border: none; color: #fff; font-size: 24px; cursor: pointer; padding: 4px; }
@media (max-width: 991px) {
  .bw-nav { padding: 0 20px; }
  .bw-nav-links { display: none; }
  .bw-nav-links.open {
    display: flex; flex-direction: column;
    position: fixed; top: 64px; left: 0; right: 0;
    background: var(--bw-black); padding: 12px 24px 24px;
    border-top: 1px solid rgba(255,255,255,.07);
    z-index: 9998; max-height: calc(100vh - 64px); overflow-y: auto;
  }
  .bw-nav-links a { font-size: 14px; padding: 10px 4px; border-radius: 0; border-bottom: 1px solid rgba(255,255,255,.06); }
  .bw-nav-cta { display: none; }
  .bw-nav-burger { display: block; }
}

/* ─── BW FOOTER ──────────────────────────────────────────────── */
.bw-footer { background: var(--bw-black-m); color: rgba(255,255,255,.4); padding: 72px 0 28px; font-family: var(--bw-font); }
.bw-footer-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 24px;
  display: grid; grid-template-columns: 2fr 1fr 1fr 1.6fr; gap: 48px;
}
.bw-footer-logo { height: 55px; width: auto; max-width: 207px; object-fit: contain; display: block; margin-bottom: 12px; }
.bw-footer-name { font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.bw-footer-sub { font-size: 11px; color: rgba(255,255,255,.28); line-height: 1.85; margin-bottom: 18px; }
.bw-footer-socials { display: flex; gap: 14px; font-size: 19px; }
.bw-footer-socials a { color: rgba(255,255,255,.2); text-decoration: none; transition: color .15s; }
.bw-footer-socials a:hover { color: #fff; }
.bw-footer-col-head { font-size: 9px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--bw-gray); margin-bottom: 16px; }
.bw-footer-link { display: block; font-size: 12px; color: rgba(255,255,255,.35); margin-bottom: 8px; text-decoration: none; transition: color .15s; }
.bw-footer-link:hover { color: #fff; }
.bw-footer-ci { display: flex; gap: 10px; font-size: 12px; color: rgba(255,255,255,.35); margin-bottom: 9px; line-height: 1.75; align-items: flex-start; }
.bw-footer-ci i { font-size: 13px; color: var(--bw-gray); flex-shrink: 0; margin-top: 2px; }
.bw-footer-ci a { color: rgba(255,255,255,.45); text-decoration: none; transition: color .15s; }
.bw-footer-ci a:hover { color: #fff; }
.bw-footer-bar { max-width: 1200px; margin: 44px auto 0; padding: 24px 24px 0; border-top: 1px solid rgba(255,255,255,.06); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.bw-footer-copy { font-size: 11px; color: rgba(255,255,255,.15); }
.bw-footer-bar-links a { font-size: 11px; color: rgba(255,255,255,.15); margin-left: 20px; text-decoration: none; transition: color .15s; }
.bw-footer-bar-links a:hover { color: rgba(255,255,255,.5); }
@media (max-width: 1024px) { .bw-footer-inner { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media (max-width: 640px) { .bw-footer-inner { grid-template-columns: 1fr; } .bw-footer { padding: 48px 0 24px; } }

/* ─── WRAPWRAP / MAIN CONTENT ────────────────────────────────── */
body.bw-theme-active #wrapwrap { padding-top: 0 !important; margin-top: 0 !important; font-family: var(--bw-font); }
body.bw-theme-active #wrap { font-family: var(--bw-font); color: var(--bw-black); }

/* ─── TYPOGRAPHY ─────────────────────────────────────────────── */
body.bw-theme-active h1,body.bw-theme-active h2,body.bw-theme-active h3,
body.bw-theme-active h4,body.bw-theme-active h5,body.bw-theme-active h6 {
  font-family: var(--bw-font) !important; font-weight: 700 !important;
  letter-spacing: -.02em; color: var(--bw-black);
}
body.bw-theme-active p,body.bw-theme-active li,body.bw-theme-active td,body.bw-theme-active span {
  font-family: var(--bw-font) !important;
}
body.bw-theme-active a { color: var(--bw-black); transition: color .15s; }
body.bw-theme-active a:hover { color: var(--bw-gray); }

/* ─── BUTTONS ───────────────────────────────────────────────── */
body.bw-theme-active .btn-primary,
body.bw-theme-active .btn-primary:not(:disabled):not(.disabled) {
  background: var(--bw-black) !important; border-color: var(--bw-black) !important;
  color: #fff !important; border-radius: var(--bw-pill) !important;
  font-family: var(--bw-font) !important; font-weight: 700 !important;
  font-size: 12px !important; letter-spacing: .05em !important; padding: 11px 24px !important;
}
body.bw-theme-active .btn-primary:hover { background: var(--bw-black-d) !important; border-color: var(--bw-black-d) !important; }
body.bw-theme-active .btn-secondary, body.bw-theme-active .btn-light {
  background: var(--bw-off) !important; border-color: var(--bw-gray-l) !important;
  color: var(--bw-black) !important; border-radius: var(--bw-pill) !important;
  font-family: var(--bw-font) !important; font-weight: 700 !important;
}
body.bw-theme-active .btn-outline-primary {
  border-color: var(--bw-black) !important; color: var(--bw-black) !important;
  border-radius: var(--bw-pill) !important; background: transparent !important;
}
body.bw-theme-active .btn-outline-primary:hover { background: var(--bw-black) !important; color: #fff !important; }

/* ─── SECTION BACKGROUNDS ───────────────────────────────────── */
body.bw-theme-active .s_cover,
body.bw-theme-active section[data-snippet="s_title"] {
  background-color: var(--bw-black) !important; color: #fff !important; position: relative;
}
body.bw-theme-active section.o_cc.o_cc2, body.bw-theme-active .o_cc2 { background-color: var(--bw-off) !important; color: var(--bw-black) !important; }
body.bw-theme-active section.o_cc.o_cc3, body.bw-theme-active .o_cc3 { background-color: var(--bw-black-m) !important; color: #fff !important; }
body.bw-theme-active section.o_cc.o_cc4, body.bw-theme-active .o_cc4 { background-color: var(--bw-black) !important; color: #fff !important; }
body.bw-theme-active section.o_cc.o_cc5, body.bw-theme-active .o_cc5 { background-color: var(--bw-black) !important; color: #fff !important; }

/* ─── CARDS ─────────────────────────────────────────────────── */
body.bw-theme-active .card { border: 1px solid var(--bw-gray-l) !important; border-radius: var(--bw-card) !important; box-shadow: none !important; transition: transform .18s, box-shadow .18s !important; }
body.bw-theme-active .card:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(0,0,0,.08) !important; }
body.bw-theme-active .card-title { font-weight: 700 !important; color: var(--bw-black) !important; }
body.bw-theme-active .card-text { color: var(--bw-gray) !important; }

/* ─── BLOG LISTING ───────────────────────────────────────────── */
body.bw-theme-active .js_blog .o_blog_post {
  border: 1px solid var(--bw-gray-l); border-radius: var(--bw-card);
  overflow: hidden; margin-bottom: 24px; background: #fff;
  transition: transform .18s, box-shadow .18s;
}
body.bw-theme-active .js_blog .o_blog_post:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(0,0,0,.08); }
body.bw-theme-active .o_blog_post_title { font-size: 20px !important; font-weight: 700 !important; color: var(--bw-black) !important; letter-spacing: -.015em !important; line-height: 1.25 !important; margin-bottom: 10px !important; }
body.bw-theme-active .o_blog_post_title a { color: var(--bw-black) !important; text-decoration: none !important; }
body.bw-theme-active .o_blog_post_title a:hover { color: var(--bw-gray) !important; }
body.bw-theme-active .o_blog_post_date, body.bw-theme-active .o_blog_post_author { font-size: 10px !important; color: var(--bw-gray) !important; letter-spacing: .1em !important; text-transform: uppercase !important; font-weight: 600 !important; }
body.bw-theme-active .badge { background: var(--bw-off) !important; color: var(--bw-black) !important; border: 1px solid var(--bw-gray-l) !important; border-radius: var(--bw-pill) !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; padding: 4px 12px !important; }
body.bw-theme-active .o_wblog_nav a { border-radius: var(--bw-pill) !important; font-size: 11px !important; font-weight: 600 !important; color: var(--bw-black) !important; border: 1px solid var(--bw-gray-l) !important; padding: 6px 16px !important; background: #fff !important; text-decoration: none !important; transition: all .15s; }
body.bw-theme-active .o_wblog_nav a:hover, body.bw-theme-active .o_wblog_nav a.active { background: var(--bw-black) !important; color: #fff !important; border-color: var(--bw-black) !important; }
body.bw-theme-active .page-link { border-radius: var(--bw-pill) !important; color: var(--bw-black) !important; border-color: var(--bw-gray-l) !important; font-family: var(--bw-font) !important; font-weight: 600 !important; font-size: 12px !important; }
body.bw-theme-active .page-item.active .page-link { background: var(--bw-black) !important; border-color: var(--bw-black) !important; color: #fff !important; }

/* ─── BLOG ARTICLE ───────────────────────────────────────────── */
body.bw-theme-active .website_blog .o_blog_post_title h1 { font-size: clamp(28px, 4vw, 52px) !important; font-weight: 700 !important; letter-spacing: -.03em !important; line-height: 1.08 !important; color: var(--bw-black) !important; margin-bottom: 20px !important; }
body.bw-theme-active .o_field_html, body.bw-theme-active .o_blog_post_content { font-family: var(--bw-font) !important; font-size: 15px !important; line-height: 1.85 !important; color: var(--bw-black) !important; font-weight: 300 !important; }
body.bw-theme-active .o_field_html h2, body.bw-theme-active .o_blog_post_content h2 { font-size: 24px !important; font-weight: 700 !important; margin-top: 40px !important; margin-bottom: 14px !important; padding-top: 12px !important; border-top: 1px solid var(--bw-gray-l); letter-spacing: -.02em !important; }
body.bw-theme-active .o_field_html h3, body.bw-theme-active .o_blog_post_content h3 { font-size: 18px !important; font-weight: 700 !important; margin-top: 28px !important; margin-bottom: 10px !important; }
body.bw-theme-active .o_field_html p, body.bw-theme-active .o_blog_post_content p { margin-bottom: 20px !important; line-height: 1.85 !important; }
body.bw-theme-active .o_field_html blockquote, body.bw-theme-active .o_blog_post_content blockquote { border-left: 3px solid var(--bw-black) !important; margin: 32px 0 !important; padding: 20px 24px 20px 32px !important; background: var(--bw-off) !important; border-radius: 0 8px 8px 0 !important; font-style: italic !important; font-family: var(--bw-serif) !important; font-size: 17px !important; }

/* ─── FORMS ──────────────────────────────────────────────────── */
body.bw-theme-active input[type="text"], body.bw-theme-active input[type="email"],
body.bw-theme-active input[type="tel"], body.bw-theme-active select,
body.bw-theme-active textarea {
  background: var(--bw-off) !important; border: 1.5px solid var(--bw-gray-l) !important;
  border-radius: 8px !important; font-family: var(--bw-font) !important;
  font-size: 13px !important; color: var(--bw-black) !important;
  padding: 12px 16px !important; outline: none !important; transition: border-color .15s !important;
}
body.bw-theme-active input:focus, body.bw-theme-active select:focus, body.bw-theme-active textarea:focus {
  border-color: var(--bw-black) !important; background: #fff !important; box-shadow: none !important;
}
body.bw-theme-active label, body.bw-theme-active .form-label {
  font-size: 10px !important; font-weight: 700 !important; letter-spacing: .14em !important;
  text-transform: uppercase !important; color: var(--bw-gray) !important; margin-bottom: 7px !important;
}

/* ─── TABLES ─────────────────────────────────────────────────── */
body.bw-theme-active table th { background: var(--bw-black) !important; color: #fff !important; font-size: 10px !important; letter-spacing: .1em !important; text-transform: uppercase !important; font-weight: 700 !important; padding: 12px 16px !important; }
body.bw-theme-active table td { padding: 10px 16px !important; color: var(--bw-black) !important; border-color: var(--bw-gray-l) !important; }
body.bw-theme-active table tr:nth-child(even) { background: var(--bw-off) !important; }

/* ─── MAPS ───────────────────────────────────────────────────── */
body.bw-theme-active .s_google_map iframe, body.bw-theme-active .o_map_embed iframe { border-radius: 14px !important; border: 1px solid var(--bw-gray-l) !important; filter: grayscale(100%) !important; }

/* ─── ACCESSIBILITY ──────────────────────────────────────────── */
body.bw-theme-active *:focus-visible { outline: 2px solid var(--bw-black) !important; outline-offset: 2px !important; }


/* ═══════════════════════════════════════════════════════════════
   BLOG — FROM-SCRATCH REDESIGN v2
   Dark editorial magazine grid.
   Works with or without article cover images (graceful fallback).
   Sections: hero / underline filter nav / dark tile grid
   ═══════════════════════════════════════════════════════════════ */

/* ── KILL SIDEBAR (no Odoo backend = non-functional) ─────────── */
body.bw-theme-active #o_wblog_sidebar { display: none !important; }
body.bw-theme-active .js_blog .border-end { display: none !important; }

/* Article container = full width */
body.bw-theme-active #o_wblog_posts_loop_container {
  max-width: 100% !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── HERO ────────────────────────────────────────────────────── */
body.bw-theme-active .js_blog #o_wblog_blog_top {
  background: var(--bw-black) !important;
  padding: 72px 48px 56px !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}
body.bw-theme-active .js_blog #o_wblog_blog_top .container,
body.bw-theme-active .js_blog #o_wblog_blog_top .s_allow_columns {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body.bw-theme-active .js_blog #o_wblog_blog_top section,
body.bw-theme-active .js_blog #o_wblog_blog_top .s_title {
  background: transparent !important;
  padding: 0 !important;
}
body.bw-theme-active .js_blog #o_wblog_blog_top h1 {
  font-family: var(--bw-serif) !important;
  font-size: clamp(34px, 5vw, 68px) !important;
  font-weight: 300 !important;
  letter-spacing: -.04em !important;
  color: #fff !important;
  line-height: 1.05 !important;
  margin: 0 !important;
}
body.bw-theme-active .js_blog #o_wblog_blog_top p {
  font-family: var(--bw-font) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,.3) !important;
  margin: 8px 0 0 !important;
  letter-spacing: .03em !important;
}

/* ── FILTER NAV ──────────────────────────────────────────────── */
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm {
  background: var(--bw-black) !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  padding: 0 48px !important;
  position: sticky !important;
  top: 72px !important;
  z-index: 500 !important;
}
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .container {
  max-width: 1200px !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  padding: 0 !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .container::-webkit-scrollbar {
  display: none !important;
}
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .navbar-nav {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  align-items: stretch !important;
}
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .nav-link.disabled {
  display: none !important;
}
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .nav-link {
  font-family: var(--bw-font) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.32) !important;
  padding: 18px 18px !important;
  border-bottom: 2px solid transparent !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-decoration: none !important;
  transition: color .15s, border-color .15s !important;
  white-space: nowrap !important;
}
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .nav-link b,
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .nav-link strong {
  font-weight: inherit !important;
  color: inherit !important;
}
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .nav-link:hover {
  color: rgba(255,255,255,.75) !important;
  border-bottom-color: rgba(255,255,255,.22) !important;
}
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .nav-link.fw-bold,
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .nav-link.active,
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm li.active .nav-link {
  color: #fff !important;
  border-bottom-color: #fff !important;
}
/* Search pill */
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .o_searchbar_form {
  margin-left: auto !important;
  align-self: center !important;
  flex-shrink: 0 !important;
}
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .search-query.form-control {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: var(--bw-pill) !important;
  color: #fff !important;
  font-size: 11px !important;
  height: 30px !important;
  padding: 0 14px !important;
  min-width: 140px !important;
}
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .search-query::placeholder {
  color: rgba(255,255,255,.25) !important;
}
body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .oe_search_button {
  background: rgba(255,255,255,.09) !important;
  border: none !important;
  color: rgba(255,255,255,.5) !important;
  height: 30px !important;
  border-radius: var(--bw-pill) !important;
  padding: 0 12px !important;
}

/* ── GRID SECTION WRAPPER ────────────────────────────────────── */
body.bw-theme-active #o_wblog_index_content {
  background: var(--bw-black) !important;
  padding: 0 0 96px !important;
}
body.bw-theme-active #o_wblog_index_content > .container {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* The outer row that Bootstrap puts articles + sidebar in */
body.bw-theme-active #o_wblog_index_content > .container > .row {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Article loop container */
body.bw-theme-active #o_wblog_posts_loop_container {
  padding: 0 !important;
}
/* o_container_small clamps width — undo it */
body.bw-theme-active #o_wblog_posts_loop_container.o_container_small {
  max-width: 100% !important;
  margin: 0 !important;
}
/* The inner row = our CSS grid */
body.bw-theme-active #o_wblog_posts_loop > .row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 3px !important;
  margin: 0 !important;
  padding: 3px !important;
  background: var(--bw-black-d) !important;
}
/* Hide hr divider rows (class mt-2 mb-5) */
body.bw-theme-active #o_wblog_posts_loop .row > .col-12.mt-2.mb-5 {
  display: none !important;
}
/* Article wrapper reset */
body.bw-theme-active #o_wblog_posts_loop .row > .col-12.pb-4 {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: unset !important;
}
/* Featured = first article, full width */
body.bw-theme-active #o_wblog_posts_loop .row > .col-12.pb-4:first-child {
  grid-column: 1 / -1 !important;
}

/* ── DARK EDITORIAL CARD ─────────────────────────────────────── */
body.bw-theme-active #o_wblog_posts_loop .o_wblog_post {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  background: var(--bw-black-m) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 300px !important;
  cursor: pointer !important;
  transform: none !important;
  transition: none !important;
}

/* ─ Image wrapper (2nd child div in the article) */
body.bw-theme-active #o_wblog_posts_loop .o_wblog_post > a:nth-child(2),
body.bw-theme-active #o_wblog_posts_loop .o_wblog_post > div:nth-child(2) {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}
body.bw-theme-active #o_wblog_posts_loop .o_record_cover_container {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  background: var(--bw-black-m) !important;
  border-radius: 0 !important;
}
body.bw-theme-active #o_wblog_posts_loop .o_record_cover_image {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  opacity: 0.45 !important;
  transform: scale(1) !important;
  transition: opacity .5s ease, transform .7s ease !important;
}
body.bw-theme-active #o_wblog_posts_loop .o_wblog_post:hover .o_record_cover_image {
  opacity: 0.62 !important;
  transform: scale(1.05) !important;
}
/* Gradient overlay on cover */
body.bw-theme-active #o_wblog_posts_loop .o_record_cover_container::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to top,
    rgba(13,13,13,.96) 0%,
    rgba(13,13,13,.6) 45%,
    rgba(13,13,13,.08) 100%
  ) !important;
  pointer-events: none !important;
}
/* Hide built-in author overlay on image */
body.bw-theme-active #o_wblog_posts_loop .o_wblog_post_list_author {
  display: none !important;
}
/* Hide cc3 background override on cover (it turns cards dark-gray, good default) */
body.bw-theme-active #o_wblog_posts_loop .o_cc3 {
  background-color: transparent !important;
}

/* ─ Title block */
body.bw-theme-active #o_wblog_posts_loop .o_wblog_post > .card-body.py-3 {
  position: absolute !important;
  bottom: 44px !important;
  left: 0 !important;
  right: 0 !important;
  padding: 0 24px !important;
  z-index: 3 !important;
  background: transparent !important;
}
body.bw-theme-active #o_wblog_posts_loop .o_blog_post_title {
  font-family: var(--bw-font) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.38 !important;
  letter-spacing: -.02em !important;
  color: #fff !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
body.bw-theme-active #o_wblog_posts_loop .o_blog_post_title a {
  color: #fff !important;
  text-decoration: none !important;
}

/* ─ Date strip */
body.bw-theme-active #o_wblog_posts_loop .o_wblog_post > .opt_blog_cards_design {
  position: absolute !important;
  bottom: 18px !important;
  left: 24px !important;
  right: 24px !important;
  z-index: 3 !important;
  padding: 0 !important;
  border-top: none !important;
  margin: 0 !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
body.bw-theme-active #o_wblog_posts_loop time {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.35) !important;
}
/* Author text inside date area */
body.bw-theme-active #o_wblog_posts_loop .opt_blog_cards_design .o_wblog_post_list_author_wrapper {
  font-size: 9px !important;
  color: rgba(255,255,255,.3) !important;
  letter-spacing: .1em !important;
}

/* ─ Hide excerpt + tags */
body.bw-theme-active #o_wblog_posts_loop .o_wblog_post > .card-body.pt-0 {
  display: none !important;
}

/* ── FEATURED CARD (first article = full width) ──────────────── */
body.bw-theme-active #o_wblog_posts_loop .row > .col-12.pb-4:first-child .o_wblog_post {
  min-height: 520px !important;
}
body.bw-theme-active #o_wblog_posts_loop .row > .col-12.pb-4:first-child .card-body.py-3 {
  bottom: 60px !important;
  padding: 0 48px !important;
}
body.bw-theme-active #o_wblog_posts_loop .row > .col-12.pb-4:first-child .o_blog_post_title {
  font-size: clamp(22px, 2.8vw, 40px) !important;
  -webkit-line-clamp: 2 !important;
  font-weight: 700 !important;
  letter-spacing: -.03em !important;
  line-height: 1.15 !important;
}
body.bw-theme-active #o_wblog_posts_loop .row > .col-12.pb-4:first-child .opt_blog_cards_design {
  left: 48px !important;
  right: 48px !important;
}
/* "FEATURED" label on first card */
body.bw-theme-active #o_wblog_posts_loop .row > .col-12.pb-4:first-child .o_wblog_post::before {
  content: 'LATEST' !important;
  position: absolute !important;
  top: 28px !important;
  left: 48px !important;
  z-index: 4 !important;
  font-family: var(--bw-font) !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  letter-spacing: .28em !important;
  color: rgba(255,255,255,.5) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  padding: 5px 14px !important;
  border-radius: var(--bw-pill) !important;
}

/* ── PAGINATION ──────────────────────────────────────────────── */
body.bw-theme-active .o_wblog_post_pager {
  display: flex !important;
  justify-content: center !important;
  margin-top: 48px !important;
  padding: 0 24px !important;
  gap: 6px !important;
}
body.bw-theme-active .o_wblog_post_pager .page-link {
  font-family: var(--bw-font) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,.4) !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: var(--bw-pill) !important;
  padding: 8px 20px !important;
  transition: all .15s !important;
}
body.bw-theme-active .o_wblog_post_pager .page-link:hover {
  color: #fff !important;
  border-color: rgba(255,255,255,.35) !important;
}
body.bw-theme-active .o_wblog_post_pager .page-item.active .page-link {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--bw-black) !important;
}

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width: 1023px) {
  body.bw-theme-active #o_wblog_posts_loop > .row {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  body.bw-theme-active .js_blog #o_wblog_blog_top {
    padding: 56px 24px 44px !important;
  }
  body.bw-theme-active .js_blog > .navbar.navbar-expand-sm {
    padding: 0 24px !important;
  }
  body.bw-theme-active #o_wblog_posts_loop .row > .col-12.pb-4:first-child .card-body.py-3 {
    padding: 0 28px !important;
  }
  body.bw-theme-active #o_wblog_posts_loop .row > .col-12.pb-4:first-child .opt_blog_cards_design {
    left: 28px !important;
    right: 28px !important;
  }
}
@media (max-width: 640px) {
  body.bw-theme-active #o_wblog_posts_loop > .row {
    grid-template-columns: 1fr !important;
  }
  body.bw-theme-active #o_wblog_posts_loop .row > .col-12.pb-4:first-child .o_wblog_post {
    min-height: 360px !important;
  }
  body.bw-theme-active #o_wblog_posts_loop .row > .col-12.pb-4:first-child .o_wblog_post::before {
    left: 24px !important;
    top: 20px !important;
  }
  body.bw-theme-active .js_blog #o_wblog_blog_top {
    padding: 44px 20px 36px !important;
  }
  body.bw-theme-active .js_blog > .navbar.navbar-expand-sm {
    padding: 0 16px !important;
  }
  body.bw-theme-active .js_blog > .navbar.navbar-expand-sm .o_searchbar_form {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE & TABLET — ODOO PAGE FIXES
   Supplements Bootstrap's built-in responsiveness for Odoo pages
   (about-us, contact, team, blog article pages, etc.)
   ═══════════════════════════════════════════════════════════════ */

/* ── BW NAV IMPROVEMENTS ─────────────────────────────────────── */
/* Nav open panel — better full-screen mobile treatment */
@media (max-width: 1024px) {
  .bw-nav { padding: 0 20px !important; min-height: 64px; }
  .bw-nav-logo { height: 40px; }
  .bw-nav-links { display: none !important; }
  .bw-nav-links.open {
    display: flex !important;
    top: 64px !important;
    padding: 16px 20px 28px !important;
  }
  .bw-nav-cta { display: none !important; }
  .bw-nav-burger { display: block !important; }
}

/* ── ODOO PAGE SECTIONS — PADDING ────────────────────────────── */
@media (max-width: 1024px) {
  body.bw-theme-active .o_header_standard { display: none !important; }

  /* Reduce section vertical padding on tablet */
  body.bw-theme-active section.s_cover,
  body.bw-theme-active section[data-snippet] { padding: 60px 0 !important; }

  /* Odoo containers */
  body.bw-theme-active .container { padding-left: 20px !important; padding-right: 20px !important; }
}

@media (max-width: 767px) {
  /* Further reduce on mobile */
  body.bw-theme-active section.s_cover { padding: 48px 0 !important; }
  body.bw-theme-active section[data-snippet] { padding: 44px 0 !important; }

  /* Hero title sizing */
  body.bw-theme-active .o_cover_content h1,
  body.bw-theme-active .o_cover_content .o_default_snippet_text h1 {
    font-size: clamp(28px, 7vw, 48px) !important;
    line-height: 1.15 !important;
  }

  /* Tables — horizontal scroll on mobile */
  body.bw-theme-active .table-responsive,
  body.bw-theme-active table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    max-width: 100% !important;
  }

  /* Images — never overflow */
  body.bw-theme-active img { max-width: 100% !important; height: auto !important; }

  /* Column helpers — force full-width on small phones */
  body.bw-theme-active .col-lg-6,
  body.bw-theme-active .col-lg-4,
  body.bw-theme-active .col-lg-3 { word-break: break-word; }

  /* Contact page form */
  body.bw-theme-active input[type="text"],
  body.bw-theme-active input[type="email"],
  body.bw-theme-active input[type="tel"],
  body.bw-theme-active textarea {
    font-size: 16px !important; /* prevents iOS zoom on focus */
  }

  /* Blog article content — +20% font sizes on mobile */
  body.bw-theme-active .o_field_html,
  body.bw-theme-active .o_blog_post_content {
    font-size: 18px !important;
    line-height: 1.85 !important;
  }
  body.bw-theme-active .o_field_html p,
  body.bw-theme-active .o_blog_post_content p {
    font-size: 18px !important;
    line-height: 1.85 !important;
    margin-bottom: 22px !important;
  }
  body.bw-theme-active .o_field_html h2,
  body.bw-theme-active .o_blog_post_content h2 {
    font-size: clamp(24px, 6.6vw, 34px) !important;
  }
  body.bw-theme-active .o_field_html h3,
  body.bw-theme-active .o_blog_post_content h3 {
    font-size: clamp(20px, 5.4vw, 26px) !important;
  }
  body.bw-theme-active .o_field_html li,
  body.bw-theme-active .o_blog_post_content li {
    font-size: 17px !important;
    line-height: 1.75 !important;
  }

  /* General Odoo page text */
  body.bw-theme-active #wrap p,
  body.bw-theme-active #wrap li { font-size: 17px !important; line-height: 1.8 !important; }
  body.bw-theme-active #wrap h2 { font-size: clamp(24px, 6.6vw, 36px) !important; }
  body.bw-theme-active #wrap h3 { font-size: clamp(20px, 5.5vw, 28px) !important; }

  /* Blog card title on listing page */
  body.bw-theme-active #o_wblog_posts_loop .o_blog_post_title {
    font-size: 18px !important;
  }
  body.bw-theme-active #o_wblog_posts_loop time { font-size: 11px !important; }
}

/* ── BW FOOTER MOBILE ────────────────────────────────────────── */
@media (max-width: 767px) {
  .bw-footer { padding: 44px 0 20px !important; }
  .bw-footer-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 0 20px !important;
  }
  /* Footer font sizes +20% */
  .bw-footer-name { font-size: 17px !important; }
  .bw-footer-sub  { max-width: 100% !important; font-size: 13px !important; line-height: 1.8 !important; }
  .bw-footer-col-head { font-size: 11px !important; }
  .bw-footer-link { font-size: 14px !important; margin-bottom: 10px !important; }
  .bw-footer-ci   { font-size: 14px !important; }
  .bw-footer-copy { font-size: 13px !important; }
  .bw-footer-bar-links a { font-size: 13px !important; }
  .bw-footer-bar {
    padding: 20px 20px 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  .bw-footer-bar-links a { margin-left: 0 !important; margin-right: 16px !important; }
}
@media (max-width: 480px) {
  .bw-footer-inner { padding: 0 16px !important; }
  .bw-footer-bar   { padding: 16px 16px 0 !important; }
  .bw-footer-link  { font-size: 15px !important; }
  .bw-footer-ci    { font-size: 15px !important; }
}
