body, html {
  width: 100%;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  background: var(--bg-main);
}

html{
  height: 100%;
}

body{
  min-height: 100vh;
}

.card-title a, .nav-submenu a,
.h1 a, h1 a, .h2 a, h2 a, .h3 a, h3 a,
.h4 a, h4 a, .h5 a, h5 a, .h6 a, h6 a{
  color: var(--text-h) !important;
  text-decoration: none;
}

.nav-brand a{
  vertical-align: middle;
  font-family: "Faculty Glyphic", "Inter", sans-serif;
}

.nav-item a:hover, .nav-brand a:hover,
.card-title a:hover, .gr-card a:hover,
.nav-submenu a:hover, .card-gallery a,
.card-gallery a:hover, .typeahead a:hover,
.typeahead a {
  text-decoration: none;
}

.gr-card .card, .card-gallery .card, .card-gallery .card-body {
  overflow: hidden;
}

.gr-card .card-body, .card-gallery .card-footer {
  z-index: 10;
}

.card-gallery .card-body .image {
    min-height: 160px;
    background-position: 50% 50% !important;
}

.card-img-top, .card-gallery .card-body .image, .zoom {
  transition: all 0.5s;
}

.card-img-top:hover, .card-img-top:focus,
.card-gallery .card-body .image:hover, .card-gallery .card-body .image:focus, .zoom:hover, .zoom:focus {
  transform: scale(1.2);
}


.h1.underline:after, h1.underline:after,
.h2.underline:after, h2.underline:after,
.h3.underline:after, h3.underline:after,
.h4.underline:after, h4.underline:after,
.h5.underline:after, h5.underline:after,
.h6.underline:after, h6.underline:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: var(--text-h);
  visibility: hidden;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: 0.2s ease-out all .1s;
  transition: 0.2s ease-out all .1s;
}

.dropdown-item.underline:after{
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
} 

a.underline, .nav-item a{
  position: relative;
  display: inline-block;
} 

.nav-submenu a{
  position: relative;
  display: block;
  padding: 5px 0px;
}

.nav-submenu a:after{
    bottom: 3px;
}

.nav-submenu a:hover, .nav-submenu a.underline {
  font-weight: bold;
}

a.underline:hover:after{
  width: 100%;
  left: 0%; 
  -webkit-transition: 0.5s ease all;
  transition: 0.5s ease all;
}

.h1, h1, .h2, h2, .h3, h3, .h4, h4, .h5, h5, .h6, h6 {
  color: var(--text-h);
  font-family: "Faculty Glyphic", "Inter", sans-serif;
}

.error-title {
  color: var(--bs-emphasis-color);
}

.h1.underline, h1.underline,
.h2.underline, h2.underline,
.h3.underline, h3.underline,
.h4.underline, h4.underline,
.h5.underline, h5.underline,
.h6.underline, h6.underline {
    position: relative;
}

.h2.underline, h2.underline,
.h3.underline, h3.underline,
.h4.underline, h4.underline,
.h5.underline, h5.underline,
.h6.underline, h6.underline {
    display: inline-block;
}


.h1.underline:after, h1.underline:after,
.h2.underline:after, h2.underline:after,
.h3.underline:after, h3.underline:after,
.h4.underline:after, h4.underline:after,
.h5.underline:after, h5.underline:after,
.h6.underline:after, h6.underline:after {
  visibility: visible;
  transform: scaleX(1);
}

.h1.underline:after, h1.underline:after{
  width: 60%;
  left: 20%;
}

.h2.underline:after, h2.underline:after,
.h3.underline:after, h3.underline:after,
.h4.underline:after, h4.underline:after,
.h5.underline:after, h5.underline:after,
.h6.underline:after, h6.underline:after {
  width: 100%;
  left: 0;
}


.table td, .table th {
  vertical-align: middle;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: #fff3c6;
}

.combobox-container .fa-caret-down, .combobox-selected .fa-times {
    padding: 10px 0px 0px 8px;
}

.combobox-container:not(.combobox-selected) .fa-times, .combobox-selected .fa-caret-down {
    display: none;
}

.input-group-addon.dropdown-toggle:after {
  content: none;
}

.card-header i {
  float: right;
}

.card-header .collapsed .fa:before {
  content: '\f078';
}

.card-header span .fa:before {
  content: '\f077';
}

.os-400, footer {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-weight: 400;
}

.smooth{
    -webkit-transition: all 0.9s ease;
    -moz-transition: all 0.9s ease;
    -o-transition: all 0.9s ease;
    transition: all 0.9s ease;
}

span.grab, span.grab-landscape {
 cursor: grab;
}

.grab:active, .grab-landscape:active {
  cursor: grabbing;
}

.fc-toolbar {
  text-transform: capitalize;
}

.logo-text {
    font-family: "Faculty Glyphic";
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--text-logo);
    line-height: 1.2;
}

.nav-item a {
    border-bottom: 2px solid transparent;
}

.nav-item a:hover {
    border-bottom-color: var(--color-gold);
}

/* Hero sekce s pozadím kostela */
.hero-section {
    min-height: 60vh;
    background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.6)), url('/img/farnost.png') center/cover no-repeat;
    margin-top: 75px;
}

/* Stylování switche (pilulka) */
.theme-switch-wrapper { display: flex; align-items: center; }
.theme-switch { position: relative; width: 54px; height: 28px; }
.theme-switch input { display: none; }
.slider {
    position: absolute; cursor: pointer; inset: 0; background-color: #ccc;
    border-radius: 34px; transition: 0.4s; display: flex; align-items: center; justify-content: space-between; padding: 0 6px;
}
.slider:before {
    position: absolute; content: ""; height: 22px; width: 22px; left: 3px; bottom: 3px;
    background-color: white; border-radius: 50%; transition: 0.4s; z-index: 2;
}
input:checked + .slider { background-color: #b59410; }
input:checked + .slider:before { transform: translateX(26px); }
.slider .icon { font-size: 12px; z-index: 1; }

/* Grayscale loga v patičce */
.grayscale-logo img {
    filter: grayscale(1);
    opacity: 0.6;
    transition: 0.3s;
}
.grayscale-logo:hover img {
    filter: grayscale(0);
    opacity: 1;
}

.card {
    background: var(--bg-card);
}

[data-bs-theme="dark"] .grayscale-logo:hover img {
    background: white;
}

/* Sidebar vylepšení */
.nav-sidebar-wrapper {
    overflow: hidden;
}

.accordion-button:not(.collapsed) {
    background-color: rgba(212, 175, 55, 0.1); /* Světlá zlatá po otevření */
    color: var(--text-h);
}

.accordion-button:focus {
    box-shadow: none;
    border-color: rgba(212, 175, 55, 0.5);
}

aside .nav-link:hover, aside .nav-link.active {
    background-color: var(--bg-footer);
    color: var(--text-h) !important;
}
