/* STEP 37B1: community links. The stylesheet is independent of the site's theme. */
.fs-community-bar{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:16px 24px;padding:22px 0;margin-top:18px;
  border-top:1px solid var(--tblr-border-color,rgba(127,142,158,.24));
}
.fs-community-bar-info{max-width:420px;min-width:220px}
.fs-community-bar-info h2{font-size:1.02rem;line-height:1.4;font-weight:700;margin:0 0 4px}
.fs-community-bar-info p{font-size:.82rem;line-height:1.55;color:var(--tblr-secondary-color,#718096);margin:0}
.fs-community-bar-links{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.fs-community-social-link{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none!important;
  border:1px solid var(--tblr-border-color,rgba(127,142,158,.25));
  border-radius:9px;padding:8px 12px 8px 8px;
  font-size:.82rem;font-weight:600;line-height:1.35;
  color:var(--tblr-body-color,#26354a)!important;
  background:var(--tblr-bg-surface,#fff);
  transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.fs-community-social-link:hover{
  transform:translateY(-1px);border-color:var(--tblr-primary,#206bc4);
  box-shadow:0 2px 10px rgba(0,0,0,.07);
}
.fs-community-social-link:focus-visible{outline:2px solid var(--tblr-primary,#206bc4);outline-offset:2px}
.fs-community-social-icon{
  display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:7px;background:#e5f1fb;color:#12639b;
  font-size:.70rem;font-weight:800;letter-spacing:.015em;flex:none;
}
.fs-community-social-link--instagram .fs-community-social-icon{background:#fce6f1;color:#a62968}
.fs-community-social-link--facebook .fs-community-social-icon{background:#e6effe;color:#165bb7}
.fs-community-social-link--whatsapp .fs-community-social-icon{background:#e2f7e7;color:#16733b}
.fs-community-social-link--viber .fs-community-social-icon{background:#eee7f7;color:#6643a0}
@media(max-width:767.98px){
 .fs-community-bar{align-items:flex-start;padding:19px 0;gap:12px}
 .fs-community-bar-info{max-width:none;width:100%}
 .fs-community-bar-links{gap:8px;width:100%}
 .fs-community-social-link{flex:0 1 auto;padding:7px 10px 7px 7px}
 .fs-community-social-icon{width:26px;height:26px}
}

/* ========================================================================
   STEP 37B.2 - Public footer / trust layout restoration
   Target: existing includes/trust-section.php and includes/footer.php.
   No JavaScript, markup, or backend changes are required.
   Scoped to .fs-trust-* / .fs-site-footer to avoid global layout changes.
   ======================================================================== */

/* Informative trust / responsible-use section preceding the site footer. */
.fs-trust-wrap {
  margin: 1.75rem 0 0;
  padding: 0 0 1.35rem;
}
.fs-trust-wrap .container-xl,
.fs-site-footer .container-xl { min-width: 0; }
.fs-trust-surface {
  overflow: hidden;
  border: 1px solid var(--tblr-border-color, #dce3ec);
  border-radius: 16px;
  background: var(--tblr-bg-surface, #fff);
  box-shadow: 0 8px 28px rgba(15, 23, 42, .035);
}
.fs-trust-head {
  padding: 1.4rem 1.45rem 1.15rem;
  background: linear-gradient(115deg,
    color-mix(in srgb, var(--tblr-primary, #206bc4) 8%, var(--tblr-bg-surface, #fff)),
    var(--tblr-bg-surface, #fff) 78%);
}
.fs-trust-head h2 {
  margin: 0 0 .4rem;
  color: var(--tblr-body-color, #182433);
  font-size: clamp(1.15rem, 1.8vw, 1.4rem);
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: -.015em;
}
.fs-trust-head p {
  margin: 0;
  color: var(--tblr-secondary-color, #667382);
  font-size: .86rem;
  line-height: 1.55;
}
.fs-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 0 1.45rem 1.35rem;
}
.fs-trust-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  height: 100%;
  padding: 1.1rem 1.1rem 1.05rem;
  border: 1px solid var(--tblr-border-color, #dce3ec);
  border-radius: 12px;
  background: var(--tblr-bg-surface, #fff);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.fs-trust-card:hover {
  border-color: color-mix(in srgb, var(--tblr-primary, #206bc4) 30%, var(--tblr-border-color, #dce3ec));
  box-shadow: 0 8px 20px rgba(15, 23, 42, .07);
  transform: translateY(-2px);
}
.fs-trust-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  margin-bottom: .9rem;
  border-radius: 11px;
  color: var(--tblr-primary, #206bc4);
  background: color-mix(in srgb, var(--tblr-primary, #206bc4) 11%, var(--tblr-bg-surface, #fff));
}
.fs-trust-icon .icon,
.fs-trust-icon svg { width: 22px; height: 22px; }
.fs-trust-icon--safety {
  color: #af7410;
  background: color-mix(in srgb, #f59f00 13%, var(--tblr-bg-surface, #fff));
}
.fs-trust-icon--help {
  color: #16844c;
  background: color-mix(in srgb, #2fb344 11%, var(--tblr-bg-surface, #fff));
}
.fs-trust-card h3 {
  margin: 0 0 .5rem;
  color: var(--tblr-body-color, #182433);
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 750;
}
.fs-trust-card p {
  margin: 0 0 .9rem;
  color: var(--tblr-secondary-color, #667382);
  font-size: .83rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.fs-trust-card a {
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  color: var(--tblr-primary, #206bc4);
  font-size: .81rem;
  line-height: 1.45;
  font-weight: 700;
  text-decoration: none;
}
.fs-trust-card a:hover { text-decoration: underline; }
.fs-trust-card a:focus-visible,
.fs-site-footer a:focus-visible {
  outline: 2px solid var(--tblr-primary, #206bc4);
  outline-offset: 3px;
}
.fs-trust-note {
  padding: .95rem 1.45rem 1rem;
  border-top: 1px solid var(--tblr-border-color, #dce3ec);
  background: color-mix(in srgb, var(--tblr-bg-surface-secondary, #f6f8fb) 65%, var(--tblr-bg-surface, #fff));
  color: var(--tblr-secondary-color, #667382);
  font-size: .76rem;
  line-height: 1.65;
}
.fs-trust-note strong {
  display: inline-block;
  padding: .12rem .42rem;
  margin-right: .25rem;
  border-radius: 6px;
  color: #ab322e;
  background: color-mix(in srgb, #d63939 10%, var(--tblr-bg-surface, #fff));
}
.fs-trust-note a { color: var(--tblr-primary, #206bc4); font-weight: 650; }

/* Footer navigation: restore the 3-column layout that markup expects. */
.fs-site-footer {
  margin-top: 0;
  padding: 1.6rem 0 1rem;
  border-top: 1px solid var(--tblr-border-color, #dce3ec);
  background: var(--tblr-bg-surface, #fff);
  color: var(--tblr-body-color, #182433);
}
.fs-site-footer .fs-footer-top {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.3rem, 4vw, 4rem);
  padding: .2rem 0 1.45rem;
}
.fs-site-footer .fs-footer-top > nav { min-width: 0; }
.fs-site-footer .fs-footer-title {
  display: block;
  margin: 0 0 .85rem;
  padding: 0 0 .7rem;
  border-bottom: 1px solid var(--tblr-border-color, #dce3ec);
  color: var(--tblr-body-color, #182433);
  font-size: .97rem;
  line-height: 1.4;
  font-weight: 750;
}
.fs-site-footer .fs-footer-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .56rem;
}
.fs-site-footer .fs-footer-nav a {
  display: inline-block;
  max-width: 100%;
  padding: .08rem 0;
  color: var(--tblr-secondary-color, #667382);
  font-size: .84rem;
  line-height: 1.48;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color .15s ease;
}
.fs-site-footer .fs-footer-nav a:hover {
  color: var(--tblr-primary, #206bc4);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* The community row stays BETWEEN link columns and the copyright line. */
.fs-site-footer .fs-community-bar {
  gap: 18px 28px;
  margin-top: 0;
  padding: 1.3rem 0;
  border-top: 1px solid var(--tblr-border-color, #dce3ec);
}
.fs-site-footer .fs-community-bar-info { flex: 1 1 250px; }
.fs-site-footer .fs-community-bar-info h2 {
  font-size: .99rem;
  color: var(--tblr-body-color, #182433);
}
.fs-site-footer .fs-community-bar-links { flex: 0 1 auto; max-width: 100%; }
.fs-site-footer .fs-community-social-link { white-space: nowrap; }
.fs-site-footer .fs-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .5rem 1.5rem;
  flex-wrap: wrap;
  border-top: 1px solid var(--tblr-border-color, #dce3ec);
  padding: 1rem 0 0;
  color: var(--tblr-secondary-color, #667382);
  font-size: .75rem;
  line-height: 1.5;
}
.fs-site-footer .fs-footer-bottom a { color: inherit; text-decoration: none; }
.fs-site-footer .fs-footer-bottom a:hover { color: var(--tblr-primary, #206bc4); text-decoration: underline; }

/* Theme-aware muted text and surfaces for both dark and light mode. */
html[data-bs-theme="dark"] .fs-trust-surface,
html[data-bs-theme="dark"] .fs-trust-card,
html[data-bs-theme="dark"] .fs-site-footer {
  background: var(--tblr-bg-surface, #182433);
}
html[data-bs-theme="dark"] .fs-trust-note {
  background: var(--tblr-bg-surface-secondary, #1e2c3d);
}
html[data-bs-theme="dark"] .fs-trust-icon--safety { color: #ffbd59; }
html[data-bs-theme="dark"] .fs-trust-icon--help { color: #5bdd86; }
html[data-bs-theme="dark"] .fs-trust-note strong { color: #ffacac; }

/* Tablet: fit cards and link columns without horizontal overflow. */
@media (max-width: 991.98px) {
  .fs-trust-grid { gap: 10px; padding-inline: 1rem; }
  .fs-trust-head, .fs-trust-note { padding-inline: 1rem; }
  .fs-trust-card { padding: .95rem; }
  .fs-site-footer .fs-footer-top { gap: 1.25rem; }
}
@media (max-width: 767.98px) {
  .fs-trust-wrap { margin-top: 1.25rem; padding-bottom: .9rem; }
  .fs-trust-surface { border-radius: 12px; }
  .fs-trust-head { padding: 1.15rem 1rem 1rem; }
  .fs-trust-head h2 { font-size: 1.14rem; }
  .fs-trust-grid { grid-template-columns: 1fr; gap: .65rem; padding: 0 .85rem .95rem; }
  .fs-trust-card { padding: .95rem; }
  .fs-trust-icon { width: 36px; height: 36px; flex-basis: 36px; margin-bottom: .65rem; }
  .fs-trust-card h3 { font-size: .94rem; }
  .fs-trust-note { padding: .85rem 1rem; }
  .fs-site-footer { padding-top: 1.2rem; }
  .fs-site-footer .fs-footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem 1rem; }
  .fs-site-footer .fs-footer-top > nav:last-child { grid-column: 1 / -1; }
  .fs-site-footer .fs-footer-title { font-size: .91rem; margin-bottom: .65rem; }
  .fs-site-footer .fs-footer-nav { gap: .48rem; }
  .fs-site-footer .fs-footer-nav a { font-size: .8rem; }
  .fs-site-footer .fs-community-bar { padding: 1.15rem 0; }
  .fs-site-footer .fs-community-bar-info { flex-basis: 100%; }
  .fs-site-footer .fs-community-bar-links { width: 100%; }
  .fs-site-footer .fs-community-social-link { white-space: normal; }
  .fs-site-footer .fs-footer-bottom { flex-direction: column; align-items: flex-start; padding-top: .85rem; }
}
@media (max-width: 479.98px) {
  .fs-site-footer .fs-footer-top { grid-template-columns: 1fr; gap: 1.1rem; }
  .fs-site-footer .fs-footer-top > nav:last-child { grid-column: auto; }
  .fs-site-footer .fs-footer-title { margin-bottom: .45rem; padding-bottom: .5rem; }
  .fs-site-footer .fs-footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: .7rem; row-gap: .55rem; }
  .fs-site-footer .fs-footer-nav a { font-size: .79rem; }
  .fs-site-footer .fs-community-bar-links { gap: .5rem; }
  .fs-site-footer .fs-community-social-link { flex: 1 1 calc(50% - .5rem); min-width: 0; }
  .fs-site-footer .fs-community-social-link span:last-child { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .fs-trust-card { transition: none; }
  .fs-trust-card:hover { transform: none; }
}
