/*
 * WASO Credit Rating Theme V76
 * Enterprise responsive hardening layer.
 * This file intentionally contains CSS-only overrides so existing content,
 * URLs, PHP logic, plugins, shortcodes, TablePress tables, sliders, menus,
 * forms, and admin data remain untouched.
 */

/* Foundation: prevent accidental overflow without changing the visual identity. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow-x: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

body {
  min-width: 320px;
}

img,
picture,
svg,
video,
canvas,
iframe,
embed,
object {
  max-width: 100%;
}

img,
picture,
svg,
video,
canvas {
  height: auto;
}

iframe,
embed,
object {
  display: block;
}

.wp-block-image img,
.entry-content img,
.page-view img,
.post-content img,
.body-card img,
.service-content img,
.single-content img {
  height: auto;
}

.wrap,
.rating-lists-hub-wrap,
.rating-reports-card-wrap,
.rating-reports-tablepress-wrap,
.magazine-wrap,
.about-wrap,
.career-wrap,
.contact-wrap,
.publication-wrap,
.research-wrap {
  width: min(1180px, calc(100% - clamp(24px, 5vw, 80px))) !important;
  max-width: 1180px;
  margin-inline: auto;
}

.site-main,
main,
section,
.page-view,
.entry-content,
.post-content {
  min-width: 0;
}

/* Accessible focus and touch targets. */
a,
button,
input,
select,
textarea,
[role="button"] {
  -webkit-tap-highlight-color: rgba(11, 122, 59, .16);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(11, 122, 59, .42);
  outline-offset: 3px;
}

button,
.btn,
.menu-link,
.mobile-nav-group a,
.rating-report-category-card,
.rating-report-card,
.rating-lists-feature-card {
  touch-action: manipulation;
}

input,
select,
textarea,
button {
  max-width: 100%;
  font: inherit;
}

