/* Compact shared DotDine footer. Kept separate from the canonical UI stylesheet. */
.dd-footer {
  position: relative;
  z-index: 10;
  background: #171815;
  color: #fff;
  border-top: 1px solid rgba(255,255,255,.08);
}
.dd-footer-shell {
  width: min(1420px,calc(100% - 48px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(280px,1.45fr) repeat(4,minmax(120px,.62fr));
  gap: clamp(24px,4vw,58px);
  padding: 48px 0 34px;
}
.dd-footer-partner .dd-footer-shell { grid-template-columns:minmax(300px,1.5fr) repeat(3,minmax(140px,.7fr)); }
.dd-footer-brand > p { max-width:320px; margin:12px 0 18px; color:rgba(255,255,255,.52); font-size:.72rem; line-height:1.55; }
.dd-footer-newsletter { width:min(360px,100%); display:grid; grid-template-columns:minmax(0,1fr) auto; padding:4px; border:1px solid rgba(255,255,255,.14); border-radius:11px; background:rgba(255,255,255,.04); }
.dd-footer-newsletter input { height:38px; padding:0 10px; border:0; border-radius:8px; background:transparent; color:#fff; box-shadow:none; font-size:.68rem; }
.dd-footer-newsletter input:focus { box-shadow:none; }
.dd-footer-newsletter input::placeholder { color:rgba(255,255,255,.38); }
.dd-footer-newsletter button { min-width:60px; border:0; border-radius:8px; background:#fff; color:#171714; font-size:.62rem; font-weight:700; }
.dd-footer-group h2 { margin:4px 0 12px; color:rgba(255,255,255,.38); font:700 .57rem/1.2 var(--dd-font-ui); letter-spacing:.11em; text-transform:uppercase; }
.dd-footer-group nav { display:grid; gap:8px; }
.dd-footer-group a,.dd-footer-group button { width:max-content; max-width:100%; min-height:0; padding:0; border:0; background:transparent; color:rgba(255,255,255,.72); font:500 .68rem/1.35 var(--dd-font-ui); text-align:left; }
.dd-footer-group a:hover,.dd-footer-group button:hover { color:#fff; }
.dd-footer-bottom { width:min(1420px,calc(100% - 48px)); margin-inline:auto; display:flex; justify-content:space-between; gap:18px; padding:16px 0 22px; border-top:1px solid rgba(255,255,255,.09); color:rgba(255,255,255,.34); font-size:.56rem; }

@media (max-width: 960px) {
  .dd-footer-shell,.dd-footer-partner .dd-footer-shell { grid-template-columns:1.2fr repeat(2,1fr); }
  .dd-footer-brand { grid-row:span 2; }
}
@media (max-width: 700px) {
  .dd-footer { padding-bottom:calc(84px + env(safe-area-inset-bottom)); }
  .dd-footer-shell,.dd-footer-partner .dd-footer-shell { width:calc(100% - 32px); grid-template-columns:1fr 1fr; gap:24px 22px; padding:34px 0 24px; }
  .dd-footer-brand { grid-column:1/-1; grid-row:auto; display:grid; grid-template-columns:1fr; }
  .dd-footer-brand > p { max-width:280px; margin:8px 0 14px; font-size:.66rem; }
  .dd-footer-newsletter { width:100%; max-width:420px; }
  .dd-footer-group h2 { margin-bottom:9px; font-size:.53rem; }
  .dd-footer-group nav { gap:7px; }
  .dd-footer-group a,.dd-footer-group button { font-size:.64rem; }
  .dd-footer-bottom { width:calc(100% - 32px); padding:14px 0 18px; font-size:.52rem; }
}
@media (max-width: 420px) {
  .dd-footer-shell,.dd-footer-partner .dd-footer-shell { gap:20px 14px; }
  .dd-footer-company { grid-column:auto; }
  .dd-footer-bottom { flex-direction:column; gap:4px; }
}
