/* =====================================================================
   CONSTRUCT FAMILY — contact.css
   The contact / quote page (page-contact.php): form + contact card.
   Loaded only by page-contact.php. Tokens from main.css :root; --coral-ink
   (AA-compliant CTA fill) falls back to its decided value until the token
   lands in main.css.
   ===================================================================== */

.cf-contact-page .page-hero{padding-bottom:24px}

.cf-contact-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}
.cf-contact-main.entry-content{max-width:none}
.cf-contact-main .lead{max-width:60ch}
.cf-contact-main .wpcf7-form{max-width:none}

/* ---------- contact card ---------- */
.cf-contact-card{background:var(--mist);border:1px solid var(--line);border-radius:3px;padding:20px}
.cf-contact-card-title{font-family:var(--display);font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0 0 14px}

.cf-contact-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cf-contact-btn{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 14px;border-radius:2px;
  font-family:var(--display);font-weight:700;font-size:1rem;line-height:1.15;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.cf-contact-btn svg{flex:none}
.cf-contact-btn-text{display:flex;flex-direction:column;min-width:0}
.cf-contact-btn-text small{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;opacity:.85;margin-bottom:2px}
.cf-contact-btn--phone{background:var(--coral-ink,#D02B2B);border:1.5px solid var(--coral-ink,#D02B2B);color:#fff}
.cf-contact-btn--phone .cf-contact-btn-text small{opacity:1} /* white on coral-ink = 5.2:1; at .85 it was 4.08:1 */
.cf-contact-btn--phone:hover{background:var(--coral-ink-hover,#B42020);border-color:var(--coral-ink-hover,#B42020);color:#fff}
.cf-contact-btn--wa{background:var(--paper);border:1.5px solid var(--ink);color:var(--ink)}
.cf-contact-btn--wa:hover{background:var(--ink);color:#fff}
.cf-contact-btn:focus-visible{outline:2px solid var(--coral-ink,#D02B2B);outline-offset:2px}

.cf-contact-list{margin:18px 0 0;display:grid;gap:0}
.cf-contact-row{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.cf-contact-row dt{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);padding-top:2px}
.cf-contact-row dd{margin:0;font-size:.95rem;color:var(--ink);line-height:1.5;min-width:0;overflow-wrap:anywhere}
.cf-contact-row dd a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.cf-contact-row dd a:hover{color:var(--coral-ink,#D02B2B)}
.cf-contact-map{display:block;width:max-content;max-width:100%;margin-top:2px;font-size:.88rem;padding:4px 0}
.cf-contact-hours span{display:block}

@media(max-width:920px){
  .cf-contact-page.page-shell{padding-top:24px}
  .cf-contact-page .page-hero{padding-top:16px;padding-bottom:16px}
}
@media(max-width:480px){
  .cf-contact-card{padding:16px}
  .cf-contact-btn{padding:10px 12px;font-size:.95rem;white-space:nowrap}
  .cf-contact-btn svg{display:none}
  .cf-contact-row{grid-template-columns:70px 1fr;padding:9px 0}
  .cf-contact-row dd{font-size:.9rem}
}
@media(max-width:340px){
  .cf-contact-quick{grid-template-columns:1fr}
}

@media(min-width:921px){
  .cf-contact-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:56px}
  .cf-contact-main{grid-column:1;grid-row:1}
  .cf-contact-card{grid-column:2;grid-row:1;position:sticky;top:96px;padding:28px}
  .cf-contact-card-title{font-size:1.3rem;margin-bottom:18px}
  .cf-contact-quick{grid-template-columns:1fr}
  .cf-contact-btn{min-height:60px;font-size:1.08rem}
  .admin-bar .cf-contact-card{top:128px}
}

/* the submit button follows the accessible CTA fill on this page */
.cf-contact-main .wpcf7-form .wpcf7-submit{background:var(--coral-ink,#D02B2B);border-color:var(--coral-ink,#D02B2B);min-height:48px}
.cf-contact-main .wpcf7-form .wpcf7-submit:hover{background:var(--coral-ink-hover,#B42020);border-color:var(--coral-ink-hover,#B42020)}
.cf-contact-main .cf-config-summary{margin-top:8px}
