/* Contact page — page-specific styles. Shared header, buttons, CTA and footer remain in squareline.css. */
.contact-page { background: #fff; }
.contact-page main { overflow: hidden; }
.contact-hero { padding: 3.7rem 0 2.8rem; background: linear-gradient(180deg,#fff 0%,#fbfcfd 100%); }
.contact-hero-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr); gap:clamp(2.2rem,4vw,4.7rem); align-items:center; }
.contact-eyebrow { display:flex; align-items:center; gap:.55rem; color:var(--sq-orange); text-transform:uppercase; letter-spacing:.04em; font-size:.78rem; font-weight:700; margin-bottom:.75rem; }
.contact-eyebrow i { font-size:1rem; }
.contact-hero-copy h1 { color:var(--sq-navy); font-size:clamp(2.8rem,4.6vw,4.7rem); line-height:1.02; letter-spacing:-.05em; font-weight:700; margin:0 0 .75rem; max-width:650px; }
.contact-hero-copy h2 { color:var(--sq-navy); font-size:clamp(1.1rem,1.7vw,1.45rem); line-height:1.35; font-weight:600; max-width:640px; margin:0 0 .95rem; }
.contact-hero-copy p { color:var(--sq-muted); font-size:1rem; line-height:1.75; max-width:650px; margin:0 0 1.4rem; }
.contact-hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; }
.contact-hero-actions .btn { min-height:50px; display:inline-flex; align-items:center; gap:.65rem; justify-content:center; }
.contact-whatsapp-btn { color:#287b36; border:1px solid #8fc899; background:#fff; }
.contact-whatsapp-btn:hover,.contact-whatsapp-btn:focus { color:#fff; background:#2f9846; border-color:#2f9846; }
.contact-outline-btn { color:var(--sq-navy); border:1px solid #9ba9b8; background:#fff; }
.contact-outline-btn:hover,.contact-outline-btn:focus { background:var(--sq-navy); border-color:var(--sq-navy); color:#fff; }
.contact-response-card { min-height:330px; border:1px solid var(--sq-border); background:#fff; border-radius:18px; box-shadow:var(--sq-shadow); display:grid; grid-template-columns:minmax(220px,.78fr) minmax(260px,1.22fr); align-items:center; overflow:hidden; padding:1.7rem 1.3rem 1.7rem 2rem; }
.contact-response-copy { position:relative; z-index:2; }
.contact-response-copy h2 { color:var(--sq-navy); font-size:1.35rem; font-weight:700; margin-bottom:.7rem; }
.contact-response-copy p { color:#475467; font-size:.96rem; line-height:1.65; margin-bottom:1.15rem; max-width:250px; }
.contact-response-number { color:var(--sq-navy); display:inline-flex; gap:.65rem; align-items:center; font-size:1.5rem; line-height:1; font-weight:700; white-space:nowrap; }
.contact-response-number i { color:#2fa34b; font-size:1.65rem; }
.contact-response-art { height:290px; display:flex; align-items:center; justify-content:center; }
.contact-response-art img { width:100%; max-width:360px; height:100%; object-fit:contain; filter:drop-shadow(0 8px 18px rgba(7,26,43,.08)); }

.contact-methods-section { padding:2rem 0 1.35rem; }
.contact-methods-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.contact-method-card { min-height:270px; border:1px solid var(--sq-border); border-radius:14px; background:#fff; box-shadow:0 10px 24px rgba(5,24,41,.05); padding:1.5rem; display:flex; flex-direction:column; }
.contact-method-whatsapp { background:linear-gradient(180deg,#fbfffb 0%,#f5fbf5 100%); border-color:#d7ead9; }
.contact-method-icon { width:58px; height:58px; display:flex; align-items:center; justify-content:center; border:2px solid var(--sq-orange); color:var(--sq-orange); border-radius:9px; font-size:1.65rem; margin-bottom:.9rem; }
.contact-method-whatsapp .contact-method-icon { border-color:#55ad62; color:#2c9641; border-radius:50%; }
.contact-method-card h2 { color:var(--sq-navy); font-size:1.15rem; font-weight:700; margin:0 0 .45rem; }
.contact-method-card p { color:var(--sq-muted); font-size:.86rem; line-height:1.6; margin:0 0 .7rem; }
.contact-detail-link { color:var(--sq-orange); font-size:.86rem; font-weight:600; overflow-wrap:anywhere; margin-bottom:1.1rem; }
.contact-method-whatsapp .contact-detail-link { color:#318e40; }
.contact-card-btn { margin-top:auto; border:1px solid #b3bdc8; background:#fff; color:var(--sq-navy); min-height:46px; display:flex; align-items:center; justify-content:center; gap:.55rem; }
.contact-card-btn:hover,.contact-card-btn:focus { background:var(--sq-navy); color:#fff; border-color:var(--sq-navy); }
.contact-whatsapp-card-btn { color:#2a8b3b; border-color:#86c391; }
.contact-whatsapp-card-btn:hover,.contact-whatsapp-card-btn:focus { background:#2f9846; border-color:#2f9846; }

.contact-availability-section { padding:1rem 0 1.4rem; }
.contact-availability-card { border:1px solid #f5d8b6; border-radius:14px; background:linear-gradient(90deg,#fff8f0 0%,#fffdf9 60%,#fff7ed 100%); box-shadow:0 8px 24px rgba(246,138,10,.06); display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,.7fr); gap:2.2rem; padding:1.55rem 1.65rem; align-items:center; }
.contact-availability-main { display:grid; grid-template-columns:64px 1fr; gap:1rem; align-items:start; }
.contact-info-icon { width:58px; height:58px; border:2px solid var(--sq-orange); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--sq-orange); font-size:1.7rem; }
.contact-availability-main h2 { color:var(--sq-navy); font-size:1.25rem; font-weight:700; margin:0 0 .55rem; }
.contact-availability-main p { color:#475467; font-size:.78rem; line-height:1.65; margin:0 0 .65rem; }
.contact-response-promise { color:var(--sq-navy)!important; font-weight:700; margin-bottom:0!important; }
.contact-availability-side { border-left:1px solid #efd8bd; padding-left:1.7rem; }
.contact-mini-detail { display:grid; grid-template-columns:27px 1fr; gap:.65rem; align-items:start; margin-bottom:.9rem; }
.contact-mini-detail i { color:var(--sq-orange); font-size:1.25rem; }
.contact-mini-detail:first-child i { color:#2f9b46; }
.contact-mini-detail strong { display:block; color:var(--sq-navy); font-size:.72rem; margin-bottom:.05rem; }
.contact-mini-detail a { display:block; color:#344054; font-size:.72rem; overflow-wrap:anywhere; }
.contact-availability-actions { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1rem; }
.contact-availability-actions .btn { padding:.65rem .85rem; font-size:.72rem; min-height:40px; display:inline-flex; gap:.4rem; align-items:center; }
.contact-whatsapp-light { color:#2a8b3b; border:1px solid #86c391; background:#fff; }
.contact-email-light { color:var(--sq-orange); border:1px solid #f3a449; background:#fff; }
.contact-whatsapp-light:hover { background:#2f9846; color:#fff; }
.contact-email-light:hover { background:var(--sq-orange); color:#fff; }

.contact-form-section { padding:1.3rem 0 1.7rem; }
.contact-form-card { border:1px solid var(--sq-border); border-radius:14px; background:#fff; box-shadow:0 12px 32px rgba(5,24,41,.055); padding:1.8rem 1.9rem 1.45rem; }
.contact-form-heading h2 { color:var(--sq-navy); font-size:1.35rem; font-weight:700; margin-bottom:.25rem; }
.contact-form-heading p { color:var(--sq-muted); font-size:.78rem; margin:0 0 1.35rem; }
.contact-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.35rem; }
.contact-form-column { display:flex; flex-direction:column; gap:.75rem; }
.contact-field label { display:block; color:var(--sq-navy); font-size:.72rem; font-weight:600; margin-bottom:.28rem; }
.contact-field label span { color:var(--sq-orange); margin-left:.1rem; }
.contact-field .form-control,.contact-field .form-select { min-height:43px; border:1px solid #d6dce3; border-radius:5px; color:#344054; font-size:.76rem; box-shadow:none; padding:.68rem .85rem; }
.contact-field textarea.form-control { min-height:180px; resize:vertical; }
.contact-field .form-control:focus,.contact-field .form-select:focus { border-color:var(--sq-orange); box-shadow:0 0 0 3px rgba(246,138,10,.12); }
.contact-field .form-control.is-invalid,.contact-field .form-select.is-invalid { border-color:#d92d20; }
.contact-field .invalid-feedback { font-size:.67rem; }
.contact-submit-btn { width:100%; min-height:49px; margin-top:1.15rem; display:flex; align-items:center; justify-content:center; gap:.6rem; }
.contact-privacy-note { display:flex; align-items:center; justify-content:center; gap:.55rem; color:#667085; font-size:.7rem; margin:.7rem 0 0; text-align:center; }
.contact-privacy-note i { color:#667085; }
.contact-form-status { min-height:0; text-align:center; font-size:.74rem; font-weight:600; margin-top:.4rem; }
.contact-form-status.success { color:#247a36; }
.contact-form-status.error { color:#b42318; }

.contact-quote-help-section { padding:1.6rem 0 2rem; }
.contact-section-heading h2 { color:var(--sq-navy); font-size:1.6rem; font-weight:700; margin:0 0 .3rem; }
.contact-section-heading p { color:var(--sq-muted); font-size:.78rem; margin:0 auto 1.2rem; }
.contact-help-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.8rem; }
.contact-help-card { border:1px solid var(--sq-border); border-radius:11px; background:#fff; box-shadow:0 8px 20px rgba(5,24,41,.04); padding:1.35rem .85rem 1.2rem; text-align:center; min-height:205px; }
.contact-help-card i { color:var(--sq-orange); font-size:2rem; display:block; margin-bottom:.8rem; }
.contact-help-card h3 { color:var(--sq-navy); font-size:.83rem; line-height:1.25; font-weight:700; min-height:2.1em; margin:0 0 .55rem; }
.contact-help-card p { color:var(--sq-muted); font-size:.68rem; line-height:1.55; margin:0; }

.contact-whatsapp-strip-section { padding:0 0 1.75rem; }
.contact-whatsapp-strip { display:grid; grid-template-columns:auto 1.35fr .8fr; gap:1.2rem; align-items:center; border:1px solid #d9eadb; border-radius:13px; background:linear-gradient(90deg,#fbfffb 0%,#f5faf5 100%); padding:1.05rem 1.35rem; }
.contact-whatsapp-strip-icon { width:58px; height:58px; display:flex; align-items:center; justify-content:center; color:#2f9846; font-size:2.8rem; }
.contact-whatsapp-strip-copy h2 { color:var(--sq-navy); font-size:1.02rem; font-weight:700; margin:0 0 .2rem; }
.contact-whatsapp-strip-copy p { color:#475467; font-size:.7rem; line-height:1.55; margin:0; }
.contact-whatsapp-strip-action { border-left:1px solid #d6e6d7; padding-left:1.5rem; }
.contact-whatsapp-strip-action strong { display:block; color:#339846; font-size:1.55rem; line-height:1.1; margin-bottom:.55rem; }
.contact-whatsapp-strip-action .btn { width:100%; background:#319846; color:#fff; min-height:42px; display:flex; gap:.55rem; align-items:center; justify-content:center; font-size:.72rem; }
.contact-whatsapp-strip-action .btn:hover { background:#287d3a; color:#fff; }

.contact-summary-section { padding:0 0 2rem; }
.contact-summary-section .contact-section-heading p { display:none; }
.contact-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }
.contact-summary-card { border:1px solid var(--sq-border); border-radius:10px; background:#fff; padding:1rem; display:grid; grid-template-columns:42px 1fr; gap:.7rem; align-items:center; min-height:92px; }
.contact-summary-card > i { color:var(--sq-orange); font-size:1.45rem; }
.contact-summary-whatsapp > i { color:#2f9846; }
.contact-summary-card strong { display:block; color:var(--sq-navy); font-size:.72rem; margin-bottom:.12rem; }
.contact-summary-card span { display:block; color:#475467; font-size:.66rem; line-height:1.45; overflow-wrap:anywhere; }
.contact-summary-card:hover { border-color:#f1b36b; transform:translateY(-2px); box-shadow:0 8px 20px rgba(5,24,41,.05); color:inherit; }

.contact-final-cta .sq-services-cta-inner { grid-template-columns:auto 1fr auto; }
.contact-final-actions { display:grid; gap:.55rem; min-width:195px; }
.contact-final-actions .btn { min-width:195px; display:flex; align-items:center; justify-content:center; gap:.55rem; }
.contact-final-whatsapp { color:#fff; border:1px solid rgba(255,255,255,.65); background:transparent; }
.contact-final-whatsapp:hover,.contact-final-whatsapp:focus { color:var(--sq-navy); background:#fff; border-color:#fff; }

@media (max-width:1199.98px) {
  .contact-hero-grid { grid-template-columns:minmax(0,.95fr) minmax(460px,1.05fr); gap:2.2rem; }
  .contact-response-card { grid-template-columns:200px 1fr; padding-left:1.5rem; }
  .contact-help-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .contact-help-card { min-height:180px; }
}
@media (max-width:991.98px) {
  .contact-hero { padding:2.8rem 0 2rem; }
  .contact-hero-grid { grid-template-columns:1fr; gap:1.8rem; }
  .contact-hero-copy { max-width:760px; }
  .contact-response-card { max-width:780px; grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr); }
  .contact-methods-grid { grid-template-columns:1fr; }
  .contact-method-card { min-height:0; }
  .contact-availability-card { grid-template-columns:1fr; gap:1.3rem; }
  .contact-availability-side { border-left:0; border-top:1px solid #efd8bd; padding:1.2rem 0 0; }
  .contact-whatsapp-strip { grid-template-columns:auto 1fr; }
  .contact-whatsapp-strip-action { grid-column:1 / -1; border-left:0; border-top:1px solid #d6e6d7; padding:1rem 0 0; display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:center; }
  .contact-whatsapp-strip-action strong { margin:0; }
  .contact-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767.98px) {
  .contact-hero { padding:2.15rem 0 1.6rem; }
  .contact-hero-copy h1 { font-size:clamp(2.35rem,10vw,3.25rem); }
  .contact-hero-copy h2 { font-size:1.05rem; }
  .contact-hero-copy p { font-size:.94rem; line-height:1.65; }
  .contact-hero-actions { display:grid; grid-template-columns:1fr 1fr; }
  .contact-hero-actions .btn { width:100%; }
  .contact-response-card { grid-template-columns:1fr; padding:1.35rem; min-height:0; }
  .contact-response-copy p { max-width:none; }
  .contact-response-art { height:260px; order:-1; margin-bottom:.4rem; }
  .contact-response-art img { max-width:430px; }
  .contact-methods-section { padding-top:1.3rem; }
  .contact-availability-card { padding:1.25rem; }
  .contact-availability-main { grid-template-columns:1fr; }
  .contact-form-card { padding:1.35rem 1.15rem; }
  .contact-form-grid { grid-template-columns:1fr; gap:.75rem; }
  .contact-field textarea.form-control { min-height:160px; }
  .contact-help-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-whatsapp-strip { grid-template-columns:1fr; text-align:center; }
  .contact-whatsapp-strip-icon { margin:0 auto; }
  .contact-whatsapp-strip-action { grid-column:auto; display:block; }
  .contact-whatsapp-strip-action strong { margin-bottom:.7rem; }
  .contact-summary-grid { grid-template-columns:1fr; }
  .contact-final-cta .sq-services-cta-inner { grid-template-columns:auto 1fr; }
  .contact-final-actions { grid-column:1 / -1; width:100%; grid-template-columns:1fr 1fr; }
  .contact-final-actions .btn { min-width:0; width:100%; }
}
@media (max-width:479.98px) {
  .contact-hero-actions { grid-template-columns:1fr; }
  .contact-response-art { height:220px; }
  .contact-help-grid { grid-template-columns:1fr; }
  .contact-help-card { min-height:0; }
  .contact-availability-actions { display:grid; grid-template-columns:1fr; }
  .contact-availability-actions .btn { width:100%; justify-content:center; }
  .contact-final-cta .sq-services-cta-inner { grid-template-columns:1fr; text-align:center; }
  .contact-final-actions { grid-column:auto; grid-template-columns:1fr; }
}
