/* Palette Prestige avec Vert Olive */
:root {
    --vert-olive: #397f41;
    --vert-profond: #2F4F4F;
    --bleu-nuit: #003366;
    --or-chaud: #1b5e20;
    --beige-champagne: #F5E6C4;
    --blanc-perle: #FAF9F6;
}

/* Classes de fond */
.bg-vert-olive { background-color: var(--vert-olive); }
.bg-vert-profond { background-color: var(--vert-profond); }
.bg-bleu-nuit { background-color: var(--bleu-nuit); }
.bg-or-chaud { background-color: var(--or-chaud); }
.bg-beige-champagne { background-color: var(--beige-champagne); }
.bg-blanc-perle { background-color: var(--blanc-perle); }

/* Classes de texte */
.text-vert-olive { color: var(--vert-olive); }
.text-vert-profond { color: var(--vert-profond); }
.text-bleu-nuit { color: var(--bleu-nuit); }
.text-or-chaud { color: var(--or-chaud); }
.text-beige-champagne { color: var(--beige-champagne); }
.text-blanc-perle { color: var(--blanc-perle); }

/* Classes de bordure */
.border-vert-olive { border-color: var(--vert-olive) !important; }
.border-vert-profond { border-color: var(--vert-profond) !important; }
.border-bleu-nuit { border-color: var(--bleu-nuit) !important; }
.border-or-chaud { border-color: var(--or-chaud) !important; }
.border-beige-champagne { border-color: var(--beige-champagne) !important; }
.border-blanc-perle { border-color: var(--blanc-perle) !important; }

body:not(#bodyHome)
{
    margin-top : 93px;
    position: relative;
}

@media (max-width: 992px) {
    body:not(#bodyHome) {
        margin-top: 89px !important;
    }
}

#carouselIndicators
{
    height: 100vh;
    min-height: 500px;
    overflow: hidden;
}

#carouselIndicators .carousel-item
{
    height: 100vh;
}

.cover
{
    background-position: center;
    background-repeat: no-repeat;

    background-size: cover;
    -o-background-size: cover;
    -moz-background-size: cover;
    -webkit-background-size: cover;
}

.zoom-bg
{
    transition: transform 0.6s ease;
}

.img-cropped
{
    width: 100%;
    max-height: 250px;
}

.overlay-dark
{
    position: absolute;

    top:0;
    left:0;

    background-color: rgba(0, 0, 0, 0.65);

    overflow: hidden;
    z-index: 1;
}

.overlay
{
    position: absolute;

    top:0;
    left:0;

    background-color: rgba(0, 0, 0, 0.4);

    overflow: hidden;
    z-index: 1;
}

.content-carousel
{
    margin-left: 15%;
    margin-right: 15%;
}

.content-overlay
{
    position: relative;
    z-index: 2;
}

@keyframes blink
{
    0% { opacity: 0.5; }
    50% { opacity: 1; }
    100% { opacity: 0.5; }
}

.image-placeholder
{
    background-color: #ccc;
    width: 100%;
    aspect-ratio: 4 / 3;
    animation: blink 1.2s infinite ease-in-out;
}

body
{
    background: url('../assets/background.png') no-repeat center center fixed;
    background-size: cover;
    height: 100vh;
}

.grid:after
{
    content: '';
    display: block;
    clear: both;
}

.breadcrumb
{
    border-radius: 0;
}

.anchor
{
    scroll-margin-top: 120px;
}

.breadcrumb-item::before
{
    color: #FAF9F6 !important;
}

.navItemDivider
{
    border-bottom : 1px solid #31373D;
}

.zoom-card {
    position: relative;
    overflow: hidden;
}

.href-gallery:hover
{
    cursor: pointer;
}

.icon
{
    opacity: 0;
    transition: opacity 0.5s ease;
}

.href-gallery:hover .icon
{
    opacity: 1;
}

.href-gallery img
{
    object-fit: cover;
    transform: scale(1);
    transition: transform 0.5s ease;
}

.href-gallery:hover img
{
    transform: scale(1.1);
}

.overlay-gallery
{
    inset: 0;

    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;

    transition: opacity 0.3s ease;
    pointer-events: none;
}

.href-gallery:hover .overlay-gallery
{
    opacity: 1;
}

.zoom-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: inherit;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
    transform: scale(1);
    transition: transform 1s ease; /* Plus lent et progressif */
}

.zoom-card:hover::before {
    transform: scale(1.1); /* Zoom léger et progressif */
}


.zoom-container img
{
    object-fit: cover;
    transform: scale(1);
    transition: transform 0.5s ease;
}

.zoom-container:hover img
{
    transform: scale(1.1);
}

.zoom-container .icon
{
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: opacity 0.5s ease;
}

.zoom-container:hover .icon
{
    opacity: 1;
}