/* Palette integration for the existing Bootstrap components. */
html, body.firmalar, #contenuto { background-color: var(--site-bg); color: var(--site-text); }
#navbar, .logo-header, #news, footer.footer { background-color: var(--site-brand); color: var(--site-on-brand); }
footer.footer .footer-copyright { background-color: var(--site-brand-hover); }
#contenuto .page-heading, #contenuto .card_text_main, #contenuto .main_card_icon { color: var(--site-brand); }
#contenuto .card, #contenuto .album-card, #contenuto .video-card, #contenuto .team-style07 { background-color: var(--site-surface); border-color: var(--site-border); box-shadow: var(--site-shadow); }
#contenuto .card_shadow { box-shadow: var(--site-shadow); }
#contenuto .album-card > img, #contenuto .photo-thumbnail, #contenuto .jumbotron { background-color: var(--site-surface-soft); }
#contenuto .team-style07:hover { background-color: var(--site-brand); color: var(--site-on-brand); }
#contenuto .team-style07:hover :is(h3, p) { color: var(--site-on-brand); }
#contenuto .team-social .styled-icons li a { background-color: var(--site-brand); color: var(--site-on-brand); }
.btn-primary, .btn-dark, .main_card .btn-primary { background-color: var(--site-brand); border-color: var(--site-brand); color: var(--site-on-brand); }
.btn-primary:hover, .btn-dark:hover, .main_card .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled):active { background-color: var(--site-brand-hover); border-color: var(--site-brand-hover); color: var(--site-on-brand); }
.btn-outline-dark { color: var(--site-brand); border-color: var(--site-brand); }
.btn-outline-dark:hover { background-color: var(--site-brand); border-color: var(--site-brand); color: var(--site-on-brand); }
.page-link { color: var(--site-brand); background-color: var(--site-surface); border-color: var(--site-border); }
.page-link:hover { color: var(--site-brand); background-color: var(--site-surface-soft); border-color: var(--site-border); }
.page-item.active .page-link { background-color: var(--site-brand); border-color: var(--site-brand); color: var(--site-on-brand); }
.page-item.disabled .page-link { background-color: var(--site-bg); color: var(--site-text-muted); border-color: var(--site-border); }
.modal-content, .list-group-item, .dropdown-menu { background-color: var(--site-surface); color: var(--site-text); border-color: var(--site-border); }
.dropdown-item:hover, .dropdown-item:focus { background-color: var(--site-surface-soft); color: var(--site-brand); }
.dropdown-item:active { background-color: var(--site-brand); color: var(--site-on-brand); }
.form-control { background-color: var(--site-field-bg); border-color: var(--site-field-border); color: var(--site-text); }
.form-control:focus { border-color: var(--site-brand); box-shadow: var(--site-focus-ring); }
#contenuto a:not(.btn):not(.page-link):not(.styled-icons-item) { color: var(--site-brand); }
/* Keep the photo viewer dark for a clear image backdrop. */
.photo-viewer .modal-content { background-color: var(--site-text); color: var(--site-on-brand); }

/* Equal-size map and opening-hours panels on the homepage. */
.home-location-row { align-items: stretch; row-gap: 24px; }
.home-location-row > [class*="col-"] { display: flex; }
.home-location-row #mapouter, .home-location-row .home-location-hours { width: 100%; min-height: 380px; border-radius: var(--site-radius); overflow: hidden; border: 1px solid var(--site-border); }
.home-location-row #mapouter { display: flex; background: var(--site-surface-soft); }
.home-location-row iframe { display: block; width: 100%; height: 100%; min-height: 380px; border: 0; }
.home-location-row .home-location-hours { margin: 0; padding: 28px; background: var(--site-surface); display: flex; flex-direction: column; justify-content: center; }
.home-location-hours > h3 { margin-bottom: 20px; color: var(--site-brand); }
.home-location-hours table { width: 100%; }
.home-location-hours th, .home-location-hours td { padding: 6px 0; font-size: .95rem; }
.home-location-hours th { font-weight: 400; }
.home-location-hours .opening-time { border-color: var(--site-border); }
.home-office-hours { margin-top: 22px; text-align: center; }
.home-office-hours h3 { color: var(--site-brand); font-size: 1.1rem; margin-bottom: 8px; }
.home-office-hours p { color: var(--site-text-muted); font-size: .95rem; margin: 0; }
@media (max-width: 767px) { .home-location-row #mapouter, .home-location-row iframe { min-height: 300px; } .home-location-row .home-location-hours { min-height: 300px; padding: 24px; } }

footer .footer-contact-line { display: flex; align-items: baseline; gap: 12px; }
footer .footer-contact-line > i { flex: 0 0 16px; margin-right: 0 !important; }
footer .footer-contact-line > a { min-width: 0; font-size: .9rem; overflow-wrap: anywhere; }

footer .footer-affiliation-logo { display: block; width: 100px; max-width: 100%; height: auto; padding: 4px; border-radius: 4px; background: var(--site-surface); }

.team-profile-placeholder { width: 200px; height: 200px; max-width: 100%; border-radius: 50%; display: grid; place-items: center; margin-inline: auto; background: var(--site-brand-soft); color: var(--site-brand); font-size: 3rem; }

/* Keep teacher cards usable at tablet widths and without hover on touch screens. */
.team-grid > [class*="col-"] { display: flex; }
.team-grid .team-style07 { width: 100%; }
@media (max-width: 767px), (hover: none), (pointer: coarse) {
  #contenuto .team-style07, #contenuto .team-style07:hover { min-height: 0; padding: 24px; background: var(--site-surface); color: var(--site-text); }
  #contenuto .team-style07:hover h3, #contenuto .team-style07:hover p { color: var(--site-text); }
  #contenuto .team-style07 .team-thumb .team-social { position: static; margin-top: 16px; }
  #contenuto .team-style07 .team-social .styled-icons { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; padding: 0; margin: 0; }
  #contenuto .team-style07 .team-thumb .team-social .styled-icons li { position: static; opacity: 1; margin: 0; transition: none; }
  #contenuto .team-style07 .team-social .styled-icons li:not(.team-social-available) { display: none; }
  #contenuto .team-style07 .team-social .styled-icons li a { width: 44px; height: 44px; line-height: 44px; }
}
