/* PCTAI Wizard - Improved UI/UX */
.pctai{
  --pctai-primary:#da3b3b;
  --pctai-soft:#f6f7fb;
  --pctai-border: rgba(0,0,0,.10);
  --pctai-text: rgba(0,0,0,.88);
  --pctai-muted: rgba(0,0,0,.62);
  font-family: 'Acumin-pro', sans-serif;
  font-weight: 400;
  color: var(--pctai-text);
}
.pctai *{ box-sizing:border-box; }

.pctai__layout{
  display:grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items:start;
}

.pctai__main{
  background:#fff;
  border:1px solid var(--pctai-border);
  border-radius:14px;
  padding:16px;
}

.pctai__stepper{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}
.pctai__stepperRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  flex-wrap:wrap;
}
.pctai__resetWrap{
  display:flex;
  align-items:center;
  gap:8px;
}
.pctai__resetText{
  font-size:13px;
  color: var(--pctai-muted);
}
.pctai__step{
  padding:8px 10px;
  border-radius:999px;
  border:1px solid var(--pctai-border);
  font-size:13px;
  opacity:.75;
  cursor:pointer;
  user-select:none;
  font-family: 'Acumin-pro', sans-serif;
  font-weight: 600;
}
.pctai__step.is-active{
  border-color: var(--pctai-primary);
  color: var(--pctai-primary);
  opacity:1;
}
.pctai__step.is-complete{
  opacity:1;
  background: rgba(218,59,59,.06);
}

.pctai__panel{
  min-height:260px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  padding:16px;
  background: var(--pctai-soft);
  opacity: 1;
  transform: translateY(0);
  transition: opacity .25s ease, transform .25s ease;
}
.pctai__loading{ opacity:.7; }

.pctai__panel.is-fading{
  opacity: 0;
  transform: translateY(6px);
}

.pctai__nav{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
}

.pctai__btn{
  background: var(--pctai-primary);
  border: 1px solid var(--pctai-primary);
  color:#fff;
  padding:10px 14px;
  border-radius:12px;
  cursor:pointer;
  font-weight:800;
  transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
  font-family: 'Acumin-pro', sans-serif;
}
.pctai__btn:disabled{ opacity:.5; cursor:not-allowed; }
.pctai__btn--ghost{
  background:transparent;
  color: var(--pctai-primary);
}
.pctai__btn:hover{ transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,.06); }
.pctai__btn:focus-visible{ outline:2px solid rgba(218,59,59,.5); outline-offset:2px; }

.pctai__h1{ font-size:18px; font-weight:700; margin-bottom:12px; font-family: 'Acumin-pro', sans-serif; }
.pctai__label{ font-weight:700; margin-bottom:6px; font-family: 'Acumin-pro', sans-serif; }
.pctai__hint{ font-size:13px; color: var(--pctai-muted); margin-top:6px; }
.pctai__muted{ font-size:13px; color: var(--pctai-muted); }
.pctai__hint--note{
  padding:10px 12px;
  border-radius:12px;
  border:1px dashed rgba(0,0,0,.15);
  background: rgba(255,255,255,.65);
}

.pctai__row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin: 10px 0;
}
@media (max-width: 520px){
  .pctai__row{ grid-template-columns:1fr; }
}

.pctai__input, .pctai__select, .pctai__textarea{
  width:100%;
  border:1px solid var(--pctai-border);
  border-radius:12px;
  padding:10px 12px;
  font: inherit;
  background:#fff;
}
.pctai__textarea{ min-height:110px; resize:vertical; }

.pctai__grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:12px;
}
@media (max-width: 1024px){ .pctai__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px){ .pctai__grid{ grid-template-columns: 1fr; } }

.pctai__card{
  border:1px solid var(--pctai-border);
  border-radius:14px;
  overflow:hidden;
  cursor:pointer;
  background:#fff;
  text-align:left;
  transition: transform .12s ease, border-color .12s ease;
}
.pctai__card:focus-visible{ outline:2px solid rgba(218,59,59,.5); outline-offset:2px; }
.pctai__card:hover{ transform: translateY(-1px); border-color: rgba(0,0,0,.18); }
.pctai__card.is-active{
  border-color: var(--pctai-primary);
  box-shadow: 0 0 0 2px rgba(218,59,59,.10);
}

.pctai__cardImg{
  height:180px;
  background:#eee;
  overflow:hidden;
  border-radius:14px 14px 0 0;
}
.pctai__cardImg--ph{
  background: linear-gradient(135deg, rgba(218,59,59,.12), rgba(100,209,204,.14));
}
.pctai__cardImg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.pctai__cardBody{ padding:10px 12px; }
/* Use Acumin for titles */
.pctai__cardTitle{ font-weight:700; font-size:14px; font-family: 'Acumin-pro', sans-serif; }
.pctai__badge{
  display:inline-block;
  margin-left:8px;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  background: rgba(218,59,59,.12);
  color: var(--pctai-primary);
  vertical-align:middle;
}

