/* DC Yến Sào Footer v1.0.1 — isolated widget styles, no global Elementor overrides. */
.elementor-widget-dc_yen_sao_footer .dcysf-footer,
.dcysf-footer {
  background: #870004;
  color: #fff;
  padding: 28px 56px 34px;
  width: 100%;
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
  text-align: left;
}
.dcysf-footer *, .dcysf-footer *::before, .dcysf-footer *::after { box-sizing: border-box; }
.dcysf-footer .dcysf-inner { width: 100%; max-width: 1325px; margin: 0 auto; }
.dcysf-footer .dcysf-top {
  display: grid;
  grid-template-columns: 262px minmax(0,1fr);
  align-items: end;
  column-gap: 26px;
  row-gap: 26px;
}
.dcysf-footer .dcysf-logo { line-height: 0; align-self: start; }
.dcysf-footer .dcysf-logo img {
  display: block; width: 260px; max-width: 100%; height: auto;
  border: 0; object-fit: contain;
}
.dcysf-footer .dcysf-intro {
  font-size: 19px; font-weight: 400; line-height: 1.55;
  color: inherit; overflow-wrap: anywhere; padding-bottom: 3px;
}
.dcysf-footer .dcysf-intro p { margin: 0; color: inherit; font: inherit; }
.dcysf-footer .dcysf-intro p + p { margin-top: .65em; }
.dcysf-footer .dcysf-grid {
  display: grid;
  grid-template-columns: minmax(0,365fr) minmax(0,230fr) minmax(0,230fr) minmax(0,340fr);
  column-gap: 43px; row-gap: 35px;
  margin-top: 25px;
  max-width: 1293px;
}
.dcysf-footer .dcysf-col { min-width: 0; }
.dcysf-footer .dcysf-heading,
.dcysf-footer .dcysf-address-heading {
  color: inherit; font-family: inherit; font-size: 23px;
  line-height: 1.25; font-weight: 700; text-transform: none;
  letter-spacing: 0; padding: 0; border: 0; text-align: left;
}
.dcysf-footer .dcysf-heading { margin: 0 0 17px; }
.dcysf-footer .dcysf-company {
  font-size: 15px; line-height: 1.5; font-weight: 700;
  overflow-wrap: anywhere; color: inherit;
}
.dcysf-footer .dcysf-address-heading { margin: 20px 0 14px; }
.dcysf-footer .dcysf-contact-list,
.dcysf-footer .dcysf-link-list {
  margin: 0; padding: 0; list-style: none;
}
.dcysf-footer .dcysf-contact-list li,
.dcysf-footer .dcysf-link-list li {
  margin: 0; padding: 0; list-style: none;
  border: 0; background: transparent;
}
.dcysf-footer .dcysf-contact-list {
  display: flex; flex-direction: column; gap: 9px;
  font-size: 14px; font-weight: 400; line-height: 1.45;
}
.dcysf-footer .dcysf-contact-list li { display: flex; align-items: flex-start; gap: 10px; }
.dcysf-footer .dcysf-contact-icon {
  width: 15px; min-width: 15px; font-size: 15px; line-height: 1.4;
  color: inherit; display: inline-flex; justify-content: center; align-items: center;
  margin-top: 2px;
}
.dcysf-footer .dcysf-contact-icon i { font-size: inherit; line-height: 1; }
.dcysf-footer .dcysf-contact-icon svg { width: 15px; height: 15px; fill: currentColor; }
.dcysf-footer .dcysf-contact-text { min-width: 0; overflow-wrap: anywhere; }
.dcysf-footer .dcysf-link-list {
  display: flex; flex-direction: column; row-gap: 9px;
  font-size: 16px; line-height: 1.5; font-weight: 400;
}
.dcysf-footer .dcysf-link {
  display: inline; color: #fff; text-decoration: none; font: inherit;
  outline-offset: 4px; transition: color 180ms ease;
}
.dcysf-footer .dcysf-link:hover,
.dcysf-footer .dcysf-link:focus-visible { color: #f2d5a2; text-decoration: none; }
.dcysf-footer .dcysf-social-list {
  display: flex; flex-wrap: wrap; align-items: center; gap: 28px;
  margin-top: 12px;
}
.dcysf-footer .dcysf-social-link {
  color: #fff; font-size: 24px; width: 24px; height: 24px;
  line-height: 1; display: inline-flex; align-items: center;
  justify-content: center; text-decoration: none; flex: 0 0 auto;
  transition: color 180ms ease, transform 180ms ease;
}
.dcysf-footer a.dcysf-social-link:hover,
.dcysf-footer a.dcysf-social-link:focus-visible { color: #f2d5a2; transform: translateY(-2px); }
.dcysf-footer .dcysf-social-link i { font-size: inherit; line-height: 1; }
.dcysf-footer .dcysf-social-link svg,
.dcysf-footer .dcysf-social-link img { display: block; width: 24px; height: 24px; object-fit: contain; fill: currentColor; }
.dcysf-footer .dcysf-social-text {
  display: inline-flex; width: 100%; height: 100%; align-items: center;
  justify-content: center; background: #fff; color: #870004; border-radius: 5px;
  font-family: Arial, Helvetica, sans-serif; font-weight: 700;
  font-size: .37em; line-height: 1; position: relative;
  white-space: nowrap; letter-spacing: -.02em;
}
.dcysf-footer .dcysf-social-text::first-letter { text-transform: uppercase; }
/* Zalo defaults to a white monogram tile; use an uploaded icon for brand-perfect styling. */
.dcysf-footer .dcysf-facebook { margin-top: 21px; max-width: 100%; line-height: 0; }
.dcysf-footer .dcysf-facebook iframe {
  max-width: 100%; display: block; background: transparent;
}
.dcysf-footer .dcysf-fb-placeholder {
  min-height: 85px; background: rgba(255,255,255,.12);
  padding: 12px; line-height: 1.45; font-size: 13px;
  border: 1px dashed rgba(255,255,255,.5);
}
@media (max-width: 1024px) {
  .dcysf-footer { padding: 30px; }
  .dcysf-footer .dcysf-top { grid-template-columns: 230px minmax(0,1fr); }
  .dcysf-footer .dcysf-intro { font-size: 16px; }
  .dcysf-footer .dcysf-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 35px;
  }
  .dcysf-footer .dcysf-social-list { margin-top: 10px; }
}
@media (max-width: 767px) {
  .dcysf-footer { padding: 30px 20px; }
  .dcysf-footer .dcysf-top { grid-template-columns: minmax(0,1fr); row-gap: 20px; }
  .dcysf-footer .dcysf-logo img { width: 225px; }
  .dcysf-footer .dcysf-intro { font-size: 15px; line-height: 1.65; padding: 0; }
  .dcysf-footer .dcysf-grid { grid-template-columns: minmax(0,1fr); row-gap: 30px; margin-top: 30px; }
  .dcysf-footer .dcysf-heading { font-size: 22px; margin-bottom: 14px; }
  .dcysf-footer .dcysf-address-heading { font-size: 20px; }
  .dcysf-footer .dcysf-social-list { margin-top: 0; }
  .dcysf-footer .dcysf-facebook { margin-top: 20px; }
  .dcysf-footer .dcysf-link-list { row-gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .dcysf-footer .dcysf-social-link, .dcysf-footer .dcysf-link { transition: none; }
}
