/*
Theme Name: WESUNO Education
Theme URI: https://example.com/
Author: WESUNO
Description: WESUNO V7-inspired responsive education company theme with editable hero banners, products, inquiry, multilingual UI, and SEO foundations.
Version: 1.1.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: wesuno
*/

/* =========================
   WESUNO BASE STYLES
   ========================= */
:root {
  --blue: #155b91;
  --navy: #153d63;
  --mint: #eaf8f4;
  --muted: #637d91;
  --footer-bg: #eaf4fb;
  --footer-text: #173b5b;
  --footer-link: #35566f;
  --footer-accent: #126396;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  color: var(--navy);
  background: #fff;
}

a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
img { max-width: 100%; }

.wrap {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
}

.header {
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 50;
  box-shadow: 0 1px 15px #153d6314;
}

.header .wrap {
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 24px;
}

.brand {
  font-size: 28px;
  font-weight: 900;
  letter-spacing: .08em;
  color: #126396;
  white-space: nowrap;
}

.nav {
  display: flex;
  gap: 23px;
  flex: 1;
  align-items: center;
  flex-wrap: wrap;
}

.nav a { font-size: 14px; font-weight: 650; }
.nav a:hover, .nav .current { color: #1680b5; }

.lang {
  border: 1px solid #c8dce9;
  border-radius: 22px;
  padding: 9px;
  background: #fff;
  max-width: 125px;
}

.hero { position: relative; width: 100%; overflow: hidden; }
.hero-slide {
  display: none;
  position: relative;
  width: 100%;
  aspect-ratio: 1920 / 760;
  background: #edf7fc;
}
.hero-slide.active { display: block; }
.hero-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }

.hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: #fffddf;
  color: #135a8a;
  font-size: 26px;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  cursor: pointer;
}
.hero-arrow.prev { left: 18px; }
.hero-arrow.next { right: 18px; }

