/* ===========================================================
   Bootstrap Extended Spacing Utilities
   Adds sizes 6 (4.5rem) and 7 (6rem)
   Includes all directional and responsive variants
   Up to xxxl (≥1600px)
   No CSS variables, explicit x/y combined selectors
   =========================================================== */

/* ---------- Base Padding ---------- */
.p-6  { padding: 4.5rem !important; }
.p-7  { padding: 6rem !important; }

.pt-6, .py-6 { padding-top: 4.5rem !important; }
.pb-6, .py-6 { padding-bottom: 4.5rem !important; }
.pr-6, .px-6 { padding-right: 4.5rem !important; }
.pl-6, .px-6 { padding-left: 4.5rem !important; }

.pt-7, .py-7 { padding-top: 6rem !important; }
.pb-7, .py-7 { padding-bottom: 6rem !important; }
.pr-7, .px-7 { padding-right: 6rem !important; }
.pl-7, .px-7 { padding-left: 6rem !important; }

/* ---------- Base Margins ---------- */
.m-6  { margin: 4.5rem !important; }
.m-7  { margin: 6rem !important; }

.mt-6, .my-6 { margin-top: 4.5rem !important; }
.mb-6, .my-6 { margin-bottom: 4.5rem !important; }
.mr-6, .mx-6 { margin-right: 4.5rem !important; }
.ml-6, .mx-6 { margin-left: 4.5rem !important; }

.mt-7, .my-7 { margin-top: 6rem !important; }
.mb-7, .my-7 { margin-bottom: 6rem !important; }
.mr-7, .mx-7 { margin-right: 6rem !important; }
.ml-7, .mx-7 { margin-left: 6rem !important; }

/* ---------- Base Negative Margins ---------- */
.m-n6  { margin: -4.5rem !important; }
.m-n7  { margin: -6rem !important; }

.mt-n6, .my-n6 { margin-top: -4.5rem !important; }
.mb-n6, .my-n6 { margin-bottom: -4.5rem !important; }
.mr-n6, .mx-n6 { margin-right: -4.5rem !important; }
.ml-n6, .mx-n6 { margin-left: -4.5rem !important; }

.mt-n7, .my-n7 { margin-top: -6rem !important; }
.mb-n7, .my-n7 { margin-bottom: -6rem !important; }
.mr-n7, .mx-n7 { margin-right: -6rem !important; }
.ml-n7, .mx-n7 { margin-left: -6rem !important; }

/* Responsive Breakpoints */

/* sm ≥576px */
@media (min-width: 576px) {
  .p-sm-6  { padding: 4.5rem !important; }
  .p-sm-7  { padding: 6rem !important; }

  .pt-sm-6, .py-sm-6 { padding-top: 4.5rem !important; }
  .pb-sm-6, .py-sm-6 { padding-bottom: 4.5rem !important; }
  .pr-sm-6, .px-sm-6 { padding-right: 4.5rem !important; }
  .pl-sm-6, .px-sm-6 { padding-left: 4.5rem !important; }

  .pt-sm-7, .py-sm-7 { padding-top: 6rem !important; }
  .pb-sm-7, .py-sm-7 { padding-bottom: 6rem !important; }
  .pr-sm-7, .px-sm-7 { padding-right: 6rem !important; }
  .pl-sm-7, .px-sm-7 { padding-left: 6rem !important; }

  .m-sm-6  { margin: 4.5rem !important; }
  .m-sm-7  { margin: 6rem !important; }

  .mt-sm-6, .my-sm-6 { margin-top: 4.5rem !important; }
  .mb-sm-6, .my-sm-6 { margin-bottom: 4.5rem !important; }
  .mr-sm-6, .mx-sm-6 { margin-right: 4.5rem !important; }
  .ml-sm-6, .mx-sm-6 { margin-left: 4.5rem !important; }

  .mt-sm-7, .my-sm-7 { margin-top: 6rem !important; }
  .mb-sm-7, .my-sm-7 { margin-bottom: 6rem !important; }
  .mr-sm-7, .mx-sm-7 { margin-right: 6rem !important; }
  .ml-sm-7, .mx-sm-7 { margin-left: 6rem !important; }

  .m-sm-n6  { margin: -4.5rem !important; }
  .m-sm-n7  { margin: -6rem !important; }

  .mt-sm-n6, .my-sm-n6 { margin-top: -4.5rem !important; }
  .mb-sm-n6, .my-sm-n6 { margin-bottom: -4.5rem !important; }
  .mr-sm-n6, .mx-sm-n6 { margin-right: -4.5rem !important; }
  .ml-sm-n6, .mx-sm-n6 { margin-left: -4.5rem !important; }

  .mt-sm-n7, .my-sm-n7 { margin-top: -6rem !important; }
  .mb-sm-n7, .my-sm-n7 { margin-bottom: -6rem !important; }
  .mr-sm-n7, .mx-sm-n7 { margin-right: -6rem !important; }
  .ml-sm-n7, .mx-sm-n7 { margin-left: -6rem !important; }
}

