/* Native React interactions and responsive fallbacks; original visual CSS is
   preserved in /assets. No WordPress/plugin JavaScript is required. */
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; }
* { box-sizing: border-box; }
button, input, textarea, select { font: inherit; }
.avuxi-blog-heading { font-size: 28px; line-height: 1.3; margin: 0 0 24px; }
.widget_search input[type="submit"] { height: 2.8rem; cursor: pointer; }
button, summary, [role="button"] { cursor: pointer; }
:focus-visible { outline: 2px solid #51993c; outline-offset: 4px; }
[hidden] { display: none !important; }
.avuxi-site { min-height: 100vh; }
.avuxi-site .l-canvas { padding-top: 0; }
.avuxi-site .l-main { padding-top: 0 !important; }
.avuxi-header { position: fixed !important; inset: 0 0 auto !important; height: 70px !important; background: #fff !important; color: #666; z-index: 100; box-shadow: 0 1px 0 rgba(0,0,0,.08); }
.avuxi-header-inner { max-width: 1140px; height: 70px; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.avuxi-logo { width: 122px; display: flex; align-items: center; flex-shrink: 0; }
.avuxi-logo img { display: block; width: 122px; height: 52px; object-fit: contain; }
.avuxi-navigation { display: flex; height: 100%; align-items: center; gap: 36px; font-size: 16px; }
.avuxi-navigation > a, .avuxi-dropdown > summary { color: #666; white-space: nowrap; font-weight: 400; text-decoration: none; }
.avuxi-navigation a:hover, .avuxi-dropdown > summary:hover, .avuxi-dropdown[open] > summary { color: #51993c; }
.avuxi-dropdown { position: relative; }
.avuxi-dropdown > summary { list-style: none; padding: 22px 0; }
.avuxi-navigation summary { cursor: pointer; list-style: none; }
.avuxi-navigation summary::-webkit-details-marker { display: none; }
.avuxi-navigation details:not([open]) > :not(summary) { display: none; }
.avuxi-megamenu, .avuxi-company-menu { position: absolute; top: 100%; background: white; box-shadow: 0 6px 22px #0002; padding: 15px; color: #666; }
.avuxi-megamenu { display: grid; grid-template-columns: 1fr 1fr; width: 480px; left: -178px; }
.avuxi-megamenu a, .avuxi-company-menu a { color: #666; }
.avuxi-menu-heading { display: block; font-weight: 700; padding: 10px 20px; font-size: 15px; line-height: 20px; }
.avuxi-menu-group { position: relative; margin: 0; font-size: 13px; line-height: 19px; }
.avuxi-menu-group > summary, .avuxi-menu-group > a { display: flex; align-items: center; gap: 8px; padding: 8px 20px; }
.avuxi-menu-group > summary { padding-right: 10px; }
.avuxi-menu-group > summary:after { content: ''; margin-left: auto; width: 7px; height: 7px; border-right: 2px solid; border-top: 2px solid; transform: rotate(45deg); flex-shrink: 0; }
.avuxi-menu-group > summary:hover, .avuxi-menu-group[open] > summary { color: #51993c; }
.avuxi-menu-group i { color: #99d17b; font-size: 16px; flex-shrink: 0; }
.avuxi-subdropdown[open] { z-index: 2; }
.avuxi-submenu { position: absolute; left: 100%; top: 0; width: 168px; background: #fff; box-shadow: 0 6px 22px #0002; }
.avuxi-menu-sublink { display: block; padding: 8px 20px; font-size: 13px; line-height: 19px; }
.avuxi-company-menu { min-width: 170px; left: -20px; }
.avuxi-company-menu a { display: block; padding: 8px 0; }
.avuxi-menu-toggle { display: none; background: none; border: 0; width: 44px; height: 44px; padding: 10px; }
.avuxi-menu-toggle span { display: block; height: 2px; margin: 5px 0; background: #666; }
.avuxi-skip-link { position: fixed; top: -100px; left: 12px; z-index: 200; padding: 12px 20px; background: white; color: #333; }
.avuxi-skip-link:focus { top: 8px; }
.avuxi-back-to-top { position: fixed; bottom: 20px; right: 20px; display: grid; place-items: center; width: 44px; height: 44px; background: #aaa; color: white; border-radius: 4px; z-index: 5; }
.avuxi-back-to-top:hover { background: #51993c; color: white; }
.avuxi-testimonial-video { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; background: #eee; }
.w-tabs-section > .w-tabs-section-content { display: none; }
.w-tabs-section.active > .w-tabs-section-content { display: block !important; height: auto !important; opacity: 1 !important; }
.w-tabs.layout_hor > .w-tabs-sections > .w-tabs-section > .w-tabs-section-header { display: none; }
.w-tabs.layout_accordion > .w-tabs-sections > .w-tabs-section > .w-tabs-section-header { display: flex; width: 100%; text-align: left; }
.w-tabs-item, .g-filters-item { cursor: pointer; }
[class*="us_animate_"] { opacity: 1 !important; transform: none !important; }
.w-grid-list { opacity: 1 !important; }
.w-grid:not(.type_carousel) .w-grid-list { display: flex; flex-wrap: wrap; height: auto !important; }
.w-grid:not(.type_carousel) .w-grid-item { position: relative !important; top: auto !important; left: auto !important; }
.w-grid.type_carousel .w-grid-list { display: flex !important; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-bottom: 24px; }
.w-grid.type_carousel .w-grid-item { flex: 0 0 25%; scroll-snap-align: start; }
.w-grid.type_carousel .post_title { font-size: 14px; line-height: 1.4; }
.avuxi-carousel-controls { display: flex; justify-content: center; gap: 8px; margin-top: 12px; }
.avuxi-carousel-controls button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: #ccc; }
.avuxi-carousel-controls button[aria-pressed="true"] { background: #99d17b; }
.avuxi-slide-list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; width: 100%; min-height: 280px; }
.avuxi-slide-list > .ult-item-wrap { flex: 0 0 100%; min-width: 0; display: flex; flex-direction: column; justify-content: center; scroll-snap-align: start; padding: 0 15px; }
.w-grid .w-grid-item img { opacity: 1; }
.l-section-video video { width: 100%; height: 100%; object-fit: cover; }
.l-section-video { pointer-events: none; }
.avuxi-contact-form { max-width: 800px; margin: 0 auto; text-align: left; }
.avuxi-contact-form > label { display: block; font-weight: 700; margin: 24px 0 8px; }
.avuxi-contact-form > input, .avuxi-contact-form textarea { width: 100%; border: 1px solid #ddd; padding: 10px 12px; background: #fafafa; border-radius: 3px; }
.avuxi-contact-form input[type="checkbox"] { width: 16px; height: 16px; accent-color: #54b835; flex-shrink: 0; margin: 0; }
.avuxi-contact-form fieldset { padding: 0; border: 0; margin-top: 24px; }
.avuxi-contact-form legend { font-weight: 700; margin-bottom: 12px; }
.avuxi-contact-subjects { display: grid; gap: 8px; }
.avuxi-contact-subjects label { display: flex; gap: 10px; align-items: center; }
.avuxi-contact-form button { margin-top: 24px; }
.avuxi-form-notice { padding: 12px 16px; border-left: 3px solid #99d17b; background: #f6faf3; font-size: 14px; }
.avuxi-form-status { margin-top: 16px; }
.avuxi-contact-form .avuxi-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.avuxi-calculator { max-width: 1100px; margin: 40px auto; text-align: left; }
.avuxi-calculator h1 { text-align: center; }
.avuxi-calculator-inputs { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin: 40px 0; }
.avuxi-calculator-inputs input { width: 100%; padding: 12px; border: 1px solid #ddd; margin-top: 8px; }
.avuxi-table-wrap { overflow-x: auto; }
.avuxi-calculator table { width: 100%; border-collapse: collapse; }
.avuxi-calculator th, .avuxi-calculator td { padding: 16px; text-align: left; border-bottom: 1px solid #eee; }
.avuxi-calculator thead { background: #f4f8f0; }
.avuxi-calculator caption { text-align: left; font-size: 22px; margin-bottom: 16px; }
.avuxi-calculator-result { font-size: 22px; padding: 24px; background: #f4f8f0; margin-top: 24px; }
.avuxi-analytics-chart { display: block; width: 100%; height: auto; }
.avuxi-lightbox { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; border: 0; background: #000d; z-index: 1000; display: grid; place-items: center; padding: 60px 24px; }
.avuxi-lightbox::backdrop { background: #0008; }
.avuxi-lightbox img { max-width: 95vw; max-height: 85vh; object-fit: contain; }
.avuxi-lightbox button { position: absolute; right: 24px; top: 16px; color: white; background: transparent; border: 0; font-size: 40px; }
iframe { max-width: 100%; }
pre { max-width: 100%; overflow-x: auto; }
@media (max-width: 1220px) {
  .avuxi-header-inner { margin: 0 40px; }
  .avuxi-navigation { gap: 25px; }
}
@media (max-width: 1000px) {
  .avuxi-header-inner { margin: 0 24px; }
  .avuxi-menu-toggle { display: block; }
  .avuxi-navigation { display: none; position: absolute; top: 70px; left: 0; right: 0; height: auto; max-height: calc(100dvh - 70px); overflow-y: auto; background: white; border-top: 1px solid #eee; padding: 16px 24px 24px; box-shadow: 0 8px 12px #0001; }
  .avuxi-navigation.is-open { display: block; }
  .avuxi-navigation > a { display: block; padding: 12px 0; }
  .avuxi-dropdown > summary { padding: 12px 0; }
  .avuxi-dropdown > summary:after { content: '+'; float: right; }
  .avuxi-dropdown[open] > summary:after { content: '−'; }
  .avuxi-megamenu, .avuxi-company-menu { position: static; box-shadow: none; border: 0; padding: 12px 16px; width: auto; max-height: none; }
  .avuxi-megamenu { gap: 24px; }
  .avuxi-submenu { position: static; width: auto; box-shadow: none; padding-left: 16px; }
  .avuxi-menu-group > summary:after { content: '+'; width: auto; height: auto; border: 0; transform: none; }
  .avuxi-menu-group[open] > summary:after { content: '−'; }
  .w-grid.type_carousel .w-grid-item { flex-basis: 50%; }
}
@media (max-width: 600px) {
  .avuxi-megamenu { grid-template-columns: 1fr; }
  .ult-spacer { height: var(--mobile-spacer, 20px) !important; }
  .w-grid.type_carousel .w-grid-item { flex-basis: 100%; }
  .avuxi-calculator-inputs { grid-template-columns: 1fr; }
  .w-tabs-list-h { overflow-x: auto; }
  .w-tabs-list .w-tabs-item { padding: 12px 8px; font-size: 12px; }
  .w-tabs-list .material-icons { font-size: 16px; }
  .avuxi-contact-form { padding: 0 4px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
