/*
 * BSM Buzzoid Override — Divi Child
 * Overrides all Divi styling to Buzzoid-style
 * Orange #FF8303 | Light theme | No black
 */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Bricolage+Grotesque:wght@400;500;600;700;800&display=swap');

:root {
  --bsm-o: #FF8303;
  --bsm-od: #E67300;
  --bsm-ol: #FF9A33;
  --bsm-green: #22c55e;
  --bsm-bg: #FAFAFA;
  --bsm-card: #FFFFFF;
  --bsm-border: #EEEEEE;
  --bsm-text: #1a1a1a;
  --bsm-muted: #888888;
  --bsm-radius: 14px;
  --bsm-font: 'Plus Jakarta Sans', sans-serif;
  --bsm-font-display: 'Bricolage Grotesque', sans-serif;
}

/* ═══════════════════════════════════
   GLOBAL RESET OVER DIVI
   ═══════════════════════════════════ */
body, body.et-tb, body #page-container {
  font-family: var(--bsm-font) !important;
  background: var(--bsm-bg) !important;
  color: var(--bsm-text) !important;
  -webkit-font-smoothing: antialiased;
}

/* Hide Divi default header & footer */
#main-header, #top-header, #et-top-navigation,
#main-footer, #footer-bottom, .et-fixed-header,
.et_pb_section_0_tb_header, .et_pb_section_0_tb_footer,
#et_mobile_nav_menu { display: none !important; }

/* ═══════════════════════════════════
   BSM DELIVERY BAR
   ═══════════════════════════════════ */
