/* ═══════════════════════════════════════════════════════════
   QUOTE PAGE — page-specific styles
   ═══════════════════════════════════════════════════════════ */

body.page-template-quote,
body.page-template-page-templatesquote-php {
  --r: 12px;
  --r-lg: 20px;
  --font-d: var(--font-display);
  --font-b: var(--font-body);
  --font-m: var(--font-mono);
  --glow-s: var(--glow-strong);
  min-height: 100vh;
}

.page-template-quote .nav-b,
.page-template-page-templatesquote-php .nav-b,
.page-template-quote .overlay-menu,
.page-template-page-templatesquote-php .overlay-menu,
.page-template-quote footer,
.page-template-page-templatesquote-php footer {
  display: none;
}

/* ── LAYOUT ── */
.page-wrap{
  display:grid;
  grid-template-columns:420px 1fr;
  min-height:100vh;
  padding-top:65px;
}

/* ── LEFT PANEL ── */
.left-panel{
  position:sticky;
  top:65px;
  height:calc(100vh - 65px);
  overflow-y:auto;
  background:var(--surface);
  border-right:1px solid var(--border);
  padding:56px 44px;
  display:flex;
  flex-direction:column;
  gap:0;
}
.left-panel::-webkit-scrollbar{width:0;}

.left-tag{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-m);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--accent);margin-bottom:20px;
}
.left-tag::before{content:'';width:16px;height:1px;background:var(--accent);}
.left-title{
  font-family:var(--font-d);font-size:1.9rem;font-weight:800;
  letter-spacing:-0.035em;line-height:1.15;
  margin-bottom:14px;
}
.left-sub{
  font-size:0.875rem;color:var(--muted);line-height:1.75;
  margin-bottom:40px;
}

/* Trust items */
.trust-list{display:flex;flex-direction:column;gap:16px;margin-bottom:44px;}
.trust-item{
  display:flex;align-items:flex-start;gap:14px;
  padding:16px;
  border:1px solid var(--border);border-radius:var(--r);
  background:rgba(7,10,15,0.3);
  transition:border-color .3s;
}
.trust-item:hover{border-color:rgba(62,243,210,0.2);}
.trust-icon{
  width:34px;height:34px;border-radius:8px;flex-shrink:0;
  background:rgba(62,243,210,0.08);border:1px solid rgba(62,243,210,0.15);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;
}
.trust-item-title{font-family:var(--font-d);font-size:.875rem;font-weight:700;margin-bottom:3px;}
.trust-item-desc{font-size:.8rem;color:var(--muted);line-height:1.6;}

/* Free concept callout */
.concept-callout{
  margin-top:auto;
  padding:20px;
  border:1px solid rgba(62,243,210,0.2);
  border-radius:var(--r);
  background:rgba(62,243,210,0.04);
}
.callout-tag{
  font-family:var(--font-m);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--accent);margin-bottom:8px;
}
.callout-text{font-size:.8rem;color:var(--muted);line-height:1.65;}
.callout-text strong{color:var(--text);}

/* ── RIGHT PANEL ── */
.right-panel{
  padding:56px 64px;
  display:flex;
  flex-direction:column;
  max-width:680px;
}

/* ── STEP PROGRESS ── */
.step-progress{
  display:flex;align-items:center;gap:0;
  margin-bottom:52px;
  list-style:none;
  margin-left:0;
  padding:0;
}
.step-item{
  display:flex;align-items:center;gap:10px;
  flex:1;
  position:relative;
}
.step-item:not(:last-child)::after{
  content:'';
  position:absolute;
  left:calc(24px + 10px);
  right:10px;
  top:50%;
  transform:translateY(-50%);
  height:1px;
  background:var(--border);
  transition:background .5s;
  z-index:0;
}
.step-item.completed:not(:last-child)::after{background:var(--accent);opacity:.5;}

.step-num{
  width:28px;height:28px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-m);font-size:11px;font-weight:500;
  border:1.5px solid var(--border);
  color:var(--muted);
  background:var(--bg);
  transition:all .4s cubic-bezier(.22,1,.36,1);
  position:relative;z-index:1;
}
.step-item.active .step-num{
  border-color:var(--accent);color:var(--accent);
  box-shadow:0 0 16px var(--glow);
}
.step-item.completed .step-num{
  border-color:var(--accent);background:var(--accent);color:var(--bg);
}
.step-label{
  font-family:var(--font-m);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--muted);transition:color .3s;
  white-space:nowrap;
}
.step-item.active .step-label{color:var(--text);}
.step-item.completed .step-label{color:var(--accent);}

