/*
 Theme Name:   Travel Tour Child
 Theme URI:    https://goodlayers.com/
 Description:  Travel Tour Child Theme with Wise payment
 Author:       Guy Dumais / Guide Morocco Tours
 Template:     traveltour
 Version:      1.0.0
*/


/* NAVIGATION */
/* Force burger menu to show earlier under 1230px */
@media only screen and (max-width: 1230px) {
    .traveltour-header-inner .traveltour-logo,
    .traveltour-sticky-navigation {
        display: none !important;
    }
    
    .traveltour-mobile-header-wrap {
        display: block !important;
    }
}

/* Sub-menu vertical offset */
#traveltour-main-menu ul.sub-menu,
.traveltour-main-menu ul.sub-menu {
    margin-top: -40px !important;
}

header .sub-menu {
    margin-left: -23px!important;    
}

/* PAGE */
@media (min-width: 767px) {
#GMT-CONTENT-OFFSET {
    margin-top: -150px;
    z-index: 999;
}
}

/* SINGLE TOUR */
.traveltour-page-title-wrap .traveltour-page-title {
    letter-spacing: -1px;
}
.tourmaster-single-header-title {
    font-size: 48px!important;
}
@media screen and (max-width: 599px) {
    .tourmaster-single-header-title {
        font-size: 28px !important;
        line-height: 1.2 !important;
    }
}

/* WIDGETS */
@media screen and (min-width: 768px) and (max-width: 999px) {
    .tourmaster-tour-booking-bar-wrap {
        display: flex!important;
        width: auto!important;
        align-content: start;
        gap: 30px !important;
    }
    .tourmaster-tour-booking-bar-outer {
        width: 100%!important;
    }
    .traveltour-sidebar-area {
        padding-top: 10px!important;
    }
}

.gdlr-core-widget-list-shortcode {
    background-color: #cbac5209;
}
.gdlr-core-widget-list-shortcode ul {
    color: #000;
}
.gdlr-core-widget-list-shortcode ul li {
    border-color: #cbac52;
    border-style: dotted;
}

/* Hide "Save To Wish List" */
.tourmaster-save-wish-list {
    display: none !important;
}

/* Center views counter */
.tourmaster-booking-bottom .tourmaster-view-count {
    display: none!important;
    /*
    float: none !important;
    text-align: center !important;
    width: 100% !important;
    */
}


/* GTRANSLATE Widget */
.gtranslate_wrapper select {
    background: transparent;
    color: #ffffff;
    font-size: 15px;
    /*padding: 4px!important;*/
    border: 0;
    width: auto !important;
    max-width: fit-content !important;
    
    /* Supprimer la flèche native du navigateur */
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;

    /* Flèche SVG agrandie et mieux proportionnée */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="%23ffffff"><path d="M7 10l5 5 5-5z"/></svg>') !important;
    background-repeat: no-repeat !important;
    
    /* Dimensions augmentées à 22px et alignement */
    background-size: 22px 22px !important;
    background-position: right -2px center !important;
    
    /* Espace très court à droite pour coller la flèche au texte */
    /*padding-right: 14px !important;*/
    /*padding-left: 0 !important;*/
    
    background-color: transparent !important;
    color: #ffffff !important;
    border: none !important;
    outline: none !important;
    cursor: pointer !important;
    margin-right: 50px;
    padding: 20px;
    margin-top: -16px;
}
.gtranslate_wrapper select option {
    background: #000000;
    padding: 20px!important;
    font-size: 15px;
    cursor: pointer;
    text-indent: 10px;
    border-width:10px!important;
}
/*
.gtranslate_wrapper .gt_switcher {
    width: 100px!important;
}
.gtranslate_wrapper .gt_switcher,
.gtranslate_wrapper .gt_switcher div {
    background: none!important;
    color: #fff!important;
}
.gtranslate_wrapper .gt_option {
    border: 0!important;
}
.gtranslate_wrapper img {
    display: none!important;
}
.gtranslate_wrapper a {
     border: 0!important;
    line-height: 24px!important;
    color: #fff!important;
}
.gtranslate_wrapper a:hover {
    background: none!important;
}
*/


