/* =====================================================
   LR / TS24 Contact Form Styles
   ===================================================== */

.lrts-form-wrapper {
    max-width: 820px;
    margin: 0 auto;
    padding: 50px 0;
    font-family: inherit;
}

.lrts-row {
    margin-bottom: 20px;
}

.lrts-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

@media (max-width: 640px) {
    .lrts-two-col {
        grid-template-columns: 1fr;
    }
}

.lrts-field {
    display: flex;
    flex-direction: column;
}

.lrts-field label {
    font-weight: 600;
    margin-bottom: 6px;
    font-size: 14px;
    color: #333;
}

.lrts-field .req {
    color: #c0392b;
}

.lrts-field input[type="text"],
.lrts-field input[type="email"],
.lrts-field input[type="tel"],
.lrts-field select,
.lrts-field textarea {
    padding: 11px 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 15px;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    color: #333;
    transition: border-color 0.2s, box-shadow 0.2s;
	min-height: 45px;
}

.lrts-contact-form .lrts-field select{
	height: 45px;
	line-height: 45px;
}

.lrts-field input:focus,
.lrts-field select:focus,
.lrts-field textarea:focus {
    outline: none;
    border-color: #0073aa;
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.12);
}

.lrts-field textarea {
    resize: vertical;
    min-height: 130px;
}

/* ---- Drag & Drop Zone ---- */
.lrts-drop-zone {
    border: 2px dashed #ccc;
    border-radius: 6px;
    padding: 30px 20px;
    text-align: center;
    cursor: pointer;
    position: relative;
    background: #fafafa;
    transition: border-color 0.2s, background 0.2s;
}

.lrts-drop-zone:hover,
.lrts-drop-zone.lrts-drag-over {
    border-color: #0073aa;
    background: #f0f7fb;
}

.lrts-drop-icon {
    font-size: 32px;
    margin-bottom: 8px;
    line-height: 1;
}

.lrts-drop-text {
    margin: 0;
    color: #555;
    font-size: 14px;
    line-height: 1.7;
}

.lrts-browse-link {
    color: #0073aa;
    text-decoration: underline;
    cursor: pointer;
}

.lrts-file-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* ---- File List ---- */
.lrts-file-list {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
}

.lrts-file-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    background: #f0f7fb;
    border-radius: 4px;
    margin-bottom: 5px;
    font-size: 13px;
}

.lrts-fname {
    flex: 1;
    word-break: break-all;
    color: #333;
}

.lrts-fsize {
    color: #888;
    white-space: nowrap;
}

.lrts-remove-file {
    background: none;
    border: none;
    color: #c0392b;
    font-size: 18px;
    cursor: pointer;
    line-height: 1;
    padding: 0 4px;
    transition: color 0.2s;
}

.lrts-remove-file:hover {
    color: #922b21;
}

/* ---- Submit Button ---- */
.lrts-btn {
    background: #fac75a;
    color: #000;
    padding: 20px 50px 30px 50px;
    border: 2px solid transparent;
	box-sizing: border-box;
    border-radius: 20em;
    font-size: 1.6rem;
	line-height: 1;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    width: 100%;
    transition: background 0.2s;
	box-shadow: 0 3px 0 #f9b629;
	outline: none;
	position: relative;
	top: 0;
	text-shadow: 0 1px 1px rgba(0,0,0,0.5);
}

.lrts-btn:hover {
    background: #ffd271;
}

.lrts-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

/* ---- Success / Error Messages ---- */
.lrts-messages {
    padding: 14px 18px;
    border-radius: 4px;
    margin-top: 15px;
    font-size: 15px;
    line-height: 1.6;
}

.lrts-messages p {
    margin: 0;
}

.lrts-messages.lrts-success {
    background: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
}

.lrts-messages.lrts-error {
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}

/* =====================================================
   Per-Site Theme Overrides
   Update these colours to match each site's branding
   ===================================================== */