/* md ≥768px */
@media (min-width: 768px) {
  .p-md-6  { padding: 4.5rem !important; }
  .p-md-7  { padding: 6rem !important; }

  .pt-md-6, .py-md-6 { padding-top: 4.5rem !important; }
  .pb-md-6, .py-md-6 { padding-bottom: 4.5rem !important; }
  .pr-md-6, .px-md-6 { padding-right: 4.5rem !important; }
  .pl-md-6, .px-md-6 { padding-left: 4.5rem !important; }

  .pt-md-7, .py-md-7 { padding-top: 6rem !important; }
  .pb-md-7, .py-md-7 { padding-bottom: 6rem !important; }
  .pr-md-7, .px-md-7 { padding-right: 6rem !important; }
  .pl-md-7, .px-md-7 { padding-left: 6rem !important; }

  .m-md-6  { margin: 4.5rem !important; }
  .m-md-7  { margin: 6rem !important; }

  .mt-md-6, .my-md-6 { margin-top: 4.5rem !important; }
  .mb-md-6, .my-md-6 { margin-bottom: 4.5rem !important; }
  .mr-md-6, .mx-md-6 { margin-right: 4.5rem !important; }
  .ml-md-6, .mx-md-6 { margin-left: 4.5rem !important; }

  .mt-md-7, .my-md-7 { margin-top: 6rem !important; }
  .mb-md-7, .my-md-7 { margin-bottom: 6rem !important; }
  .mr-md-7, .mx-md-7 { margin-right: 6rem !important; }
  .ml-md-7, .mx-md-7 { margin-left: 6rem !important; }

  .m-md-n6  { margin: -4.5rem !important; }
  .m-md-n7  { margin: -6rem !important; }

  .mt-md-n6, .my-md-n6 { margin-top: -4.5rem !important; }
  .mb-md-n6, .my-md-n6 { margin-bottom: -4.5rem !important; }
  .mr-md-n6, .mx-md-n6 { margin-right: -4.5rem !important; }
  .ml-md-n6, .mx-md-n6 { margin-left: -4.5rem !important; }

  .mt-md-n7, .my-md-n7 { margin-top: -6rem !important; }
  .mb-md-n7, .my-md-n7 { margin-bottom: -6rem !important; }
  .mr-md-n7, .mx-md-n7 { margin-right: -6rem !important; }
  .ml-md-n7, .mx-md-n7 { margin-left: -6rem !important; }
}

/* lg ≥992px */
@media (min-width: 992px) {
  .pt-lg-6, .py-lg-6 { padding-top: 4.5rem !important; }
  .pb-lg-6, .py-lg-6 { padding-bottom: 4.5rem !important; }
  .pt-lg-7, .py-lg-7 { padding-top: 6rem !important; }
  .pb-lg-7, .py-lg-7 { padding-bottom: 6rem !important; }

  .mt-lg-6, .my-lg-6 { margin-top: 4.5rem !important; }
  .mb-lg-6, .my-lg-6 { margin-bottom: 4.5rem !important; }
  .mt-lg-7, .my-lg-7 { margin-top: 6rem !important; }
  .mb-lg-7, .my-lg-7 { margin-bottom: 6rem !important; }
}

/* xl ≥1200px */
@media (min-width: 1200px) {
  .pt-xl-6, .py-xl-6 { padding-top: 4.5rem !important; }
  .pb-xl-6, .py-xl-6 { padding-bottom: 4.5rem !important; }
  .pt-xl-7, .py-xl-7 { padding-top: 6rem !important; }
  .pb-xl-7, .py-xl-7 { padding-bottom: 6rem !important; }

  .mt-xl-6, .my-xl-6 { margin-top: 4.5rem !important; }
  .mb-xl-6, .my-xl-6 { margin-bottom: 4.5rem !important; }
  .mt-xl-7, .my-xl-7 { margin-top: 6rem !important; }
  .mb-xl-7, .my-xl-7 { margin-bottom: 6rem !important; }
}

/* xxl ≥1400px */
@media (min-width: 1400px) {
  .pt-xxl-6, .py-xxl-6 { padding-top: 4.5rem !important; }
  .pb-xxl-6, .py-xxl-6 { padding-bottom: 4.5rem !important; }
  .pt-xxl-7, .py-xxl-7 { padding-top: 6rem !important; }
  .pb-xxl-7, .py-xxl-7 { padding-bottom: 6rem !important; }

  .mt-xxl-6, .my-xxl-6 { margin-top: 4.5rem !important; }
  .mb-xxl-6, .my-xxl-6 { margin-bottom: 4.5rem !important; }
  .mt-xxl-7, .my-xxl-7 { margin-top: 6rem !important; }
  .mb-xxl-7, .my-xxl-7 { margin-bottom: 6rem !important; }
}