/* ================
   HOME PAGE SLIDER
   ================ */
/* Clickable full slide */
#GMT-SLIDE-2 .tourmaster-tour-grid {
    position: relative;
}
#GMT-SLIDE-2 .tourmaster-tour-rating-text {
    color: #CBAC52;
}
#GMT-SLIDE-2 .tourmaster-tour-grid .tourmaster-tour-title a::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
}

#GMT-SLIDE-2 .tourmaster-tour-title svg {
    display: none !important;
}

/* Slider height */
#GMT-SLIDE-2,
#GMT-SLIDE-2 .gdlr-core-flexslider,
#GMT-SLIDE-2 .flex-viewport {
    height: 750px !important;
    /*min-height: 600px !important;*/
    max-height: 750px !important;
    position: relative !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Slider width */
#GMT-SLIDE-2 ul.slides {
    transform: none !important; /* Neutralise le translate3d() de Flexslider */
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    display: block !important;
}

/* Stack slides */
#GMT-SLIDE-2 ul.slides > li {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.6s ease-in-out !important;
    z-index: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Show only active slides */
#GMT-SLIDE-2 ul.slides > li.flex-active-slide {
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2 !important;
}

/* Slide  content layout */
#GMT-SLIDE-2 .tourmaster-tour-grid,
#GMT-SLIDE-2 .tourmaster-tour-grid-inner {
    height: 100% !important;
    width: 100% !important;
    position: relative !important;
}

/* Slide image */
#GMT-SLIDE-2 .tourmaster-tour-thumbnail,
#GMT-SLIDE-2 .tourmaster-tour-thumbnail a {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1 !important;
    display: block !important;
}

#GMT-SLIDE-2 .tourmaster-tour-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    max-width: none !important;
    display: block !important;
}

/* Center content */
#GMT-SLIDE-2 .tourmaster-tour-content-wrap {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 2 !important;
    
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    padding: 20px 40px !important;
    box-sizing: border-box !important;

    background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.65) 100%) !important;
}

/* Typography and Badge */
#GMT-SLIDE-2 .tourmaster-tour-title,
#GMT-SLIDE-2 .tourmaster-tour-title a,
#GMT-SLIDE-2 .tourmaster-tour-title span {
    color: #ffffff !important;
    font-size: 48px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.7) !important;
    max-width: 750px !important;
}

#GMT-SLIDE-2 .tourmaster-tour-content {
    color: #ffffff !important;
    font-size: 18px !important;
    max-width: 900px !important;
    margin-top: 10px !important;
    opacity: 0.95 !important;
    text-shadow: 0px 1px 4px rgba(0, 0, 0, 0.7) !important;
}

#GMT-SLIDE-2 .tourmaster-thumbnail-ribbon {
    position: relative !important;
    margin-bottom: 15px !important;
    display: inline-block !important;
    z-index: 3 !important;
}


/* Navigation arrows */
#GMT-SLIDE-2 .flex-direction-nav a {
    z-index: 20 !important;
}

/* Mobile responsive */
@media (max-width: 767px) {
    /* Mobile reset */
    #GMT-SLIDE-2 {
        position: relative !important;
        left: 0 !important;
        right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .gdlr-core-pbf-wrapper-full-no-space {
        max-width: 100%!important;
    }

    /* Reset height and padding */
    #GMT-SLIDE-2,
    #GMT-SLIDE-2 .gdlr-core-flexslider,
    #GMT-SLIDE-2 .flex-viewport,
    #GMT-SLIDE-2 ul.slides,
    #GMT-SLIDE-2 ul.slides > li {
        height: 350px !important;
        min-height: 350px !important;
        max-height: 350px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Reset mobile margins */
    #GMT-SLIDE-2.tourmaster-item-pdlr,
    #GMT-SLIDE-2 .gdlr-core-item-mglr,
    #GMT-SLIDE-2 .tourmaster-tour-grid,
    #GMT-SLIDE-2 .tourmaster-tour-grid-inner {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Typography */
    #GMT-SLIDE-2 .tourmaster-tour-title,
    #GMT-SLIDE-2 .tourmaster-tour-title a,
    #GMT-SLIDE-2 .tourmaster-tour-title span {
        font-size: 28px !important;
    }

    #GMT-SLIDE-2 .tourmaster-tour-content {
        font-size: 13px !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    #GMT-SLIDE-2 .tourmaster-tour-content-wrap {
        padding: 15px 20px !important;
    }
}


