/* 1.4.0: quote price table, hold card, vouchers, map preview */
.cxt-v14-quote .cxt-box{display:flex;flex-direction:column;gap:.35rem}
.cxt-v14-price{width:100%;border-collapse:collapse;margin:.35rem 0 0}
.cxt-v14-price th,.cxt-v14-price td{padding:.4rem 0;vertical-align:top;font-weight:500}
.cxt-v14-price th{text-align:left;font-weight:500;padding-right:1.25rem}
.cxt-v14-price td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
.cxt-v14-price__sub{display:block;font-size:.82rem;font-weight:500;color:#6b5a3a;margin-top:.12rem;line-height:1.35}
.cxt-v14-price__sub.cxt-v14-cancel{white-space:normal;max-width:36rem}
.cxt-v14-price__off th,.cxt-v14-price__off td{color:#7a4a12}
.cxt-v14-price__total th,.cxt-v14-price__total td{border-top:1px solid #ecd9a4;padding-top:.65rem;font-weight:700}
.cxt-v14-price__total td{font-family:Georgia,serif;font-size:1.55rem;line-height:1.15;color:var(--cx-ink,#1a2332)}
.cxt-v14-price--pay{margin-top:.15rem}
.cxt-v14-price--pay .cxt-v14-price__flight td{color:#1a4a3a}
.cxt-v14-price__balance th,.cxt-v14-price__balance td{border-top:1px solid #ecd9a4;padding-top:.55rem;font-weight:700;color:#1a2332}
.cxt-v14-quoted{margin:.7rem 0 0;font-weight:600;color:#3a2a08}
.cxt-v14-note{margin:.3rem 0 0;color:#5c5346;font-size:.92rem;line-height:1.45}
.cxt-v14-pay-summary{margin-top:1rem;padding-top:.9rem;border-top:1px solid #ecd9a4}
.cxt-v14-pay-summary__h{margin:0 0 .4rem;font-size:1.05rem;color:#3a2a08}
.cxt-v14-pay-summary .cxt-muted{margin:.45rem 0 0}
.cxt-v14-flight-due{margin:.4rem 0 0;font-weight:700;color:#1a4a3a}

/* Voucher entry (quote + enquiry) */
.cxt-v14-voucher .cxt-box,.cxt-v14-hold .cxt-box{padding:1.05rem 1.15rem}
.cxt-v14-voucher .cxt-box p:first-child{margin:0 0 .35rem;font-weight:700;color:#1a2332}
.cxt-v14-voucher-row{display:flex;gap:.5rem;margin-top:.35rem;flex-wrap:wrap;align-items:center}
.cxt-v14-voucher-row input{flex:1;min-width:10rem}


.cxt-v14-voucher-field{margin-top:.25rem}
.cxt-v14-voucher-field .cxt-v14-voucher-msg{margin:.35rem 0 0;min-height:1.2em}

/* Hold card */
.cxt-v14-hold-card{display:flex;gap:.9rem;align-items:flex-start;border:1px solid #d7ebe3;background:#f4faf7;border-radius:16px}
.cxt-v14-hold--expired{border-color:#ecd9a4;background:#fffaf0}
.cxt-v14-hold__icon{flex:0 0 auto;color:#0f6b5c;margin-top:.1rem}
.cxt-v14-hold--expired .cxt-v14-hold__icon{color:#7a5a12}
.cxt-v14-hold__body{flex:1;min-width:0}
.cxt-v14-hold__title{margin:0 0 .25rem;font-weight:700;font-size:1.05rem;color:#1a2332}
.cxt-v14-hold-count{margin:.15rem 0 .35rem;font-weight:700;color:#1a4a3a;font-size:1.02rem}
.cxt-v14-hold__note{margin:.15rem 0 0}
.cxt-v14-hold-form .cxt-v14-hold-trav{display:grid;grid-template-columns:1fr 10rem;gap:.5rem;margin:.4rem 0}
.cxt-v14-hold-btn{margin-top:.65rem}

/* Map preview on My trips */
.cxt-travel-map-preview{margin:0 0 1.4rem}
.cxt-map-card{display:flex;gap:1rem;align-items:center;text-decoration:none;color:inherit;background:#fff;border:1px solid #e6ddcf;border-radius:16px;padding:1rem 1.1rem;overflow:hidden;box-shadow:0 6px 16px rgba(26,35,50,.06)}
.cxt-map-card:hover{box-shadow:0 10px 22px rgba(26,35,50,.1);border-color:#d4c6b0}
.cxt-map-card__body{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}
.cxt-map-card__body strong{font-size:1.05rem;color:#1a2332}
.cxt-map-card__go{color:#0f6b5c;font-weight:700;font-size:.92rem;margin-top:.15rem}
.cxt-map-card__map{flex:0 0 42%;max-width:16rem;height:6rem;overflow:hidden;border-radius:12px;background:#eef4f2}
.cxt-map-card__map svg{width:100%;height:100%;display:block}

@media (max-width:500px){
  .cxt-v14-hold-form .cxt-v14-hold-trav{grid-template-columns:1fr}
  .cxt-v14-hold-card{flex-direction:row}
  .cxt-map-card{flex-direction:column;align-items:stretch}
  .cxt-map-card__map{max-width:none;flex-basis:auto;height:8rem}
  .cxt-v14-price__total td{font-size:1.35rem}
}

.cxt-v14-cancel a{color:#0f6b5c;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.cxt-v14-cancel a:hover{color:#0a4f44}

.cxt-v14-voucher-msg.is-ok,.cxt-v14-voucher-ok{
  display:flex;align-items:flex-start;gap:.55rem;margin:.5rem 0 0;padding:.7rem .85rem;
  background:#f0f7f3;border:1px solid #cfe6d8;border-radius:12px;color:#1a5c3a !important;font-weight:600;line-height:1.4
}
.cxt-v14-voucher-msg.is-ok::before,.cxt-v14-voucher-ok::before{
  content:"";flex:none;width:1.15rem;height:1.15rem;margin-top:.1rem;border-radius:50%;background:#1a5c3a;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:.75rem
}
.cxt-v14-voucher-msg.is-err{
  display:block;margin:.5rem 0 0;padding:.7rem .85rem;background:#fdf2f2;border:1px solid #f0c4c4;
  border-radius:12px;color:#8a1f1f !important;font-weight:600
}

/* Stage 2: deposit tiers and cancellation charge tables */
.cxt-v14-policy-table{margin:0.85rem 0 0;padding:0.7rem 0.85rem;background:#faf7f1;border:1px solid #eadfc2;border-radius:12px}
.cxt-v14-policy-table__h{margin:0 0 .5rem;font-size:1rem;font-weight:700;color:#1a2332}
.cxt-v14-bands{width:100%;border-collapse:collapse;font-size:.95rem}
.cxt-v14-bands th,.cxt-v14-bands td{text-align:left;padding:.35rem .4rem;border-bottom:1px solid #eadfc2;vertical-align:top}
.cxt-v14-bands th{font-weight:600;color:#4a4338}
.cxt-v14-bands__note{margin:.5rem 0 0;font-size:.85rem;color:#4a4338}
.cxt-v14-band--higher{background:#fdf2e9}
.cxt-v14-band-flag{display:inline-block;margin-left:.35rem;padding:.05rem .4rem;border-radius:999px;background:#c45c26;color:#fff;font-size:.75rem;font-weight:600}
.cxt-v14-whichever{margin:.65rem 0 0;font-weight:600;color:#1a2332}
.cxt-v14-cancel-block{margin:.75rem 0 0}
.cxt-v14-price__sub .cxt-v14-policy-table{margin:.5rem 0}
