/* Non-homepage header styles */
.section,
.container,
.hero {
  margin-top: 30px !important;
  /* Restore spacing below top graphic */
  padding-top: 20px !important; }

/* Banner styles */
section.page-title.bg-cover {
  position: relative !important;
  background-size: cover !important;
  background-position: center !important;
  height: 650px !important;
  display: flex !important;
  align-items: center !important;
  color: white !important; }

/* Banner text overlay (for custom partial) */
section.page-title.bg-cover .banner-content {
  position: relative !important;
  color: white !important;
  background: rgba(0, 0, 0, 0.6) !important;
  padding: 20px !important;
  border-radius: 5px !important;
  max-width: 90% !important;
  z-index: 10 !important; }

section.page-title.bg-cover .banner-content h1 {
  font-size: 3rem !important;
  color: white !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  overflow-wrap: break-word !important; }

section.page-title.bg-cover .banner-content h1.text-capitalize.mb-4 {
  font-size: 3rem !important;
  color: white !important; }

section.page-title.bg-cover .banner-content p {
  font-size: 1.2rem !important;
  color: white !important;
  margin: 10px 0 0 !important; }

/* Fallback for Enov partial (page-title.html) */
section.page-title.bg-cover .container .text-center h1.text-capitalize.mb-4.text-lg {
  font-size: 3rem !important;
  color: white !important; }

/* Spacing below banner */
.section,
.container,
.content,
.main-content,
.section-content {
  margin-top: 5px !important; }

/* Pricing section margins */
.pricing-section {
  margin: 40px !important;
  /* Desktop margin */ }

/* Ensure content fits viewport */
@media (max-width: 768px) {
  /* Top banner image */
  section.page-title.bg-cover,
  .page-title img {
    height: 400px !important;
    max-height: 400px !important;
    width: 100 !important;
    max-width: 100vw !important;
    object-fit: cover !important;
    display: flex !important;
    align-items: center !important;
    background-size: cover !important;
    background-position: center !important; }
  section.page-title.bg-cover .banner-content {
    max-width: 85 !important;
    padding: 15px !important; }
  section.page-title.bg-cover .banner-content h1 {
    color: white !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word !important;
    font-size: 1.3rem !important; }
  section.page-title.bg-cover .banner-content h1.text-capitalize.mb-4 {
    color: white !important;
    font-size: 1.3rem !important; }
  section.page-title.bg-cover .banner-content p {
    color: white !important;
    margin: 5px 0 0 !important;
    font-size: 0.9rem !important; }
  section.page-title.bg-cover .container .text-center h1.text-capitalize.mb-4.text-lg {
    color: white !important;
    font-size: 2rem !important; }
  /* Spacing below banner */
  .section,
  .container {
    margin-top: 10px !important;
    /* More space below banner */
    padding-top: 10px !important;
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important; }
  .pricing-section {
    margin: 2px !important;
    /* Mobile margin */ } }
