/* The MindCraft School (TMS) - public Quick Enquiry skin  ("glass" theme).
   Loaded only by _Schools/ForTMS/ForTMS/Areas/OnlineEnquiry/Views/Shared/_LayoutPublicForEnquiry.cshtml.
   Every rule is scoped under .tms-enq so nothing leaks into other schools or the admin skin.
   Palette sampled from https://themindcraftschool.com/assets/logo_main.png
   (coral flower #F25757, gold centre #EDA200, white wordmark - shown on a navy glass bar).
   Layout is a small CSS grid (.tms-grid / .tms-col-N), not Bootstrap columns, so Bootstrap 3 / 5 skin
   differences cannot break it; it collapses to one column on phones.
   Glass = translucent surface + backdrop-filter blur. Browsers without backdrop-filter get the solid
   fallback colour declared just before each blurred rule, so text stays readable everywhere. */

.tms-enq {
    --tms-coral: #F25757 !important;
    --tms-coral-dark: #D93F45 !important;
    --tms-navy: #2B2D42 !important;
    --tms-navy-deep: #1B1D30 !important;
    --tms-gold: #EDA200 !important;
    --tms-ink: #25283D !important;
    --tms-muted: #6f7185 !important;
    --tms-line: rgba(43, 45, 66, .14) !important;
    --tms-glass: rgba(255, 255, 255, .72) !important;
    --tms-glass-edge: rgba(255, 255, 255, .85) !important;
    --tms-error: #C62828 !important;
    --tms-radius: 12px !important;
}

/* ---- Page: soft aurora of the logo colours behind everything ---- */
body.tms-enq {
    margin: 0 !important;
    min-height: 100vh !important;
    color: var(--tms-ink) !important;
    font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    overflow-x: hidden !important;
    background-color: #FFF1EE !important;
    background-image:
        radial-gradient(circle at 12% 8%,  rgba(242, 87, 87, .55) 0, transparent 38%),
        radial-gradient(circle at 88% 18%, rgba(237, 162, 0, .38) 0, transparent 34%),
        radial-gradient(circle at 78% 92%, rgba(43, 45, 66, .55) 0, transparent 42%),
        radial-gradient(circle at 8% 88%,  rgba(242, 87, 87, .30) 0, transparent 36%),
        linear-gradient(160deg, #FFF4F1 0%, #FDE3DF 48%, #E9E6F2 100%) !important;
    background-attachment: fixed !important;
}
.tms-enq *, .tms-enq *::before, .tms-enq *::after { box-sizing: border-box !important; }

/* ---- Header: floating navy glass bar so the white wordmark always reads ---- */
.tms-enq .tms-header {
    max-width: 1240px !important;
    margin: 18px auto 0 !important;
    padding: 14px 20px 12px !important;
    text-align: center !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    background: rgba(27, 29, 48, .94) !important;
    box-shadow: 0 10px 30px rgba(27, 29, 48, .28), inset 0 1px 0 rgba(255, 255, 255, .18) !important;
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .tms-enq .tms-header {
        background: #003870 !important;
        -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
        backdrop-filter: blur(16px) saturate(160%) !important;
    }
}
.tms-enq .tms-header img { max-width: 100% !important; height: 44px !important; width: auto !important; }

/* ---- Glass card ---- */
.tms-enq .tms-card {
    max-width: 1240px !important;
    margin: 18px auto 48px !important;
    padding: 12px 44px 40px !important;
    border-radius: 24px !important;
    border: 1px solid var(--tms-glass-edge) !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 24px 60px rgba(43, 45, 66, .18), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .tms-enq .tms-card {
        background: var(--tms-glass) !important;
        -webkit-backdrop-filter: blur(22px) saturate(170%) !important;
        backdrop-filter: blur(22px) saturate(170%) !important;
    }
}

/* ---- Sections ---- */
.tms-enq .tms-section { margin: 30px 0 0 !important; }
.tms-enq .tms-section-first { margin-top: 22px !important; }
.tms-enq .tms-section-title {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 18px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid var(--tms-line) !important;
    color: var(--tms-ink) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: -.005em !important;
    line-height: 1.3 !important;
}
.tms-enq .tms-step {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, var(--tms-coral) 0%, #F7793F 100%) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 12px rgba(242, 87, 87, .45), inset 0 1px 0 rgba(255, 255, 255, .45) !important;
}

/* ---- Grid: 12 columns on desktop, 1 column on phones ---- */
.tms-enq .tms-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 18px 20px !important;
}
.tms-enq .tms-field { min-width: 0 !important; }
.tms-enq .tms-col-4  { grid-column: span 4 !important; }
.tms-enq .tms-col-6  { grid-column: span 6 !important; }
.tms-enq .tms-col-8  { grid-column: span 8 !important; }
.tms-enq .tms-col-12 { grid-column: span 12 !important; }
@media (max-width: 767px) {
    .tms-enq .tms-col-4, .tms-enq .tms-col-6, .tms-enq .tms-col-8 { grid-column: span 12 !important; }
}
@media (min-width: 768px) and (max-width: 900px) {
    .tms-enq .tms-col-4 { grid-column: span 6 !important; }
}

