/*
 * PetCloud site theme: restyles existing components only.
 * Every rule is scoped to body.pc-theme, so removing that class restores the old look.
 * Layouts, sizes of page sections and colours with a meaning (success, warning, danger,
 * and the blue instructional alerts) are left alone.
 */
body.pc-theme {
    color: #222;
}

/* Type. Fields and buttons don't inherit the page font, so set it here. */
body.pc-theme input,
body.pc-theme select,
body.pc-theme textarea,
body.pc-theme button,
body.pc-theme .btn,
body.pc-theme .form-control,
body.pc-theme .ui-timepicker-list,
body.pc-theme .datepicker {
    font-family: Montserrat, sans-serif;
}
body.pc-theme h1, body.pc-theme h2, body.pc-theme h3, body.pc-theme h4 {
    font-weight: 700;
}
body.pc-theme .text-muted, body.pc-theme .help-block {
    color: #6a6a6a;
}

/* Buttons: 7px corners, comfortable to tap */
body.pc-theme .btn {
    border-radius: 7px;
    font-weight: 600;
    box-shadow: none;
    transition: background-color .12s, border-color .12s;
}
body.pc-theme .btn:not(.btn-xs):not(.btn-sm):not(.btn-lg) {
    min-height: 44px;
    padding-left: 18px;
    padding-right: 18px;
}
body.pc-theme .btn-primary, body.pc-theme .btn.primary {
    background-color: #fe4164;
    border-color: #fe4164;
    color: #fff;
}
body.pc-theme .btn-primary:hover, body.pc-theme .btn-primary:focus,
body.pc-theme .btn.primary:hover, body.pc-theme .btn.primary:focus {
    background-color: #e8335a;
    border-color: #e8335a;
    color: #fff;
}
body.pc-theme .btn-default {
    background-color: #fff;
    border-color: #222;
    color: #222;
}
body.pc-theme .btn-default:hover, body.pc-theme .btn-default:focus {
    background-color: #f7f7f7;
    border-color: #222;
    color: #222;
}
body.pc-theme .btn:focus-visible {
    outline: 2px solid #222;
    outline-offset: 2px;
}

/* Form fields. The navbar search keeps its own sizing. */
body.pc-theme .form-control {
    border-color: #b0b0b0;
    border-radius: 8px;
    box-shadow: none;
    color: #222;
}
body.pc-theme .form-group .form-control:not(textarea):not([multiple]):not(.input-sm) {
    height: 44px;
    font-size: 16px;
}
body.pc-theme .form-control:focus {
    border-color: #222;
    box-shadow: inset 0 0 0 1px #222;
}
body.pc-theme .has-error .form-control {
    border-color: #a94442;
}
body.pc-theme .input-group-addon {
    background-color: #f7f7f7;
    border-color: #b0b0b0;
}
body.pc-theme .input-group-addon:first-child {
    border-radius: 8px 0 0 8px;
}
body.pc-theme .input-group-addon:last-child {
    border-radius: 0 8px 8px 0;
}
body.pc-theme .input-group .form-control:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
body.pc-theme .input-group .form-control:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
body.pc-theme .select2-container--default .select2-selection,
body.pc-theme .select2-container--krajee .select2-selection {
    border-color: #b0b0b0;
    border-radius: 8px;
}

/* Cards */
body.pc-theme .panel {
    border-color: #e4e4e4;
    border-radius: 12px;
    box-shadow: none;
    overflow: hidden;
}
body.pc-theme .panel-default > .panel-heading {
    background: #fff;
    border-color: #e4e4e4;
    color: #222;
    font-weight: 600;
}
body.pc-theme .well {
    background: #f7f7f7;
    border: 0;
    border-radius: 12px;
    box-shadow: none;
}

/* Messages keep their colours */
body.pc-theme .alert {
    border-radius: 7px;
}

