/* ---------------------------------------------------------- */
/* MRHBAZHNI TOURS - FRONTEND PREMIUM STYLE                  */
/* ---------------------------------------------------------- */

/* ROOT COLORS (use theme variables if available) */
:root {
    --mzh-navy: var(--mw-navy, #2B2D42);
    --mzh-gray: var(--mw-light-gray, #EDF2F4);
    --mzh-blue-gray: var(--mw-blue-gray, #8D99AE);
    --mzh-red: var(--mw-red, #EF233C);
    --mzh-dark-red: var(--mw-dark-red, #D90429);
}

/* GLOBAL SECTIONS */
.mzh-section {
    margin: 40px 0;
    padding: 30px;
    background: var(--mzh-gray);
    border-radius: 12px;
    border-left: 4px solid var(--mzh-red);
}

/* TITLES */
.mzh-title {
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    margin-bottom: 18px;
    color: var(--mzh-navy);
}

/* GENERIC LIST */
.mzh-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mzh-list li {
    font-size: 16px;
    margin-bottom: 10px;
    padding-left: 24px;
    position: relative;
    color: var(--mzh-navy);
}

/* CHECKMARK STYLE (Included) */
.mzh-list.includes li::before {
    content: "✔";
    position: absolute;
    left: 0;
    top: 0;
    color: #29c46f;
    font-weight: 700;
}

/* CROSS STYLE (Excluded) */
.mzh-list.excludes li::before {
    content: "✖";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--mzh-red);
    font-weight: 700;
}

/* ---------------------------------------------------------- */
/* ITINERARY SECTION                                          */
/* ---------------------------------------------------------- */
.mzh-itinerary-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.mzh-itinerary-item {
    background: #fff;
    border: 1px solid var(--mzh-blue-gray);
    padding: 18px;
    border-radius: 10px;
}

.mzh-iti-step {
    font-weight: 700;
    color: var(--mzh-red);
    margin-bottom: 8px;
}

.mzh-iti-content {
    color: var(--mzh-navy);
    font-size: 16px;
    line-height: 1.6;
}

/* ---------------------------------------------------------- */
/* INCLUDED / EXCLUDED DOUBLE COLUMN                          */
/* ---------------------------------------------------------- */
.mzh-row {
    display: flex;
    gap: 40px;
}

.mzh-col {
    width: 50%;
}

.mzh-col h3 {
    font-size: 20px;
    color: var(--mzh-navy);
    margin-bottom: 12px;
}

/* MOBILE FIX */
@media (max-width: 768px) {
    .mzh-row {
        flex-direction: column;
    }
    .mzh-col {
        width: 100%;
    }
}

/* ------------------------------------------------------- */
/* MRHBAZHNI – OPTIONAL EXTRAS (PREMIUM VERSION)           */
/* ------------------------------------------------------- */
.mzh-extras-box {
    background: #edf2f4;
    border-left: 8px solid #d90429;
    padding: 38px 38px 42px;
    border-radius: 14px;
    margin-bottom: 52px;
}

.mzh-extras-title {
    font-size: 33px;
    font-weight: 800;
    color: #2b2d42;
    margin-bottom: 28px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.mzh-extras-title .mzh-extra-icon {
    font-size: 28px;
    color: #2b2d42;
}

.mzh-extras-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mzh-extras-list li {
    font-size: 19px;
    color: #2b2d42;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.mzh-extras-list li::before {
    content: "•";
    font-size: 24px;
    color: #d90429;
    line-height: 1;
}


/* ---------------------------------------------------------- */
/* MAP                                                        */
/* ---------------------------------------------------------- */
.mzh-map-embed iframe {
    width: 100%;
    height: 350px;
    border: 0;
    border-radius: 10px;
}

.mzh-meeting-point {
    margin-top: 15px;
    font-size: 16px;
    font-weight: 500;
    color: var(--mzh-navy);
}

/* ---------------------------------------------------------- */
/* CLEAN PADDING FIX FOR DIVI                                 */
/* ---------------------------------------------------------- */
.mzh-section p:last-child {
    margin-bottom: 0;
}

/* ----------------------------------------- */
/* ITINERARY ACCORDION VISUAL CUES          */
/* ----------------------------------------- */
.mzh-iti-step {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mzh-iti-step::after {
    content: "▾";
    font-size: 14px;
    color: var(--mzh-blue-gray);
}

.mzh-itinerary-item.mzh-iti-open .mzh-iti-step::after {
    content: "▴";
}


/* ----------------------------------------- */
/* ITINERARY ACCORDION VISUAL CUES          */
/* ----------------------------------------- */
.mzh-iti-step {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mzh-iti-step::after {
    content: "▾";
    font-size: 14px;
    color: var(--mzh-blue-gray);
}

.mzh-itinerary-item.mzh-iti-open .mzh-iti-step::after {
    content: "▴";
}

/* ------------------------------------------------------- */
/* MRHBAZHNI – OVERVIEW 3 COLUMNS                          */
/* ------------------------------------------------------- */
.mzh-overview {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row; /* FORCE desktop horizontal */
    justify-content: space-between;
    gap: 22px;
    padding: 25px 20px;
    background: var(--mw-light-gray);
    border-radius: 14px;
    border: 1px solid #d7dbe0;
    box-sizing: border-box;
}

/* Desktop = 3 colonnes */
.mzh-overview-item {
    flex: 0 0 calc(33.333% - 22px); /* 3 blocs sur une seule ligne */
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 12px;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e3e6eb;
    transition: box-shadow 0.3s ease;
    box-sizing: border-box;
}

.mzh-overview-item:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}

/* Icon */
.mzh-o-icon svg {
    width: 26px;
    height: 26px;
}

/* Title */
.mzh-o-text h4 {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: var(--mw-navy);
}

/* Value */
.mzh-o-text p {
    margin: 4px 0 0;
    font-size: 15px;
    color: var(--mw-blue-gray);
}

/* ------------------------------------ */
/* Mobile = 1 colonne                   */
/* ------------------------------------ */
@media (max-width: 980px) {
    .mzh-overview {
        flex-direction: column; /* STACK en mobile */
        gap: 16px;
    }

    .mzh-overview-item {
        flex: 1 1 100%; /* Full width */
    }
}

/* =============================================== */
/* MRHBAZHNI — GOOD TO KNOW PREMIUM                */
/* =============================================== */

.mzh-goodtoknow-wrapper {
    background: #EEF2F5;
    padding: 45px 55px;
    border-radius: 22px;
    border-left: 6px solid #D90429;
    margin-top: 45px;
}

.mzh-goodtoknow-title {
    font-size: 34px;
    font-weight: 800;
    color: #2B2D42;
    margin-bottom: 32px;
}

.mzh-gtk-subtitle {
    font-size: 24px;
    font-weight: 700;
    color: #2B2D42;
    margin-top: 28px;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.mzh-gtk-cancel-text {
    font-size: 18px;
    color: #4d5566;
    margin-bottom: 32px; /* <-- ESPACE AJOUTÉ */
}

.mzh-gtk-info-list {
    padding-left: 24px;
}

.mzh-gtk-info-list li {
    font-size: 18px;
    color: #3a4250;
    margin-bottom: 10px;
}

/* ============================================================
   PREMIUM BLOCK — INCLUDED / EXCLUDED
   ============================================================ */

/* ============================================
   BLOCK WRAPPER
============================================ */
.mzh-block {
    background: #F1F5F7;
    border-radius: 14px;
    padding: 38px 32px;
    margin-bottom: 45px;
    border-left: 4px solid #EF233C;
}

/* ============================================
   TITRE DE SECTION
============================================ */
.mzh-block-title {
    font-size: 32px;
    font-weight: 800;
    color: #2B2D42;
    margin: 0 0 28px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.mzh-block-icon {
    font-size: 24px;
    color: #EF233C;
}

/* ============================================
   LISTE (anti-Divi + premium)
============================================ */

.mzh-block-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mzh-block-list li {
    display: flex;
    align-items: center;
    padding: 10px 0;
    font-size: 19px;
    color: #2B2D42;
}

.mzh-li-icon {
    font-size: 20px;
    width: 26px;
    display: inline-block;
    margin-right: 14px;
}

/* Included */
.mzh-li-icon.include {
    color: #2ECC71;
    font-weight: 700;
}

/* Excluded */
.mzh-li-icon.exclude {
    color: #EF233C;
    font-weight: 700;
}

/* Text */
.mzh-li-text {
    line-height: 1.5;
}

/* ------------------------------------------------------ */
/* MRHBAZHNI – PREMIUM EXPECT SECTION                     */
/* ------------------------------------------------------ */

.mzh-expect-wrapper {
    padding: 12px 0 25px;
    max-width: 900px;
}

.mzh-expect-subtitle {
    font-size: 22px;
    font-weight: 700;
    color: var(--mw-navy);
    margin-bottom: 5px;
}

.mzh-expect-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--mw-navy);
    margin-bottom: 18px;
}

.mzh-expect-text {
    font-size: 18px;
    line-height: 1.75;
    color: var(--mw-blue-gray);
}

@media (max-width: 980px) {
    .mzh-expect-title {
        font-size: 26px;
    }
}

