.elementor-51 .elementor-element.elementor-element-de4f8af{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-51 .elementor-element.elementor-element-84a36d5{width:100%;max-width:100%;margin:66px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-51 .elementor-element.elementor-element-0f0ea09{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-51 .elementor-element.elementor-element-9f3f079{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-51 .elementor-element.elementor-element-9f3f079.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-51 .elementor-element.elementor-element-2698a94{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-51 .elementor-element.elementor-element-2698a94.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-51 .elementor-element.elementor-element-42687be{width:100%;max-width:100%;top:0px;}.elementor-51 .elementor-element.elementor-element-42687be.elementor-element{--align-self:stretch;--order:-99999 /* order start hack */;}body:not(.rtl) .elementor-51 .elementor-element.elementor-element-42687be{left:-186px;}body.rtl .elementor-51 .elementor-element.elementor-element-42687be{right:-186px;}.elementor-51 .elementor-element.elementor-element-0ba54af{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-51 .elementor-element.elementor-element-0ba54af.e-con{--flex-grow:0;--flex-shrink:0;}@media(max-width:767px){body:not(.rtl) .elementor-51 .elementor-element.elementor-element-42687be{left:4px;}body.rtl .elementor-51 .elementor-element.elementor-element-42687be{right:4px;}}@media(min-width:768px){.elementor-51 .elementor-element.elementor-element-9f3f079{--width:9.321%;}.elementor-51 .elementor-element.elementor-element-2698a94{--width:75.244%;}.elementor-51 .elementor-element.elementor-element-0ba54af{--width:33.88%;}}/* Start custom CSS for shortcode, class: .elementor-element-a4af07a *//* ═══════════════════════════════════════════════════════
   JOB APPLICATION FORM — CF7 STYLES
   Paste in: Appearance → Customize → Additional CSS
═══════════════════════════════════════════════════════ */

.wpcf7 h2 {
    font-size: 1.6rem;
    color: #003366;
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 3px solid #b8963e;
}

.wpcf7 h3 {
    font-size: 0.88rem;
    font-weight: 700;
    color: #003366;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 32px 0 16px;
    padding: 10px 14px;
    background: #f0f4f8;
    border-left: 4px solid #003366;
    border-radius: 4px;
}

.wpcf7 .form-row {
    display: flex;
    gap: 18px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.wpcf7 .half {
    flex: 1 1 calc(50% - 9px);
    min-width: 200px;
    display: flex;
    flex-direction: column;
}

.wpcf7 .full {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.wpcf7 label {
    font-size: 0.83rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 6px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 select {
    width: 100%;
    padding: 10px 14px;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #111;
    background: #fff;
    font-family: inherit;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="date"]:focus,
.wpcf7 select:focus {
    border-color: #003366;
    box-shadow: 0 0 0 3px rgba(0,51,102,0.1);
}

.wpcf7 input::placeholder { color: #9ca3af; font-size: 0.87rem; }

.wpcf7 select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23003366' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
    cursor: pointer;
}

.wpcf7 input[type="file"] {
    width: 100%;
    padding: 10px 14px;
    border: 1.5px dashed #b8963e;
    border-radius: 8px;
    background: #fdfaf4;
    font-size: 0.87rem;
    color: #555;
    cursor: pointer;
}

.wpcf7 input[type="file"]:hover {
    border-color: #003366;
    background: #f0f4f8;
}

/* ═══════════════════════════════════════════════════════
   CHECKBOX FIX — CF7 acceptance exact structure:
   .wpcf7-acceptance > .wpcf7-list-item > label > input[checkbox] + span
═══════════════════════════════════════════════════════ */

.wpcf7 .terms-wrap {
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    padding: 14px 16px;
    margin-top: 4px;
}

/* Remove CF7 default spacing on list-item */
.wpcf7 .wpcf7-acceptance .wpcf7-list-item {
    margin: 0 !important;
    padding: 0 !important;
}

/* Label as flex row */
.wpcf7 .wpcf7-acceptance .wpcf7-list-item label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    cursor: pointer !important;
    font-size: 0.88rem !important;
    font-weight: 400 !important;
    color: #374151 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

/* ── Custom checkbox — override browser default ── */
.wpcf7 .wpcf7-acceptance input[type="checkbox"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    border: 2px solid #003366 !important;
    border-radius: 4px !important;
    background-color: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
    vertical-align: top !important;
}

/* Checked: navy fill */
.wpcf7 .wpcf7-acceptance input[type="checkbox"]:checked {
    background-color: #003366 !important;
    border-color: #003366 !important;
}

/* Tick mark hidden by default */
.wpcf7 .wpcf7-acceptance input[type="checkbox"]::after {
    content: "" !important;
    display: none !important;
    position: absolute !important;
    left: 5px !important;
    top: 1px !important;
    width: 5px !important;
    height: 9px !important;
    border: 2px solid #ffffff !important;
    border-top: none !important;
    border-left: none !important;
    transform: rotate(45deg) !important;
}

/* Tick visible when checked */
.wpcf7 .wpcf7-acceptance input[type="checkbox"]:checked::after {
    display: block !important;
}

/* Focus ring */
.wpcf7 .wpcf7-acceptance input[type="checkbox"]:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0,51,102,0.18) !important;
}

/* Validation error on checkbox */
.wpcf7 .wpcf7-acceptance.wpcf7-not-valid input[type="checkbox"] {
    border-color: #c8102e !important;
    box-shadow: 0 0 0 3px rgba(200,16,46,0.12) !important;
}

/* ── Submit ── */
.wpcf7 input[type="submit"] {
    padding: 13px 36px;
    background: #003366;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    letter-spacing: 0.5px;
    transition: background 0.25s, transform 0.2s;
    font-family: inherit;
    margin-top: 8px;
}

.wpcf7 input[type="submit"]:hover {
    background: #c8102e;
    transform: translateY(-2px);
}

/* ── Validation ── */
.wpcf7 .wpcf7-not-valid-tip {
    font-size: 0.78rem;
    color: #c8102e;
    margin-top: 4px;
    display: block;
}

.wpcf7 input.wpcf7-not-valid,
.wpcf7 select.wpcf7-not-valid {
    border-color: #c8102e !important;
    background: #fff5f5 !important;
}

.wpcf7 .wpcf7-response-output {
    margin-top: 16px;
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 500;
}

.wpcf7.sent .wpcf7-response-output {
    background: #f0fdf4;
    border: 1.5px solid #86efac;
    color: #15803d;
}

.wpcf7.failed .wpcf7-response-output,
.wpcf7.invalid .wpcf7-response-output {
    background: #fff5f5;
    border: 1.5px solid #fca5a5;
    color: #b91c1c;
}

/* ── Mobile ── */
@media (max-width: 600px) {
    .wpcf7 .form-row { flex-direction: column; gap: 12px; }
    .wpcf7 .half { flex: 1 1 100%; min-width: 100%; }
    .wpcf7 input[type="submit"] { width: 100%; }
}/* End custom CSS */