/* BADGE */
#GMT-SLIDE-2 .tourmaster-thumbnail-ribbon {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    float: none !important;

    display: inline-block !important;
    margin: 0 0 15px 0 !important; /* Marge uniquement en bas pour l'espacement avec le titre */
    
    padding: 6px 16px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    box-sizing: border-box !important;

    border: none !important;
    border-radius: 3px !important; /* Optionnel : arrondit légèrement les coins si désiré */
}

#GMT-SLIDE-2 .tourmaster-thumbnail-ribbon::before,
#GMT-SLIDE-2 .tourmaster-thumbnail-ribbon::after {
    display: none !important;
    content: none !important;
}

#GMT-SLIDE-2 .tourmaster-thumbnail-ribbon-cornor {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}




/* MOBILE */
@media (max-width: 767px) {
    #GMT-SLIDER-1 .flex-viewport,
    #GMT-SLIDER-1 .flex-viewport li {
        height: 300px !important;
    }

    #GMT-SLIDER-1 .gdlr-core-image-overlay-title {
        font-size: 18px !important;
    }
    #GMT-SLIDER-1 .gdlr-core-image-overlay-caption {
        font-size: 14px !important;
    }
}

/*@media (min-width: 768px) {*/
    /* CUSTOM CLASSES */
    .paragrapgh-hpad {
        max-width: 1000px;
        margin: auto;
        /*
        padding-left: 150px!important;
        padding-right: 150px!important;
        */
    }
/*}*/

/* REVIEW */
.tripadvisor-footer-btn {
    flex-direction: column;
    display: inline-flex;
    align-items: center;
    background-color: #ffffff;
    color: #000000;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tripadvisor-footer-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.tripadvisor-footer-btn span {
    color:#000;
}

.tourmaster-single-review-content {
    padding-left:0;
}
.tourmaster-single-review-content .tourmaster-single-review-detail {
    border: 0;
    padding-bottom: 0;
}


/* FOOTER */
footer .traveltour-footer-column:not(:first-child) {
    margin-top:40px;
}

/* COOKIEB BANNER */
/* Bouton "Customise" (Fond transparent, texte et bordure dorés) */
.cky-notice-btn-wrapper .cky-btn-customize {
    color: #CBAC52 !important;
    border-color: #CBAC52 !important;
    background-color: transparent !important;
}

/* Boutons "Reject All" et "Accept All" (Fond doré, texte blanc) */
.cky-notice-btn-wrapper .cky-btn-reject,
.cky-notice-btn-wrapper .cky-btn-accept {
    color: #FFFFFF !important;
    background-color: #CBAC52 !important;
    border-color: #CBAC52 !important;
}

/* Effet au survol des boutons (Optionnel : assombrit légèrement le doré) */
.cky-notice-btn-wrapper .cky-btn-reject:hover,
.cky-notice-btn-wrapper .cky-btn-accept:hover {
    background-color: #b09341 !important;
    border-color: #b09341 !important;
}

.cky-notice-btn-wrapper .cky-btn-customize:hover {
    color: #b09341 !important;
    border-color: #b09341 !important;
}

/* --- MODAL COOKIES (CUSTOMIZE) --- */

/* 1. Bouton "Show more" */
.cky-preference-content-wrapper .cky-show-desc-btn {
    color: #CBAC52 !important;
}

