/* =====================================================================
   CHECKOUT — Naterra (tema verde) — base compartilhada da fábrica de lojas
===================================================================== */
:root{
  --navy:#254220;
  --navy-d:#1a2e16;
  --green:#22c55e;
  --green-d:#16a34a;
  --green-darker:#15803d;
  --red:#f87171;
  --gray-50:#f9fafb;
  --gray-100:#f3f4f6;
  --gray-200:#e5e7eb;
  --gray-300:#d1d5db;
  --gray-400:#9ca3af;
  --gray-500:#6b7280;
  --gray-600:#4b5563;
  --gray-700:#374151;
  --gray-800:#1f2937;
  --blue-400:#60a5fa;
  --blue-50:#eff6ff;
  --bg-app:#f6f4ef;
  --pink:#e91e63;
  --pink-d:#9d1057;
}

.co-body{background:var(--bg-app);color:var(--gray-800)}
strong{font-weight:700}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

.ico{width:1em;height:1em;display:inline-block;vertical-align:-0.125em;flex-shrink:0;color:inherit}

/* ===== HEADER ===== */
.co-hdr{
  background:#fff;
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 18px;border-bottom:1px solid var(--gray-200);
}
.co-hdr__logo img{height:32px;width:auto}
.co-hdr__secure{display:inline-flex;align-items:center;gap:5px;color:var(--gray-500);font-size:12px;font-weight:500}
.co-hdr__secure .ico{width:14px;height:14px}

/* ===== MAIN container ===== */
.co-main{padding:14px 14px 40px;max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:12px}

/* ===== TOP "Você está comprando" ===== */
.co-top{
  background:#fff;border-radius:16px;padding:14px 16px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.co-top__label{margin:0 0 10px;font-size:13px;color:var(--gray-700);font-weight:700}
.co-top__row{display:flex;align-items:center;gap:12px}
.co-top__img{width:56px;height:56px;border-radius:12px;object-fit:contain;background:var(--gray-50);border:1px solid var(--gray-100);flex-shrink:0}
.co-top__body{flex:1;min-width:0}
.co-top__name{margin:0;font-size:13px;font-weight:700;color:var(--gray-800);line-height:1.25}
.co-top__freight{display:inline-flex;align-items:center;gap:4px;color:var(--green-d);font-weight:500;font-size:12px;margin-top:3px}
.co-top__freight .ico{width:12px;height:12px}
.co-top__price{font-size:20px;font-weight:900;color:var(--gray-800);flex-shrink:0;font-variant-numeric:tabular-nums}

/* ===== FORM ===== */
.co-form{display:flex;flex-direction:column;gap:12px}
.co-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}

