:root {
    --tourist-bg: #fef5e2;
    --tourist-panel: #ffdb7d;
    --tourist-sidebar: #e2b549;
    --tourist-ink: #332b22;
    --tourist-link: #984600;
    --tourist-nav: #11100d;
}

* { box-sizing: border-box; }

html { background: var(--tourist-bg); }

body.touristtrack {
    margin: 0;
    background: var(--tourist-bg);
    color: var(--tourist-ink);
    font: 76%/1.5 Arial, Helvetica, sans-serif;
}

a { color: var(--tourist-link); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }

.site-shell {
    width: 1010px;
    margin: 16px auto;
    padding: 10px 15px;
    background: var(--tourist-panel);
    box-shadow: 0 0 4px #000;
}

.site-header {
    position: relative;
    display: flex;
    gap: 20px;
    height: 130px;
    margin: 0 13px;
    align-items: stretch;
    padding: 0;
}

.site-logo { flex: 0 0 300px; padding-top: 10px; }
.site-logo img { display: block; max-width: none; height: auto; border: 2px solid #111; box-shadow: 0 0 4px; }
.site-header-main { position: relative; flex: 0 0 634px; min-width: 0; height: 130px; }
.site-brand { position: absolute; top: 13px; left: -4px; display: block; max-width: 199px; height: auto; margin: 0; }
.site-banner {
    position: absolute;
    top: 11px;
    right: 1px;
    width: max-content;
    max-width: none;
    box-sizing: content-box;
    padding: 3px 50px;
    background: var(--tourist-bg);
    border: 2px solid var(--tourist-ink);
    box-shadow: 0 0 5px #444;
    font-weight: 700;
    font-size: inherit;
    line-height: inherit;
}
.site-banner p { margin: .5em 0; }
.site-banner .module-title, .site-nav .module-title, .site-search .module-title, .site-footer .module-title { display: none; }

.site-nav-row {
    display: flex;
    align-items: center;
    gap: 0;
    height: 12px;
    min-height: 12px;
    margin: 0 13px;
    padding: 0;
    background: var(--tourist-nav);
}

.site-nav { flex: 1; min-width: 0; }
.site-nav .mod-menu, .site-nav ul { display: flex; flex-wrap: wrap; gap: 0; margin: 0; padding: 0; list-style: none; }
.site-nav li { margin: 0; }
.site-nav a { display: block; padding: 7px 14px 5px; color: #fff; font-size: 12px; line-height: 20px; text-transform: uppercase; }
.site-nav a:hover, .site-nav .active > a { color: #ffdb7d; text-decoration: none; }
.site-search { flex: 0 0 180px; }
.site-search input { width: 100%; min-height: 30px; }

.slideshow { position: relative; overflow: hidden; width: 954px; height: 365px; margin: 0 13px; border-bottom: 15px solid #000; background: #fff; }
.slideshow-track, .slideshow-slide { width: 954px; height: 350px; }
.slideshow-track { position: relative; }
.slideshow-slide { position: absolute; inset: 0; display: block; opacity: 0; pointer-events: none; transition: opacity .6s ease; }
.slideshow-slide img { display: block; width: 954px; height: 350px; object-fit: cover; }
.slideshow-slide.is-active { opacity: 1; pointer-events: auto; }
.slideshow-control { position: absolute; top: 42.857%; z-index: 1; width: 50px; height: 50px; border: 0; background: transparent no-repeat center; color: transparent; font-size: 0; line-height: 1; cursor: pointer; }
.slideshow-control:hover, .slideshow-control:focus { background-color: transparent; }
.slideshow-prev { left: 0; }
.slideshow-prev { background-image: url('../images/previous-white.png'); }
.slideshow-next { right: 0; background-image: url('../images/next-white.png'); }

.breadcrumbs { margin: 0 15px 12px; padding-top: 5px; font: 400 11px/1.5 Arial, Helvetica, sans-serif; }
.breadcrumbs .mod-breadcrumbs__here { font-size: 0; }
.breadcrumbs .mod-breadcrumbs__here::before { content: 'Jeste\015b\00a0tutaj:\00a0'; font-size: 11px; }
.breadcrumbs ol.mod-breadcrumbs { margin: 0; padding: 0; list-style: none; }
.breadcrumbs ol.mod-breadcrumbs > li { display: inline; float: none !important; margin: 0; padding: 0; }
.breadcrumbs ol.mod-breadcrumbs > li + li::before { content: '\00a0'; }
.site-columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 30px; padding: 0 15px 18px; }
.site-content { min-width: 0; padding: 0; }
.site-sidebar { min-width: 0; padding: 5px; background: var(--tourist-sidebar); box-shadow: 4px 4px 4px #676767; }
.site-sidebar .module { margin: 0 5px 20px; }
.site-sidebar .module:has(.custom) { margin-left: 0; margin-right: 0; }
.site-sidebar .custom { text-align: center; }
.site-sidebar .mod-menu, .site-sidebar ul { margin: 0; padding: 0; list-style: none; }
.site-sidebar li { padding: 4px 0; margin: 0; border-bottom: 1px dotted #99a; text-transform: uppercase; letter-spacing: 1px; }
.site-sidebar h3, .site-sidebar .module-title { margin: 0 0 .15em; padding: .1em 0 .15em; border-bottom: 1px solid var(--tourist-ink); font-size: 14px; font-weight: 700; text-transform: uppercase; }
.site-sidebar li a { display: inline; padding: 0; font-weight: 700; }
.site-sidebar li.current > a,
.site-sidebar li.active > a { color: #ffffcc; }
.site-body-bottom { text-align: center; }
.content-region { margin-bottom: 16px; }

.site-content { font-family: Arial, Helvetica, sans-serif; }
.site-content p { text-align: justify; }
.site-content .site-body-bottom > .custom > p:last-child { text-align: center; }
.site-content h1 { margin: 3px 0 10px; font: 400 1.5em/1.5 "Times New Roman", Times, serif; letter-spacing: 2px; text-align: left; text-transform: uppercase; }
.site-content h2 { font: 700 1.2em/1.3 Arial, Helvetica, sans-serif; letter-spacing: 0; text-align: left; }
.site-content h3 { font: 700 1.15em/1.5 Arial, Helvetica, sans-serif; text-align: left; }
.site-content h4 { font: 700 1.1em/1.5 Arial, Helvetica, sans-serif; text-align: left; }
.site-content h5, .site-content h6 { font: 400 1.1em/1.5 Arial, Helvetica, sans-serif; text-align: left; }

.com-content-article.item-page,
.com-contact.contact { min-width: 0; }
.com-contact__container,
.contact-form { margin-top: 18px; }
.com-contact__container h2,
.contact-form h2 { margin: 0 0 12px; }
.com-contact__info dl,
.com-contact__position { margin: 0 0 12px; }
.contact-form { max-width: 620px; }
.contact-form .form-control,
.contact-form select,
.contact-form textarea { width: 100%; max-width: 100%; }
.contact-form textarea { min-height: 150px; }
.contact-form .control-group { margin-bottom: 12px; }

.com-content-category-blog__items.columns-4 { display: grid; grid-template-columns: repeat(4, calc(22% + 20px)); column-gap: 0; row-gap: 11px; }
.com-content-category-blog__item { min-width: 0; }
.com-content-category-blog__items.columns-4 .com-content-category-blog__item { height: 180px; margin: 6px 5px; padding: 4px; background: #fef4af; border: 1px solid #954d4d; box-shadow: 2px 2px 5px #954d4d; }
.com-content-category-blog__items.columns-4 .com-content-category-blog__item:hover { margin: 8px 3px 4px 7px; box-shadow: 0 0 1px #954d4d; }
.com-content-category-blog__items.columns-4 h2 { margin: .5em 0; border-bottom: 1px dotted #954d4d; padding: 0 0 6px; text-align: center; }
.com-content-category-blog__items.columns-4 h2 a { color: #513900; font-family: 'Times New Roman', Times, serif; font-size: 18px; }

.site-footer { width: calc(100% + 30px); margin: 0 -15px -10px; padding: 0; border: 0; box-shadow: 0 0 4px #000; text-align: center; color: #556; font: .9em Arial, Helvetica, sans-serif; }
.site-footer-copy { padding: 7px 0 10px; background: var(--tourist-panel); }
.site-footer-copy a { color: #556; text-decoration: underline; }
.site-footer-copy img { width: 81px; height: 9px; vertical-align: middle; }

@media (min-width: 800px) {
    .site-columns:has(.site-sidebar-left):has(.site-sidebar-right) { grid-template-columns: 190px minmax(0, 1fr) 190px; }
    .site-columns:has(.site-sidebar-left):not(:has(.site-sidebar-right)) { grid-template-columns: 190px minmax(0, 1fr); }
    .site-columns:not(:has(.site-sidebar-left)):has(.site-sidebar-right) { grid-template-columns: minmax(0, 1fr) 190px; }
}

@media (max-width: 640px) {
    /* Preserve the legacy Joomla 2.5 fixed-width viewport crop on small screens. */
    body.touristtrack { min-width: 1010px; }
    .site-shell { width: 1010px; margin: 16px 0; padding: 10px 15px; }
    .site-columns:has(.site-sidebar-left):not(:has(.site-sidebar-right)) { grid-template-columns: 190px minmax(0, 1fr); }
    .site-columns:has(.site-sidebar-left):has(.site-sidebar-right) { grid-template-columns: 190px minmax(0, 1fr) 190px; }
}