/* Menus and pop-ups */
body.pc-theme .dropdown-menu {
    border: 1px solid #e4e4e4;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
}
body.pc-theme .modal-content {
    border: 0;
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .2);
}
body.pc-theme .modal-header, body.pc-theme .modal-footer {
    border-color: #e4e4e4;
}

/* Tabs: black underline on the current tab */
body.pc-theme .nav-tabs {
    border-bottom-color: #e4e4e4;
}
body.pc-theme .nav-tabs > li > a {
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    color: #6a6a6a;
    font-weight: 600;
}
body.pc-theme .nav-tabs > li > a:hover {
    background: transparent;
    border-bottom-color: #b0b0b0;
    color: #222;
}
body.pc-theme .nav-tabs > li.active > a,
body.pc-theme .nav-tabs > li.active > a:hover,
body.pc-theme .nav-tabs > li.active > a:focus {
    background: transparent;
    border: 0;
    border-bottom: 2px solid #222;
    color: #222;
}

/* Tables */
body.pc-theme .table > thead > tr > th {
    border-bottom: 1px solid #e4e4e4;
    color: #6a6a6a;
    font-size: 13px;
    font-weight: 600;
}
body.pc-theme .table > tbody > tr > td {
    border-top-color: #e4e4e4;
}

/* Guest Post a Job: fields, buttons and steps, matching the Hourly Supervision design */
body.guestpostingcreate.pc-theme .step-page-title {
    font-size: 24px;
    font-weight: 700;
    color: #222;
}
body.guestpostingcreate.pc-theme .wk_heading_title h3 {
    font-size: 18px;
    font-weight: 700;
    color: #222;
}
body.guestpostingcreate.pc-theme .wk_heading_title > div:first-child span {
    background: #222;
    color: #fff;
}
body.guestpostingcreate.pc-theme #jobpostingform label,
body.guestpostingcreate.pc-theme #jobpostingform .ext_lbl {
    color: #222;
    font-size: 14px;
    font-weight: 600;
}
body.guestpostingcreate.pc-theme #jobpostingform .form-control,
body.guestpostingcreate.pc-theme #add_pet_form .form-control {
    height: 56px;
    padding: 0 14px;
    border: 1px solid #b0b0b0 !important;
    border-radius: 12px !important;
    background-color: #fff;
    box-shadow: none !important;
    color: #222;
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-weight: 500;
}
body.guestpostingcreate.pc-theme #jobpostingform textarea.form-control,
body.guestpostingcreate.pc-theme #add_pet_form textarea.form-control {
    height: auto;
    min-height: 110px;
    padding: 12px 14px;
}
body.guestpostingcreate.pc-theme #jobpostingform .form-control:focus,
body.guestpostingcreate.pc-theme #add_pet_form .form-control:focus {
    border-color: #222 !important;
    box-shadow: inset 0 0 0 1px #222 !important;
}
body.guestpostingcreate.pc-theme #jobpostingform .has-error .form-control,
body.guestpostingcreate.pc-theme #add_pet_form .has-error .form-control {
    border-color: #a94442 !important;
}
body.guestpostingcreate.pc-theme #jobpostingform .form-control::placeholder,
body.guestpostingcreate.pc-theme #add_pet_form .form-control::placeholder {
    color: #6a6a6a;
    opacity: 1;
}
body.guestpostingcreate.pc-theme #jobpostingform .form-group,
body.guestpostingcreate.pc-theme #jobpostingform .input-group,
body.guestpostingcreate.pc-theme #jobpostingform .right-inner-icon,
body.guestpostingcreate.pc-theme #jobpostingform .dropdowndesingnewpost {
    box-shadow: none !important;
    background-image: none;
}
body.guestpostingcreate.pc-theme #jobpostingform .input-group {
    width: 100%;
}
body.guestpostingcreate.pc-theme #jobpostingform .input-group.date .form-control {
    padding-right: 44px;
}
body.guestpostingcreate.pc-theme #jobpostingform .input-group.date .input-group-addon {
    position: absolute;
    top: 1px;
    right: 1px;
    z-index: 3;
    width: 42px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0 12px 12px 0;
    background: transparent;
    color: #222;
}
body.guestpostingcreate.pc-theme #jobpostingform .immstepchange,
body.guestpostingcreate.pc-theme #jobpostingform .imm_main_submit,
body.guestpostingcreate.pc-theme #jobpostingform input[type=submit],
body.guestpostingcreate.pc-theme #jobpostingform button[type=submit],
body.guestpostingcreate.pc-theme #add_pet_form .actions a[href="#next"],
body.guestpostingcreate.pc-theme #add_pet_form .actions a[href="#finish"] {
    min-height: 50px;
    border: 1px solid #fe4164;
    border-radius: 7px !important;
    box-shadow: none !important;
    background: #fe4164;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}
