/* ============================================================
   "LET'S TALK!" LEAD-CAPTURE OVERLAY
   ------------------------------------------------------------
   Shared across every page (index, blog, ROI calculator, and
   all three kiosk detail pages). Clicking any element marked
   data-talk-trigger opens this as a two-stage overlay:
     1. Short stage  ("1 min")  — Email / Last Name / First Name /
        Email / Country + "Add More Information +"
     2. Expanded stage ("3 mins") — all additional fields, closed
        again via "Show Less"
   Close via the X, via clicking the dark backdrop, or Escape.
   Uses tm- prefixed classnames throughout so nothing collides
   with each page's own inline styles.
   ============================================================ */
body.tm-locked{overflow:hidden;}

.tm-overlay{
  position:fixed; inset:0; z-index:1000;
  background:rgba(0,0,0,0.8);
  display:none; align-items:flex-start; justify-content:center;
  padding:60px 20px; overflow-y:auto;
}
.tm-overlay.open{display:flex;}

.tm-wrap{
  width:100%; max-width:1080px; margin:auto;
  display:flex; flex-direction:column; align-items:center;
  gap:20px;
}

.tm-card{
  position:relative; width:100%;
  background:var(--bg, #0D0E10);
  border:1px solid rgba(255,255,255,0.12); border-radius:24px;
  padding:64px;
}

.tm-close{
  position:absolute; top:24px; right:28px;
  background:none; border:none; cursor:pointer;
  font-family:inherit; font-size:17px; font-weight:400; color:#fff;
  opacity:0.85; line-height:1; padding:6px;
}
.tm-close:hover{opacity:1;}

.tm-badge{
  display:block; width:fit-content; margin:0 auto 24px;
  font-size:12.5px; color:rgba(255,255,255,0.65);
  border:1px solid rgba(255,255,255,0.18); border-radius:20px; padding:6px 16px;
}

.tm-head{text-align:center; max-width:707px; margin:0 auto 40px;}
.tm-head h2{font-size:36px; font-weight:700; margin-bottom:16px; color:#fff; letter-spacing:-0.5px;}
.tm-head p{color:rgba(255,255,255,0.75); font-size:16px; line-height:1.8;}

form.tm-form{max-width:1016px; margin:0 auto;}
.tm-row{display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-bottom:16px;}
.tm-row.single{grid-template-columns:1fr;}
.tm-group{display:flex; flex-direction:column; gap:8px;}
.tm-group label{font-size:16px; font-weight:400; color:#fff;}
.tm-group label .hint{font-size:12.5px; color:rgba(255,255,255,0.55); font-weight:400;}
.tm-group input[type="text"],
.tm-group input[type="email"],
.tm-group input[type="tel"],
.tm-group input[type="number"],
.tm-group select,
.tm-group textarea{
  border:none; border-radius:20px; padding:15px 18px; font-size:14.5px;
  font-family:inherit; color:#fff; background:rgba(255,255,255,0.3);
}
.tm-group input::placeholder, .tm-group textarea::placeholder{color:rgba(255,255,255,0.55);}
.tm-group select option{color:#000;}
.tm-group textarea{resize:vertical; min-height:90px;}
.tm-group input:focus, .tm-group select:focus, .tm-group textarea:focus{outline:2px solid var(--red, #C00022); outline-offset:1px;}

.tm-note{color:rgba(255,255,255,0.75); font-size:15px; line-height:1.8; text-align:center; margin:24px 0 28px;}

.tm-extra{display:none; margin-top:8px;}
.tm-extra.open{display:block;}

.tm-consent{font-size:13.5px; color:rgba(255,255,255,0.6); margin:16px 0 10px; line-height:1.7;}
.tm-checkbox-row{display:flex; align-items:flex-start; gap:6px; margin-bottom:8px; font-size:14px; color:#fff;}
.tm-checkbox-row input{margin-top:3px;}

.tm-actions{display:flex; align-items:center; gap:20px; margin-top:16px;}
.tm-submit{
  background:var(--red, #C00022); color:#fff; border:none; border-radius:12px;
  padding:15px 24px; font-size:15px; font-weight:600; font-family:inherit;
  cursor:pointer; flex:1; text-align:center;
}
.tm-submit:hover{background:var(--red-dark, #A80F22);}
.tm-submit:disabled{opacity:0.6; cursor:default;}
.tm-add-more{
  background:none; border:none; padding:0; font-family:inherit; white-space:nowrap;
  color:#fff; font-weight:700; font-size:15px; text-decoration:underline; text-underline-offset:3px; cursor:pointer;
}
.tm-actions.tm-expanded .tm-add-more{display:none;}

.tm-checkbox-grid{display:grid; grid-template-columns:1fr 1fr; gap:30px; margin:20px 0 8px;}
.tm-checkbox-grid .tm-checkbox-row{align-items:center; gap:18px; margin:0; font-size:12.5px;}
.tm-checkbox-row input[type="checkbox"]{
  appearance:none; -webkit-appearance:none; flex-shrink:0; margin:0; cursor:pointer;
  width:36px; height:26px; border-radius:6px;
  background:rgba(255,255,255,0.3); border:1px solid rgba(255,255,255,0.15);
  display:grid; place-content:center;
}
.tm-checkbox-row input[type="checkbox"]::after{
  content:""; width:6px; height:11px; margin-top:-2px;
  border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg);
  opacity:0;
}
.tm-checkbox-row input[type="checkbox"]:checked{background:var(--red, #C00022); border-color:var(--red, #C00022);}
.tm-checkbox-row input[type="checkbox"]:checked::after{opacity:1;}
.tm-checkbox-row input[type="checkbox"]:focus-visible{outline:2px solid var(--red, #C00022); outline-offset:2px;}

/* OVERLAY LOOK: grey card; expanded, Submit spans the full width with Show Less centred below */
.tm-overlay .tm-card{background:rgba(14,16,19,.94); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-color:rgba(255,255,255,0.08); padding:64px 140px 48px;}
.tm-overlay .tm-badge{background:rgba(0,0,0,0.25); color:#fff; margin:0 auto 40px;}
.tm-overlay .tm-head{margin-bottom:20px;}
.tm-overlay .tm-note{color:#fff;}
.tm-overlay .tm-consent{color:#fff; font-size:15px; margin-top:28px;}
.tm-overlay .tm-submit{border-radius:20px;}
.tm-overlay .tm-actions.tm-expanded{margin-top:28px;}
.tm-overlay .tm-show-less{margin:28px auto 0;}

.tm-show-less{
  display:none;
  background:none; border:none; padding:0; font-family:inherit;
  color:#fff; font-weight:700; font-size:15px; text-decoration:underline; text-underline-offset:3px; cursor:pointer;
}
.tm-show-less.open{display:block;}

/* INLINE VERSION (data-talk-inline): same card, sitting in the page flow */
.tm-inline{padding:0 80px; margin:96px auto;}
.tm-inline .tm-wrap{max-width:1280px;}
.tm-inline .tm-card{padding:56px 140px 64px;}
.tm-inline .tm-head{margin-bottom:24px;}
.tm-inline .tm-badge{margin-bottom:40px;}
.tm-inline .tm-submit{flex:0 0 calc(50% - 15px); border-radius:20px;}
.tm-inline .tm-actions{gap:30px;}

@media (max-width: 900px){
  .tm-inline{padding:0 24px; margin:64px auto;}
  .tm-inline .tm-card{padding:40px 32px;}
}

@media (max-width: 720px){
  .tm-overlay{padding:0;}
  .tm-overlay .tm-card{padding:48px 20px 32px;}
  .tm-checkbox-grid{grid-template-columns:1fr; gap:12px;}
  .tm-inline .tm-card{border-radius:24px; padding:32px 20px; min-height:0;}
  .tm-inline .tm-submit{flex:1;}
  .tm-card{border-radius:0; padding:32px 20px; min-height:100vh;}
  .tm-close{top:16px; right:16px;}
  .tm-head h2{font-size:26px;}
  .tm-row{grid-template-columns:1fr; gap:14px;}
  .tm-actions{flex-direction:column; align-items:stretch; gap:14px;}
  .tm-actions .tm-add-more{text-align:center;}
}

/* ------------------------------------------------------ form fields: the line style
   (as on the Support page): a quiet label, no box, one rule under the field */
.tm-group label{
  font-size:13px !important; font-weight:400 !important; letter-spacing:0 !important; text-transform:none !important;
  color:#fff !important; margin-bottom:4px; line-height:1.4;
}
.tm-group label .hint{ font-size:12px !important; color:rgba(223,231,224,.3) !important; text-transform:none !important; letter-spacing:0 !important; }
.tm-group input[type="text"], .tm-group input[type="email"], .tm-group input[type="tel"], .tm-group input[type="number"], .tm-group select, .tm-group textarea{
  width:100%; box-sizing:border-box; padding:10px 0 !important; background:transparent !important;
  border:0 !important; border-bottom:1px solid rgba(223,231,224,.22) !important; border-radius:0 !important;
  color:#fff !important; font-family:inherit; font-size:16px !important; font-weight:400 !important; outline:0 !important;
  box-shadow:none !important; transition:border-color .2s;
}
.tm-group select{
  appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:22px !important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23dfe7e0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 2px center !important;
}
.tm-group select option{ background:#0d0e10; color:#fff; }
.tm-group textarea{ resize:vertical; min-height:110px; }
.tm-group input:focus, .tm-group select:focus, .tm-group textarea:focus{ border-bottom-color:#fff !important; outline:0 !important; }
.tm-group input::placeholder, .tm-group textarea::placeholder{ color:rgba(223,231,224,.3) !important; }
.tm-row{ gap:18px 28px; margin-bottom:18px; }
.tm-group{ gap:0; }
.tm-checkbox-row input[type="checkbox"]{ width:18px; height:18px; border-radius:0; background:transparent; border:1px solid rgba(223,231,224,.4); }
.tm-checkbox-row input[type="checkbox"]::after{ width:4px; height:9px; }
.tm-checkbox-row{ gap:12px; align-items:center; }
