/* Tailwind CSS Isolation for Bootstrap Compatibility */

/* Reset Tailwind's universal box-sizing that could conflict with Bootstrap */
.cookies-consent *,
.cookies-banner *,
[class*="tw-"] *,
[class*="tailwind-"] * {
  box-sizing: border-box !important;
}

/* Prevent Tailwind's base styles from affecting Bootstrap grid */
.container:not([class*="tw-"]):not([class*="tailwind-"]),
.container-fluid:not([class*="tw-"]):not([class*="tailwind-"]),
.row:not([class*="tw-"]):not([class*="tailwind-"]),
[class*="col-"]:not([class*="tw-"]):not([class*="tailwind-"]) {
  box-sizing: border-box !important;
}

/* Ensure Bootstrap flex behavior is not overridden by Tailwind */
.d-flex:not([class*="tw-"]):not([class*="tailwind-"]) {
  display: flex !important;
}

.d-block:not([class*="tw-"]):not([class*="tailwind-"]) {
  display: block !important;
}

/* Preserve Bootstrap's grid system from Tailwind interference */
.row:not([class*="tw-"]):not([class*="tailwind-"]) {
  display: flex !important;
  flex-wrap: wrap !important;
}

/* Ensure proper column behavior */
[class*="col-"]:not([class*="tw-"]):not([class*="tailwind-"]) {
  position: relative !important;
  width: 100% !important;
  min-height: 1px !important;
  flex-basis: 0 !important;
  flex-grow: 1 !important;
  max-width: 100% !important;
}

/* Reset any transforms that might break layout */
.section:not([class*="tw-"]):not([class*="tailwind-"]),
.container:not([class*="tw-"]):not([class*="tailwind-"]),
.row:not([class*="tw-"]):not([class*="tailwind-"]),
[class*="col-"]:not([class*="tw-"]):not([class*="tailwind-"]) {
  transform: none !important;
}

/* Ensure margins and padding are not overridden */
.container:not([class*="tw-"]):not([class*="tailwind-"]) {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Prevent any z-index conflicts */
.navbar:not([class*="tw-"]):not([class*="tailwind-"]) {
  z-index: 1030 !important;
}

/* Mobile specific fixes */
@media (max-width: 576px) {
  .container:not([class*="tw-"]):not([class*="tailwind-"]) {
    width: 100% !important;
    max-width: none !important;
  }
  
  [class*="col-"]:not([class*="tw-"]):not([class*="tailwind-"]) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* Desktop specific fixes */
@media (min-width: 992px) {
  .col-lg-3:not([class*="tw-"]):not([class*="tailwind-"]) {
    flex: 0 0 25% !important;
    max-width: 25% !important;
  }
  
  .col-lg-4:not([class*="tw-"]):not([class*="tailwind-"]) {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
  }
  
  .col-lg-6:not([class*="tw-"]):not([class*="tailwind-"]) {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
  
  .col-lg-8:not([class*="tw-"]):not([class*="tailwind-"]) {
    flex: 0 0 66.666667% !important;
    max-width: 66.666667% !important;
  }
}

/* Additional safety for card layouts */
.feature-card:not([class*="tw-"]):not([class*="tailwind-"]),
.service-card:not([class*="tw-"]):not([class*="tailwind-"]),
.price-card:not([class*="tw-"]):not([class*="tailwind-"]),
.team-card:not([class*="tw-"]):not([class*="tailwind-"]),
.review-card:not([class*="tw-"]):not([class*="tailwind-"]) {
  position: relative !important;
  width: 100% !important;
  box-sizing: border-box !important;
} 