/* Checkout — complementa styles.css (landing estática) */

.checkout-page{
  --checkout-text:var(--marron);
  --checkout-text-muted:color-mix(in srgb,var(--marron) 82%,var(--ink));
  --checkout-text-subtle:color-mix(in srgb,var(--marron) 68%,var(--ink));
  min-height:100vh;display:flex;flex-direction:column;
  background:var(--cream);color:var(--checkout-text);
  font-size:1.0625rem;line-height:1.6;
}

@media(min-width:1024px){
  .checkout-page{font-size:1.125rem}
}

.checkout-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1rem clamp(1rem,3vw,1.75rem);
  background:color-mix(in srgb,var(--paper) 94%,transparent);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(8px);
}

.checkout-brand{text-decoration:none;line-height:0}

.checkout-logo{
  display:block;height:clamp(48px,6vw,62px);width:auto;aspect-ratio:321/75;
  background:var(--root);
  -webkit-mask:url('/assets/image01.webp') center/contain no-repeat;
  mask:url('/assets/image01.webp') center/contain no-repeat;
}

.checkout-secure{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--marron)}
.checkout-secure svg{width:1.5em;height:1.5em;flex-shrink:0}

.checkout-main{
  flex:1;width:100%;max-width:64rem;margin-inline:auto;
  padding:clamp(1.5rem,4vw,3.5rem) clamp(1rem,3vw,1.5rem);
}

.checkout-layout{
  display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,3vw,2.25rem);align-items:start;
}

@media(min-width:1024px){
  .checkout-layout{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:3.5rem}
}

.checkout-summary{display:flex;flex-direction:column;gap:1.5rem}

.checkout-card{
  background:var(--cream2);border:1.5px solid var(--line);border-radius:1.5rem;
  padding:clamp(1.25rem,2.5vw,1.75rem);
}

.checkout-card--quote{background:color-mix(in srgb,var(--wine) 6%,transparent)}

.checkout-card h2{font-family:var(--ff-cartis);font-weight:500;color:var(--marron);font-size:clamp(1.375rem,2vw,1.625rem);margin:0}

.checkout-form{min-width:0}

.checkout-form-title{font-family:var(--ff-cartis);font-size:clamp(1.375rem,2vw,1.625rem);font-weight:500;color:var(--marron);margin:0 0 .375rem;line-height:1.2}
.checkout-lead{font-size:1rem;font-weight:500;color:var(--checkout-text-muted);margin:0 0 1.375rem;line-height:1.55}
.checkout-muted{color:var(--checkout-text-muted)}
.checkout-subtle{color:var(--checkout-text-subtle)}
.checkout-price{font-family:var(--ff-cartis);font-size:clamp(1.625rem,2.5vw,2rem);font-weight:500;color:var(--marron);line-height:1.1}
.checkout-price--accent{color:var(--root)}
.checkout-price-note{font-size:.9375rem;font-weight:500;color:var(--checkout-text-muted);margin:.375rem 0 0;line-height:1.45}

.checkout-eyebrow{
  font-size:.8125rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--wine);margin-bottom:.375rem;
}

.checkout-plan-tag{
  font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  background:linear-gradient(135deg,var(--orange-deep),var(--root));
  color:var(--text-on-dark);padding:.4em .9em;border-radius:100px;white-space:nowrap;
}

.checkout-divider{border-top:1px solid var(--line);padding-top:1.25rem;margin-top:.25rem}

.checkout-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.625rem}

.checkout-features li{display:flex;align-items:flex-start;gap:.625rem;font-size:1rem;font-weight:600;line-height:1.55;color:var(--checkout-text)}

.checkout-features li span{
  flex:0 0 auto;width:1.25rem;height:1.25rem;border-radius:50%;
  display:grid;place-items:center;font-size:.75rem;
  background:color-mix(in srgb,var(--root) 12%,transparent);color:var(--root);
}

.checkout-steps{display:flex;align-items:flex-start;margin-bottom:2rem}

.checkout-step{display:flex;align-items:center;flex:1;min-width:0}

