/* Grosspal production fixes: accessibility helpers, temporary data markers, form fallback states */
:root { --gp-primary:#1B4F72; --gp-accent:#E67E22; --gp-warning:#E67E22; }
.skip-link { position:absolute; top:-100px; right:1rem; z-index:9999; background:#fff; color:#1B4F72; border:2px solid #1B4F72; border-radius:.75rem; padding:.75rem 1rem; font-weight:800; box-shadow:0 8px 24px rgba(0,0,0,.18); }
.skip-link:focus { top:1rem; outline:3px solid #E67E22; outline-offset:2px; }
.temp-data { color:var(--gp-accent) !important; font-weight:800; }
.temp-note { border:2px dashed var(--gp-accent); background:#fff7ed; color:#9a3412; border-radius:1rem; padding:1rem; font-weight:700; }
.form-status-message { margin-top:1rem; padding:1rem; border-radius:.75rem; font-weight:700; line-height:1.55; }
.form-status-message.success { background:#f0f7fb; color:var(--gp-primary); border:1px solid var(--gp-primary); }
.form-status-message.error { background:#fff7ed; color:#9a3412; border:1px solid var(--gp-accent); }
.enable-placeholder-note { border:2px dashed var(--gp-accent); background:#fff7ed; color:#9a3412; border-radius:1rem; padding:1rem; font-size:.95rem; line-height:1.65; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid #E67E22 !important; outline-offset:3px !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } video { display:none !important; } }


/* Formspree-ready forms */
.formspree-setup-note { margin-top:.75rem; font-size:.8rem; color:#9a3412; font-weight:700; }

/* Professional article layouts */
.article-hero-preview { margin-top:2rem; border-radius:1.5rem; overflow:hidden; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22); box-shadow:0 24px 60px rgba(0,0,0,.25); }
.article-hero-preview img { width:100%; display:block; aspect-ratio:16/7; object-fit:cover; }
.article-page-content { font-size:1.04rem; line-height:1.9; }
.article-page-content h2 { color:var(--gp-primary); font-weight:900; font-size:1.65rem; line-height:1.3; margin-top:2.25rem; margin-bottom:.85rem; padding-top:.35rem; border-top:1px solid #e5e7eb; }
.article-page-content h3 { color:#1f2937; font-weight:850; font-size:1.18rem; margin-top:1.3rem; margin-bottom:.4rem; }
.article-page-content p { margin-bottom:1rem; color:#374151; }
.article-page-content ul { margin:1rem 0 1.4rem; padding-right:1.35rem; list-style:disc; }
.article-page-content li { margin-bottom:.45rem; color:#374151; }
.article-featured-media { margin:1.5rem 0 1.75rem; border-radius:1.4rem; overflow:hidden; border:1px solid #e5e7eb; background:#f8fafc; box-shadow:0 18px 45px rgba(15,23,42,.08); }
.article-featured-media img { width:100%; display:block; aspect-ratio:16/9; object-fit:cover; }
.article-featured-media figcaption { padding:.75rem 1rem; font-size:.86rem; color:#6b7280; background:#fff; border-top:1px solid #e5e7eb; }
.article-visual-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.75rem 0 2rem; }
.article-visual-card { background:linear-gradient(180deg,#ffffff,#f8fafc); border:1px solid #e5e7eb; border-radius:1.15rem; padding:1rem; box-shadow:0 12px 30px rgba(15,23,42,.06); }
.article-visual-card .num { display:inline-flex; width:2.15rem; height:2.15rem; align-items:center; justify-content:center; border-radius:.75rem; background:rgba(230,126,34,.12); color:var(--gp-accent); font-weight:900; margin-bottom:.7rem; }
.article-visual-card strong { display:block; color:var(--gp-primary); font-size:1rem; margin-bottom:.35rem; }
.article-visual-card p { margin:0; font-size:.9rem; color:#6b7280; line-height:1.65; }
.article-note-box { margin:2rem 0; padding:1.25rem 1.35rem; border-radius:1.25rem; background:#f0f7fb; border-right:5px solid var(--gp-primary); color:#1f2937; }
.article-note-box strong { color:var(--gp-primary); }
.article-image-strip { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.75rem 0 2rem; }
.article-image-tile { border-radius:1.15rem; background:#f8fafc; border:1px solid #e5e7eb; overflow:hidden; }
.article-image-tile .tile-visual { min-height:118px; background:linear-gradient(135deg,rgba(27,79,114,.9),rgba(230,126,34,.85)); display:flex; align-items:center; justify-content:center; color:white; font-size:2.2rem; font-weight:900; }
.article-image-tile p { padding:.9rem 1rem; margin:0; font-size:.9rem; line-height:1.65; color:#4b5563; }
.article-card-image { background:#f8fafc; height:13rem; overflow:hidden; }
.article-card-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
article:hover .article-card-image img { transform:scale(1.035); }
.article-template-tip { border:1px dashed #e67e22; background:#fff7ed; color:#9a3412; padding:.8rem 1rem; border-radius:1rem; font-size:.88rem; line-height:1.65; margin:1rem 0; }
@media (max-width: 900px) { .article-visual-grid { grid-template-columns:1fr; } .article-image-strip { grid-template-columns:1fr; } .article-hero-preview img { aspect-ratio:16/10; } }

/* FAQ category navigation */
.faq-category-anchor { scroll-margin-top: 115px; }
.faq-category-link { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }


/* Grosspal brand palette lock - keeps the site on the original navy/orange palette shown in the approved design. */
:root {
  --gp-primary:#1B4F72;
  --gp-primary-dark:#154060;
  --gp-accent:#E67E22;
  --gp-accent-dark:#CA6F1E;
  --gp-accent-soft:#FFF7ED;
  --gp-primary-soft:#F0F7FB;
  --color-primary:#1B4F72;
  --color-primary-dark:#154060;
  --color-accent:#E67E22;
  --color-accent-dark:#CA6F1E;
}
.text-primary{color:var(--gp-primary)!important;}
.text-accent{color:var(--gp-accent)!important;}
.bg-primary{background-color:var(--gp-primary)!important;}
.bg-accent{background-color:var(--gp-accent)!important;}
.border-primary{border-color:var(--gp-primary)!important;}
.border-accent{border-color:var(--gp-accent)!important;}
.bg-primary\/5{background-color:rgba(27,79,114,.05)!important;}
.bg-primary\/10{background-color:rgba(27,79,114,.10)!important;}
.border-primary\/20{border-color:rgba(27,79,114,.20)!important;}
.bg-orange-50{background-color:var(--gp-accent-soft)!important;}
.bg-orange-100{background-color:#FFEDD5!important;}
.border-orange-100{border-color:#FED7AA!important;}
.border-orange-200{border-color:#FDBA74!important;}
.text-orange-100{color:#FFEDD5!important;}
.text-orange-200{color:#FED7AA!important;}
.text-orange-700{color:#9A3412!important;}
.bg-blue-50{background-color:var(--gp-primary-soft)!important;}
.text-blue-200{color:#D8EDF8!important;}
.bg-purple-100{background-color:var(--gp-primary-soft)!important;}
.text-purple-100,.text-purple-200{color:#D8EDF8!important;}
.text-purple-700{color:var(--gp-primary)!important;}
.from-primary,.from-purple-700{--tw-gradient-from:var(--gp-primary)!important;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))!important;}
.to-primary-dark,.to-purple-900,.to-blue-700{--tw-gradient-to:var(--gp-primary-dark)!important;}
.to-accent-dark{--tw-gradient-to:var(--gp-accent-dark)!important;}
.hover\:bg-primary:hover{background-color:var(--gp-primary)!important;}
.hover\:bg-primary-dark:hover{background-color:var(--gp-primary-dark)!important;}
.hover\:bg-accent-dark:hover{background-color:var(--gp-accent-dark)!important;}
.hover\:text-primary:hover{color:var(--gp-primary)!important;}
.hover\:text-accent:hover{color:var(--gp-accent)!important;}
.hover\:text-accent-dark:hover{color:var(--gp-accent-dark)!important;}
.hover\:border-primary:hover{border-color:var(--gp-primary)!important;}
.group:hover .group-hover\:bg-accent{background-color:var(--gp-accent)!important;}
.focus\:ring-primary:focus{--tw-ring-color:var(--gp-primary)!important;}
.accent-primary{accent-color:var(--gp-primary)!important;}


/* Integrated visual media - uses existing Grosspal palette only */
.gp-hero-bg-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.gp-service-hero-media { margin:2rem auto 0; max-width:58rem; border-radius:1.5rem; overflow:hidden; border:1px solid rgba(255,255,255,.22); box-shadow:0 24px 60px rgba(0,0,0,.24); background:#fff; }
.gp-service-hero-media img { display:block; width:100%; aspect-ratio:16/7; object-fit:cover; }
.gp-service-side-media { border-radius:1.25rem; overflow:hidden; border:1px solid rgba(255,255,255,.22); box-shadow:0 20px 45px rgba(0,0,0,.2); background:#fff; margin-bottom:1.25rem; }
.gp-service-side-media img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.gp-inline-photo { border-radius:1.5rem; overflow:hidden; background:#fff; border:1px solid #e5e7eb; box-shadow:0 18px 45px rgba(15,23,42,.09); }
.gp-inline-photo img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.gp-inline-photo figcaption, .gp-service-hero-media figcaption, .gp-service-side-media figcaption { padding:.65rem .9rem; font-size:.82rem; line-height:1.55; color:#6b7280; background:#fff; border-top:1px solid #e5e7eb; }
.gp-product-photo { height:13rem; overflow:hidden; background:#f8fafc; }
.gp-product-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.group:hover .gp-product-photo img { transform:scale(1.035); }
.gp-photo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.gp-photo-grid .gp-inline-photo img { aspect-ratio:4/3; }
@media (max-width: 1024px) { .gp-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) { .gp-service-hero-media img { aspect-ratio:16/10; } .gp-photo-grid { grid-template-columns:1fr; } }

/* Defensive opacity utilities for the local Tailwind build */
.bg-white.bg-opacity-10 { background-color: rgba(255,255,255,.10) !important; }
.bg-primary.bg-opacity-90 { background-color: rgba(27,79,114,.90) !important; }

/* Tighten service hero spacing after removing inner-page stats blocks */
.service-hero-compact {
  padding-top: 2.5rem !important;
  padding-bottom: 3rem !important;
}
.service-hero-compact .service-hero-grid {
  align-items: flex-start !important;
}
@media (max-width: 1024px) {
  .service-hero-compact {
    padding-top: 2rem !important;
    padding-bottom: 2.5rem !important;
  }
}

/* Home hero spacing - keep the opening headline closer to the top of the image area */
.home-hero-section {
  align-items: flex-start !important;
  min-height: calc(100vh - 7.5rem) !important;
}
.home-hero-section > .relative.z-10 {
  padding-top: 4.5rem !important;
  padding-bottom: 9rem !important;
}
@media (max-width: 1024px) {
  .home-hero-section > .relative.z-10 {
    padding-top: 3.5rem !important;
    padding-bottom: 8rem !important;
  }
}
@media (max-width: 640px) {
  .home-hero-section {
    min-height: auto !important;
  }
  .home-hero-section > .relative.z-10 {
    padding-top: 3rem !important;
    padding-bottom: 8rem !important;
  }
}


/* Testimonial author profiles */
.testimonial-author-row {
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-top:1rem;
}
.testimonial-person-photo {
  width:3.25rem;
  height:3.25rem;
  border-radius:9999px;
  object-fit:cover;
  flex:0 0 auto;
  border:3px solid #fff;
  box-shadow:0 8px 22px rgba(15,23,42,.14);
  background:#f8fafc;
}
.testimonial-author-text { min-width:0; flex:1 1 auto; }
.linkedin-profile-link {
  width:2.25rem;
  height:2.25rem;
  border-radius:9999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(27,79,114,.18);
  box-shadow:0 6px 16px rgba(15,23,42,.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  flex:0 0 auto;
}
.linkedin-profile-link:hover,
.linkedin-profile-link:focus {
  transform:translateY(-1px);
  border-color:var(--gp-accent);
  box-shadow:0 10px 24px rgba(15,23,42,.14);
  outline:none;
}
.linkedin-profile-link img { width:1.35rem; height:1.35rem; display:block; }


/* Current-page home nav fix: prevent the home link from turning into a filled navy block after click/focus. */
header nav[aria-label="ניווט ראשי"] .nav-link-current,
header nav[aria-label="ניווט ראשי"] .nav-link-current:hover,
header nav[aria-label="ניווט ראשי"] .nav-link-current:focus,
header nav[aria-label="ניווט ראשי"] .nav-link-current:active,
header nav[aria-label="ניווט ראשי"] .nav-link-current:focus-visible {
  background: transparent !important;
  color: var(--gp-primary) !important;
  box-shadow: none !important;
}
header nav[aria-label="ניווט ראשי"] .nav-link-current {
  position: relative;
}
header nav[aria-label="ניווט ראשי"] .nav-link-current::after {
  content: "";
  position: absolute;
  right: .75rem;
  left: .75rem;
  bottom: .15rem;
  height: 3px;
  border-radius: 9999px;
  background: var(--gp-accent);
}

/* Legal/footer policy links */
.legal-footer-links {
  line-height: 1.9;
  padding-inline: 1rem;
}
.legal-footer-links a {
  display: inline-block;
  margin-inline: .15rem;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .legal-footer-links {
    line-height: 2.2;
  }
}

/* Mobile hero layout fix for homepage */
@media (max-width: 640px) {
  .home-hero-section {
    min-height: auto !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .home-hero-section > .relative.z-10 {
    width: 100%;
    padding-top: 2.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .home-hero-section h1 {
    font-size: 2.1rem !important;
    line-height: 1.22 !important;
    margin-bottom: 1rem !important;
  }

  .home-hero-section p.text-xl {
    font-size: 1rem !important;
    line-height: 1.65 !important;
    margin-bottom: 1.5rem !important;
  }

  .home-hero-section .scroll-animate.flex {
    align-items: center !important;
    gap: .75rem !important;
  }

  .home-hero-section .scroll-animate.flex a {
    width: 100% !important;
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 1rem !important;
    padding: .875rem 1rem !important;
  }

  .home-hero-section > .absolute.bottom-0 {
    position: relative !important;
    inset: auto !important;
    bottom: auto !important;
    width: 100% !important;
  }

  .home-hero-section > .absolute.bottom-0 .grid {
    gap: .75rem !important;
  }

  .home-hero-section > .absolute.bottom-0 .text-3xl {
    font-size: 1.65rem !important;
    line-height: 1.15 !important;
  }
}

/* Cloudflare Turnstile responsive form fix
   Uses Cloudflare flexible size and prevents the verification box from escaping narrow RTL mobile forms. */
.grosspal-turnstile-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
  margin: 1rem auto 1.5rem auto !important;
  clear: both !important;
}
.grosspal-turnstile-wrap .cf-turnstile {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: block !important;
  margin: 0 auto !important;
}
.grosspal-turnstile-wrap iframe {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: block !important;
  margin: 0 auto !important;
}
.grosspal-turnstile-wrap + button,
.grosspal-turnstile-wrap + .w-full {
  margin-top: .75rem !important;
}
@media (max-width: 640px) {
  .grosspal-turnstile-wrap {
    min-height: 72px !important;
    margin-top: 1rem !important;
    margin-bottom: 1.75rem !important;
  }

  .grosspal-turnstile-wrap .cf-turnstile,
  .grosspal-turnstile-wrap iframe {
    transform: none !important;
  }

  form .grosspal-turnstile-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* Wider mobile contact forms for inner product/service pages.
   Keeps the Cloudflare Turnstile widget inside the form on narrow phones. */
@media (max-width: 640px) {
  .bg-primary.text-white.rounded-2xl:has(form.grosspal-contact-form) {
    width: calc(100vw - 24px) !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw + 12px) !important;
    margin-right: calc(50% - 50vw + 12px) !important;
    padding: 1.35rem .75rem !important;
    border-radius: 1rem !important;
    overflow: visible !important;
  }

  .bg-primary.text-white.rounded-2xl:has(form.grosspal-contact-form) h2 {
    font-size: 1.75rem !important;
    line-height: 1.25 !important;
    padding-inline: .25rem !important;
  }

  .bg-primary.text-white.rounded-2xl:has(form.grosspal-contact-form) > p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
    padding-inline: .25rem !important;
  }

  form.grosspal-contact-form {
    width: min(100%, 430px) !important;
    max-width: calc(100vw - 44px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 1.35rem !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  form.grosspal-contact-form input,
  form.grosspal-contact-form select,
  form.grosspal-contact-form textarea {
    font-size: 16px !important;
  }

  form.grosspal-contact-form .grosspal-turnstile-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 78px !important;
    overflow: visible !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 1.15rem auto 1.75rem auto !important;
    padding: 0 !important;
  }

  form.grosspal-contact-form .grosspal-turnstile-wrap .cf-turnstile,
  form.grosspal-contact-form .grosspal-turnstile-wrap iframe {
    width: 300px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }

  form.grosspal-contact-form button[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 360px) {
  form.grosspal-contact-form {
    max-width: calc(100vw - 28px) !important;
    padding: 1rem !important;
  }

  .bg-primary.text-white.rounded-2xl:has(form.grosspal-contact-form) {
    width: calc(100vw - 12px) !important;
    margin-left: calc(50% - 50vw + 6px) !important;
    margin-right: calc(50% - 50vw + 6px) !important;
    padding-left: .45rem !important;
    padding-right: .45rem !important;
  }
}

/* Tighter mobile contact form spacing
   Reduces left/right gutters on homepage and inner-page contact forms only. */
@media (max-width: 640px) {
  section:has(form.grosspal-contact-form) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  section:has(form.grosspal-contact-form) > .max-w-7xl,
  section:has(form.grosspal-contact-form) > .max-w-6xl,
  section:has(form.grosspal-contact-form) > .max-w-5xl,
  section:has(form.grosspal-contact-form) > .max-w-4xl,
  section:has(form.grosspal-contact-form) > .container,
  section:has(form.grosspal-contact-form) .max-w-7xl,
  section:has(form.grosspal-contact-form) .max-w-6xl,
  section:has(form.grosspal-contact-form) .max-w-5xl,
  section:has(form.grosspal-contact-form) .max-w-4xl,
  section:has(form.grosspal-contact-form) .container {
    padding-left: .35rem !important;
    padding-right: .35rem !important;
  }

  .bg-primary.text-white.rounded-2xl:has(form.grosspal-contact-form) {
    width: calc(100vw - 8px) !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw + 4px) !important;
    margin-right: calc(50% - 50vw + 4px) !important;
    padding-left: .35rem !important;
    padding-right: .35rem !important;
  }

  form.grosspal-contact-form {
    width: calc(100vw - 24px) !important;
    max-width: 430px !important;
    padding: 1rem !important;
  }

  form.grosspal-contact-form input,
  form.grosspal-contact-form select,
  form.grosspal-contact-form textarea {
    width: 100% !important;
  }

  form.grosspal-contact-form .grosspal-turnstile-wrap {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  form.grosspal-contact-form .grosspal-turnstile-wrap .cf-turnstile,
  form.grosspal-contact-form .grosspal-turnstile-wrap iframe {
    width: min(300px, calc(100vw - 56px)) !important;
    max-width: 100% !important;
  }
}

@media (max-width: 380px) {
  form.grosspal-contact-form {
    width: calc(100vw - 16px) !important;
    padding: .85rem !important;
  }

  .bg-primary.text-white.rounded-2xl:has(form.grosspal-contact-form) {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: .2rem !important;
    padding-right: .2rem !important;
  }

  form.grosspal-contact-form .grosspal-turnstile-wrap .cf-turnstile,
  form.grosspal-contact-form .grosspal-turnstile-wrap iframe {
    width: min(300px, calc(100vw - 44px)) !important;
  }
}

/* Desktop email field width fix
   Makes added email fields span the full row in 2-column contact forms. */
form.grosspal-contact-form div:has(> input[name="email"]) {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

form.grosspal-contact-form input[name="email"] {
  width: 100% !important;
  max-width: none !important;
}

/* Mobile footer legal links: show as two neat columns and hide inline separator dots. */
@media (max-width: 640px) {
  .legal-footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .45rem .75rem !important;
    width: 100% !important;
    max-width: 22rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-inline: .75rem !important;
    text-align: center !important;
    line-height: 1.45 !important;
    font-size: 0 !important;
  }

  .legal-footer-links a {
    display: block !important;
    margin: 0 !important;
    white-space: normal !important;
    font-size: .78rem !important;
    line-height: 1.45 !important;
    padding: .15rem .2rem !important;
  }
}

/* Mobile footer structure: keep Products and Navigation in two columns. */
@media (max-width: 640px) {
  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.75rem 1rem !important;
    text-align: center !important;
  }

  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(1),
  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(4) {
    grid-column: 1 / -1 !important;
  }

  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(2),
  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(3) {
    grid-column: auto !important;
    min-width: 0 !important;
  }

  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(2) h3,
  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(3) h3 {
    margin-bottom: .65rem !important;
  }

  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(2) ul,
  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(3) ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: .35rem !important;
  }
}


/* Final mobile footer alignment fix */
@media (max-width: 640px) {
  footer {
    direction: rtl !important;
  }

  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 {
    text-align: right !important;
  }

  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(2) ul,
  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(3) ul {
    align-items: flex-start !important;
    text-align: right !important;
  }

  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(2) li,
  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(3) li,
  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(2) a,
  footer .grid.sm\:grid-cols-2.lg\:grid-cols-4 > div:nth-child(3) a {
    width: 100% !important;
    text-align: right !important;
  }

  .legal-footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .45rem .9rem !important;
    width: 100% !important;
    max-width: none !important;
    margin: 1.25rem 0 0 0 !important;
    padding: 0 !important;
    direction: rtl !important;
    text-align: right !important;
    justify-items: start !important;
    font-size: 0 !important;
  }

  .legal-footer-links a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: .15rem 0 !important;
    font-size: .78rem !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    text-align: right !important;
  }

  footer .footer-copyright {
    margin-top: 1.25rem !important;
    text-align: center !important;
    width: 100% !important;
  }
}