body.guestpostingcreate.pc-theme #jobpostingform .immstepchange:hover,
body.guestpostingcreate.pc-theme #jobpostingform .imm_main_submit:hover,
body.guestpostingcreate.pc-theme #add_pet_form .actions a[href="#next"]:hover,
body.guestpostingcreate.pc-theme #add_pet_form .actions a[href="#finish"]:hover {
    background: #e8335a;
    border-color: #e8335a;
}
body.guestpostingcreate.pc-theme #jobpostingform .btn-default,
body.guestpostingcreate.pc-theme #add_pet_form .actions a[href="#previous"] {
    min-height: 50px;
    border: 1px solid #fe4164;
    border-radius: 7px !important;
    box-shadow: none !important;
    background: #fff;
    color: #222;
    font-size: 15px;
    font-weight: 600;
}
/* Back button outline: drawn as an inner shadow because the 1px border left its bottom-left corner undrawn */
body.guestpostingcreate.pc-theme #jobpostingform .btn-default {
    border-color: transparent;
    box-shadow: inset 0 0 0 1px #fe4164 !important;
}
body.guestpostingcreate.pc-theme #add_pet_form .actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
}
body.guestpostingcreate.pc-theme #jobpostingform .imm_green_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 64px;
    padding: 0 22px;
    border: 1px dashed #b0b0b0;
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
    color: #222;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}
body.guestpostingcreate.pc-theme #jobpostingform .imm_green_btn:hover,
body.guestpostingcreate.pc-theme #jobpostingform .imm_green_btn:focus {
    border-color: #222;
    background: #f7f7f7;
    color: #222;
}
body.guestpostingcreate.pc-theme #add_pet_form .wizard > .content {
    background: #fff;
}
body.guestpostingcreate.pc-theme #add_pet_form .wizard > .steps a,
body.guestpostingcreate.pc-theme #add_pet_form .wizard > .steps a:hover {
    border-radius: 12px;
    background: #f7f7f7;
    color: #6a6a6a;
}
body.guestpostingcreate.pc-theme #add_pet_form .wizard > .steps .current a,
body.guestpostingcreate.pc-theme #add_pet_form .wizard > .steps .current a:hover {
    background: #222;
    color: #fff;
}
body.guestpostingcreate.pc-theme #add_pet_form .wizard > .steps .done a,
body.guestpostingcreate.pc-theme #add_pet_form .wizard > .steps .done a:hover {
    background: #ebebeb;
    color: #222;
}