/* Neutralise Bootstrap form-group spacing / floats inside our fields */
.tms-enq .tms-field .form-group,
.tms-enq .tms-field > div { margin: 0 !important; }
.tms-enq .tms-field > div[id$="AjaxCRUDForm"],
.tms-enq .tms-field > div[id^="div"] { width: 100% !important; }

/* ---- Labels ---- */
.tms-enq .control-label {
    display: block !important;
    margin: 0 0 7px !important;
    color: var(--tms-ink) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}
.tms-enq .error-color { color: var(--tms-coral-dark) !important; }
.tms-enq .tms-hint { display: block !important; margin-top: 6px !important; color: #8a5a00 !important; font-size: 12px !important; }

/* ---- Controls: frosted fields, one look for inputs, selects and textarea ---- */
.tms-enq .tms-card .form-control,
.tms-enq .tms-card select,
.tms-enq .tms-card input[type="text"],
.tms-enq .tms-card input[type="tel"],
.tms-enq .tms-card input[type="email"],
.tms-enq .tms-card input[type="number"],
.tms-enq .tms-card textarea {
    display: block !important;
    width: 100% !important;
    height: 48px !important;
    padding: 8px 16px !important;
    border: 1px solid rgba(43, 45, 66, .16) !important;
    border-radius: 12px !important;
    background-color: rgba(255, 255, 255, .86) !important;
    color: var(--tms-ink) !important;
    font: inherit !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    box-shadow: inset 0 1px 2px rgba(43, 45, 66, .06) !important;
    transition: border-color .15s, box-shadow .15s, background-color .15s !important;
}
.tms-enq .tms-card textarea.form-control,
.tms-enq .tms-card textarea { height: auto !important; min-height: 48px !important; resize: vertical !important; }

/* Selects: same box as inputs, with our own caret instead of the browser's */
.tms-enq .tms-card select,
.tms-enq .tms-card select.form-control {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    padding-right: 40px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%232B2D42' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 14px 9px !important;
    cursor: pointer !important;
}
.tms-enq .tms-card ::placeholder { color: var(--tms-muted) !important; opacity: 1 !important; }

.tms-enq .tms-card .form-control:hover,
.tms-enq .tms-card select:hover,
.tms-enq .tms-card input:hover,
.tms-enq .tms-card textarea:hover { border-color: rgba(43, 45, 66, .32) !important; }
.tms-enq .tms-card .form-control:focus,
.tms-enq .tms-card select:focus,
.tms-enq .tms-card input:focus,
.tms-enq .tms-card textarea:focus {
    border-color: var(--tms-coral) !important;
    background-color: #fff !important;
    box-shadow: 0 0 0 4px rgba(242, 87, 87, .20) !important;
    outline: 0 !important;
}
.tms-enq .tms-card .input-validation-error { border-color: var(--tms-error) !important; }

/* ---- Validation messages (red, distinct from brand coral) ---- */
.tms-enq .editor-error {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--tms-error) !important;
    font-size: 12px !important;
}
.tms-enq .editor-error:not(:empty) { padding-top: 5px !important; }
.tms-enq .field-validation-error { color: var(--tms-error) !important; }

