/* Shared sharp corners for public buttons, including authored WordPress blocks. */
body:not(.wp-admin) :is(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  input[type="image"],
  [role="button"],
  a.button,
  .wp-element-button,
  .wp-block-button__link,
  a.cta,
  .contact-float
) {
  border-radius: 0 !important;
  --border-radius: 0 !important;
}

/* These visible action frames live inside a link, button or radio label. */
body:not(.wp-admin) :is(
  .wa-portal .enter-button .circle,
  .wa-collection-arrow,
  .property-arrow,
  .wa-dossier-image-arrow,
  .wa-decision-thread .photo-expand,
  .wa-notebook .notebook-choice > span,
  .wa-decision-thread .brief-intent label
) {
  border-radius: 0 !important;
}

/* Readable secondary footer text across native and captured Home layouts. */
body:not(.wp-admin) .site-footer .footer-top-row {
  display:flex; align-items:flex-end; justify-content:space-between; gap:28px 48px;
}
body:not(.wp-admin) .site-footer .footer-title { width:auto; padding-right:0; flex-shrink:0; }
body:not(.wp-admin) .site-footer .footer-socials {
  display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; max-width:60%;
}
body:not(.wp-admin) .site-footer .footer-social {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:48px; padding:11px 18px; border:1px solid rgba(231,224,214,.3);
  border-radius:999px; color:var(--wa-cream); font:500 15px/1.4 var(--wa-font);
  text-decoration:none; transition:background-color .2s,border-color .2s;
}
body:not(.wp-admin) .site-footer .footer-social-icon { display:inline-flex; width:20px; height:20px; flex-shrink:0; }
body:not(.wp-admin) .site-footer .footer-social-icon svg { width:100%; height:100%; }
body:not(.wp-admin) .site-footer .footer-social:hover,
body:not(.wp-admin) .site-footer .footer-social:focus-visible {
  background:rgba(231,224,214,.1); border-color:rgba(231,224,214,.65);
}
body:not(.wp-admin) .site-footer .footer-social:focus-visible { outline:2px solid var(--wa-cream); outline-offset:4px; }
body:not(.wp-admin) .site-footer .footer-grid > * { min-width:0; }
body:not(.wp-admin) .site-footer .footer-grid :is(p,a:not(.wordmark)) {
  font-size:16px; line-height:1.8; color:var(--wa-cream); overflow-wrap:anywhere;
}
body:not(.wp-admin) .site-footer .footer-grid .eyebrow { font-size:12px; letter-spacing:.15em; }
body:not(.wp-admin) .site-footer .footer-bottom { font-size:13px; line-height:1.75; color:var(--wa-cream); align-items:center; flex-wrap:wrap; }
body:not(.wp-admin) .site-footer .footer-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; }
body:not(.wp-admin) .site-footer .footer-actions a { display:inline-flex; align-items:center; min-height:32px; }
body:not(.wp-admin) .site-footer :is(.footer-grid,.footer-bottom) a:hover,
body:not(.wp-admin) .site-footer :is(.footer-grid,.footer-bottom) a:focus-visible {
  text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px;
}

/* The shared footer remains readable and tappable on narrow phones. */
@media(max-width:700px) {
  body:not(.wp-admin) .site-footer .footer-top-row { flex-direction:column; align-items:flex-start; gap:26px; }
  body:not(.wp-admin) .site-footer .footer-socials { justify-content:flex-start; max-width:100%; gap:10px; }
  body:not(.wp-admin) .site-footer .footer-social { font-size:14px; padding:11px 16px; }
  body:not(.wp-admin) .site-footer .footer-grid :is(p,a:not(.wordmark)) { font-size:15px; }
  body:not(.wp-admin) .site-footer .footer-grid .eyebrow { font-size:11px; }
  body:not(.wp-admin) .site-footer .footer-grid a:not(.wordmark),
  body:not(.wp-admin) .site-footer .footer-bottom a { min-height:44px; display:flex; align-items:center; }
  body:not(.wp-admin) .site-footer .footer-bottom { font-size:13px; gap:12px; }
  body:not(.wp-admin) .site-footer .footer-actions { width:100%; justify-content:space-between; gap:8px 20px; }
  body:not(.wp-admin) .site-footer { padding-bottom:max(25px,env(safe-area-inset-bottom,0px)); }
  body:not(.wp-admin) .contact-float { right:max(24px,env(safe-area-inset-right,0px)); bottom:max(24px,env(safe-area-inset-bottom,0px)); }
}
@media(prefers-reduced-motion:reduce) {
  body:not(.wp-admin) .site-footer .footer-social { transition:none; }
}
@media(max-width:560px) {
  body:not(.wp-admin) .site-footer .footer-grid > :first-child { grid-column:1 / -1; }
}
