:root {
    --yoga-primary: #276f87;
    --yoga-primary-dark: #174d60;
    --yoga-accent: #d7a84b;
    --yoga-ink: #203038;
    --yoga-muted: #64747c;
    --yoga-soft: #f2f7f8;
    --bs-primary: #276f87;
    --bs-link-color: #276f87;
    --bs-link-hover-color: #174d60;
    --bs-body-color: #203038;
    --bs-body-font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    --site-header-bg: #fff;
    --site-content-bg: #fff;
    --site-page-bg: #dce8e9;
    --site-text: #203038;
    --site-menu-text: #fff;
    --site-menu-bg: #276f87;
    --site-link: #276f87;
    --site-footer-link: #276f87;
    --site-footer-bg: #f7faf9;
    --site-border: #d8e4e7;
    --site-box-border: #d8e4e7;
    --site-footer-text: #64747c;
    --site-title-text: #203038;
    --site-header-height: 188px;
}

html {
    min-height: 100%;
    background: var(--site-page-bg, #dce8e9);
}

body {
    min-height: 100vh;
    margin: 0;
    color: var(--site-text, var(--yoga-ink));
    background:
        radial-gradient(circle at 10% 0, rgba(255, 255, 255, .7), transparent 32rem),
        var(--site-page-bg, #dce8e9);
    line-height: 1.65;
}

a {
    color: var(--site-link, var(--yoga-primary));
    text-underline-offset: .18em;
}

a:hover,
a:focus-visible {
    color: var(--yoga-primary-dark);
}

img {
    max-width: 100%;
    height: auto;
}

#container {
    min-height: 100vh;
    overflow: hidden;
    background: var(--site-content-bg, #fff);
}

.site-header {
    padding: 1rem 1.25rem;
    background: var(--site-header-bg, #fff);
}

.site-logo {
    width: 100%;
    max-width: 700px;
    max-height: var(--site-header-height, 188px);
    object-fit: contain;
}

#menu {
    --bs-navbar-color: var(--site-menu-text, rgba(255, 255, 255, .9));
    --bs-navbar-hover-color: var(--site-menu-text, #fff);
    --bs-navbar-active-color: var(--site-menu-text, #fff);
    --bs-navbar-brand-color: var(--site-menu-text, #fff);
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, .35);
    background: var(--site-menu-bg, var(--yoga-primary));
    margin: .75rem 1rem 0;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 1rem;
    box-shadow: 0 .35rem 1rem rgba(23, 77, 96, .18);
}

#menu .nav-link {
    padding: .85rem 1rem;
    border-radius: .65rem;
    font-weight: 600;
}

#menu .nav-link:hover,
#menu .nav-link:focus,
#menu .nav-link.show,
#menu .nav-link.active {
    background: rgba(255, 255, 255, .12);
}

#menu .dropdown-menu {
    min-width: 18rem;
    max-height: min(70vh, 34rem);
    overflow-y: auto;
    padding: .6rem;
    border: 0;
    border-radius: .85rem;
    box-shadow: 0 .75rem 2rem rgba(23, 77, 96, .16);
}

#menu .dropdown-item {
    padding-top: .55rem;
    padding-bottom: .55rem;
    white-space: normal;
    border-radius: .55rem;
}

#menu .dropdown-item:hover,
#menu .dropdown-item:focus {
    color: var(--yoga-primary-dark);
    background: var(--yoga-soft);
}

#menu .dropdown-item.active {
    color: #fff;
    background: var(--site-menu-bg, var(--yoga-primary));
}

#main {
    flex: 1 0 auto;
    background: var(--site-content-bg, #fff);
}

#centro {
    min-width: 0;
    background: transparent;
}

#centro h1 {
    color: var(--site-title-text, var(--yoga-ink));
    font-weight: 750;
    letter-spacing: -.025em;
}

.breadcrumb {
    --bs-breadcrumb-divider-color: var(--yoga-muted);
    --bs-breadcrumb-item-active-color: var(--yoga-muted);
}