/* ---- "No enquiry open" notice ---- */
.tms-enq .tms-alert {
    padding: 12px 16px !important;
    border-radius: 12px !important;
    background: rgba(253, 236, 234, .9) !important;
    border: 1px solid rgba(198, 40, 40, .25) !important;
    color: var(--tms-error) !important;
}
.tms-enq .tms-alert h5 { margin: 0 !important; font-size: 14px !important; }

/* ---- Captcha + buttons (rendered with Bootstrap rows by the page) ---- */
.tms-enq .tms-card #jsNextDiv,
.tms-enq .tms-card #jsOTPDiv { margin: 30px 0 0 !important; text-align: center !important; }
.tms-enq .tms-card #jsNextDiv > div,
.tms-enq .tms-card #jsOTPDiv > div { width: 100% !important; }
.tms-enq .btn-warning {
    min-width: 200px !important;
    height: 50px !important;
    padding: 0 34px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, var(--tms-coral) 0%, #F7793F 100%) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    box-shadow: 0 10px 24px rgba(242, 87, 87, .40), inset 0 1px 0 rgba(255, 255, 255, .4) !important;
    transition: transform .15s, box-shadow .2s, filter .2s !important;
}
.tms-enq .btn-warning:hover,
.tms-enq .btn-warning:focus {
    background: linear-gradient(135deg, var(--tms-coral-dark) 0%, #F26A2E 100%) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 30px rgba(242, 87, 87, .5), inset 0 1px 0 rgba(255, 255, 255, .4) !important;
}
.tms-enq .btn-warning:active { transform: translateY(0) !important; filter: brightness(.96) !important; }
.tms-enq #btnApply, .tms-enq #submitBtn { width: auto !important; }

/* Apply button row: Bootstrap column padding made the button wider than the fields on phones */
.tms-enq .tms-card #jsNextDiv > [class*="col-"],
.tms-enq .tms-card #jsOTPDiv > [class*="col-"] { padding-left: 0 !important; padding-right: 0 !important; }
.tms-enq .tms-card #jsNextDiv, .tms-enq .tms-card #jsOTPDiv { margin-left: 0 !important; margin-right: 0 !important; }

/* ---- Confirmation modal ---- */
.tms-enq .modal-content {
    border: 1px solid var(--tms-glass-edge) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, .95) !important;
    box-shadow: 0 30px 70px rgba(27, 29, 48, .35) !important;
    overflow: hidden !important;
}
.tms-enq .modal-header {
    background: var(--tms-navy-deep) !important;
    color: #fff !important;
    border-bottom: 3px solid var(--tms-coral) !important;
}

/* ---- Phones ---- */
@media (max-width: 767px) {
    .tms-enq .tms-header { margin: 10px 10px 0 !important; padding: 12px 14px 10px !important; border-radius: 16px !important; }
    .tms-enq .tms-header img { height: 34px !important; }
    .tms-enq .tms-card {
        margin: 16px 10px 32px !important;
        padding: 4px 16px 24px !important;
        border-radius: 20px !important;
    }
    .tms-enq .tms-section { margin-top: 24px !important; }
    .tms-enq .tms-section-title { font-size: 17px !important; }
    .tms-enq .tms-card .form-control,
    .tms-enq .tms-card select,
    .tms-enq .tms-card input[type="text"],
    .tms-enq .tms-card input[type="tel"],
    .tms-enq .tms-card input[type="email"],
    .tms-enq .tms-card input[type="number"] {
        height: 50px !important;
        font-size: 16px !important; /* stops iOS zooming on focus */
    }
    .tms-enq #btnApply, .tms-enq #submitBtn { width: 100% !important; }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
    .tms-enq * { transition: none !important; }
}

