/* ========== emGuarde (Canada) • Contact Form CSS ========== */

/* Section headings */
.egcf-head{max-width:1100px;margin:0 auto 16px;text-align:center;color:#fff}
.egcf-head h2{margin:0 0 6px;font-size:28px;line-height:1.15}
.egcf-head p{margin:0;color:#d0d0d0}

/* Two-column glass cards */
.egcf-section{max-width:1100px;margin:0 auto;padding:10px 0 24px}
.egcf-grid-outer{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.egcf-card{
  background:rgba(20,20,20,.6);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
  border-radius:18px;
  color:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.25)
}
.egcf-card .in{padding:18px 18px}
.egcf-info h3{margin:4px 0 10px;font-size:1.05rem;letter-spacing:.3px}
.egcf-info p{margin:8px 0;color:#e5e5e5}
.egcf-meta{font-size:.9rem;color:#b8b8b8}

/* Form layout */
.egcf-title{margin:0 0 10px;font-size:1.08rem}
.egcf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.egcf-full{grid-column:1/-1}
.egcf-label{font-size:.85rem;color:#cfcfcf;margin:2px 0 6px;display:block}
.egcf-input,.egcf-textarea,.egcf-select{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(15,15,15,.92);
  border:1px solid #2f2f2f;
  color:#fff;
  font:inherit;
  outline:none;
  box-sizing:border-box;
}
.egcf-textarea{min-height:140px;resize:vertical}
.egcf-input::placeholder,.egcf-textarea::placeholder{color:#a0a0a0}

/* Helpers */
.egcf-optional{opacity:.75;font-weight:500;font-size:.85rem;margin-left:6px}

/* Select (dark theme arrow) */
.egcf-select{
  -webkit-appearance:none;appearance:none;
  background-image:
    linear-gradient(45deg,transparent 50%,#a0a0a0 50%),
    linear-gradient(135deg,#a0a0a0 50%,transparent 50%),
    linear-gradient(#1a1a1a,#1a1a1a);
  background-position:
    calc(100% - 18px) calc(50% - 4px),
    calc(100% - 13px) calc(50% - 4px),
    100% 0;
  background-size:5px 5px,5px 5px,2.2rem 100%;
  background-repeat:no-repeat;
}

/* Focus + invalid states */
.egcf-input:focus,.egcf-textarea:focus,.egcf-select:focus{
  border-color:#e9a86b;
  box-shadow:0 0 0 3px rgba(233,168,107,.18) inset,0 0 0 2px rgba(233,168,107,.18)
}
.egcf-input:invalid,.egcf-textarea:invalid,.egcf-select:invalid{border-color:#b24b4b}

/* Consent checkbox row */
.egcf-consent{display:block;font-size:.95rem;color:#d6d6d6}
.egcf-consent .egcf-check{display:flex;align-items:flex-start;gap:10px;margin:4px 0 8px}
.egcf-consent input[type="checkbox"]{width:18px;height:18px;margin-top:3px;accent-color:#e9a86b}

/* Actions (button + legal stack with gap) */
.egcf-actions{display:flex;flex-direction:column;gap:12px;margin-top:10px}

/* Button — full width */
.egcf-card .egcf-btn{
  width:100%;display:inline-flex;align-items:center;justify-content:center;height:48px;border-radius:12px;border:none!important;
  -webkit-appearance:none;appearance:none;
  background:linear-gradient(90deg,#f4c27a 0%, #e89a5c 100%)!important;color:#111!important;font-weight:700;letter-spacing:.3px;cursor:pointer;
  transition:transform .12s ease, box-shadow .25s ease; box-shadow:0 4px 12px rgba(233,168,107,.35);
}
.egcf-card .egcf-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(233,168,107,.45)}
.egcf-card .egcf-btn:focus-visible{outline:2px solid rgba(233,168,107,.6);outline-offset:2px}
.egcf-btn[disabled]{opacity:.7;cursor:not-allowed;transform:none!important;box-shadow:none!important}

/* SMS consent text under button */
.egcf-legal{
  margin-top:0; /* spacing handled by .egcf-actions gap */
  padding:10px 12px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  color:#cbd2dd;
  font-size:12.5px;
  line-height:1.55;
}
.egcf-legal b{color:#fff}
.egcf-legal strong{color:#e9a86b;font-weight:700}

/* Messages */
.egcf-msg{margin:12px 0 0;padding:12px;border-radius:12px;border:1px solid}
.egcf-msg.ok{border-color:#2e7d32;background:#102417;color:#b6f3c3}
.egcf-msg.err{border-color:#b71c1c;background:#2a0f10;color:#ffc9c9}

/* Honeypot */
.egcf-hp{display:none!important;visibility:hidden!important;position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

/* Responsive */
@media (max-width:980px){.egcf-grid-outer{grid-template-columns:1fr}}
@media (max-width:760px){
  .egcf-grid{grid-template-columns:1fr}
  .egcf-actions{gap:10px}
  .egcf-legal{font-size:12px}
}
/* === SMS Consent Message (Canada) === */
.egcf-actions{
  display:flex;
  flex-direction:column;
  gap:12px; /* space between button & disclaimer */
}

/* SMS legal block below button */
.egcf-legal{
  margin-top:0;
  padding:10px 12px;
  background:rgba(255,255,255,.04);              /* translucent box */
  border:1px solid rgba(255,255,255,.08);        /* soft white border */
  border-radius:10px;
  color:#cbd2dd;
  font-size:12.5px;                              /* smaller text */
  line-height:1.55;
  text-align:left;
  box-shadow:0 4px 10px rgba(0,0,0,.25);         /* subtle depth */
}
.egcf-legal strong{color:#e9a86b;font-weight:700;}
.egcf-legal b{color:#fff;}

@media (max-width:760px){
  .egcf-actions{gap:10px;}
  .egcf-legal{font-size:12px;}
}
