:root,
[data-bs-theme="light"] {
    --bs-primary: #409697;
    --bs-primary-rgb: 64, 150, 151;

    --bs-link-color: #409697;
    --bs-link-color-rgb: 64, 150, 151;
    --bs-link-hover-color: #327e7f;
    --bs-link-hover-color-rgb: 50, 126, 127;

    --bs-primary-text-emphasis: #2e6061;
    --bs-primary-bg-subtle: #c8e8d3;
    --bs-primary-border-subtle: #97cdbf;

    --bs-focus-ring-color: rgba(64, 150, 151, 0.25);
}

[data-bs-theme="dark"] {
    --bs-primary: #409697;
    --bs-primary-rgb: 64, 150, 151;

    --bs-link-color: #97cdbf;
    --bs-link-hover-color: #c8e8d3;

    --bs-primary-text-emphasis: #97cdbf;
    --bs-primary-bg-subtle: #2e6061;
    --bs-primary-border-subtle: #327e7f;

    --bs-focus-ring-color: rgba(151, 205, 191, 0.25);
}

.cookie-consent-banner {
    display: none;
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10000;
}

section h1,
article h1,
nav h1,
aside h1 {
    font-size: 2em;
}

.bg-video {
    background-color: #c8e8d3 !important;
    color: #2e6061;
}

.bg-primary-strong {
    background-color: var(--bs-primary-text-emphasis) !important; /* #2e6061 lub #14534a */
    color: #fff;
}

.btn-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #409697;
    --bs-btn-border-color: #409697;

    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #327e7f;
    --bs-btn-hover-border-color: #2e7575;

    --bs-btn-focus-shadow-rgb: 64, 150, 151;

    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #2e7575;
    --bs-btn-active-border-color: #276d6d;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);

    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #97cdbf;
    --bs-btn-disabled-border-color: #97cdbf;
}

.section-hidden {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    height: 0;
    overflow: hidden;
}

.section-visible {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    height: auto;
}

.inputpass-code {
    /* mobile device */
    -webkit-appearance: none;
    appearance: none;

    width: 58px;
    text-align: center;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.inputpass-code:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
}

.was-validated .inputpass-code:invalid {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.25rem rgba(220,53,69,.25);
}

@media (max-width: 1400px) {
    .inputpass-code {
        width: 58px;
    }
}

@media (max-width: 576px) {
    .inputpass-code {
        width: 50px;
        font-size: 1.4rem;
    }
}

@media (max-width: 428px) {
    .inputpass-code {
        width: 40px;
    }
}

.btn-outline-primary {
    --bs-btn-color: #409697;
    --bs-btn-border-color: #409697;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #409697;
    --bs-btn-hover-border-color: #409697;
    --bs-btn-focus-shadow-rgb: 64, 150, 151;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #327e7f;
    --bs-btn-active-border-color: #2e7575;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #409697;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #409697;
}

.form-check-input:checked {
    background-color: #409697;
    border-color: #409697;
}

.form-check-input:focus {
    border-color: #409697;
    box-shadow: 0 0 0 0.25rem rgba(64, 150, 151, 0.25);
}

