/* =========================================================
   KIVARO KIDS - Mobile Responsive Final Override
   Scope: mobile/tablet layout corrections only.
   Goal: keep desktop visual system unchanged while fixing mobile browsing.
   ========================================================= */

@media (max-width: 900px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100%;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
  }

  img,
  video,
  iframe,
  svg {
    max-width: 100% !important;
  }

  .container {
    width: calc(100% - 24px) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .section,
  section {
    max-width: 100% !important;
  }

  .section {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  h1 {
    font-size: clamp(32px, 9vw, 42px) !important;
    line-height: 1.06 !important;
    max-width: 100% !important;
  }

  h2 {
    font-size: clamp(28px, 7.6vw, 38px) !important;
    line-height: 1.08 !important;
  }

  h3 {
    font-size: clamp(22px, 6vw, 30px) !important;
    line-height: 1.12 !important;
  }

  p,
  .lead {
    font-size: 15px !important;
    line-height: 1.65 !important;
    max-width: 100% !important;
  }

  .btn,
  a.btn,
  button.btn {
    min-height: 42px !important;
    padding: 11px 16px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  /* Header: mobile horizontal nav, no hamburger dependency */
  .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 80 !important;
    background: rgba(247, 243, 238, .96) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }

  .site-header .nav-wrap,
  .nav-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    min-height: 0 !important;
    height: auto !important;
    padding-top: 10px !important;
    padding-bottom: 8px !important;
  }

  .site-header .brand,
  .nav-wrap .brand {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    max-width: 168px !important;
    margin: 0 !important;
  }

  .site-header .brand img,
  .nav-wrap .brand img {
    width: auto !important;
    height: 32px !important;
    max-width: 158px !important;
    object-fit: contain !important;
  }

  .menu-toggle,
  button.menu-toggle {
    display: none !important;
    visibility: hidden !important;
  }

  .site-header .main-nav,
  .main-nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 2px 0 4px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    background: transparent !important;
    border: 0 !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  .site-header .main-nav::-webkit-scrollbar,
  .main-nav::-webkit-scrollbar {
    display: none !important;
  }

  .site-header .main-nav a,
  .main-nav a {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    min-height: 34px !important;
    padding: 8px 10px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .site-header .main-nav .btn,
  .main-nav .btn,
  .site-header .main-nav a.btn,
  .main-nav a.btn {
    display: none !important;
  }

  /* Generic grid/card compression */
  .hero-grid,
  .hero-grid-v9,
  .product-highlight,
  .product-highlight-v9,
  .product-grid-v9,
  .product-tile,
  .product-tile-v9,
  .factory-top,
  .factory-top-v16,
  .factory-info-grid-v16,
  .rfq-wrap,
  .rfq-wrap-v9,
  .rfq-wrap-v13,
  .contact-shell,
  .page-grid,
  .layout,
  .snapshot-grid-layout,
  .snapshot-grid,
  .value-wrap,
  .saving-grid-v19,
  .serve-grid,
  .serve-grid-v19,
  .icon-grid,
  .final-cta,
  .contact-after-grid,
  .next-steps-grid,
  .feature-grid,
  .meta-grid,
  .inquiry-grid,
  .contact-redesign-wrap,
  .contact-redesign-card {
    grid-template-columns: 1fr !important;
  }

  .products,
  .content-sections,
  .saving-grid-v19,
  .serve-grid-v19,
  .next-steps-grid {
    gap: 16px !important;
  }

  .card-body,
  .soft,
  .form-shell,
  .product-content,
  .value-body,
  .snapshot-card,
  .equipment-card,
  .serve-card,
  .serve-card-v19,
  .saving-item-v19,
  .oem-card .body,
  .inquiry-form-panel,
  .inquiry-info-panel,
  .contact-redesign-card {
    padding: 18px !important;
  }

  .btn-row,
  .action-row,
  .hero-cta-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .btn-row .btn,
  .action-row .btn,
  .hero-cta-row .btn,
  .inquiry-submit {
    width: 100% !important;
  }

  /* Image frames: remove desktop fixed heights */
  .image,
  .hero-image,
  .hero-image-v9,
  .hero-media,
  .product-visual,
  .snapshot-media,
  .factory-shell,
  .factory-photo-card,
  .factory-photo-card-v16,
  .factory-video-top-v16,
  .video-stage-v16,
  .media,
  .oem-card .media,
  .value-box,
  .cert-image-wrap {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .image img,
  .hero-image img,
  .hero-image-v9 img,
  .hero-media img,
  .product-visual img,
  .snapshot-media img,
  .factory-shell img,
  .factory-photo-card img,
  .factory-photo-card-v16 img,
  .factory-video-top-v16 img,
  .video-stage-v16 img,
  .media img,
  .oem-card .media img,
  .value-box img,
  .cert-image-wrap img {
    width: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  .image img,
  .hero-image img,
  .hero-image-v9 img,
  .product-visual img,
  .snapshot-media img,
  .factory-shell img,
  .oem-card .media img,
  .value-box img {
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
  }

  /* Home first screen */
  .hero,
  .hero-v9 {
    padding-top: 18px !important;
    padding-bottom: 20px !important;
  }

  .hero-grid-v9,
  .hero-grid {
    display: grid !important;
    gap: 14px !important;
    min-height: 0 !important;
    height: auto !important;
  }

  .hero-box-v9,
  .hero-box,
  .hero-copy .soft {
    height: auto !important;
    min-height: 0 !important;
    padding: 24px 18px !important;
    border-radius: 24px !important;
  }

  .hero-box-v9 h1,
  .hero-box h1,
  .hero-copy h1 {
    letter-spacing: -.02em !important;
  }

  .hero-image-v9,
  .hero-media .image {
    aspect-ratio: 4 / 3 !important;
    border-radius: 24px !important;
  }

  .hero-badges-v9,
  .badges,
  .info-chip-row,
  .form-trust-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 8px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  .hero-badges-v9::-webkit-scrollbar,
  .badges::-webkit-scrollbar,
  .info-chip-row::-webkit-scrollbar,
  .form-trust-row::-webkit-scrollbar {
    display: none !important;
  }

  .hero-badges-v9 span,
  .badges span,
  .chip,
  .info-chip-row span,
  .form-trust-row span {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .numbers,
  .number-band-v9,
  .trust-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .metric-card,
  .trust-stat {
    padding: 16px 10px !important;
    border-radius: 18px !important;
  }

  .metric-card .num,
  .trust-stat strong {
    font-size: 34px !important;
  }

  .product-highlight-v9,
  .product-tile-v9,
  .product-highlight,
  .product-tile {
    display: grid !important;
    gap: 14px !important;
  }

  .product-highlight-v9 .image,
  .product-tile-v9 .image,
  .product-highlight .image,
  .product-tile .image {
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 22px !important;
  }

  .product-highlight-v9 p,
  .product-tile-v9 p,
  .product-highlight p,
  .product-tile p {
    min-height: 0 !important;
  }

  .clients,
  .home-clients-section .clients {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .client,
  .client-cta {
    min-height: 0 !important;
    border-radius: 22px !important;
  }

  .client img {
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
  }

  .tcard {
    width: min(84vw, 360px) !important;
    grid-template-columns: 84px 1fr !important;
    gap: 12px !important;
    padding: 14px !important;
  }

  /* Products page */
  body.products-page .products-hero {
    padding-top: 16px !important;
    padding-bottom: 14px !important;
  }

  body.products-page .hero-banner {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: auto !important;
    border-radius: 24px !important;
    padding: 16px !important;
    display: flex !important;
    align-items: flex-end !important;
  }

  body.products-page .hero-banner > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.products-page .hero-banner::before {
    background: linear-gradient(180deg, rgba(247,243,238,.20) 0%, rgba(247,243,238,.88) 72%, rgba(247,243,238,.94) 100%) !important;
  }

  body.products-page .hero-copy {
    width: 100% !important;
    max-width: none !important;
    margin: 168px 0 0 !important;
    padding: 18px !important;
    border-radius: 22px !important;
  }

  body.products-page .hero-copy h1 {
    font-size: 32px !important;
    max-width: 100% !important;
  }

  body.products-page .layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 0 0 32px !important;
  }

  body.products-page aside.sidebar,
  .oem-odm-page aside.sidebar {
    position: sticky !important;
    top: 82px !important;
    z-index: 30 !important;
    padding: 12px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }

  body.products-page aside.sidebar h3,
  .oem-odm-page aside.sidebar h3 {
    margin-bottom: 8px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
  }

  body.products-page aside.sidebar .sidebar-label,
  body.products-page aside.sidebar .sidebar-sep,
  .oem-odm-page aside.sidebar .sidebar-label,
  .oem-odm-page aside.sidebar .sidebar-sep {
    display: none !important;
  }

  body.products-page aside.sidebar .sidebar-group,
  .oem-odm-page aside.sidebar .sidebar-group {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-bottom: 2px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.products-page aside.sidebar .sidebar-group + .sidebar-group,
  .oem-odm-page aside.sidebar .sidebar-group + .sidebar-group {
    margin-top: 8px !important;
  }

  body.products-page aside.sidebar .sidebar-group::-webkit-scrollbar,
  .oem-odm-page aside.sidebar .sidebar-group::-webkit-scrollbar {
    display: none !important;
  }

  body.products-page aside.sidebar a.menu-link,
  body.products-page aside.sidebar a.menu-link.utility-link,
  .oem-odm-page aside.sidebar a.menu-link,
  .oem-odm-page aside.sidebar a.menu-link.utility-link {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    min-height: 38px !important;
    padding: 9px 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  body.products-page aside.sidebar a.menu-link em,
  .oem-odm-page aside.sidebar a.menu-link em {
    display: none !important;
  }

  body.products-page .product-card {
    border-radius: 24px !important;
    scroll-margin-top: 160px !important;
  }

  body.products-page .product-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  body.products-page .product-visual {
    padding: 12px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(61,43,31,.10) !important;
  }

  body.products-page .product-visual img {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    border-radius: 18px !important;
  }

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

  body.products-page .product-content h2 {
    font-size: 30px !important;
  }

  body.products-page .carousel-track {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    mask-image: none !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.products-page .carousel-track::-webkit-scrollbar {
    display: none !important;
  }

  body.products-page .carousel-strip {
    animation: none !important;
    width: max-content !important;
  }

  body.products-page .product-thumb {
    width: 104px !important;
    border-radius: 14px !important;
  }

  /* OEM & ODM page */
  .oem-odm-page .page-head {
    padding-top: 16px !important;
    padding-bottom: 14px !important;
  }

  .oem-odm-page .hero-image {
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 24px !important;
  }

  .oem-odm-page .layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding-bottom: 34px !important;
  }

  .oem-odm-page .oem-card {
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  .oem-odm-page .oem-card .media img {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
  }

  /* About page */
  .snapshot-first {
    padding-top: 20px !important;
  }

  .snapshot-grid {
    height: auto !important;
  }

  .snapshot-media img,
  .factory-shell img {
    min-height: 0 !important;
  }

  .marquee-wrap {
    border-radius: 20px !important;
    padding: 10px !important;
  }

  .marquee-track {
    animation: none !important;
    overflow-x: auto !important;
    width: max-content !important;
  }

  .marquee-item {
    flex-basis: min(72vw, 260px) !important;
  }

  .marquee-item img {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
  }

  /* Contact page */
  .contact-redesign-page {
    padding: 20px 0 42px !important;
  }

  .contact-redesign-wrap,
  .contact-redesign-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    max-width: 100% !important;
  }

  .inquiry-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .inquiry-field,
  .inquiry-field.full,
  .upload-box,
  .inquiry-submit,
  .form-security,
  .form-trust-row {
    grid-column: 1 / -1 !important;
  }

  .inquiry-field input,
  .inquiry-field select,
  .inquiry-field textarea,
  .form-shell input,
  .form-shell select,
  .form-shell textarea {
    min-height: 46px !important;
    font-size: 15px !important;
    border-radius: 14px !important;
  }

  .inquiry-field textarea,
  .form-shell textarea {
    min-height: 120px !important;
  }

  .inquiry-info-head h1 {
    font-size: 34px !important;
  }

  .direct-contact-card {
    grid-template-columns: 72px 1fr !important;
    gap: 12px !important;
  }

  .direct-contact-photo {
    width: 72px !important;
    height: 72px !important;
    border-radius: 50% !important;
  }

  .form-case-card,
  .next-step,
  .support-box,
  .buyer-trust-box {
    border-radius: 22px !important;
  }

  /* Footer */
  .kivaro-footer-v2 {
    margin-top: 40px !important;
  }

  .kivaro-footer-v2 .footer-main-v2 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 32px 0 20px !important;
  }

  .kivaro-footer-v2 .footer-bottom-v2 {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  .kivaro-footer-v2 .footer-policy-v2 {
    flex-wrap: wrap !important;
    white-space: normal !important;
  }

  .kivaro-footer-v2 .footer-social-v2 a {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
  }

  /* Floating contact buttons */
  .kivaro-right-contact-stack {
    top: auto !important;
    right: 8px !important;
    bottom: 72px !important;
    transform: none !important;
    gap: 8px !important;
    z-index: 70 !important;
  }

  .kivaro-right-contact-stack .kivaro-float-square {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border-radius: 50% !important;
  }

  .kivaro-right-contact-stack .top-text,
  .kivaro-right-contact-stack .kivaro-float-square span:not(.kivaro-float-icon) {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .container {
    width: calc(100% - 20px) !important;
  }

  .section {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }

  .site-header .brand img,
  .nav-wrap .brand img {
    height: 30px !important;
    max-width: 148px !important;
  }

  .site-header .main-nav a,
  .main-nav a {
    font-size: 11.5px !important;
    padding: 7px 9px !important;
  }

  h1 {
    font-size: 32px !important;
  }

  h2 {
    font-size: 28px !important;
  }

  body.products-page .hero-copy {
    margin-top: 132px !important;
    padding: 16px !important;
  }

  body.products-page .hero-copy h1 {
    font-size: 30px !important;
  }

  .numbers,
  .number-band-v9,
  .trust-stat-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .metric-card .num,
  .trust-stat strong {
    font-size: 30px !important;
  }

  .direct-contact-card {
    grid-template-columns: 1fr !important;
  }
}

/* Additional mobile containment: prevent grid/flex children from forcing page-wide overflow. */
@media (max-width: 900px) {
  main,
  .container,
  .container > *,
  .layout,
  .layout > *,
  .content-sections,
  .product-card,
  .product-grid,
  .product-grid > *,
  .product-content,
  .product-visual,
  .sidebar,
  aside.sidebar,
  .hero-banner,
  .hero-copy,
  .contact-redesign-wrap,
  .contact-redesign-wrap > *,
  .contact-redesign-card,
  .contact-redesign-card > *,
  .inquiry-form-panel,
  .inquiry-info-panel,
  .contact-after-grid,
  .contact-after-grid > *,
  .snapshot-grid-layout,
  .snapshot-grid-layout > *,
  .value-wrap,
  .value-wrap > *,
  .factory-top,
  .factory-top > *,
  .oem-card,
  .oem-card > *,
  .feature-grid,
  .feature-grid > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .content-sections,
  .product-card,
  .product-grid,
  body.products-page aside.sidebar,
  .oem-odm-page aside.sidebar,
  .contact-redesign-wrap,
  .contact-redesign-card {
    width: 100% !important;
  }

  body.products-page aside.sidebar .sidebar-group,
  .oem-odm-page aside.sidebar .sidebar-group,
  body.products-page .carousel-track,
  .oem-odm-page .carousel-track {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Footer containment override for pages with stronger inline footer rules. */
@media (max-width: 900px) {
  body .kivaro-footer-v2 .footer-main-v2,
  body.contact-page-fit .kivaro-footer-v2 .footer-main-v2,
  body.products-page .kivaro-footer-v2 .footer-main-v2,
  body.oem-odm-page .kivaro-footer-v2 .footer-main-v2 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    width: calc(100% - 24px) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body .kivaro-footer-v2 .footer-brand-v2,
  body .kivaro-footer-v2 .footer-col-v2,
  body .kivaro-footer-v2 .footer-contact-v2,
  body .kivaro-footer-v2 .footer-bottom-v2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-self: stretch !important;
  }

  body .kivaro-footer-v2 .footer-contact-v2 a:not(.footer-inquiry-btn),
  body.contact-page-fit .kivaro-footer-v2 .footer-contact-v2 a:not(.footer-inquiry-btn) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    overflow-wrap: anywhere !important;
  }

  body .kivaro-footer-v2 .footer-contact-v2 a:not(.footer-inquiry-btn) span:last-child,
  body .kivaro-footer-v2 .footer-contact-v2 a:not(.footer-inquiry-btn) span:not(.contact-ico) {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  body .kivaro-footer-v2 .footer-inquiry-btn,
  body.contact-page-fit .kivaro-footer-v2 .footer-inquiry-btn {
    justify-self: start !important;
    margin-left: 0 !important;
    max-width: 100% !important;
  }
}

/* =========================================================
   KIVARO batch mobile fix 2026-05-28
   Confirmed scope: global mobile Header/Footer + Home M-02 to M-08.
   Desktop layout remains unchanged.
   ========================================================= */
.mobile-header-catalog,
button.menu-toggle {
  display: none !important;
}

@media (max-width: 900px) {
  body {
    padding-top: 68px !important;
  }

  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 999 !important;
    background: rgba(247, 243, 238, .98) !important;
    border-bottom: 1px solid rgba(61,43,31,.10) !important;
    box-shadow: 0 8px 24px rgba(61,43,31,.06) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }

  .site-header .nav-wrap,
  .nav-wrap {
    position: relative !important;
    height: 68px !important;
    min-height: 68px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .site-header .brand,
  .nav-wrap .brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .site-header .brand img,
  .nav-wrap .brand img {
    height: 34px !important;
    width: auto !important;
    max-width: 154px !important;
    display: block !important;
    object-fit: contain !important;
  }

  .mobile-header-catalog {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #3D2B1F !important;
    color: #F7F3EE !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    box-shadow: none !important;
  }

  button.menu-toggle,
  .menu-toggle {
    display: inline-flex !important;
    visibility: visible !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(61,43,31,.16) !important;
    border-radius: 50% !important;
    background: #F7F3EE !important;
    color: #3D2B1F !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 4px !important;
    cursor: pointer !important;
    overflow: visible !important;
  }

  .menu-toggle span {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    border-radius: 99px !important;
    background: #3D2B1F !important;
    transition: transform .2s ease, opacity .2s ease !important;
  }

  .menu-toggle.is-open span:nth-child(1) {
    transform: translateY(6px) rotate(45deg) !important;
  }

  .menu-toggle.is-open span:nth-child(2) {
    opacity: 0 !important;
  }

  .menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg) !important;
  }

  .site-header .main-nav,
  .main-nav {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px !important;
    background: #F7F3EE !important;
    border: 1px solid rgba(61,43,31,.12) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 36px rgba(61,43,31,.13) !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    overflow: hidden !important;
  }

  .site-header .main-nav.open,
  .main-nav.open {
    display: flex !important;
  }

  .site-header .main-nav a,
  .main-nav a {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .site-header .main-nav a.active,
  .main-nav a.active {
    background: #E7DCC6 !important;
  }

  .site-header .main-nav a.btn,
  .main-nav a.btn {
    display: none !important;
  }

  /* M-02 Home hero: compact desktop-like left copy / right image on mobile. */
  body.home-page .hero-v9 {
    padding-top: 12px !important;
    padding-bottom: 18px !important;
  }

  body.home-page .hero-v9 > .container.hero-grid-v9,
  body.home-page .hero-grid-v9 {
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(118px, .82fr) !important;
    gap: 8px !important;
    align-items: stretch !important;
    min-height: 0 !important;
    height: auto !important;
  }

  body.home-page .hero-v9 .hero-copy,
  body.home-page .hero-v9 .hero-media {
    min-width: 0 !important;
    height: auto !important;
  }

  body.home-page .hero-v9 .hero-box-v9 {
    height: 100% !important;
    min-height: 286px !important;
    padding: 18px 12px !important;
    border-radius: 22px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  body.home-page .hero-v9 .section-eyebrow,
  body.home-page .hero-v9 .eyebrow {
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: .15em !important;
    margin: 0 0 2px !important;
  }

  body.home-page .hero-v9 h1 {
    font-size: clamp(22px, 6.3vw, 28px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.02em !important;
    margin: 0 !important;
  }

  body.home-page .hero-v9 .lead,
  body.home-page .hero-v9 p.lead {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 4 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.home-page .hero-v9 .hero-badges-v9 {
    gap: 5px !important;
    margin: 2px 0 0 !important;
  }

  body.home-page .hero-v9 .hero-badges-v9 .chip,
  body.home-page .hero-v9 .hero-badges-v9 span {
    min-height: 28px !important;
    padding: 7px 8px !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  body.home-page .hero-v9 .hero-cta-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    margin-top: 4px !important;
  }

  body.home-page .hero-v9 .hero-cta-row .btn {
    width: 100% !important;
    min-height: 34px !important;
    padding: 8px 10px !important;
    font-size: 10px !important;
    letter-spacing: .03em !important;
  }

  body.home-page .hero-v9 .hero-media,
  body.home-page .hero-v9 .hero-image-v9 {
    height: 100% !important;
    min-height: 286px !important;
    aspect-ratio: auto !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  body.home-page .hero-v9 .hero-image-v9 img {
    width: 100% !important;
    height: 100% !important;
    min-height: 286px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  /* M-03 Home metrics: two columns with tighter height. */
  body.home-page .number-band-v9 .numbers,
  body.home-page .numbers {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.home-page .metric-card {
    min-height: 86px !important;
    padding: 14px 8px !important;
  }

  body.home-page .metric-card .num {
    font-size: 28px !important;
    line-height: 1.05 !important;
    margin-bottom: 8px !important;
  }

  body.home-page .metric-card .label {
    font-size: 11px !important;
    line-height: 1.2 !important;
    letter-spacing: .08em !important;
  }

  /* M-04 Factory video/copy: reduce text height and arrange notes as two columns. */
  body.home-page .factory-section-v16 .factory-feature-v16 {
    padding: 16px !important;
    border-radius: 24px !important;
  }

  body.home-page .factory-section-v16 .video-stage-v16 {
    aspect-ratio: 16 / 9 !important;
    border-radius: 18px !important;
  }

  body.home-page .factory-section-v16 .factory-copy-v16 {
    margin-top: 16px !important;
  }

  body.home-page .factory-section-v16 .factory-copy-v16 h2 {
    font-size: 24px !important;
    line-height: 1.12 !important;
    margin-bottom: 8px !important;
  }

  body.home-page .factory-section-v16 .factory-copy-v16 p {
    font-size: 13px !important;
    line-height: 1.55 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.home-page .factory-section-v16 .factory-info-grid-v16 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }

  body.home-page .factory-section-v16 .note-card-v16 {
    padding: 13px 11px !important;
    border-radius: 18px !important;
    min-height: 0 !important;
  }

  body.home-page .factory-section-v16 .note-card-v16 h4 {
    font-size: 14px !important;
    line-height: 1.2 !important;
    margin: 0 0 6px !important;
  }

  body.home-page .factory-section-v16 .note-card-v16 p {
    font-size: 12px !important;
    line-height: 1.45 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* M-05 Factory gallery: 8 images in 2 columns x 4 rows, lightbox preserved. */
  body.home-page .factory-gallery-v16 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 18px !important;
  }

  body.home-page .factory-gallery-v16 .factory-photo-card-v16,
  body.home-page .factory-gallery-v16 .kivaro-img-ix-wrap {
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  body.home-page .factory-gallery-v16 .factory-photo-card-v16 img,
  body.home-page .factory-gallery-v16 .kivaro-img-ix-wrap img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }

  /* M-06 Certificates: smaller horizontal cards, hide low-value detail copy on mobile. */
  body.home-page .cert-slider-v13,
  body.home-page .cert-section-v13 .slider {
    overflow: hidden !important;
  }

  body.home-page .cert-track-v13,
  body.home-page .cert-section-v13 .track {
    display: flex !important;
    gap: 10px !important;
    width: auto !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 0 10px !important;
    animation: none !important;
    transform: none !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.home-page .cert-track-v13::-webkit-scrollbar,
  body.home-page .cert-section-v13 .track::-webkit-scrollbar {
    display: none !important;
  }

  body.home-page .cert-slide-card {
    flex: 0 0 43% !important;
    max-width: 43% !important;
    min-width: 148px !important;
    padding: 10px !important;
    border-radius: 18px !important;
    scroll-snap-align: start !important;
  }

  body.home-page .cert-slide-card .cert-image-wrap {
    aspect-ratio: 3 / 4 !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 14px !important;
    background: #fff !important;
  }

  body.home-page .cert-slide-card .cert-image-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    aspect-ratio: auto !important;
  }

  body.home-page .cert-slide-card h4 {
    font-size: 13px !important;
    line-height: 1.2 !important;
    margin: 8px 0 0 !important;
  }

  body.home-page .cert-slide-card p {
    display: none !important;
  }

  /* M-07 Home product cards: unified card/image behavior and one-line tags. */
  body.home-page .products-section-v9 .products {
    gap: 16px !important;
  }

  body.home-page .products-section-v9 .product-highlight-v9,
  body.home-page .products-section-v9 .product-tile-v9 {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    min-height: 0 !important;
    border-radius: 26px !important;
    overflow: hidden !important;
  }

  body.home-page .products-section-v9 .product-grid-v9 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body.home-page .products-section-v9 .product-highlight-v9 .image,
  body.home-page .products-section-v9 .product-tile-v9 .image {
    width: 100% !important;
    height: 246px !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
    background: #F7F3EE !important;
    overflow: hidden !important;
  }

  body.home-page .products-section-v9 .product-highlight-v9 .image img,
  body.home-page .products-section-v9 .product-tile-v9 .image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    transition: opacity .16s ease !important;
  }

  body.home-page .products-section-v9 .product-highlight-v9 .card-body,
  body.home-page .products-section-v9 .product-tile-v9 .card-body {
    padding: 18px !important;
  }

  body.home-page .products-section-v9 .product-highlight-v9 h3,
  body.home-page .products-section-v9 .product-tile-v9 h3 {
    font-size: 24px !important;
    line-height: 1.14 !important;
  }

  body.home-page .products-section-v9 .product-highlight-v9 p,
  body.home-page .products-section-v9 .product-tile-v9 p,
  body.home-page .products-section-v9 .product-highlight-v9 .lead,
  body.home-page .products-section-v9 .product-tile-v9 .lead {
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin-bottom: 14px !important;
  }

  body.home-page .products-section-v9 .meta {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    width: 100% !important;
    overflow: hidden !important;
    margin: 0 0 16px !important;
  }

  body.home-page .products-section-v9 .meta span {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 8px 5px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }


  /* M-08 Buyer feedback: disable auto-scroll; manual horizontal swipe with snap. */
  body.home-page .testimonials.slider {
    overflow: hidden !important;
  }

  body.home-page .testimonials .track {
    display: flex !important;
    width: auto !important;
    max-width: 100% !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 0 10px !important;
    animation: none !important;
    transform: none !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.home-page .testimonials .track::-webkit-scrollbar {
    display: none !important;
  }

  body.home-page .testimonials .tcard {
    flex: 0 0 82% !important;
    max-width: 82% !important;
    width: 82% !important;
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 16px !important;
    border-radius: 22px !important;
    scroll-snap-align: center !important;
  }

  body.home-page .testimonials .tcard .avatar {
    width: 72px !important;
    height: 72px !important;
    align-self: center !important;
  }

  body.home-page .testimonials .tcard p {
    font-size: 13px !important;
    line-height: 1.5 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 5 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* M-09 Footer: compact two-column link area on mobile. */
  body .kivaro-footer-v2 .footer-main-v2,
  body.contact-page-fit .kivaro-footer-v2 .footer-main-v2,
  body.products-page .kivaro-footer-v2 .footer-main-v2,
  body.oem-odm-page .kivaro-footer-v2 .footer-main-v2 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 24px 20px !important;
    width: calc(100% - 28px) !important;
    padding: 28px 0 18px !important;
  }

  body .kivaro-footer-v2 .footer-brand-v2 {
    grid-column: 1 / -1 !important;
    padding: 0 !important;
  }

  body .kivaro-footer-v2 .footer-brand-v2 .footer-logo-v2,
  body .kivaro-footer-v2 .footer-brand-v2 > p {
    display: none !important;
  }

  body .kivaro-footer-v2 .footer-social-v2 {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  body .kivaro-footer-v2 .footer-social-v2 a {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
  }

  body .kivaro-footer-v2 .footer-col-v2 {
    width: 100% !important;
    min-width: 0 !important;
  }

  body .kivaro-footer-v2 .footer-col-v2 h4 {
    font-size: 17px !important;
    margin-bottom: 16px !important;
  }

  body .kivaro-footer-v2 .footer-col-v2 h4::after {
    margin-top: 11px !important;
  }

  body .kivaro-footer-v2 .footer-col-v2 a {
    font-size: 13px !important;
    line-height: 1.35 !important;
    margin-bottom: 12px !important;
  }

  body .kivaro-footer-v2 .footer-contact-v2 {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  body .kivaro-footer-v2 .footer-inquiry-btn,
  body.contact-page-fit .kivaro-footer-v2 .footer-inquiry-btn {
    width: min(176px, 100%) !important;
    height: 42px !important;
    margin-bottom: 16px !important;
  }

  body .kivaro-footer-v2 .footer-contact-v2 a:not(.footer-inquiry-btn),
  body.contact-page-fit .kivaro-footer-v2 .footer-contact-v2 a:not(.footer-inquiry-btn) {
    font-size: 13px !important;
    margin-bottom: 12px !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
  }

  body .kivaro-footer-v2 .footer-bottom-v2 {
    width: calc(100% - 28px) !important;
    padding: 14px 0 18px !important;
    gap: 8px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 480px) {
  body.home-page .hero-v9 > .container.hero-grid-v9,
  body.home-page .hero-grid-v9 {
    grid-template-columns: minmax(0, 1.2fr) minmax(112px, .8fr) !important;
  }

  body.home-page .hero-v9 .hero-box-v9,
  body.home-page .hero-v9 .hero-media,
  body.home-page .hero-v9 .hero-image-v9,
  body.home-page .hero-v9 .hero-image-v9 img {
    min-height: 276px !important;
  }

  body.home-page .factory-section-v16 .factory-info-grid-v16 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home-page .cert-slide-card {
    flex-basis: 44% !important;
    max-width: 44% !important;
    min-width: 142px !important;
  }

  body.home-page .products-section-v9 .product-highlight-v9 .image,
  body.home-page .products-section-v9 .product-tile-v9 .image {
    height: 236px !important;
  }

  body.home-page .testimonials .tcard {
    flex-basis: 84% !important;
    max-width: 84% !important;
    width: 84% !important;
  }
}


/* =========================================================
   KIVARO regression mobile fix 2026-05-28
   Confirmed scope: R-01 to R-07 only.
   Desktop layout remains unchanged.
   ========================================================= */

/* Keep the second product-gallery image hidden on desktop. */
body.home-page .product-mobile-gallery .product-swipe-track {
  width: 100%;
  height: 100%;
}
body.home-page .product-mobile-gallery .product-swipe-track > img.product-swipe-alt,
body.home-page .product-mobile-gallery .product-swipe-track > img:nth-child(n+2) {
  display: none;
}

@media (max-width: 900px) {
  /* R-01: fixed mobile header must override page-specific header rules, especially Contact/OEM. */
  html {
    scroll-padding-top: 74px !important;
  }
  body,
  body.home-page,
  body.contact-page-fit,
  body.products-page,
  body.oem-odm-page,
  body.about-page {
    padding-top: 68px !important;
  }
  body.contact-page-fit .site-header,
  body.oem-odm-page .site-header,
  body.products-page .site-header,
  body.home-page .site-header,
  body.about-page .site-header,
  body .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    transform: none !important;
    margin: 0 !important;
    background: rgba(247, 243, 238, .98) !important;
    border-bottom: 1px solid rgba(61,43,31,.10) !important;
  }
  body.contact-page-fit .site-header .nav-wrap,
  body.oem-odm-page .site-header .nav-wrap,
  body.products-page .site-header .nav-wrap,
  body.home-page .site-header .nav-wrap,
  body.about-page .site-header .nav-wrap,
  body .site-header .nav-wrap {
    height: 68px !important;
    min-height: 68px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.contact-page-fit main,
  body.contact-page-fit .contact-redesign-page,
  body.oem-odm-page main,
  body.products-page main,
  body.home-page main,
  body.about-page main {
    margin-top: 0 !important;
  }
  body.contact-page-fit .contact-redesign-page {
    padding-top: 18px !important;
  }
  #catalog-inquiry-title,
  #certifications,
  [id] {
    scroll-margin-top: 78px !important;
  }

  /* R-02: restore footer brand logo and description while keeping compact two-column links. */
  body .kivaro-footer-v2 .footer-brand-v2 {
    grid-column: 1 / -1 !important;
    display: block !important;
    padding: 0 0 2px !important;
  }
  body .kivaro-footer-v2 .footer-brand-v2 .footer-logo-v2,
  body.contact-page-fit .kivaro-footer-v2 .footer-brand-v2 .footer-logo-v2,
  body .kivaro-footer-v2 .footer-brand-v2 .footer-logo-v2 img,
  body.contact-page-fit .kivaro-footer-v2 .footer-brand-v2 .footer-logo-v2 img {
    display: block !important;
    width: 210px !important;
    max-width: 70vw !important;
    height: auto !important;
    margin: 0 0 12px !important;
  }
  body .kivaro-footer-v2 .footer-brand-v2 > p,
  body.contact-page-fit .kivaro-footer-v2 .footer-brand-v2 > p {
    display: block !important;
    max-width: 340px !important;
    margin: 0 0 18px !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: rgba(247,243,238,.88) !important;
  }
  body .kivaro-footer-v2 .footer-social-v2 {
    margin-top: 0 !important;
  }
  body .kivaro-footer-v2 .footer-main-v2,
  body.contact-page-fit .kivaro-footer-v2 .footer-main-v2,
  body.products-page .kivaro-footer-v2 .footer-main-v2,
  body.oem-odm-page .kivaro-footer-v2 .footer-main-v2,
  body.home-page .kivaro-footer-v2 .footer-main-v2,
  body.about-page .kivaro-footer-v2 .footer-main-v2 {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 22px 18px !important;
    padding: 28px 0 18px !important;
  }

  /* R-03: Home hero returns to mobile-native top-image / bottom-copy layout. */
  body.home-page .hero-v9 {
    padding-top: 12px !important;
    padding-bottom: 18px !important;
  }
  body.home-page .hero-v9 > .container.hero-grid-v9,
  body.home-page .hero-grid-v9 {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    align-items: stretch !important;
  }
  body.home-page .hero-v9 .hero-media {
    order: 1 !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
  }
  body.home-page .hero-v9 .hero-copy {
    order: 2 !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
  }
  body.home-page .hero-v9 .hero-image-v9,
  body.home-page .hero-v9 .hero-media {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: auto !important;
    border-radius: 24px 24px 0 0 !important;
    overflow: hidden !important;
  }
  body.home-page .hero-v9 .hero-image-v9 img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 24px 24px 0 0 !important;
  }
  body.home-page .hero-v9 .hero-box-v9 {
    min-height: 0 !important;
    height: auto !important;
    border-radius: 0 0 24px 24px !important;
    padding: 22px 20px 24px !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }
  body.home-page .hero-v9 h1 {
    font-size: clamp(27px, 7.4vw, 34px) !important;
    line-height: 1.08 !important;
  }
  body.home-page .hero-v9 .lead,
  body.home-page .hero-v9 p.lead {
    font-size: 14px !important;
    line-height: 1.58 !important;
    -webkit-line-clamp: 4 !important;
  }
  body.home-page .hero-v9 .hero-badges-v9 {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    overflow: hidden !important;
  }
  body.home-page .hero-v9 .hero-badges-v9 .chip,
  body.home-page .hero-v9 .hero-badges-v9 span {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 8px 5px !important;
    font-size: 10px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  body.home-page .hero-v9 .hero-cta-row .btn {
    min-height: 40px !important;
    font-size: 11px !important;
  }

  /* R-04: hide the four factory note cards on mobile. */
  body.home-page .factory-section-v16 .factory-info-grid-v16 {
    display: none !important;
  }

  /* R-05: certificate titles centered and certificate images zoomable. */
  body.home-page .cert-slide-card h4 {
    text-align: center !important;
    width: 100% !important;
  }
  body.home-page .cert-slide-card,
  body.home-page .cert-slide-card img,
  body.home-page .cert-slide-card .cert-image-wrap {
    cursor: zoom-in !important;
  }

  /* R-06: product card reset - bigger image, no dead blank space, swipe image area. */
  body.home-page .products-section-v9 .products,
  body.home-page .products-section-v9 .product-grid-v9 {
    gap: 18px !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9,
  body.home-page .products-section-v9 .product-tile-v9 {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    border-radius: 28px !important;
    overflow: hidden !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9 .image,
  body.home-page .products-section-v9 .product-tile-v9 .image,
  body.home-page .products-section-v9 .product-mobile-gallery {
    height: clamp(260px, 68vw, 320px) !important;
    min-height: 0 !important;
    width: 100% !important;
    border-radius: 0 !important;
    background: #F7F3EE !important;
    overflow: hidden !important;
  }
  body.home-page .product-mobile-gallery .product-swipe-track {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    touch-action: pan-x pan-y !important;
  }
  body.home-page .product-mobile-gallery .product-swipe-track::-webkit-scrollbar {
    display: none !important;
  }
  body.home-page .product-mobile-gallery .product-swipe-track > img,
  body.home-page .product-mobile-gallery .product-swipe-track > img:nth-child(n+2) {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    scroll-snap-align: center !important;
    scroll-snap-stop: always !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9 .card-body,
  body.home-page .products-section-v9 .product-tile-v9 .card-body {
    padding: 20px 18px 18px !important;
    min-height: 0 !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9 .eyebrow,
  body.home-page .products-section-v9 .product-tile-v9 .eyebrow {
    margin-bottom: 8px !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9 h3,
  body.home-page .products-section-v9 .product-tile-v9 h3 {
    margin: 0 0 8px !important;
    font-size: 24px !important;
    line-height: 1.14 !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9 p,
  body.home-page .products-section-v9 .product-tile-v9 p,
  body.home-page .products-section-v9 .product-highlight-v9 .lead,
  body.home-page .products-section-v9 .product-tile-v9 .lead {
    margin: 0 0 14px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  body.home-page .products-section-v9 .meta {
    margin: 0 0 16px !important;
  }
  body.home-page .products-section-v9 .btn-row {
    margin-top: 0 !important;
    gap: 10px !important;
  }
  body.home-page .products-section-v9 .btn-row .btn {
    min-height: 42px !important;
  }

  /* R-07: hide Free Design & Cost Saving Support on mobile only. */
  body.home-page .free-design-v19 {
    display: none !important;
  }
}

@media (max-width: 480px) {
  body.home-page .hero-v9 > .container.hero-grid-v9,
  body.home-page .hero-grid-v9 {
    grid-template-columns: 1fr !important;
  }
  body.home-page .hero-v9 .hero-box-v9,
  body.home-page .hero-v9 .hero-media,
  body.home-page .hero-v9 .hero-image-v9,
  body.home-page .hero-v9 .hero-image-v9 img {
    min-height: 0 !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9 .image,
  body.home-page .products-section-v9 .product-tile-v9 .image,
  body.home-page .products-section-v9 .product-mobile-gallery {
    height: clamp(250px, 70vw, 300px) !important;
  }
  body .kivaro-footer-v2 .footer-brand-v2 .footer-logo-v2,
  body .kivaro-footer-v2 .footer-brand-v2 .footer-logo-v2 img {
    width: 190px !important;
  }
}

/* =========================================================
   KIVARO targeted fix: Contact/OEM mobile header CTA position
   Scope: only contact.html and oem-odm.html at mobile widths.
   Purpose: make Get Catalog independent from page-specific flex rules.
   ========================================================= */
@media (max-width: 900px) {
  body.contact-page-fit .site-header,
  body.oem-odm-page .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.contact-page-fit .site-header .nav-wrap,
  body.oem-odm-page .site-header .nav-wrap {
    display: block !important;
    position: relative !important;
    width: calc(100% - 24px) !important;
    max-width: 1360px !important;
    height: 68px !important;
    min-height: 68px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  body.contact-page-fit .site-header .brand,
  body.oem-odm-page .site-header .brand {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: block !important;
    width: auto !important;
    max-width: calc(100% - 170px) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
  }

  body.contact-page-fit .site-header .brand img,
  body.oem-odm-page .site-header .brand img {
    display: block !important;
    width: auto !important;
    height: 34px !important;
    max-width: 154px !important;
    object-fit: contain !important;
    margin: 0 !important;
  }

  body.contact-page-fit .site-header .mobile-header-catalog,
  body.oem-odm-page .site-header .mobile-header-catalog {
    position: absolute !important;
    right: 52px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 118px !important;
    max-width: none !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #3D2B1F !important;
    color: #F7F3EE !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    box-shadow: none !important;
    z-index: 3 !important;
  }

  body.contact-page-fit .site-header .menu-toggle,
  body.oem-odm-page .site-header .menu-toggle,
  body.contact-page-fit .site-header button.menu-toggle,
  body.oem-odm-page .site-header button.menu-toggle {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    z-index: 4 !important;
  }

  body.contact-page-fit .site-header .main-nav,
  body.oem-odm-page .site-header .main-nav {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 76px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    z-index: 5 !important;
  }

  body.contact-page-fit .site-header .main-nav a,
  body.oem-odm-page .site-header .main-nav a {
    text-decoration: none !important;
  }
}

@media (max-width: 374px) {
  body.contact-page-fit .site-header .mobile-header-catalog,
  body.oem-odm-page .site-header .mobile-header-catalog {
    right: 48px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }

  body.contact-page-fit .site-header .brand img,
  body.oem-odm-page .site-header .brand img {
    max-width: 136px !important;
  }
}

/* =========================================================
   KIVARO mobile header consistency patch
   Scope: mobile header only. Keep one shared Get Catalog CTA style
   across Home / Products / OEM / About / Contact.
   ========================================================= */
@media (max-width: 900px) {
  body .site-header .nav-wrap,
  body.contact-page-fit .site-header .nav-wrap,
  body.oem-odm-page .site-header .nav-wrap,
  body.products-page .site-header .nav-wrap,
  body.home-page .site-header .nav-wrap,
  body.about-page .site-header .nav-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto 42px !important;
    align-items: center !important;
    column-gap: 10px !important;
    position: relative !important;
    width: calc(100% - 24px) !important;
    max-width: 1360px !important;
    height: 68px !important;
    min-height: 68px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body .site-header .brand,
  body.contact-page-fit .site-header .brand,
  body.oem-odm-page .site-header .brand,
  body.products-page .site-header .brand,
  body.home-page .site-header .brand,
  body.about-page .site-header .brand {
    grid-column: 1 !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-self: start !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
  }

  body .site-header .brand img,
  body.contact-page-fit .site-header .brand img,
  body.oem-odm-page .site-header .brand img,
  body.products-page .site-header .brand img,
  body.home-page .site-header .brand img,
  body.about-page .site-header .brand img {
    display: block !important;
    width: auto !important;
    height: 34px !important;
    max-width: 154px !important;
    object-fit: contain !important;
    margin: 0 !important;
  }

  body .site-header .mobile-header-catalog,
  body.contact-page-fit .site-header .mobile-header-catalog,
  body.oem-odm-page .site-header .mobile-header-catalog,
  body.products-page .site-header .mobile-header-catalog,
  body.home-page .site-header .mobile-header-catalog,
  body.about-page .site-header .mobile-header-catalog {
    grid-column: 2 !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    justify-self: end !important;
    align-self: center !important;
    display: inline-flex !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    min-height: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #3D2B1F !important;
    color: #F7F3EE !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    z-index: 3 !important;
  }

  body .site-header .menu-toggle,
  body .site-header button.menu-toggle,
  body.contact-page-fit .site-header .menu-toggle,
  body.contact-page-fit .site-header button.menu-toggle,
  body.oem-odm-page .site-header .menu-toggle,
  body.oem-odm-page .site-header button.menu-toggle,
  body.products-page .site-header .menu-toggle,
  body.products-page .site-header button.menu-toggle,
  body.home-page .site-header .menu-toggle,
  body.home-page .site-header button.menu-toggle,
  body.about-page .site-header .menu-toggle,
  body.about-page .site-header button.menu-toggle {
    grid-column: 3 !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    justify-self: end !important;
    align-self: center !important;
    display: inline-flex !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    z-index: 4 !important;
  }

  body .site-header .main-nav,
  body.contact-page-fit .site-header .main-nav,
  body.oem-odm-page .site-header .main-nav,
  body.products-page .site-header .main-nav,
  body.home-page .site-header .main-nav,
  body.about-page .site-header .main-nav {
    grid-column: 1 / -1 !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    z-index: 5 !important;
  }
}

@media (max-width: 374px) {
  body .site-header .nav-wrap,
  body.contact-page-fit .site-header .nav-wrap,
  body.oem-odm-page .site-header .nav-wrap,
  body.products-page .site-header .nav-wrap,
  body.home-page .site-header .nav-wrap,
  body.about-page .site-header .nav-wrap {
    grid-template-columns: minmax(0, 1fr) auto 40px !important;
    column-gap: 8px !important;
  }

  body .site-header .brand img,
  body.contact-page-fit .site-header .brand img,
  body.oem-odm-page .site-header .brand img,
  body.products-page .site-header .brand img,
  body.home-page .site-header .brand img,
  body.about-page .site-header .brand img {
    max-width: 136px !important;
  }

  body .site-header .mobile-header-catalog,
  body.contact-page-fit .site-header .mobile-header-catalog,
  body.oem-odm-page .site-header .mobile-header-catalog,
  body.products-page .site-header .mobile-header-catalog,
  body.home-page .site-header .mobile-header-catalog,
  body.about-page .site-header .mobile-header-catalog {
    min-width: max-content !important;
    max-width: none !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    font-size: 11px !important;
  }

  body .site-header .menu-toggle,
  body .site-header button.menu-toggle,
  body.contact-page-fit .site-header .menu-toggle,
  body.contact-page-fit .site-header button.menu-toggle,
  body.oem-odm-page .site-header .menu-toggle,
  body.oem-odm-page .site-header button.menu-toggle,
  body.products-page .site-header .menu-toggle,
  body.products-page .site-header button.menu-toggle,
  body.home-page .site-header .menu-toggle,
  body.home-page .site-header button.menu-toggle,
  body.about-page .site-header .menu-toggle,
  body.about-page .site-header button.menu-toggle {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }
}


/* =========================================================
   KIVARO mobile polish patch 2026-05-28
   Scope: R-06, R-08, R-09, R-10 only.
   ========================================================= */
@media (max-width: 900px) {
  /* R-08: Home hero CTA buttons side-by-side and fix bottom-corner artifacts. */
  body.home-page .hero-v9 > .container.hero-grid-v9,
  body.home-page .hero-v9 .container.hero-grid-v9,
  body.home-page .hero-v9 .hero-grid-v9 {
    border-radius: 26px !important;
    overflow: hidden !important;
    background: #F7F3EE !important;
    box-shadow: none !important;
  }
  body.home-page .hero-v9 .hero-copy,
  body.home-page .hero-v9 .hero-media,
  body.home-page .hero-v9 .hero-box-v9,
  body.home-page .hero-v9 .hero-image-v9 {
    overflow: hidden !important;
  }
  body.home-page .hero-v9 .hero-cta-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 12px !important;
    margin-top: 12px !important;
    width: 100% !important;
  }
  body.home-page .hero-v9 .hero-cta-row .btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
    letter-spacing: 0 !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }

  /* R-09: Reduce and standardize vertical spacing between home modules. */
  body.home-page main > section.section {
    padding-top: 26px !important;
    padding-bottom: 26px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  body.home-page .section-header,
  body.home-page .section-header.narrow {
    margin-bottom: 18px !important;
  }
  body.home-page .cert-section,
  body.home-page .products-section-v9,
  body.home-page .testimonials,
  body.home-page .customer-grid,
  body.home-page .who-serve-v19,
  body.home-page .free-design-v19,
  body.home-page .factory-section-v16 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* R-06: Rebuild home product cards for mobile - larger complete images and swipe gallery. */
  body.home-page .products-section-v9 .products,
  body.home-page .products-section-v9 .product-grid-v9 {
    gap: 20px !important;
  }
  body.home-page .products-section-v9 .same-height-card {
    height: auto !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9,
  body.home-page .products-section-v9 .product-tile-v9 {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 26px !important;
    overflow: hidden !important;
    background: #F7F3EE !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9 .image,
  body.home-page .products-section-v9 .product-tile-v9 .image,
  body.home-page .products-section-v9 .product-mobile-gallery {
    width: 100% !important;
    height: clamp(300px, 84vw, 390px) !important;
    min-height: clamp(300px, 84vw, 390px) !important;
    max-height: none !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(61,43,31,.10) !important;
    border-radius: 26px 26px 0 0 !important;
    background: #FFFFFF !important;
    overflow: hidden !important;
  }
  body.home-page .product-mobile-gallery .product-swipe-track {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    touch-action: pan-x pan-y !important;
  }
  body.home-page .product-mobile-gallery .product-swipe-track::-webkit-scrollbar {
    display: none !important;
  }
  body.home-page .product-mobile-gallery .product-swipe-track > img,
  body.home-page .product-mobile-gallery .product-swipe-track > img:nth-child(n+2) {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: #FFFFFF !important;
    object-fit: contain !important;
    object-position: center center !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
    pointer-events: none !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9 .card-body,
  body.home-page .products-section-v9 .product-tile-v9 .card-body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 16px 18px 18px !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9 .eyebrow,
  body.home-page .products-section-v9 .product-tile-v9 .eyebrow {
    margin-bottom: 8px !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9 h3,
  body.home-page .products-section-v9 .product-tile-v9 h3 {
    margin: 0 0 8px !important;
    font-size: 22px !important;
    line-height: 1.14 !important;
    letter-spacing: -0.02em !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9 p,
  body.home-page .products-section-v9 .product-tile-v9 p,
  body.home-page .products-section-v9 .product-highlight-v9 .lead,
  body.home-page .products-section-v9 .product-tile-v9 .lead {
    margin: 0 0 14px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  body.home-page .products-section-v9 .meta {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
    overflow: hidden !important;
  }
  body.home-page .products-section-v9 .meta > span {
    min-width: 0 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
  }
  body.home-page .products-section-v9 .btn-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 0 !important;
  }
  body.home-page .products-section-v9 .btn-row .btn {
    width: 100% !important;
    min-height: 44px !important;
  }

  /* R-10 support on mobile too: footer policy labels should look like text, not links. */
  body .kivaro-footer-v2 .footer-policy-v2 .footer-policy-text {
    color: rgba(247,243,238,.84) !important;
    text-decoration: none !important;
    cursor: default !important;
  }
}

/* R-10 desktop + all sizes: disable footer policy links without changing appearance. */
body .kivaro-footer-v2 .footer-policy-v2 .footer-policy-text {
  color: inherit !important;
  text-decoration: none !important;
  cursor: default !important;
}


/* =========================================================
   KIVARO 4:3 product image + desktop hover white-background restore
   Scope: Home product cards only.
   ========================================================= */

/* Product card image containers use one stable 4:3 ratio on desktop and mobile. */
body.home-page .products-section-v9 .product-highlight-v9 .image,
body.home-page .products-section-v9 .product-tile-v9 .image,
body.home-page .products-section-v9 .product-mobile-gallery {
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  background: #FFFFFF !important;
}

/* Desktop: restore hover swap to the white-background / alternate product image. */
@media (min-width: 901px) {
  body.home-page .products-section-v9 .product-mobile-gallery {
    position: relative !important;
    overflow: hidden !important;
    border-radius: inherit !important;
  }

  body.home-page .products-section-v9 .product-mobile-gallery .product-swipe-track {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  body.home-page .products-section-v9 .product-mobile-gallery .product-swipe-track > img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    transition: opacity .28s ease, transform .28s ease !important;
  }

  body.home-page .products-section-v9 .product-mobile-gallery .product-swipe-track > img:first-child {
    z-index: 1 !important;
    opacity: 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
    background: #F7F3EE !important;
  }

  body.home-page .products-section-v9 .product-mobile-gallery .product-swipe-track > img:nth-child(n+2) {
    z-index: 2 !important;
    opacity: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #FFFFFF !important;
    padding: 18px !important;
  }

  body.home-page .products-section-v9 .product-highlight-v9:hover .product-mobile-gallery .product-swipe-track > img:first-child,
  body.home-page .products-section-v9 .product-tile-v9:hover .product-mobile-gallery .product-swipe-track > img:first-child {
    opacity: 0 !important;
  }

  body.home-page .products-section-v9 .product-highlight-v9:hover .product-mobile-gallery .product-swipe-track > img:nth-child(n+2),
  body.home-page .products-section-v9 .product-tile-v9:hover .product-mobile-gallery .product-swipe-track > img:nth-child(n+2) {
    opacity: 1 !important;
  }
}

/* Mobile: keep the approved swipe card style, but use the 4:3 container. */
@media (max-width: 900px) {
  body.home-page .products-section-v9 .product-highlight-v9 .image,
  body.home-page .products-section-v9 .product-tile-v9 .image,
  body.home-page .products-section-v9 .product-mobile-gallery {
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    border-radius: 26px 26px 0 0 !important;
  }

  body.home-page .product-mobile-gallery .product-swipe-track > img:first-child {
    object-fit: cover !important;
    object-position: center center !important;
    background: #F7F3EE !important;
  }

  body.home-page .product-mobile-gallery .product-swipe-track > img:nth-child(n+2) {
    object-fit: contain !important;
    object-position: center center !important;
    background: #FFFFFF !important;
    padding: 12px !important;
  }
}


/* Desktop product feature card should not force old 620px image height after switching to 4:3. */
@media (min-width: 901px) {
  body.home-page .products-section-v9 .product-highlight-v9 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-items: stretch !important;
  }
  body.home-page .products-section-v9 .product-highlight-v9 .image {
    align-self: stretch !important;
  }
}

/* =========================================================
   KIVARO HOME confirmed mobile refinements 2026-05-28
   Scope: Home page only. No Products/OEM/About/Contact layout changes.
   ========================================================= */

/* Desktop Home product cards: keep 4:3 visuals, remove stretched blank body area, keep hover swap. */
@media (min-width: 901px) {
  body.home-page .products-section-v9 .product-tile-v9,
  body.home-page .products-section-v9 .product-highlight-v9 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body.home-page .products-section-v9 .product-tile-v9 .card-body,
  body.home-page .products-section-v9 .product-highlight-v9 .card-body {
    min-height: 0 !important;
    height: auto !important;
    justify-content: flex-start !important;
  }
  body.home-page .products-section-v9 .product-tile-v9 .btn-row,
  body.home-page .products-section-v9 .product-highlight-v9 .btn-row {
    margin-top: 18px !important;
  }
  body.home-page .testimonials.slider .track {
    gap: 18px !important;
  }
  body.home-page .testimonials .tcard {
    flex: 0 0 480px !important;
    width: 480px !important;
    max-width: 480px !important;
  }
}

/* Phone + iPad portrait: Home uses mobile logic. iPad landscape continues desktop logic. */
@media (max-width: 900px), (min-width: 901px) and (max-width: 1180px) and (orientation: portrait) {
  html {
    scroll-padding-top: 74px !important;
  }
  body.home-page {
    padding-top: 68px !important;
    background: #3D2B1F !important;
  }
  body.home-page main {
    margin-top: 0 !important;
    background: #F7F3EE !important;
  }
  body.home-page .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    background: rgba(247,243,238,.98) !important;
    border-bottom: 1px solid rgba(61,43,31,.10) !important;
    box-shadow: 0 8px 24px rgba(61,43,31,.06) !important;
  }
  body.home-page .site-header .nav-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto 42px !important;
    align-items: center !important;
    gap: 10px !important;
    height: 68px !important;
    min-height: 68px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.home-page .site-header .brand {
    grid-column: 1 !important;
    min-width: 0 !important;
  }
  body.home-page .site-header .brand img {
    display: block !important;
    width: auto !important;
    height: 34px !important;
    max-width: 154px !important;
    object-fit: contain !important;
  }
  body.home-page .site-header .mobile-header-catalog {
    grid-column: 2 !important;
    display: inline-flex !important;
    position: static !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }
  body.home-page .site-header .menu-toggle,
  body.home-page .site-header button.menu-toggle {
    grid-column: 3 !important;
    display: inline-flex !important;
    position: static !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.home-page .site-header .main-nav {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px !important;
    border: 1px solid rgba(61,43,31,.12) !important;
    border-radius: 22px !important;
    background: #F7F3EE !important;
    box-shadow: 0 18px 36px rgba(61,43,31,.13) !important;
    flex-direction: column !important;
    gap: 6px !important;
  }
  body.home-page .site-header .main-nav.open {
    display: flex !important;
  }
  body.home-page .site-header .main-nav a {
    display: flex !important;
    width: 100% !important;
    min-height: 38px !important;
    padding: 10px 14px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border-radius: 14px !important;
    white-space: nowrap !important;
  }
  body.home-page .site-header .main-nav a.btn {
    display: none !important;
  }

  /* Hero: top image, bottom text; title uses full content width and no artificial balanced wrapping. */
  body.home-page .hero-v9 > .container.hero-grid-v9,
  body.home-page .hero-v9 .container.hero-grid-v9,
  body.home-page .hero-v9 .hero-grid-v9 {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    border-radius: 26px !important;
    overflow: hidden !important;
    background: #F7F3EE !important;
  }
  body.home-page .hero-v9 .hero-media {
    order: 1 !important;
  }
  body.home-page .hero-v9 .hero-copy {
    order: 2 !important;
  }
  body.home-page .hero-v9 .hero-image-v9,
  body.home-page .hero-v9 .hero-image-v9 img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 26px 26px 0 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
  body.home-page .hero-v9 .hero-box-v9 {
    min-height: 0 !important;
    height: auto !important;
    padding: 22px 20px 24px !important;
    border-radius: 0 0 26px 26px !important;
  }
  body.home-page .hero-v9 h1 {
    max-width: 100% !important;
    width: 100% !important;
    text-wrap: normal !important;
    text-align: left !important;
    font-size: clamp(28px, 5.3vw, 42px) !important;
    line-height: 1.12 !important;
  }
  body.home-page .hero-v9 .lead,
  body.home-page .hero-v9 p.lead,
  body.home-page .section-header > p,
  body.home-page .section-header.narrow > p,
  body.home-page .serve-main-v19 > .serve-intro-v19,
  body.home-page .free-design-v19 > p {
    display: none !important;
  }
  body.home-page .hero-v9 .hero-cta-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 12px !important;
    width: 100% !important;
  }
  body.home-page .hero-v9 .hero-cta-row .btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
  }

  /* Home mobile-like content grids for phones and iPad portrait. */
  body.home-page .number-band-v9 .numbers,
  body.home-page .number-band-v9 .container.numbers {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  body.home-page .factory-section-v16 .factory-info-grid-v16,
  body.home-page .free-design-v19 {
    display: none !important;
  }
  body.home-page .factory-section-v16 .factory-gallery-v16 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  body.home-page .factory-section-v16 .factory-photo-card-v16,
  body.home-page .factory-section-v16 .factory-photo-card-v16 img {
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
    object-fit: cover !important;
  }
  body.home-page .cert-track-v13,
  body.home-page .testimonials.slider .track {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  body.home-page .cert-track-v13::-webkit-scrollbar,
  body.home-page .testimonials.slider .track::-webkit-scrollbar {
    display: none !important;
  }
  body.home-page .cert-slide-card {
    flex: 0 0 min(44vw, 210px) !important;
    width: min(44vw, 210px) !important;
    max-width: 210px !important;
    scroll-snap-align: start !important;
  }
  body.home-page .cert-slide-card h4 {
    text-align: center !important;
  }
  body.home-page .cert-slide-card p {
    display: none !important;
  }
  body.home-page .testimonials.slider {
    overflow: hidden !important;
  }
  body.home-page .testimonials.slider .track {
    gap: 14px !important;
  }
  body.home-page .testimonials .tcard {
    flex: 0 0 min(84vw, 480px) !important;
    width: min(84vw, 480px) !important;
    max-width: 480px !important;
    scroll-snap-align: start !important;
  }

  /* Product cards: mobile/pad portrait swipe only; no tap-to-switch. Keep 2 real images + loop clone from JS. */
  body.home-page .products-section-v9 .product-mobile-gallery,
  body.home-page .products-section-v9 .product-highlight-v9 .image,
  body.home-page .products-section-v9 .product-tile-v9 .image {
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    border-radius: 26px 26px 0 0 !important;
    overflow: hidden !important;
  }
  body.home-page .products-section-v9 .product-mobile-gallery .product-swipe-track {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    touch-action: pan-x pan-y !important;
  }
  body.home-page .products-section-v9 .product-mobile-gallery .product-swipe-track::-webkit-scrollbar {
    display: none !important;
  }
  body.home-page .products-section-v9 .product-mobile-gallery .product-swipe-track > img {
    display: block !important;
    position: static !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    scroll-snap-align: start !important;
    pointer-events: none !important;
  }
  body.home-page .products-section-v9 .product-mobile-gallery .product-swipe-track > img:first-child {
    object-fit: cover !important;
    object-position: center center !important;
    background: #F7F3EE !important;
  }
  body.home-page .products-section-v9 .product-mobile-gallery .product-swipe-track > img:nth-child(n+2) {
    object-fit: contain !important;
    object-position: center center !important;
    background: #FFFFFF !important;
    padding: 12px !important;
  }

  /* Our Customers / Who We Serve compact mobile-like behavior on iPad portrait. */
  body.home-page .home-clients-section .clients {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  body.home-page .home-clients-section .client,
  body.home-page .home-clients-section .client img {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 5 / 3 !important;
  }
  body.home-page .rfq-wrap-v13.who-serve-v19,
  body.home-page .who-serve-v19 .serve-grid-v19 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  body.home-page .who-serve-v19 .serve-card-v19 {
    min-height: 0 !important;
    padding: 20px 18px !important;
  }

  /* Remove pale gap below footer on Home mobile/pad portrait. */
  body.home-page .kivaro-footer-v2 {
    margin-bottom: 0 !important;
    padding-bottom: max(26px, env(safe-area-inset-bottom)) !important;
    background: #3D2B1F !important;
  }
}
