/* Shared footer geometry. Preserve the site's existing navy, blue and green. */
footer.site-footer {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:32px 40px;
  padding:40px max(24px,calc((100% - 1240px)/2)) 24px;
  text-align:start;
}
html:not([lang="ar"]) footer.site-footer { direction:ltr; }
footer.site-footer .site-footer__brand {
  grid-column:1/-1;grid-row:auto;max-width:none;width:100%;
  display:grid;grid-template-columns:132px minmax(0,600px);
  align-items:center;justify-content:start;gap:6px 28px;padding-bottom:28px;
  border-bottom:1px solid #ffffff24;
}
footer.site-footer .site-footer__brand>a:first-child {
  grid-column:1;grid-row:1/4;justify-self:start;margin:0;padding:6px 10px;
}
footer.site-footer .site-footer__brand p {
  grid-column:2;grid-row:1;align-self:end;max-width:none;
  margin:0;font-size:15px;line-height:1.55;
}
footer.site-footer .site-footer__brand>a:not(:first-child) {
  grid-column:2;grid-row:2;align-self:start;justify-self:start;font-size:13px;
}
footer.site-footer .site-footer__social {
  grid-column:2;grid-row:3;justify-content:flex-start;
  align-items:center;padding:0;margin-top:8px;gap:8px;
}
footer.site-footer .site-footer__social a {
  flex-basis:40px;width:40px;height:44px;min-height:44px;
}
footer.site-footer .site-footer__group,
footer.site-footer .site-footer__group>summary,
footer.site-footer .site-footer__links,
footer.site-footer .site-footer__links a {
  width:100%;margin-inline:0;text-align:start;justify-self:stretch;
}
footer.site-footer .site-footer__group>summary {
  font-size:16px;line-height:1.5;margin-block:0 12px;letter-spacing:.02em;
}
footer.site-footer .site-footer__links {
  display:flex;flex-direction:column;align-items:stretch;gap:2px;
  font-size:14px;
}
footer.site-footer .site-footer__links a {
  display:block;padding:7px 0;font-size:14px;font-weight:500;line-height:1.5;
  overflow-wrap:break-word;
}
footer.site-footer .site-footer__group:not([open])>.site-footer__links {display:none;}
footer.site-footer .site-footer__links a[href^="mailto:"],
footer.site-footer .site-footer__links a[href*="wa.me/"] {direction:ltr;text-align:start;}
html[lang="ar"] footer.site-footer .site-footer__links a[href^="mailto:"],
html[lang="ar"] footer.site-footer .site-footer__links a[href*="wa.me/"] {text-align:right;}
footer.site-footer .site-footer__bottom {
  flex-direction:row;align-items:center;margin:0;padding-top:20px;font-size:12px;
}
@media(min-width:761px) and (max-width:1100px) {
  footer.site-footer {grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 44px;padding-inline:32px;}
  footer.site-footer .site-footer__brand {grid-template-columns:132px minmax(0,1fr);}
  footer.site-footer .site-footer__social {grid-column:2;grid-row:3;margin-top:8px;}
  footer.site-footer .site-footer__brand>a:first-child {grid-row:1/4;}
}
/* Desktop: one compact row, brand/social on the left and four aligned link groups. */
@media(min-width:1101px) {
  footer.site-footer {
    grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(0,1fr)) minmax(170px,1.1fr);
    gap:26px 28px;padding-block:36px 20px;
  }
  footer.site-footer .site-footer__brand {
    display:block;grid-column:auto;grid-row:auto;max-width:none;
    padding:0;border-bottom:0;
  }
  footer.site-footer .site-footer__brand>a:first-child {display:inline-block;margin-bottom:14px;}
  footer.site-footer .site-footer__brand p {max-width:250px;font-size:13px;line-height:1.65;margin-bottom:9px;}
  footer.site-footer .site-footer__brand>a:not(:first-child) {font-size:12px;line-height:1.6;}
  footer.site-footer .site-footer__social {display:flex;margin-top:16px;gap:6px;}
  footer.site-footer .site-footer__social a {flex-basis:32px;width:32px;height:40px;min-height:40px;}
  footer.site-footer .site-footer__group>summary {font-size:14px;margin-bottom:10px;}
  footer.site-footer .site-footer__links {gap:1px;}
  footer.site-footer .site-footer__links a {font-size:13px;padding-block:5px;line-height:1.6;}
  footer.site-footer .site-footer__bottom {padding-top:16px;}
}
@media(max-width:760px) {
  html {scroll-padding-top:0;}
  main[id],main [id],footer#site-footer {scroll-margin-top:88px!important;}
  html.cs-mobile-menu-open .cs-unified-header.site-header {
    position:fixed;top:0;inset-block-start:0;inset-inline:0;width:100%;
  }
  html.cs-mobile-menu-open body {padding-top:72px;}
  .cs-unified-header .cs-original-language select {font-size:16px!important;}
  .cs-unified-header .cs-nav-toggle {align-self:center;}
  .cs-home-page main .section {padding:44px 20px;}
  .cs-home-page .section-heading {margin-bottom:28px;}
  .cs-home-page .section-heading h2,.cs-home-page .product-content h2,
  .cs-home-page .oem-factory-intro-copy h2,.pet-family-copy h1,
  .insights-hero h1,.cat-page .cat-hero h1 {font-size:32px;line-height:1.14;}
  .cs-home-page .product-section {min-height:0;display:flex;flex-direction:column;}
  .cs-home-page .product-section .product-image {
    position:relative;inset:auto;min-height:0;height:auto;width:100%;aspect-ratio:3/2;
  }
  .cs-home-page .product-image img {height:100%;object-fit:cover;}
  .cs-home-page .product-section .product-content {
    width:100%;min-height:0;padding:32px 20px 40px;margin:0;
    background:#fff;backdrop-filter:none;
  }
  .cs-home-page .product-content h2 {margin-bottom:24px;}
  .cs-home-page .product-list article {gap:10px;padding-block:17px;}
  .cs-home-page .product-list h3 {font-size:20px;line-height:1.3;}
  .cs-home-page .product-list .cs-product-name {display:inline-block;}
  .cs-home-page .product-item p {font-size:15px;line-height:1.65;}
  .cs-home-page .litter-style-grid {gap:12px;}
  .cs-home-page .litter-style-grid article {min-height:0;}
  .cs-home-page .litter-style-grid .cs-product-photo img {height:165px;}
  .cs-home-page .litter-style-grid article:first-child .cs-product-photo img {height:205px;}
  .cs-home-page .litter-style-grid article>div {gap:10px;padding:14px 12px;align-items:baseline;min-height:70px;}
  .cs-home-page .litter-style-grid article h3 {font-size:17px;line-height:1.35;}
  .cs-home-page .cleaning-grid.cleaning-grid-compact {
    grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;
    grid-auto-flow:row;grid-auto-columns:auto;gap:12px;
    overflow:visible;scroll-snap-type:none;padding:0;
  }
  .cleaning-grid-compact .cs-product-photo--care img {height:145px;padding:12px;}
  .cs-home-page .cleaning-grid-compact h3 {font-size:17px;line-height:1.35;}
  .cs-home-page .cleaning-grid-compact article {border-radius:9px;}
  .cs-home-page .oem-factory-stages p,.exhibition-meeting p {font-size:15px;line-height:1.65;}
  .cs-home-page .oem-factory-program h3,.cs-home-page .oem-factory-overview h3 {font-size:30px;line-height:1.15;}
  .factory-page .hero h1 {font-size:38px;line-height:1.1;letter-spacing:-.025em;}
  .factory-page .hero-copy {margin:0;padding:36px 20px;width:100%;}
  .factory-page .hero-metrics {gap:10px;}
  .factory-page .hero-metrics span {min-width:0;}
  .factory-page .hero-metrics strong {font-size:20px;white-space:normal;}
  .cat-sections,.cs-factory-sections,.sourcing-tabs {
    display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:20px;
    overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;
    scroll-padding-inline:20px;
  }
  .cat-sections a,.cs-factory-sections a,.sourcing-tabs a {
    flex:none;white-space:nowrap;display:inline-flex;align-items:center;
    min-height:44px;font-size:14px;padding-block:8px;
  }
  .sourcing-tabs {padding-block:8px;}
  .sourcing-variant p,.sourcing-caption,.sourcing-table td,.sourcing-table th {font-size:14px!important;line-height:1.65;}
  .sourcing-table-wrap,.buyer-table-wrap {overscroll-behavior-inline:contain;}
  .sourcing-actions .sourcing-link,.cs-sourcing-resources a,.cs-inquiry-email {
    display:inline-flex;align-items:center;min-height:44px;
  }
  .sourcing-dialog {
    padding:64px 10px 16px;max-width:96vw;max-height:94dvh;
    overscroll-behavior:contain;
  }
  .sourcing-dialog>img {max-width:100%;max-height:calc(94dvh - 94px);object-fit:contain;}
  .sourcing-dialog>button {
    position:fixed;inset-block-start:max(12px,env(safe-area-inset-top));
    inset-inline-end:max(12px,env(safe-area-inset-right));left:auto;right:12px;
    width:46px;height:46px;border-radius:50%;background:#fff;color:#075a9e;
    box-shadow:0 3px 18px #052b452e;border:1px solid #d7e6ed;z-index:5;
  }
  html[dir="rtl"] .sourcing-dialog>button {right:12px;left:auto;}
  .inquiry-form label:has(input[type="checkbox"]),
  .buyer-form label:has(input[type="checkbox"]) {
    display:flex;align-items:flex-start;gap:12px;min-height:44px;
    font-size:13px;line-height:1.6;letter-spacing:0;
  }
  .inquiry-form input[type="checkbox"],.buyer-form input[type="checkbox"] {
    flex:0 0 20px;width:20px;height:20px;min-width:20px;min-height:20px;
    margin:2px 0 0;padding:0;accent-color:#087db5;
  }
  .network-motion-control {min-height:44px;font-size:12px;}
  footer.site-footer {grid-template-columns:1fr!important;gap:0;padding:32px 20px 24px;}
  footer.site-footer .site-footer__brand {display:block;padding:0 0 26px;border-bottom:0;}
  footer.site-footer .site-footer__brand>a:first-child {display:inline-block;margin-bottom:16px;}
  footer.site-footer .site-footer__brand p {font-size:15px;margin-bottom:8px;}
  footer.site-footer .site-footer__brand>a:not(:first-child) {font-size:13px;}
  footer.site-footer .site-footer__social {display:flex;margin-top:20px;gap:10px;}
  footer.site-footer .site-footer__group>summary {
    display:flex;align-items:center;justify-content:space-between;
    min-height:56px;margin:0;padding:14px 0;font-size:16px;
  }
  footer.site-footer .site-footer__links {gap:0;padding:0 0 14px;}
  footer.site-footer .site-footer__links a {min-height:44px;padding:11px 0;font-size:14px;}
  footer.site-footer .site-footer__bottom {gap:12px;margin-top:0;padding-top:20px;}
  footer.site-footer .site-footer__bottom a {display:inline-flex;align-items:center;min-height:44px;}
}
@media(max-width:360px) {
  .cs-unified-header .cs-original-language select {max-width:110px!important;width:110px;}
  .cs-home-page .hero-actions {grid-template-columns:1fr;}
  .cs-home-page .cleaning-grid-compact h3,.cs-home-page .litter-style-grid article h3 {font-size:16px;}
  .cs-home-page .litter-style-grid article>div {gap:7px;padding-inline:10px;}
  .factory-page .hero h1 {font-size:34px;}
}
/* Touch phones in landscape share the same scroll lock as portrait phones. */
@media(min-width:761px) and (max-width:1050px) and (pointer:coarse) {
  html.cs-mobile-menu-open .cs-unified-header.site-header {
    position:fixed;top:0;inset-block-start:0;inset-inline:0;width:100%;
  }
  html.cs-mobile-menu-open body {padding-top:72px;}
  html.cs-mobile-menu-open .cs-unified-header .main-nav.open {
    position:fixed;top:72px!important;inset-inline:0;
    max-height:calc(100dvh - 72px)!important;overscroll-behavior:contain;
  }
}
@media(hover:none) {
  .cleaning-grid-compact article:hover,.product-list article:hover {transform:none;padding-inline-start:0;}
  .litter-style-grid article:hover img {transform:none;}
}