/* Guest Post a Job: Pets page, and Back and Next side by side */
body.guestpostingcreate.pc-theme .stick-form-guest,
body.guestpostingcreate.pc-theme .stick-form-guest .customStepperCs {
    background: #fff;
}
body.guestpostingcreate.pc-theme .step-pets-content .imm_white_box,
body.guestpostingcreate.pc-theme .step-pets-content .imm_white_box .row,
body.guestpostingcreate.pc-theme .step-pets-content .imm_white_box .col-sm-12 {
    margin: 0;
    padding: 0;
}
body.guestpostingcreate.pc-theme .step-pets-content .imm_guest_pet {
    display: block;
    margin: 0;
}
body.guestpostingcreate.pc-theme .step-pets-content .imm_guest_pet span {
    display: block;
    float: none;
    width: auto;
    margin: 0 0 16px;
}
body.guestpostingcreate.pc-theme .step-pets-content .imm_guest_pet strong {
    color: #6a6a6a;
    font-size: 14px;
    font-weight: 500;
}
body.guestpostingcreate.pc-theme #jobpostingform .step-pets-content .imm_green_btn {
    display: flex;
    float: none;
    gap: 10px;
    width: 100%;
    min-height: 96px;
    margin: 0 !important;
    font-size: 15px;
    cursor: pointer;
}
body.guestpostingcreate.pc-theme #jobpostingform .step-pets-content .imm_green_btn::before {
    content: "+";
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
}
/* The empty photo placeholder repeats the button above; pets added later have no inline float */
body.guestpostingcreate.pc-theme .step-pets-content .show_pet .pet-thumb-div[style*="float"],
body.guestpostingcreate.pc-theme .show_pet .pet-thumb-div:has(> a#add-pet-btn) {
    display: none !important;
}
body.guestpostingcreate.pc-theme .step-pets-content .pet-area {
    margin: 0;
    padding: 0;
}
body.guestpostingcreate.pc-theme .step-pets-content .show_pet {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0 0;
}
body.guestpostingcreate.pc-theme .step-pets-content .show_pet .pet-thumb-div {
    float: none;
    width: 120px;
    margin: 0;
}
body.guestpostingcreate.pc-theme .step-pets-content .show_pet .pet-thumb {
    width: 120px;
    height: 120px;
    border: 0;
    border-radius: 12px;
    background-size: cover;
    background-position: center;
}
body.guestpostingcreate.pc-theme .step-pets-content .show_pet .pet-thumb-caption {
    margin-top: 6px;
    color: #222;
    font-size: 14px;
    font-weight: 600;
    text-align: left;
}
body.guestpostingcreate.pc-theme .step-pets-content .form-group.text-left,
body.guestpostingcreate.pc-theme .step-service-content .form-group.text-left {
    display: flex;
    gap: 8px;
    margin: 24px 0 0;
}
body.guestpostingcreate.pc-theme #jobpostingform #back_to_service,
body.guestpostingcreate.pc-theme #jobpostingform #back_to_pets {
    display: inline-flex;
    flex: none;
    float: none;
    align-items: center;
    justify-content: center;
    width: 110px !important;
    margin: 0 !important;
}
body.guestpostingcreate.pc-theme #jobpostingform #next_pets,
body.guestpostingcreate.pc-theme #jobpostingform #next_days {
    display: inline-flex;
    flex: 1;
    float: none;
    align-items: center;
    justify-content: center;
    width: auto;
    margin: 0 !important;
}