.checkout-step-dot{
  width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;
  font-size:.875rem;font-weight:600;transition:background-color .3s,color .3s;
}

.checkout-step-dot.is-active,.checkout-step-dot.is-done{background:var(--root);color:var(--cream2)}
.checkout-step-dot.is-pending{background:var(--offwhite);color:var(--marron);border:1px solid var(--line)}

.checkout-step-label{margin-top:.375rem;font-size:.8125rem;font-weight:600;white-space:nowrap;line-height:1.3}
.checkout-step-label.is-active,.checkout-step-label.is-done{color:var(--root)}
.checkout-step-label.is-pending{color:var(--marron)}

.checkout-step-line{flex:1;height:1px;margin:0 .5rem;align-self:center;margin-bottom:1.125rem}
.checkout-step-line.is-done{background:var(--root)}
.checkout-step-line.is-pending{background:var(--line)}

.checkout-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}

.checkout-field label{
  font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--marron);
}

.checkout-field input{
  width:100%;padding:.875rem 1rem;border-radius:.75rem;font-size:1rem;font-weight:500;
  font-family:var(--ff-body);color:var(--marron);background:var(--cream-2);
  border:1.5px solid var(--line);outline:none;
  transition:border-color .2s,box-shadow .2s;
}

.checkout-field input::placeholder{color:color-mix(in srgb,var(--marron) 38%,transparent);font-weight:400}

.checkout-field input:focus{
  border-color:var(--marron);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--marron) 10%,transparent);
}

.checkout-field.is-error input{
  border-color:var(--root);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--root) 12%,transparent);
}

.checkout-field-error{font-size:.8125rem;font-weight:500;color:var(--root);line-height:1.4}

.checkout-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

@media(max-width:560px){.checkout-grid-2{grid-template-columns:1fr}}

.checkout-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  width:100%;padding:1rem 1.25rem;border:none;border-radius:1rem;
  font-family:var(--ff-body);font-size:1.0625rem;font-weight:600;
  cursor:pointer;transition:background-color .2s,opacity .2s;text-decoration:none;
}

.checkout-btn:disabled{opacity:.75;cursor:wait}

@keyframes checkout-pulse{
  0%,100%{opacity:.75}
  50%{opacity:.55}
}
.checkout-btn:disabled{animation:checkout-pulse 1.6s ease-in-out infinite}
.checkout-btn-sm{width:auto;padding:.5rem .875rem;font-size:.875rem;border-radius:.625rem;flex-shrink:0}

.checkout-btn-primary{background:var(--root);color:var(--cream2)}
.checkout-btn-primary:not(:disabled):hover{background:var(--root-deep)}

.checkout-btn-green{background:var(--green);color:var(--cream2);transition:background-color .2s,opacity .2s,transform .2s}
.checkout-btn-green:not(:disabled):hover{background:var(--green-soft);transform:translateY(-1px)}
.checkout-btn-green:disabled{background:var(--green-soft)}

.checkout-btn-ghost{background:none;border:none;padding:0;font-size:.9375rem;font-weight:600;color:var(--marron);cursor:pointer;width:auto}
.checkout-btn-ghost:hover{opacity:.7}

.checkout-tabs{display:flex;gap:.25rem;padding:.25rem;border-radius:.75rem;background:var(--offwhite);margin-bottom:1rem}

.checkout-tab{
  flex:1;padding:.75rem;border:none;border-radius:.5rem;
  font-size:.9375rem;font-weight:600;font-family:var(--ff-body);cursor:pointer;
  transition:background-color .25s,color .25s;
}

.checkout-tab.is-active{background:var(--root);color:var(--cream2)}
.checkout-tab.is-inactive{background:transparent;color:var(--marron)}

.checkout-plan-selected{
  position:relative;margin-bottom:1.5rem;padding:1.125rem 1.25rem;
  border:1.5px solid var(--root);border-radius:1rem;
  background:color-mix(in srgb,var(--marron) 6%,transparent);
}

.checkout-plan-tag--corner{position:absolute;top:-.625rem;right:.5rem}