.hero-dots {
  position: absolute;
  bottom: 18px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 10px;
}
.hero-dots button {
  height: 12px;
  width: 12px;
  border: 0;
  border-radius: 50%;
  background: #ffffffa8;
  cursor: pointer;
}
.hero-dots button.active { background: #1668a2; }

.section { padding: 72px 0; }
.section.tint { background: linear-gradient(120deg, #eff9fc, #e9f8f3); }
.section h1, .section h2 {
  font-size: clamp(28px, 3vw, 43px);
  margin: 0 0 14px;
}
.lede {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
  margin: 0 0 34px;
}

.cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.card {
  border: 1px solid #e0ebf1;
  border-radius: 17px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 25px #1b53740b;
}
.card img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  background: #f9fcfe;
}
.card-body { padding: 17px; }
.card h3 { margin: 0 0 9px; font-size: 18px; }
.card p { color: var(--muted); line-height: 1.55; font-size: 14px; }

.btn {
  border: 0;
  border-radius: 30px;
  background: #15629c;
  color: #fff;
  padding: 12px 20px;
  display: inline-block;
  cursor: pointer;
  font-weight: 700;
}
.btn.alt { background: #edf7fb; color: #155b91; }
.btn.small { padding: 9px 15px; font-size: 13px; }
.actions { display: flex; gap: 9px; flex-wrap: wrap; }
.center { text-align: center; margin-top: 30px; }

.videos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.video { border: 1px solid #dcebf3; border-radius: 15px; padding: 12px; background: #fff; }
.video iframe, .video .video-placeholder {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 10px;
  background: #dceef6;
}
.video-placeholder { display: grid; place-items: center; color: #567c98; }
.video h3 { font-size: 16px; }

.two { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; align-items: start; }
.gallery-main {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  border: 1px solid #e1ebf0;
  border-radius: 16px;
  cursor: zoom-in;
}
.thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; margin-top: 12px; }
.thumbs button { padding: 0; border: 2px solid transparent; border-radius: 9px; background: #f5f9fb; cursor: pointer; }
.thumbs button.selected { border-color: #1380bc; }
.thumbs img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }

.product-text { line-height: 1.8; white-space: normal; }
.product-text p { color: #58738a; }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-grid label { display: block; font-weight: 650; font-size: 14px; }
.form-grid input, .form-grid textarea, .form-grid select {
  width: 100%;
  margin-top: 6px;
  padding: 12px;
  border: 1px solid #ccdee9;
  border-radius: 8px;
  background: #fff;
}
.form-grid .wide { grid-column: 1 / -1; }

/* =========================
   OEM / ODM CARDS
   ========================= */
.cards.oem-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch;
  width: 100%;
}
.cards.oem-cards > * {
  display: block;
  min-width: 0;
  width: auto;
  max-width: none;
  height: 100%;
  box-sizing: border-box;
}
.cards.oem-cards > .card {
  padding: 24px;
  border: 1px solid #e0ebf1;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(21, 59, 99, .07);
}
.cards.oem-cards > .card h3 {
  margin: 0 0 14px;
  color: #153d63;
  font-size: 20px;
  line-height: 1.4;
}
.cards.oem-cards > .card p {
  margin: 0;
  color: #58738a;
  font-size: 16px;
  line-height: 1.65;
}

/* OEM / ODM product gallery */
.product-showcase { margin-top: 32px !important; padding-top: 24px !important; }
.product-showcase h2 { margin: 0 0 8px !important; }
.product-showcase > p.lede { margin: 0 0 18px !important; }
.product-showcase .product-gallery { margin-top: 0 !important; }
.product-gallery-card { overflow: hidden; }
.product-gallery-card img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2 !important;
  object-fit: cover !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
}

/* =========================
   CONSISTENT WESUNO FOOTER
   Light blue background with dark blue text
   Works with both footer.footer and footer.footer.wesuno-footer
   ========================= */
footer.footer,
footer.footer.wesuno-footer {
  display: block !important;
  width: 100% !important;
  background: #eaf4fb !important;
  color: #173b5b !important;
  padding: 44px 0 20px !important;
  box-sizing: border-box !important;
}

/* Force readable text colors throughout the footer */
body footer.footer,
body footer.footer p,
body footer.footer span,
body footer.footer strong,
body footer.footer h2,
body footer.footer h3,
body footer.footer h4,
body footer.footer label,
body footer.footer a,
body footer.footer li,
body footer.footer small {
  color: #173b5b !important;
}

footer.footer > .wrap,
footer.footer.wesuno-footer > .wrap {
  display: block !important;
  width: min(1320px, calc(100% - 64px)) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Four-column footer grid */
footer.footer .wesuno-footer-grid {
  display: grid !important;
  grid-template-columns: 1.4fr .8fr .9fr .8fr !important;
  gap: 48px !important;
  align-items: start !important;
  width: 100% !important;
  padding: 0 0 32px !important;
  margin: 0 !important;
}

footer.footer .wesuno-footer-grid > div {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
}

footer.footer .wesuno-footer-brand {
  display: inline-block !important;
  color: #126396 !important;
  font-size: 36px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  margin: 0 0 12px !important;
}

footer.footer .wesuno-footer-tagline {
  color: #173b5b !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  margin: 0 0 12px !important;
}

footer.footer .wesuno-footer-description {
  color: #35566f !important;
  font-size: 13px !important;
  line-height: 1.9 !important;
  margin: 0 0 16px !important;
}

footer.footer .wesuno-footer-col h3 {
  color: #173b5b !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  margin: 4px 0 16px !important;
}

footer.footer .wesuno-footer-col > a,
footer.footer .wesuno-footer-col a {
  display: block;
  width: fit-content;
  color: #35566f !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  margin: 0 0 9px !important;
  text-decoration: none !important;
}

footer.footer .wesuno-footer-col > a:hover,
footer.footer .wesuno-footer-col a:hover {
  color: #12947d !important;
  text-decoration: underline !important;
}

footer.footer .wesuno-footer-lang,
footer.footer select {
  display: block;
  width: 100%;
  max-width: 240px;
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid #c8dce9 !important;
  border-radius: 24px;
  background: #fff !important;
  color: #173b5b !important;
}

footer.footer .wesuno-footer-bottom {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px 24px !important;
  width: 100% !important;
  padding: 18px 0 0 !important;
  margin: 0 !important;
  border-top: 1px solid #c5d9e7 !important;
  color: #35566f !important;
  font-size: 12px !important;
  line-height: 1.8 !important;
  box-sizing: border-box !important;
}

footer.footer .wesuno-footer-bottom > span {
  display: block !important;
  margin: 0 !important;
  color: #35566f !important;
}

/* Original/simple footer fallback */
footer.footer:not(.wesuno-footer) > .wrap {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
}
footer.footer:not(.wesuno-footer) strong {
  color: #126396 !important;
  font-size: 30px !important;
}
footer.footer:not(.wesuno-footer) p {
  color: #35566f !important;
}

/* Social icons */
.social { display: flex; gap: 15px; }
.social a {
  border: 1px solid #b8d0e0;
  border-radius: 50%;
  height: 44px;
  width: 44px;
  display: grid;
  place-items: center;
}
.social svg, .whatsapp svg { height: 23px; width: 23px; fill: currentColor; }

.whatsapp {
  position: fixed;
  right: 24px;
  bottom: 24px;
  background: #22c55e;
  color: #fff;
  border: 0;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  box-shadow: 0 7px 22px #173f6040;
  z-index: 90;
  cursor: pointer;
}
.wa-pop {
  display: none;
  position: fixed;
  right: 24px;
  bottom: 95px;
  padding: 18px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 40px #173f6030;
  z-index: 90;
  max-width: 280px;
}
.wa-pop.open { display: block; }
.wa-pop a { display: inline-block; margin-top: 12px; }

.faq details { border-bottom: 1px solid #dce8ef; padding: 18px 0; }
.faq summary { cursor: pointer; font-weight: 700; }
.faq p { line-height: 1.7; color: #59738a; }
.notice { padding: 13px; border-radius: 9px; background: #e8f7ef; }

.rtl { direction: rtl; }
.rtl .nav { direction: rtl; }
.rtl .whatsapp, .rtl .wa-pop { right: auto; left: 24px; }
.rtl .hero-slide { direction: ltr; }
.screen-reader-text { position: absolute; left: -9999px; }

/* =========================
   RESPONSIVE LAYOUT
   ========================= */
@media (max-width: 900px) {
  .header .wrap { flex-wrap: wrap; padding: 12px 0; }
  .nav { order: 3; width: 100%; justify-content: center; }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cards.oem-cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .two { grid-template-columns: 1fr; }
  .videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  footer.footer .wesuno-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 32px !important;
  }
}

@media (max-width: 600px) {
  .wrap { width: calc(100% - 30px); }
  .header .wrap { gap: 10px; }
  .nav { gap: 11px; }
  .nav a { font-size: 12px; }
  .brand { font-size: 22px; }
  .hero-slide { aspect-ratio: 16 / 9; }
  .hero-slide img { object-fit: cover; }
  .hero-arrow { width: 35px; height: 35px; font-size: 19px; }
  .section { padding: 42px 0; }
  .cards, .videos, .form-grid { grid-template-columns: 1fr; }
  .cards.oem-cards { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
  .form-grid .wide { grid-column: auto; }
  .thumbs { gap: 4px; }
  footer.footer > .wrap { width: calc(100% - 36px) !important; }
  footer.footer:not(.wesuno-footer) > .wrap { display: block !important; }
  footer.footer .wesuno-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 18px !important;
  }
  footer.footer .wesuno-footer-brand-col { grid-column: 1 / -1 !important; }
  footer.footer .wesuno-footer-brand { font-size: 30px !important; }
  footer.footer .wesuno-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }
}

/* WESUNO FOOTER TEXT COLOR - FINAL FIX */

/* All footer headings */
footer h1,
footer h2,
footer h3,
footer h4,
footer .wesuno-footer-col h3,
footer .wesuno-footer-grid h3 {
    color: #173B5B !important;
}

/* All footer text */
footer p,
footer span,
footer label,
footer strong,
footer li {
    color: #173B5B !important;
}

/* Footer navigation links */
footer a,
footer .wesuno-footer-col a,
footer .wesuno-footer-col > a {
    color: #35566F !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

/* Footer links on hover */
footer a:hover,
footer .wesuno-footer-col a:hover {
    color: #12947D !important;
}

/* Language selector */
footer select,
footer .wesuno-footer-lang {
    color: #173B5B !important;
    background-color: #FFFFFF !important;
    border: 1px solid #C8DCE9 !important;
}

/* Footer copyright */
footer .wesuno-footer-bottom,
footer .wesuno-footer-bottom span {
    color: #35566F !important;
    border-color: #C5D9E7 !important;
}

/* =========================================
   WESUNO FOOTER - COLOR & READABILITY FIX
   ========================================= */

/* Footer background and base text */
footer.footer.wesuno-footer {
    background: #EAF4FB !important;
    color: #173B5B !important;
}

/* Footer inner layout */
footer.footer.wesuno-footer .wesuno-footer-grid {
    color: #173B5B !important;
}

/* Brand logo */
footer.footer.wesuno-footer .wesuno-footer-brand {
    color: #17649A !important;
    font-size: 44px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    line-height: 1.2;
}

/* Tagline and description */
footer.footer.wesuno-footer .wesuno-footer-tagline,
footer.footer.wesuno-footer .wesuno-footer-description {
    color: #244B6B !important;
    opacity: 1 !important;
}

/* Column headings: Explore, Cooperation, Language */
footer.footer.wesuno-footer .wesuno-footer-col h3 {
    color: #173B5B !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}

/* All footer navigation links */
footer.footer.wesuno-footer .wesuno-footer-col a {
    display: block;
    color: #35566F !important;
    opacity: 1 !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

/* Hover color */
footer.footer.wesuno-footer .wesuno-footer-col a:hover {
    color: #12947D !important;
}

/* Language dropdown */
footer.footer.wesuno-footer .wesuno-footer-lang {
    color: #173B5B !important;
    background: #FFFFFF !important;
    border: 1px solid #C8DCE9 !important;
    opacity: 1 !important;
}

/* Copyright divider */
footer.footer.wesuno-footer .wesuno-footer-bottom {
    border-top: 1px solid #C5D9E7 !important;
}

/* Copyright text */
footer.footer.wesuno-footer .wesuno-footer-bottom,
footer.footer.wesuno-footer .wesuno-footer-bottom span {
    color: #35566F !important;
    opacity: 1 !important;
}

/* Social icons */
footer.footer.wesuno-footer .wesuno-footer-social a {
    color: #17649A !important;
}

/* Mobile adjustment */
@media (max-width: 768px) {
    footer.footer.wesuno-footer .wesuno-footer-brand {
        font-size: 36px !important;
    }
}

/* =========================================
   WESUNO WHATSAPP BUTTON - SHARP ICON + TOOLTIP
   ========================================= */

/* Main WhatsApp button */
button.whatsapp {
    position: fixed !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 64px !important;
    height: 64px !important;
    padding: 0 !important;
    border: 3px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: 50% !important;
    background: #20C968 !important;
    box-shadow: 0 3px 12px rgba(20, 70, 55, 0.18) !important;
    cursor: pointer;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

/* Make the WhatsApp icon crisp */
button.whatsapp svg {
    display: block !important;
    width: 35px !important;
    height: 35px !important;
    max-width: none !important;
    max-height: none !important;
    flex: 0 0 35px !important;
    opacity: 1 !important;
    filter: none !important;
    shape-rendering: geometricPrecision;
}

/* Hover effect */
button.whatsapp:hover {
    background: #159F50 !important;
    box-shadow: 0 5px 16px rgba(20, 70, 55, 0.25) !important;
}

/* Tooltip: hidden by default */
button.whatsapp::after {
    content: "Chat with us on WhatsApp";
    position: absolute;
    right: calc(100% + 12px);
    top: 50%;
    transform: translate(6px, -50%);
    width: max-content;
    max-width: 260px;
    padding: 12px 16px;
    border-radius: 10px;
    background: #17483D;
    color: #FFFFFF !important;
    font-family: Arial, sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease,
                visibility 0.2s ease;
}

/* Show tooltip on mouse hover or keyboard focus */
button.whatsapp:hover::after,
button.whatsapp:focus-visible::after {
    opacity: 1;
    visibility: visible;
    transform: translate(0, -50%);
}

/* Keyboard accessibility */
button.whatsapp:focus-visible {
    outline: 3px solid #17649A !important;
    outline-offset: 4px;
}

/* Mobile sizing */
@media (max-width: 600px) {
    button.whatsapp {
        width: 58px !important;
        height: 58px !important;
    }

    button.whatsapp svg {
        width: 32px !important;
        height: 32px !important;
        flex-basis: 32px !important;
    }

    button.whatsapp::after {
        font-size: 13px;
        padding: 10px 12px;
        max-width: 220px;
    }
}

/* WhatsApp icon crisp rendering */
button.whatsapp svg {
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    overflow: visible !important;
    color: #FFFFFF !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    shape-rendering: geometricPrecision;
    filter: none !important;
    transform: translateZ(0);
}
/* WESUNO: Center and visually rename the three video card titles */
section:has(iframe) article:nth-of-type(1) h3,
section:has(iframe) article:nth-of-type(2) h3,
section:has(iframe) article:nth-of-type(3) h3 {
    text-align: center;
    font-size: 0;
    line-height: 1.5;
}

section:has(iframe) article:nth-of-type(1) h3::after {
    content: "Product Instruction";
    font-size: 18px;
}

section:has(iframe) article:nth-of-type(2) h3::after {
    content: "Packaging Unboxing";
    font-size: 18px;
}

section:has(iframe) article:nth-of-type(3) h3::after {
    content: "Factory Production";
    font-size: 18px;
}

/* WESUNO Video Cards: center and rename the three titles */
.videos > .video:nth-child(1) h3,
.videos > .video:nth-child(2) h3,
.videos > .video:nth-child(3) h3 {
    text-align: center !important;
    font-size: 0 !important;
    line-height: 1.5;
}

.videos > .video:nth-child(1) h3::after {
    content: "Product Instruction";
    font-size: 16px;
}

.videos > .video:nth-child(2) h3::after {
    content: "Packaging Unboxing";
    font-size: 16px;
}

.videos > .video:nth-child(3) h3::after {
    content: "Factory Production";
    font-size: 16px;
}

/* WESUNO: Mobile header and navigation layout */
@media screen and (max-width: 768px) {

  /* Allow the header elements to wrap on small screens */
  header .wrap,
  header .header-inner {
    flex-wrap: wrap !important;
    align-items: center !important;
    row-gap: 12px !important;
  }

  /* Keep navigation on its own full-width row */
  header nav,
  header .main-navigation,
  header .main-nav {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  /* Arrange the six menu items neatly */
  header nav ul,
  header .main-navigation ul,
  header .main-nav ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 4px 14px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  header nav li,
  header .main-navigation li,
  header .main-nav li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  header nav a,
  header .main-navigation a,
  header .main-nav a {
    display: block !important;
    padding: 7px 2px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }

}

/* WESUNO mobile navigation fix */
@media screen and (max-width: 768px) {

  /* Header: logo and language selector on the first row */
  .header > .wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
  }

  /* Logo */
  .header .brand {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .header .brand-logo {
    display: block !important;
    width: 165px !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Language selector */
  .header .wrap > label {
    display: block !important;
    min-width: 0 !important;
    max-width: 112px !important;
    margin: 0 !important;
  }

  .header .lang {
    display: block !important;
    width: 112px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    font-size: 13px !important;
  }

  /* Navigation: a separate row below the logo */
  .header .nav {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 8px 0 2px !important;
    box-sizing: border-box !important;
  }

  /* Six links arranged in two rows, three columns */
  .header .nav a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 36px !important;
    padding: 6px 2px !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    box-sizing: border-box !important;
  }

}

/* WESUNO Desktop Navigation Font Size */
@media screen and (min-width: 769px) {
    .header .nav a {
        font-size: 20px !important;
    }
}

/* WESUNO multilingual / RTL refinements */
html[dir="rtl"] body,
body.rtl { direction: rtl; text-align: right; }
body.rtl .header .wrap { direction: rtl; }
body.rtl .nav { direction: rtl; }
body.rtl .hero-arrow.prev { left: auto; right: 18px; }
body.rtl .hero-arrow.next { right: auto; left: 18px; }
body.rtl .cards,
body.rtl .videos,
body.rtl .two,
body.rtl .form-grid { direction: rtl; }
body.rtl .form-grid input,
body.rtl .form-grid textarea,
body.rtl .form-grid select { text-align: right; }
body.rtl .wesuno-footer-grid,
body.rtl .wesuno-footer-bottom { direction: rtl; }
body.rtl .wesuno-footer-col,
body.rtl .wesuno-footer-brand-col { text-align: right; }
body.rtl .wa-pop { text-align: right; }
body.rtl .thumbs { direction: rtl; }


/* WESUNO 1.1.4.2: equal-height homepage cards with three-line descriptions across all languages */
.home .cards:not(.oem-cards) {
  align-items: stretch;
}
.home .cards:not(.oem-cards) > .card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}
.home .cards:not(.oem-cards) > .card > a:first-child {
  display: block;
  flex: 0 0 auto;
}
.home .cards:not(.oem-cards) > .card > a:first-child img,
.home .cards:not(.oem-cards) > .card > img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: contain;
}
.home .cards:not(.oem-cards) > .card .card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}
.home .cards:not(.oem-cards) > .card .card-body h3 {
  min-height: 2.7em;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.home .cards:not(.oem-cards) > .card .card-body p {
  flex: 0 0 auto;
  min-height: calc(1.55em * 3);
  max-height: calc(1.55em * 3);
  line-height: 1.55;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.home .cards:not(.oem-cards) > .card .card-body .actions {
  margin-top: auto;
  padding-top: 12px;
}
@media (max-width: 900px) {
  .home .cards:not(.oem-cards) > .card .card-body p {
    min-height: calc(1.55em * 3);
    max-height: calc(1.55em * 3);
    -webkit-line-clamp: 3;
  }
}