/* Guest Post a Job: room either side of the form, and buttons sized to their label */
@media (min-width: 768px) {
    body.guestpostingcreate.pc-theme .customStepperCs {
        padding-left: clamp(24px, 5vw, 96px);
        padding-right: clamp(24px, 5vw, 96px);
    }
}
@media (max-width: 767px) {
    body.guestpostingcreate.pc-theme .customStepperCs {
        padding-left: 24px;
        padding-right: 24px;
    }
    body.guestpostingcreate.pc-theme .customStepperCs .wk_gif_imges {
        margin-left: -24px !important;
        margin-right: -24px !important;
    }
}
body.guestpostingcreate.pc-theme .customStepperCs .panel,
body.guestpostingcreate.pc-theme .customStepperCs .panel-body {
    padding-left: 0;
    padding-right: 0;
    border: 0;
}
body.guestpostingcreate.pc-theme #jobpostingform .step-pets-content .form-group.text-left,
body.guestpostingcreate.pc-theme #jobpostingform .step-service-content .form-group.text-left {
    justify-content: flex-start;
}
body.guestpostingcreate.pc-theme #jobpostingform #next_pets,
body.guestpostingcreate.pc-theme #jobpostingform #next_days {
    flex: none;
    width: 160px !important;
}
body.guestpostingcreate.pc-theme #jobpostingform .step-pets-content .imm_green_btn {
    width: 240px;
    max-width: 100%;
}
body.guestpostingcreate.pc-theme #jobpostingform #back_to_service,
body.guestpostingcreate.pc-theme #jobpostingform #back_to_pets {
    width: 160px !important;
}
body.guestpostingcreate.pc-theme .contact_info {
    flex-wrap: wrap;
    gap: 0 8px;
}
body.guestpostingcreate.pc-theme .contact_info:not([style*="none"]) {
    display: flex !important;
}
body.guestpostingcreate.pc-theme .contact_info > * {
    flex: 0 0 100%;
    min-width: 0;
}
body.guestpostingcreate.pc-theme #jobpostingform .contact_info > #backBtn {
    flex: 0 0 auto;
    order: 10;
    width: 160px !important;
    float: none;
    margin: 0 !important;
}
body.guestpostingcreate.pc-theme #jobpostingform .contact_info > .form-group:has(.request_btn_create) {
    flex: 0 0 auto;
    order: 11;
    margin: 0;
}
body.guestpostingcreate.pc-theme #jobpostingform .contact_info .request_btn_create {
    width: 160px !important;
    min-height: 50px;
    margin: 0 !important;
}
body.guestpostingcreate.pc-theme .contact_info .row {
    margin-left: 0;
    margin-right: 0;
}
body.guestpostingcreate.pc-theme .contact_info .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}
body.guestpostingcreate.pc-theme #jobpostingform .immstep5 {
    margin: 12px 0 0;
    text-align: left;
}
body.guestpostingcreate.pc-theme #jobpostingform .immstep5 > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
    text-align: left;
}
body.guestpostingcreate.pc-theme #jobpostingform .hs-note {
    padding: 0;
}

