/*
 * Freeform for ExpressionEngine
 *
 * @package       Solspace:Freeform
 * @author        Solspace, Inc.
 * @copyright     Copyright (c) 2008-2025, Solspace, Inc.
 * @link          https://docs.solspace.com/expressionengine/freeform/v3/
 * @license       https://docs.solspace.com/license-agreement/
 */

        @import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,300;14..32,400;14..32,500;14..32,600;14..32,700&family=Merriweather:wght@400;700;900&display=swap');
        
        .faq-quote {
            --tmrc-blue: #00285e;
            --tmrc-blue-ocean: #29a7e1;
            --tmrc-gold: #d4a017;
            --tmrc-red: #c1272d;
            --paper-white: #ffffff;
            --paper-soft: #f5f7f4;
            --ink-dark: #59717c;
            --ink-soft: #3a4556;
            --muted: #6b7280;
            --border-light: #d9dfe0;
            --shadow-sm: 0 1px 3px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.03);
            --shadow-md: 0 4px 12px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.03);
        }
        
        /* Base typography inside faq-quote */
        .faq-quote {
            background: var(--paper-white);
            padding: 40px;
            overflow: hidden;
            font-family: 'Inter', 'Helvetica Neue', sans-serif;
            color: var(--ink-dark);
            line-height: 1.55;
            font-size: 14px;
        }
        
        /* Headings inside faq-quote */
        .faq-quote h4 {
            /*font-family: 'Merriweather', serif;*/
            font-size: 22px;
            font-weight: 700;
            color: var(--tmrc-blue);
            border-left: 4px solid var(--tmrc-blue-ocean);
            padding-left: 16px;
            margin: 28px 0 10px 0;
            border-bottom: 1px #2b9cf3 solid;
            padding-bottom: 10px;
        }
        
        .faq-quote h4:first-of-type {
            margin-top: 0;
        }
        
        /* Form groups inside faq-quote */
        .faq-quote .form-group {
          /*  margin-bottom: 22px;*/
        }
        
        /* Labels inside faq-quote */
        .faq-quote label,
        .faq-quote .control-label {
            font-weight: 600;
            font-size: 14px;
            color: var(--tmrc-blue);
            margin-bottom: 6px;
            display: block;
        }
        
        /* Required star indicator */
        .faq-quote label.required:after,
        .faq-quote .required:after {
            content: '*';
            color: var(--tmrc-red);
            margin-left: 4px;
        }
        
        /* Input, select, textarea inside faq-quote */
        .faq-quote .form-control {
            /*border-radius: 12px;*/
            border: 1px solid #cbd5e1;
            /*padding: 10px 14px;*/
            font-size: 14px;
            box-shadow: none;
            transition: all 0.2s ease;
            background-color: #fff;
            width: 100%;
        }
        
        .faq-quote .form-control:focus {
            border-color: var(--tmrc-green);
            box-shadow: 0 0 0 3px rgba(10,107,59,0.12);
            outline: none;
        }
        
        /* Textarea inside faq-quote */
        .faq-quote textarea.form-control {
            resize: vertical;
        }
        
        /* Select dropdown inside faq-quote */
        .faq-quote select.form-control {
            appearance: none;
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="%230a6b3b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>');
            background-repeat: no-repeat;
            background-position: right 14px center;
        }
        
        /* Checkbox and radio groups inside faq-quote */
        /*
        .faq-quote .checkbox,
        .faq-quote .radio {
            margin-top: 10px;
            margin-bottom: 12px;
        }
        */
        
        .faq-quote .checkbox label,
        .faq-quote .radio label {
            font-weight: 500;
            color: var(--ink-soft);
            cursor: pointer;
        }
        
        .faq-quote input[type="checkbox"],
        .faq-quote input[type="radio"] {
            accent-color: var(--tmrc-green);
            margin-right: 8px;
            width: 16px;
            height: 16px;
        }
        
        /* Help block text inside faq-quote */
        .faq-quote .help-block {
            font-size: 11.5px;
            margin-top: 5px;
        }
        
        /* Submit button inside faq-quote */
        .faq-quote .btn-success {
            background: var(--tmrc-blue-ocean);
            border: none;
            padding: 12px 32px;
            font-weight: 700;
            font-size: 16px;
            transition: all 0.2s ease;
            box-shadow: 0 2px 6px rgba(10,107,59,0.3);
        }
        
        .faq-quote .btn-success:hover {
            background: var(--tmrc-blue);
            transform: translateY(-2px);
            box-shadow: 0 8px 18px rgba(10,107,59,0.2);
        }
        
        /* Alert styling inside faq-quote */
        .faq-quote .alert-success {
            background: #e6f4ff;
            border-color: #b8dfc2;
            color: #00285e;
            font-weight: 500;
        }
        
        .faq-quote .alert-danger {
            background: #fee2e2;
            border-color: #c4d5e2;
            color: #991b1b;
        }
        
        /* Nav tabs styling inside faq-quote */
        .faq-quote .nav-tabs {
            border-bottom: 1px solid var(--border-light);
            margin-bottom: 28px;
        }
        
        .faq-quote .nav-tabs > li.active > a {
            background: var(--tmrc-blue);
            color: white;
            border: none;
            font-weight: 600;
        }
        
        .faq-quote .nav-tabs > li > a {
            color: var(--ink-soft);
            transition: 0.2s;
        }
        
        .faq-quote .nav-tabs > li > a:hover {
            background: var(--paper-soft);
            border-color: transparent;
        }
        
        /* Table styling inside faq-quote */
        .faq-quote .table {
            border: 1px solid var(--border-light);
            border-radius: 12px;
            overflow: hidden;
        }
        
        .faq-quote .table thead {
            background: var(--tmrc-blue);
            color: white;
        }
        
        .faq-quote .table thead th {
            padding: 12px;
            font-weight: 600;
        }
        
        /* File input styling inside faq-quote */
        .faq-quote input[type="file"] {
            /*padding: 8px;
            border-radius: 12px;*/
            border: 1px dashed var(--tmrc-blue);
            background: var(--paper-soft);
            width: 100%;
        }
        
        /* Row spacing inside faq-quote */
        .faq-quote .row {
            /*margin-bottom: 8px;*/
        }
        
        /* Responsive adjustments inside faq-quote */
        @media (max-width: 768px) {
            .faq-quote .btn-success {
                width: 100%;
                text-align: center;
            }
        }
        
        /* Section heading icon decoration */
        .faq-quote h4:before {
        /*  content: '◆ ';
            color: var(--tmrc-gold);
            font-size: 14px; */
        }
        
        /* Submit alignment class */
        .faq-quote .submit-align-left {
            text-align: left;
            margin-top: 20px;
        }
        
        /* Additional subtle divider styling */
        .faq-quote hr {
            margin: 24px 0;
            border-top: 2px dotted var(--border-light);
        }
        
ul.nav-tabs {
  margin-bottom: 25px;
}

label.required:after {
  content: "*";
  color: #d00;
  margin-left: 5px;
}

ul.errors.help-block {
  padding: 0 20px;
  margin: 0;
}

ul.errors.help-block > li {
  font-size: 12px;
}

.submit-align-left {
  text-align: left;
}

.submit-align-right {
  text-align: right;
}

.submit-align-center {
  text-align: center;
}

.submit-align-left button:not(:first-of-type),
.submit-align-right button:not(:first-of-type),
.submit-align-center button:not(:first-of-type) {
  margin-left: 5px;
}

.submit-align-spread button:first-child {
  float: left;
}

.submit-align-spread button:last-child {
  float: right;
}