.pctai__pill{
  border:1px solid var(--pctai-border);
  border-radius:999px;
  padding:8px 10px;
  background:#fff;
  cursor:pointer;
  font-size:13px;
}
.pctai__pill.is-active{
  border-color: var(--pctai-primary);
  color: var(--pctai-primary);
  box-shadow: 0 0 0 2px rgba(218,59,59,.08);
}
.pctai__inline{ display:flex; flex-wrap:wrap; gap:8px; }

.pctai__success{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(18, 173, 118, .35);
  background: rgba(18, 173, 118, .10);
  font-weight:800;
}
.pctai__error{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(218,59,59,.35);
  background: rgba(218,59,59,.08);
  font-weight:800;
}

.pctai__tripGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}
@media (max-width: 520px){ .pctai__tripGrid{ grid-template-columns: 1fr; } }
.pctai__tripGrid--select{ grid-template-columns: 1fr; }

/* wizard.js uses .pctai__trip not .pctai__tripCard */
.pctai__trip{
  border:1px solid var(--pctai-border);
  border-radius:14px;
  overflow:hidden;
  cursor:pointer;
  background:#fff;
  text-align:left;
  transition: transform .12s ease, border-color .12s ease;
}
.pctai__trip:hover{ transform: translateY(-1px); border-color: rgba(0,0,0,.18); }
.pctai__trip.is-active{
  border-color: var(--pctai-primary);
  box-shadow: 0 0 0 2px rgba(218,59,59,.10);
}
.pctai__trip--select{ cursor:pointer; }
.pctai__tripExcerpt{
  margin-top:6px;
  font-size:12px;
  color: var(--pctai-muted);
  line-height:1.4;
}
.pctai__tripSelect{
  margin-top:10px;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color: var(--pctai-muted);
}
.pctai__tripSelect input{
  width:16px;
  height:16px;
  accent-color: var(--pctai-primary);
}

.pctai__tripImg{ height:120px; background:#eee; }
.pctai__tripImg img{ width:100%; height:100%; object-fit:cover; display:block; }
.pctai__tripBody{ padding:10px 12px; }
.pctai__tripTitle{ font-weight:700; font-family: 'Acumin-pro', sans-serif; }
.pctai__tripPrice{ margin-top:8px; font-weight:900; color: var(--pctai-primary); }

.pctai__chips{ display:flex; flex-wrap:wrap; gap:8px; }
.pctai__chip{
  border:1px solid var(--pctai-border);
  border-radius:999px;
  padding:8px 10px;
  background:#fff;
  cursor:pointer;
  font-size:13px;
}
.pctai__chip.is-active{
  border-color: var(--pctai-primary);
  color: var(--pctai-primary);
  box-shadow: 0 0 0 2px rgba(218,59,59,.08);
}

/* NEW Add-ons UI used by wizard.js */
.pctai__addons{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
}
.pctai__addon{
  border:1px solid var(--pctai-border);
  border-radius:14px;
  padding:12px;
  background:#fff;
}
.pctai__addonMain{
  display:flex;
  align-items:center;
  gap:10px;
}
.pctai__addonChk{
  width:16px;
  height:16px;
  accent-color: var(--pctai-primary);
}
.pctai__addonLabel{ font-weight:800; }
.pctai__addonPrice{
  margin-left:auto;
  font-weight:900;
  color: var(--pctai-primary);
}
.pctai__addonQty{
  margin-top:10px;
  display:flex;
  gap:10px;
  align-items:center;
}
.pctai__qtyBtn{
  border:1px solid var(--pctai-border);
  background:#fff;
  border-radius:10px;
  padding:6px 10px;
  cursor:pointer;
  font-weight:900;
}
.pctai__qtyBtn:hover{ border-color: rgba(0,0,0,.18); }
.pctai__qtyVal{
  min-width:24px;
  text-align:center;
  font-weight:900;
}

/* Estimate box improvements */
.pctai__estimateTitle{ font-weight:900; margin-bottom:6px; }
.pctai__estimateValue{ font-size:30px; font-weight:1000; line-height:1.1; min-height:34px; }
.pctai__estimateValue.is-empty{
  min-height:34px;
}
.pctai__estimateMeta{ margin-top:6px; color: var(--pctai-muted); font-size:13px; }
.pctai__estimateNote{
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed rgba(0,0,0,.14);
  font-size:12px;
  color: var(--pctai-muted);
  line-height:1.45;
}

.pctai__breakRow{
  display:flex;
  justify-content:space-between;
  margin-top:6px;
  font-size:13px;
  color: var(--pctai-muted);
}
.pctai__breakList{
  font-size:13px;
  color: var(--pctai-muted);
}
.pctai__breakLine{
  display:flex;
  justify-content:space-between;
  padding:6px 0;
  border-bottom:1px solid rgba(0,0,0,.06);
}

/* Step 6 Review box (wizard.js) */
.pctai__review{
  border:1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.65);
  border-radius:14px;
  padding:12px;
}
.pctai__reviewRow{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 0;
  border-bottom:1px solid rgba(0,0,0,.06);
  font-size:13px;
}
.pctai__reviewRow:last-child{ border-bottom:0; }
.pctai__reviewRow span{ color: var(--pctai-muted); }
.pctai__reviewRow strong{ font-weight:900; color: var(--pctai-text); }