/*
 * All forms: the same field style as Guest Post a Job.
 * :where() keeps specificity low, so a page's own stronger rules still win, and it
 * leaves out the search bars, chat composer and footer newsletter, which have their own design.
 */
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .form-control:not(textarea):not([multiple]):not(.input-sm):not([type=file]) {
    height: 56px;
    padding: 0 14px;
    font-size: 16px;
    font-weight: 500;
    line-height: normal;
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .form-control:not(.input-sm) {
    border: 1px solid #b0b0b0;
    border-radius: 12px;
    background-color: #fff;
    box-shadow: none;
    color: #222;
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) textarea.form-control {
    min-height: 110px;
    padding: 12px 14px;
    font-size: 16px;
    font-weight: 500;
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) select.form-control:not([multiple]) {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 38px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23222' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 8px;
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .form-control:focus {
    border-color: #222;
    box-shadow: inset 0 0 0 1px #222;
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .has-error .form-control {
    border-color: #a94442;
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .form-control::placeholder {
    color: #6a6a6a;
    opacity: 1;
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .form-control[disabled] {
    background-color: #f7f7f7;
    color: #6a6a6a;
}
/* Date and time pickers are read-only fields you tap, so they stay white */
body.pc-theme form .krajee-datepicker.form-control[readonly],
body.pc-theme form .ui-timepicker-input.form-control[readonly],
body.pc-theme form .timepicker-default.form-control[readonly] {
    background-color: #fff;
    cursor: pointer;
}
/* Icons inside fields sit in the middle of the taller field */
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .right-inner-icon i,
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .left-inner-icon i {
    top: 50%;
    padding: 0 14px;
    transform: translateY(-50%);
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .right-inner-icon input {
    padding-right: 40px;
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .left-inner-icon input {
    padding-left: 40px;
}
/* Search-as-you-type and drop-down widgets match the fields */
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .form-group .select2-container .select2-selection--single {
    display: flex;
    align-items: center;
    height: 56px;
    border: 1px solid #b0b0b0;
    border-radius: 12px;
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .form-group .select2-container .select2-selection__arrow {
    top: 0;
    height: 100%;
}
/* Labels */
body.pc-theme form .form-group > .control-label {
    margin-bottom: 6px;
    color: #222;
    font-size: 14px;
    font-weight: 600;
}
body.pc-theme .has-error .help-block {
    color: #a94442;
}
/* Ticks and radio buttons */
body.pc-theme form input[type=checkbox],
body.pc-theme form input[type=radio] {
    accent-color: #222;
}
/* Main form buttons */
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) :is(button[type=submit], input[type=submit]).btn:not(.btn-xs):not(.btn-sm) {
    min-height: 50px;
    font-size: 15px;
    font-weight: 700;
}
body.pc-theme form :is(button[type=submit], input[type=submit]).btn-aqua {
    background-color: #fe4164;
    border-color: #fe4164;
    color: #fff;
    opacity: 1;
}
body.pc-theme form :is(button[type=submit], input[type=submit]).btn-aqua:hover,
body.pc-theme form :is(button[type=submit], input[type=submit]).btn-aqua:focus {
    background-color: #e8335a;
    border-color: #e8335a;
    color: #fff;
}
/* Grey bar above a form card: a clean white heading */
body.pc-theme .panel-heading-inbox {
    background: #fff;
    border-bottom: 1px solid #e4e4e4;
    color: #222;
}
body.pc-theme .panel-heading-inbox .panel-title {
    color: #222;
    font-size: 18px;
    font-weight: 700;
}

/* Logged-in Post a Job */
body.jobpostingcreate.pc-theme .job_form_width {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
}
body.jobpostingcreate.pc-theme #jobs-new-index .main_ptag,
body.jobpostingcreate.pc-theme #jobs-new-index .pettaxi_ptag {
    max-width: 560px;
    margin: 4px auto 20px;
    color: #6a6a6a;
    font-size: 15px;
    font-weight: 500 !important;
}
body.jobpostingcreate.pc-theme #jobs-new-index .main_ptag span {
    font-weight: 500 !important;
}
body.jobpostingcreate.pc-theme #jobpostingform .immtitle {
    margin: 0 0 14px;
    color: #222;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
}
body.jobpostingcreate.pc-theme #jobpostingform .immtitle span {
    color: inherit;
    font-weight: inherit;
}
body.jobpostingcreate.pc-theme #jobpostingform .immstepchange,
body.jobpostingcreate.pc-theme #jobpostingform .imm_main_submit {
    min-height: 50px;
    padding: 14px 16px;
    border: 1px solid #fe4164;
    border-radius: 7px;
    background-color: #fe4164;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 20px;
    box-shadow: none;
}
body.jobpostingcreate.pc-theme #jobpostingform .immstepchange:hover,
body.jobpostingcreate.pc-theme #jobpostingform .imm_main_submit:hover {
    border-color: #e8335a;
    background-color: #e8335a;
}
body.jobpostingcreate.pc-theme #jobpostingform .ext_lbl {
    color: #222;
    font-weight: 600;
}