/* ---- Select2 (MCampusSelectBox, e.g. Father / Mother Profession): same look as the other fields ---- */
.tms-enq .tms-card .select2-container { width: 100% !important; display: block !important; }
.tms-enq .tms-card .select2-container .select2-selection--single {
    height: 48px !important;
    border: 1px solid rgba(43, 45, 66, .16) !important;
    border-radius: 12px !important;
    background-color: rgba(255, 255, 255, .86) !important;
    box-shadow: inset 0 1px 2px rgba(43, 45, 66, .06) !important;
    outline: 0 !important;
    transition: border-color .15s, box-shadow .15s !important;
}
.tms-enq .tms-card .select2-container .select2-selection--single:hover { border-color: rgba(43, 45, 66, .32) !important; }
.tms-enq .tms-card .select2-container--open .select2-selection--single,
.tms-enq .tms-card .select2-container--focus .select2-selection--single {
    border-color: var(--tms-coral) !important;
    background-color: #fff !important;
    box-shadow: 0 0 0 4px rgba(242, 87, 87, .20) !important;
}
.tms-enq .tms-card .select2-selection--single .select2-selection__rendered {
    padding: 0 40px 0 16px !important;
    line-height: 46px !important;
    color: var(--tms-ink) !important;
    font-size: 15px !important;
}
.tms-enq .tms-card .select2-selection--single .select2-selection__placeholder { color: var(--tms-muted) !important; }
.tms-enq .tms-card .select2-selection--single .select2-selection__arrow { top: 0 !important; right: 10px !important; height: 46px !important; }
.tms-enq .tms-card .select2-selection--single .select2-selection__arrow b { border-top-color: var(--tms-navy) !important; }
.tms-enq .tms-card .select2-container--open .select2-selection__arrow b { border-bottom-color: var(--tms-navy) !important; }
/* Validation error on the hidden native select */
.tms-enq .tms-card select.input-validation-error + .select2-container .select2-selection--single { border-color: var(--tms-error) !important; }

/* The dropdown panel is appended to <body>, so it is styled here without the .tms-card scope */
.tms-enq .select2-dropdown {
    border: 1px solid rgba(43, 45, 66, .16) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 40px rgba(27, 29, 48, .22) !important;
    overflow: hidden !important;
    z-index: 100000 !important;
}
.tms-enq .select2-search--dropdown { padding: 10px !important; }
.tms-enq .select2-search--dropdown .select2-search__field {
    height: 40px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(43, 45, 66, .2) !important;
    border-radius: 10px !important;
    outline: 0 !important;
}
.tms-enq .select2-search--dropdown .select2-search__field:focus { border-color: var(--tms-coral) !important; }
.tms-enq .select2-results__option { padding: 10px 16px !important; font-size: 14px !important; }
.tms-enq .select2-container--default .select2-results__option--highlighted[aria-selected],
.tms-enq .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background: var(--tms-coral) !important;
    color: #fff !important;
}
@media (max-width: 767px) {
    .tms-enq .tms-card .select2-container .select2-selection--single { height: 50px !important; }
    .tms-enq .tms-card .select2-selection--single .select2-selection__rendered { line-height: 48px !important; font-size: 16px !important; }
    .tms-enq .tms-card .select2-selection--single .select2-selection__arrow { height: 48px !important; }
}

/* ---- Captcha (only rendered when IsQuickEnquiryCaptchaEnable = 1 for the school group) ---- */
.tms-enq .tms-captcha-box {
    display: flex !important;
    align-items: flex-end !important;
    gap: 20px !important;
    padding: 16px 18px !important;
    border: 1px solid var(--tms-line) !important;
    border-radius: 16px !important;
}
.tms-enq .tms-captcha-image {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
}
.tms-enq .tms-captcha-image img {
    display: block !important;
    width: 220px !important;
    max-width: 100% !important;
    height: auto !important;
    border: 1px solid rgba(43, 45, 66, .16) !important;
    border-radius: 10px !important;
    background: #fff !important;
}
.tms-enq .tms-captcha-refresh {
    flex: 0 0 auto !important;
    width: 44px !important;
    height: 44px !important;
    border: 1px solid rgba(43, 45, 66, .16) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--tms-navy) !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: color .15s, border-color .15s, transform .25s !important;
}
.tms-enq .tms-captcha-refresh:hover { color: var(--tms-coral) !important; border-color: var(--tms-coral) !important; transform: rotate(90deg) !important; }
.tms-enq .tms-captcha-input { flex: 1 1 260px !important; max-width: 380px !important; }
@media (max-width: 767px) {
    .tms-enq .tms-captcha-box { flex-direction: column !important; align-items: stretch !important; gap: 14px !important; padding: 14px !important; }
    .tms-enq .tms-captcha-image { justify-content: space-between !important; }
    .tms-enq .tms-captcha-input { max-width: none !important; flex-basis: auto !important; }
}

