/* ===== Basic Global Styles ===== */
html {
  scroll-behavior: smooth;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
}

/* ===== Normalize.css v8.0.0 ===== */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
main { display: block; }
h1 { font-size: 2em; margin: 0.67em 0; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
img { border-style: none; }
button, input, optgroup, select, textarea {
  font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0;
}
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none; padding: 0;
}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; }
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
details { display: block; }
summary { display: list-item; }
template { display: none; }
[hidden] { display: none; }
/* ===== End Normalize.css ===== */

/* ===== Box Sizing & Smoothing ===== */
*, *::before, *::after {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ===== Base Typography ===== */
body {
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 16px;
  color: #232323;
  background: #fff;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 { font-weight: 600; margin: 0 0 0.5em 0; }
p { margin: 0 0 1em 0; }
a { color: inherit; text-decoration: none; transition: color 0.2s; }
a:focus { outline: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
select{  
    background-size: 20px 20px !important;
    background-position: 98% center !important;
    background-repeat: no-repeat !important;
}
/* ===== Container, Row, Column System ===== */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
  position: relative;
}
.container-full { width: 100%; padding-left: 16px;
  padding-right: 16px; margin: 0; }

.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -16px;
  margin-right: -16px;
}
[class^="col-"], [class*=" col-"] {
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}
.col-auto { flex: 0 0 auto; width: auto; }
.col-1 { width: 8.3333%; }
.col-2 { width: 16.6667%; }
.col-3 { width: 25%; }
.col-4 { width: 33.3333%; }
.col-5 { width: 41.6667%; }
.col-6 { width: 50%; }
.col-7 { width: 58.3333%; }
.col-8 { width: 66.6667%; }
.col-9 { width: 75%; }
.col-10 { width: 83.3333%; }
.col-11 { width: 91.6667%; }
.col-12 { width: 100%; }

/* ===== Spacing Utilities ===== */
.pt-0 { padding-top: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }
.pt-1 { padding-top: 8px !important; }
.pb-1 { padding-bottom: 8px !important; }
.pt-2 { padding-top: 16px !important; }
.pb-2 { padding-bottom: 16px !important; }
.pt-3 { padding-top: 32px !important; }
.pb-3 { padding-bottom: 32px !important; }
.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.mt-1 { margin-top: 8px !important; }
.mb-1 { margin-bottom: 8px !important; }
.mt-2 { margin-top: 16px !important; }
.mb-2 { margin-bottom: 16px !important; }
.mt-3 { margin-top: 32px !important; }
.mb-3 { margin-bottom: 32px !important; }
.p-0 { padding: 0 !important; }
.m-0 { margin: 0 !important; }
.pt-50 { padding-top: 50px; }
.pb-50 { padding-bottom: 50px; }
.mt-50 { margin-top: 50px; }
.mb-50 { margin-bottom: 50px; }

/* ===== Flex & Alignment Utilities ===== */
.d-flex { display: flex !important; }
.d-block { display: block !important; }
.flex-wrap { flex-wrap: wrap !important; }
.flex-column { flex-direction: column !important; }
.justify-center { justify-content: center !important; }
.justify-between { justify-content: space-between !important; }
.align-center { align-items: center !important; }
.align-start { align-items: flex-start !important; }
.align-end { align-items: flex-end !important; }
.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }

/* ===== Utility Classes ===== */
.center-block { margin-left: auto; margin-right: auto; display: block; }
.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%); height: 1px; margin: -1px;
  overflow: hidden; padding: 0; position: absolute; width: 1px;
  word-wrap: normal !important;
}
.fill {
  position: absolute; top: 0; left: 0; height: 100%; width: 100%;
  padding: 0; margin: 0;
}
/* Display */
.d-none { display: none !important; }
.d-inline { display: inline !important; }
.d-inline-block { display: inline-block !important; }
.d-inline-flex { display: inline-flex !important; }

