/* Onetel AirDial Planner — scoped to .onetel-landing so nothing here leaks
   into the rest of the WordPress theme. Values matched against the live
   demo's computed styles. */
.onetel-landing, .onetel-landing *, .onetel-landing *::before, .onetel-landing *::after { box-sizing: border-box; }
.onetel-landing [hidden] { display: none !important; }
.onetel-landing { background:#0b0d0e; color:#111; font-family:Manrope,Arial,Helvetica,sans-serif; margin:0; }
.onetel-landing img, .onetel-landing svg { display:block; vertical-align:middle; max-width:100%; height:auto; }
.onetel-landing button, .onetel-landing input, .onetel-landing select, .onetel-landing textarea { font:inherit; color:inherit; }
.onetel-landing button { cursor:pointer; }
.onetel-landing small { font-size:80%; }
.onetel-landing b, .onetel-landing strong { font-weight:bolder; }
.onetel-landing a { text-decoration:none; }
.onetel-landing fieldset { border:1px solid #d8dce0; margin:20px 0; padding:20px; }
.onetel-landing legend { padding:0 8px; font:600 18px Georgia, serif; }
.onetel-landing table { border-collapse:collapse; width:100%; font-size:12px; }
.onetel-landing th, .onetel-landing td { text-align:left; border-bottom:1px solid #d8dce0; padding:12px 8px; }
.onetel-landing th { background:#edf1eb; font-size:10px; }
.onetel-landing tfoot { font-weight:700; }

.onetel-landing header{
  background:#1f1f1f; color:#fff; border:0;
  height:86px; padding:0 max(5vw,28px);
  display:flex; justify-content:space-between; align-items:center;
}
.onetel-landing .app-logos{ align-items:center; gap:0; display:flex; }
.onetel-landing .app-logos img{ object-fit:contain; width:auto; max-width:min(330px,52vw); height:48px; }
.onetel-landing .progress{ letter-spacing:.1em; align-items:center; gap:12px; font-size:10px; display:flex; }
.onetel-landing .progress > div{ background:#3a3f42; width:160px; height:4px; }
.onetel-landing .progress i{ background:#42bfd0; height:100%; display:block; }

.onetel-landing .hero{
  position:relative; color:#fff; min-height:auto;
  padding:86px max(7vw,30px) 36px;
  background:
    radial-gradient(circle at 25% 45%, #32bacf6b, transparent 27%),
    linear-gradient(115deg,#050708 0%,#17272b 52%,#161616 100%);
}
.onetel-landing .hero::before{
  content:""; pointer-events:none;
  background:repeating-linear-gradient(120deg,transparent 0 29px,#ffffff12 30px 31px);
  height:440px; position:absolute; inset:86px 0 auto 55%;
  -webkit-mask-image:linear-gradient(270deg,#000,transparent);
  mask-image:linear-gradient(270deg,#000,transparent);
}
.onetel-landing .hero > * { position:relative; }
.onetel-landing .eyebrow, .onetel-landing .step-label{ letter-spacing:.2em; font-size:11px; font-weight:800; color:#72d9e6; }
.onetel-landing .hero h1{
  margin:22px 0; font:500 clamp(48px,7vw,94px)/.92 Georgia, serif;
  letter-spacing:-.045em; font-family:Sora,Arial,Helvetica,sans-serif;
}
.onetel-landing .hero h1 em{ color:#fff; font-weight:400; font-style:normal; }
.onetel-landing .lead{ max-width:640px; font:20px/1.5 Georgia, serif; color:#cbd2d4; margin:0; }
.onetel-landing .trust{
  border-top:1px solid #566064; grid-template-columns:repeat(3,1fr);
  max-width:1080px; margin:48px 0 30px; display:grid;
}
.onetel-landing .trust article{ padding:24px 35px 15px 0; }
.onetel-landing .trust article + article{ border-left:1px solid #566064; padding-left:35px; }
.onetel-landing .trust article > b{ color:#72d9e6; font-size:11px; }
.onetel-landing .trust h3{ margin:12px 0 8px; font:600 20px Georgia, serif; font-family:Sora,Arial,sans-serif; }
.onetel-landing .trust p{ color:#cbd2d4; font-size:13px; line-height:1.6; margin:0; }
.onetel-landing .primary{
  display:inline-block; background:#fff; color:#111; border:0; border-radius:999px;
  box-shadow:inset 0 0 0 1px #cdd1d3; margin-top:28px; padding:16px 22px; font-weight:800;
}
.onetel-landing .primary span{ margin-left:30px; }
.onetel-landing .primary:disabled{ opacity:.45; cursor:not-allowed; }
.onetel-landing .fine{ color:#687078; margin-top:10px; display:block; }

.onetel-landing .partner-footer{
  color:#fff; background:#1f1f1f; justify-content:center; align-items:center;
  gap:28px; min-height:98px; padding:20px max(6vw,28px); display:flex; flex-wrap:wrap;
}
.onetel-landing .partner-footer > span{ letter-spacing:.16em; text-transform:uppercase; color:#cbd2d4; font-size:11px; font-weight:800; }
.onetel-landing .partner-footer > div{ align-items:center; gap:20px; display:flex; }
.onetel-landing .partner-footer img{ object-fit:contain; filter:grayscale() brightness(0) invert(1); width:auto; max-width:190px; height:38px; }
.onetel-landing .partner-footer i{ color:#8d969a; font-size:11px; font-style:normal; }

/* Wizard panel shell */
.onetel-landing .panel{ background:#fff; color:#111; max-width:760px; margin:60px auto; padding:52px; border-radius:0 42px 0 0; }
.onetel-landing .wide-panel{ max-width:1040px; }
.onetel-landing .panel h2{ margin:15px 0; font:500 42px/1.05 Sora,Arial,Helvetica,sans-serif; letter-spacing:-.045em; }
.onetel-landing .panel > p{ color:#687078; }
.onetel-landing .panel .primary, .onetel-landing .doc-actions .primary{ color:#fff; background:#111; box-shadow:none; }
.onetel-landing .panel .primary:disabled, .onetel-landing .doc-actions .primary:disabled{ opacity:.55; }

.onetel-landing label{ letter-spacing:.08em; font-size:11px; font-weight:800; display:block; }
.onetel-landing label input, .onetel-landing label textarea{ border:1px solid #d8dce0; width:100%; background:#fff; margin-top:8px; padding:13px; display:block; font-size:14px; }
.onetel-landing label small{ color:#687078; margin-top:6px; font-weight:400; display:block; }
.onetel-landing select{ border:1px solid #d8dce0; width:100%; background:#fff; margin-top:8px; padding:13px; display:block; height:auto; line-height:normal; }

.onetel-landing .choices{ grid-template-columns:1fr 1fr; gap:16px; margin:32px 0; display:grid; }
.onetel-landing .choices button, .onetel-landing .pricing button, .onetel-landing .timeframe-options button{ border-radius:0 24px 0 0; }
.onetel-landing .choices button{ text-align:left; border:1px solid #d8dce0; background:#fff; padding:26px; }
.onetel-landing .choices button.selected, .onetel-landing .pricing button.selected, .onetel-landing .timeframe-options button.selected{
  border:2px solid #111; box-shadow:inset 0 -5px #42bfd0;
}
.onetel-landing .choices b, .onetel-landing .choices span{ display:block; }
.onetel-landing .choices b{ font:600 24px Georgia, serif; }
.onetel-landing .choices span{ color:#687078; margin-top:8px; font-size:12px; }

.onetel-landing .notice, .onetel-landing .error, .onetel-landing .success{ background:#edf2e9; margin:20px 0; padding:18px; border-radius:0 18px 0 0; }
.onetel-landing .notice a{ color:#111; font-weight:700; }
.onetel-landing .error{ background:#fff0e2; align-items:center; gap:18px; display:flex; }
.onetel-landing .success{ background:#e6efd5; }
.onetel-landing .number-error{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }

.onetel-landing .two, .onetel-landing .form-grid{ grid-template-columns:1fr 1fr; gap:18px; margin:32px 0; display:grid; }
.onetel-landing .form-grid{ margin:15px 0; }

.onetel-landing .nav{ border-top:1px solid #d8dce0; justify-content:space-between; align-items:center; margin-top:38px; padding-top:20px; display:flex; }
.onetel-landing .nav > button:first-child, .onetel-landing .doc-actions > button:first-child, .onetel-landing .text-button{
  color:#111; background:transparent; border:0;
}
.onetel-landing .nav .primary{ margin:0; }

.onetel-landing .location-table{ border:1px solid #d8dce0; margin-top:25px; }
.onetel-landing .tr{ border-bottom:1px solid #d8dce0; grid-template-columns:110px 1fr 140px; align-items:center; display:grid; }
.onetel-landing .tr:last-child{ border:0; }
.onetel-landing .tr > *{ padding:14px; }
.onetel-landing .tr input{ border:1px solid #d8dce0; margin:8px; padding:8px; width:100%; }
.onetel-landing .th{ background:#111; color:#fff; letter-spacing:.1em; font-size:10px; }
.onetel-landing .add-location{ background:#fff; border:1px solid #111; border-radius:999px; margin:16px 0; padding:11px 16px; }

.onetel-landing .address-grid{ grid-template-columns:2fr 1fr 1fr; gap:12px; display:grid; margin:16px 0; }
.onetel-landing .address-grid .wide{ grid-column:span 2; }
.onetel-landing .address-card{ border-top:3px solid #111; margin-top:28px; padding-top:18px; }
.onetel-landing .address-card h3{ font:600 22px Georgia, serif; }
.onetel-landing .address-card h3 span{ color:#8aa08f; margin-right:12px; }
.onetel-landing .address-card h3 small{ float:right; color:#687078; font:11px Arial, sans-serif; }
.onetel-landing .check{ letter-spacing:0; align-items:center; gap:9px; display:flex; margin:16px 0; }
.onetel-landing .check input{ width:auto; margin:0; }
.onetel-landing .address-block{ border:1px solid #d0d5dd; border-radius:8px; padding:22px 20px 6px; margin:20px 0; position:relative; }
.onetel-landing .address-block-label{ position:absolute; top:-11px; left:16px; background:#fff; padding:0 8px; font:600 13px Arial, sans-serif; letter-spacing:.02em; }


.onetel-landing .termination-field{ background:#f0f2f4; border-radius:0 20px 0 0; max-width:470px; padding:18px; display:block; }

.onetel-landing .question{ margin:32px 0 12px; font:600 18px Sora,Arial,sans-serif; }
.onetel-landing .question-help{ color:#687078; margin:-4px 0 12px; font-size:12px; }

.onetel-landing .pricing{ grid-template-columns:repeat(3,1fr); gap:14px; display:grid; }
.onetel-landing .pricing button{ border:1px solid #d8dce0; text-align:left; background:#fff; padding:22px; }
.onetel-landing .pricing small, .onetel-landing .pricing b, .onetel-landing .pricing span, .onetel-landing .pricing strong{ display:block; }
.onetel-landing .pricing small{ letter-spacing:.14em; color:#657077; height:18px; font-size:9px; }
.onetel-landing .pricing b{ margin:8px 0 2px; font:600 31px Sora,Arial,sans-serif; }
.onetel-landing .pricing span{ color:#687078; font-size:11px; }
.onetel-landing .pricing strong{ margin-top:16px; font-size:13px; }

.onetel-landing .timeframe-options{ grid-template-columns:repeat(3,1fr); gap:12px; display:grid; }
.onetel-landing .timeframe-options button{ border:1px solid #d8dce0; text-align:left; background:#fff; border-radius:0 22px 0 0; padding:20px; }
.onetel-landing .timeframe-options b, .onetel-landing .timeframe-options span{ display:block; }
.onetel-landing .timeframe-options b{ font:600 19px Sora,Arial,sans-serif; }
.onetel-landing .timeframe-options span{ color:#687078; margin-top:7px; font-size:11px; }

.onetel-landing .number-grid{ grid-template-columns:repeat(4,1fr); gap:12px; display:grid; }
.onetel-landing .number-grid label{ background:#f0f2f4; border-radius:0 18px 0 0; padding:15px; }
.onetel-landing .number-grid input{ font-size:18px; font-weight:700; }

.onetel-landing .estimate{
  color:#fff; background:#111; border-radius:0 28px 0 0;
  grid-template-columns:repeat(4,1fr); gap:18px; margin-top:24px; padding:22px; display:grid;
}
.onetel-landing .estimate small, .onetel-landing .estimate b{ display:block; }
.onetel-landing .estimate small{ letter-spacing:.13em; color:#aeb9bd; font-size:9px; }
.onetel-landing .estimate b{ margin-top:6px; font:500 27px Sora,Arial,sans-serif; }
.onetel-landing .estimate p{ color:#bbc4c6; border-top:1px solid #3d4649; grid-column:1/-1; margin:0; padding-top:12px; font-size:11px; }
.onetel-landing .install{ margin-top:12px; }

.onetel-landing .company-prompt{ background:#f0f2f4; border-radius:0 24px 0 0; margin:22px 0; padding:22px; }
.onetel-landing .company-prompt input{ font-size:16px; }
.onetel-landing .company-prompt small{ line-height:1.5; display:block; }

.onetel-landing .credit-section-title{ background:#f0f2f4; border-left:5px solid #ed1b2f; margin:36px 0 12px; padding:12px 14px; font:700 17px Sora,Arial,sans-serif; }
.onetel-landing .credit-required{ border-left:4px solid #ed1b2f; }
.onetel-landing .credit-app fieldset fieldset{ margin:14px 0; }
.onetel-landing .credit-app input[readonly]{ color:#667078; background:#edf0f2; }
.onetel-landing .credit-app .form-grid{ align-items:end; }
.onetel-landing .wide-text{ margin:18px 0; display:block; }
.onetel-landing .wide-text textarea{ border:1px solid #d8dce0; resize:vertical; width:100%; min-height:110px; margin-top:8px; padding:13px; display:block; }
.onetel-landing .authorization{ background:#eef5f6; margin-top:18px; padding:16px; border-radius:0 16px 0 0; }
.onetel-landing .privacy-note{ color:#687078; margin-top:14px; font-size:11px; line-height:1.5; }

.onetel-landing .document-wrap{ max-width:1050px; margin:30px auto 80px; padding:0 20px; }
.onetel-landing .document-wrap > .doc-actions button:not(.primary){ color:#fff; }

.onetel-landing .doc-actions{ justify-content:space-between; align-items:center; display:flex; flex-wrap:wrap; gap:10px; }
.onetel-landing .doc-actions .primary{ margin:0; }
.onetel-landing .document{ background:#fff; color:#111; margin-top:20px; padding:54px; box-shadow:0 10px 35px rgba(24,59,48,0.12); }
.onetel-landing .doc-head{ border-bottom:5px solid #111; justify-content:space-between; padding-bottom:25px; display:flex; }
.onetel-landing .doc-head > div:last-child{ text-align:right; }
.onetel-landing .doc-head > div:last-child > *{ display:block; }
.onetel-landing .doc-head > div:last-child span{ color:#687078; margin:5px; font-size:12px; }
.onetel-landing .doc-section{ margin-top:34px; }
.onetel-landing .doc-section h3{ text-transform:uppercase; letter-spacing:.13em; border-bottom:1px solid #d8dce0; padding-bottom:8px; font-size:11px; }
.onetel-landing .terms p{ font-size:10px; line-height:1.55; }
.onetel-landing .signature canvas{ border:1px solid #d8dce0; touch-action:none; background:#fff; width:100%; height:120px; }
.onetel-landing .signature label{ margin-top:15px; display:block; }
.onetel-landing .signed{ border-top:1px solid #111; justify-content:space-between; margin-top:26px; padding-top:10px; font-size:10px; font-weight:700; display:flex; }
.onetel-landing .tso-section{ display:flex; align-items:stretch; gap:0; margin-top:24px; border:1px solid #d8dce0; }
.onetel-landing .tso-section .side-title{ flex:0 0 40px; background:#b31217; color:#fff; display:flex; align-items:center; justify-content:center; writing-mode:vertical-rl; transform:rotate(180deg); text-transform:uppercase; letter-spacing:.12em; font:700 12px/1 Arial, sans-serif; padding:14px 0; text-align:center; }
.onetel-landing .tso-section .doc-section-body{ flex:1 1 auto; min-width:0; padding:16px 18px; overflow-x:auto; }
.onetel-landing .doc-section-body table{ width:100%; border-collapse:collapse; font-size:12px; }
.onetel-landing .doc-section-body th, .onetel-landing .doc-section-body td{ border:1px solid #ccd1d6; padding:6px 8px; text-align:left; vertical-align:middle; }
.onetel-landing .doc-section-body tr.head th{ background:#f2f3f5; font-weight:700; text-transform:uppercase; font-size:10px; letter-spacing:.05em; }
.onetel-landing .doc-section-body tr.total td, .onetel-landing .doc-section-body tr.total th{ font-weight:700; background:#f8f8f8; }
.onetel-landing .doc-section-body td.center, .onetel-landing .doc-section-body th.center{ text-align:center; }
.onetel-landing .doc-section-body td.money, .onetel-landing .doc-section-body th.money{ text-align:right; }
.onetel-landing .doc-section-body input{ width:100%; border:0; background:transparent; font:inherit; padding:2px 0; }
.onetel-landing .doc-section-body small.red{ color:#b31217; font-weight:400; font-size:10px; }
.onetel-landing table.grand{ margin-top:24px; width:100%; border-collapse:collapse; border:2px solid #111; }
.onetel-landing table.grand th, .onetel-landing table.grand td{ padding:12px 16px; font-size:13px; }
.onetel-landing table.grand th{ text-align:left; text-transform:uppercase; letter-spacing:.08em; }
.onetel-landing table.grand td{ text-align:right; font-weight:700; }
@media (max-width:720px){ .onetel-landing .tso-section{ flex-direction:column; } .onetel-landing .tso-section .side-title{ flex:0 0 auto; writing-mode:horizontal-tb; transform:none; padding:6px 12px; text-align:left; } }


.onetel-landing .chat-widget{ z-index:100; position:fixed; bottom:22px; right:24px; }
.onetel-landing .chat-launch{
  display:inline-flex; align-items:center; color:#fff; background:#111; border:0;
  border-radius:999px; min-width:120px; padding:15px 20px; font-weight:800;
  box-shadow:0 12px 35px rgba(0,0,0,.25);
}
.onetel-landing .chat-dot{ color:#42bfd0; margin-right:7px; font-size:12px; }

@media (max-width:900px){
  .onetel-landing .estimate{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px){
  .onetel-landing header{ height:auto; padding:18px; }
  .onetel-landing .progress{ display:none; }
  .onetel-landing .app-logos img{ height:35px; max-width:80px; }
}
@media (max-width:720px){
  .onetel-landing .hero{ padding-top:45px; }
  .onetel-landing .hero::before{ display:none; }
  .onetel-landing .trust, .onetel-landing .choices, .onetel-landing .two,
  .onetel-landing .form-grid, .onetel-landing .pricing, .onetel-landing .timeframe-options,
  .onetel-landing .estimate{ grid-template-columns:1fr; }
  .onetel-landing .number-grid{ grid-template-columns:1fr 1fr; }
  .onetel-landing .address-grid{ grid-template-columns:1fr; }
  .onetel-landing .address-grid .wide{ grid-column:auto; }
  .onetel-landing .trust article + article{ border-left:0; padding-left:0; }
  .onetel-landing .partner-footer{ flex-direction:column; gap:12px; }
  .onetel-landing .partner-footer img{ max-width:140px; height:30px; }
  .onetel-landing .partner-footer > div{ gap:12px; }
  .onetel-landing .panel{ margin:20px 12px; padding:28px 20px; }
  .onetel-landing .panel h2{ font-size:34px; }
  .onetel-landing .tr{ grid-template-columns:70px 1fr 90px; }
  .onetel-landing .document{ padding:22px; overflow:auto; }
  .onetel-landing .doc-head{ gap:25px; min-width:700px; flex-wrap:wrap; }
  .onetel-landing .document table{ min-width:700px; }
}