/* ---- Section headings: badge + title + sub-line, with a coral-to-gold accent on the rule ---- */
.tms-enq .tms-section-title {
    position: relative !important;
    border-bottom: 0 !important;
    padding-bottom: 14px !important;
}
.tms-enq .tms-section-title::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 2px !important;
    border-radius: 2px !important;
    background: linear-gradient(90deg, var(--tms-coral) 0, var(--tms-gold) 84px, var(--tms-line) 84px, var(--tms-line) 100%) !important;
}
.tms-enq .tms-section-text { display: flex !important; flex-direction: column !important; gap: 2px !important; min-width: 0 !important; }
.tms-enq .tms-section-text small {
    color: var(--tms-muted) !important;
    font-size: 12.5px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
}
.tms-enq .tms-step { width: 36px !important; height: 36px !important; font-size: 15px !important; }
/* School heading gets an icon badge in navy, so it reads as the entry point of the form */
.tms-enq .tms-step-icon {
    background: linear-gradient(135deg, var(--tms-navy) 0%, #003870 100%) !important;
    font-size: 16px !important;
    box-shadow: 0 4px 12px rgba(43, 45, 66, .38), 0 0 0 2px #fff, 0 0 0 4px var(--tms-gold) !important;
}
@media (max-width: 767px) {
    .tms-enq .tms-step { width: 32px !important; height: 32px !important; font-size: 14px !important; }
    .tms-enq .tms-section-text small { font-size: 12px !important; }
}

/* ---- Merged header: logo + title + sub-line in one glass bar ---- */
.tms-enq .tms-header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 26px !important;
    margin: 20px auto 0 !important;
    padding: 16px 32px !important;
    text-align: left !important;
}
.tms-enq .tms-header img { height: 46px !important; flex: 0 0 auto !important; }
.tms-enq .tms-header-text {
    min-width: 0 !important;
    padding-left: 26px !important;
    border-left: 2px solid var(--tms-coral) !important;
}
.tms-enq .tms-header h1 {
    margin: 0 0 3px !important;
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
    line-height: 1.2 !important;
}
.tms-enq .tms-header p {
    margin: 0 !important;
    color: rgba(255, 255, 255, .78) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}
@media (max-width: 767px) {
    .tms-enq .tms-header {
        flex-direction: column !important;
        gap: 10px !important;
        margin: 10px 10px 0 !important;
        padding: 14px 16px !important;
        text-align: center !important;
    }
    .tms-enq .tms-header img { height: 36px !important; }
    .tms-enq .tms-header-text { padding: 10px 0 0 !important; border-left: 0 !important; border-top: 2px solid var(--tms-coral) !important; }
    .tms-enq .tms-header h1 { font-size: 19px !important; }
    .tms-enq .tms-header p { font-size: 13px !important; }
}

