/* MyCorner Forms — front-end. Ported from the validated prototype.
   Fonts: real SerfGeo/TbcCaps/FiraGo are proprietary (spec TBD-P);
   we inherit the theme font and only set weights/sizes. */
.mcf-inline,.mcf-ov,.mcf-pp{
  --mcf-brand:#D54D24;--mcf-ink:#1f1f1f;--mcf-muted:#7c7c7c;
  --mcf-border:#e3e3e3;--mcf-ph:#a0a4a8;--mcf-panel:#fbfaf8;--mcf-r:8px;
  box-sizing:border-box;
}
.mcf-inline *,.mcf-ov *,.mcf-pp *{box-sizing:border-box}
.mcf-form{display:flex;flex-direction:column;gap:12px;margin:0}
.mcf-field{display:flex;flex-direction:column}
.mcf-fld{width:100%;border:1px solid var(--mcf-border);border-radius:9px;
  background:#fff;font:inherit;font-size:15px;color:var(--mcf-ink);
  padding:14px 16px;outline:none}
.mcf-fld::placeholder{color:var(--mcf-ph)}
.mcf-fld:focus{border-color:#c9c9c9}
.mcf-msg{height:50px;min-height:50px;resize:none;overflow:auto;line-height:1.4}
.mcf-err{border-color:var(--mcf-brand)!important}
.mcf-emsg{color:var(--mcf-brand);font-size:12px;margin:4px 0 0 3px;display:none}
.mcf-emsg.on{display:block}
.mcf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.mcf-consent{font-size:12px;color:var(--mcf-muted);display:flex;gap:8px;align-items:flex-start}

.mcf-phone-wrap{position:relative}
.mcf-phone{display:flex;align-items:stretch;border:1px solid var(--mcf-border);
  border-radius:9px;background:#fff;overflow:hidden}
.mcf-phone:focus-within{border-color:#c9c9c9}
.mcf-ccode{display:flex;align-items:center;gap:7px;padding:0 12px;
  border-right:1px solid var(--mcf-border);cursor:pointer;user-select:none;
  flex-shrink:0;background:#fff}
.mcf-flag{width:20px;height:20px;border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);display:block}
.mcf-dial{font-size:15px;color:var(--mcf-ink);min-width:38px}
.mcf-car{width:0;height:0;border-left:4px solid transparent;
  border-right:4px solid transparent;border-top:5px solid #6b6b6b;transition:transform .2s}
.mcf-ccode.op .mcf-car{transform:rotate(180deg)}
.mcf-phone input{border:0;outline:0;flex:1;padding:14px 16px;font:inherit;
  font-size:15px;color:var(--mcf-ink);background:transparent;letter-spacing:.4px}
.mcf-phone input::placeholder{color:var(--mcf-ph)}
.mcf-ccp{position:absolute;z-index:50;top:calc(100% + 5px);left:0;width:300px;
  max-width:100%;background:#fff;border:1px solid #e6e6e6;border-radius:10px;
  box-shadow:0 16px 40px rgba(0,0,0,.22);display:none;overflow:hidden}
.mcf-ccp.op{display:block}
.mcf-ccp.up{top:auto;bottom:calc(100% + 5px)}
.mcf-ccp .mcf-s{padding:9px;border-bottom:1px solid #eee}
.mcf-ccp .mcf-s input{width:100%;border:1px solid var(--mcf-border);
  border-radius:7px;padding:9px 11px;font:inherit;font-size:13px;outline:none}
.mcf-ccp .mcf-l{max-height:230px;overflow:auto;-webkit-overflow-scrolling:touch}
.mcf-ccp .mcf-i{display:flex;align-items:center;gap:10px;padding:9px 13px;
  cursor:pointer;font-size:13px}
.mcf-ccp .mcf-i:hover,.mcf-ccp .mcf-i.a{background:#f4f1ed}
.mcf-ccp .mcf-i img{width:19px;height:19px;border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);flex-shrink:0}
.mcf-ccp .mcf-i .nm{flex:1}.mcf-ccp .mcf-i .dl{color:var(--mcf-muted)}
.mcf-ccp .mcf-e{padding:16px;text-align:center;color:var(--mcf-muted);font-size:13px}

.mcf-submit{width:100%;background:var(--mcf-brand);color:#fff;border:0;
  border-radius:var(--mcf-r);padding:15px;font:inherit;font-size:15px;
  font-weight:600;cursor:pointer}
.mcf-submit:hover{filter:brightness(.96)}
.mcf-submit[disabled]{opacity:.6;cursor:default}
.mcf-ok{display:none;margin-top:10px;color:#2e7d32;font-size:13px}
.mcf-ok.on{display:block}

.mcf-lbl{display:flex;align-items:center;gap:9px;font-weight:600;font-size:16px}
.mcf-sq{width:11px;height:11px;background:var(--mcf-brand);flex-shrink:0}
.mcf-hd{font-size:24px;font-weight:700;margin-bottom:6px}

/* overlay / popup */
.mcf-ov{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;
  align-items:center;justify-content:center;padding:20px;z-index:99999;
  opacity:0;transition:opacity .3s;overflow-y:auto}
.mcf-ov.open{display:flex}.mcf-ov.show{opacity:1}
.mcf-pp{position:relative;background:#fff;border-radius:10px;
  box-shadow:0 30px 70px rgba(0,0,0,.5);transform:translateY(22px);
  transition:transform .4s cubic-bezier(.22,1,.36,1);width:min(var(--mcf-w),94vw)}
.mcf-ov.show .mcf-pp{transform:translateY(0)}
.mcf-x{position:absolute;top:16px;right:16px;width:24px;height:24px;border:0;
  background:transparent;cursor:pointer;font-size:0;z-index:5}
.mcf-x::before,.mcf-x::after{content:"";position:absolute;left:3px;top:11px;
  width:18px;height:2px;background:#2a2a2a;border-radius:2px}
.mcf-x::before{transform:rotate(45deg)}.mcf-x::after{transform:rotate(-45deg)}

/* two-panel (Form 1) */
.mcf-pp.mcf-layout-two-panel{display:grid;grid-template-columns:1fr 1fr;overflow:visible}
.mcf-layout-two-panel .mcf-left{position:relative;min-height:420px;padding:28px 26px;
  display:flex;flex-direction:column;color:#fff;border-radius:10px 0 0 10px;
  background:#333 center/cover}
.mcf-layout-two-panel .mcf-left .mcf-lbl{color:#fff}
.mcf-ttl{margin-top:auto;font-size:22px;line-height:1.2;font-weight:700;max-width:12ch}
.mcf-sp{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px}
.mcf-it{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600}
.mcf-it img{width:17px;height:17px;filter:brightness(0) invert(1)}
.mcf-dv{height:1px;background:rgba(255,255,255,.35);margin:16px 0 14px;width:80%}
.mcf-pr{display:flex;gap:38px}
.mcf-pr .mcf-k{font-size:12px;opacity:.9;margin-bottom:4px}
.mcf-pr .mcf-v{font-size:19px;font-weight:700}
.mcf-layout-two-panel .mcf-right{background:var(--mcf-panel);padding:30px;
  border-radius:0 10px 10px 0;display:flex;flex-direction:column}
.mcf-ag{display:flex;align-items:center;gap:12px;margin:6px 0 20px}
.mcf-ag img{width:50px;height:50px;border-radius:50%;object-fit:cover;background:var(--mcf-brand)}
.mcf-ag .mcf-n{font-size:16px;font-weight:700}
.mcf-ag .mcf-n a{color:inherit;text-decoration:none}
.mcf-ag .mcf-r{font-size:13px;color:var(--mcf-muted);margin-top:3px}

/* single (Form 2) */
.mcf-pp.mcf-layout-single{background:var(--mcf-panel);padding:34px 30px 32px;
  overflow:visible;display:flex;flex-direction:column}
.mcf-logo{height:34px;object-fit:contain;align-self:center;margin-bottom:16px}
.mcf-layout-single .mcf-hd{text-align:center}

/* academy (Form 3) */
.mcf-pp.mcf-layout-academy{background:var(--mcf-panel);padding:34px;
  overflow:visible;display:flex;flex-direction:column}
.mcf-inline.mcf-layout-academy{background:var(--mcf-panel);border-radius:14px;
  padding:30px;max-width:600px}
.mcf-acad-lbl{margin-bottom:10px}
.mcf-acad-hd{font-size:20px;font-weight:600;line-height:1.4;margin-bottom:20px}
.mcf-acad-or{display:flex;align-items:center;gap:14px;color:var(--mcf-muted);
  font-size:14px;margin:22px 0 18px}
.mcf-acad-or::before,.mcf-acad-or::after{content:"";flex:1;height:1px;background:#ddd}
.mcf-acad-contact{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.mcf-acad-contact img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.mcf-acad-contact .mcf-n{font-size:18px;font-weight:700}
.mcf-acad-contact .mcf-r{font-size:13px;color:var(--mcf-muted);margin-top:3px;line-height:1.4}
.mcf-acad-row{display:flex;align-items:center;justify-content:space-between;
  border:1px solid #ececec;border-radius:10px;padding:14px 16px;margin-bottom:10px;
  font-size:15px;background:#fff}
.mcf-acad-row a{color:inherit;text-decoration:none}
.mcf-ic{display:flex;gap:10px;align-items:center}
.mcf-ic a{display:flex}.mcf-ic img{width:26px;height:26px;display:block}
.mcf-ic a:hover img{opacity:.85}

/* contact-grid (Form 4) */
.mcf-layout-contact-grid .mcf-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.mcf-layout-contact-grid .mcf-row2{display:grid;grid-template-columns:2fr 1fr;
  gap:14px;margin-top:14px;align-items:stretch}
.mcf-layout-contact-grid .mcf-row2 .mcf-submit{height:100%}

@media (max-width:760px){
  .mcf-pp.mcf-layout-two-panel{grid-template-columns:1fr}
  .mcf-layout-two-panel .mcf-left{min-height:240px;border-radius:10px 10px 0 0}
  .mcf-layout-two-panel .mcf-right{border-radius:0 0 10px 10px}
  .mcf-layout-contact-grid .mcf-grid,
  .mcf-layout-contact-grid .mcf-row2{grid-template-columns:1fr}
  .mcf-ccp{width:260px}
}

/* ===== Elementor / Hello Biz override hardening =====
   The theme + Elementor apply broad input/button/typography rules.
   These re-assert the form's own design with high specificity and
   !important so host styles cannot bleed in. Scoped to our roots. */
.mcf-ov,.mcf-ov *,.mcf-pp,.mcf-pp *,.mcf-inline,.mcf-inline *{
  box-sizing:border-box!important}
.mcf-ov,.mcf-pp,.mcf-inline{
  font-family:inherit!important;line-height:1.45!important;letter-spacing:normal!important}
.mcf-ov .mcf-fld,.mcf-pp .mcf-fld,.mcf-inline .mcf-fld,
.mcf-ov input.mcf-fld,.mcf-pp input.mcf-fld,.mcf-inline input.mcf-fld,
.mcf-ov textarea.mcf-fld,.mcf-pp textarea.mcf-fld,.mcf-inline textarea.mcf-fld{
  -webkit-appearance:none!important;appearance:none!important;
  width:100%!important;max-width:100%!important;margin:0!important;
  border:1px solid var(--mcf-border)!important;border-radius:9px!important;
  background:#fff!important;color:var(--mcf-ink)!important;
  font:inherit!important;font-size:15px!important;line-height:1.4!important;
  padding:14px 16px!important;box-shadow:none!important;outline:none!important;
  height:auto!important;min-height:0!important;text-transform:none!important}
.mcf-ov textarea.mcf-msg,.mcf-pp textarea.mcf-msg,.mcf-inline textarea.mcf-msg{
  height:50px!important;min-height:50px!important;resize:none!important}
.mcf-ov .mcf-phone,.mcf-pp .mcf-phone,.mcf-inline .mcf-phone{
  border:1px solid var(--mcf-border)!important;border-radius:9px!important;
  background:#fff!important;display:flex!important;align-items:stretch!important}
.mcf-ov .mcf-phone input,.mcf-pp .mcf-phone input,.mcf-inline .mcf-phone input{
  -webkit-appearance:none!important;appearance:none!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
  padding:14px 16px!important;height:auto!important;min-height:0!important;
  font:inherit!important;font-size:15px!important;outline:none!important;width:100%!important}
.mcf-ov .mcf-ccode,.mcf-pp .mcf-ccode,.mcf-inline .mcf-ccode{
  background:#fff!important;border-right:1px solid var(--mcf-border)!important}
.mcf-ov .mcf-submit,.mcf-pp .mcf-submit,.mcf-inline .mcf-submit,
.mcf-pp button.mcf-submit,.mcf-inline button.mcf-submit,
.mcf-ov button.mcf-submit{
  -webkit-appearance:none!important;appearance:none!important;
  display:block!important;width:100%!important;
  background:var(--mcf-brand)!important;color:#fff!important;
  border:0!important;border-radius:8px!important;
  padding:15px!important;margin:0!important;
  font:inherit!important;font-size:15px!important;font-weight:600!important;
  line-height:1.2!important;text-transform:none!important;letter-spacing:normal!important;
  box-shadow:none!important;text-decoration:none!important;
  cursor:pointer!important;height:auto!important;min-height:0!important}
.mcf-ov .mcf-submit:hover,.mcf-pp .mcf-submit:hover,.mcf-inline .mcf-submit:hover{
  background:var(--mcf-brand)!important;color:#fff!important;filter:brightness(.96)!important}
.mcf-ov .mcf-x,.mcf-pp .mcf-x{
  -webkit-appearance:none!important;appearance:none!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  padding:0!important;margin:0!important;width:24px!important;height:24px!important;
  min-height:0!important;cursor:pointer!important}
.mcf-ov a,.mcf-pp a,.mcf-inline a{box-shadow:none!important;text-decoration:none}
.mcf-ov .mcf-flag,.mcf-pp .mcf-flag,.mcf-inline .mcf-flag,
.mcf-ov .mcf-ccp .mcf-i img,.mcf-pp .mcf-ccp .mcf-i img,.mcf-inline .mcf-ccp .mcf-i img,
.mcf-ov .mcf-ag img,.mcf-pp .mcf-ag img,.mcf-inline .mcf-ag img,
.mcf-acad-contact img{border-radius:50%!important;max-width:none!important}
.mcf-ov p,.mcf-pp p,.mcf-inline p,
.mcf-ov h1,.mcf-ov h2,.mcf-ov h3,.mcf-pp h1,.mcf-pp h2,.mcf-pp h3,
.mcf-inline h1,.mcf-inline h2,.mcf-inline h3{
  margin:0!important;padding:0!important;color:inherit!important;
  font-family:inherit!important;font-weight:inherit}
.mcf-ov{z-index:2147483000!important;position:fixed!important}