/* xxxl ≥1600px */
@media (min-width: 1600px) {
  .pt-xxxl-6, .py-xxxl-6 { padding-top: 4.5rem !important; }
  .pb-xxxl-6, .py-xxxl-6 { padding-bottom: 4.5rem !important; }
  .pt-xxxl-7, .py-xxxl-7 { padding-top: 6rem !important; }
  .pb-xxxl-7, .py-xxxl-7 { padding-bottom: 6rem !important; }

  .mt-xxxl-6, .my-xxxl-6 { margin-top: 4.5rem !important; }
  .mb-xxxl-6, .my-xxxl-6 { margin-bottom: 4.5rem !important; }
  .mt-xxxl-7, .my-xxxl-7 { margin-top: 6rem !important; }
  .mb-xxxl-7, .my-xxxl-7 { margin-bottom: 6rem !important; }
}
/* Border color utilities */
.border-primary { border-color: #2eaee4 !important; }
.border-secondary { border-color: #111d5e !important; }
.border-success { border-color: #98cc6a !important; }
.border-info { border-color: #25c7b7 !important; }
.border-warning { border-color: #ff6600 !important; }
.border-danger { border-color: #cf0000 !important; }
.border-light { border-color: #d1dfe7 !important; }
.border-dark { border-color: #396678 !important; }

/* Per-side border colors */
.border-top-primary { border-top-color: #2eaee4 !important; }
.border-end-primary { border-right-color: #2eaee4 !important; }
.border-bottom-primary { border-bottom-color: #2eaee4 !important; }
.border-start-primary { border-left-color: #2eaee4 !important; }

.border-top-secondary { border-top-color: #111d5e !important; }
.border-end-secondary { border-right-color: #111d5e !important; }
.border-bottom-secondary { border-bottom-color: #111d5e !important; }
.border-start-secondary { border-left-color: #111d5e !important; }

.border-top-success { border-top-color: #98cc6a !important; }
.border-end-success { border-right-color: #98cc6a !important; }
.border-bottom-success { border-bottom-color: #98cc6a !important; }
.border-start-success { border-left-color: #98cc6a !important; }

.border-top-info { border-top-color: #25c7b7 !important; }
.border-end-info { border-right-color: #25c7b7 !important; }
.border-bottom-info { border-bottom-color: #25c7b7 !important; }
.border-start-info { border-left-color: #25c7b7 !important; }

.border-top-warning { border-top-color: #ff6600 !important; }
.border-end-warning { border-right-color: #ff6600 !important; }
.border-bottom-warning { border-bottom-color: #ff6600 !important; }
.border-start-warning { border-left-color: #ff6600 !important; }

.border-top-danger { border-top-color: #cf0000 !important; }
.border-end-danger { border-right-color: #cf0000 !important; }
.border-bottom-danger { border-bottom-color: #cf0000 !important; }
.border-start-danger { border-left-color: #cf0000 !important; }

.border-top-light { border-top-color: #d1dfe7 !important; }
.border-end-light { border-right-color: #d1dfe7 !important; }
.border-bottom-light { border-bottom-color: #d1dfe7 !important; }
.border-start-light { border-left-color: #d1dfe7 !important; }

.border-top-dark { border-top-color: #396678 !important; }
.border-end-dark { border-right-color: #396678 !important; }
.border-bottom-dark { border-bottom-color: #396678 !important; }
.border-start-dark { border-left-color: #396678 !important; }

/* Border widths */
.border-1 { border-width: 1px !important; }
.border-2 { border-width: 2px !important; }
.border-3 { border-width: 4px !important; }
.border-4 { border-width: 8px !important; }
.border-5 { border-width: 16px !important; }

/* Per-side border widths */
.border-top-1 { border-top-width: 1px !important; }
.border-end-1 { border-right-width: 1px !important; }
.border-bottom-1 { border-bottom-width: 1px !important; }
.border-start-1 { border-left-width: 1px !important; }

.border-top-2 { border-top-width: 2px !important; }
.border-end-2 { border-right-width: 2px !important; }
.border-bottom-2 { border-bottom-width: 2px !important; }
.border-start-2 { border-left-width: 2px !important; }

.border-top-3 { border-top-width: 4px !important; }
.border-end-3 { border-right-width: 4px !important; }
.border-bottom-3 { border-bottom-width: 4px !important; }
.border-start-3 { border-left-width: 4px !important; }

.border-top-4 { border-top-width: 8px !important; }
.border-end-4 { border-right-width: 8px !important; }
.border-bottom-4 { border-bottom-width: 8px !important; }
.border-start-4 { border-left-width: 8px !important; }

.border-top-5 { border-top-width: 16px !important; }
.border-end-5 { border-right-width: 16px !important; }
.border-bottom-5 { border-bottom-width: 16px !important; }
.border-start-5 { border-left-width: 16px !important; }

/* Light background variants */
.bg-primary-light { background-color: #b7e4f8 !important; }
.bg-secondary-light { background-color: #7b85b8 !important; }
.bg-success-light { background-color: #d2e8b7 !important; }
.bg-info-light { background-color: #a8ece3 !important; }
.bg-warning-light { background-color: #ffc299 !important; }
.bg-danger-light { background-color: #f19999 !important; }
.bg-light-light { background-color: #eef3f6 !important; }
.bg-dark-light { background-color: #96b4c1 !important; }