@media(max-width:560px){
  .checkout-plan-tag--corner{top:-.5rem;right:.375rem;font-size:.6875rem;padding:.3em .7em}
}

.checkout-plan-selected-name{font-size:.9375rem;font-weight:600;color:var(--root);margin-bottom:.125rem}

.checkout-plan-selected-price{font-size:1.25rem;margin:0}

.checkout-plan-selected-note{font-size:.875rem;margin-top:.375rem;line-height:1.45}

.checkout-highlight{
  padding:1rem;border-radius:.75rem;margin-bottom:1rem;
  background:color-mix(in srgb,var(--marron) 6%,transparent);border:1px solid var(--line);
}

.checkout-error,.checkout-note{font-size:.9375rem;text-align:center;margin:.75rem 0;line-height:1.55}
.checkout-error{color:var(--root);font-weight:500}
.checkout-note{color:var(--checkout-text-muted);font-size:.875rem}

.checkout-pix{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}

.checkout-pix img{width:12rem;height:12rem;object-fit:contain}

.checkout-pix-box{padding:1rem;border-radius:1rem;background:#fff;border:2px solid var(--line)}

.checkout-copy{display:flex;align-items:center;gap:.5rem;padding:.875rem;border-radius:.75rem;
  background:var(--offwhite);border:1px solid var(--line);font-size:.8125rem;font-weight:500;color:var(--marron);word-break:break-all;line-height:1.45}

.checkout-copy button{flex-shrink:0}

.checkout-success{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem 0;text-align:center}

.checkout-success-icon{
  width:5rem;height:5rem;border-radius:50%;display:grid;place-items:center;font-size:1.75rem;
  background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green);
}

.checkout-footer{
  text-align:center;padding:2rem 1rem;border-top:1px solid var(--line);
  background:var(--paper);
}

.checkout-card--quote p:first-child{font-size:1rem;font-style:normal;font-weight:500;line-height:1.65;margin:0 0 .875rem;color:var(--checkout-text)}
.checkout-card--quote p:last-child{font-size:.8125rem;font-weight:700;color:var(--wine);margin:0}

.checkout-footer p{margin:0;font-size:.9375rem;color:var(--root);font-weight:500}

.checkout-hidden{display:none!important}

/* ── Cupom de desconto ──────────────────────────────────────────── */

.checkout-coupon-wrap{margin-bottom:1rem}

.checkout-coupon-label{
  display:block;margin-bottom:.375rem;
  font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--marron);
}

.checkout-coupon-row{
  display:flex;gap:.5rem;align-items:stretch;
}

.checkout-coupon-input{
  flex:1;padding:.75rem 1rem;border-radius:.75rem;font-size:.9375rem;font-weight:500;
  font-family:var(--ff-body);color:var(--marron);background:var(--cream-2);
  border:1.5px solid var(--line);outline:none;letter-spacing:.06em;
  transition:border-color .2s,box-shadow .2s;
}

.checkout-coupon-input::placeholder{
  color:color-mix(in srgb,var(--marron) 38%,transparent);font-weight:400;letter-spacing:0;
}

.checkout-coupon-input:focus{
  border-color:var(--marron);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--marron) 10%,transparent);
}

.checkout-coupon-input.is-error{
  border-color:var(--root);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--root) 10%,transparent);
}

.checkout-coupon-btn{min-width:5.5rem}

.checkout-coupon-error{
  font-size:.8125rem;font-weight:500;color:var(--root);margin:.375rem 0 0;line-height:1.4;
}

.checkout-coupon--applied{
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  padding:.75rem 1rem;border-radius:.75rem;margin-bottom:1rem;
  background:color-mix(in srgb,var(--green) 10%,transparent);
  border:1.5px solid color-mix(in srgb,var(--green) 35%,transparent);
  font-size:.9375rem;font-weight:500;color:var(--marron);
}

.checkout-coupon-remove{
  background:none;border:none;padding:0;font-size:.8125rem;font-weight:600;
  color:var(--checkout-text-muted);cursor:pointer;white-space:nowrap;flex-shrink:0;
}

.checkout-coupon-remove:hover{color:var(--root)}
