/* ============================================================
   CUSTOM CALLOUT
   ============================================================ */
.wpb-custom-callout {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 20px;
    margin-bottom: 20px;
    border-radius: 6px;
    border-left: 4px solid transparent;
}

.wpb-custom-callout__icon {
    flex-shrink: 0;
    font-size: 22px;
    width: 22px;
    height: 22px;
    line-height: 1;
}

.wpb-custom-callout__title {
    margin: 0 0 6px 0;
    font-size: 16px;
    font-weight: 600;
}

.wpb-custom-callout__content {
    font-size: 14px;
    line-height: 1.6;
}

.wpb-custom-callout__content p:last-child {
    margin-bottom: 0;
}

/* Style variants */
.wpb-custom-callout--info {
    background-color: #eaf4fc;
    border-left-color: #2196f3;
    color: #0d3c61;
}
.wpb-custom-callout--info .wpb-custom-callout__icon { color: #2196f3; }

.wpb-custom-callout--warning {
    background-color: #fff8e6;
    border-left-color: #f5a623;
    color: #6b4c00;
}
.wpb-custom-callout--warning .wpb-custom-callout__icon { color: #f5a623; }

.wpb-custom-callout--success {
    background-color: #eaf7ec;
    border-left-color: #4caf50;
    color: #1e4620;
}
.wpb-custom-callout--success .wpb-custom-callout__icon { color: #4caf50; }

.wpb-custom-callout--danger {
    background-color: #fdecea;
    border-left-color: #f44336;
    color: #611a15;
}
.wpb-custom-callout--danger .wpb-custom-callout__icon { color: #f44336; }

/* ============================================================
   INTRO SECTION
   ============================================================ */
.wpb-custom-intro {
    padding: clamp(48px, 6vw, 80px) 20px 0;
    background: transparent;
}

.wpb-custom-intro__inner {
    background: var(--wpb-custom-intro-box-bg, var(--marrakech, #9b5c49));
    color: var(--wpb-custom-intro-text, #fff);
    padding: clamp(42px, 5vw, 68px) clamp(28px, 4vw, 58px);
    margin: 0 auto;
    max-width: 730px;
    text-align: center;
    box-shadow: 0 18px 40px rgba(73, 35, 24, 0.12);
}

.wpb-custom-intro__inner,
.wpb-custom-intro__inner * {
    color: var(--wpb-custom-intro-text, #fff);
}

.wpb-custom-intro__header {
    max-width: 620px;
    margin: 0 auto;
}

.wpb-custom-intro__eyebrow {
    display: block;
    margin: 0 0 14px;
    font-family: var(--body-v2, inherit);
    font-size: 10.5px;
    line-height: 1.3;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    font-weight: 700;
}

.wpb-custom-intro__subtitle {
    display: block;
    margin: 0 0 26px;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.24);
    font-family: var(--display-v2, Georgia, "Times New Roman", Times, serif);
    font-style: italic;
    font-size: clamp(14px, 1.2vw, 16px);
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.74);
}

.wpb-custom-intro__description,
.wpb-custom-intro__description p {
    margin: 0;
    font-family: var(--body-v2, inherit);
    font-size: 14px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.8);
}

.wpb-custom-intro__description p + p {
    margin-top: 10px;
}

.wpb-custom-intro__divider {
    width: min(100%, 620px);
    height: 1px;
    margin: 24px auto 28px;
    background: rgba(255, 255, 255, 0.24);
}

.wpb-custom-intro__content,
.wpb-custom-intro__content p {
    font-family: var(--display-v2, Georgia, "Times New Roman", Times, serif);
    font-style: italic;
    font-size: clamp(18px, 2.3vw, 24px);
    line-height: 1.7;
    text-align: center;
    margin: 0;
}

.wpb-custom-intro__content p + p {
    margin-top: 14px;
}

.wpb-custom-intro__author {
    display: block;
    margin-top: 22px;
    font-family: var(--body-v2, inherit);
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
}

.wpb-custom-intro__author-name,
.wpb-custom-intro__author-meta {
    display: inline-block;
}

.wpb-custom-intro__author-name + .wpb-custom-intro__author-meta::before {
    content: " . ";
    opacity: 0.75;
}

/* ============================================================
   FAQ SECTION
   ============================================================ */
.wpb-custom-faq {
    padding: clamp(0px, 8vw, 120px) 20px clamp(64px, 6vw, 96px);
    background: transparent;
}

.wpb-custom-faq__inner {
    max-width: 720px;
    margin: 0 auto;
}

.wpb-custom-faq__head {
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
}

.wpb-custom-faq__label {
    font-family: var(--body-v2, inherit);
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--marrakech, #9b5c49);
    margin: 0 0 14px;
    text-align: center;
}

.wpb-custom-faq__title {
    font-family: var(--display-v2, Georgia, "Times New Roman", Times, serif);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(28px, 3.2vw, 36px);
    line-height: 1.2;
    color: var(--ink, #1d1410);
    margin: 0;
    text-align: center;
}

.wpb-custom-faq__description,
.wpb-custom-faq__description p {
    margin: 14px 0 0;
    text-align: center;
    font-family: var(--body-v2, inherit);
    font-size: 15px;
    line-height: 1.75;
    color: var(--ink, #1d1410);
}

.wpb-custom-faq__description p:last-child {
    margin-bottom: 0;
}

.wpb-custom-faq__divider {
    margin: clamp(36px, 4vw, 56px) 0 0;
    padding-bottom: clamp(28px, 3vw, 40px);
    border-bottom: 1px solid var(--sand, rgba(155, 92, 73, 0.28));
    height: 0;
    background: transparent;
}

.wpb-custom-faq__items {
    margin-top: 0;
}

.wpb-custom-faq__item {
    padding: 26px 0;
    border-bottom: 1px solid var(--sand, rgba(155, 92, 73, 0.28));
}

.wpb-custom-faq__question {
    font-family: var(--display-v2, Georgia, "Times New Roman", Times, serif);
    font-weight: 400;
    font-size: 22px;
    line-height: 1.35;
    color: var(--ink, #1d1410);
    margin: 0 0 12px;
    text-wrap: balance;
}

.wpb-custom-faq__answer,
.wpb-custom-faq__answer p,
.wpb-custom-faq__answer div {
    font-family: var(--body-v2, inherit);
    font-size: 16px;
    line-height: 1.75;
    color: var(--ink, #1d1410);
}

.wpb-custom-faq__answer {
    max-width: 650px;
}

.wpb-custom-faq__answer p {
    margin: 0 0 12px;
}

.wpb-custom-faq__answer p:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .wpb-custom-intro {
        padding-top: clamp(32px, 8vw, 48px);
    }

    .wpb-custom-intro__inner {
        padding: 30px 20px;
        box-shadow: 0 10px 24px rgba(73, 35, 24, 0.1);
    }

    .wpb-custom-intro__subtitle {
        margin-bottom: 20px;
        padding-bottom: 18px;
    }

    .wpb-custom-intro__description,
    .wpb-custom-intro__description p {
        font-size: 13px;
        line-height: 1.7;
    }

    .wpb-custom-intro__content,
    .wpb-custom-intro__content p {
        font-size: clamp(17px, 5vw, 20px);
        line-height: 1.55;
    }

    .wpb-custom-intro__author-name,
    .wpb-custom-intro__author-meta {
        display: block;
    }

    .wpb-custom-intro__author-name + .wpb-custom-intro__author-meta::before {
        content: none;
    }

    .wpb-custom-faq {
        padding-left: 16px;
        padding-right: 16px;
    }

    .wpb-custom-faq__question {
        font-size: 20px;
    }

    .wpb-custom-faq__answer,
    .wpb-custom-faq__answer p,
    .wpb-custom-faq__answer div {
        font-size: 15px;
    }
}

/* ============================================================
   EDITORIAL IMAGE LAYOUT
   [coco_editorial_gallery]
   ============================================================ */

/*
 * Base wrapper
 * All layout variants share these base rules.
 * The modifier class (--1, --2, --3, --6) controls the grid columns
 * and per-item aspect ratios.
 */
.coco-editorial-gallery {
    display: grid;
    gap: 6px;
    width: 100%;
}

/* Every item is a positioned block that clips the <img> cleanly. */
.coco-editorial-gallery__item {
    overflow: hidden;
    position: relative;
    background-color: #f0ece8; /* subtle warm placeholder while image loads */
}

/* The <img> element always fills its parent item fully. */
.coco-editorial-gallery__image {
    display: block;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

/*
 * Empty placeholder — shown when no image is assigned to a slot.
 * Only visible in the WPBakery editor preview context.
 */
.coco-editorial-gallery__placeholder {
    width: 100%;
    height: 100%;
    background-color: #e8e3dd;
    background-image: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 6px,
        rgba(0,0,0,0.04) 6px,
        rgba(0,0,0,0.04) 12px
    );
}

/* ------------------------------------------------------------------
   Layout: 1 image — full-width landscape
   ------------------------------------------------------------------ */
.coco-editorial-gallery--1 {
    grid-template-columns: 1fr;
}

/* Landscape: 16:9 ratio */
.coco-editorial-gallery--1 .coco-editorial-gallery__item {
    aspect-ratio: 16 / 9;
}

/* ------------------------------------------------------------------
   Layout: 2 images — two portrait columns
   ------------------------------------------------------------------ */
.coco-editorial-gallery--2 {
    grid-template-columns: repeat(2, 1fr);
}

/* Portrait: 3:4 ratio */
.coco-editorial-gallery--2 .coco-editorial-gallery__item {
    aspect-ratio: 3 / 4;
}

/* ------------------------------------------------------------------
   Layout: 3 images — three portrait columns in a single row
   ------------------------------------------------------------------ */
.coco-editorial-gallery--3 {
    grid-template-columns: repeat(3, 1fr);
}

/* Portrait: 3:4 ratio */
.coco-editorial-gallery--3 .coco-editorial-gallery__item {
    aspect-ratio: 3 / 4;
}

/* ------------------------------------------------------------------
   Layout: 6 images — two rows of three portrait columns
   ------------------------------------------------------------------ */
.coco-editorial-gallery--6 {
    grid-template-columns: repeat(3, 1fr);
}

/* Portrait: 3:4 ratio */
.coco-editorial-gallery--6 .coco-editorial-gallery__item {
    aspect-ratio: 3 / 4;
}

/* ------------------------------------------------------------------
   Responsive breakpoints
   ------------------------------------------------------------------ */

/* ---- Large tablet / small desktop: 901px – 1200px ---- */
@media (max-width: 1200px) and (min-width: 901px) {

    /* 3- and 6-column layouts get a slightly tighter gap at this size. */
    .coco-editorial-gallery--3,
    .coco-editorial-gallery--6 {
        gap: 5px;
    }
}

/* ---- Tablet: 601px – 900px ---- */
@media (max-width: 900px) and (min-width: 601px) {

    .coco-editorial-gallery {
        gap: 5px;
    }

    /* Layout 1: slightly taller landscape on tablet — stays as single column. */
    .coco-editorial-gallery--1 .coco-editorial-gallery__item {
        aspect-ratio: 4 / 3;
    }

    /* Layout 2: stays 2 columns but a taller portrait crop. */
    .coco-editorial-gallery--2 .coco-editorial-gallery__item {
        aspect-ratio: 3 / 4;
    }

    /* Layout 3: reduce to 3 columns with slightly tighter crop. */
    .coco-editorial-gallery--3 .coco-editorial-gallery__item {
        aspect-ratio: 2 / 3;
    }

    /* Layout 6: reduce to 2 columns so images aren't too small. */
    .coco-editorial-gallery--6 {
        grid-template-columns: repeat(2, 1fr);
    }
    .coco-editorial-gallery--6 .coco-editorial-gallery__item {
        aspect-ratio: 3 / 4;
    }
}

/* ---- Mobile: up to 600px ---- */
@media (max-width: 600px) {

    .coco-editorial-gallery {
        gap: 4px;
    }

    /*
     * Layout 1 — remains a single full-width image.
     * Landscape ratio preserved; slightly cropped on narrow screens.
     */
    .coco-editorial-gallery--1 {
        grid-template-columns: 1fr;
    }
    .coco-editorial-gallery--1 .coco-editorial-gallery__item {
        aspect-ratio: 4 / 3;
    }

    /*
     * Layout 2 — stack vertically on mobile.
     * Each portrait image keeps its proportions.
     */
    .coco-editorial-gallery--2 {
        grid-template-columns: 1fr;
    }
    .coco-editorial-gallery--2 .coco-editorial-gallery__item {
        aspect-ratio: 3 / 4;
    }

    /*
     * Layout 3 — stack vertically on mobile.
     */
    .coco-editorial-gallery--3 {
        grid-template-columns: 1fr;
    }
    .coco-editorial-gallery--3 .coco-editorial-gallery__item {
        aspect-ratio: 3 / 4;
    }

    /*
     * Layout 6 — single column on mobile.
     */
    .coco-editorial-gallery--6 {
        grid-template-columns: 1fr;
    }
    .coco-editorial-gallery--6 .coco-editorial-gallery__item {
        aspect-ratio: 3 / 4;
    } 
}

/* The media row wrapper */
body.postid-20019 .ct2-mediarow {
    padding: clamp(56px, 6vw, 88px) 20px 0 !important;
}

/* The flex row containers */
body.postid-20019 .ct2-duo,
body.postid-20019 .ct2-trio,
body.postid-20019 .ct2-sixer-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 920px !important;
    margin: 0 auto !important;
    gap: 10px !important;
}

body.postid-20019 .ct2-duo { gap: 16px !important; }

/* Second sixer row spacing */
body.postid-20019 .ct2-sixer-row + .ct2-sixer-row {
    margin-top: 10px !important;
}

/* Columns inside the flex rows */
body.postid-20019 .ct2-duo > *,
body.postid-20019 .ct2-trio > *,
body.postid-20019 .ct2-sixer-row > * {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Zero out inner wrappers */
body.postid-20019 .ct2-duo .vc_column-inner,
body.postid-20019 .ct2-trio .vc_column-inner,
body.postid-20019 .ct2-sixer-row .vc_column-inner,
body.postid-20019 .ct2-duo .wpb_wrapper,
body.postid-20019 .ct2-trio .wpb_wrapper,
body.postid-20019 .ct2-sixer-row .wpb_wrapper {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* Image aspect ratios */
body.postid-20019 .ct2-duo-img  { aspect-ratio: 4/5 !important; }
body.postid-20019 .ct2-trio-img,
body.postid-20019 .ct2-sixer-img { aspect-ratio: 3/4 !important; }
body.postid-20019 .ct2-solo-img  { aspect-ratio: 16/10 !important; max-width: 920px !important; margin: 0 auto !important; }

/* Image fill */
body.postid-20019 .ct2-img { position: relative !important; width: 100% !important; background: var(--sand-light) !important; overflow: hidden !important; display: block !important; margin: 0 !important; }
body.postid-20019 .ct2-img figure,
body.postid-20019 .ct2-img .vc_figure,
body.postid-20019 .ct2-img .vc_single_image-wrapper { position: absolute !important; inset: 0 !important; margin: 0 !important; padding: 0 !important; width: 100% !important; height: 100% !important; display: block !important; border: 0 !important; }
body.postid-20019 .ct2-img img,
body.postid-20019 .ct2-img .vc_single_image-img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; margin: 0 !important; }

/* Mobile: horizontal scroll carousel */
@media (max-width: 767px) {
    body.postid-20019 .ct2-duo,
    body.postid-20019 .ct2-trio,
    body.postid-20019 .ct2-sixer-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        gap: 0 !important;
        position: relative !important;
        left: calc(50% - 50vw) !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 18px 0 !important;
        padding: 0 !important;
    }
    body.postid-20019 .ct2-duo::-webkit-scrollbar,
    body.postid-20019 .ct2-trio::-webkit-scrollbar,
    body.postid-20019 .ct2-sixer-row::-webkit-scrollbar { display: none !important; }

    body.postid-20019 .ct2-duo > *,
    body.postid-20019 .ct2-trio > *,
    body.postid-20019 .ct2-sixer-row > * {
        flex: 0 0 86vw !important;
        min-width: 86vw !important;
        max-width: 86vw !important;
        width: 86vw !important;
        scroll-snap-align: center !important;
        position: relative !important;
    }

    /* Swipe hint label on first column */
    body.postid-20019 .ct2-duo > .wpb_column:first-child::after,
    body.postid-20019 .ct2-trio > .wpb_column:first-child::after,
    body.postid-20019 .ct2-sixer-row > .wpb_column:first-child::after {
        content: 'Wischen →';
        position: absolute !important;
        bottom: 14px !important;
        right: 14px !important;
        z-index: 10 !important;
        color: #fff !important;
        background: rgba(26, 22, 17, 0.55) !important;
        padding: 7px 14px !important;
        border-radius: 999px !important;
        font-family: var(--display-v2) !important;
        font-style: italic !important;
        font-size: 13px !important;
        line-height: 1 !important;
        pointer-events: none !important;
    }
}

.coco-editorial-gallery--1 {
    width: 620px;
    margin: 0 auto;
}

.coco-editorial-gallery--1 .coco-editorial-gallery__item {
    width: 620px;
    height: 472.5px;
}
.coco-editorial-gallery--2 {
    width: 906px;
    margin: 0 auto;
    display: flex;
    gap: 16px;
}

.coco-editorial-gallery--2 .coco-editorial-gallery__item {
    width: 445px;
    height: 593px;
    flex: none;
}

.coco-editorial-gallery--3 {
    width: 899px;
    margin: 0 auto;
    display: flex;
    gap: 10px;
}

.coco-editorial-gallery--3 .coco-editorial-gallery__item {
    width: 293px;
    height: 395px;
    flex: none;
}

.coco-editorial-gallery--6 {
    width: 899px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3,293px);
    grid-auto-rows:391px;
    gap:10px;
}