/* 2. Boutons du bas (Reject All, Save Preferences, Accept All) */
.cky-prefrence-btn-wrapper .cky-btn-reject,
.cky-prefrence-btn-wrapper .cky-btn-preferences,
.cky-prefrence-btn-wrapper .cky-btn-accept {
    color: #FFFFFF !important;
    background-color: #CBAC52 !important;
    border-color: #CBAC52 !important;
}

/* Effet au survol des boutons du modal */
.cky-prefrence-btn-wrapper .cky-btn-reject:hover,
.cky-prefrence-btn-wrapper .cky-btn-preferences:hover,
.cky-prefrence-btn-wrapper .cky-btn-accept:hover {
    background-color: #b09341 !important;
    border-color: #b09341 !important;
}

/* 3. Toggles (Interrupteurs ON/OFF) si présents dans le modal */
.cky-switch input:checked + .cky-slider {
    background-color: #CBAC52 !important;
}

/* 4. Chevrons d'accordéon au survol / actifs */
.cky-accordion-btn:hover, 
.cky-accordion-active .cky-accordion-btn {
    color: #CBAC52 !important;
}

/* --- BANDEAU PRINCIPAL EN FOND DORÉ --- */

/* 1. Fond doré et bordure du bandeau */
.cky-consent-bar {
    background-color: #CBAC52 !important;
    border-color: #b09341 !important;
}

/* 2. Couleur du titre et du texte (Blanc pour contraster avec le doré) */
.cky-consent-bar .cky-title,
.cky-consent-bar .cky-notice-des,
.cky-consent-bar .cky-notice-des p {
    color: #FFFFFF !important;
}

/* 3. Ajustement des boutons sur fond doré */

/* Bouton "Customise" (Texte et bordure blancs) */
.cky-notice-btn-wrapper .cky-btn-customize {
    color: #FFFFFF !important;
    border-color: #FFFFFF !important;
    background-color: transparent !important;
}

/* Boutons "Reject All" et "Accept All" (Fond noir/sombre pour ressortir sur le doré) */
.cky-notice-btn-wrapper .cky-btn-reject,
.cky-notice-btn-wrapper .cky-btn-accept {
    color: #FFFFFF !important;
    background-color: #212121 !important;
    border-color: #212121 !important;
}

/* Hover des boutons sur le bandeau */
.cky-notice-btn-wrapper .cky-btn-reject:hover,
.cky-notice-btn-wrapper .cky-btn-accept:hover {
    background-color: #000000 !important;
    border-color: #000000 !important;
}

.cky-notice-btn-wrapper .cky-btn-customize:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
}

/* Hide cookie settings floating button */
.cky-btn-revisit-wrapper {
    display: none !important;
}

/* Cursor hand on Cookie Settings link */
.cky-banner-element,
a.cky-banner-element,
.cky-banner-element a {
    cursor: pointer !important;
}

/* PRICE BREAKDOWN */
/* 1. Force price breakdown show */
.tourmaster-price-breakdown {
    display: block !important;
}

/* 2. Hide "View Price Breakdown" */
#tourmaster-tour-booking-bar-price-breakdown-link,
.tourmaster-tour-booking-bar-price-breakdown-link {
    display: none !important;
}

/* COUPON CODE*/
.tourmaster-tour-booking-bar-coupon-wrap {
    display: none !important;
}

/* BOOKING FORM */
.tourmaster-tour-payment-content h3 {
    color: #CBAC52!important;
}
/* Replace Contact Details icon missing icon */
.tourmaster-payment-contact-title i.fa-file-text-o,
.tourmaster-payment-billing-title i.fa-file-text-o,
.tourmaster-payment-additional-note-title i.fa-file-text-o,
.tourmaster-payment-detail-title i.fa-file-text-o {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900; /* Use 400 for regular style */
    display: inline-block;
}

.tourmaster-payment-contact-title i.fa-file-text-o::before,
.tourmaster-payment-billing-title i.fa-file-text-o::before,
.tourmaster-payment-additional-note-title i.fa-file-text-o::before,
.tourmaster-payment-detail-title i.fa-file-text-o::before {
    content: "\f15c" !important; /* Code Unicode pour fa-file-lines */
}

