/*
Theme Name: Odyseja Child
Theme URI: https://odyseja.com.pl/
Description: Motyw potomny Kadence dla katalogu ofert wycieczek Odyseja.
Author: Rundomain
Template: kadence
Version: 1.0.0
Text Domain: odyseja-child
*/


:root {
    --odyseja-green: #189A02;
    --odyseja-green-dark: #147d03;
    --odyseja-green-rgb: 24, 154, 2;

    --odyseja-red: #E4011F;
    --odyseja-red-dark: #c9001b;

    --odyseja-white: #ffffff;
    --odyseja-heading: #111111;
    --odyseja-text: #333333;
    --odyseja-muted: #6f756b;

    --odyseja-border: #e6e6df;
    --odyseja-border-light: #eeeeee;
    --odyseja-input-border: #dddddd;
}

.odyseja-contact-page-form {
    width: 100%;
    max-width: 980px;
    margin: 34px auto 0;
}

.odyseja-contact-page-form,
.odyseja-contact-page-form *,
.odyseja-contact-page-form *::before,
.odyseja-contact-page-form *::after {
    box-sizing: border-box;
}

.odyseja-contact-page-form .wpcf7,
.odyseja-contact-page-form .wpcf7-form,
.odyseja-contact-page-form .odyseja-form {
    margin: 0 !important;
    padding: 0 !important;
}

.odyseja-contact-page-form .wpcf7 p,
.odyseja-contact-page-form .odyseja-form p {
    margin: 0 !important;
    padding: 0 !important;
}

.odyseja-contact-page-form__box {
    width: 100%;
    background: var(--odyseja-white);
    border: 1px solid rgba(var(--odyseja-green-rgb), 0.45);
    border-top: 6px solid var(--odyseja-green);
    border-radius: 22px;
    padding: 34px;
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.08);
}

/* Nagłówek formularza */

.odyseja-contact-page-form__header {
    margin: 0 0 24px;
}

.odyseja-contact-page-form__header h3 {
    margin: 0 !important;
    color: var(--odyseja-heading) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.odyseja-contact-page-form__header p {
    margin: 0 !important;
    color: var(--odyseja-muted) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* Układ pól */

.odyseja-contact-page-form .odyseja-form-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.odyseja-contact-page-form .odyseja-form-row--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.odyseja-contact-page-form .odyseja-form-field {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.odyseja-contact-page-form .odyseja-form-field label {
    display: block !important;
    margin: 0 0 -10px !important;
    padding: 0 !important;
    color: var(--odyseja-text) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}

.odyseja-contact-page-form .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.odyseja-contact-page-form input[type="text"],
.odyseja-contact-page-form input[type="email"],
.odyseja-contact-page-form input[type="tel"],
.odyseja-contact-page-form input[type="number"],
.odyseja-contact-page-form select,
.odyseja-contact-page-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid var(--odyseja-input-border) !important;
    border-radius: 12px !important;
    background: var(--odyseja-white) !important;
    color: var(--odyseja-text) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    outline: none !important;
}

.odyseja-contact-page-form textarea {
    min-height: 170px !important;
    max-height: none !important;
    resize: vertical !important;
}

.odyseja-contact-page-form input::placeholder,
.odyseja-contact-page-form textarea::placeholder {
    color: #7b7f78 !important;
    opacity: 1 !important;
}

.odyseja-contact-page-form input:focus,
.odyseja-contact-page-form select:focus,
.odyseja-contact-page-form textarea:focus {
    border-color: var(--odyseja-green) !important;
    box-shadow: 0 0 0 3px rgba(var(--odyseja-green-rgb), 0.12) !important;
}

.odyseja-contact-page-form__rodo {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--odyseja-border-light);
    color: #666666;
    font-size: 9px !important;
    line-height: 1.45 !important;
}

.odyseja-contact-page-form__rodo p {
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-size: 9px !important;
    line-height: 1.45 !important;
    color: #666666 !important;
}

.odyseja-contact-page-form__rodo .wpcf7-list-item {
    display: block !important;
    margin: 6px 0 0 !important;
}

.odyseja-contact-page-form__rodo label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 9px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    color: #666666 !important;
}

.odyseja-contact-page-form__rodo .wpcf7-list-item-label {
    font-size: 9px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    color: #666666 !important;
}