/* TranslationServices24 */
.lrts-theme-ts24 .lrts-btn              { background: #fac75a; }
.lrts-theme-ts24 .lrts-btn:hover        { background: #fce17a; }
.lrts-theme-ts24 .lrts-field input:focus,
.lrts-theme-ts24 .lrts-field select:focus,
.lrts-theme-ts24 .lrts-field textarea:focus { border-color: #d9232d; box-shadow: 0 0 0 3px rgba(217, 35, 45, 0.12); }
.lrts-theme-ts24 .lrts-drop-zone:hover,
.lrts-theme-ts24 .lrts-drop-zone.lrts-drag-over { border-color: #d9232d; background: #fdf2f2; }
.lrts-theme-ts24 .lrts-browse-link      { color: #d9232d; }

/* Language Reach */
.lrts-theme-lr .lrts-btn                { background: #fac75a; }
.lrts-theme-lr .lrts-btn:hover          { background: #ffd271; }
.lrts-theme-lr .lrts-field input:focus,
.lrts-theme-lr .lrts-field select:focus,
.lrts-theme-lr .lrts-field textarea:focus { border-color: #1a3a8c; box-shadow: 0 0 0 3px rgba(26, 58, 140, 0.12); }
.lrts-theme-lr .lrts-drop-zone:hover,
.lrts-theme-lr .lrts-drop-zone.lrts-drag-over { border-color: #1a3a8c; background: #f0f3fb; }
.lrts-theme-lr .lrts-browse-link        { color: #1a3a8c; }

/* ============================================
   Select2 4.0.13 — Multi-select override
   ============================================ */

/* Container */
.select2-container--default .select2-selection--multiple {
    min-height: 45px;
    padding: 4px 6px;
    border: 1px solid #ccc !important;
    border-radius: 4px;
    cursor: text;
    box-sizing: border-box;
}

/* Inner <ul> */
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    width: 100% !important;
    overflow: visible !important;
}

/* Every <li> — float: left is used in 4.0.13, kill it */
.select2-container--default .select2-selection--multiple .select2-selection__rendered > li {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
}

/* Tag <li> */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: #f0f0f0 !important;
    border: 1px solid #ccc !important;
    border-radius: 3px !important;
    padding: 2px 8px 2px 6px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    height: 28px !important;
    margin: 0 !important;
}

/* × remove button */
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #666 !important;
    font-size: 14px !important;
    font-weight: bold !important;
    margin-right: 4px !important;
    cursor: pointer !important;
    float: none !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #c00 !important;
}

/* Search <li> wrapper */
.select2-container--default .select2-search--inline {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    flex: 1 !important;
    min-width: 120px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* The <input> inside search <li> — 4.0.13 uses input not textarea */
.select2-container--default .select2-search--inline .select2-search__field {
    float: none !important;
    display: inline-block !important;
    width: 100% !important;
    min-width: 120px !important;
    height: 28px !important;
    line-height: 28px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    font-size: 15px !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Focus ring */
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #0073aa !important;
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.12) !important;
    outline: none !important;
}

.lrts-theme-lr .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #1a3a8c !important;
    box-shadow: 0 0 0 3px rgba(26, 58, 140, 0.12) !important;
}

.lrts-theme-ts24 .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #d9232d !important;
    box-shadow: 0 0 0 3px rgba(217, 35, 45, 0.12) !important;
}

/* ============================================
   Select2 4.0.13 — Single-select
   ============================================ */
.select2-container--default .select2-selection--single {
    height: 45px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    padding: 0 14px !important;
    font-size: 15px !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 45px !important;
    color: #333 !important;
    padding-left: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 43px !important;
    right: 8px !important;
}

/* ============================================
   Shared dropdown
   ============================================ */
.select2-container--default .select2-results > .select2-results__options {
    max-height: 320px;
    overflow-y: auto;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #0073aa;
}

.select2-dropdown {
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 15px;
}

.select2-search--dropdown .select2-search__field {
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 15px;
}

.lrts-theme-ts24 .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #d9232d;
}

.lrts-theme-lr .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #1a3a8c;
}

/* Dropdown results height */
.select2-container--default .select2-results > .select2-results__options {
    max-height: 320px;
    overflow-y: auto;
}