.btn:focus-visible {
    box-shadow: 0 0 0 0.25rem rgba(64, 150, 151, 0.25);
}
.text-primary,
.text-primary:visited {
    color: #409697 !important;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.text-primary:hover,
.text-primary:focus {
    color: #327e7f !important;
    text-decoration: underline;
}

.alert-primary {
    --bs-alert-color: #245854;
    --bs-alert-bg: #c8e8d3;
    --bs-alert-border-color: #97cdbf;
    --bs-alert-link-color: #245854;
}

.alert-success {
    --bs-alert-color: #005f52;
    --bs-alert-bg: #d0f0e4;
    --bs-alert-border-color: #8ecfbf;
    --bs-alert-link-color: #00463d;
}

.alert-info {
    --bs-alert-color: #0c5460;
    --bs-alert-bg: #d1ecf1;
    --bs-alert-border-color: #bee5eb;
    --bs-alert-link-color: #0c5460;
}

.alert-warning {
    --bs-alert-color: #664d03;
    --bs-alert-bg: #fff3cd;
    --bs-alert-border-color: #ffe69c;
    --bs-alert-link-color: #664d03;
}

.alert-danger {
    --bs-alert-color: #842029;
    --bs-alert-bg: #f8d7da;
    --bs-alert-border-color: #f5c2c7;
    --bs-alert-link-color: #842029;
}

.btn-info {
    --bs-btn-color: #245854;
    --bs-btn-bg: #c8e8d3;
    --bs-btn-border-color: #97cdbf;

    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #409697;
    --bs-btn-hover-border-color: #327e7f;

    --bs-btn-focus-shadow-rgb: 64, 150, 151;

    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #327e7f;
    --bs-btn-active-border-color: #2e7575;

    --bs-btn-disabled-color: #245854;
    --bs-btn-disabled-bg: #dceee4;
    --bs-btn-disabled-border-color: #dceee4;
}

:root,
[data-bs-theme="light"] {
    --bs-primary: #2db29c;
    --bs-primary-rgb: 45, 178, 156;

    --bs-link-color: #2db29c;
    --bs-link-color-rgb: 45, 178, 156;
    --bs-link-hover-color: #1e8e7b;
    --bs-link-hover-color-rgb: 30, 142, 123;

    --bs-primary-text-emphasis: #14534a;
    --bs-primary-bg-subtle: #b4f0df;
    --bs-primary-border-subtle: #86dcc8;

    --bs-focus-ring-color: rgba(45, 178, 156, 0.25);
}

[data-bs-theme="dark"] {
    --bs-primary: #2db29c;
    --bs-primary-rgb: 45, 178, 156;

    --bs-link-color: #b4f0df;
    --bs-link-hover-color: #86dcc8;

    --bs-primary-text-emphasis: #b4f0df;
    --bs-primary-bg-subtle: #14534a;
    --bs-primary-border-subtle: #1e8e7b;

    --bs-focus-ring-color: rgba(180, 240, 223, 0.25);
}

.btn-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #2db29c;
    --bs-btn-border-color: #2db29c;

    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #1e8e7b;
    --bs-btn-hover-border-color: #1c7e6e;

    --bs-btn-focus-shadow-rgb: 45, 178, 156;

    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #1c7e6e;
    --bs-btn-active-border-color: #186f61;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);

    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #86dcc8;
    --bs-btn-disabled-border-color: #86dcc8;
}

.alert-primary {
    --bs-alert-color: #14534a;
    --bs-alert-bg: #b4f0df;
    --bs-alert-border-color: #86dcc8;
    --bs-alert-link-color: #14534a;
}

:root {
    --bs-focus-ring-color: rgba(64, 150, 151, 0.25);
    --bs-form-control-focus-border-color: #409697;
    --bs-primary: #409697;
}

.form-control:focus,
.form-select:focus,
textarea:focus {
    border-color: #409697 !important;
    box-shadow: 0 0 0 0.25rem rgba(64, 150, 151, 0.25) !important;
}

.btn.btn-facebook {
    background-color: #1877F2 !important;
    border-color: #1877F2 !important;
    color: #fff !important;
}

.btn.btn-facebook:hover,
.btn.btn-facebook:focus {
    background-color: #166FE5 !important;
    border-color: #166FE5 !important;
    color: #fff !important;
}

.btn.btn-facebook:active {
    background-color: #145DBF !important;
    border-color: #145DBF !important;
    color: #fff !important;
}

.btn-facebook i {
    margin-right: 6px;
}


.done-photo-sheet {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.2);
    display: none;
    z-index: 1055;
}

.done-photo-sheet.active {
    display: block;
}

.sheet-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 16px 16px 0 0;
    padding: 16px;
    animation: slideUp .25s ease-out;
}

.sheet-handle {
    width: 40px;
    height: 4px;
    background: #ccc;
    border-radius: 2px;
    margin: 0 auto 10px;
}

@keyframes slideUp {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
}
