/* ============================================================================
   DIVI RESET — only what Divi has no setting for.

   Typography, colours, backgrounds and spacing are Divi settings:
     - site-wide defaults in Divi › Theme Customizer (body font Plus Jakarta
       Sans 16px / 1.65, text #A8B3C7, headings Outfit 800 #F1F5F9, links
       #67E8F9);
     - everything else on each section, row and module (Design tab).
   Nothing here may override a Divi setting.
   ============================================================================ */


/* --- 1. Canvas ------------------------------------------------------------
   The page background shows below the last section and behind the header
   while fonts load; Divi's own page container stays transparent. */

html,
body { background-color: var(--ink-900); }

#page-container,
#et-main-area,
#main-content,
#et-boc,
.et-l--body,
.et_builder_inner_content { background: transparent; }

#page-container { padding-top: 0 !important; }

/* Divi's #main-content ships a white 1px sidebar rule and top padding on
   default templates. */
#main-content .container::before { display: none; }
#left-area { padding-bottom: 0; }


/* --- 2. Icon fonts keep their own faces ------------------------------------ */

.material-symbols-outlined { font-family: var(--font-icon) !important; }
.et-pb-icon,
.et_pb_toggle_title::before { font-family: ETmodules !important; }


/* --- 3. Divi motion off ---------------------------------------------------
   Divi's scroll animations left icons and cards half-faded while in view,
   and would double up with the site's reveal. */

.et_animated,
.et-waypoint:not(.et_pb_counters),
.et_pb_animation_top,
.et_pb_animation_bottom,
.et_pb_animation_left,
.et_pb_animation_right,
.et_pb_animation_fade_in {
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}


/* --- 4. Text-module block spacing -------------------------------------------
   Divi gives every paragraph a 1em bottom padding; the first and last block
   of a Text module sit flush so the module's own spacing settings define the
   gap. The #page-container #et-boc prefix matches the weight of the copy of
   Divi's base styles it prints on shop and product pages
   (".et-db #et-boc .et-l …"); none of these properties is a Divi setting. */

#page-container #et-boc .et_pb_text_inner > :first-child { margin-top: 0; }
#page-container #et-boc .et_pb_text_inner > :last-child  { margin-bottom: 0; }
#page-container #et-boc .et_pb_text_inner p:last-of-type { padding-bottom: 0; }

/* A list inside a <nav> is a menu, not body copy: no paragraph gap after it. */
#page-container #et-boc .et_pb_text_inner nav :is(ul, ol) { padding-bottom: 0; }


/* --- 5. WooCommerce light-theme leaks the Woo modules have no setting for -- */

.woocommerce table.shop_table,
.woocommerce table.shop_table td,
.woocommerce table.shop_table th,
.woocommerce-cart .cart-collaterals .cart_totals table,
.woocommerce-cart .cart-collaterals .cart_totals tr td,
.woocommerce-cart .cart-collaterals .cart_totals tr th {
  border-color: var(--line) !important;
  background: transparent;
}

.select2-container--default .select2-selection--single,
.select2-dropdown {
  background: var(--ink-800);
  border-color: var(--line-hi);
  color: var(--text-hi);
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--text-hi); }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--ink-600); color: var(--text-hi); }
.select2-results__option { color: var(--text-mid); }
.select2-search--dropdown .select2-search__field { background: var(--ink-900); border-color: var(--line-hi); color: var(--text-hi); }
