.footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
  font: inherit;
}
.footer-social a {
  color: inherit;
  text-underline-offset: 4px;
}
.footer-social a:hover { text-decoration: underline; }
.footer-social a:focus-visible,
.link-cost-offer a:focus-visible,
.link-cost-offer button:focus-visible {
  outline: 3px solid #0a8075;
  outline-offset: 4px;
}
.link-cost-offer {
  box-sizing: border-box;
  width: min(520px, calc(100% - 40px));
  max-height: calc(100dvh - 40px);
  overflow: auto;
  border: 1px solid #d7d3ca;
  border-radius: 16px;
  padding: 36px;
  background: #faf7f1;
  color: #182825;
  box-shadow: 0 20px 70px #12242040;
  font-family: Arial, sans-serif;
  text-align: left;
}
.link-cost-offer[open] { display: block; }
.link-cost-offer::backdrop { background: #12242050; }
.link-cost-offer .link-cost-offer-logo {
  display: block;
  width: 44px;
  height: 44px;
  min-height: 0;
  max-height: 44px;
  aspect-ratio: auto;
  object-fit: contain;
  margin: 0 0 22px;
}
.link-cost-offer h2 {
  font-family: inherit;
  font-size: clamp(25px, 4vw, 34px);
  line-height: 1.15;
  font-weight: 500;
  margin: 0 0 18px;
  letter-spacing: -.025em;
}
.link-cost-offer p {
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 24px;
}
.link-cost-offer .link-cost-offer-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 28px;
  cursor: pointer;
}
.link-cost-offer-primary {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  background: #183d37;
  color: #fff !important;
  border-radius: 6px;
  padding: 16px 18px;
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  font-family: inherit;
}
.link-cost-offer-secondary {
  display: block;
  color: inherit;
  font-size: 14px;
  line-height: 1.5;
  margin-top: 18px;
  text-underline-offset: 3px;
}
@media (max-width: 767px) {
  .link-cost-offer {
    margin: auto auto 16px;
    padding: 26px;
    width: calc(100% - 24px);
    max-height: 80dvh;
  }
  .link-cost-offer .link-cost-offer-logo {
    width: 34px;
    height: 34px;
    max-height: 34px;
    margin-bottom: 18px;
  }
  .link-cost-offer h2 { font-size: 25px; }
}

/* Shared platform icons retain accessible names without small-print labels. */
.footer-social,
.contact-social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.footer-social { margin: 0; color: #fff; }
.footer-social .social-icon-link,
.contact-social .social-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 46px;
  height: 46px;
  padding: 9px;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: inherit;
  text-decoration: none;
  opacity: .9;
}
.social-icon-link svg { display: block; width: 26px; height: 26px; flex-shrink: 0; }
.social-icon-link:hover { opacity: 1; background: #ffffff18; }
.contact-social { margin-top: 24px; padding-top: 20px; border-top: 1px solid #c8c9c1; color: #183d37; }
.contact-social .social-icon-link:hover { background: #183d3710; }
.contact-social a:focus-visible { outline: 3px solid #0a8075; outline-offset: 4px; }

.link-cost-offer .link-cost-offer-image {
  display: block;
  width: calc(100% + 72px);
  max-width: none;
  height: 156px;
  min-height: 0;
  max-height: none;
  margin: -36px -36px 24px;
  object-fit: cover;
  object-position: center 64%;
  border-radius: 15px 15px 0 0;
}
.link-cost-offer .link-cost-offer-close { z-index: 1; border-radius: 50%; background: #faf7f1; box-shadow: 0 2px 10px #0002; }
.link-cost-offer .link-cost-offer-secondary {
  color: #17675d;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 4px;
  font-weight: 600;
}
.link-cost-offer-secondary:hover { color: #0d493f; }
@media (max-width: 767px) {
  .footer-top .footer-social { margin-top: 22px; }
  .link-cost-offer { padding: 20px; max-height: calc(100dvh - 24px); }
  .link-cost-offer .link-cost-offer-image {
    width: calc(100% + 40px);
    height: clamp(64px, 13dvh, 96px);
    margin: -20px -20px 16px;
  }
  .link-cost-offer .link-cost-offer-logo { width: 28px; height: 28px; max-height: 28px; margin-bottom: 10px; }
  .link-cost-offer h2 { font-size: 23px; margin-bottom: 12px; }
  .link-cost-offer p { font-size: 14px; line-height: 1.45; margin-bottom: 16px; }
  .link-cost-offer-primary { padding: 14px 16px; font-size: 15px; }
  .link-cost-offer-secondary { margin-top: 12px; font-size: 13px; }
}
@media (max-height: 520px) and (orientation: landscape) {
  .link-cost-offer { width: min(740px, calc(100% - 24px)); padding: 20px; padding-left: min(242px, calc(30vw + 13px)); max-height: calc(100dvh - 24px); }
  .link-cost-offer .link-cost-offer-image { position: absolute; inset: 0; width: 30%; height: 100%; margin: 0; border-radius: 15px 0 0 15px; }
  .link-cost-offer .link-cost-offer-logo { display: none; }
  .link-cost-offer h2 { font-size: 22px; margin-bottom: 10px; padding-right: 36px; }
  .link-cost-offer p { font-size: 14px; margin-bottom: 12px; }
  .link-cost-offer-primary { padding: 12px 14px; }
  .link-cost-offer-secondary { font-size: 12px; margin-top: 10px; }
}

.currentPackagingDesign .currentFooter .footer-social {
  margin: 0;
  padding: 0;
  border: 0;
  gap: 12px;
}
