/* Funkcjo Historia 1.3.0 - accessible configurable icon navigation. */
.fh-slider {
    --fh-arrow-inset: 20px;
    --fh-arrow-top: 50%;
    --fh-arrow-size: 40px;
    --fh-arrow-icon-size: 18px;
    --fh-arrow-color: #96929c;
    --fh-arrow-bg: #fff;
    --fh-arrow-hover-color: #3e363e;
    --fh-arrow-hover-bg: #fff;
    --fh-arrow-disabled-color: #cbc7cd;
    --fh-arrow-disabled-bg: #fff;
    position: relative;
    width: 100%;
    padding: 18px 0 20px;
    box-sizing: border-box;
    background-color: #f9f4f1;
    isolation: isolate;
}
.fh-slider, .fh-slider * { box-sizing: border-box; }
.fh-track { width: 82%; max-width: 1200px; margin: 0 auto; }
.fh-slide {
    --fh-copy-width: 28%;
    --fh-gap: 26px;
    display: grid;
    grid-template-columns: minmax(0,var(--fh-copy-width)) minmax(0,1fr);
    gap: var(--fh-gap);
    align-items: stretch;
    width: 100%;
}
.fh-slide[hidden] { display: none !important; }
.fh-slide.fh-enter { animation: fh-appear .28s ease both; }
.fh-reverse .fh-slide { grid-template-columns: minmax(0,1fr) minmax(0,var(--fh-copy-width)); }
.fh-reverse .fh-copy { grid-column: 2; grid-row: 1; }
.fh-reverse .fh-image { grid-column: 1; grid-row: 1; }
.fh-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    padding: 1px 0 2px;
    color: #77737d;
}
.fh-body {
    color: #77737d;
    font-family: Manrope, Arial, sans-serif;
    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.56;
    overflow-wrap: anywhere;
}
.fh-body p { margin: 0 0 0.8em; }
.fh-body p:last-child { margin-bottom: 0; }
.fh-heading {
    font-family: Georgia, serif;
    font-weight: 600;
    font-size: 26px;
    line-height: 1.24;
    color: #999999;
    margin: 0 0 14px;
}
.fh-image {
    width: 100%;
    min-width: 0;
    aspect-ratio: 3 / 2;
    height: auto;
    overflow: hidden;
    border-radius: 0;
    background: #e8e6e1;
}
.fh-image .fh-photo {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: var(--fh-image-position,center center);
    border-radius: 0;
}
.fh-no-photo {
    display: flex;align-items: center;justify-content: center;
    width:100%;height:100%;padding:16px;text-align:center;
    color:#77737d;font: 13px/1.5 Manrope,Arial,sans-serif;
}
.fh-counter {
    margin-top: auto;
    padding-top: 16px;
    color: #99959e;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 1;
    letter-spacing: -0.03em;
    white-space: nowrap;
}
.fh-counter-divider { padding: 0 2px; }
/* Strongly scoped button reset: Elementor themes commonly override native <button> CSS. */
.fh-slider button.fh-arrow,
.fh-slider button.fh-arrow:focus {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: absolute !important;
    z-index: 5;
    top: var(--fh-arrow-top, 50%) !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    margin: 0 !important;
    width: var(--fh-arrow-size, 40px) !important;
    min-width: var(--fh-arrow-size, 40px) !important;
    max-width: var(--fh-arrow-size, 40px) !important;
    height: var(--fh-arrow-size, 40px) !important;
    min-height: var(--fh-arrow-size, 40px) !important;
    max-height: var(--fh-arrow-size, 40px) !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--fh-arrow-bg, #fff) !important;
    color: var(--fh-arrow-color, #96929c) !important;
    font-size: var(--fh-arrow-icon-size, 18px) !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-align: center !important;
    text-indent: 0 !important;
    opacity: 1;
    box-shadow: 0 2px 10px rgba(60,52,60,.10);
    cursor: pointer;
    transition: box-shadow .2s ease, color .2s ease, background-color .2s ease;
}
.fh-slider button.fh-arrow::before,
.fh-slider button.fh-arrow::after { content: none !important; display: none !important; }
.fh-slider .fh-arrow-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto;
    width: 1em !important;
    height: 1em !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: 1 !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.fh-slider .fh-arrow-icon > svg {
    display: block !important;
    width: 1em !important;
    height: 1em !important;
    max-width: none !important;
    flex-shrink: 0;
    overflow: visible;
    color: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.fh-slider .fh-arrow-icon > i,
.fh-slider .fh-arrow-icon > .eicon {
    display: inline-block !important;
    font-size: 1em !important;
    font-style: normal;
    line-height: 1 !important;
    color: inherit !important;
    visibility: visible !important;
}
.fh-slider button.fh-prev { left: var(--fh-arrow-inset, 20px) !important; right: auto !important; }
.fh-slider button.fh-next { right: var(--fh-arrow-inset, 20px) !important; left: auto !important; }
.fh-slider button.fh-arrow:hover:not(:disabled),
.fh-slider button.fh-arrow:focus-visible:not(:disabled) {
    color: var(--fh-arrow-hover-color, #3e363e) !important;
    background: var(--fh-arrow-hover-bg, #fff) !important;
    box-shadow: 0 3px 14px rgba(60,52,60,.17);
}
.fh-slider button.fh-arrow:focus-visible { outline: 2px solid #6d8444 !important; outline-offset: 3px; }
.fh-slider button.fh-arrow:disabled {
    opacity: 1 !important;
    color: var(--fh-arrow-disabled-color, #cbc7cd) !important;
    background: var(--fh-arrow-disabled-bg, #fff) !important;
    cursor: not-allowed;
    box-shadow: 0 2px 10px rgba(60,52,60,.05);
}
@keyframes fh-appear { from {opacity: .55;} to {opacity: 1;} }
@media (prefers-reduced-motion: reduce) { .fh-slide.fh-enter { animation: none; } .fh-arrow { transition:none; } }
@media (max-width: 1024px) and (min-width: 768px) {
    .fh-body { font-size: 12.5px; line-height: 1.55; }
    .fh-slider { --fh-arrow-inset: 12px; }
    .fh-slider { --fh-arrow-size: 34px; --fh-arrow-icon-size: 18px; }
}
@media (max-width: 767px) {
    .fh-slider { padding: 12px 0 22px; --fh-arrow-inset: 2px; }
    .fh-track { width: calc(100% - 68px); max-width: none; }
    .fh-slide, .fh-reverse .fh-slide { display: flex; flex-direction: column; gap: 14px; }
    .fh-mobile-image-first .fh-slide, .fh-reverse.fh-mobile-image-first .fh-slide { flex-direction: column-reverse; }
    .fh-copy { width:100%; min-height: 0; padding: 0; }
    .fh-image { width:100%; height:auto; aspect-ratio: 3/2; }
    .fh-body { font-size:14px; line-height:1.6; }
    .fh-counter {margin-top:14px;padding-top:0;font-size:25px;}
    .fh-slider { --fh-arrow-size: 30px; --fh-arrow-icon-size: 16px; --fh-arrow-top: 50%; }
}