/* Submit success + WhatsApp */
.pctai__submitCard{
	border:1px solid rgba(0,0,0,.08);
	background:#fff;
	border-radius:16px;
	padding:14px;
	box-shadow: 0 8px 24px rgba(0,0,0,.05);
}
.pctai__submitRow{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px;
	margin-top:10px;
}
.pctai__refBadge{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:8px 12px;
	border-radius:999px;
	border:1px solid rgba(0,0,0,.12);
	background: rgba(0,0,0,.03);
	font-weight:700;
}
.pctai__btn--whatsapp{
	background:#25D366;
	border-color:#25D366;
	color:#fff;
	display:inline-flex;
	align-items:center;
	gap:8px;
}
.pctai__btn--whatsapp:hover{
	background:#25D366;
	border-color:#25D366;
	color:#fff;
	transform:none;
	box-shadow:none;
}

.pctai__whatsappText{
	font-size:15px;
	line-height:1.5;
	color: var(--pctai-text);
}

.pctai__whatsappSpacer{
	height:10px;
}

/* ================================
   AI ANSWER BOX
   ================================ */

.pctai__aiBox{
	margin-top: 12px;
	border: 1px solid rgba(0,0,0,.08);
	border-radius: 14px;
	padding: 12px 12px 10px;
	background: #fff;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity .25s ease, transform .25s ease;
}

.pctai__aiBox.is-visible{
	opacity: 1;
	transform: translateY(0);
}

.pctai__aiHead{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding-bottom:8px;
	border-bottom:1px solid rgba(0,0,0,.06);
}
.pctai__aiTitle{
	font-family: 'Acumin-pro', sans-serif;
	font-weight: 700;
}

.pctai__aiAgent{
	display:flex;
	align-items:center;
	gap:10px;
}
.pctai__aiAvatar{
	width:44px;
	height:44px;
	aspect-ratio: 1 / 1;
	border-radius:50%;
	object-fit:cover;
	border:2px solid rgba(218,59,59,.25);
	display:block;
}

.pctai__waIcon{
	display:inline-flex;
	align-items:center;
}
.pctai__aiAgentName{
	font-weight:700;
}
.pctai__aiAgentMeta{
	font-size:12px;
	color: var(--pctai-muted);
}

.pctai__aiStatus{
	font-size: 13px;
	color: rgba(0,0,0,.55);
}

.pctai__aiContent{
	margin-top:10px;
	font-size: 14px;
	line-height: 1.55;
	white-space: pre-wrap;
}

.pctai__aiIntro{
	font-weight: 800;
	margin-bottom: 8px;
}

.pctai__aiOptions{
	display:grid;
	gap:10px;
}

.pctai__aiOption{
	display:flex;
	gap:10px;
	align-items:flex-start;
	border:1px solid rgba(0,0,0,.08);
	border-radius:12px;
	padding:8px 10px;
	background:#fff;
	cursor:pointer;
}
.pctai__aiOption:hover{
	border-color: rgba(0,0,0,.18);
}
.pctai__aiOption.is-selected{
	border-color: var(--pctai-primary);
	box-shadow: 0 0 0 2px rgba(218,59,59,.12);
}

.pctai__aiOption input{
	margin-top:4px;
	accent-color: var(--pctai-primary);
}

.pctai__aiOptionBody{
	flex:1;
}

.pctai__aiOptionTitle{
	font-weight: 900;
	margin-bottom: 2px;
	font-size: 16px;
}

.pctai__aiOptionDays{
	color: var(--pctai-muted);
	font-weight: 700;
	font-size: 12px;
}

.pctai__aiOptionSummary{
	font-size: 15px;
	color: var(--pctai-muted);
	margin-bottom: 4px;
}

.pctai__aiOptionPlan{
	font-size: 15px;
	line-height: 1.5;
	white-space: pre-wrap;
}

.pctai__aiPlanList{
	margin: 4px 0 0;
	padding-left: 16px;
}
.pctai__aiPlanList li{
	margin: 3px 0;
}
.pctai__aiPlanText{
	margin-top: 6px;
}

.pctai__aiSuggestions{
	margin-top:10px;
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.pctai__aiSug{
	border: 1px solid rgba(0,0,0,.08);
	border-radius: 999px;
	padding: 8px 10px;
	background:#fff;
	cursor:pointer;
	font-size: 13px;
}

.pctai__aiSug:hover{
	border-color: rgba(0,0,0,.18);
}

.pctai__dots::after{
	content:'';
	display:inline-block;
	width: 18px;
	text-align:left;
	animation: pctaiDots 1.2s infinite steps(4);
}

@keyframes pctaiDots{
	0%{content:'';}
	25%{content:'.';}
	50%{content:'..';}
	75%{content:'...';}
	100%{content:'';}
}
