/* Responsive corrections; original theme rules load before this file. */
:root { --cf-sticky-height: 84px; }
img { max-width: 100%; }
.cf-copy, .cf-hero-left, .cf-hero-right, .cf-split-col { min-width: 0; }
.cf-copy a, .cf-copy li, .cf-copy code, .cf-copy h2, .cf-copy h3, .cf-copy h4 { overflow-wrap: anywhere; }
.cf-finder-field select { box-sizing: border-box; min-height: 44px; }
.cf-table-wrap { max-width: 100%; overscroll-behavior-x: contain; }
.cf-gallery .bx-wrapper { position: relative; }
.cf-gallery .bx-prev, .cf-gallery .bx-next { z-index: 100; }
.cf-table-wrap:focus-visible, a:focus-visible, [role="button"]:focus-visible, select:focus-visible { outline: 2px solid #3498d9; outline-offset: 3px; }
.cf-section, [id]:is(h2,h3) { scroll-margin-top: 110px; }
nav ul, .footer-nav { flex-wrap: wrap; }
.footer-links a { display: inline-block; padding: 8px 0; }
.cf-mobile-sticky-bar { padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); z-index: 10010; }
.cf-mobile-sticky-bar a { min-height: 44px; box-sizing: border-box; line-height: 1.4; }
.cf-consent-visible .cf-mobile-sticky-bar { visibility: hidden; pointer-events: none; }
.cc-window { z-index: 10020; }
.cc-revoke { z-index: 10021; }
.cc-window .cc-btn { min-height: 44px; box-sizing: border-box; display: flex; justify-content: center; align-items: center; }
.cc-window .cc-link { opacity: 1; }
@media (max-width: 959px) {
  body.cf-homepage > header.clearfix { min-height: 60px; line-height: 1.4; }
  body.cf-homepage > header.clearfix .container { padding: 12px 68px 12px 18px; min-height: 60px; }
  body.cf-homepage > header.clearfix #logo { width: auto; margin: 0; }
  body.cf-homepage #mobile-nav { display: block; position: fixed; top: 0; right: 0; left: auto; width: 60px; background: transparent; z-index: 10011; }
  #mobile-nav .container { width: 60px; margin: 0; padding: 0; }
  #mobile-nav .navigationButton { box-sizing: border-box; width: 60px; height: 60px; margin: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; }
  #mobile-nav .navigationButton img { margin: 0; filter: brightness(0); }
  #mobile-nav .navigationContent { display: none; position: fixed; top: 60px; right: 0; left: 0; box-sizing: border-box; width: 100%; margin: 0; padding: 0 18px; background: #8B4513; max-height: calc(100dvh - 60px - var(--cf-sticky-height)); overflow-y: auto; }
  #mobile-nav .navigationContent a { padding: 12px 8px; min-height: 44px; box-sizing: border-box; }
  #mobile-nav .navigationContent a:hover { color: #fff; background: rgba(255,255,255,.12); }
}
@media (max-width: 767px) {
  .cf-homepage .container { box-sizing: border-box; width: 100%; }
  .cf-hero { padding: 30px 0 32px; }
  .cf-homepage .cf-hero.cf-hero { padding: 28px 16px 32px !important; }
  .cf-hero-left h1 { font-size: clamp(1.75rem, 7.5vw, 2.1rem) !important; }
  .cf-meta-bar { font-size: .8rem; line-height: 1.5; margin-bottom: 12px; }
  .cf-hero-intro { font-size: 1rem; line-height: 1.65; margin-bottom: 16px; }
  .cf-hero-badges { gap: 7px; margin-bottom: 18px; }
  .cf-badge { padding: 5px 10px; font-size: .78rem; line-height: 1.45; max-width: 100%; box-sizing: border-box; }
  .cf-hero-cta-group { gap: 10px; margin-bottom: 14px; }
  .cf-btn-primary, .cf-btn-secondary, .cf-pricing-cta { box-sizing: border-box; max-width: 100%; white-space: normal; }
  .cf-btn-primary, .cf-btn-secondary { min-height: 44px; }
  .cf-section { padding: 36px 0; }
  .cf-copy h2, .cf-hero h1 { overflow-wrap: anywhere; }
  .cf-finder-card { padding: 16px; }
  .cf-finder-grid { gap: 12px; }
  .cf-finder-field { min-width: 0; flex-basis: 100%; }
  .cf-split-col { flex-basis: 100%; min-width: 0; }
  .cf-finder-field select { font-size: 16px; }
  .header-inner { gap: 6px; }
  .header-inner nav { max-width: 100%; }
  .header-inner nav ul { gap: 4px 14px; }
  .header-inner nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .cf-homepage .cf-gallery .screenshot { box-sizing: border-box; width: 100%; margin: 0 0 18px; padding: 0 16px; }
  .cf-homepage .cf-gallery .screenshot img { width: auto; max-height: 450px; }
  .cf-homepage .cf-gallery .bx-prev, .cf-homepage .cf-gallery .bx-next { display: block !important; width: 44px; height: 44px; background-size: contain; }
  .cf-homepage footer .footer-action { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
  .cf-homepage footer .footer-action li { margin: 0; }
  .cf-homepage footer .button.small { box-sizing: border-box; min-height: 44px; display: inline-flex; align-items: center; }
  body.cf-homepage:has(.cf-mobile-sticky-bar) { padding-bottom: var(--cf-sticky-height); }
  .cf-mobile-sticky-bar { padding-left: max(12px, env(safe-area-inset-left, 0px)); padding-right: max(12px, env(safe-area-inset-right, 0px)); }
  .cf-mobile-sticky-bar a { font-size: .93rem; padding: 10px; }
  .cc-window.cc-window { bottom: 0; left: 0; right: 0; top: auto; width: 100%; max-width: none; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); font-size: 13px; line-height: 1.45; max-height: 55dvh; overflow-y: auto; border-radius: 0; }
  .cc-window .cc-message { margin: 0 0 10px; }
  .cc-window .cc-compliance { flex: none; width: 100%; }
  .cc-window .cc-btn { flex: 1; width: 100%; }
  .cc-revoke { bottom: var(--cf-sticky-height); }
}
@media (max-width: 360px) {
  .cf-homepage .cf-copy { padding-left: 12px; padding-right: 12px; }
  .cf-badge { font-size: .75rem; }
  .cf-notice-box, .cf-warning-box, .cf-success-box, .cf-diagnostic, .cf-summary-box { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .cf-btn-primary, .cf-btn-secondary, .cf-pricing-cta { transition: none; }
}