.content-detail {
    padding: clamp(1rem, 3vw, 2rem);
    border: 1px solid var(--site-box-border, #d8e4e7);
    border-radius: 1rem;
    background: var(--site-content-bg, #fff);
    box-shadow: 0 .5rem 1.5rem rgba(24, 66, 78, .06);
}

.content-detail::after {
    display: block;
    clear: both;
    content: "";
}

#centro .card {
    overflow: hidden;
    border: 1px solid var(--site-box-border, transparent) !important;
    border-radius: 1rem;
    box-shadow: 0 .5rem 1.5rem rgba(24, 66, 78, .08) !important;
}

#centro .card-body {
    padding: clamp(1rem, 3vw, 1.5rem);
}

.box_home .testo {
    color: #273a42;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.04rem;
}

.content-body {
    color: var(--site-text, #273a42);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.04rem;
}

.box_home .testo > :last-child,
.content-body > :last-child {
    margin-bottom: 0;
}

.content-body img {
    max-width: 100%;
    height: auto;
}

.home-card-image {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 1rem;
    background: var(--yoga-soft);
}

.home-card-photo {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 32rem;
    object-fit: contain;
}

.home-primary::after {
    display: block;
    clear: both;
    content: "";
}

.home-primary {
    display: block;
}

.home-primary-image {
    width: min(42%, 28rem);
}

.home-primary-image img {
    width: 100%;
    max-height: 32rem;
    object-fit: contain;
    background: var(--yoga-soft);
}

.content-card-image {
    display: block;
    height: 100%;
    min-height: 15rem;
}

.content-main-image {
    width: min(42%, 28rem);
}

.content-main-image img {
    max-height: 28rem;
    background: var(--yoga-soft);
}

.content-gallery {
    clear: both;
}

.category-card {
    transition: transform .18s ease, box-shadow .18s ease;
}

.category-card:hover,
.category-card:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 .75rem 1.8rem rgba(24, 66, 78, .14) !important;
}

a[data-bs-lightbox] {
    display: block;
    cursor: zoom-in;
}

.sidebar-card {
    overflow: hidden;
    border: 1px solid var(--site-box-border, transparent) !important;
    border-radius: .9rem;
    background: linear-gradient(145deg, #fff, #f5f9f9);
}

#colonna-s {
    background: transparent;
}

.sidebar-card h2 {
    color: var(--yoga-primary-dark);
    font-weight: 700;
}

.sidebar-card a {
    font-weight: 600;
    text-decoration: none;
}

#footer {
    flex-shrink: 0;
    color: var(--site-footer-text, var(--yoga-muted));
    background: var(--site-footer-bg, #f7faf9);
    font-size: .92rem;
}

#footer p:last-child {
    margin-bottom: 0;
}

#footer a {
    color: var(--site-footer-link, var(--yoga-primary));
}

.pagination .page-link {
    color: var(--yoga-primary);
}

.pagination .active > .page-link {
    color: #fff;
    border-color: var(--yoga-primary);
    background: var(--yoga-primary);
}

.site-gallery-modal .modal-dialog {
    max-width: min(96vw, 1320px);
}

.site-gallery-modal .modal-content {
    overflow: hidden;
    border-radius: 1rem;
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .45);
}

.gallery-modal-image {
    width: auto;
    max-width: 100%;
    max-height: 76vh;
    object-fit: contain;
}

.gallery-control {
    width: 12%;
    min-width: 3.5rem;
    opacity: .8;
}

.gallery-control:hover,
.gallery-control:focus-visible {
    opacity: 1;
}

@media (max-width: 991.98px) {
    body {
        background: var(--site-page-bg, #edf4f4);
    }

    #container {
        width: 100%;
        max-width: none;
        box-shadow: none !important;
    }

    .site-header {
        padding: .6rem 1rem;
    }

    .site-logo {
        max-height: 125px;
    }

    .content-main-image {
        width: 100%;
    }

    .home-primary-image {
        float: none;
        width: 100%;
        margin-right: 0 !important;
    }

    #menu .navbar-nav {
        padding: .75rem 0;
    }

    #menu .dropdown-menu {
        max-height: none;
        margin: .25rem 0 .5rem;
        background: rgba(255, 255, 255, .96);
    }
}

@media (max-width: 575.98px) {
    #menu {
        margin: .5rem .75rem 0;
        border-radius: .85rem;
    }

    #main {
        padding-right: .75rem !important;
        padding-left: .75rem !important;
    }

    #centro .card .object-fit-cover {
        max-height: 18rem;
    }

    .home-card-photo {
        max-height: 24rem;
    }

    .gallery-control {
        width: 18%;
        min-width: 2.75rem;
    }
}
