/* Bridge styles so legacy Bootstrap pages sit cleanly under the new theme chrome */
.site-header + main,
#main {
  min-height: 40vh;
}

/* Soften Bootstrap containers under theme tokens when both are loaded */
#main .container.py-5,
#main .container.p-5 {
  max-width: var(--container-max, 1180px);
}

/* Theme-styled page shell for secondary public pages */
.theme-page {
  padding: 2.5rem 0 4rem;
  background: var(--c-bg, #f6f8fb);
}
.theme-page__hero {
  background: var(--c-brand-deep, #061527);
  color: #fff;
  padding: 3rem 0 2.5rem;
  margin-bottom: -1.5rem;
}
.theme-page__hero h1 {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  font-weight: 700;
  text-align: center;
}
.theme-page__card {
  background: #fff;
  border-radius: var(--radius-lg, 16px);
  box-shadow: var(--shadow-md, 0 8px 30px rgba(6, 21, 39, 0.08));
  padding: 1.75rem;
  margin-top: 2rem;
}

/* Language switch uses anchors (Laravel routes) */
.lang-switch__btn {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/* Prevent Bootstrap .card from flattening theme product/offer cards */
.product-card.card,
.benefit-card.card,
.step-card.card,
.quote-card,
.track-card.card,
.partner-card {
  background-clip: padding-box;
}

/* Livewire validation inside quote card */
.quote-form .input.is-invalid,
.quote-form .select.is-invalid {
  border-color: var(--c-danger, #d64545);
}
.quote-form .text-danger {
  color: var(--c-danger, #d64545);
  font-size: 0.85rem;
  margin-top: 0.25rem;
}

/* Offer / funnel pages: keep readable under dual CSS */
.offer-stepper {
  margin-top: 1rem;
}

/* Hide old float WhatsApp if any leftover markup */
#float-whatsapp { display: none !important; }

/* Ensure theme buttons aren't overridden badly by Bootstrap .btn */
.site-header .btn,
.site-footer .btn,
.mobile-cta .btn,
.quote-card .btn,
.track-card .btn,
.pay-docs .btn {
  text-decoration: none;
}