body.jobpostingcreate.pc-theme #jobpostingform .form-group {
    margin-bottom: 16px;
}
/* One-off or Recurring as two selectable cards. The help bulbs sit at the right of each card. */
body.jobpostingcreate.pc-theme #jobpostingform-bookingtype {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 4px;
}
body.jobpostingcreate.pc-theme .job_form_width #jobpostingform-bookingtype .radio-inline {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 56px;
    margin: 0;
    padding: 8px 34px 8px 40px;
    border: 1px solid #b0b0b0;
    border-radius: 12px;
    background: #fff;
    color: #222;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    cursor: pointer;
}
body.jobpostingcreate.pc-theme .job_form_width #jobpostingform-bookingtype .radio-inline input {
    position: absolute;
    left: 12px;
    margin: 0;
}
body.jobpostingcreate.pc-theme .job_form_width #jobpostingform-bookingtype .radio-inline:has(input:checked) {
    border-color: #222;
    background: #f7f7f7;
    box-shadow: inset 0 0 0 1px #222;
}
body.jobpostingcreate.pc-theme .job_form_width .immstep2 .tooltip.txt_tooltip,
body.jobpostingcreate.pc-theme .job_form_width .immstep2 .tooltip.txt_tooltip2 {
    top: 18px;
    right: auto;
    width: 18px;
}
body.jobpostingcreate.pc-theme .job_form_width .immstep2 .tooltip.txt_tooltip {
    left: calc(50% - 31px);
}
body.jobpostingcreate.pc-theme .job_form_width .immstep2 .tooltip.txt_tooltip2 {
    left: calc(100% - 41px);
}
body.jobpostingcreate.pc-theme .job_form_width .immstep2 .tooltiptext {
    top: auto !important;
    right: 0 !important;
    bottom: 125% !important;
    left: auto !important;
    width: 190px !important;
    height: auto;
    margin: 0 !important;
    padding: 8px 10px !important;
    font-size: 13px;
}
body.jobpostingcreate.pc-theme .job_form_width .immstep2 .tooltiptext::after {
    display: none;
}
body.jobpostingcreate.pc-theme #jobpostingform .recurring-type-selection-wrapper {
    margin-top: 12px;
}
body.jobpostingcreate.pc-theme #jobpostingform .immweekday {
    margin-bottom: 8px;
    padding: 0 15px;
}
/* Pet picker: photo cards, a tick on the chosen pets */
body.jobpostingcreate.pc-theme :is(#petList, #petListtaxi) {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 4px 0 18px;
}
body.jobpostingcreate.pc-theme :is(#petList, #petListtaxi) .pet-thumb-div {
    width: calc((100% - 24px) / 3);
    max-width: 150px;
    margin: 0;
}
body.jobpostingcreate.pc-theme :is(#petList, #petListtaxi) .pet-thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    border: 1px solid #e4e4e4;
    border-radius: 12px;
}
body.jobpostingcreate.pc-theme :is(#petList, #petListtaxi) .pet-thumb-overlay {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    border-radius: 12px;
    background: rgba(255, 255, 255, .25);
    color: #222;
    font-size: 13px;
}
body.jobpostingcreate.pc-theme :is(#petList, #petListtaxi) .add-remove-pet {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #222;
}
body.jobpostingcreate.pc-theme :is(#petList, #petListtaxi) .pet-thumb-overlay div.span {
    width: auto;
    height: auto;
    margin: 0;
    padding: 6px 12px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .2);
    font-size: 13px;
    line-height: 1.2;
}
body.jobpostingcreate.pc-theme :is(#petList, #petListtaxi) .pet-thumb-overlay div.span span {
    margin: 0;
    font-size: 13px;
}
body.jobpostingcreate.pc-theme :is(#petList, #petListtaxi) .pet-thumb-div.selected .pet-thumb {
    border: 0;
    box-shadow: 0 0 0 2px #222;
}
body.jobpostingcreate.pc-theme :is(#petList, #petListtaxi) .pet-thumb-div.selected::after {
    content: "\2713";
    position: absolute;
    top: 6px;
    right: 6px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #222;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
    pointer-events: none;
}
body.jobpostingcreate.pc-theme :is(#petList, #petListtaxi) .pet-thumb-caption {
    margin-top: 6px;
    color: #222;
    font-size: 14px;
    font-weight: 600;
    text-align: left;
}
/* Buttons sized to their label, left aligned, as on Guest Post a Job */
body.jobpostingcreate.pc-theme #jobpostingform .step-btn .immstepchange,
body.jobpostingcreate.pc-theme #jobpostingform .step-btn .imm_main_submit {
    float: left !important;
    width: 160px;
}
body.jobpostingcreate.pc-theme #jobpostingform .weekly_cost {
    padding: 10px 0 !important;
    text-align: left !important;
}
body.jobpostingcreate.pc-theme #jobpostingform .estim_cost {
    margin-top: 4px;
}
/* Date fields: room for the full date on a phone */
body.jobpostingcreate.pc-theme #jobpostingform .input-daterange .kv-container-from input,
body.jobpostingcreate.pc-theme #jobpostingform .input-daterange .kv-container-to input,
body.jobpostingcreate.pc-theme #jobpostingform .input-group input {
    border-radius: 12px !important;
}
@media (max-width: 767px) {
    body.jobpostingcreate.pc-theme #onceOff > .col-xs-6 {
        width: 100%;
    }
}

