/* Ingetrans – Contact Widget CSS */
:root { --gfcontact-brand: #EF4444; }

.gfcontact-section { background:#fff; padding:112px 0; overflow:hidden; }
.gfcontact-section, .gfcontact-section * { box-sizing: border-box; }
.gfcontact-container { max-width:1440px; margin:0 auto; padding:0 24px; }
@media(min-width:1024px){ .gfcontact-container { padding:0 48px; } }

.gfcontact-grid { display:grid; gap:64px; algfcontact-items:start; }
@media(min-width:1024px){ .gfcontact-grid { grid-template-columns:1fr 1.3fr; } }

/* LEFT */
.gfcontact-eyebrow { display:inline-block; font-size:11px; text-transform:uppercase; letter-spacing:3px; font-weight:700; color:var(--gfcontact-brand); margin-bottom:12px; }
.gfcontact-title   { font-size:clamp(2rem,4vw,3rem); font-weight:900; letter-spacing:-0.03em; line-height:1.05; color:#0f172a; margin:0 0 20px; }
.gfcontact-subtitle{ font-size:1.0625rem; color:#64748b; line-height:1.7; margin:0 0 32px; }

/* Contact rows */
.gfcontact-rows { display:flex; flex-direction:column; gap:12px; }
.gfcontact-row {
  display:flex; algfcontact-items:center; gap:16px;
  padding:16px; border-radius:14px;
  border:1px solid #e2e8f0;
  text-decoration:none; color:inherit;
  transition:border-color .25s ease, background .25s ease;
}
.gfcontact-row:hover { border-color:#cbd5e1; background:#f8fafc; }
.gfcontact-row__icon {
  width:44px; height:44px;
  border-radius:10px;
  background:#0f172a;
  color:#fff;
  display:grid; place-items:center;
  flex-shrink:0;
}
.gfcontact-row__icon i, .gfcontact-row__icon svg { font-size:1.1rem; width:18px; height:18px; fill: currentColor; }
.gfcontact-row__icon svg path { fill: currentColor; }
.gfcontact-row__label { font-size:10px; text-transform:uppercase; letter-spacing:1.5px; color:#94a3b8; font-weight:700; margin-bottom:2px; }
.gfcontact-row__value { font-size:0.9375rem; font-weight:600; color:#0f172a; }

/* RIGHT: form card */
.gfcontact-form {
  box-sizing: border-box;
  width: 100%;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:24px;
  padding:40px;
  display:flex; flex-direction:column; gap:20px;
}
@media(max-width:639px){ .gfcontact-form { padding:24px; } }

.gfcontact-row2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media(max-width:768px){ .gfcontact-row2 { grid-template-columns:1fr; } }

.gfcontact-field { display:flex; flex-direction:column; gap:8px; }
.gfcontact-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; color:#475569; }
.gfcontact-input {
  width:100%; box-sizing:border-box;
  padding:14px 16px;
  border-radius:10px;
  border:1px solid #e2e8f0;
  background:#fff;
  color:#0f172a;
  font-size:0.9375rem;
  outline:none;
  font-family:inherit;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.gfcontact-input:focus { border-color:#0f172a; box-shadow:0 0 0 3px rgba(15,23,42,.08); }
.gfcontact-input::placeholder { color:#94a3b8; }
.gfcontact-select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:40px; cursor:pointer; }
.gfcontact-textarea { resize:none; }

/* Alerts */
.gfcontact-alert { padding:14px 16px; border-radius:10px; font-size:0.9rem; font-weight:500; }
.gfcontact-alert--error   { background:#fef2f2; color:#dc2626; border:1px solid #fecaca; }
.gfcontact-alert--success { background:#f0fdf4; color:#16a34a; border:1px solid #bbf7d0; }

/* Submit button */
.gfcontact-submit {
  display:flex; algfcontact-items:center; justify-content:center; gap:8px;
  width:100%; padding:16px 24px;
  border-radius:12px; border:none;
  background:var(--gfcontact-brand); color:#fff;
  font-size:1rem; font-weight:700;
  cursor:pointer; font-family:inherit;
  transition:background .25s ease, transform .25s ease;
}
.gfcontact-submit:hover:not(:disabled) { transform:translateY(-1px); }
.gfcontact-submit:disabled { opacity:.65; cursor:not-allowed; }
.gfcontact-submit__text,
.gfcontact-submit__loading,
.gfcontact-submit__sent { display:flex; algfcontact-items:center; gap:8px; }
.gfcontact-submit__text[hidden],
.gfcontact-submit__loading[hidden],
.gfcontact-submit__sent[hidden] { display:none !important; }

/* CF7 overrides */
.gfcontact-cf7-wrap { box-sizing: border-box; width: 100%; background:#f8fafc; border:1px solid #e2e8f0; border-radius:24px; padding:40px; overflow:hidden; }
.gfcontact-cf7-wrap input,
.gfcontact-cf7-wrap select,
.gfcontact-cf7-wrap textarea { width:100%; box-sizing:border-box; padding:14px 16px; border-radius:10px; border:1px solid #e2e8f0; background:#fff; color:#0f172a; font-size:0.9375rem; font-family:inherit; outline:none; transition:border-color .2s,box-shadow .2s; margin-bottom:16px; }
.gfcontact-cf7-wrap input:focus,
.gfcontact-cf7-wrap select:focus,
.gfcontact-cf7-wrap textarea:focus { border-color:#0f172a; box-shadow:0 0 0 3px rgba(15,23,42,.08); }
.gfcontact-cf7-wrap input[type="submit"] { background:var(--gfcontact-brand); color:#fff; border:none; cursor:pointer; font-weight:700; width:100%; }
.gfcontact-cf7-wrap input[type="submit"]:hover { opacity:.9; }
.gfcontact-cf7-wrap .wpcf7-response-output { border-radius:10px; padding:12px 16px; font-size:.875rem; margin-top:0; }

/* Reveal */
.gfcontact-reveal { opacity:0; transform:translateY(28px); transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1); }
.gfcontact-reveal.gfcontact-animated { opacity:1; transform:none; }

.gfcontact-row__icon svg, .gfcontact-row__icon i,
.gfcontact-submit__spin {
  width: 24px;
  height: 24px;
  font-size: 24px;
  flex-shrink: 0;
  color: inherit;
}
.gfcontact-submit__spin {
  animation: gfcontact-spin 1s linear infinite;
}
@keyframes gfcontact-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