.odyseja-contact-page-form__rodo input[type="checkbox"] {
    width: 13px !important;
    height: 13px !important;
    min-height: 13px !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    flex: 0 0 13px !important;
}

.odyseja-contact-page-form__actions,
.odyseja-contact-page-form .odyseja-form-actions {
    display: block !important;
    margin-top: 24px !important;
}

.odyseja-contact-page-form input[type="submit"] {
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 14px 22px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: var(--odyseja-green) !important;
    color: var(--odyseja-white) !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    box-shadow: none !important;
    text-align: center !important;
    transition: background 0.2s ease, transform 0.2s ease;
}

.odyseja-contact-page-form input[type="submit"]:hover,
.odyseja-contact-page-form input[type="submit"]:focus {
    background: var(--odyseja-green-dark) !important;
    color: var(--odyseja-white) !important;
    transform: translateY(-1px);
}

.odyseja-contact-page-form .wpcf7-not-valid-tip {
    margin-top: 6px !important;
    color: var(--odyseja-red) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.odyseja-contact-page-form .wpcf7-response-output {
    margin: 22px 0 0 !important;
    padding: 14px 16px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
}

.odyseja-contact-page-form .wpcf7-spinner {
    position: absolute !important;
    margin: 0 !important;
}

/* Zewnętrzna ramka formularza w sidebarze */

.tour-sidebar-box__form {
    border: 1px solid rgba(var(--odyseja-green-rgb), 0.45);
    border-radius: 16px;
    padding: 0 !important;
    overflow: hidden !important;
}

.tour-sidebar-box__form-label {
    display: block !important;
    margin: 0 0 5px !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    background: var(--odyseja-green) !important;
    color: var(--odyseja-white) !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

/* Sidebar nie korzysta z wyglądu dużej karty kontaktowej */

.tour-sidebar-box .odyseja-contact-page-form--sidebar {
    max-width: none;
    margin: 0;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar,
.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__box,
.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-form {
    border: 0 !important;
    border-top: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Odstęp wewnątrz całego formularza: góra / boki / dół */
.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__box {
    padding: 12px 22px 22px !important;
}

/* Odległość pomiędzy rzędami pól */
.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-form-row {
    gap: 6px !important;
    margin: 0 0 2px !important;
}

/* Odległość pojedynczego pola */
.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-form-field {
    margin: 0 0 6px !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-form-field label {
    margin: 4px 0 -10px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar input[type="text"],
.tour-sidebar-box .odyseja-contact-page-form--sidebar input[type="email"],
.tour-sidebar-box .odyseja-contact-page-form--sidebar input[type="tel"],
.tour-sidebar-box .odyseja-contact-page-form--sidebar input[type="number"],
.tour-sidebar-box .odyseja-contact-page-form--sidebar select,
.tour-sidebar-box .odyseja-contact-page-form--sidebar textarea {
    min-height: 24px !important;
    padding: 4px 10px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar textarea {
    min-height: 70px !important;
    max-height: 90px !important;
    resize: vertical !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__rodo {
    margin-top: 5px !important;
    padding-top: 5px !important;
    border-top: 1px solid var(--odyseja-border-light) !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__rodo,
.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__rodo p,
.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__rodo label,
.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__rodo span,
.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__rodo .wpcf7-list-item-label {
    font-size: 9px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__rodo p {
    margin: 0 0 10px !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__rodo .wpcf7-list-item {
    margin: 0 0 6px !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__rodo .wpcf7-list-item label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 6px !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__rodo input[type="checkbox"] {
    width: 12px !important;
    min-width: 12px !important;
    max-width: 12px !important;
    height: 12px !important;
    min-height: 12px !important;
    max-height: 12px !important;
    padding: 0 !important;
    margin: 1px 6px 0 0 !important;
    border-radius: 2px !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    flex: 0 0 12px !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__actions,
.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-form-actions {
    display: block !important;
    margin-top: 15px !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar input[type="submit"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 16px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--odyseja-red) !important;
    color: var(--odyseja-white) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
    cursor: pointer !important;
    transform: none;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar input[type="submit"]:hover,
.tour-sidebar-box .odyseja-contact-page-form--sidebar input[type="submit"]:focus {
    background: var(--odyseja-red-dark) !important;
    color: var(--odyseja-white) !important;
    transform: none;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-form-call {
    margin: 10px 0 0 !important;
    padding: 0 !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-form-call p {
    margin: 0 !important;
    padding: 0 !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-form-call a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 16px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--odyseja-green) !important;
    color: var(--odyseja-white) !important;
    box-shadow: none !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
    text-decoration: none !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-form-call a:hover,
.tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-form-call a:focus {
    background: var(--odyseja-green-dark) !important;
    color: var(--odyseja-white) !important;
    text-decoration: none !important;
}


.tour-sidebar-box .odyseja-contact-page-form--sidebar .wpcf7-response-output {
    margin: 8px 0 0 !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .wpcf7-not-valid-tip {
    margin-top: 2px !important;
    font-size: 11px !important;
}

.tour-sidebar-box .odyseja-contact-page-form--sidebar .wpcf7-spinner {
    margin: 4px 0 0 !important;
}


/* Standardowy formularz kontaktowy */

@media (max-width: 768px) {
    .odyseja-contact-page-form:not(.odyseja-contact-page-form--sidebar) {
        margin-top: 24px;
    }

    .odyseja-contact-page-form:not(.odyseja-contact-page-form--sidebar) .odyseja-contact-page-form__box {
        padding: 24px 18px;
        border-radius: 18px;
    }

    .odyseja-contact-page-form:not(.odyseja-contact-page-form--sidebar) .odyseja-form-row,
    .odyseja-contact-page-form:not(.odyseja-contact-page-form--sidebar) .odyseja-form-row--2 {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

/* Sidebar wycieczki zachowuje 2 kolumny aż do małego telefonu */

@media (max-width: 480px) {
    .tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-contact-page-form__box {
        padding: 12px 16px 18px !important;
    }

    .tour-sidebar-box .odyseja-contact-page-form--sidebar .odyseja-form-row--2 {
        grid-template-columns: 1fr !important;
    }
}

.site-footer .widget-title,
.site-footer h2.widget-title,
.site-footer h3.widget-title,
.footer-widget-area .widget-title {
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}


.odyseja-header-topbar {
    width: 100%;
    min-height: 42px;
    background: var(--odyseja-green);
    color: var(--odyseja-white);
}

.odyseja-header-topbar br {
    display: none !important;
}

.odyseja-header-topbar p {
    margin: 0 !important;
    padding: 0 !important;
}

.odyseja-header-topbar__inner {
    width: 100%;
    max-width: 1120px;
    min-height: 42px;
    margin: 0 auto;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 500;
    flex-wrap: nowrap;
}

.odyseja-topbar-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3px !important;
    color: var(--odyseja-white);
    line-height: 1.2;
    white-space: nowrap;
}

.odyseja-topbar-icon {
    width: auto;
    min-width: 0;
    height: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 2px 0 0 !important;
    color: var(--odyseja-white);
    font-size: 12px;
    line-height: 1;
    font-weight: 500;
}

.odyseja-topbar-label {
    display: inline-flex;
    align-items: center;
    margin: 0 3px 0 0 !important;
    color: var(--odyseja-white);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;
}

.odyseja-topbar-text {
    display: inline-flex;
    align-items: center;
    margin: 0 !important;
    color: var(--odyseja-white);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 500;
}

@media (max-width: 1200px) {
    .odyseja-header-topbar__inner {
        max-width: 100%;
        gap: 12px;
        padding-left: 10px;
        padding-right: 10px;
        font-size: 12px;
    }

    .odyseja-topbar-item {
        gap: 2px !important;
    }

    .odyseja-topbar-icon {
        margin-right: 1px !important;
        font-size: 11px;
    }

    .odyseja-topbar-label,
    .odyseja-topbar-text {
        font-size: 12px;
    }

    .odyseja-topbar-label {
        margin-right: 2px !important;
    }
}

@media (max-width: 900px) {
    .odyseja-header-topbar {
        display: none;
    }
}

.odyseja-contact-page-form .wpcf7-not-valid-tip {
    font-size: 9px !important;
    line-height: 1.35 !important;
}

.odyseja-contact-page-form .wpcf7-response-output {
    font-size: 9px !important;
    line-height: 1.4 !important;
    padding: 8px 10px !important;
    margin-top: 12px !important;
}