/* All forms: date range wrappers and fields with an icon */
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .kv-container-from.form-control,
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .kv-container-to.form-control {
    float: none;
    width: 100%;
    height: auto !important;
    padding: 0 !important;
    border: 0;
    background: none;
    box-shadow: none;
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .input-group:has(> .right-inner-icon),
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .input-daterange {
    display: block;
    width: 100%;
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .right-inner-icon {
    display: flow-root;
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .right-inner-icon input.form-control {
    float: none;
    width: 100%;
    padding-right: 40px !important;
    border-radius: 12px !important;
}

/* Date range: the wrapper and its field are block level, so the icon sits inside the field */
body.pc-theme form .right-inner-icon > .kv-container-from.form-control,
body.pc-theme form .right-inner-icon > .kv-container-to.form-control,
body.pc-theme form .right-inner-icon > .kv-container-from > input.form-control,
body.pc-theme form .right-inner-icon > .kv-container-to > input.form-control {
    display: block;
}
/* Sign in and sign up have their own stronger corner rules */
body.pc-theme .login-container .form-box-inner form:is(#login-form, #register-form, #frm_register) input.form-control,
body.pc-theme form#frm_register input.form-control {
    border-radius: 12px !important;
}
body.pc-theme .login-container .form-box-inner form#login-form button.primary {
    border-radius: 7px;
}
/* Fields inside a table stay compact so the numbers still fit */
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) table .form-control:not(textarea):not([multiple]):not(.input-sm):not([type=file]) {
    height: 44px;
    padding: 0 8px;
    border-radius: 8px;
    font-size: 15px;
}
/* Fields joined to a label or button have less room */
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .input-group > .form-control:not(textarea):not([multiple]):not(.input-sm):not([type=file]) {
    padding: 0 10px;
}
body.pc-theme form:not(:where(#navSearchForm, #search_form, .search-form, #searchDatatable, #newsletter_form, #newMessage)) .form-group .select2-container .select2-selection--multiple {
    min-height: 56px;
    border: 1px solid #b0b0b0;
    border-radius: 12px;
}
/* Plain card headings match the white heading above the forms */
body.pc-theme .panel:not([class*="panel-"]) > .panel-heading {
    background: #fff;
    border-color: #e4e4e4;
    color: #222;
    font-weight: 600;
}

/* Pagination */
body.pc-theme .pagination > li > a, body.pc-theme .pagination > li > span {
    border: 0;
    border-radius: 50%;
    color: #222;
    margin: 0 2px;
    min-width: 34px;
    text-align: center;
}
body.pc-theme .pagination > .active > a, body.pc-theme .pagination > .active > span,
body.pc-theme .pagination > .active > a:hover, body.pc-theme .pagination > .active > span:hover {
    background: #222;
    color: #fff;
}

/* Breed suggestions in the guest add and edit pet pop-ups */
.pc-breed-list {
    position: fixed;
    z-index: 2000;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    max-height: 280px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 7px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);
    font-family: Montserrat, sans-serif;
    font-size: 15px;
    color: #222;
}
.pc-breed-list li {
    padding: 10px 14px;
    cursor: pointer;
}
.pc-breed-list li:hover,
.pc-breed-list li.active {
    background: #fff0f3;
}