/* Flex */
.flex-row { flex-direction: row !important; }
.flex-column { flex-direction: column !important; }
.flex-wrap { flex-wrap: wrap !important; }
.justify-content-start { justify-content: flex-start !important; }
.justify-content-end { justify-content: flex-end !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-around { justify-content: space-around !important; }
.align-items-start { align-items: flex-start !important; }
.align-items-end { align-items: flex-end !important; }
.align-items-center { align-items: center !important; }
.align-items-baseline { align-items: baseline !important; }
.align-items-stretch { align-items: stretch !important; }

/* Text */
.text-left { text-align: left !important; }
.text-center { text-align: center !important; }
.text-right { text-align: right !important; }
.text-uppercase { text-transform: uppercase !important; }
.text-lowercase { text-transform: lowercase !important; }
.text-capitalize { text-transform: capitalize !important; }
.font-weight-bold { font-weight: bold !important; }
.font-weight-normal { font-weight: normal !important; }
.font-italic { font-style: italic !important; }

/* ===== Responsive ===== */
@media (max-width: 992px) {
  .container { max-width: 100%; }
  .row { margin-left: -8px; margin-right: -8px; }
  [class^="col-"], [class*=" col-"] { padding-left: 8px; padding-right: 8px; }
}

/* ===== Button Styles ===== */
.btn {
  display: inline-block;
  padding: 10px 28px;
  font-size: 1rem;
  font-weight: 500;
  border: 1px solid ;
  /* background: #fff;
  color: #232323; */
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.2s;
  text-align: center;
  text-transform: capitalize;
}
/* .btn:hover, .btn:focus {
  background: #232323;
  color: #fff;
  outline: none;
} */

/* ===== Table, Form, Image Resets ===== */
table { border-collapse: collapse; border-spacing: 0; width: 100%; }
img { max-width: 100%; height: auto; display: block; }
input, select, textarea, button { outline: none; }
input, select, textarea { border: 1px solid #ccc; border-radius: 2px; padding: 8px; }
body.swifty-ada-enabled input:focus,
body.swifty-ada-enabled select:focus,
body.swifty-ada-enabled textarea:focus { border-color: #232323; }
body.swifty-ada-disabled button:focus,
body.swifty-ada-disabled .btn:focus,
body.swifty-ada-disabled [type="button"]:focus,
body.swifty-ada-disabled [type="reset"]:focus,
body.swifty-ada-disabled [type="submit"]:focus,
body.swifty-ada-disabled input:focus,
body.swifty-ada-disabled select:focus,
body.swifty-ada-disabled textarea:focus {
  outline: none;
  box-shadow: none;
}

/* ===== Example Custom Utility (extend as needed) ===== */
.hide { display: none !important; }
.show { display: block !important; }
.nowrap { white-space: nowrap !important; }
.overflow-hidden { overflow: hidden !important; }
.w-100 { width: 100% !important; }
.h-100 { height: 100% !important; }
.cursor-pointer { cursor: pointer !important; }


/* ===== Responsive Spacing Utilities ===== */

@media (max-width: 1024px){
  .pt-50 { padding-top: 30px; }
  .pb-50 { padding-bottom: 30px; }
  .mt-50 { margin-top: 30px; }
  .mb-50 { margin-bottom: 30px; }
}

/* Tablet (min-width: 576px) and (max-width: 991px) */
@media (min-width: 576px) and (max-width: 991px) {
  .pt-tab-0 { padding-top: 0 !important; }
  .pb-tab-0 { padding-bottom: 0 !important; }
  .pt-tab-1 { padding-top: 8px !important; }
  .pb-tab-1 { padding-bottom: 8px !important; }
  .pt-tab-2 { padding-top: 16px !important; }
  .pb-tab-2 { padding-bottom: 16px !important; }
  .pt-tab-3 { padding-top: 32px !important; }
  .pb-tab-3 { padding-bottom: 32px !important; }
  .mt-tab-0 { margin-top: 0 !important; }
  .mb-tab-0 { margin-bottom: 0 !important; }
  .mt-tab-1 { margin-top: 8px !important; }
  .mb-tab-1 { margin-bottom: 8px !important; }
  .mt-tab-2 { margin-top: 16px !important; }
  .mb-tab-2 { margin-bottom: 16px !important; }
  .mt-tab-3 { margin-top: 32px !important; }
  .mb-tab-3 { margin-bottom: 32px !important; }
  .pt-50 { padding-top: 20px; }
  .pb-50 { padding-bottom: 20px; }
  .mt-50 { margin-top: 20px; }
  .mb-50 { margin-bottom: 20px; }
}
/* Mobile (max-width: 575px) */
@media (max-width: 575px) {
  .pt-mob-0 { padding-top: 0 !important; }
  .pb-mob-0 { padding-bottom: 0 !important; }
  .pt-mob-1 { padding-top: 8px !important; }
  .pb-mob-1 { padding-bottom: 8px !important; }
  .pt-mob-2 { padding-top: 16px !important; }
  .pb-mob-2 { padding-bottom: 16px !important; }
  .pt-mob-3 { padding-top: 32px !important; }
  .pb-mob-3 { padding-bottom: 32px !important; }
  .mt-mob-0 { margin-top: 0 !important; }
  .mb-mob-0 { margin-bottom: 0 !important; }
  .mt-mob-1 { margin-top: 8px !important; }
  .mb-mob-1 { margin-bottom: 8px !important; }
  .mt-mob-2 { margin-top: 16px !important; }
  .mb-mob-2 { margin-bottom: 16px !important; }
  .mt-mob-3 { margin-top: 32px !important; }
  .mb-mob-3 { margin-bottom: 32px !important; }
  .pt-50 { padding-top: 20px; }
  .pb-50 { padding-bottom: 20px; }
  .mt-50 { margin-top: 20px; }
  .mb-50 { margin-bottom: 20px; }
}