.co-card__head{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.co-card__num{
  width:32px;height:32px;border-radius:50%;
  background:var(--navy);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:700;font-size:14px;flex-shrink:0;
}
.co-card__pill{
  background:var(--gray-100);color:var(--navy);
  font-weight:600;font-size:14px;
  padding:5px 14px;border-radius:999px;
}
.co-card__right{margin-left:auto;color:var(--gray-500);font-size:13px;font-weight:500}

/* ===== FIELDS ===== */
.co-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.co-field:last-child{margin-bottom:0}
.co-field label{font-size:13px;color:var(--gray-700);font-weight:500}
.co-req{color:var(--red);font-weight:700}

.co-input{position:relative}
.co-input__ico{
  position:absolute;left:10px;top:50%;transform:translateY(-50%);
  width:14px;height:14px;color:var(--gray-400);pointer-events:none;z-index:1;
}
.co-input input,
.co-input select{
  width:100%;
  padding:10px 12px 10px 36px;
  font:inherit;font-size:16px;color:var(--gray-800);
  border:1px solid var(--gray-200);background:#fff;border-radius:10px;
  outline:none;
  transition:border-color .15s,box-shadow .15s;
  -webkit-appearance:none;appearance:none;
}
.co-input input::placeholder{color:var(--gray-400)}
.co-input select{padding-right:32px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' width='12' height='8'><path fill='%239ca3af' d='M6 8L0 0h12z'/></svg>");background-repeat:no-repeat;background-position:right 12px center}
.co-input:has(select) .co-input__ico,
.co-input select{padding-left:14px}
.co-input select ~ .co-input__ico{display:none}

.co-input input:focus,
.co-input select:focus{
  border-color:var(--blue-400);
  box-shadow:0 0 0 3px rgba(96,165,250,.18);
}
.co-input input.error,
.co-input select.error{border-color:#ef4444;background:#fef2f2;animation:shake .25s}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}

/* ===== GRID 2 col ===== */
.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.co-grid > .co-field{margin-bottom:0}

/* ===== PAYMENT (3) ===== */
.co-pix-method{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:14px;
  border:2px solid var(--blue-400);background:#fff;border-radius:12px;
  font-weight:600;color:var(--gray-800);font-size:15px;
  margin-bottom:18px;
}
.co-pix-method .ico{width:24px;height:24px}

.co-pix-title{margin:0 0 12px;font-size:16px;font-weight:700;color:var(--gray-800)}

.co-pix-perks{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:12px}
.co-pix-perks li{display:flex;gap:12px;align-items:flex-start}
.co-pix-perk__ico{
  flex-shrink:0;width:32px;height:32px;border-radius:8px;
  background:var(--blue-50);color:#3b82f6;
  display:flex;align-items:center;justify-content:center;
}
.co-pix-perk__ico .ico{width:16px;height:16px}
.co-pix-perks strong{display:block;color:#3b82f6;font-size:13px;font-weight:700;letter-spacing:.02em;margin-bottom:2px}
.co-pix-perks p{margin:0;font-size:13px;color:var(--gray-600);line-height:1.45}

.co-total{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:14px;border-top:1px solid var(--gray-200);
  font-size:15px;color:var(--gray-700);
}
.co-total strong{font-size:18px;color:var(--gray-800);font-weight:900;font-variant-numeric:tabular-nums}

/* ===== SUBMIT ===== */
.co-submit{
  width:100%;padding:16px;border-radius:12px;
  background:var(--green);color:#fff;
  font-weight:700;font-size:16px;letter-spacing:.02em;
  box-shadow:0 4px 10px -3px rgba(34,197,94,.4);
  transition:background .15s,transform .12s;
  -webkit-tap-highlight-color:transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
}
.co-submit:hover{background:var(--green-d)}
.co-submit:active{background:var(--green-darker);transform:scale(.98)}
.co-submit.loading{opacity:.6;pointer-events:none}
.co-submit.loading::after{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== TRUST FOOTER ===== */
.co-trust{
  list-style:none;padding:0;margin:0;
  display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  font-size:11px;color:var(--gray-500);
}
.co-trust li{display:inline-flex;align-items:center;gap:5px}
.co-trust .ico{width:12px;height:12px}
.co-disclaimer{text-align:center;font-size:11px;color:var(--gray-500);margin:8px 0 0;line-height:1.5}
.co-disclaimer a{color:var(--navy);font-weight:600;text-decoration:underline}

/* ===== PIX SCREEN ===== */
[hidden]{display:none!important}
.pix-screen{position:fixed;inset:0;background:rgba(15,23,42,.75);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:0;overflow-y:auto;animation:fadeIn .2s}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.pix-card{background:#fff;border-radius:20px 20px 0 0;padding:22px 18px 28px;max-width:520px;width:100%;margin-top:auto;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}
@keyframes slideUp{from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}
.pix-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.pix-head img{filter:none}
.pix-close{width:32px;height:32px;border-radius:50%;background:var(--gray-100);font-size:20px;color:var(--gray-700);line-height:1}

.pix-status{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--blue-50);border:1px solid #bfdbfe;border-radius:999px;margin-bottom:18px;font-size:13px;color:#1d4ed8;font-weight:500}
.pix-status__dot{width:9px;height:9px;border-radius:50%;background:#3b82f6;animation:pulse 1.5s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}
.pix-status__timer{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:700;color:var(--gray-800)}

.pix-card h2{margin:0 0 6px;font-size:20px;font-weight:700;color:var(--gray-800);text-align:center}
.pix-sub{color:var(--gray-500);font-size:13px;text-align:center;margin:0 0 18px}

.pix-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;background:var(--gray-50);border-radius:14px;margin-bottom:14px}
.pix-qr{width:200px;height:200px;background:#fff;padding:10px;border-radius:12px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gray-200)}
.pix-qr svg,.pix-qr img{max-width:100%;max-height:100%}
.pix-amount{text-align:center}
.pix-amount span{display:block;font-size:11px;color:var(--gray-500);margin-bottom:3px;letter-spacing:.04em;text-transform:uppercase;font-weight:600}
.pix-amount strong{font-size:30px;color:var(--green-d);font-weight:900;line-height:1;font-variant-numeric:tabular-nums}

.pix-copy{margin-bottom:16px}
.pix-copy label{display:block;font-size:11px;color:var(--gray-500);margin-bottom:5px;letter-spacing:.04em;text-transform:uppercase;font-weight:600}
.pix-copy__row{display:flex;gap:8px}
.pix-copy__row input{flex:1;font-family:monospace;font-size:12px;color:var(--gray-800);padding:0 12px;height:42px;border:1px solid var(--gray-200);background:var(--gray-50);border-radius:10px;min-width:0;text-overflow:ellipsis}
.pix-copy__row button{padding:0 16px;height:42px;background:var(--gray-800);color:#fff;border-radius:10px;font-weight:600;font-size:13px;flex-shrink:0}
.pix-copy__row button.copied{background:var(--green-d)}

.pix-steps{margin:0 0 14px;padding-left:20px;font-size:13px;color:var(--gray-600);line-height:1.7}
.pix-help{font-size:12px;color:var(--gray-500);text-align:center;margin:0}
.pix-help a{color:var(--navy);font-weight:600;text-decoration:underline}

/* SUCCESS */
.pix-card--success{text-align:center;padding:40px 22px;display:flex;flex-direction:column;align-items:center}
.pix-check{width:64px;height:64px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 8px 20px -6px rgba(34,197,94,.5)}
.pix-check .ico{width:32px;height:32px}
.pix-orderid{font-size:13px;color:var(--gray-500);margin:14px 0 22px}
.pix-orderid strong{color:var(--green-d);font-family:monospace}
.pix-card--success .co-submit{max-width:340px;margin-top:auto}

/* TOAST */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--gray-800);color:#fff;padding:12px 18px;border-radius:10px;box-shadow:0 12px 30px -8px rgba(0,0,0,.3);z-index:1100;font-size:13px;max-width:90vw;text-align:center;animation:toastIn .2s}
.toast--error{background:linear-gradient(135deg,#dc2626,#991b1b)}
@keyframes toastIn{from{transform:translate(-50%,16px);opacity:0}to{transform:translate(-50%,0);opacity:1}}

/* DESKTOP */
@media (min-width:720px){
  .co-main{padding:24px 18px 60px;max-width:560px}
  .co-top{padding:18px 20px}
  .co-top__img{width:64px;height:64px}
  .co-top__name{font-size:14px}
  .co-top__price{font-size:22px}
  .co-card{padding:20px}
}

/* --- Itens do carrinho no checkout --- */
.co-items{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid #e5e9f0}
.co-item{display:flex;align-items:baseline;gap:8px;font-size:13px;padding:5px 0;color:#374151}
.co-item__q{font-weight:700;color:#1763ff;flex-shrink:0}
.co-item__n{flex:1;min-width:0;line-height:1.35}
.co-item__n em{font-style:normal;color:#8a93a3;font-size:11.5px}
.co-item__p{font-weight:700;color:#1f2937;white-space:nowrap}

/* --- Subtotal/desconto no card de pagamento --- */
.co-sum{margin-bottom:6px}
.co-sum__line{display:flex;justify-content:space-between;font-size:13.5px;color:#4b5563;padding:4px 0}
.co-sum__line--disc{color:#0a7d3b;font-weight:600}
.co-sum__line--disc .ico{width:14px;height:14px;vertical-align:-2px;margin-right:3px}

/* ===== Naterra ===== */
.co-hdr__logo{
  display:flex;align-items:baseline;gap:1px;
  font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:21px;
  color:var(--navy);letter-spacing:-.03em;
}
.co-hdr__logo sup{font-size:9px;font-weight:700}
.co-hdr__logo .brand__mark{width:.95em;height:.95em;flex:none;align-self:center;margin-right:.14em}
.pix-head .co-hdr__logo{font-size:18px}
.co-guarantee{
  display:flex;align-items:center;gap:10px;margin:14px 0 0;padding:12px 14px;
  background:#eaf6e8;border:1px solid #cfe6cb;border-radius:12px;
  font-size:12.5px;line-height:1.45;color:#2b4a26;font-weight:500;
}
.co-guarantee .ico{font-size:20px;color:var(--navy);flex:none}

/* a marca do topo virou imagem: o checkout e compartilhado entre as lojas,
   entao a identidade entra por override, nao no template */
.co-hdr__logo{display:inline-flex;align-items:center}
.co-hdr__logo img{height:26px;width:auto;display:block}
