/* ==========================================================================
   GM Core — Contact widget
   Self-sufficient: brand tokens fall back to literals so this renders correctly
   with OR without the theme's gm.css. Scoped to .gm-contact-widget.
   Pixel-matched to growth-master-contact.html.
   ========================================================================== */

.gm-contact-widget{
  --gmc-navy:var(--navy,#0A1B33);
  --gmc-navy-3:var(--navy-3,#17375E);
  --gmc-gold:var(--gold,#D9A02B);
  --gmc-gold-lt:var(--gold-lt,#E8B33C);
  --gmc-gold-dk:var(--gold-dk,#B97512);
  --gmc-gold-grad:var(--gold-grad,linear-gradient(135deg,#E8B33C 0%,#D9A02B 48%,#B97512 100%));
  --gmc-growth:var(--growth,linear-gradient(90deg,#1F4FBF 0%,#0E7CC4 34%,#0AA9AC 68%,#0FA37A 100%));
  --gmc-dark:var(--dark,#16202E);
  --gmc-muted:var(--muted,#63738A);
  --gmc-border:var(--border,#E1E7EE);
  --gmc-grey:var(--grey,#F3F6F9);
  --gmc-bar-2-t:var(--bar-2-t,#0E7BC4);
  --gmc-r:var(--r,14px);
  --gmc-r-lg:var(--r-lg,22px);
  --gmc-r-pill:var(--r-pill,100px);
  --gmc-sh-lg:var(--sh-lg,0 18px 48px rgba(10,27,51,.14));
  --gmc-sh-gold:var(--sh-gold,0 12px 32px rgba(217,160,43,.3));
  --gmc-ease:var(--ease,260ms cubic-bezier(.4,0,.2,1));
  font-family:var(--sans,"Inter",-apple-system,"Segoe UI",Roboto,sans-serif);
  color:var(--gmc-dark);
}

/* ---- split grid ---- */
.gm-contact-widget .gmc-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:start;
}
/* Optional overlap lift (pairs with a navy hero above). Toggleable via class. */
.gm-contact-widget.gmc--overlap .gmc-grid{margin-top:-72px;position:relative;z-index:5}

/* ---- form card ---- */
.gm-contact-widget .gmc-form{
  background:#fff;border:1px solid var(--gmc-border);border-radius:var(--gmc-r-lg);
  box-shadow:var(--gmc-sh-lg);padding:42px 40px;
}
.gm-contact-widget .gmc-form h2{
  font-size:1.6rem;font-weight:800;letter-spacing:-.02em;margin:0 0 6px;color:var(--gmc-dark);line-height:1.15!important;
}
.gm-contact-widget .gmc-form .gmc-sub{color:var(--gmc-muted);font-size:.95rem;margin:0 0 28px}
.gm-contact-widget .gmc-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gm-contact-widget .gmc-field{margin-bottom:18px}
.gm-contact-widget .gmc-field label{
  display:block;font-size:.8125rem;font-weight:700;color:var(--gmc-navy-3);margin-bottom:7px;letter-spacing:.01em;
}
.gm-contact-widget .gmc-req{color:var(--gmc-gold-dk)}
.gm-contact-widget .gmc-field input,
.gm-contact-widget .gmc-field select,
.gm-contact-widget .gmc-field textarea{
  width:100%;font-family:inherit;font-size:.95rem;color:var(--gmc-dark);
  padding:13px 15px;border:1.5px solid var(--gmc-border);border-radius:var(--gmc-r);background:var(--gmc-grey);
  transition:border-color var(--gmc-ease),background var(--gmc-ease),box-shadow var(--gmc-ease);
  box-sizing:border-box;
}
.gm-contact-widget .gmc-field input::placeholder,
.gm-contact-widget .gmc-field textarea::placeholder{color:#9AA7B8}
.gm-contact-widget .gmc-field input:focus,
.gm-contact-widget .gmc-field select:focus,
.gm-contact-widget .gmc-field textarea:focus{
  outline:none;border-color:var(--gmc-gold);background:#fff;box-shadow:0 0 0 4px rgba(217,160,43,.12);
}
.gm-contact-widget .gmc-field textarea{resize:vertical;min-height:130px}
.gm-contact-widget .gmc-field select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%2363738A' stroke-width='2'%3E%3Cpath d='M3 5l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;
}
.gm-contact-widget .gmc-consent{
  display:flex;gap:11px;align-items:flex-start;margin:6px 0 24px;
  font-size:.8125rem;color:var(--gmc-muted);line-height:1.5;
}
.gm-contact-widget .gmc-consent input{margin-top:3px;width:16px;height:16px;accent-color:var(--gmc-gold);flex:none}
.gm-contact-widget .gmc-consent a{color:var(--gmc-bar-2-t);font-weight:600;text-decoration:underline}

.gm-contact-widget .gmc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 32px;border:2px solid transparent;border-radius:var(--gmc-r-pill);
  font-size:.9375rem;font-weight:700;font-family:inherit;cursor:pointer;
  background:var(--gmc-gold-grad);color:var(--gmc-navy);box-shadow:var(--gmc-sh-gold);width:100%;
  transition:transform var(--gmc-ease);text-decoration:none;
}
.gm-contact-widget .gmc-btn:hover{transform:translateY(-2px)}
.gm-contact-widget .gmc-btn svg{width:18px;height:18px}
.gm-contact-widget .gmc-note{font-size:.75rem;color:var(--gmc-muted);text-align:center;margin-top:14px}

/* ---- info column ---- */
.gm-contact-widget .gmc-info{display:flex;flex-direction:column;gap:18px}
.gm-contact-widget .gmc-infocard{
  background:var(--gmc-navy);color:#fff;border-radius:var(--gmc-r-lg);padding:30px 28px;position:relative;overflow:hidden;
}
.gm-contact-widget .gmc-infocard::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--gmc-growth);
}
.gm-contact-widget .gmc-infocard h3{font-size:1.05rem;font-weight:800;margin:0 0 20px;color:#fff}
.gm-contact-widget .gmc-iitem{
  display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-top:1px solid rgba(255,255,255,.1);
}
.gm-contact-widget .gmc-iitem:first-of-type{border-top:0;padding-top:0}
.gm-contact-widget .gmc-iitem__ic{
  flex:none;width:40px;height:40px;border-radius:11px;background:rgba(232,179,60,.16);display:grid;place-items:center;
}
.gm-contact-widget .gmc-iitem__ic svg{width:19px;height:19px;color:var(--gmc-gold-lt)}
.gm-contact-widget .gmc-iitem__t{
  font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.55);font-weight:700;margin-bottom:3px;
}
.gm-contact-widget .gmc-iitem__v{font-size:.95rem;color:#fff;font-weight:600;line-height:1.45}
.gm-contact-widget .gmc-iitem__v a{color:#fff;text-decoration:none}
.gm-contact-widget .gmc-iitem__v a:hover{color:var(--gmc-gold-lt)}
.gm-contact-widget .gmc-iitem__v span{display:block;font-weight:400;color:rgba(255,255,255,.6);font-size:.85rem}

/* ---- social card ---- */
.gm-contact-widget .gmc-social{
  background:var(--gmc-grey);border:1px solid var(--gmc-border);border-radius:var(--gmc-r-lg);padding:24px 26px;
}
.gm-contact-widget .gmc-social h3{font-size:.95rem;font-weight:800;color:var(--gmc-navy);margin:0 0 4px}
.gm-contact-widget .gmc-social p{font-size:.82rem;color:var(--gmc-muted);margin:0 0 16px}
.gm-contact-widget .gmc-social__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gm-contact-widget .gmc-soc{
  display:flex;align-items:center;gap:9px;padding:11px 13px;background:#fff;border:1px solid var(--gmc-border);
  border-radius:11px;font-size:.8125rem;font-weight:600;color:var(--gmc-navy);text-decoration:none;
  transition:background var(--gmc-ease),border-color var(--gmc-ease),color var(--gmc-ease);
}
.gm-contact-widget .gmc-soc svg{width:18px;height:18px;flex:none;color:var(--gmc-navy-3);transition:color var(--gmc-ease)}
.gm-contact-widget .gmc-soc--youtube:hover{background:#CC0000;border-color:#CC0000;color:#fff}
.gm-contact-widget .gmc-soc--telegram:hover{background:#176B94;border-color:#176B94;color:#fff}
.gm-contact-widget .gmc-soc--whatsapp:hover{background:#15803B;border-color:#15803B;color:#fff}
.gm-contact-widget .gmc-soc--linkedin:hover{background:#0A66C2;border-color:#0A66C2;color:#fff}
.gm-contact-widget .gmc-soc--x:hover{background:#111;border-color:#333;color:#fff}
.gm-contact-widget .gmc-soc--instagram:hover{background:#C13584;border-color:#C13584;color:#fff}
.gm-contact-widget .gmc-soc:hover svg{color:#fff}

/* ---- responsive ---- */
@media(max-width:960px){
  .gm-contact-widget .gmc-grid{grid-template-columns:1fr}
  .gm-contact-widget.gmc--overlap .gmc-grid{margin-top:-40px}
}
@media(max-width:640px){
  .gm-contact-widget .gmc-row{grid-template-columns:1fr}
  .gm-contact-widget .gmc-form{padding:30px 22px}
  .gm-contact-widget .gmc-social__grid{grid-template-columns:1fr}
}
/* Safety: icon SVGs never balloon if a parent rule is missing. */
 .gm-contact-widget svg{max-width:100%;max-height:48px}
