/* diaspora.ro — compact Google source actions; markup is owned by page templates */
.diaspora-google-source-tools{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;margin:10px 0 0;padding:8px 0 0;border-top:1px solid rgba(148,163,184,.22);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#334155}
.diaspora-google-source-tools *{box-sizing:border-box}
.diaspora-google-source-tools__label{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:#64748b;font-size:10px;font-weight:800;letter-spacing:.02em}
.diaspora-google-source-tools .google-mark{width:16px;height:16px;display:block;flex:0 0 16px}
.diaspora-google-source-tools__actions{display:flex;align-items:center;gap:6px;min-width:0;flex:1}
.diaspora-google-source-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;flex:1;height:30px;padding:5px 8px;border:1px solid rgba(148,163,184,.35);border-radius:8px;background:#fff;color:#475569;text-decoration:none;white-space:nowrap;cursor:pointer;font:700 10.5px/1 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;transition:border-color .16s ease,background .16s ease,color .16s ease}
.diaspora-google-source-action:hover{border-color:rgba(66,133,244,.55);background:#f8fbff;color:#1d4ed8}
.diaspora-google-source-action:focus-visible{outline:2px solid rgba(66,133,244,.4);outline-offset:2px}
.diaspora-google-source-action .google-mark{width:14px;height:14px;flex:0 0 14px}
.diaspora-google-source-action--preferred{color:#92400e;background:#fffaf0;border-color:rgba(245,158,11,.28)}
.diaspora-google-source-action--preferred:hover{border-color:rgba(245,158,11,.55);background:#fff7e6;color:#78350f}
.diaspora-google-source-action__short{display:none}
.store-google-source-footer{width:min(100%,720px);margin:0 auto;padding:0 16px 20px}
.store-google-source-footer .diaspora-google-source-tools{margin-top:0}
@media (max-width:620px){
  .diaspora-google-source-tools__label{display:none}
  .diaspora-google-source-tools__actions{width:100%}
  .diaspora-google-source-action{height:29px;padding-inline:7px;font-size:10px}
}
@media (max-width:360px){
  .diaspora-google-source-action__wide{display:none}
  .diaspora-google-source-action__short{display:inline}
  .diaspora-google-source-action{gap:4px;padding-inline:6px}
}

.diaspora-google-source-footer{width:min(100%,720px);margin:0 auto;padding:0 16px 20px}
.diaspora-google-source-footer .diaspora-google-source-tools{margin-top:0}

/* Homepage footer: four equal controls, two rows, without nested frames. */
.footer-app-col > .footer-col-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
}
.footer-app-col .footer-app-badges,
.footer-app-col .diaspora-google-source-tools,
.footer-app-col .diaspora-google-source-tools__actions {
  display: contents !important;
}
.footer-app-col .diaspora-google-source-tools__label { display: none !important; }
.footer-app-col .store-badge-link,
.footer-app-col .diaspora-google-source-action {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.footer-app-col .store-badge-link {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.footer-app-col .store-badge-svg {
  display: block !important;
  width: 100% !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
.footer-app-col .diaspora-google-source-action {
  padding: 5px 7px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}
.footer-app-col .footer-app-community {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
}
@media (max-width: 620px) {
  .footer-app-col .store-badge-link,
  .footer-app-col .diaspora-google-source-action,
  .footer-app-col .store-badge-svg {
    height: 29px !important;
    min-height: 29px !important;
    max-height: 29px !important;
  }
  .footer-app-col > .footer-col-links { gap: 7px !important; }
}


/* Final homepage footer composition — 2026-09-09. */
.footer-app-col > .footer-col-links {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 0 !important;
}
.footer-app-col .footer-app-badges {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
}
.footer-app-col .store-badge-link {
  flex: 1 1 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
.footer-app-col .store-badge-svg {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 135 / 40 !important;
}
.footer-app-col .diaspora-google-source-tools {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.footer-app-col .diaspora-google-source-tools__label { display: none !important; }
.footer-app-col .diaspora-google-source-tools__actions {
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
}
.footer-app-col .diaspora-google-source-action {
  flex: 1 1 0 !important;
  width: auto !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 5px 6px !important;
  font-size: 9px !important;
  letter-spacing: -.01em !important;
}
.footer-app-col .footer-app-community {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
}
.footer-app-col .footer-app-socials { flex: 0 0 auto !important; }
.footer-app-col .footer-app-branding {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}
.footer-app-col .footer-app-branding .tb-logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  height: 27px !important;
  text-decoration: none !important;
}
.footer-app-col .footer-app-branding .tb-logo img {
  width: 26px !important;
  height: 26px !important;
}
.footer-app-col .footer-app-branding .tb-logo-txt {
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}
.footer-app-col .footer-app-branding .footer-brand-sub {
  display: block !important;
  max-width: 100% !important;
  font-size: 9.5px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}
@media (max-width: 620px) {
  .footer-app-col .footer-app-badges { gap: 7px !important; }
  .footer-app-col .diaspora-google-source-action { height: 30px !important; min-height: 30px !important; max-height: 30px !important; font-size: 9px !important; }
}

/* Homepage mobile touch contract — Google source actions, 2026-09-20. */
@media (max-width: 900px) {
  body.homepage-body .diaspora-google-source-action {
    height: 44px;
    min-height: 44px;
  }

  body.homepage-body .footer-app-col .diaspora-google-source-action {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }
}
