/* Color Variables */
:root {
  /* Official US Flag Colors */
  --usa-red: #B22234;
  --usa-white: #FFFFFF;
  --usa-blue: #3C3B6E;

  /* Accent & Shadow Variants */
  --usa-red-hover: #8C1927;
  --usa-blue-hover: #2B2A50;
  --usa-shadow: rgba(60, 59, 110, 0.2);

  /* Core Aliases */
  --primary-color: var(--usa-red);
  --secondary-color: var(--usa-blue);
  --neutral-white: var(--usa-white);
  --neutral-dark: #1A1A1A;
  --bg-color: #F8F9FA;

  --color-primary: var(--usa-red);
  --color-primary-dark: var(--usa-red-hover);
  --color-secondary: var(--usa-blue);
  --color-secondary-dark: var(--usa-blue-hover);
  --color-accent: #5fb3ff;
  --color-text-dark: var(--neutral-dark);
  --color-text-light: var(--usa-white);
  --color-border: #cccccc;
  --color-placeholder: #a3a3a3;

  /*** theme colors aliases ***/
  --primary-color-dark: var(--usa-red-hover);
  --secondary-color-dark: var(--usa-blue-hover);    
  --default-color: #666666;
  --theme-dark: var(--neutral-dark);
  --theme-lite: #666666;
  --theme-white: var(--usa-white);
  --theme-black: var(--neutral-dark);    
  --bg-lite: var(--bg-color);
  --bg-dark: #18191a;

    /*** font family ***/
    --primary-font-family   :'ZT Nature', sans-serif;
    --secondary-font-family :'ZT Nature', sans-serif;
    --heading-font-family   :'ZT Nature', sans-serif;
    
    /*** font sizing ***/    
    --base-font-size          : 14px;
    --font-size-h1-home       : 45px;
    --font-size-h1-home-vmin  : 8vmin;
    --font-size-h1-inner      : 40px;
    --font-size-h1-inner-vmin : 7.2vmin;

    --font-size-h2 : 35px;
    --font-size-h3 : 28px;
    --font-size-h4 : 26px;
    --font-size-h5 : 24px;
    --font-size-h6 : 22px;
}

/* Global Round Buttons */
.btn,
.green-btn,
button.green-btn,
a.green-btn,
.header-btn a,
.headr-btn-st a,
.footer-tel-btn,
.banner-form button,
.banner-form input[type="submit"],
.ban-form input[type="submit"],
.pop-form .submit-btn,
.tel-btn,
ul.inner-banner-cta.cta-new-btn .tel-btn,
.inner-banner-cta a,
.service__btn,
.btn-1,
.btn-2,
.btn-bnr,
.btnwrp a,
.f-btn,
input.btn,
input.btnwrp,
input.btn-bnr,
button.btn,
a.btn {
    border-radius: 50px !important;
}

.fs-14 { font-size:14px; }
.fs-15 { font-size:15px; }
.fs-16 { font-size:16px; }
.fs-17 { font-size:17px; }
.fs-18 { font-size:18px; }
.fs-19 { font-size:19px; }
.fs-20 { font-size:20px; }
.fs-21 { font-size:21px; }
.fs-22 { font-size:22px; }



/* ==========================================================================
   USA Flag Buttons & Utilities
   ========================================================================== */
.btn-usa-blue,
button.primary {
  background-color: var(--usa-blue);
  color: var(--usa-white) !important;
  border: 2px solid var(--usa-blue);
  padding: 0.6rem 1.25rem;
  border-radius: 50px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 6px var(--usa-shadow);
  transition: all 0.2s ease-in-out;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.btn-usa-blue:hover,
button.primary:hover {
  background-color: var(--usa-blue-hover);
  border-color: var(--usa-blue-hover);
  color: var(--usa-white) !important;
  transform: translateY(-2px);
}

.btn-usa-red,
button.danger,
button.accent {
  background-color: var(--usa-red);
  color: var(--usa-white) !important;
  border: 2px solid var(--usa-red);
  padding: 0.6rem 1.25rem;
  border-radius: 50px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(178, 34, 52, 0.2);
  transition: all 0.2s ease-in-out;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.btn-usa-red:hover,
button.danger:hover,
button.accent:hover {
  background-color: var(--usa-red-hover);
  border-color: var(--usa-red-hover);
  color: var(--usa-white) !important;
  transform: translateY(-2px);
}

.btn-usa-outline {
  background-color: transparent;
  color: var(--usa-blue) !important;
  border: 2px solid var(--usa-blue);
  padding: 0.6rem 1.25rem;
  border-radius: 50px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.btn-usa-outline:hover {
  background-color: var(--usa-blue);
  color: var(--usa-white) !important;
  transform: translateY(-2px);
}
