@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');

*{
    padding:0;
    margin:0;
}

html{
    margin: 0;
    height: 100%;
    /*background-color: #eaf0f2;*/
}

body{
    margin: 0;
    height: 100%;
    font:14px/1.5 Arial, Helvetica, sans-serif;
    background: url("src/img/bench-carved-stones-cemetery-257360.jpg") center no-repeat;
    background-size: cover;
    overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
}

/* MAP */
#map_container {
    display: flex;
    flex-direction: column;
    margin: 50px 50px 0;
    height: 80%;
    border-radius: 10px;
}

#body_container {
    display: block;
    margin: 50px 50px 0;
    height: 80%;
    border-radius: 10px;
    overflow-y: auto;
    background-color: #ffffffdd;
    padding: 10px;
    text-align: center;
    text-align: -moz-center;
    text-align: -webkit-center;
}

#list {
    background-color: rgba(177,255,168,0.85);
    height: 30%;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    min-height: 200px;
}

/* Style pour le scroll horizontal des cards */
#list::-webkit-scrollbar {
    height: 6px;
}

#list::-webkit-scrollbar-track {
    background: rgba(255,255,255,0.1);
    border-radius: 3px;
}

#list::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.3);
    border-radius: 3px;
}

#list::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,0.5);
}

#parent_map {
    height: 70%;
    width: 100%;
    position: relative;
    flex-shrink: 1;
    min-height: 40%;
}

#map {
    width: 100%;
    height: 100%;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
}

@media (max-width:640px), (max-height:480px){
    #map_container {
        margin: 10px;
        height: 95%;
    }
    #parent_map {
        height: 65%;
        min-height: 30%;
    }
    #list {
        height: 35%;
        min-height: 120px;
    }
    #body_container {
        margin: 20px;
        height: 90%;
    }
    /* Compact recommendations on mobile */
    #recommendations-section {
        padding: 6px 10px 4px !important;
    }
    #recommendations-section h6 {
        font-size: 11px !important;
    }
    #recommendations-section .btn {
        font-size: 9px !important;
        padding: 1px 6px !important;
    }
    #recommendations-container > a {
        width: 140px !important;
        margin-right: 8px !important;
    }
    #recommendations-container img {
        height: 65px !important;
    }
    #recommendations-container > a > div > div:last-child {
        padding: 5px !important;
    }
}

/* FOOTER */
footer{
    position: fixed;
    bottom: 0;
}

.footer-distributed{
    background-color: #292c2f;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.12);
    box-sizing: border-box;
    width: 100%;
    text-align: left;
    font: normal 16px sans-serif;
    padding: 5px 40px;
    margin-bottom: 0;
}

@media (max-width:640px), (max-height:480px){
    footer {position: static}
    .footer-distributed .footer-left, .footer-distributed .footer-right{
        text-align: center;
    }

    .footer-distributed .footer-right{
        float: none;
        margin: 0 auto 20px;
    }

    .footer-distributed .footer-left p.footer-links{
        line-height: 1.8;
    }
    
    /* Reduce padding on mobile to give more breathing room */
    .footer-distributed{
        padding: 10px 15px !important;
        margin-bottom: 0 !important;
        padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    }
    
    /* Add bottom padding to body to create scrollable space for footer on iPhone */
    body {
        padding-bottom: calc(80px + env(safe-area-inset-bottom));
    }
}

.footer-distributed .footer-left{
    margin-top: 10px;
}

.footer-distributed .footer-left p{
    color:  #8f9296;
    font-size: 14px;
    margin: 0;
}

/* Footer links */

.footer-distributed p.footer-links{
    font-size:14px;
    font-weight: bold;
    color:  #ffffff;
    margin: 0 0 10px;
    padding: 0;
}

.footer-distributed p.footer-links a{
    display:inline-block;
    line-height: 1.8;
    text-decoration: none;
    color:  inherit;
}

.footer-company-name, .footer-company-name * * {
    color: #8f9296 !important;
    font-size: 11px;
    font-weight: normal;
}

.footer-distributed .footer-right{
    float: right;
    margin-top: 6px;
    max-width: 180px;
}

.footer-distributed .footer-right a{
    display: inline-block;
    width: 35px;
    height: 35px;
    background-color:  #33383b;
    border-radius: 2px;

    font-size: 20px;
    color: #ffffff;
    text-align: center;
    line-height: 35px;

    margin-left: 3px;
}

.carte_svg {
    width: 85%;
    margin: 0 auto;
}
.carte_svg path {
    stroke: #000000;
    stroke-width: 1px;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-opacity: .25;
    fill: #86aae0;
}
.carte_svg g:hover path {
    fill: #86cce0;
}
.carte_svg g path:hover {
    fill: #86eee0;
}
.departement_fiche_card {
    transition: 0.3s ease-in-out;
}
.departement_fiche_card:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    transform: scale(1.02, 1.02);
}

/* Styles pour les cartes d'autres parcours */
.autre_parcours_card, .autre_parcours_card_mobile {
    transition: all 0.3s ease;
}

.autre_parcours_card:hover, .autre_parcours_card_mobile:hover {
    background-color: rgba(255,255,255,0.5) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Styles pour le carrousel de photos */
#photoCarousel .carousel-control-prev,
#photoCarousel .carousel-control-next {
    background-color: rgba(0, 0, 0, 0.3);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    border: none;
}

#photoCarousel .carousel-control-prev {
    left: 15px;
}

#photoCarousel .carousel-control-next {
    right: 15px;
}

#photoCarousel .carousel-control-prev-icon,
#photoCarousel .carousel-control-next-icon {
    width: 20px;
    height: 20px;
    background-size: 100% 100%;
}

#photoCarousel .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='m11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

#photoCarousel .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

#photoCarousel .carousel-indicators {
    bottom: 15px;
}

#photoCarousel .carousel-indicators button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin: 0 5px;
    background-color: rgba(255, 255, 255, 0.6);
    border: 2px solid rgba(255, 255, 255, 0.8);
}

#photoCarousel .carousel-indicators button.active {
    background-color: rgba(255, 255, 255, 1);
}
/* Breadcrumb Navigation */
.pds-breadcrumb .breadcrumb {
    background: transparent;
    padding: 8px 15px;
    margin: 0;
    font-size: 13px;
}
.pds-breadcrumb .breadcrumb-item a {
    color: #27ae60;
}
.pds-breadcrumb .breadcrumb-item.active {
    color: #666;
}
