:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --muted:#6b7280;
  --text:#0f172a;
  --primary:#6b1bb7;
  --primary-600:#7d24d1;
  --primary-700:#5a1497;
  --success:#16a34a;
  --danger:#ef4444;
  --border:#e5e7eb;
}
*{box-sizing:border-box}
html,body{height:100%;width:100%;overflow-x:hidden}
html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}
body{
  margin:0;
  padding:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  min-width:100%;
  position:relative;
}
.container{
  max-width:1200px;
  margin:0 auto;
  padding:24px 16px;
  width:100%;
}
.header{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.logo{height:36px}
h1{font-size:26px;margin:0;color:#0f172a}
p{color:var(--muted)}

form{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.steps{padding:8px}
.step{display:none;padding:24px}
.step.is-active{display:block}

h2{font-size:18px;margin:0 0 18px;color:#0f172a}
.hint{font-size:13px;color:#4b5563;margin:0 0 12px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.grid .full{grid-column:1/-1}

label{display:flex;flex-direction:column;gap:8px;font-weight:600;color:#374151}
input,select,textarea{
  width:100%;
  padding:12px 14px;
  border-radius:8px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  outline:none;
  font-size:16px; /* evita zoom no iOS ao focar */
}
input:focus,select:focus,textarea:focus{border-color:var(--primary-600);box-shadow:0 0 0 3px rgba(107,27,183,.15)}

/* validação visual */
.field-error{border-color:#ef4444 !important; background:#fee2e2 !important; box-shadow:0 0 0 3px rgba(239,68,68,.15) !important}
.error-text{color:#b91c1c;font-size:12px;margin-top:4px}

fieldset{border:1px solid var(--border);border-radius:10px;padding:12px 12px 6px;background:#fff}
legend{padding:0 6px;color:#374151}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips label{flex-direction:row;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 14px;font-weight:600;color:#111827;min-height:44px}
.chips input{accent-color:var(--primary-600)}

/* estilo pills maiores (como no exemplo) */
.chips--pill .chip{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #d1d5db;border-radius:22px;padding:14px 18px;box-shadow:inset 0 0 0 1px rgba(0,0,0,0);transition:all .15s ease;color:#111827;min-height:48px}
.chips--pill .chip:hover{border-color:#c7cdd8;background:#f9fafb}
.chips--pill .chip input{width:18px;height:18px}
.chips--pill .chip span{font-weight:700;flex:1}

/* Tooltip de informação */
.info-tooltip {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  cursor: help;
  color: var(--muted);
  position: relative;
}

label .info-tooltip {
  margin-left: 4px;
  vertical-align: middle;
}

.info-tooltip:hover {
  color: var(--primary);
}

.info-tooltip::after {
  content: attr(title);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #1f2937;
  color: white;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: normal;
  white-space: normal;
  width: 250px;
  margin-bottom: 8px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  z-index: 1000;
  line-height: 1.4;
}

.info-tooltip:hover::after {
  opacity: 1;
}

.info-tooltip::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: #1f2937;
  margin-bottom: 2px;
  opacity: 0;
  transition: opacity 0.2s;
}

.info-tooltip:hover::before {
  opacity: 1;
}

/* Estilo para o campo de serviço de entrega */
.delivery-service legend {
  display: flex;
  align-items: center;
}

.delivery-options {
  display: flex;
  gap: 12px;
}

.card-option {
  position: relative;
  flex: 1;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s;
  border: 2px solid var(--border);
  background: #fff;
  border-radius: 12px;
}

.card-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.card-option:hover {
  border-color: var(--primary);
  background: #f3f0ff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(107, 27, 183, 0.15);
}

.card-option:has(input:checked) {
  border-color: var(--primary);
  background: #f3f0ff;
  box-shadow: 0 0 0 2px rgba(107, 27, 183, 0.2);
}

.card-option:has(input:checked) strong {
  color: var(--primary);
}

.card-option div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  pointer-events: none;
}

.card-option small {
  color: var(--muted);
  font-size: 12px;
  font-weight: normal;
}

/* extra access list */
.extra-list{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}
.extra-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:#fff}
.extra-card .row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.extra-card .row .full{grid-column:1/-1}
.extra-card .actions{display:flex;justify-content:flex-end;margin-top:8px}

/* compact row for small inputs like conta/dv */
.row-compact{display:grid;grid-template-columns:3fr 1fr;gap:12px}

.checkbox-inline{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#374151}
.checkbox-inline input{width:18px;height:18px}

.schedule .day{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}

.nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.btn{appearance:none;border:1px solid var(--border);border-radius:10px;padding:12px 18px;background:#fff;color:#111827;font-weight:600;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.05)}
.btn:hover{background:#f9fafb}
.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn.primary:hover{background:var(--primary-600)}

.footer{color:var(--muted);text-align:center;margin-top:28px}
.footer a{color:var(--primary);text-decoration:none;font-weight:600}
.footer a:hover{text-decoration:underline}

/* alerts */
.alert{border-radius:10px;padding:12px 14px;margin:8px 0 16px;font-weight:600}
.alert.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}

/* Hide Pageclip default success overlay */
.pageclip-form__success, .pageclip-form__success__message{display:none !important}

/* Success pane */
.success-pane{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;border-radius:12px;padding:18px}
.success-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.spinner{width:16px;height:16px;border-radius:999px;border:2px solid rgba(6,95,70,.3);border-top-color:#065f46;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Progress bar */
.progress{position:sticky;bottom:0;left:0;right:0;padding:12px 16px;background:#fff;backdrop-filter:saturate(140%) blur(8px);border-top:1px solid var(--border);width:100%;box-sizing:border-box}
.progress__inner{max-width:1100px;margin:0 auto}
.progress__track{height:8px;background:#eef2ff;border-radius:999px;overflow:hidden;border:1px solid #e5e7eb}
.progress__fill{height:100%;background:linear-gradient(90deg, var(--primary), var(--primary-600));border-radius:999px;transition:width .25s ease}
.progress__meta{margin-top:6px;font-size:12px;color:#374151}

@media (max-width: 800px){
  /* Reset paddings e margens para evitar borda branca */
  .container{
    padding:16px 12px;
    max-width:100%;
  }

  form{
    border-radius:8px;
    border-left:none;
    border-right:none;
    box-shadow:none;
  }

  .steps{padding:0}
  .step{padding:16px 12px}

  .grid{grid-template-columns:1fr}
  .schedule .day{grid-template-columns:1fr}
  .nav{flex-direction:column;padding:0 12px 12px}
  .btn{width:100%}

  /* Melhor layout para chips em mobile */
  .chips{display:grid;grid-template-columns:1fr;gap:8px}
  .chips label{width:100%;white-space:normal;overflow-wrap:normal;word-break:normal;padding:14px 16px}

  /* Pills em 2 colunas no mobile para mundo/atividade */
  .chips--pill{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
  .chips--pill .chip{
    display:flex;
    width:100%;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
    padding:12px 10px;
    min-height:48px;
    font-size:14px;
    justify-content:center;
    align-items:center;
    text-align:center;
  }
  .chips--pill .chip span{font-size:13px;font-weight:600}
  .chips--pill .chip input{width:16px;height:16px}

  /* Opções de entrega em coluna única */
  .delivery-options{grid-template-columns:1fr}
  .card-option{min-height:auto;padding:14px}

  /* Adiciona indicador visual de seleção mais forte no mobile */
  .chips--pill .chip:has(input:checked){
    background:var(--primary);
    color:white;
    border-color:var(--primary);
    transform:scale(1.02);
  }
  .chips--pill .chip:has(input:checked) span{color:white}

  /* Smooth scroll behavior */
  html{scroll-behavior:smooth}
}

/* Payments */
.payment-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:8px 0 4px}
.payment-col{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px}
.payment-col legend{font-weight:700}
.legend-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.btn--sm{padding:8px 10px;font-size:12px}
.checks{display:flex;flex-direction:column;gap:8px}

@media (max-width: 900px){
  .payment-columns{grid-template-columns:1fr}
}