/* ── FORM PANELS ── */
.form-panel{
  display:none;
  animation:panelIn .45s cubic-bezier(.22,1,.36,1);
  border:0;
  margin:0;
  padding:0;
  min-inline-size:0;
}
.form-panel.active{display:block;}
@keyframes panelIn{
  from{opacity:0;transform:translateX(18px);}
  to{opacity:1;transform:none;}
}
.panel-title{
  font-family:var(--font-d);font-size:1.55rem;font-weight:700;
  letter-spacing:-0.025em;margin-bottom:6px;
}
.panel-sub{font-size:.875rem;color:var(--muted);margin-bottom:36px;line-height:1.65;}

/* ── FORM ELEMENTS ── */
.field-group{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
label{
  font-family:var(--font-m);font-size:11px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--muted);
}
.label-optional{
  color:var(--muted);
  font-size:10px;
  text-transform:none;
  letter-spacing:0;
}
.required-dot{color:var(--accent);margin-left:2px;}
input[type=text],input[type=email],input[type=url],textarea,select{
  width:100%;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:13px 16px;
  color:var(--text);
  font-family:var(--font-b);font-size:14px;
  outline:none;
  transition:border-color .25s,box-shadow .25s;
  appearance:none;
  -webkit-appearance:none;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
textarea:focus,
select:focus{
  border-color:rgba(62,243,210,0.5);
  box-shadow:0 0 0 3px rgba(62,243,210,0.07);
}
input::placeholder,textarea::placeholder{color:rgba(161,170,189,0.45);}
textarea{resize:vertical;min-height:100px;line-height:1.6;}
select{
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23A1AABD' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  padding-right:40px;
  cursor:pointer;
}
select option{background:var(--surface2);}

/* ── CHOICE CHIPS ── */
.chip-group{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px;}
.chip{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-m);font-size:11px;letter-spacing:0.06em;
  color:var(--muted);
  border:1px solid var(--border);
  padding:8px 16px;border-radius:100px;
  cursor:pointer;
  transition:all .2s;
  user-select:none;
}
.chip:hover{color:var(--text);border-color:rgba(62,243,210,0.3);}
.chip:focus-visible{
  outline:2px solid rgba(62,243,210,0.5);
  outline-offset:2px;
}
.chip.selected{
  color:var(--accent);
  border-color:var(--accent);
  background:rgba(62,243,210,0.07);
}
.chip-dot{
  width:6px;height:6px;border-radius:50%;
  background:currentColor;opacity:0;
  transition:opacity .2s;
}
.chip.selected .chip-dot{opacity:1;}

/* ── CONDITIONAL BLOCKS ── */
.conditional{display:none;margin-top:20px;}
.conditional.visible{display:block;animation:panelIn .35s cubic-bezier(.22,1,.36,1);}
.conditional-inner{
  border:1px solid var(--border);border-radius:var(--r);
  padding:20px;background:rgba(7,10,15,0.3);
}
.conditional-label{
  font-family:var(--font-m);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--accent);margin-bottom:16px;
}

/* ── BUDGET SOFT ── */
.budget-options{display:flex;flex-direction:column;gap:8px;}
.budget-option{
  display:flex;align-items:center;gap:12px;
  padding:13px 16px;
  border:1px solid var(--border);border-radius:var(--r);
  cursor:pointer;
  transition:all .2s;
}
.budget-option:hover{border-color:rgba(62,243,210,0.2);background:rgba(62,243,210,0.02);}
.budget-option:focus-visible{
  outline:2px solid rgba(62,243,210,0.5);
  outline-offset:2px;
}
.budget-option.selected{border-color:rgba(62,243,210,0.4);background:rgba(62,243,210,0.06);}
.budget-radio{
  width:16px;height:16px;border-radius:50%;
  border:1.5px solid var(--border);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .2s;
}
.budget-option.selected .budget-radio{border-color:var(--accent);}
.budget-radio-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--accent);
  transform:scale(0);transition:transform .2s cubic-bezier(.22,1,.36,1);
}
.budget-option.selected .budget-radio-dot{transform:scale(1);}
.budget-text{font-size:13.5px;}
.budget-text strong{font-weight:500;}
.budget-text small{display:block;font-size:11px;color:var(--muted);margin-top:1px;}

