/* Shared footer — Figma 4916:5887 / 4916:5970. Yekan Bakh is self-hosted by font.css. */
.cc-footer {
  --ccf-bg: #f4f5f7;
  --ccf-text: #484c5b;
  --ccf-heading: #191b23;
  --ccf-link: #0346c9;
  --ccf-border: #d4d5d9;
  background: var(--ccf-bg);
  color: var(--ccf-text);
  direction: rtl;
  text-align: right;
  font-family: "Yekan Bakh FaNum", Tahoma, sans-serif;
  font-size: 16px;
  line-height: 28px;
  padding: 48px 0 24px;
}
.cc-footer, .cc-footer * { box-sizing: border-box; }
.cc-footer :where(h2, p, ul, li, address) { margin: 0; padding: 0; font-family: inherit; }
.cc-footer :where(a, button, span, bdi) { font-family: inherit; }
.cc-footer__container {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 16px;
  display: grid;
  grid-template-columns: minmax(0, 400fr) minmax(0, 320fr) minmax(0, 352fr);
  column-gap: 48px;
  row-gap: 24px;
  align-items: start;
}
.cc-footer__container > *, .cc-footer__contact-grid > * { min-width: 0; }
.cc-footer__brand { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.cc-footer__logo { display: block; width: 146px; flex: none; }
.cc-footer .cc-footer__logo img { display: block; width: 146px; height: auto; max-width: none; }
.cc-footer .cc-footer__heading, .cc-footer .cc-footer__tagline { color: var(--ccf-heading); font-size: 16px; font-weight: 600; line-height: 28px; text-align: right; }
.cc-footer__description { font-size: 16px; line-height: 28px; text-align: right; }
.cc-footer__company { grid-column: 2; grid-row: 1; }
.cc-footer__modules { grid-column: 3; grid-row: 1; }
.cc-footer__nav .cc-footer__heading { margin-bottom: 8px; }
.cc-footer__links { list-style: none; display: grid; grid-auto-flow: column; grid-template-rows: repeat(3, auto); grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
.cc-footer a, .cc-footer__unlinked { color: var(--ccf-text); font-size: 16px; line-height: 28px; text-decoration: none; }
.cc-footer__links a, .cc-footer__unlinked { display: flex; align-items: center; min-height: 44px; padding-block: 8px; border-radius: 8px; overflow-wrap: anywhere; }
.cc-footer .cc-footer__all { color: var(--ccf-link); display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; margin-top: 8px; border-radius: 8px; }
.cc-footer a:hover { color: var(--ccf-link); text-decoration: underline; text-underline-offset: 4px; }
.cc-footer a:focus-visible { outline: 2px solid #1463ff; outline-offset: 3px; border-radius: 4px; }
.cc-footer__contact { grid-column: 1 / -1; grid-row: 2; border-top: 1px solid var(--ccf-border); padding-top: 24px; }
.cc-footer__contact > .cc-footer__heading { margin-bottom: 12px; }
.cc-footer__contact-grid { display: grid; grid-template-columns: minmax(0, 400fr) minmax(0, 320fr) minmax(0, 352fr); column-gap: 48px; align-items: start; }
.cc-footer__phones { display: flex; flex-direction: column; gap: 8px; }
.cc-footer .cc-footer__phone { display: flex; align-items: center; gap: 12px; min-height: 44px; border-radius: 8px; color: var(--ccf-link); font-size: 18px; font-weight: 600; line-height: 28px; width: 100%; }
.cc-footer__phone bdi { direction: ltr; unicode-bidi: isolate; white-space: nowrap; }
.cc-footer .cc-footer__icon { display: block; flex: 0 0 24px; width: 24px; height: 24px; max-width: none; }
.cc-footer__address { display: flex; align-items: flex-start; gap: 12px; padding-top: 8px !important; font-style: normal; font-size: 16px; line-height: 28px; }
.cc-footer__address span { min-width: 0; }
.cc-footer__socials { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; row-gap: 8px; }
.cc-footer__socials a { display: flex; align-items: center; gap: 8px; min-height: 44px; padding-block: 8px; border: 0; background: transparent; border-radius: 8px; }
.cc-footer__bottom { grid-column: 1 / -1; grid-row: 3; display: flex; justify-content: space-between; align-items: center; gap: 24px; border-top: 1px solid var(--ccf-border); padding-top: 24px; }
.cc-footer__copyright { font-size: 14px; line-height: 24px; }
.cc-footer__top { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding-block: 8px; white-space: nowrap; border-radius: 8px; }
@media (min-width: 1024px) and (max-width: 1199px) {
  .cc-footer__container, .cc-footer__contact-grid { column-gap: 32px; }
  .cc-footer__links, .cc-footer__socials { column-gap: 16px; }
}
@media (max-width: 1023px) {
  .cc-footer { padding-top: 40px; }
  .cc-footer__container { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; row-gap: 32px; }
  .cc-footer__brand { grid-column: 1 / -1; grid-row: 1; }
  .cc-footer__contact { grid-column: 1 / -1; grid-row: 2; border-top: 0; border-bottom: 1px solid var(--ccf-border); padding-top: 0; padding-bottom: 32px; }
  .cc-footer__contact > .cc-footer__heading { margin-bottom: 8px; }
  .cc-footer__contact-grid { grid-template-columns: 1fr; gap: 16px; }
  .cc-footer__address { padding-top: 0 !important; }
  .cc-footer__socials { column-gap: 12px; row-gap: 12px; }
  .cc-footer__company { grid-column: 1; grid-row: 3; }
  .cc-footer__modules { grid-column: 2; grid-row: 3; }
  .cc-footer__links { display: block; }
  .cc-footer__all { margin-top: 0 !important; }
  .cc-footer__bottom { grid-row: 4; flex-direction: column; align-items: flex-start; gap: 8px; padding-top: 32px; }
}
@media (max-width: 359px) {
  .cc-footer__container { grid-template-columns: minmax(0, 1fr); }
  .cc-footer__company { grid-column: 1; grid-row: 3; }
  .cc-footer__modules { grid-column: 1; grid-row: 4; }
  .cc-footer__bottom { grid-row: 5; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