/* Embedded content: TablePress, iframes, PDFs, maps and video embeds. */
.wp-block-embed__wrapper,
.video-embed,
.map-embed,
.responsive-embed {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.wp-block-embed__wrapper iframe,
.video-embed iframe,
.map-embed iframe,
.responsive-embed iframe {
  width: 100%;
}

.table-card,
.wp-block-table,
.tablepress-scroll-wrapper,
.rating-table-shell,
.rating-symbol-table-wrap,
.symbol-table-wrap,
.rating-reports-tablepress-area,
.rating-update-embed-area,
.dataTables_wrapper {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.rating-reports-tablepress-area table,
.rating-reports-tablepress-area .tablepress,
.rating-update-embed-area table,
.rating-update-embed-area .tablepress,
.wp-block-table table,
.table-card table,
.page-view table {
  width: 100%;
  border-collapse: collapse;
}

.rating-reports-tablepress-area .dataTables_length,
.rating-reports-tablepress-area .dataTables_filter,
.rating-update-embed-area .dataTables_length,
.rating-update-embed-area .dataTables_filter,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
  margin-bottom: 12px;
}

.rating-reports-tablepress-area .dataTables_filter input,
.rating-update-embed-area .dataTables_filter input,
.dataTables_wrapper .dataTables_filter input {
  max-width: 100%;
}

.pdf-preview,
.pdf-frame,
.methodology-pdf-frame,
.rating-file-preview iframe,
.page-pdf-frame,
iframe[src*=".pdf"],
iframe[src*="google.com/maps"],
iframe[src*="youtube.com"],
iframe[src*="youtu.be"],
iframe[src*="vimeo.com"] {
  width: 100% !important;
  border: 0;
}

/* Header and navigation: keep all menus reachable across tablet widths. */
.site-header.moody-green-style {
  width: 100%;
}

.site-header.moody-green-style .header-top-inner,
.site-header.moody-green-style .header-bottom-inner,
.site-header.moody-green-style .main-menu,
.site-header.moody-green-style .header-brand-group,
.site-header.moody-green-style .nav-actions {
  min-width: 0;
}

.site-header.moody-green-style .top-search-text,
.site-header.moody-green-style .brand-text,
.site-header.moody-green-style .menu-link {
  min-width: 0;
}

@media (min-width: 981px) and (max-width: 1365px) {
  .site-header.moody-green-style .header-top-inner {
    grid-template-columns: auto minmax(340px, 1fr) auto !important;
    gap: clamp(10px, 1.6vw, 18px) !important;
  }

  .site-header.moody-green-style .main-menu {
    gap: clamp(10px, 1.35vw, 20px) !important;
  }

  .site-header.moody-green-style .menu-link {
    font-size: clamp(13px, 1.05vw, 15px) !important;
    padding-inline: 0 !important;
    white-space: nowrap;
  }

  .site-header.moody-green-style .top-search-pill {
    min-width: 0 !important;
  }

  .site-header.moody-green-style .mega {
    max-width: calc(100vw - 40px) !important;
  }
}

@media (min-width: 981px) and (max-width: 1120px) {
  .site-header.moody-green-style .header-bottom-bar {
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
  }

  .site-header.moody-green-style .header-bottom-inner {
    min-width: max-content;
  }
}

@media (min-width: 981px) {
  .site-header.moody-green-style .mega.services-mega {
    width: min(980px, calc(100vw - 44px)) !important;
  }
}

/* Grids: responsive columns without changing card design. */
.service-directory,
.product-grid,
.director-grid,
.people-grid-team-v21,
.people-grid-compact,
.rating-report-category-grid,
.rating-report-search-grid,
.rating-lists-feature-grid,
.magazine-article-grid,
.magazine-category-grid,
.magazine-enhancement-grid,
.magazine-archive-grid,
.career-job-grid,
.benefit-grid,
.approach-steps,
.footer-contact-only-grid,
.footer-contact-cards,
.insights-archive-grid {
  min-width: 0;
}

/* Small laptop and large tablet. */
@media (max-width: 1199px) {
  .wrap,
  .rating-lists-hub-wrap,
  .rating-reports-card-wrap,
  .rating-reports-tablepress-wrap,
  .magazine-wrap,
  .about-wrap,
  .career-wrap,
  .contact-wrap,
  .publication-wrap,
  .research-wrap {
    width: min(1000px, calc(100% - 36px)) !important;
  }

  section {
    padding-block: clamp(54px, 6vw, 78px);
  }

  .hero-grid,
  .insight-grid,
  .approach-shell,
  .content-grid,
  .service-hero-inner,
  .magazine-layout,
  .career-single-layout,
  .contact-public-grid,
  .about-hero-grid,
  .about-profile-shell,
  .who-focus-grid {
    grid-template-columns: 1fr !important;
  }

  .approach-head,
  .side-card,
  .magazine-sidebar {
    position: static !important;
  }

  .service-directory,
  .product-grid,
  .director-grid,
  .people-grid-team-v21,
  .people-grid-compact,
  .rating-report-category-grid,
  .rating-report-search-grid,
  .magazine-article-grid,
  .magazine-category-grid,
  .magazine-archive-grid,
  .career-job-grid,
  .footer-contact-only-grid,
  .insights-archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rating-report-card-filter,
  .rating-report-category-filter,
  .rating-reports-detail-area .rating-report-card-filter,
  .magazine-search-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Tablet and below. */
@media (max-width: 980px) {
  body {
    scroll-padding-top: 108px !important;
  }

  .site-header.moody-green-style .header-top-inner {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .site-header.moody-green-style .top-search-pill {
    grid-column: 1 / -1;
    order: 3;
    width: 100% !important;
    max-width: none !important;
  }

  .site-header.moody-green-style .header-bottom-bar,
  .site-header.moody-green-style .main-menu {
    display: none !important;
  }

  .site-header.moody-green-style .mobile-burger,
  .site-header.moody-green-style .menu-toggle {
    display: grid !important;
  }

  .mega,
  .site-header.moody-green-style .mega {
    display: none !important;
  }

  .page-hero,
  .rating-reports-card-page,
  .rating-reports-tablepress-page,
  .rating-lists-hub-page {
    padding-block: clamp(36px, 6vw, 58px) !important;
  }

  h1,
  .page-hero h1,
  .hero-copy h1,
  .about-hero-copy h1 {
    font-size: clamp(38px, 7vw, 54px) !important;
    line-height: 1.04 !important;
  }

  h2,
  .section-title h2,
  .rating-reports-card-header h2,
  .rating-lists-hub-header h2,
  .about-section-heading h2 {
    font-size: clamp(30px, 5vw, 42px) !important;
    line-height: 1.08 !important;
  }

  .section-title,
  .rating-reports-card-header,
  .rating-lists-hub-header,
  .product-head {
    align-items: flex-start !important;
  }

  .hero-premium-slider.hero-slider {
    height: clamp(330px, 54vw, 430px) !important;
    min-height: 330px !important;
  }

  .hero-premium-actions.hero-slider-inline-actions {
    max-width: calc(100% - 28px);
  }

  .mobile-drawer {
    width: min(420px, 92vw) !important;
    max-width: 92vw;
  }

  .rating-news-track,
  .news-track,
  .product-track,
  .product-slider {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }

  .rating-news-card,
  .news-card,
  .product-card {
    scroll-snap-align: start;
  }
}

/* Large mobile and small tablet. */
@media (max-width: 767px) {
  .wrap,
  .rating-lists-hub-wrap,
  .rating-reports-card-wrap,
  .rating-reports-tablepress-wrap,
  .magazine-wrap,
  .about-wrap,
  .career-wrap,
  .contact-wrap,
  .publication-wrap,
  .research-wrap {
    width: calc(100% - 24px) !important;
  }

  section {
    padding-block: 48px;
  }

  .site-header.moody-green-style .header-top-bar {
    padding-block: 7px !important;
  }

  .site-header.moody-green-style .header-top-inner {
    gap: 10px !important;
  }

  .site-header.moody-green-style .header-brand-group {
    gap: 8px !important;
  }

  .site-header.moody-green-style .brand-logo {
    width: 56px !important;
    height: 40px !important;
  }

  .site-header.moody-green-style .brand-title {
    font-size: clamp(18px, 5.5vw, 21px) !important;
  }

  .site-header.moody-green-style .brand-sub {
    font-size: 7.5px !important;
    max-width: 180px;
  }

  .site-header.moody-green-style .header-burger {
    width: 40px !important;
    height: 40px !important;
  }

  .site-header.moody-green-style .top-contact-pill {
    min-height: 40px !important;
    padding-inline: 14px !important;
  }

  .site-header.moody-green-style .top-search-pill {
    min-height: 42px !important;
    padding-inline: 14px !important;
  }

  .site-header.moody-green-style .top-search-text {
    font-size: 13px !important;
  }

  .hero-premium-slider.hero-slider {
    height: clamp(275px, 68vw, 350px) !important;
    min-height: 275px !important;
  }

  .hero-premium-controls.hero-slider-controls {
    right: 10px !important;
    bottom: 56px !important;
    transform: scale(.82) !important;
    transform-origin: right bottom;
  }

  .hero-premium-actions.hero-slider-inline-actions {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    max-width: none !important;
    flex-wrap: wrap;
    gap: 8px !important;
  }

  .hero-premium-actions .btn,
  .hero-slider-cta-strip .btn,
  .btn {
    min-height: 42px;
  }

  .service-directory,
  .product-grid,
  .director-grid,
  .people-grid-team-v21,
  .people-grid-compact,
  .rating-report-category-grid,
  .rating-report-search-grid,
  .rating-lists-feature-grid,
  .magazine-article-grid,
  .magazine-category-grid,
  .magazine-enhancement-grid,
  .magazine-archive-grid,
  .career-job-grid,
  .benefit-grid,
  .approach-steps,
  .footer-contact-only-grid,
  .footer-contact-cards,
  .insights-archive-grid,
  .footer-grid,
  .mini-tabs,
  .approach-panels,
  .service-section-grid,
  .magazine-quick-links,
  .magazine-download-row,
  .career-summary-list,
  .rating-filter-row,
  .rating-upload-grid,
  .about-hero-stats,
  .hero-premium-metrics {
    grid-template-columns: 1fr !important;
  }

  .rating-report-card-filter,
  .rating-report-category-filter,
  .rating-reports-detail-area .rating-report-card-filter,
  .magazine-search-row,
  .career-filter-panel,
  .rating-list-filters,
  .report-filter-panel,
  .methodology-filter-panel,
  .rating-filter-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .rating-report-card-filter input,
  .rating-report-card-filter select,
  .rating-report-category-filter input,
  .rating-report-category-filter select,
  .magazine-search-row input,
  .magazine-search-row select,
  .career-filter-panel input,
  .career-filter-panel select,
  .rating-list-filters input,
  .rating-list-filters select,
  .report-filter-panel input,
  .report-filter-panel select,
  .methodology-filter-panel input,
  .methodology-filter-panel select {
    width: 100% !important;
    min-height: 46px !important;
  }

  .rating-lists-feature-card.is-featured {
    grid-column: auto !important;
  }

  .rating-lists-hub-header,
  .rating-reports-card-header,
  .rating-reports-tablepress-intro,
  .rating-reports-tablepress-shell,
  .rating-report-category-card,
  .rating-report-card,
  .rating-lists-feature-card,
  .body-card,
  .side-card,
  .about-profile-card,
  .career-job-card,
  .service-card {
    border-radius: 22px !important;
    padding: clamp(18px, 5vw, 24px) !important;
  }

  .rating-reports-card-header,
  .rating-lists-hub-header,
  .section-title,
  .product-head,
  .rating-news-head {
    display: grid !important;
    gap: 12px !important;
  }

  .table-card table,
  .wp-block-table table,
  .rating-reports-tablepress-area table,
  .rating-reports-tablepress-area .tablepress,
  .rating-update-embed-area table,
  .rating-update-embed-area .tablepress,
  .page-view table {
    min-width: 720px;
  }

  .rating-reports-tablepress-area .dataTables_length,
  .rating-reports-tablepress-area .dataTables_filter,
  .rating-update-embed-area .dataTables_length,
  .rating-update-embed-area .dataTables_filter,
  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter {
    float: none !important;
    width: 100% !important;
    text-align: left !important;
  }

  .rating-reports-tablepress-area .dataTables_filter input,
  .rating-update-embed-area .dataTables_filter input,
  .dataTables_wrapper .dataTables_filter input {
    width: 100% !important;
    margin: 8px 0 0 !important;
    min-height: 42px;
  }

  .rating-reports-tablepress-area .dataTables_length select,
  .rating-update-embed-area .dataTables_length select,
  .dataTables_wrapper .dataTables_length select {
    min-height: 38px;
  }

  .pdf-preview,
  .pdf-frame,
  .methodology-pdf-frame,
  .rating-file-preview iframe,
  .page-pdf-frame,
  iframe[src*=".pdf"] {
    min-height: 380px !important;
  }
}

/* Standard and small mobile. */
@media (max-width: 479px) {
  .wrap,
  .rating-lists-hub-wrap,
  .rating-reports-card-wrap,
  .rating-reports-tablepress-wrap,
  .magazine-wrap,
  .about-wrap,
  .career-wrap,
  .contact-wrap,
  .publication-wrap,
  .research-wrap {
    width: calc(100% - 18px) !important;
  }

  body {
    font-size: 15px;
  }

  .site-header.moody-green-style .brand-logo {
    width: 50px !important;
    height: 36px !important;
  }

  .site-header.moody-green-style .brand-title {
    font-size: 17px !important;
  }

  .site-header.moody-green-style .brand-sub {
    display: none !important;
  }

  .site-header.moody-green-style .top-contact-pill {
    display: none !important;
  }

  h1,
  .page-hero h1,
  .hero-copy h1,
  .about-hero-copy h1 {
    font-size: clamp(32px, 10vw, 40px) !important;
  }

  h2,
  .section-title h2,
  .rating-reports-card-header h2,
  .rating-lists-hub-header h2,
  .about-section-heading h2 {
    font-size: clamp(26px, 8.5vw, 34px) !important;
  }

  .lead,
  .section-title p,
  .rating-reports-card-header p,
  .rating-lists-hub-header p,
  .body-card p {
    font-size: 15px !important;
  }

  .hero-premium-slider.hero-slider {
    height: 265px !important;
    min-height: 265px !important;
  }

  .hero-premium-controls.hero-slider-controls {
    left: 50% !important;
    right: auto !important;
    bottom: 54px !important;
    transform: translateX(-50%) scale(.72) !important;
    transform-origin: center bottom;
  }

  .hero-premium-actions.hero-slider-inline-actions {
    justify-content: center !important;
  }

  .hero-premium-actions .btn,
  .hero-slider-cta-strip .btn {
    min-width: 132px;
    min-height: 38px;
    padding-inline: 12px;
    font-size: 12px;
  }

  .mobile-drawer {
    width: 94vw !important;
    max-width: 94vw;
  }

  .mobile-drawer-head {
    padding: 18px 16px 14px !important;
  }

  .mobile-drawer-head h2 {
    font-size: 23px !important;
  }

  .mobile-drawer-body {
    padding: 14px 12px 22px !important;
  }

  .mobile-nav-group {
    border-radius: 16px !important;
    padding: 10px 14px !important;
  }

  .rating-report-category-card h3,
  .rating-report-card h3,
  .rating-lists-feature-card h3 {
    font-size: clamp(24px, 8vw, 32px) !important;
  }

  .pdf-preview,
  .pdf-frame,
  .methodology-pdf-frame,
  .rating-file-preview iframe,
  .page-pdf-frame,
  iframe[src*=".pdf"] {
    min-height: 320px !important;
  }
}

/* 320px safety pass. */
@media (max-width: 374px) {
  .wrap,
  .rating-lists-hub-wrap,
  .rating-reports-card-wrap,
  .rating-reports-tablepress-wrap,
  .magazine-wrap,
  .about-wrap,
  .career-wrap,
  .contact-wrap,
  .publication-wrap,
  .research-wrap {
    width: calc(100% - 14px) !important;
  }

  .site-header.moody-green-style .header-burger {
    width: 38px !important;
    height: 38px !important;
  }

  .site-header.moody-green-style .brand-logo {
    width: 46px !important;
  }

  .site-header.moody-green-style .brand-title {
    font-size: 16px !important;
  }

  .site-header.moody-green-style .top-search-text {
    font-size: 12px !important;
  }

  .btn,
  button {
    max-width: 100%;
  }

  .rating-reports-card-header,
  .rating-lists-hub-header,
  .rating-report-category-card,
  .rating-report-card,
  .rating-lists-feature-card,
  .body-card {
    padding: 16px !important;
  }
}

/* Large and ultra-wide displays: keep reading widths professional and avoid stretched content. */
@media (min-width: 1600px) {
  .wrap,
  .rating-lists-hub-wrap,
  .rating-reports-card-wrap,
  .rating-reports-tablepress-wrap,
  .magazine-wrap,
  .about-wrap,
  .career-wrap,
  .contact-wrap,
  .publication-wrap,
  .research-wrap {
    max-width: 1240px;
  }

  .hero-premium-slider.hero-slider {
    height: min(600px, 32vw) !important;
  }
}

@media (min-width: 1920px) {
  .wrap,
  .rating-lists-hub-wrap,
  .rating-reports-card-wrap,
  .rating-reports-tablepress-wrap,
  .magazine-wrap,
  .about-wrap,
  .career-wrap,
  .contact-wrap,
  .publication-wrap,
  .research-wrap {
    max-width: 1320px;
  }
}

/* Motion preference. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
  }

  .hero-slide,
  .about-timeline-item,
  .rating-report-category-card,
  .rating-report-card,
  .rating-lists-feature-card,
  .btn {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* V77: Compact, responsive desktop submenus.
 * Reduces oversized mega menus, keeps them near the parent nav item,
 * prevents viewport overflow, and uses the mobile drawer below 981px.
 */
@media (min-width: 981px) {
  .site-header.moody-green-style .header-bottom-bar,
  .site-header.moody-green-style .header-bottom-inner,
  .site-header.moody-green-style .main-menu {
    overflow: visible !important;
  }

  .site-header.moody-green-style .main-menu {
    gap: clamp(14px, 1.6vw, 24px) !important;
    flex-wrap: nowrap !important;
  }

  .site-header.moody-green-style .main-menu > .menu-item {
    position: relative !important;
  }

  .site-header.moody-green-style .menu-link {
    font-size: clamp(14px, .95vw, 16px) !important;
    padding: 18px 2px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .site-header.moody-green-style .chev {
    font-size: 11px !important;
    margin-left: 4px !important;
  }

  .site-header.moody-green-style .mega {
    top: calc(100% - 1px) !important;
    left: 0 !important;
    right: auto !important;
    width: min(360px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    padding: 16px 18px !important;
    border-radius: 0 0 14px 14px !important;
    transform: translateY(4px) !important;
    translate: 0 0 !important;
    box-shadow: 0 18px 42px rgba(7,21,35,.14) !important;
    z-index: 999 !important;
  }

  .site-header.moody-green-style .mega.wide {
    width: min(560px, calc(100vw - 32px)) !important;
  }

  .site-header.moody-green-style .mega.services-mega {
    width: min(720px, calc(100vw - 32px)) !important;
  }

  .site-header.moody-green-style .main-menu > .menu-item:nth-last-child(-n+2) > .mega {
    left: auto !important;
    right: 0 !important;
  }

  .site-header.moody-green-style .menu-item:hover > .mega,
  .site-header.moody-green-style .menu-item:focus-within > .mega,
  .site-header.moody-green-style .menu-item.open > .mega {
    transform: translateY(0) !important;
  }

  .site-header.moody-green-style .mega::before {
    top: -10px !important;
    height: 10px !important;
  }

  .site-header.moody-green-style .mega h4 {
    margin: 0 0 8px !important;
    font-size: 10.5px !important;
    line-height: 1.15 !important;
    letter-spacing: .11em !important;
  }

  .site-header.moody-green-style .mega-grid,
  .site-header.moody-green-style .mega-grid.three {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .site-header.moody-green-style .mega.wide .mega-grid,
  .site-header.moody-green-style .mega.wide .mega-grid.three {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
  }

  .site-header.moody-green-style .mega.services-mega .mega-grid,
  .site-header.moody-green-style .mega.services-mega .mega-grid.three {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 0 !important;
  }

  .site-header.moody-green-style .mega a,
  .site-header.moody-green-style .mega.services-mega a {
    min-height: 0 !important;
    padding: 8px 0 !important;
    gap: 10px !important;
    font-size: 13px !important;
    line-height: 1.22 !important;
    font-weight: 700 !important;
    white-space: normal !important;
    border-bottom: 1px solid #EEF2F5 !important;
  }

  .site-header.moody-green-style .mega a span {
    flex: 0 0 auto !important;
    font-size: 14px !important;
  }
}

@media (min-width: 1200px) {
  .site-header.moody-green-style .mega.services-mega {
    width: min(780px, calc(100vw - 56px)) !important;
  }

  .site-header.moody-green-style .mega.services-mega .mega-grid,
  .site-header.moody-green-style .mega.services-mega .mega-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
  }
}

@media (min-width: 981px) and (max-width: 1120px) {
  .site-header.moody-green-style .main-menu {
    gap: 12px !important;
  }

  .site-header.moody-green-style .menu-link {
    font-size: 13px !important;
  }

  .site-header.moody-green-style .mega,
  .site-header.moody-green-style .mega.wide,
  .site-header.moody-green-style .mega.services-mega {
    width: min(440px, calc(100vw - 24px)) !important;
  }

  .site-header.moody-green-style .mega.wide .mega-grid,
  .site-header.moody-green-style .mega.wide .mega-grid.three,
  .site-header.moody-green-style .mega.services-mega .mega-grid,
  .site-header.moody-green-style .mega.services-mega .mega-grid.three {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 980px) {
  .mobile-panel {
    padding: 0 !important;
    background: rgba(7,21,35,.38) !important;
  }

  .mobile-drawer {
    width: min(400px, 92vw) !important;
    max-width: 92vw !important;
  }

  .mobile-drawer-body {
    padding: 16px !important;
  }

  .mobile-nav-group {
    padding: 12px 0 !important;
  }

  .mobile-nav-group h3 {
    font-size: 12px !important;
    margin-bottom: 6px !important;
  }

  .mobile-nav-group a,
  .mobile-panel a {
    padding: 10px 0 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
  }
}

/* V82: Mobile/tablet drawer and homepage slider responsiveness hardening */
@media (max-width: 980px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  .mobile-panel {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: block !important;
    padding: 0 !important;
    background: rgba(7, 21, 35, .50) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .22s ease, visibility .22s ease !important;
  }

  .mobile-panel.show {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .mobile-drawer {
    width: clamp(320px, 86vw, 390px) !important;
    max-width: 92vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    border-radius: 0 24px 24px 0 !important;
    background: #F8FBF9 !important;
    box-shadow: 22px 0 55px rgba(7, 21, 35, .24) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    transform: translateX(-102%) !important;
    transition: transform .24s ease !important;
  }

  .mobile-panel.show .mobile-drawer {
    transform: translateX(0) !important;
  }

  .mobile-drawer-head {
    flex: 0 0 auto !important;
    padding: 18px 18px 15px !important;
    border-radius: 0 !important;
    background: linear-gradient(135deg, #0B7A3B 0%, #075C2D 100%) !important;
    color: #FFFFFF !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .mobile-kicker {
    font-size: 10px !important;
    letter-spacing: .16em !important;
    margin-bottom: 5px !important;
    opacity: .85 !important;
  }

  .mobile-drawer-head h2 {
    font-size: 22px !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    color: #FFFFFF !important;
  }

  .mobile-close {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .16) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, .20) !important;
    font-size: 24px !important;
    line-height: 1 !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
  }

  .mobile-drawer-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 14px 14px 22px !important;
    background: #F8FBF9 !important;
  }

  .mobile-nav-group {
    background: #FFFFFF !important;
    border: 1px solid #DDEFE5 !important;
    border-radius: 16px !important;
    padding: 10px 13px !important;
    box-shadow: 0 8px 20px rgba(7, 21, 35, .045) !important;
  }

  .mobile-nav-group + .mobile-nav-group {
    margin-top: 10px !important;
  }

  .mobile-nav-group h3 {
    margin: 2px 0 6px !important;
    color: var(--green) !important;
    font-size: 11px !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    line-height: 1.25 !important;
  }

  .mobile-nav-group a,
  .mobile-panel a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 8.5px 0 !important;
    border-bottom: 1px solid #EEF2F5 !important;
    color: var(--navy) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .mobile-nav-group a::after,
  .mobile-panel a::after {
    content: "›" !important;
    flex: 0 0 auto !important;
    color: var(--green) !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .mobile-nav-group a:last-child {
    border-bottom: 0 !important;
  }

  .mobile-nav-single {
    padding: 4px 13px !important;
  }

  .mobile-nav-single a {
    border-bottom: 0 !important;
    font-size: 13.5px !important;
    font-weight: 850 !important;
  }

  .rating-news-section,
  .products {
    overflow: hidden !important;
  }

  .rating-news-head,
  .product-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    align-items: start !important;
  }

  .rating-news-head h2,
  .product-head h2 {
    font-size: clamp(30px, 6vw, 40px) !important;
    line-height: 1.08 !important;
  }

  .rating-news-head p {
    max-width: none !important;
    font-size: 15px !important;
  }

  .rating-news-link,
  .link-red {
    width: max-content !important;
    max-width: 100% !important;
  }

  .slider-controls {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
  }

  .slider-btn {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    flex: 0 0 auto !important;
  }

  .rating-news-window,
  .product-slider {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    padding-bottom: 8px !important;
  }

  .rating-news-track,
  .product-track {
    width: max-content !important;
    max-width: none !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 16px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    will-change: transform !important;
  }

  .rating-news-track {
    animation: ratingNewsMove 38s linear infinite !important;
  }

  .product-track {
    animation: productSlide 52s linear infinite !important;
  }

  .rating-news-window:hover .rating-news-track,
  .product-slider:hover .product-track {
    animation-play-state: paused !important;
  }

  .rating-news-card,
  .product-track .product-card,
  .product-card {
    width: clamp(260px, 78vw, 330px) !important;
    flex: 0 0 clamp(260px, 78vw, 330px) !important;
    max-width: clamp(260px, 78vw, 330px) !important;
    scroll-snap-align: none !important;
  }

  .product-card {
    min-height: auto !important;
    border-radius: 22px !important;
  }

  .product-img {
    height: clamp(155px, 40vw, 210px) !important;
  }

  .product-body {
    padding: 18px !important;
  }

  .product-body h3 {
    font-size: 21px !important;
    line-height: 1.15 !important;
    margin-bottom: 10px !important;
  }

  .product-body p {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  .rating-news-card {
    padding: 17px !important;
    border-radius: 20px !important;
  }

  .rating-news-card h3 {
    font-size: 18px !important;
    line-height: 1.18 !important;
  }

  .rating-news-card p {
    font-size: 13.5px !important;
    line-height: 1.48 !important;
  }

  @keyframes productSlide {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
  }
}

@media (max-width: 520px) {
  .mobile-drawer {
    width: 92vw !important;
    max-width: 92vw !important;
    border-radius: 0 20px 20px 0 !important;
  }

  .mobile-drawer-body {
    padding: 12px 11px 18px !important;
  }

  .mobile-nav-group {
    padding: 9px 11px !important;
    border-radius: 14px !important;
  }

  .mobile-nav-group a,
  .mobile-panel a {
    font-size: 12.8px !important;
    padding: 7.5px 0 !important;
  }

  .rating-news-section,
  .products {
    padding-top: 44px !important;
    padding-bottom: 48px !important;
  }

  .rating-news-card,
  .product-track .product-card,
  .product-card {
    width: calc(100vw - 46px) !important;
    flex-basis: calc(100vw - 46px) !important;
    max-width: calc(100vw - 46px) !important;
  }
}
