/* ctp_th clone — local overrides on top of the vendored viriyah.com CSS.
 * Kept minimal: disclaimer interplay, hidden guard, wizard validation
 * styling, card-form bits, modal-shim z-order. */

[hidden]{display:none!important}

/* The original gets these from fontawesome/js/all.js (which we strip):
 * size the inline fa-svg icons so they don't blow up the layout. */
.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;overflow:visible;vertical-align:-.125em}
.svg-inline--fa.fa-w-14{width:.875em}
.svg-inline--fa.fa-w-16{width:1em}
.svg-inline--fa.fa-w-18{width:1.125em}
.svg-inline--fa.fa-w-20{width:1.25em}
.svg-inline--fa.fa-fw{width:1.25em}

/* The official header is .fixed-top (position:fixed) — with our disclaimer
 * banner above it, make it sticky instead so it never overlaps the banner. */
.viriyah-header.fixed-top{position:sticky;top:0}

/* --- wizard field validation (mirrors the original inline error look) --- */
.ctp-field .err{display:none;color:#d32f2f;font-size:.95rem;margin-top:.25rem}
.ctp-field.bad .err{display:block}
.ctp-field.bad input,.ctp-field.bad select{border-color:#d32f2f!important;
  box-shadow:0 0 0 .15rem rgba(211,47,47,.15)}
.ctp-error-box{background:#fdecea;border:1px solid #f5c6c0;color:#b3261e;
  border-radius:.5rem;padding:.75rem 1rem;margin:1rem 0}

/* --- card number field with live brand badge --- */
.ctp-cardwrap{position:relative}
.ctp-cardbrand{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);
  font:700 .95rem/1 "DB Sathorn",Arial,sans-serif;color:#0033A2;
  padding:.2rem .5rem;border-radius:.25rem;background:#eef2fb;display:none}
.ctp-cardbrand.on{display:inline-block}

/* --- payment-channel unavailable note --- */
.ctp-ch-note{display:block;font-size:.8rem;margin-top:.25rem}

/* --- "ไทย" language-toggle label on EN pages (mirrors the EN icon box) --- */
.ctp-lang-th{display:inline-block;font:700 13px/1 "DB Sathorn",Arial,sans-serif;
  color:#707070;border:1.5px solid #707070;border-radius:.375rem;
  padding:.35rem .5rem;vertical-align:middle}

/* --- modal shim: backdrop above the sticky header, below the modal --- */
.modal-backdrop{z-index:1040}
.modal{display:none;z-index:1050}
.modal.show{display:block;overflow-x:hidden;overflow-y:auto}

/* --- landing cards: even heights like the original owl-carousel row --- */
#card_private_car .card-deck .card-container{max-width:24rem;width:100%}
#card_private_car .card.front{min-height:100%}

/* --- actions row: keep buttons side by side on small screens too --- */
._v-order-form .actions ul{display:flex;justify-content:flex-end;gap:.5rem;
  list-style:none;margin:1rem 0 0;padding:0}
._v-order-form .actions ul li{list-style:none}
._v-order-form .actions .v-btn-step{white-space:nowrap}

/* --- legal pages readability --- */
.ctp-legal h1{font-size:1.6rem;margin-bottom:1rem}
.ctp-legal h2{font-size:1.15rem}

@media (max-width: 767.98px){
  ._v-order-form .actions ul{justify-content:stretch}
  ._v-order-form .actions ul li{flex:1}
  ._v-order-form .actions .v-btn-step{display:block;width:100%;text-align:center}
}
