/* custom css start here  */

/* Typographie titres site : Plus Jakarta Sans + letter-spacing (style Airbnb) */
@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;600;700;800;900&display=swap");

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif !important;
    letter-spacing: -0.02em;
}

/* Article blog detail: preserve the exact casing stored in the title text */
.tg-blog-detail-area .tg-blog-article-title,
.tg-blog-detail-area .tg-blog-standard-title,
.tg-blog-detail-area .tg-blog-standard-item > .tg-blog-standard-content:first-child h2 {
    text-transform: none !important;
}

/* Blog listings: use an h3-sized heading without the old bold/title-case treatment */
.tg-blog-list-title {
    font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 24px;
    font-weight: 400 !important;
    line-height: 1.25;
    letter-spacing: -0.02em;
    text-transform: none !important;
    color: var(--tg-common-black);
}

.tg-blog-list-title a {
    color: inherit;
    text-transform: none !important;
}

/* Typographie simple pour les paragraphes <p> */
p {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

/* Typographie simple pour .tg-contact-title */
.tg-contact-title {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

/* Typographie simple pour .tg-section-su-subtitle */
.tg-section-su-subtitle {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

/* Typographie simple pour .accordion-header */
.accordion-header,
.accordion-header button,
.accordion-header .accordion-button {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.tg-section-su-title {
    font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 800 !important;
    font-size: 3.5rem !important;
    line-height: 1.15 !important;
    letter-spacing: -0.03em !important;
    text-transform: none !important;
}

@media (max-width: 767px) {
    .tg-section-su-title {
        font-size: 2.25rem !important;
        letter-spacing: -0.02em !important;
    }
}

.tg-section-subtitle,
.tg-breadcrumb-title,
.tg-hero-title,
.tg-hero-2-title,
.tg-hero-3-title,
.tg-hero-4-title,
.tg-hero-tu-title,
.tg-listing-card-title,
.tg-blog-title,
.tg-blog-standard-title,
.tg-blog-post-title,
.tg-blog-sidebar-title,
.tg-cta-title,
.tg-footer-widget-title,
.tg-counter-title,
.tg-banner-title,
.tg-banner-2-big-title h2,
.tg-location-title,
.tg-pricing-title,
.tg-chose-2-title,
.tg-chose-list-title,
.tg-foods-title,
.tg-tour-about-title,
.tg-checkout-form-title,
.tg-checkout-form-title-2,
.tg-checkout-form-title-3,
.tg-product-details-title,
.tg-shop-product-title,
.tg-team-progress-title,
.tg-banner-2-content .tg-section-title-white,
.tg-about-su-funfact-text h3,
.tg-booking-form-title,
.tg-booking-tu-wrapper .tg-booking-form-title,
.tg-banner-5-title,
.tg-tour-details-video-title,
.tg-listing-su-card-item .tg-listing-card-title,
.tg-blog-su-wrapper .tg-blog-title,
.tg-cta-su-wrapper .tg-cta-title,
.tg-footer-su-wrapper .tg-footer-widget-title,
.tg-pricing-su-wrap .tg-pricing-title,
.tg-counter-2-item .tg-counter-title {
    font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif !important;
    letter-spacing: -0.02em;
}

/* Sous-titre theme4_hero : conserver le design d’origine (police Quentin, pas de letter-spacing) */
.tg-hero-area.theme4_hero .tg-hero-3-subtitle {
    font-family: var(--tg-ff-quentin) !important;
    letter-spacing: normal;
}

/* ==========================================================================
   Premium Footer Redesign
   ========================================================================== */
.tg-footer-area-premium {
    background-color: #0d0d0d;
    color: #a0a0a0;
    font-family: 'Outfit', sans-serif;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.tg-footer-area-premium .tg-footer-widget-title {
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    padding-bottom: 0;
}

.tg-footer-area-premium .tg-footer-widget-title::after {
    display: none !important;
}

.tg-footer-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #888;
}

.premium-footer-logo {
    max-height: 50px;
    width: auto;
    filter: brightness(0) invert(1);
}

/* Social Icons */
.tg-footer-social-premium {
    display: flex;
    gap: 12px;
}

.tg-footer-social-premium a {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    color: #fff;
    font-size: 14px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.tg-footer-social-premium a:hover {
    background: #ffffff;
    border-color: #ffffff;
    color: #0d0d0d;
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(255, 255, 255, 0.2);
}

/* Footer Menu */
.footer-links-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links-list li {
    margin-bottom: 12px;
}

.footer-links-list li a {
    color: #888;
    font-size: 15px;
    transition: all 0.3s ease;
    display: inline-block;
    position: relative;
}

.footer-links-list li a:hover {
    color: #fff;
    padding-left: 5px;
}

/* Newsletter Widget */
.tg-footer-newsletter-desc {
    font-size: 14px;
    color: #777;
}

.newsletter-input-group {
    position: relative;
    display: flex;
    align-items: center;
}

.newsletter-input-group input {
    width: 100%;
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 12px !important;
    padding: 14px 60px 14px 20px !important;
    color: #fff !important;
    font-size: 14px;
    transition: all 0.3s ease;
}

.newsletter-input-group input:hover {
    border-color: rgba(255, 255, 255, 0.25) !important;
}

.newsletter-input-group input:focus {
    border-color: rgba(255, 255, 255, 0.45) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.08) !important;
}

.newsletter-input-group button {
    position: absolute;
    right: 6px;
    top: 6px;
    bottom: 6px;
    width: 44px;
    background: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    color: #2b2b2b !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.newsletter-input-group button:hover {
    background: #f0f0f0 !important;
    transform: scale(0.95);
    color: #000000 !important;
}

.newsletter-input-group button i,
.newsletter-input-group button svg,
.newsletter-input-group button svg path {
    font-size: 16px;
    margin-top: 1px;
    color: inherit !important;
    fill: currentColor !important;
}

.footer-links-list li a::before {
    content: '→';
    position: absolute;
    left: -15px;
    opacity: 0;
    transition: all 0.3s ease;
}

.footer-links-list li a:hover {
    color: #fff;
    padding-left: 8px;
}

.footer-links-list li a:hover::before {
    opacity: 1;
    left: -5px;
}

/* Footer Bottom */
.tg-footer-bottom {
    padding: 25px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    background-color: #0a0a0a;
}

.footer-bottom-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.copyright-text p {
    font-size: 14px;
    color: #555;
}

.footer-bottom-links ul li a {
    color: #555;
    font-size: 14px;
    transition: all 0.3s ease;
}

.footer-bottom-links ul li a:hover {
    color: #fff;
}

@media (max-width: 991px) {
    .footer-bottom-content {
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 767px) {
    .tg-footer-main {
        padding-top: 40px;
        padding-bottom: 20px;
    }
}


/* Sous-titres des sections (tg-section-su-subtitle su-subtitle-2) : texte noir et fond gris pâle */
.tg-section-su-subtitle.su-subtitle-2 {
    background: #f3f4f6 !important;
    color: #000000 !important;
}

/* Page /booking/hotel : bouton recharger (Rechercher + Tout réinitialiser) même couleur #468a99 */
.tg-listing-map-area .tg-filter-reset,
.tg-listing-grid-area .tg-filter-reset {
    color: #468a99 !important;
}

.tg-listing-map-area .tg-booking-form-search-btn .bk-search-button,
.tg-listing-grid-area .tg-booking-form-search-btn .bk-search-button,
.tg-booking-form-area .tg-booking-form-search-btn .bk-search-button {
    background: #468a99 !important;
    color: #fff !important;
    border-color: #468a99 !important;
}

.tg-listing-map-area .tg-booking-form-search-btn .bk-search-button:hover,
.tg-listing-grid-area .tg-booking-form-search-btn .bk-search-button:hover,
.tg-booking-form-area .tg-booking-form-search-btn .bk-search-button:hover {
    background: #3a7585 !important;
    color: #fff !important;
    border-color: #3a7585 !important;
}

/* Box des services : Featured (NOW feature) et Sale Offer = variantes de #468a99 */
.tg-listing-card-thumb .tg-listing-item-price-discount.shape-3 {
    background-image: none !important;
    background-color: #468a99 !important;
    color: #fff !important;
}

.tg-listing-card-thumb .tg-listing-item-price-discount.shape-2,
.tg-listing-card-thumb .tg-listing-item-price-discount.offer-btm.shape-2 {
    background-image: none !important;
    background-color: #3a7585 !important;
    color: #fff !important;
}

.tg-listing-card-thumb .tg-listing-item-price-discount.shape {
    background-image: none !important;
    background-color: #5a9caa !important;
    color: #fff !important;
}

/* ============================================================
   Box hôtel – Redesign style Airbnb / image de référence
   ============================================================ */
.tg-listing-hotel-box.tg-listing-card-item,
.tg-listing-hotel-box.tg-listing-card-item.mb-25,
.tg-listing-grid-item .tg-listing-hotel-box.tg-listing-card-item,
.list-card .tg-listing-hotel-box.tg-listing-card-item {
    border: none !important;
    border-width: 0 !important;
    border-color: transparent !important;
    outline: none !important;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.06);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.tg-listing-hotel-box.tg-listing-card-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08), 0 12px 32px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}

.tg-listing-hotel-box:hover .tg-listing-card-thumb img {
    transform: none !important;
}

/* ---- Thumbnail ---- */
.tg-listing-hotel-box .tg-hotel-box-thumb {
    height: 220px;
    padding: 0;
    border-radius: 16px 16px 0 0;
    position: relative;
    display: block;
    overflow: hidden;
}

.tg-listing-hotel-box .tg-hotel-box-thumb-link {
    display: block;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.tg-listing-hotel-box .tg-hotel-box-thumb img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 0;
    transition: transform 0.4s ease;
}

.tg-listing-hotel-box.tg-listing-card-item:hover .tg-hotel-box-thumb img {
    transform: scale(1.03);
}

/* Titre en overlay sur l'image */
.tg-listing-hotel-box .tg-hotel-box-title-overlay {
    position: absolute;
    bottom: 12px;
    left: 14px;
    right: auto;
    width: auto;
    max-width: calc(100% - 28px);
    padding: 8px 16px 10px;
    background: rgba(0,0,0,0.28);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    border-radius: 10px;
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: -0.01em;
    display: inline-flex;
    align-items: center;
    text-align: left;
    overflow: hidden;
    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

.tg-listing-hotel-box .tg-hotel-box-title-overlay-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: clamp(0.75rem, 1.5vw, 1rem);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 900;
    line-height: 1.15;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---- Corps de la card ---- */
.tg-listing-hotel-box .tg-hotel-box-content {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Ligne 1 : label disponibilité + étoiles */
.tg-hotel-box-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.tg-hotel-box-avail-label {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #6b7280;
    line-height: 1;
}

/* Étoiles style booking */
.tg-hotel-box-stars {
    display: flex;
    align-items: center;
    gap: 1px;
    font-size: 12px;
    color: #f59e0b;
    line-height: 1;
}

.tg-hotel-box-stars i {
    font-size: 13px;
}

.tg-hotel-box-stars .tg-hotel-box-rating-value {
    font-size: 12px;
    font-weight: 700;
    color: #374151;
    margin-left: 4px;
}

.tg-hotel-box-stars .tg-hotel-box-rating-count {
    font-size: 11px;
    font-weight: 400;
    color: #9ca3af;
    margin-left: 2px;
}

/* Ligne 2 : horaires (icône horloge + pills) */
.tg-hotel-box-slots-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
    flex-wrap: nowrap;
    overflow: hidden;
}

.tg-hotel-box-clock-icon {
    color: #6b7280;
    font-size: 13px;
    flex-shrink: 0;
}

.tg-hotel-box-slots-list {
    display: flex;
    align-items: center;
    gap: 4px;
    overflow: hidden;
    flex-wrap: nowrap;
    flex: 1;
    min-width: 0;
}

.tg-hotel-box-slot-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 4px 10px;
    border: 1px solid #d1d5db;
    border-radius: 999px;
    background: #fff;
    font-size: 12px;
    color: #374151;
    white-space: nowrap;
    font-weight: 500;
    flex-shrink: 0;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.tg-hotel-box-slot-pill .tg-hotel-box-slot-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    stroke-width: 2;
}

.tg-hotel-box-slot-pill.tg-hotel-box-availability-pill {
    gap: 5px;
    padding-left: 9px;
    border-radius: 6px;
    font-weight: 700;
    color: #111827;
}

.tg-hotel-box-slot-pill.tg-hotel-box-availability-pill span {
    font-weight: 700;
}

a.tg-hotel-box-slot-pill:hover {
    background: #f3f4f6;
    border-color: #9ca3af;
    color: #111827;
    text-decoration: none;
}

.tg-hotel-box-slot-sep {
    color: #9ca3af;
    font-size: 11px;
    flex-shrink: 0;
}

.tg-hotel-box-slot-more {
    font-size: 11px;
    color: #9ca3af;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Ligne 3 : localisation + amenities/expériences */
.tg-listing-hotel-box .tg-hotel-box-location {
    font-size: 12.5px;
    line-height: 1.4;
    color: #6b7280;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 0;
}

.tg-listing-hotel-box .tg-hotel-box-sep {
    margin: 0 3px;
    color: #9ca3af;
}

/* Ligne amenities séparée */
.tg-listing-hotel-box .tg-hotel-box-amenities {
    font-size: 12.5px;
    line-height: 1.4;
    color: #6b7280;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 0;
}

.tg-listing-hotel-box .tg-hotel-box-more {
    color: #9ca3af;
    font-size: 11px;
}

/* Séparateur horizontal */
.tg-hotel-box-divider {
    height: 1px;
    background: #e5e7eb;
    margin: 10px 0;
    width: 100%;
}

/* Ligne prix */
.tg-listing-hotel-box .tg-hotel-box-price-row {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 4px;
    flex-wrap: wrap;
}

.tg-listing-hotel-box .tg-hotel-box-price-current {
    font-weight: 800;
    font-size: 20px;
    line-height: 1.15;
    color: #111827;
    letter-spacing: -0.02em;
}

.tg-listing-hotel-box .tg-hotel-box-price-unit {
    font-size: 13px;
    color: #6b7280;
    font-weight: 400;
    margin-left: 2px;
}

.tg-listing-hotel-box .tg-hotel-box-price-old {
    font-size: 13px;
    color: #9ca3af;
    text-decoration: line-through;
    margin-left: 6px;
}

.tg-listing-hotel-box .tg-hotel-box-discount-pill {
    display: inline-flex;
    align-items: center;
    padding: 4px 11px;
    font-size: 12.5px;
    font-weight: 600;
    color: #fff;
    background: #111827;
    border-radius: 99px;
    margin-left: 6px;
    vertical-align: middle;
    letter-spacing: -0.01em;
    line-height: 1;
}

.tg-listing-hotel-box .tg-hotel-box-date-unavailable,
.tg-hotel-box-date-unavailable {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    min-height: 28px !important;
    padding: 5px 12px !important;
    border: 1px solid #d6a3a3 !important;
    border-radius: 5px !important;
    background: rgba(255, 248, 248, 0.92) !important;
    box-shadow: inset 0 0 0 1px rgba(166, 93, 93, 0.10), 0 1px 0 rgba(17, 24, 39, 0.03) !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: #8f4a4a !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    transform: rotate(-1deg) !important;
    transform-origin: center !important;
}

.tg-listing-hotel-box .tg-hotel-box-date-unavailable::before,
.tg-hotel-box-date-unavailable::before {
    content: "" !important;
    position: absolute !important;
    inset: 3px !important;
    border: 1px solid rgba(143, 74, 74, 0.24) !important;
    border-radius: 3px !important;
    pointer-events: none !important;
}

.tg-listing-hotel-box .tg-listing-avai-btn {
    font-size: 13px;
    font-weight: 500;
    color: var(--tg-theme-primary, #468a99);
}

.tg-listing-hotel-box .tg-listing-avai-btn:hover {
    color: #3a7585;
}

/* Rating dans la ligne prix */
.tg-listing-hotel-box .tg-hotel-box-rating {
    font-size: 13px;
    color: #374151;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 3px;
}

.tg-listing-hotel-box .tg-hotel-box-rating-star {
    color: #f59e0b;
    font-size: 13px;
}

.tg-listing-hotel-box .tg-hotel-box-rating-value {
    font-weight: 700;
    font-size: 13px;
}

.tg-listing-hotel-box .tg-hotel-box-rating-count {
    font-weight: 400;
    font-size: 12px;
    color: #9ca3af;
}

.tg-listing-hotel-box .tg-hotel-box-row-1 {
    align-items: center;
}

.tg-listing-hotel-box .tg-hotel-box-title {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    display: none; /* Caché car le titre est sur l'image */
}

.tg-listing-hotel-box .tg-hotel-box-title a {
    color: #1f2937;
}

.tg-listing-hotel-box .tg-hotel-box-title a:hover {
    color: var(--tg-theme-primary, #468a99);
}

.tg-listing-hotel-box .tg-hotel-box-type-name {
    font-weight: 500;
    font-size: 0.95em;
    color: #6b7280;
}

/* Vue liste /booking/hotel : box hôtel en ligne (image arrondie, pas de zoom) */
.list-card.list-card-open .tg-grid-full .tg-listing-hotel-box .tg-hotel-box-thumb {
    max-width: 288px;
    min-width: 288px;
    height: 100%;
    min-height: 220px;
    padding: 0;
}

.list-card.list-card-open .tg-grid-full .tg-listing-hotel-box .tg-hotel-box-thumb img {
    height: 100%;
    min-height: 220px;
    border-radius: 0;
    transform: none !important;
}

.list-card.list-card-open .tg-grid-full .tg-listing-hotel-box .tg-hotel-box-title-overlay {
    padding: 10px 16px 12px;
}

.list-card.list-card-open .tg-grid-full .tg-listing-hotel-box .tg-hotel-box-title-overlay-text {
    font-size: 0.95rem;
}

/* Home page : bouton « Voir plus » (See More Tours) section tour-package = noir */
.tg-btn-su-transparent {
    background: #000 !important;
    color: #fff !important;
    border-color: #000 !important;
}

.tg-btn-su-transparent:hover {
    background: #333 !important;
    color: #fff !important;
    border-color: #333 !important;
}

/* Page /booking/hotel/{slug} : box tg-tour-details-video-feature-list = fond gris très pâle (pas rose) */
.tg-tour-details-video-feature-list ul li .icon,
.tg-tour-details-video-feature-2-list ul li .icon {
    background: #f5f5f5 !important;
}

/* Section newsletter : champ email avec bordure visible + form arrondi des 2 côtés (pas carré) */
.tg-newsletter-section .tg-footer-form input[type="email"],
.tg-newsletter-section .tg-footer-form input {
    border: 1px solid #d9d9d9 !important;
    border-radius: 10px !important;
}

.tg-newsletter-section .tg-footer-form input:focus {
    border-color: #000 !important;
    outline: none;
}

/* Bouton send plus petit et arrondi des 2 côtés (form inchangé) */
.tg-newsletter-section .tg-footer-form-btn {
    width: 42px !important;
    height: 38px !important;
    min-width: 42px !important;
    border-radius: 14px !important;
    top: 50% !important;
    right: 4px !important;
    transform: translateY(-50%);
}

.tg-newsletter-section .tg-footer-form input {
    padding-right: 50px !important;
}

/* Bouton "Ajouter votre hôtel" : fond blanc, bordure noire (priorité sur main.css) */
.tg-menu-right-action-2 .tg-btn-header.tg-btn-header-outline,
.tg-menu-4-right-action .tg-btn-header.tg-btn-header-outline,
.tg-menu-right-action .tg-btn-header.tg-btn-header-outline {
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #000 !important;
}

.tg-menu-right-action-2 .tg-btn-header.tg-btn-header-outline:hover,
.tg-menu-4-right-action .tg-btn-header.tg-btn-header-outline:hover,
.tg-menu-right-action .tg-btn-header.tg-btn-header-outline:hover {
    background: #000 !important;
    color: #fff !important;
    border-color: #000 !important;
}

/* Header sticky : conserver le style blanc / bordure noire */
.header-sticky .tg-menu-right-action-2 .tg-btn-header.tg-btn-header-outline,
.header-sticky .tg-menu-4-right-action .tg-btn-header.tg-btn-header-outline,
.header-sticky .tg-menu-right-action .tg-btn-header.tg-btn-header-outline {
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #000 !important;
}

.header-sticky .tg-menu-right-action-2 .tg-btn-header.tg-btn-header-outline:hover,
.header-sticky .tg-menu-4-right-action .tg-btn-header.tg-btn-header-outline:hover,
.header-sticky .tg-menu-right-action .tg-btn-header.tg-btn-header-outline:hover {
    background: #000 !important;
    color: #fff !important;
    border-color: #000 !important;
}

/* Header theme4 : boutons Wishlist / Ajouter hôtel / Tableau de bord – responsive sans débordement */
.tg-header-tu-2-wrap,
.tg-header-4-bootom {
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
}

.tg-header-4-bootom .container-fluid,
.tg-header-4-bootom .row,
.tg-header-4-bootom .tgmenu__wrap,
.tg-header-4-bootom .tg-menu-4-right-action,
.tg-header-4-bootom .tg-header-actions-col {
    min-width: 0;
}

.tg-header-4-bootom .row {
    flex-wrap: nowrap;
}

#header-sticky .tg-menu-4-right-action,
.tg-header-4-bootom .tg-menu-4-right-action {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    min-width: 0;
}
#header-sticky .tg-header-btn-wrap,
.tg-header-4-bootom .tg-header-btn-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    margin-left: 12px !important;
    max-width: 100%;
    min-width: 0;
}
#header-sticky .tg-header-btn-wrap .wishlist-header-link,
.tg-header-4-bootom .tg-header-btn-wrap .wishlist-header-link {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    color: var(--tg-heading-color, #05073C);
    font-size: 20px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}

#header-sticky .tg-header-btn-wrap .wishlist-header-link:hover,
.tg-header-4-bootom .tg-header-btn-wrap .wishlist-header-link:hover {
    color: #ff3c62;
}

#header-sticky .tg-header-btn-wrap .wishlist-text,
.tg-header-4-bootom .tg-header-btn-wrap .wishlist-text {
    color: inherit;
    font-family: var(--tg-body-font-family);
    font-size: 15px;
    white-space: nowrap !important;
}

#header-sticky .tg-header-btn-wrap .wishlist-notification-badge,
.tg-header-4-bootom .tg-header-btn-wrap .wishlist-notification-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border: 1.5px solid #fff;
    border-radius: 50%;
    background: #ff3c62;
    box-shadow: 0 2px 5px rgba(255, 60, 98, 0.4);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
}
#header-sticky .tg-header-btn-wrap .tg-btn-header,
.tg-header-4-bootom .tg-header-btn-wrap .tg-btn-header {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    padding: 8px 16px !important;
    gap: 8px !important;
    min-height: 44px;
    box-sizing: border-box;
}

#header-sticky .tg-header-btn-wrap .tg-btn-header--hotel,
.tg-header-4-bootom .tg-header-btn-wrap .tg-btn-header--hotel {
    max-width: 190px;
    overflow: hidden;
    text-overflow: ellipsis;
    background-color: transparent !important;
    color: #111 !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

#header-sticky .tg-header-btn-wrap .tg-btn-header--hotel:hover,
.tg-header-4-bootom .tg-header-btn-wrap .tg-btn-header--hotel:hover {
    background-color: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}

#header-sticky .tg-header-btn-wrap .tg-btn-header--account,
.tg-header-4-bootom .tg-header-btn-wrap .tg-btn-header--account {
    max-width: 185px;
    overflow: hidden;
    text-overflow: ellipsis;
    background-color: #111 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

#header-sticky .tg-header-btn-wrap .tg-btn-header__icon,
.tg-header-4-bootom .tg-header-btn-wrap .tg-btn-header__icon {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    margin-right: 0 !important;
}

#header-sticky .tg-header-btn-wrap .tg-btn-header__label,
.tg-header-4-bootom .tg-header-btn-wrap .tg-btn-header__label {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100%;
    overflow: hidden;
    padding-inline: 2px;
    text-overflow: ellipsis;
    white-space: nowrap !important;
}
@media (max-width: 1500px) {
    #header-sticky .tg-header-btn-wrap,
    .tg-header-4-bootom .tg-header-btn-wrap { gap: 10px !important; margin-left: 10px !important; }
    #header-sticky .tg-header-btn-wrap .tg-btn-header,
    .tg-header-4-bootom .tg-header-btn-wrap .tg-btn-header { padding: 8px 14px !important; font-size: 13px !important; }
}
@media (max-width: 1400px) {
    #header-sticky .tg-header-btn-wrap,
    .tg-header-4-bootom .tg-header-btn-wrap { gap: 10px !important; margin-left: 10px !important; }
    #header-sticky .tg-header-btn-wrap .tg-btn-header,
    .tg-header-4-bootom .tg-header-btn-wrap .tg-btn-header { padding: 8px 14px !important; font-size: 13px !important; }
}
@media (max-width: 1300px) {
    #header-sticky .tg-header-btn-wrap,
    .tg-header-4-bootom .tg-header-btn-wrap { gap: 12px !important; margin-left: 10px !important; }
    #header-sticky .tg-header-btn-wrap .tg-btn-header,
    .tg-header-4-bootom .tg-header-btn-wrap .tg-btn-header { padding: 8px 14px !important; font-size: 13px !important; }
}
@media (max-width: 1350px) {
    #header-sticky .tg-header-btn-wrap .wishlist-text,
    .tg-header-4-bootom .tg-header-btn-wrap .wishlist-text {
        display: none !important;
    }
}
@media (max-width: 1199.98px) {
    #header-sticky .desktop-header-actions,
    .tg-header-4-bootom .desktop-header-actions {
        display: none !important;
    }

    #header-sticky .tg-header-menu-bar,
    .tg-header-4-bootom .tg-header-menu-bar {
        margin-left: auto !important;
    }
}

/* Réduire la marge du menu nav sur écrans desktop compacts pour laisser de la place aux boutons */
@media (max-width: 1799.98px) {
    .tg-header-4-bootom .tgmenu__nav.tgmenu__nav-header { margin-left: 80px !important; }
}
@media (max-width: 1599.98px) {
    .tg-header-4-bootom .tgmenu__nav.tgmenu__nav-header { margin-left: 36px !important; }

    .tg-header-4-bootom .tgmenu__navbar-wrap-4 ul li a,
    .header-sticky .tgmenu__main-menu ul > li > a {
        padding-left: 8px !important;
        padding-right: 8px !important;
        font-size: 13px !important;
    }
}
@media (max-width: 1399.98px) {
    .tg-header-4-bootom .tgmenu__nav.tgmenu__nav-header { margin-left: 0 !important; }
}

/* Logo du header : taille augmentée (thème 1, thème 4, etc.) */
#header-sticky .logo img,
.tg-header__area .logo .logo-1 img,
.tg-header__area .logo .logo-2 img,
.tg-header-4-bootom .logo img {
    max-height: 70px;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Lien de menu actif/sélectionné (URL en cours) : bleu #448af6 */
.tgmenu__navbar-wrap>ul>li.active>a,
.tgmenu__navbar-wrap-2>ul>li.active>a,
.tgmenu__navbar-wrap-4>ul>li.active>a,
.tgmobile__menu .navigation li.active>a,
.header-sticky .tgmenu__navbar-wrap>ul>li.active>a,
.header-sticky .tg-menu-3-wrap .tgmenu__navbar-wrap>ul>li.active>a,
.tgmenu__navbar-wrap ul li .sub-menu li.active>a,
.nav-item .nav-link.active {
    color: #448af6 !important;
}

/* Section theme4_work_process : remplacer le design violet par NOIR (thème 4 = td_theme_2) */
.td_theme_2 .tp-process-area .tg-process-content .tg-section-su-subtitle {
    background: #000 !important;
    color: #fff !important;
}

.td_theme_2 .tp-process-area .tg-process-content .tg-section-su-title {
    color: #fff !important;
}

.td_theme_2 .tp-process-area .tg-process-content .tg-section-su-para {
    color: rgba(255, 255, 255, 0.9) !important;
}

.td_theme_2 .tp-process-area .tg-process-content .tg-btn-transparent {
    background: #fff !important;
    color: #000 !important;
}

.td_theme_2 .tp-process-area .tg-process-content .tg-btn-transparent:hover {
    background: #000 !important;
    color: #fff !important;
    border-color: #fff !important;
}

/* Section work-process : icône slide (mêmes tailles qu’avant, sans tg-chose-list-icon mr-20) */
.tg-process-list .tg-process-slide-icon {
    width: 80px;
    height: 80px;
    margin-right: 20px;
    display: inline-block;
    flex: 0 0 auto;
    overflow: hidden;
    line-height: 0;
}

.tg-process-list .tg-process-slide-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}

@media (max-width: 575px) {
    .tg-process-list .tg-process-slide-icon {
        margin-bottom: 25px;
    }
}

.cp {
    cursor: pointer;
}

.editor_table td {
    border: 1px solid #d9d9d9;
    padding: 10px;
}

.price_display del {
    font-size: 16px;
    color: gray;
    margin-right: 8px;
}

.tg-shop-product-content .price del {
    color: gray !important;
    font-weight: 400 !important;
    font-size: 16px;
    margin-right: 10px;
}

.wishlist.wishlist_icon.active {
    background: var(--tg-theme-primary);
    color: var(--tg-common-white);
}

.tg-blog-sidebar-form {
    position: relative;
}

.tg-blog-sidebar-form .product_search_btn {
    position: absolute;
    top: 6px;
    right: 8px;
}

.tg-blog-sidebar-form input {
    background: #f2f2f2;
    font-size: 13px;
    color: var(--tg-grey-1);
    border: 1px solid transparent;
    border-radius: 6px;
    width: 100%;
    height: 40px;
    padding: 0 40px 0px 12px;
}


.tg-pagenation-wrap nav ul li span {
    font-weight: 500;
    font-size: 14px;
    color: var(--tg-common-black);
    background: #f1f3f5;
    height: 44px;
    width: 44px;
    text-align: center;
    line-height: 44px;
    transition: all 0.4s ease;
    display: inline-block;
    border-radius: 8px;
}

.tg-pagenation-wrap nav ul li .p-btn {
    height: auto;
    width: auto;
    line-height: 1;
    padding: 15px 30px;
    border-radius: 8px;
}

.tg-pagenation-wrap nav ul li span.active {
    color: var(--tg-common-white);
    background: var(--tg-theme-primary);
}

.tg-product-details-price del {
    font-size: 18px;
    font-weight: 400;
    color: #454545;
    margin-right: 10px;
}

.tg-product-details-availability .stock-out {
    color: rgba(255, 0, 0, 0.633);
}

.tg-product-details-thumb-nav button {
    min-width: 130px;
}

.siestify-tabs-wrapper>* {
    display: inline-block;
    width: 100%;
    margin-left: -2px;
}

.siestify-tabs-wrapper {
    position: relative;
    white-space: nowrap;
}

.siestify-tabs-container {
    overflow: hidden;
}

.siestify-tabs-wrapper .tabContent {
    background: var(--tg-grey-7);
    text-align: center;
    width: 100%;
    height: 490px;
    overflow: hidden;
    border-radius: 15px;
}

.siestify-tabs-wrapper .tabContent img {
    position: absolute;
    top: 50%;
    bottom: 50%;
    transform: translate(-50%, -50%);
}

/* blog css  */
.tg-blog-details-review-form textarea.textarea {
    padding-top: 11px;
}

ul.siestify-tabs-menu li a {
    height: 100px;
    width: 114px;
    display: block;
    padding: 16px;
    background: var(--tg-grey-7);
    text-align: center;
    border-radius: 15px !important;
    mix-blend-mode: luminosity;
}

ul.siestify-tabs-menu li a img {
    height: 100%;
    text-align: center;
}

ul.siestify-tabs-menu {
    overflow-x: auto;
    display: flex;
    gap: 10px;
    margin-top: 10px;
    padding-bottom: 10px;
}

ul.siestify-tabs-menu li {
    display: inline-block;
}

.rating-icon {
    cursor: pointer;
}

.rating-icon i.active {
    color: var(--tg-common-yellow) !important;
}

.tg-tour-about-cus-review-star i {
    color: gray;
}

.tg-tour-about-cus-review-star i.active {
    color: var(--tg-common-yellow);
}

.tg-product-rating span {
    color: gray;
}

.tg-product-rating span.active {
    color: var(--tg-common-yellow);
}

.tg-ratting-star {
    gap: 3px;
}

.tg-ratting-star i {
    color: gray;
    font-size: 14px;
}

.tg-ratting-star i.active {
    color: var(--tg-common-yellow);
}

.tg-checkout-form-input .input {
    text-transform: none;
}

.payment_box {
    border-radius: 18px;
    background: #f9f9f9;
}

.payment_box_head {
    border-bottom: 1px solid #dddddd;
}

.payment_box_head h5 {
    font-size: 22px;
    font-weight: 600;
    line-height: 32px;
    color: var(--heading-color);
    padding: 34px 40px 16px 40px;
}

.payment_select_item_main {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    position: relative;
    padding: 40px 40px;
}

.payment_select_item_box {
    padding: 18px 40px;
    border: 1px solid #ececec;
    background-color: #fff;
    border-radius: 12px;
    display: inline-block;
    width: 48%;
    transition: all linear 0.5s;
}

.payment_select_item_thumb {
    height: 28px;
}

.payment_select_item_thumb img {
    width: 100%;
    height: 100%;
}

.optech-checkuot-sidebar {
    border: 1px solid #d4d4d4;
    padding: 29px;
    border-radius: 10px;
}

.optech-checkuot-sidebar ul li {
    margin-bottom: 12px;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #dddddd;
    padding-bottom: 10px;
}

.optech-checkuot-sidebar ul li:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
}

.optech-checkuot-sidebar h5 {
    margin-bottom: 20px;
}

.no-arrow::-webkit-inner-spin-button,
.no-arrow::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.no-arrow {
    -moz-appearance: textfield;
    appearance: textfield;
}

[x-cloak] {
    display: none !important;
}

.tg-listing-card-review i {
    color: #ababab;
    font-size: 14px;
}

.tg-listing-card-review i.active {
    color: var(--tg-common-yellow);
}

.tg-listing-item-wishlist.active {
    color: var(--tg-theme-primary);
}

.tg-listing-item-wishlist.active svg path {
    fill: #dc3545;
    stroke: #dc3545;
}

/* ---- Badges on Image (Top Left) ---- */
.tg-listing-badges-bottom {
    position: absolute;
    top: 14px;
    left: 14px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    z-index: 5;
    pointer-events: none;
    transition: none !important;
}

.tg-listing-badges-bottom .tg-badge-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0;
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    border-radius: 0;
    font-size: 10px;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1;
    text-shadow: none !important;
}

.tg-listing-badges-bottom .tg-badge-item svg {
    flex-shrink: 0;
}

.tg-listing-badges-bottom .tg-badge-featured svg {
    width: 20px;
    height: 20px;
}

.tg-listing-badges-bottom .tg-badge-new { color: #fff; }
.tg-listing-badges-bottom .tg-badge-featured { color: #ffc107; }
.tg-listing-badges-bottom .tg-badge-offer { color: #4caf50; }

.tg-listing-card-thumb::before,
.tg-hotel-box-thumb::before,
.tg-listing-card-thumb-link::before,
.tg-listing-card-item:hover .tg-listing-card-thumb::before {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    background: none !important;
    content: none !important;
}

/* Image avec coins arrondis en haut et en bas (quand badges en bas) */
.tg-listing-card-thumb:has(.tg-listing-badges-bottom) {
    border-radius: 12px;
    overflow: hidden;
}

.tg-listing-card-thumb:has(.tg-listing-badges-bottom) img,
.tg-listing-card-thumb:has(.tg-listing-badges-bottom) .tg-card-border {
    border-radius: 12px;
}


/* payment css  */
.payment_right {
    box-shadow: 0 0 15px 0 #efefef;
    background: var(--tg-common-white);
    border: 1px solid #e9e9e9;
    border-radius: 12px;
    padding: 25px 30px 30px 30px;
}

.payment_right .sub_total {
    margin: 0;
    padding: 0;
    list-style: none;
}

.payment_right .sub_total li {
    color: #696969;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0px;
    border-bottom: 1px solid #e1e1e1;
    margin: 0 20px;
}

.payment_right .sub_total li span {
    font-weight: 700;
}

.payment_right .sub_total li .dis {
    color: #FF4646;
}

.payment_right .sub_total li:last-of-type {
    font-weight: 700;
    color: var(--heading-color);
    border: 0;
}

.payment_right .coupon_box {
    margin: 0 20px;
    border: 1px solid #e1e1e1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    border-radius: 10px;
    overflow: hidden;
}

.payment_right .coupon_box .form-control {
    border: 0;
    color: var(--heading-color);
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
}

.payment_right .coupon_box .form-control:focus {
    box-shadow: inherit;
}

.payment_right .coupon_box .coupon_apply_btn {
    padding: 15px 35px;
    border: 0;
    color: var(--heading-color);
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
    background: #EBECED;
}

.payment_right .payment_select_text h4 {
    color: var(--heading-color);
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
}

.payment_right .payment_select_item_main {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 14px;
    position: relative;
    padding: 0px;
}

.payment_right .payment_select_item_box {
    padding: 18px 40px;
    border: 1px solid #e1e1e1;
    border-radius: 4px;
    display: inline-block;
    width: 48%;
    transition: all linear 0.5s;
}

.payment_right .payment_select_item_box:hover {
    border-color: var(--accent-color);
}

.payment_right .payment_select_item_thumb {
    height: 28px;
}

.payment_right .payment_select_item_thumb img {
    width: 100%;
    height: 100%;
}

.payment_right .payment_select_modal_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.payment_right .payment_select_modal_head h2 {
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    margin-bottom: 20px;
}

.payment_right .payment_select_modal {
    position: absolute;
    padding: 12px 20px 20px 20px;
    width: 335px;
    z-index: 11;
    border-radius: 8px;
    background: #FFF;
    box-shadow: 2px 2px 50px 0px rgba(0, 0, 0, 0.1);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none;
}

.payment_right .payment_select_modal.active {
    display: block;
}

.payment_right .payment_select_modal .close_modal_btn {
    border: 0;
    background: transparent;
}

.payment_right .payment_select_modal_form {
    margin-top: 25px;
}

.payment_right .payment_select_modal_form .payment_select_modal_form_item {
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.payment_right .payment_select_modal_form .payment_select_modal_form_inner {
    width: 100%;
}

.payment_right .payment_select_modal_form .form-label {
    margin-bottom: 2px;
    color: #333;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
}

.payment_right .payment_select_modal_form .form-control {
    padding: 15px 15px;
    border-radius: 10px;
    border: 1px solid #e1e1e1;
    background: var(--white-color);
}

.payment_right .payment_select_modal_form .form-control:focus {
    box-shadow: inherit;
}

.payment_right .payment_select_modal_form .td_btn {
    width: 100%;
    margin-top: 15px;
}

.payment_right .banck_text {
    margin: 0;
    padding: 0;
    list-style: none;
    margin-bottom: 10px;
    margin-top: 15px;
}

.payment_right .banck_text li {
    color: var(--heading-color);
    font-size: 17px;
    font-weight: 400;
    line-height: 175%;
}

.payment_right .banck_text li span {
    color: #7E8BA0;
}

.payment_right .banck_text li:first-of-type {
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}

.payment_right .banck_text li:first-of-type span {
    color: var(--heading-color);
    font-weight: 600;
}

.service-price_display {
    font-weight: 600;
    margin-left: 5px;
    font-size: 30px;
    text-transform: capitalize;
    color: var(--tg-theme-primary);
}

.service-price_display del {
    font-size: 20px;
    color: gray;
}

@media (max-width: 767px) {
    .payment_table .table tbody tr td .payment_box_item {
        min-width: 300px;
    }

    .payment_right {
        margin-left: 0;
        margin-top: 50px;
    }

    .payment_right .payment_select_item_box {
        width: 47%;
        padding: 15px 20px;
    }

    .payment {
        padding: 60px 0;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .payment_table .table tbody tr td .payment_box_item {
        min-width: 300px;
    }

    .payment_right {
        margin-left: 0;
    }

    .payment_right .payment_select_item_box {
        width: 46%;
        padding: 15px 20px;
    }

    .payment_right .payment_select_modal {
        left: 36%;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .payment_table .table tbody tr td .payment_box_item {
        min-width: 300px;
    }

    .payment_right {
        margin-left: 0;
    }

    .payment_right .payment_select_item_box {
        width: 47%;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .payment_right {
        margin-left: 0;
    }
}

/* Page Demande agence / Agency request landing */
.agency-landing .agency-card {
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.agency-landing .agency-form-wrap .input,
.agency-landing .agency-form-wrap .textarea {
    border-radius: 8px;
}

.agency-landing .agency-form-wrap .tg-btn {
    min-width: 200px;
}

/* Fix pour le slider d'images sur les pages de détail service /booking/hotel/{slug} */
/* Utilisation de max-height basé sur viewport pour garantir visibilité sans scroll */
.tg-tour-details-gallery-active {
    width: 100%;
    position: relative;
    max-height: 500px;
    height: auto;
}

.tg-tour-details-gallery-active .swiper-slide {
    width: 100%;
    height: 100%;
}

.tg-tour-details-gallery-active .tg-tour-details-gallery-thumb {
    width: 100%;
    height: 100%;
    max-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 15px;
    background: #f5f5f5;
}

.tg-tour-details-gallery-active .tg-tour-details-gallery-thumb img {
    width: 100%;
    height: 100%;
    max-height: 500px;
    object-fit: contain;
    object-position: center;
    border-radius: 15px;
    display: block;
}

/* Miniatures avec hauteur fixe */
.tg-tour-details-gallery-thumb-active {
    margin-top: 20px;
}

.tg-tour-details-gallery-thumb-active .swiper-slide {
    height: 100px;
}

.tg-tour-details-gallery-thumb-active .tg-tour-details-gallery-thumb {
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
}

.tg-tour-details-gallery-thumb-active .tg-tour-details-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Mobile : hauteur maximale réduite pour voir toute l'image sans scroll */
@media (max-width: 767px) {
    .tg-tour-details-gallery-active {
        max-height: 45vh;
    }

    .tg-tour-details-gallery-active .tg-tour-details-gallery-thumb {
        max-height: 45vh;
    }

    .tg-tour-details-gallery-active .tg-tour-details-gallery-thumb img {
        max-height: 45vh;
    }

    .tg-tour-details-gallery-thumb-active .swiper-slide,
    .tg-tour-details-gallery-thumb-active .tg-tour-details-gallery-thumb {
        height: 60px;
    }
}

/* Tablette : hauteur intermédiaire */
@media (min-width: 768px) and (max-width: 991px) {
    .tg-tour-details-gallery-active {
        max-height: 400px;
    }

    .tg-tour-details-gallery-active .tg-tour-details-gallery-thumb {
        max-height: 400px;
    }

    .tg-tour-details-gallery-active .tg-tour-details-gallery-thumb img {
        max-height: 400px;
    }

    .tg-tour-details-gallery-thumb-active .swiper-slide,
    .tg-tour-details-gallery-thumb-active .tg-tour-details-gallery-thumb {
        height: 80px;
    }
}

/* Titre overlay sur le slider avec effet blur (comme les listings) */
.tg-tour-details-gallery-active .tg-slider-title-overlay {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: auto;
    width: auto;
    max-width: calc(100% - 40px);
    padding: 16px 28px 18px;
    background: rgba(255, 255, 255, 0.1);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border-radius: 16px;
    color: #fff;
    font-weight: 900;
    font-size: 2rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    text-transform: uppercase;
    font-family: 'Plus Jakarta Sans', sans-serif;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    z-index: 2;
    overflow: hidden;
}

@media (max-width: 767px) {
    .tg-tour-details-gallery-active .tg-slider-title-overlay {
        bottom: 12px;
        left: 12px;
        max-width: calc(100% - 24px);
        padding: 12px 18px 14px;
        font-size: 1.4rem;
        border-radius: 12px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .tg-tour-details-gallery-active .tg-slider-title-overlay {
        font-size: 1.7rem;
        padding: 14px 24px 16px;
    }
}

/* Supprimer le filtre gris et l'animation sur les miniatures */
.tg-tour-details-gallery-thumb-active .tg-tour-details-gallery-thumb {
    mix-blend-mode: normal !important;
}

.tg-tour-details-gallery-thumb-active .tg-tour-details-gallery-thumb::before {
    display: none !important;
}


/* Désactiver le style par défaut sur la première slide visible */
.tg-tour-details-gallery-thumb-active .swiper-slide-active .tg-tour-details-gallery-thumb {
    border: none;
}

/* Bordure noire retirée sur demande */
.tg-tour-details-gallery-thumb-active .swiper-slide-thumb-active .tg-tour-details-gallery-thumb {
    border: none !important;
    opacity: 1;
}

/* Boutons de navigation du slider : groupés ensemble en bas à droite, sans animation */
.tg-tour-details-gallery-navigation {
    position: absolute;
    bottom: 20px;
    right: 20px;
    display: flex;
    gap: 0;
    z-index: 3;
}

.tg-tour-details-gallery-navigation button {
    width: 45px !important;
    height: 45px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    color: var(--tg-common-black) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-radius: 0 !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    transition: none !important;
    font-size: 16px !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Premier bouton (prev) : arrondi à gauche */
.tg-tour-details-gallery-navigation button.tg-tour-details-gallery-prev {
    border-top-left-radius: 8px !important;
    border-bottom-left-radius: 8px !important;
    border-right: none !important;
}

/* Deuxième bouton (next) : arrondi à droite */
.tg-tour-details-gallery-navigation button.tg-tour-details-gallery-next {
    border-top-right-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
}

/* Hover sans animation */
.tg-tour-details-gallery-navigation button:hover {
    background: rgba(255, 255, 255, 1) !important;
    color: var(--tg-common-black) !important;
    border-color: rgba(0, 0, 0, 0.2) !important;
}

/* Mobile : boutons plus petits et positionnés différemment */
@media (max-width: 767px) {
    .tg-tour-details-gallery-navigation {
        bottom: 10px;
        right: 10px;
    }

    .tg-tour-details-gallery-navigation button {
        width: 38px !important;
        height: 38px !important;
        font-size: 14px !important;
    }
}

/* Suppression de l'espace blanc sous les images du slider pour les coller aux thumbnails */
.tg-tour-details-gallery-active .tg-tour-details-gallery-thumb img {
    display: block;
    margin-bottom: 0 !important;
}

/* S'assurer que le container n'a pas de padding-bottom résiduel */
.tg-tour-details-gallery-active {
    padding-bottom: 0 !important;
}

/* Booking dropdowns: keep touch targets and open lists usable across devices. */
.tg-hero-quantity,
.tg-booking-form-parent-inner.tg-hero-quantity,
.hero-search-field.tg-hero-quantity {
    overflow: visible !important;
}

.tg-booking-quantity-toggle {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.hero-search-destination .tg-booking-quantity-toggle.hero-search-input-wrap,
.tg-booking-form-parent-inner.tg-hero-quantity .tg-booking-quantity-toggle.hero-search-input-wrap {
    width: 100% !important;
    height: 100% !important;
    cursor: pointer;
}

.tg-booking-form-location-list {
    pointer-events: none;
    transition-property: opacity, margin-top, visibility;
}

.tg-booking-form-location-list.tg-list-open {
    z-index: 1000 !important;
    pointer-events: auto;
}