/* ── CHECKBOX ── */
.check-field{
  display:flex;align-items:flex-start;gap:12px;
  padding:14px 16px;
  border:1px solid var(--border);border-radius:var(--r);
  cursor:pointer;
  transition:border-color .2s;
}
.check-field:hover{border-color:rgba(62,243,210,0.2);}
.check-field:focus-visible{
  outline:2px solid rgba(62,243,210,0.5);
  outline-offset:2px;
}
.check-box{
  width:18px;height:18px;border-radius:5px;
  border:1.5px solid var(--border);flex-shrink:0;margin-top:1px;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.check-field input:checked ~ .check-box,
.check-field.checked .check-box{
  background:var(--accent);border-color:var(--accent);
}
.check-tick{
  color:var(--bg);font-size:11px;font-weight:700;
  opacity:0;transform:scale(.5);transition:all .2s;
}
.check-field.checked .check-tick{opacity:1;transform:scale(1);}
.check-field input{display:none;}
.check-text{font-size:13px;color:var(--muted);line-height:1.55;}
.check-text a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.field-group.compact{margin-bottom:0;}
.field-group.budget-group{margin-top:24px;}

/* ── NAV BUTTONS ── */
.form-nav{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:40px;
  padding-top:32px;
  border-top:1px solid var(--border);
}
.submit-feedback{
  margin-top:14px;
  font-size:12px;
  line-height:1.5;
  color:var(--muted);
}
.submit-feedback.error{
  color:var(--danger);
}
.submit-feedback.success{
  color:var(--accent);
}
.btn-back-step{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-m);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--muted);
  padding:12px 20px;border:1px solid var(--border);border-radius:10px;
  transition:all .2s;
}
.btn-back-step:hover{color:var(--text);border-color:rgba(62,243,210,0.25);}
.btn-next{
  display:inline-flex;align-items:center;gap:10px;
  font-size:14px;font-weight:600;
  color:var(--bg);background:var(--accent);
  padding:13px 28px;border-radius:10px;
  transition:opacity .2s,box-shadow .2s,transform .2s;
}
.btn-next:hover{
  opacity:.9;
  box-shadow:0 0 28px var(--glow-s);
  transform:translateY(-1px);
}
.btn-next:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;}
.btn-submit{
  display:inline-flex;align-items:center;gap:10px;
  font-size:14px;font-weight:600;
  color:var(--bg);background:var(--accent);
  padding:13px 32px;border-radius:10px;
  transition:opacity .2s,box-shadow .2s,transform .2s;
  cursor:pointer;
  border:none;
}
.btn-submit:hover{
  opacity:.9;box-shadow:0 0 28px var(--glow-s);transform:translateY(-1px);
}

.step-hint{
  font-family:var(--font-m);font-size:11px;color:var(--muted);
  letter-spacing:0.05em;
}

/* ── THANK YOU ── */
.thankyou-panel{
  display:none;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-height:60vh;
  animation:panelIn .6s cubic-bezier(.22,1,.36,1);
}
.thankyou-panel.active{display:flex;}
.ty-icon{
  width:60px;height:60px;border-radius:16px;
  background:rgba(62,243,210,0.08);border:1px solid rgba(62,243,210,0.2);
  display:flex;align-items:center;justify-content:center;
  font-size:26px;margin-bottom:28px;
}
.ty-title{
  font-family:var(--font-d);font-size:2.2rem;font-weight:800;
  letter-spacing:-0.04em;line-height:1.1;margin-bottom:14px;
}
.ty-title span{color:var(--accent);}
.ty-sub{font-size:.95rem;color:var(--muted);line-height:1.75;margin-bottom:32px;max-width:480px;}
.ty-sub strong{color:var(--text);}
.ty-timeline{
  display:flex;flex-direction:column;gap:0;
  margin-bottom:40px;
  border:1px solid var(--border);border-radius:var(--r);
  overflow:hidden;
  width:100%;max-width:480px;
}
.ty-step{
  display:flex;align-items:flex-start;gap:16px;
  padding:18px 20px;
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.ty-step:last-child{border-bottom:none;}
.ty-step-num{
  font-family:var(--font-m);font-size:11px;color:var(--accent);
  width:20px;flex-shrink:0;margin-top:1px;
}
.ty-step-body{}
.ty-step-title{font-family:var(--font-d);font-size:.875rem;font-weight:700;margin-bottom:2px;}
.ty-step-desc{font-size:.8rem;color:var(--muted);line-height:1.55;}
.ty-back{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-m);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--muted);
  border:1px solid var(--border);padding:10px 20px;border-radius:8px;
  transition:all .2s;
}
.ty-back:hover{color:var(--accent);border-color:rgba(62,243,210,0.3);}

/* ── FIELD ERROR ── */
.field-error{font-size:11px;color:var(--danger);margin-top:4px;display:none;}
.has-error input,.has-error select,.has-error textarea{border-color:rgba(251,113,133,.5);}
.has-error .field-error{display:block;}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .page-wrap{grid-template-columns:1fr;}
  .left-panel{
    position:relative;top:0;height:auto;
    border-right:none;border-bottom:1px solid var(--border);
    padding:40px 28px;
  }
  .right-panel{padding:40px 28px;}
  .concept-callout{margin-top:32px;}
}
@media(max-width:600px){
  .field-row{grid-template-columns:1fr;}
  .right-panel{padding:32px 20px;}
  .left-panel{padding:32px 20px;}
  .step-label{display:none;}
}
