/*
 Theme Name: Bold Icon Astra Child
 Theme URI: https://boldicon.com
 Author: Bold Icon
 Template: astra
 Version: 1.0.3
 Description: Astra child theme styled to match Bold Icon.
*/

/* =========================
   Brand Tokens
========================= */
:root{
  --bi-bg:#0b1020;           /* midnight blue */
  --bi-fg:#e6e8ef;           /* light text on dark */
  --bi-accent:#c0142a;       /* cherry red */
  --bi-accent-2:#9e1023;
  --bi-muted:#8d93a1;
}

/* =========================
   Global
========================= */
body{
  color:#1a1f2b;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:var(--bi-accent);text-decoration:none;}
a:hover,a:focus{color:var(--bi-accent-2);text-decoration:underline;}
h1,h2,h3,.entry-title,.ast-site-title{letter-spacing:.2px;font-weight:700;}
.entry-content>*:not(:last-child){margin-bottom:1.1rem;}

/* Buttons (Astra + Woo) */
button,.button,.ast-button,.ast-custom-button,
.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce .button.alt{
  background:var(--bi-accent);color:#fff;border:0;border-radius:8px;
  padding:.65rem 1.1rem;line-height:1.1;
  transition:transform .08s ease,opacity .15s ease,background .15s ease;
}
button:hover,.button:hover,.ast-button:hover,.ast-custom-button:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woocommerce .button.alt:hover{
  background:var(--bi-accent-2);color:#fff;transform:translateY(-1px);
}
.woocommerce a.added_to_cart{color:var(--bi-accent);}

/* Forms */
input[type=text],input[type=email],input[type=search],input[type=tel],
input[type=url],input[type=password],textarea,select{
  border-radius:8px;border:1px solid #d8dce6;
  transition:border-color .15s ease,box-shadow .15s ease;
}
input:focus,textarea:focus,select:focus{
  border-color:var(--bi-accent);
  box-shadow:0 0 0 .15rem rgba(192,20,42,.15);
  outline:none;
}

/* =========================
   Header (compact, red)
========================= */
.ast-primary-header-bar{
  background:#c0142a;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:6px 0;                 /* tight header */
  box-shadow:none;
}

/* Logo sizing + baseline alignment */
.site-branding img.custom-logo,
.site-branding .custom-logo-link svg{
  height:18px; width:auto; vertical-align:middle; transform:translateY(-1px);
}
/* Temp color tweak for dark SVGs */
.site-branding img.custom-logo{ filter:brightness(0) invert(.92); }

/* Menu links */
.main-header-menu>.menu-item>a{
  color:#fff;font-weight:600;line-height:1.2;
  padding:10px 14px;             /* controls header height with logo */
}
.main-header-menu>.menu-item>a:hover,
.main-header-menu>.menu-item.current-menu-item>a{color:#ffe5e8;}

/* Header socials */
.ast-header-social-inner a{color:#fff;}
.ast-header-social-inner a:hover{color:#ffe5e8;}

/* Responsive */
@media (max-width:921px){
  .ast-primary-header-bar{padding:6px 0;}
  .main-header-menu>.menu-item>a{padding:9px 12px;}
}
@media (max-width:544px){
  .ast-primary-header-bar{padding:5px 0;}
  .site-branding img.custom-logo,
  .site-branding .custom-logo-link svg{height:16px;}
  .ast-mobile-menu-trigger-minimal .ast-mobile-svg{fill:#fff;}
}

/* =========================
   Footer (custom bar)
========================= */
.bi-footer{
  background:var(--bi-bg);color:var(--bi-fg);
  font-size:13px;line-height:1.35;
  padding:10px 14px;display:flex;flex-wrap:wrap;align-items:center;
  justify-content:center;gap:8px;text-align:center;
  border-top:1px solid rgba(255,255,255,.06);
}
.bi-footer a{color:var(--bi-fg);text-decoration:none;font-weight:600;}
.bi-footer a:hover{color:var(--bi-accent);text-decoration:underline;}
.bi-stamp{width:16px;height:16px;display:inline-block;vertical-align:middle;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));opacity:.95;transform:translateY(-1px);}
.bi-divider{opacity:.45;padding:0 6px;}
.site-footer .ast-footer-overlay{padding-top:0;padding-bottom:0;}
.site-footer .ast-small-footer{padding-top:0;padding-bottom:0;}

/* =========================
   Utilities
========================= */
.hide{display:none!important;}
.powered-by a.bold-icon-link{
  color:var(--bi-accent);text-decoration:none;font-weight:600;
  display:inline-flex;align-items:center;gap:.5rem;transition:color .2s ease;
}
.powered-by a.bold-icon-link:hover{color:var(--bi-accent-2);}
.logo-svg{height:.9em;width:auto;vertical-align:middle;}
/* ===== Ultra-compact Astra header (kill all extra vertical space) ===== */

/* 1) Row + container: remove internal padding/gaps/min-heights */
.ast-primary-header-bar { 
  background:#c0142a;
  padding:4px 0 !important;          /* outer bar padding */
  border-top:0 !important;
}
.ast-primary-header-bar .ast-builder-grid-row,
.ast-primary-header-bar .ast-builder-grid-row-container,
.ast-primary-header-bar .ast-builder-grid-row-container-inner{
  min-height:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  gap:0 !important;
}

/* 2) Elements inside the row: strip margins */
.ast-primary-header-bar .ast-builder-layout-element,
.ast-primary-header-bar .site-branding{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* 3) Logo and menu: they set the final height */
.site-branding img.custom-logo,
.site-branding .custom-logo-link svg{
  height:16px !important;            /* shrink if you want even shorter */
  width:auto;
  vertical-align:middle;
  transform:translateY(-1px);
}
.main-header-menu > .menu-item > a{
  padding-top:8px !important;        /* lower = shorter header */
  padding-bottom:8px !important;
  line-height:1.1 !important;
  color:#fff; font-weight:600;
}
.main-header-menu > .menu-item > a:hover{ color:#ffe5e8; }

/* If any "Above Header" or Transparent Header is on, neutralize */
.ast-above-header-bar{ display:none !important; }
.ast-theme-transparent-header .ast-primary-header-bar{
  background:#c0142a !important;
  padding:4px 0 !important;
  border-top:0 !important;
}
/* === Fix mobile header left-edge crowding (Astra free) === */
@media (max-width: 544px) {
  /* add side padding to the mobile header row (override prior 0 paddings) */
  .ast-header-break-point .site-header .ast-primary-header-bar .ast-container,
  .ast-header-break-point .site-header .ast-primary-header-bar .ast-builder-grid-row,
  .ast-header-break-point .site-header .ast-primary-header-bar .ast-builder-grid-row-container,
  .ast-header-break-point .site-header .ast-primary-header-bar .ast-builder-grid-row-container-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  /* ensure branding block isn't pushed left by margins */
  .ast-header-break-point .site-header .ast-primary-header-bar .site-branding {
    margin-left: 0 !important;
  }

  /* keep hamburger from hugging the right edge */
  .ast-header-break-point .ast-primary-header-bar .ast-mobile-menu-trigger-minimal {
    margin-right: 10px !important;
  }
}