.bsm-delivery-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #F0FFF4;
  border-bottom: 1px solid #BBF7D0;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 600;
  color: #16a34a;
  flex-wrap: wrap;
  position: relative;
  z-index: 99999;
}
.bsm-delivery-bar .live-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--bsm-green);
  display: inline-block;
  animation: bsmPulse 2s infinite;
}
.bsm-delivery-bar .sep { color: #ccc; }
.bsm-delivery-bar .secure-txt { color: #999; font-size: 12px; }
@keyframes bsmPulse { 0%,100%{opacity:1} 50%{opacity:.3} }

/* ═══════════════════════════════════
   BSM HEADER
   ═══════════════════════════════════ */
.bsm-header {
  background: #fff !important;
  border-bottom: 1px solid var(--bsm-border);
  padding: 0 28px;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  height: 62px;
  position: sticky;
  top: 0;
  z-index: 99998;
  box-shadow: 0 1px 6px rgba(0,0,0,.04);
}
.bsm-header .bsm-logo img { height: 34px; width: auto; }
.bsm-header .bsm-nav { display: flex; align-items: center; gap: 2px; }
.bsm-header .bsm-nav-item {
  position: relative;
  padding: 8px 13px;
  font-size: 13.5px;
  font-weight: 600;
  color: #555;
  cursor: pointer;
  border-radius: 8px;
  transition: all .15s;
  text-decoration: none;
}
.bsm-header .bsm-nav-item:hover,
.bsm-header .bsm-nav-item.active { color: var(--bsm-o); background: rgba(255,131,3,.05); }
.bsm-header .bsm-secure { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--bsm-green); }

/* Mega dropdown */
.bsm-mega-dropdown {
  position: absolute; top: calc(100% + 4px); left: 50%;
  transform: translateX(-50%);
  background: #fff; border: 1px solid var(--bsm-border);
  border-radius: var(--bsm-radius);
  padding: 10px; min-width: 520px;
  box-shadow: 0 20px 60px rgba(0,0,0,.12);
  display: none; grid-template-columns: 1fr 1fr; gap: 2px; z-index: 99999;
}
.bsm-nav-item:hover .bsm-mega-dropdown { display: grid; }
.bsm-mega-dropdown a {
  display: flex; align-items: center; gap: 9px;
  padding: 9px 12px; border-radius: 9px;
  font-size: 12.5px; font-weight: 500; color: #444;
  text-decoration: none; transition: all .12s;
}
.bsm-mega-dropdown a:hover { background: rgba(255,131,3,.06); color: var(--bsm-o); }
.bsm-mega-dropdown .dd-icon {
  width: 26px; height: 26px; border-radius: 7px;
  background: #FFF5EB; display: flex; align-items: center;
  justify-content: center; font-size: 14px; flex-shrink: 0;
}

/* Minimal header for checkout */
.bsm-header-minimal {
  background: #fff; border-bottom: 1px solid var(--bsm-border);
  padding: 0 28px; display: flex; align-items: center;
  justify-content: space-between; height: 56px;
  position: sticky; top: 0; z-index: 99998;
}

/* ═══════════════════════════════════
   DIVI SECTION OVERRIDES
   ═══════════════════════════════════ */
.et_pb_section { background: var(--bsm-bg) !important; padding: 0 !important; }
.et_pb_section.bsm-hero-section { padding: 44px 0 28px !important; text-align: center; }
.et_pb_section.bsm-packages-section { padding: 0 0 20px !important; }
.et_pb_section.bsm-content-section { padding: 40px 0 !important; max-width: 860px; margin: 0 auto; }

/* ═══════════════════════════════════
   HERO OVERRIDES
   ═══════════════════════════════════ */
.bsm-hero-section h1,
.bsm-hero-section .et_pb_module_header,
.bsm-hero-section .et_pb_text h1 {
  font-family: var(--bsm-font-display) !important;
  font-weight: 800 !important;
  font-size: clamp(28px, 4.5vw, 48px) !important;
  line-height: 1.1 !important;
  color: var(--bsm-text) !important;
  margin-bottom: 14px !important;
}
.bsm-hero-section h1 span.bsm-hl,
.bsm-hero-section .bsm-hl { color: var(--bsm-o) !important; }
.bsm-hero-section .hero-desc,
.bsm-hero-section .et_pb_text p {
  font-size: 15px !important;
  color: #666 !important;
  max-width: 620px;
  margin: 0 auto 16px !important;
  line-height: 1.6 !important;
}
.bsm-status-line {
  font-size: 12px; color: var(--bsm-muted);
  background: #fff; border: 1px solid var(--bsm-border);
  border-radius: 8px; padding: 8px 16px;
  display: inline-block; margin-bottom: 16px;
  letter-spacing: .3px; font-weight: 600;
}

/* Stars row */
.bsm-stars-row { display: inline-flex; align-items: center; gap: 8px; margin: 6px 0 12px; }
.bsm-stars-badge { background: #00B67A; color: #fff; padding: 3px 8px; border-radius: 5px; font-size: 13px; letter-spacing: .5px; }
.bsm-rating { font-weight: 700; font-size: 14px; }
.bsm-review-count { font-size: 12px; color: #999; }

/* Trust pills */
.bsm-trust-pills { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin: 12px 0 28px; padding: 0 16px; }
.bsm-trust-pill {
  display: inline-flex; align-items: center; gap: 5px;
  background: #fff; border: 1px solid var(--bsm-border);
  border-radius: 50px; padding: 7px 14px;
  font-size: 12.5px; font-weight: 600; color: #555;
}
.bsm-trust-pill .tp-icon { color: var(--bsm-o); }

/* ═══════════════════════════════════
   TABS (override Divi tabs)
   ═══════════════════════════════════ */
.bsm-tabs-wrap { text-align: center; margin-bottom: 20px; }
.bsm-tabs {
  display: inline-flex; gap: 0;
  border: 2px solid var(--bsm-border); border-radius: 12px; overflow: hidden;
}
.bsm-tab-btn {
  padding: 12px 24px; font-size: 13px; font-weight: 700;
  cursor: pointer; border: none; background: #fff;
  color: #999; transition: all .15s; font-family: var(--bsm-font);
}
.bsm-tab-btn:not(:last-child) { border-right: 2px solid var(--bsm-border); }
.bsm-tab-btn.active { background: var(--bsm-o); color: #fff; }

/* ═══════════════════════════════════
   PACKAGE CARDS (Divi blurbs override)
   ═══════════════════════════════════ */
.bsm-packages-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)) !important;
  gap: 9px !important;
  max-width: 940px !important;
  margin: 0 auto 16px !important;
  padding: 0 28px !important;
}
.bsm-pkg-card {
  background: var(--bsm-card) !important;
  border: 2px solid var(--bsm-border) !important;
  border-radius: 13px !important;
  padding: 16px 12px !important;
  text-align: center !important;
  cursor: pointer;
  transition: all .18s;
  position: relative;
  overflow: hidden;
}
.bsm-pkg-card:hover {
  border-color: var(--bsm-ol) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255,131,3,.08);
}
.bsm-pkg-card.selected {
  border-color: var(--bsm-o) !important;
  background: #FFF8F0 !important;
}
.bsm-pkg-card.selected::after {
  content: '✓'; position: absolute; top: 7px; right: 8px;
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--bsm-o); color: #fff; font-size: 10px;
  display: flex; align-items: center; justify-content: center; font-weight: 700;
}
.bsm-pkg-card.popular::before {
  content: '⭐ POPULAR'; position: absolute; top: 0; left: 0; right: 0;
  background: var(--bsm-o); color: #fff; font-size: 9px; font-weight: 700;
  padding: 3px; letter-spacing: .5px; text-align: center;
}
.bsm-pkg-card.popular { padding-top: 28px !important; }
.bsm-pkg-qty { font-family: var(--bsm-font-display); font-weight: 800; font-size: 20px; color: var(--bsm-text); }
.bsm-pkg-label { font-size: 11px; color: #999; font-weight: 600; margin: 2px 0 7px; text-transform: uppercase; letter-spacing: .4px; }
.bsm-pkg-price { font-family: var(--bsm-font-display); font-weight: 800; font-size: 17px; color: var(--bsm-o); }
.bsm-pkg-badge { display: inline-block; background: #ECFDF5; color: #059669; font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 16px; margin-top: 5px; }

/* ═══════════════════════════════════
   STICKY BUY BAR
   ═══════════════════════════════════ */
.bsm-buy-bar {
  position: sticky; bottom: 0; z-index: 99990;
  background: #fff; border-top: 1px solid var(--bsm-border);
  padding: 12px 28px; display: flex; align-items: center;
  justify-content: center; gap: 18px;
  box-shadow: 0 -4px 16px rgba(0,0,0,.05);
}
.bsm-buy-bar .bar-price { font-family: var(--bsm-font-display); font-weight: 800; font-size: 22px; }
.bsm-buy-bar .bar-save { font-size: 12px; color: #059669; font-weight: 600; }
.bsm-buy-btn {
  background: var(--bsm-o) !important; color: #fff !important; border: none !important;
  border-radius: 11px !important; padding: 13px 40px !important;
  font-size: 15px !important; font-weight: 700 !important;
  cursor: pointer; transition: all .2s;
  box-shadow: 0 4px 14px rgba(255,131,3,.25);
  font-family: var(--bsm-font) !important;
}
.bsm-buy-btn:hover { background: var(--bsm-od) !important; transform: translateY(-1px); }

/* ═══════════════════════════════════
   WHY CHOOSE CARDS
   ═══════════════════════════════════ */
.bsm-why-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 14px !important;
}
.bsm-why-card {
  background: var(--bsm-card); border: 1px solid var(--bsm-border);
  border-radius: var(--bsm-radius); padding: 22px; transition: box-shadow .2s;
}
.bsm-why-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.05); }
.bsm-why-card .wc-icon { font-size: 26px; margin-bottom: 8px; }
.bsm-why-card h3 { font-size: 15px !important; font-weight: 700 !important; margin-bottom: 5px !important; font-family: var(--bsm-font) !important; color: var(--bsm-text) !important; }
.bsm-why-card p { font-size: 12.5px !important; color: #777 !important; line-height: 1.5 !important; margin: 0 !important; }

/* ═══════════════════════════════════
   REVIEWS
   ═══════════════════════════════════ */
.bsm-reviews-scroll {
  display: flex; gap: 12px; overflow-x: auto;
  padding: 4px 0 12px; scroll-snap-type: x mandatory;
}
.bsm-review-card {
  min-width: 260px; background: var(--bsm-card);
  border: 1px solid var(--bsm-border); border-radius: var(--bsm-radius);
  padding: 18px; scroll-snap-align: start; flex-shrink: 0;
}
.bsm-review-card .rc-stars { color: var(--bsm-o); font-size: 13px; margin-bottom: 6px; }
.bsm-review-card .rc-text { font-size: 12.5px; color: #555; line-height: 1.5; margin-bottom: 10px; font-style: italic; }
.bsm-review-card .rc-name { font-size: 12px; font-weight: 700; }

/* ═══════════════════════════════════
   FAQ
   ═══════════════════════════════════ */
.bsm-faq-item { border-bottom: 1px solid var(--bsm-border); }
.bsm-faq-q {
  padding: 16px 0; display: flex; justify-content: space-between;
  align-items: center; cursor: pointer; font-weight: 600;
  font-size: 14px; color: #333; transition: color .15s;
}
.bsm-faq-q:hover { color: var(--bsm-o); }
.bsm-faq-a { padding: 0 0 16px; font-size: 13px; color: #777; line-height: 1.6; display: none; }
.bsm-faq-item.open .bsm-faq-a { display: block; }

/* ═══════════════════════════════════
   DIVI MODULES — Buzzoid style override
   ═══════════════════════════════════ */
/* All Divi text modules */
.et_pb_text { font-family: var(--bsm-font) !important; }
.et_pb_text h1, .et_pb_text h2, .et_pb_text h3 {
  font-family: var(--bsm-font-display) !important;
  color: var(--bsm-text) !important;
}
.et_pb_text h2 { font-weight: 800 !important; font-size: 26px !important; text-align: center; margin-bottom: 20px !important; }

/* Divi buttons → orange */
.et_pb_button, .et_pb_more_button,
body .et_pb_button:after, body .et_pb_button:hover:after {
  background: var(--bsm-o) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 11px !important;
  font-family: var(--bsm-font) !important;
  font-weight: 700 !important;
  padding: 13px 32px !important;
  transition: all .2s !important;
}
.et_pb_button:hover { background: var(--bsm-od) !important; transform: translateY(-1px); }

/* Divi blurb modules */
.et_pb_blurb { 
  background: var(--bsm-card) !important; 
  border: 1px solid var(--bsm-border) !important;
  border-radius: var(--bsm-radius) !important; 
  padding: 22px !important;
  transition: box-shadow .2s;
}
.et_pb_blurb:hover { box-shadow: 0 6px 20px rgba(0,0,0,.05); }
.et_pb_blurb .et_pb_module_header { font-family: var(--bsm-font) !important; font-weight: 700 !important; font-size: 15px !important; color: var(--bsm-text) !important; }
.et_pb_blurb .et_pb_blurb_description { font-size: 12.5px !important; color: #777 !important; }

/* Divi toggle (FAQ) */
.et_pb_toggle {
  border: none !important;
  border-bottom: 1px solid var(--bsm-border) !important;
  background: transparent !important;
  padding: 0 !important;
}
.et_pb_toggle .et_pb_toggle_title {
  font-family: var(--bsm-font) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #333 !important;
  padding: 16px 0 !important;
}
.et_pb_toggle .et_pb_toggle_title:hover { color: var(--bsm-o) !important; }
.et_pb_toggle_content {
  font-size: 13px !important;
  color: #777 !important;
  line-height: 1.6 !important;
  padding: 0 0 16px !important;
}
.et_pb_toggle_open .et_pb_toggle_title:before { color: var(--bsm-o) !important; }

/* Divi pricing tables override */
.et_pb_pricing_table {
  background: var(--bsm-card) !important;
  border: 2px solid var(--bsm-border) !important;
  border-radius: 13px !important;
  padding: 16px 12px !important;
  text-align: center;
}
.et_pb_pricing_table:hover { border-color: var(--bsm-ol) !important; }
.et_pb_pricing_heading h2 { font-family: var(--bsm-font-display) !important; font-weight: 800 !important; }
.et_pb_sum { font-family: var(--bsm-font-display) !important; font-weight: 800 !important; color: var(--bsm-o) !important; }
.et_pb_pricing_table_button { background: var(--bsm-o) !important; border-radius: 11px !important; }

/* ═══════════════════════════════════
   FOOTER
   ═══════════════════════════════════ */
.bsm-footer {
  text-align: center; padding: 32px 28px 52px;
  font-size: 12px; color: #bbb; background: var(--bsm-bg);
}
.bsm-footer img { height: 30px; margin-bottom: 8px; opacity: .5; }
.bsm-footer p { margin: 8px 0; font-size: 13px; color: #999; max-width: 500px; margin-left: auto; margin-right: auto; line-height: 1.5; }
.bsm-footer-links { display: flex; gap: 16px; justify-content: center; margin: 12px 0; flex-wrap: wrap; }
.bsm-footer-links a { font-size: 13px; color: #888; text-decoration: none; }
.bsm-footer-links a:hover { color: var(--bsm-o); }

/* ═══════════════════════════════════
   WooCommerce overrides
   ═══════════════════════════════════ */
.woocommerce #place_order {
  background: var(--bsm-o) !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(255,131,3,.25) !important;
}
.woocommerce #place_order:hover { background: var(--bsm-od) !important; }

/* ═══════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════ */
@media (max-width: 980px) {
  .bsm-header .bsm-nav { display: none; }
  .bsm-mega-dropdown { min-width: 92vw; }
  .bsm-packages-grid { grid-template-columns: repeat(2, 1fr) !important; padding: 0 12px !important; }
}
@media (max-width: 480px) {
  .bsm-packages-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .bsm-trust-pills { gap: 6px; }
  .bsm-trust-pill { font-size: 11px; padding: 5px 10px; }
}

/* ═══════════════════════════════════
   SINGLE PRODUCT PAGE REDESIGN
   ═══════════════════════════════════ */

/* Gray background */
body.single-product { background-color: #e8e8e8 !important; }

/* Constrain layout */
body.single-product #page-container,
body.single-product #et-boc,
body.single-product #et-main-area,
body.single-product .elementor {
  max-width: 100vw !important; width: 100% !important;
}

/* Hide GTranslate */
body.single-product .gtranslate_wrapper { display: none !important; }

/* Hide original header */
body.single-product #main-header,
body.single-product #top-header,
body.single-product .et-fixed-header,
body.single-product header#main-header { display: none !important; }

/* Hide reviews section and divider */
body.single-product .elementor-element-12cccbf,
body.single-product .elementor-element-fd7f113 { display: none !important; }

/* Hide footer */
body.single-product #main-footer,
body.single-product #footer-bottom { display: none !important; }

/* Form section container */
body.single-product .elementor-element-f04b720 {
  max-width: 540px !important; margin: 0 auto !important;
  padding: 0 16px !important; background: transparent !important;
}

/* SINGLE WHITE CARD with orange top border */
body.single-product .elementor-element-764403c > .elementor-widget-container {
  background: #fff !important; border-radius: 18px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07) !important;
  padding: 32px 24px 24px !important; border-top: 4px solid #FF8303 !important;
  margin-bottom: 16px !important;
}

/* Remove individual card styles from bsm-w and shortcodes */
body.single-product .bsm-w {
  background: transparent !important; border-radius: 0 !important;
  box-shadow: none !important; padding: 0 !important;
}
body.single-product .elementor-element-f04b720 .elementor-widget-shortcode > .elementor-widget-container {
  background: transparent !important; border-radius: 0 !important;
  box-shadow: none !important; padding: 0 !important;
}

/* Remove inner borders */
body.single-product .bsm-card { border: none !important; box-shadow: none !important; }
body.single-product .bsm-live { border: none !important; }

/* Continue button - ORANGE */
body.single-product button.single_submit_button.loading-popup {
  background: #FF8303 !important; color: #fff !important; border: none !important;
  border-radius: 12px !important; padding: 18px 24px !important;
  font-size: 16px !important; font-weight: 700 !important; width: 100% !important;
  cursor: pointer !important; display: flex !important;
  align-items: center !important; justify-content: center !important;
  gap: 8px !important; transition: background 0.2s !important;
}
body.single-product button.single_submit_button.loading-popup:hover {
  background: #e67500 !important;
}

/* Custom header */
body.single-product .bsm-custom-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px; background: #fff; max-width: 540px; margin: 0 auto 16px;
}
body.single-product .bsm-custom-header .bsm-back-btn {
  background: none; border: none; font-size: 22px; cursor: pointer; padding: 8px;
}
body.single-product .bsm-custom-header img {
  height: 28px; width: auto;
}

/* Progress bar outside card */
body.single-product .bsm-progress {
  background: transparent !important; padding: 12px 0 !important;
  margin-bottom: 8px !important; border: none !important; box-shadow: none !important;
}
body.single-product .bsm-live {
  background: transparent !important; padding: 8px 0 !important;
  margin-bottom: 8px !important;
}

/* IG label and input */
body.single-product .bsm-ig-label {
  display: flex !important; align-items: center !important; gap: 8px !important;
  font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: 1px !important; text-transform: uppercase !important;
  color: #333 !important; margin-bottom: 8px !important;
}
body.single-product .bsm-input-wrapper {
  display: flex !important; align-items: center !important;
  border: 2px solid #FF8303 !important; border-radius: 12px !important;
  padding: 0 12px !important; background: #fff !important;
  margin-bottom: 12px !important;
}
body.single-product .bsm-input-wrapper input {
  border: none !important; outline: none !important; box-shadow: none !important;
  flex: 1 !important; padding: 14px 8px !important; font-size: 14px !important;
  background: transparent !important;
}

/* No password text */
body.single-product .no-password-text {
  text-align: center !important; font-size: 13px !important;
  color: #666 !important; margin-bottom: 16px !important;
}

/* Trust badges */
body.single-product .trust-badges {
  display: flex !important; justify-content: center !important;
  gap: 24px !important; margin: 16px 0 !important;
}
body.single-product .trust-badge-item {
  display: flex !important; align-items: center !important;
  gap: 6px !important; font-size: 12px !important; color: #666 !important;
}

/* Stats section */
body.single-product .bsm-stats-section {
  display: flex !important; justify-content: center !important;
  align-items: center !important; gap: 0 !important;
  margin: 24px 0 !important; padding: 16px !important;
  background: #fff !important; border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05) !important;
}
body.single-product .bsm-stat-item {
  text-align: center !important; flex: 1 !important; padding: 8px !important;
}
body.single-product .bsm-stat-divider {
  width: 1px !important; height: 40px !important;
  background: #e0e0e0 !important;
}

/* Payment badges */
body.single-product .bsm-payment-badges {
  display: flex !important; justify-content: center !important;
  gap: 12px !important; margin: 16px 0 !important;
  flex-wrap: wrap !important;
}
body.single-product .bsm-payment-badge {
  padding: 6px 14px !important; border-radius: 8px !important;
  background: #f5f5f5 !important; font-size: 12px !important;
  font-weight: 600 !important; color: #555 !important;
}

/* Hide breadcrumbs */
body.single-product .woocommerce-breadcrumb { display: none !important; }
