/* Andes Travel Payment — Checkout UI v2 */
:root{
  --g:var(--atp-g,#3B6E4D);
  --o:var(--atp-o,#F68712);
  --bg:var(--atp-bg,#F4F1EC);
  --gd:#2d5440; --gl:#eef4f0;
  --wh:#fff; --tx:#1a1a1a; --mu:#6b7280; --bd:#e2ddd6;
  --err:#c0392b; --rad:10px; --rads:6px;
  --ft:'Playfair Display',Georgia,serif;
  --fb:'DM Sans',system-ui,sans-serif;
  --sh:0 2px 12px rgba(0,0,0,.06);
}

/* ── Tour Card ───────────────────────────────────────────── */
.atp-tour-card{font-family:var(--fb);background:var(--wh);border:1px solid var(--bd);border-radius:var(--rad);overflow:hidden;box-shadow:var(--sh);transition:transform .2s,box-shadow .2s;max-width:400px;}
.atp-tour-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.10);}
.atp-tc-img{width:100%;height:220px;object-fit:cover;display:block;}
.atp-tc-img-ph{width:100%;height:220px;background:linear-gradient(135deg,var(--g) 0%,var(--gd) 100%);display:flex;align-items:center;justify-content:center;font-size:60px;}
.atp-tc-body{padding:22px;}
.atp-tc-name{font-family:var(--ft);font-size:20px;font-weight:700;color:var(--tx);margin:0 0 6px;line-height:1.3;}
.atp-tc-desc{font-size:14px;color:var(--mu);margin:0 0 14px;line-height:1.5;}
.atp-tc-meta{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap;}
.atp-tc-meta span{font-size:13px;color:var(--mu);display:flex;align-items:center;gap:5px;}
.atp-tc-includes{background:var(--bg);border-radius:var(--rads);padding:12px 14px;margin-bottom:18px;}
.atp-tc-includes p{font-size:12px;font-weight:600;color:var(--mu);text-transform:uppercase;letter-spacing:.5px;margin:0 0 6px;}
.atp-tc-includes ul{margin:0;padding-left:0;list-style:none;}
.atp-tc-includes li{font-size:13px;color:var(--tx);padding:2px 0;}
.atp-tc-includes li::before{content:'✓ ';color:var(--g);font-weight:700;}
.atp-tc-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--bd);padding-top:16px;}
.atp-tc-price{display:flex;flex-direction:column;}
.atp-tc-price-label{font-size:11px;color:var(--mu);text-transform:uppercase;letter-spacing:.5px;}
.atp-tc-price-amount{font-family:var(--ft);font-size:24px;font-weight:700;color:var(--tx);}
.atp-tc-price-sub{font-size:11px;color:var(--mu);}
.atp-btn-book{background:var(--g);color:#fff;border:none;border-radius:var(--rads);padding:11px 20px;font-family:var(--fb);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;white-space:nowrap;}
.atp-btn-book:hover{background:var(--gd);transform:translateY(-1px);box-shadow:0 4px 14px rgba(59,110,77,.25);color:#fff;}

/* ── Tour List ───────────────────────────────────────────── */
.atp-tour-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;font-family:var(--fb);}

/* ── Checkout ────────────────────────────────────────────── */
.atp-checkout{font-family:var(--fb);color:var(--tx);max-width:1060px;margin:0 auto;padding:0 16px;}
.atp-checkout-grid{display:grid;grid-template-columns:1fr 370px;gap:28px;align-items:start;}
.atp-col-left{background:var(--wh);border:1px solid var(--bd);border-radius:var(--rad);padding:32px 36px;box-shadow:var(--sh);}
.atp-col-right{position:sticky;top:24px;}

/* Steps */
.atp-steps{display:flex;align-items:center;margin-bottom:32px;}
.atp-step{display:flex;align-items:center;gap:7px;flex:1;}
.atp-step:not(:last-child)::after{content:'';flex:1;height:1px;background:var(--bd);margin:0 8px;}
.atp-step-n{width:28px;height:28px;border-radius:50%;background:var(--bg);color:var(--mu);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0;}
.atp-step.on .atp-step-n{background:var(--g);color:#fff;}
.atp-step.done .atp-step-n{background:var(--o);color:#fff;}
.atp-step-lbl{font-size:12px;font-weight:500;color:var(--mu);white-space:nowrap;}
.atp-step.on .atp-step-lbl{color:var(--g);font-weight:600;}

/* Section titles */
.atp-sec{font-family:var(--ft);font-size:16px;font-weight:600;color:var(--tx);margin:24px 0 14px;padding-bottom:9px;border-bottom:1px solid var(--bd);}
.atp-sec:first-of-type{margin-top:0;}

/* Form fields */
.atp-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.atp-row1{margin-bottom:14px;}
.atp-fg{display:flex;flex-direction:column;gap:5px;}
.atp-fg label{font-size:11px;font-weight:600;color:var(--mu);text-transform:uppercase;letter-spacing:.6px;}
.atp-fg input,.atp-fg select,.atp-fg textarea{font-family:var(--fb);font-size:15px;color:var(--tx);background:var(--wh);border:1.5px solid var(--bd);border-radius:var(--rads);padding:10px 13px;outline:none;transition:border-color .2s,-webkit-box-shadow .2s;-webkit-appearance:none;}
.atp-fg input:focus,.atp-fg select:focus,.atp-fg textarea:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(59,110,77,.09);}
.atp-fg input::placeholder{color:#bbb;}
.atp-fg textarea{resize:vertical;min-height:76px;}

/* Passengers block */
.atp-pax-block{background:var(--bg);border:1px solid var(--bd);border-radius:var(--rads);padding:14px 16px;margin-bottom:10px;}
.atp-pax-block h4{font-size:13px;font-weight:600;margin:0 0 10px;color:var(--tx);}
.atp-add-pax{background:none;border:1.5px dashed var(--bd);border-radius:var(--rads);padding:9px;width:100%;font-family:var(--fb);font-size:13px;color:var(--mu);cursor:pointer;margin-top:8px;transition:all .2s;}
.atp-add-pax:hover{border-color:var(--g);color:var(--g);background:var(--gl);}

/* Payment modes */
.atp-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px;}
.atp-mode{border:1.5px solid var(--bd);border-radius:var(--rad);padding:14px 10px;cursor:pointer;text-align:center;background:var(--wh);transition:all .2s;}
.atp-mode:hover,.atp-mode.on{border-color:var(--g);background:var(--gl);}
.atp-mode.on{box-shadow:0 0 0 3px rgba(59,110,77,.09);}
.atp-mode input{display:none;}
.atp-mode-i{font-size:20px;margin-bottom:5px;}
.atp-mode-t{font-weight:600;font-size:12px;color:var(--tx);margin-bottom:2px;}
.atp-mode.on .atp-mode-t{color:var(--g);}
.atp-mode-d{font-size:11px;color:var(--mu);line-height:1.3;}

/* Coupon */
.atp-coupon-row{display:flex;gap:8px;align-items:flex-end;}
.atp-coupon-row .atp-fg{flex:1;}
.atp-coupon-btn{padding:10px 18px;background:var(--bg);border:1.5px solid var(--bd);border-radius:var(--rads);font-family:var(--fb);font-size:13px;font-weight:600;color:var(--tx);cursor:pointer;white-space:nowrap;transition:all .2s;}
.atp-coupon-btn:hover{background:var(--g);color:#fff;border-color:var(--g);}
.atp-coupon-fb{font-size:13px;margin-top:5px;min-height:18px;}
.atp-coupon-fb.ok{color:var(--g);}
.atp-coupon-fb.err{color:var(--err);}

/* Stripe */
.atp-stripe-wrap{border:1.5px solid var(--bd);border-radius:var(--rads);padding:12px 14px;background:var(--wh);transition:border-color .2s;margin-bottom:6px;}
.atp-stripe-wrap.focused{border-color:var(--g);box-shadow:0 0 0 3px rgba(59,110,77,.09);}
#atp-card-error{color:var(--err);font-size:13px;min-height:18px;margin-bottom:14px;}

/* Express */
.atp-express-div{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--mu);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;}
.atp-express-div::before,.atp-express-div::after{content:'';flex:1;height:1px;background:var(--bd);}

/* Submit */
.atp-submit{width:100%;background:var(--g);color:#fff;border:none;border-radius:var(--rads);padding:14px;font-family:var(--fb);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;}
.atp-submit:hover:not(:disabled){background:var(--gd);transform:translateY(-1px);box-shadow:0 4px 16px rgba(59,110,77,.25);}
.atp-submit:disabled{opacity:.6;cursor:not-allowed;}
.atp-secure{text-align:center;font-size:11px;color:var(--mu);margin-top:9px;display:flex;align-items:center;justify-content:center;gap:5px;}

/* Summary */
.atp-summary{background:var(--wh);border:1px solid var(--bd);border-radius:var(--rad);overflow:hidden;box-shadow:var(--sh);}
.atp-sum-img{width:100%;height:170px;object-fit:cover;display:block;}
.atp-sum-img-ph{width:100%;height:170px;background:linear-gradient(135deg,var(--g),var(--gd));display:flex;align-items:center;justify-content:center;font-size:48px;}
.atp-sum-body{padding:22px;}
.atp-sum-name{font-family:var(--ft);font-size:18px;font-weight:700;margin:0 0 14px;line-height:1.3;color:var(--tx);}
.atp-sum-meta{display:flex;flex-direction:column;gap:8px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--bd);}
.atp-sum-meta-i{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--mu);}
.atp-sum-meta-i strong{color:var(--tx);font-weight:500;}
.atp-price-lines{display:flex;flex-direction:column;gap:7px;}
.atp-pl{display:flex;justify-content:space-between;font-size:13px;color:var(--mu);}
.atp-pl.disc{color:var(--g);}
.atp-pl.tot{font-size:17px;font-weight:700;color:var(--tx);padding-top:10px;margin-top:2px;border-top:1.5px solid var(--bd);}
.atp-pl.due{font-size:14px;font-weight:600;color:var(--g);background:var(--gl);margin:8px -22px -22px;padding:13px 22px;}

/* Success */
.atp-success{background:var(--wh);border:1px solid var(--bd);border-radius:var(--rad);padding:52px 36px;text-align:center;box-shadow:var(--sh);}
.atp-success-ico{font-size:62px;margin-bottom:14px;}
.atp-success h2{font-family:var(--ft);font-size:26px;color:var(--g);margin:0 0 8px;}
.atp-success p{color:var(--mu);font-size:15px;}
.atp-ref-box{display:inline-block;background:var(--bg);border:1.5px dashed var(--bd);border-radius:var(--rads);padding:11px 26px;font-family:monospace;font-size:22px;font-weight:700;letter-spacing:3px;color:var(--g);margin:12px 0 18px;}
.atp-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:atp-spin .7s linear infinite;display:inline-block;}
@keyframes atp-spin{to{transform:rotate(360deg);}}

/* Booking status */
.atp-status-wrap{max-width:700px;margin:0 auto;font-family:var(--fb);}
.atp-status-card{background:var(--wh);border:1px solid var(--bd);border-radius:var(--rad);padding:28px;box-shadow:var(--sh);}

/* Responsive */
@media(max-width:768px){
  .atp-checkout-grid{grid-template-columns:1fr;}
  .atp-col-right{position:static;order:-1;}
  .atp-col-left{padding:22px 18px;}
  .atp-row2,.atp-modes{grid-template-columns:1fr;}
  .atp-tour-list{grid-template-columns:1fr;}
}