/* ---- Validation message sits on the right of the label row (no layout jump below the field) ---- */
.tms-enq .tms-field { position: relative !important; }
.tms-enq .tms-field .editor-error {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    max-width: 62% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: right !important;
    background: transparent !important;
    border: 0 !important;
    pointer-events: none !important;
}
.tms-enq .tms-field .editor-error:empty { display: none !important; }
/* keep the label from running under the message */
.tms-enq .tms-field .control-label { padding-right: 38% !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
@media (max-width: 767px) {
    .tms-enq .tms-field .control-label { padding-right: 44% !important; }
}

/* ---- Success popup ---- */
.tms-enq .tms-modal .modal-dialog { max-width: 440px !important; margin: 0 auto !important; padding: 16px !important; width: 100% !important; }
.tms-enq .tms-modal .modal-content {
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 30px 80px rgba(27, 29, 48, .40) !important;
    overflow: hidden !important;
}
.tms-enq .tms-modal .tms-modal-body { padding: 36px 32px 30px !important; text-align: center !important; }
.tms-enq .tms-success-icon {
    width: 76px !important;
    height: 76px !important;
    margin: 0 auto 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #2FB67A 0%, #1E9A64 100%) !important;
    box-shadow: 0 10px 26px rgba(30, 154, 100, .45), 0 0 0 8px rgba(47, 182, 122, .16) !important;
}
.tms-enq .tms-success-icon svg { display: block !important; }
.tms-enq .tms-modal h4 {
    margin: 0 0 8px !important;
    color: var(--tms-ink) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
}
.tms-enq .tms-modal p {
    margin: 0 0 18px !important;
    color: var(--tms-muted) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}
.tms-enq .tms-ref {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 10px !important;
    margin: 0 0 22px !important;
    padding: 10px 18px !important;
    border: 1px dashed rgba(242, 87, 87, .55) !important;
    border-radius: 12px !important;
    background: rgba(242, 87, 87, .07) !important;
    color: var(--tms-muted) !important;
    font-size: 13px !important;
}
.tms-enq .tms-ref strong { color: var(--tms-ink) !important; font-size: 17px !important; letter-spacing: .04em !important; }
.tms-enq .tms-modal .btn-warning { display: block !important; width: 100% !important; min-width: 0 !important; height: 48px !important; line-height: 48px !important; padding: 0 24px !important; cursor: pointer !important; }
.tms-enq .modal-backdrop.show { background: #1B1D30 !important; opacity: .55 !important; }

/* ---- Everything in capitals (typed text is also converted by script so the saved value is uppercase) ---- */
.tms-enq .tms-card input[type="text"]:not(#QuickEnquiryCaptcha),
.tms-enq .tms-card textarea,
.tms-enq .tms-card select,
.tms-enq .tms-card .select2-selection__rendered,
.tms-enq .select2-results__option,
.tms-enq .tms-hint { text-transform: uppercase !important; }
/* case-sensitive values stay as typed */
.tms-enq .tms-card input[type="email"],
.tms-enq .tms-card #QuickEnquiryCaptcha { text-transform: none !important; }
.tms-enq .tms-card ::placeholder { text-transform: none !important; }

/* ---- Rounded corners everywhere (the shared skin forces square corners, so these need !important) ---- */
.tms-enq .tms-header { border-radius: 18px !important; }
.tms-enq .tms-card { border-radius: 24px !important; }
.tms-enq .tms-section-title { border-radius: 0 !important; }
.tms-enq .tms-step, .tms-enq .tms-step-icon { border-radius: 50% !important; }
.tms-enq .tms-card .form-control, .tms-enq .tms-card select, .tms-enq .tms-card input[type="text"], .tms-enq .tms-card input[type="tel"], .tms-enq .tms-card input[type="email"], .tms-enq .tms-card input[type="number"], .tms-enq .tms-card textarea { border-radius: 12px !important; }
.tms-enq .tms-card .select2-container .select2-selection--single { border-radius: 12px !important; }
.tms-enq .select2-dropdown { border-radius: 12px !important; }
.tms-enq .select2-search--dropdown .select2-search__field { border-radius: 10px !important; }
.tms-enq .tms-alert { border-radius: 12px !important; }
.tms-enq .tms-captcha-box { border-radius: 16px !important; }
.tms-enq .tms-captcha-image img { border-radius: 10px !important; }
.tms-enq .tms-captcha-refresh { border-radius: 50% !important; }
.tms-enq .btn, .tms-enq .btn-warning, .tms-enq .btn-primary, .tms-enq .btn-default { border-radius: 14px !important; }
.tms-enq .modal-content, .tms-enq .tms-modal .modal-content { border-radius: 24px !important; }
.tms-enq .tms-success-icon { border-radius: 50% !important; }
.tms-enq .tms-ref { border-radius: 12px !important; }
.tms-enq .EdusprintPageLoader-card { border-radius: 20px !important; }
@media (max-width: 767px) {
    .tms-enq .tms-header { border-radius: 16px !important; }
    .tms-enq .tms-card { border-radius: 20px !important; }
}