/* Custom Styles moved from index.html */
/* Preserve Font Awesome and Elementor icon fonts first - high priority */
i.fa, i.fas, .fa.fa, .fas.fa, .fa-solid, span.fa-solid, span.fa, span.fas { font-family: "Font Awesome 5 Free" !important; font-weight: 900 !important; }
i.far, .far.far { font-family: "Font Awesome 5 Free" !important; font-weight: 400 !important; }
i.fab, .fab.fab { font-family: "Font Awesome 5 Brands" !important; }
/* Global font settings - Montserrat */
body, html { font-family: "Montserrat", sans-serif !important; font-weight: 400; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
h1 { font-family: "Montserrat", sans-serif !important; font-weight: 800 !important; letter-spacing: -0.02em; }
h2 { font-family: "Montserrat", sans-serif !important; font-weight: 700 !important; letter-spacing: -0.015em; }
h3, h4, h5, h6 { font-family: "Montserrat", sans-serif !important; font-weight: 700 !important; }
/* Article line height optimization */
.content-section p, .summary-section p { line-height: 1.6 !important; margin-bottom: 15px !important; font-size: 17px !important; }
.content-section h3 { margin-top: 40px !important; margin-bottom: 20px !important; }
/* Important info box line height reset */
.entry-important-information p { line-height: 1.4 !important; margin-bottom: 10px !important; font-size: 16px !important; }
/* Montserrat for all body text */
p, span:not(.fa):not(.fas):not(.far):not(.fab):not([class*="fa-"]):not([class*="eicon"]), div:not([class*="fa-"]):not([class*="eicon"]):not([class*="elementor-icon"]), a:not([class*="fa-"]):not([class*="eicon"]), li, td, th, button, input, textarea, select { font-family: "Montserrat", sans-serif !important; font-weight: 400 !important; }
/* Dynamic date/year fix */
.js-current-year, .js-current-date { font-weight: inherit !important; }
/* Force month/year bold */
body .content-section .entry-important-information .js-current-month-year, .js-current-month-year { font-weight: 800 !important; display: inline-block !important; }
strong, b { font-family: "Montserrat", sans-serif !important; font-weight: 700 !important; }
/* Container */
.container { max-width: 1250px !important; margin: 0 auto; }
.body-container { max-width: 100%; }
/* Listing description reset */
.listing_description { width: 100% !important; display: block !important; }
.listing_description ul { list-style: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; display: block !important; }
.listing_description li { font-size: 16px !important; line-height: 1.5 !important; margin-bottom: 12px !important; padding-left: 28px !important; position: relative !important; display: block !important; color: #333 !important; text-align: left !important; width: 100% !important; }
/* Icon absolute positioning */
.listing_description li span[class*="fa-"] { position: absolute !important; left: 0 !important; top: 2px !important; width: 20px !important; height: 20px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 !important; padding: 0 !important; }
/* Text flow */
.listing_description li strong { display: inline !important; font-weight: 700 !important; margin-right: 2px !important; }
/* FA override for listing description */
.listing_description li span.fa-solid:before, .listing_description li span.fas:before, .listing_description li span.fa:before, .listing_description li span[class*="fa-"]:before { font-family: "Font Awesome 5 Free" !important; font-weight: 900 !important; display: inline-block !important; font-style: normal !important; font-variant: normal !important; text-rendering: auto !important; line-height: 1 !important; -webkit-font-smoothing: antialiased !important; -moz-osx-font-smoothing: grayscale !important; }
.listing_description li span.fa-solid, .listing_description li span.fas, .listing_description li span.fa, .listing_description li span[class*="fa-circle-check"], .listing_description li span[class*="fa-times-circle"], .listing_description li span[class*="fa-"] { font-family: "Font Awesome 5 Free" !important; font-weight: 900 !important; display: inline-block !important; width: auto !important; font-style: normal !important; text-rendering: auto !important; -webkit-font-smoothing: antialiased !important; -moz-osx-font-smoothing: grayscale !important; visibility: visible !important; opacity: 1 !important; line-height: 1 !important; font-size: 18px !important; vertical-align: middle !important; }
/* Specific icons */
.listing_description li span.fa-circle-check:before, .listing_description li span.fa-solid.fa-circle-check:before { content: "\f058" !important; color: #44803F !important; display: inline-block !important; }
.listing_description li span.fa-circle-check, .listing_description li span.fa-solid.fa-circle-check, .listing_description li span.fas.fa-circle-check { color: #44803F !important; margin-right: 0 !important; }
.listing_description li span.fa-times-circle:before, .listing_description li span.fas.fa-times-circle:before { content: "\f057" !important; color: #E1523D !important; display: inline-block !important; }
.listing_description li span.fa-times-circle, .listing_description li span.fas.fa-times-circle { color: #E1523D !important; margin-right: 0 !important; }
/* Ensure FA overrides Montserrat */
span[class*="fa-"]:before, i[class*="fa-"]:before { font-family: "Font Awesome 5 Free" !important; font-weight: 900 !important; }
/* Header Navigation */
.header-wrapper { background: #fff; border-bottom: 1px solid #ccc; padding: 5px 0; }
.header-content { display: flex; justify-content: space-between; align-items: center; padding: 5px 15px; }
.header-logo a { display: flex; align-items: center; text-decoration: none; color: #000; font-family: "Montserrat", sans-serif !important; font-weight: 700; gap: 8px; }
.header-logo .logo-icon-img { width: 24px; height: 24px; display: block; }
.header-logo .logo-separator { color: #44803F; font-size: 20px; font-weight: 300; margin: 0 2px; }
.header-logo .logo-text { font-size: 13px; line-height: 1.2; font-weight: 700; letter-spacing: 0.5px; }
.header-sponsor h2 { font-size: 16px; font-weight: 600; margin: 0; color: #666; font-family: "Montserrat", sans-serif !important; }
.header-nav .nav-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 20px; }
.header-nav .nav-menu li { margin: 0; }
.header-nav .nav-menu a { text-decoration: none; color: #000; font-size: 14px; font-weight: 500; font-family: "Montserrat", sans-serif !important; transition: color 0.3s ease; }
.header-nav .nav-menu a:hover { color: #44803F; text-decoration: underline; }
@media (max-width: 768px) { .header-wrapper { display: none !important; } }

/* Scroll Smoothness */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* Promo Popup Styles */
.promo-popup-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); z-index: 999999; display: none; align-items: center; justify-content: center; padding: 20px; opacity: 0; transition: opacity 0.3s ease-out; }
.promo-popup-overlay.show { display: flex; opacity: 1; }
.promo-popup-container { position: relative; background: #ffffff; border-radius: 16px; max-width: 600px; width: 100%; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); overflow: hidden; transform: translateY(20px); transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); }
.promo-popup-overlay.show .promo-popup-container { transform: translateY(0); }
.promo-popup-close { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border: none; background: rgba(255, 255, 255, 0.95); border-radius: 50%; cursor: pointer; display: flex !important; align-items: center; justify-content: center; color: #333; transition: all 0.3s ease; z-index: 10; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); border: 1px solid rgba(0, 0, 0, 0.1); padding: 0; line-height: 0; }
.promo-popup-close:hover { background: rgba(255, 255, 255, 1); color: #000; transform: rotate(90deg) scale(1.05); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); }
.promo-popup-close svg { width: 28px !important; height: 28px !important; min-width: 28px !important; min-height: 28px !important; max-width: 28px !important; max-height: 28px !important; display: block !important; }
.promo-popup-close:active { transform: rotate(90deg) scale(0.95); }
.promo-popup-header { background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); padding: 16px 24px; text-align: center; }
.promo-popup-badge { display: inline-flex; align-items: center; color: white; font-size: 14px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; }
.promo-popup-body { padding: 32px 32px 32px 24px; display: flex; gap: 24px; align-items: center; overflow: visible; }
.promo-popup-image-wrapper { flex-shrink: 0; width: 200px; height: 200px; margin-left: 0; display: flex; align-items: center; justify-content: center; overflow: visible; }
.promo-popup-product-image { width: 100%; height: 100%; object-fit: contain; object-position: center; filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.15)); }
.promo-popup-content { flex: 1; }
.promo-popup-title { font-size: 36px; font-weight: 800; color: #000; margin: 0 0 12px 0; line-height: 1.2; letter-spacing: -0.02em; }
.promo-popup-subtitle { font-size: 16px; color: #444; margin: 0 0 24px 0; line-height: 1.5; }
.promo-popup-cta { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 16px 28px; background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); color: white; text-decoration: none; font-size: 18px; font-weight: 700; border-radius: 12px; box-shadow: 0 4px 15px rgba(34, 197, 94, 0.4); transition: all 0.3s ease; position: relative; overflow: hidden; }
.promo-popup-cta::before { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); animation: shimmer 3s infinite; }
@keyframes shimmer { 0% { left: -100%; } 50% { left: 100%; } 100% { left: 100%; } }
.promo-popup-cta:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(34, 197, 94, 0.5); }
.promo-popup-cta:hover::before { animation: shimmer-fast 1.5s infinite; }
@keyframes shimmer-fast { 0% { left: -100%; } 50% { left: 100%; } 100% { left: 100%; } }
.cta-arrow { transition: transform 0.3s ease; }
.promo-popup-cta:hover .cta-arrow { transform: translateX(4px); }
@media (max-width: 768px) {
  .promo-popup-container { max-width: 90%; }
  .promo-popup-body { flex-direction: column; gap: 20px; padding: 24px 20px; }
  .promo-popup-image-wrapper { width: 150px; height: 150px; margin-left: 0; margin-top: -10px; overflow: visible; }
  .promo-popup-content { text-align: center; }
  .promo-popup-title { font-size: 28px; }
  .promo-popup-subtitle { font-size: 14px; }
  .promo-popup-cta { padding: 14px 24px; font-size: 16px; }
}
@media (max-width: 480px) {
  .promo-popup-container { max-width: 95%; }
  .promo-popup-header { padding: 12px 16px; }
  .promo-popup-body { padding: 20px 16px; }
  .promo-popup-title { font-size: 24px; }
  .promo-popup-image-wrapper { width: 120px; height: 120px; overflow: visible; }
}