/* BOOKING BAR */
.tourmaster-tour-booking-bar-summary h3 {
    color: #CBAC52!important;
}
.tourmaster-tour-booking-bar-deposit-option label {
    font-size: 13px;
}
.tourmaster-tour-booking-bar-summary {
    padding-bottom: 20px!important;
}
/*
@media screen and (min-width: 996px) {
    .tourmaster-tour-booking-bar-wrap,
    #tourmaster-tour-booking-bar-wrap {
        width: 400px !important;
        max-width: 100% !important;
    }

    .tourmaster-tour-booking-bar-outer,
    .tourmaster-tour-booking-bar-inner,
    .tourmaster-tour-booking-bar-summary {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}
*/

/* CURRENCY SWITCHER */
.traveltour-main-menu-right-wrap {
    display: none !important;
}
/* Couleur du texte principal et de la flèche */
.traveltour-copyright-wrapper .tourmaster-currency-switcher {
    margin-top: 0px;
    padding: 6px 18px;
}
.traveltour-copyright-wrapper .tourmaster-currency-switcher .tourmaster-head,
.traveltour-copyright-wrapper .tourmaster-currency-switcher .tourmaster-head span,
.traveltour-copyright-wrapper .tourmaster-currency-switcher .tourmaster-head i {
    color: #ffffff !important;
}
.traveltour-copyright-wrapper .tourmaster-currency-switcher .tourmaster-head {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    margin: auto;
}
.traveltour-copyright-wrapper .tourmaster-currency-switcher .tourmaster-head i::before {
    position: absolute;
    top: 1px;
    margin:0!important;
    vertical-align: middle!important;
    line-height: 21px!important;
    /*padding-top:5px!important;*/
}
.traveltour-copyright-wrapper .tourmaster-currency-switcher .tourmaster-head > span {
    font-size: 16px;
    letter-spacing: 0px!important;
    font-weight: normal;
}
/* Changement de couleur au survol du texte */
.traveltour-copyright-wrapper .tourmaster-currency-switcher .tourmaster-head:hover {
    color: #cda351 !important; /* Ta couleur d'accentuation / dorée */
}

.traveltour-copyright-wrapper .tourmaster-currency-switcher .tourmaster-head span {
    margin: auto!important
}

/* Menu déroulant (fond sombre et bordure) */
.traveltour-copyright-wrapper .tourmaster-currency-switcher .tourmaster-currency-switcher-content {
    background-color: #1a1a1a !important;
    border: 1px solid #333333 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5) !important;
}

/* Liens des devises dans le menu déroulant */
.traveltour-copyright-wrapper .tourmaster-currency-switcher .tourmaster-currency-switcher-content ul li a {
    color: #dddddd !important;
}

/* Effet au survol d'une devise dans la liste */
.traveltour-copyright-wrapper .tourmaster-currency-switcher .tourmaster-currency-switcher-content ul li a:hover {
    color: #ffffff !important;
    background-color: #2a2a2a !important;
}
/* 1. Définir le conteneur parent en position relative */
.tourmaster-currency-switcher {
    position: relative !important;
}

/* 2. Positionner le menu déroulant au-dessus au lieu d'en dessous */
.tourmaster-currency-switcher .tourmaster-currency-switcher-inner {
    top: auto !important;
    bottom: 100% !important; /* Place le menu juste au-dessus du texte */
    margin-bottom: 8px !important; /* Espace entre le texte et le menu */
}

.tourmaster-currency-switcher .tourmaster-head i.fa-sort-down {
    margin-left:10px;
}
/* 3. Inverser la petite flèche (icône) pour qu'elle pointe vers le haut */
/*
.tourmaster-currency-switcher .tourmaster-head i.fa-sort-down,
.tourmaster-currency-switcher .tourmaster-head i.fa-caret-down {
    transform: rotate(180deg) !important;
    display: inline-block !important;
}
*/

/* PAYMENT */
.tourmaster-payment-method-wrap .tourmaster-payment-method-booking-button {
    margin-bottom: 0;
}