/*
 * DeinPrivatGuide SEO & Togo Enhancer v1.5
 * Maruan OrteGa SEO · https://maruanseo.com/
 *
 * Compatibility rule:
 * Everything is scoped to DPG classes. We never redefine Togo :root variables.
 */

/* Shared DPG design tokens: inherit directly from Togo */
.dpg-home-seo,
.dpg-faq,
.home .dpg-reviews{
    --dpg-primary:var(--togo-primary-color,#111111);
    --dpg-secondary:var(--togo-secondary-color,rgba(235,96,26,.20));
    --dpg-accent:var(--togo-accent-color,rgb(253,70,33));
    --dpg-heading:var(--togo-text-color-01,#111111);
    --dpg-text:var(--togo-text-color-02,#555555);
    --dpg-muted:var(--togo-text-color-03,#333333);
    --dpg-white:var(--togo-text-color-04,#ffffff);
    --dpg-border:var(--togo-border-color-04,#eeeeee);
    --dpg-soft:var(--togo-border-color-03,#f9f9f9);
    --dpg-body-font:var(--togo-body-font-family,"DM Sans",system-ui,sans-serif);
    --dpg-heading-font:var(--togo-heading-font-family,"Outfit",sans-serif);
    --dpg-radius:18px;
    --dpg-shadow:0 12px 34px rgba(17,17,17,.055);
}

/* Existing hero: hierarchy fix only, no layout takeover */
.home .dpg-home-main-h1,
.home .dpg-home-slide-h2{
    color:#fff!important;
    text-shadow:0 3px 18px rgba(0,0,0,.38);
    font-family:var(--togo-heading-font-family,"Outfit",sans-serif)!important;
}

.home .dpg-home-main-h1 a,
.home .dpg-home-slide-h2 a{
    color:#fff!important;
}

.home .dpg-home-slide-h2--first{
    margin-top:12px!important;
    font-size:clamp(18px,2vw,27px)!important;
    line-height:1.2!important;
}

/* Shared DPG typography */
.dpg-home-seo *,
.dpg-faq *{
    box-sizing:border-box;
}

.dpg-home-seo,
.dpg-faq{
    color:var(--dpg-text);
    font-family:var(--dpg-body-font);
}

.dpg-home-seo h2,
.dpg-home-seo h3,
.dpg-faq h2{
    color:var(--dpg-heading);
    font-family:var(--dpg-heading-font);
}

.dpg-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--dpg-accent);
    font-size:12px;
    line-height:1;
    font-weight:700;
    letter-spacing:1.25px;
    text-transform:uppercase;
}

.dpg-kicker:before{
    content:"";
    width:28px;
    height:2px;
    border-radius:999px;
    background:var(--dpg-accent);
}

.dpg-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:12px 22px;
    border:1px solid var(--togo-button-full-filled-border-color,var(--dpg-accent));
    border-radius:var(--togo-button-full-filled-radius,24px);
    background:var(--togo-button-full-filled-background-color,var(--dpg-accent));
    color:var(--togo-button-full-filled-color,#fff)!important;
    font-family:var(--togo-button-font-family,var(--dpg-body-font));
    font-weight:var(--togo-button-font-weight,600);
    text-decoration:none!important;
}

.dpg-button:hover{
    background:var(--togo-button-full-filled-hover-background-color,var(--dpg-accent));
    color:var(--togo-button-full-filled-hover-color,#fff)!important;
}

/* Homepage SEO sections */
.dpg-home-seo{
    width:min(1170px,calc(100% - 30px));
    margin:clamp(42px,5vw,72px) auto 0;
    scroll-margin-top:100px;
}

.dpg-home-section{
    margin:clamp(58px,7vw,92px) 0;
}

.dpg-home-section__head{
    max-width:850px;
    margin-bottom:28px;
}

.dpg-home-section__head h2{
    margin:12px 0 0!important;
    font-size:clamp(31px,4.1vw,50px)!important;
    line-height:1.08!important;
    font-weight:var(--togo-heading-font-weight,600)!important;
}

.dpg-section-lead{
    max-width:720px;
    margin:14px 0 0;
    font-size:15px;
    line-height:1.75;
}

.dpg-home-section__head--split{
    max-width:none;
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);
    gap:46px;
    align-items:end;
}

.dpg-home-section__head--split > p{
    margin:0;
    font-size:15px;
    line-height:1.75;
}

/* Why */
.dpg-home-why{
    padding:clamp(28px,4.5vw,52px);
    border:1px solid var(--dpg-border);
    border-radius:24px;
    background:var(--dpg-soft);
}

.dpg-home-why__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px;
    overflow:hidden;
    border:1px solid var(--dpg-border);
    border-radius:16px;
    background:var(--dpg-border);
}

.dpg-value{
    min-height:205px;
    padding:26px;
    background:#fff;
}

.dpg-value__index{
    display:block;
    margin-bottom:32px;
    color:var(--dpg-accent);
    font-size:11px;
    font-weight:800;
    letter-spacing:1.15px;
}

.dpg-value h3{
    margin:0 0 8px!important;
    font-size:19px!important;
    line-height:1.3!important;
    font-weight:600!important;
}

.dpg-value p{
    margin:0;
    font-size:14px;
    line-height:1.7;
}

/* Money pages */
.dpg-home-money__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.dpg-money-card{
    min-height:240px;
    padding:28px;
    border:1px solid var(--dpg-border);
    border-radius:var(--dpg-radius);
    background:#fff;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.dpg-money-card:hover{
    transform:translateY(-3px);
    border-color:var(--dpg-accent);
    box-shadow:var(--dpg-shadow);
}

.dpg-money-card__kicker{
    display:block;
    margin-bottom:20px;
    color:var(--dpg-accent);
    font-size:11px;
    font-weight:800;
    letter-spacing:1.1px;
    text-transform:uppercase;
}

.dpg-money-card h3{
    margin:0 0 10px!important;
    font-size:24px!important;
    line-height:1.2!important;
    font-weight:600!important;
}

.dpg-money-card p{
    margin:0 0 22px;
    font-size:14px;
    line-height:1.7;
}

.dpg-money-card a{
    color:var(--dpg-heading)!important;
    font-size:13px;
    font-weight:700;
    text-decoration:none!important;
}

.dpg-money-card a:after{
    content:" →";
    color:var(--dpg-accent);
}

/* Editorial links */
.dpg-home-guides__card{
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);
    gap:40px;
    align-items:center;
    padding:34px;
    border-radius:20px;
    background:var(--dpg-primary);
}

.dpg-home-guides__card h2{
    margin:12px 0 10px!important;
    color:#fff!important;
    font-size:clamp(28px,3.2vw,42px)!important;
    line-height:1.1!important;
}

.dpg-home-guides__card p{
    max-width:690px;
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:14px;
    line-height:1.75;
}

.dpg-home-guides__links{
    display:grid;
    gap:10px;
}

.dpg-home-guides__links a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
    padding:12px 16px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    color:#fff!important;
    font-size:13px;
    font-weight:600;
    text-decoration:none!important;
}

.dpg-home-guides__links a:after{
    content:"→";
    color:var(--dpg-accent);
}

.dpg-home-guides__links a:hover{
    background:rgba(255,255,255,.07);
}

/* FAQ */
.dpg-faq{
    width:min(1170px,calc(100% - 30px));
    margin:clamp(58px,7vw,92px) auto;
    scroll-margin-top:100px;
}

.dpg-faq__layout{
    display:grid;
    grid-template-columns:minmax(270px,.78fr) minmax(0,1.42fr);
    gap:clamp(34px,5vw,70px);
    align-items:start;
}

.dpg-faq__intro{
    position:sticky;
    top:100px;
}

.dpg-faq__intro h2{
    margin:14px 0 0!important;
    font-size:clamp(31px,3.3vw,44px)!important;
    line-height:1.12!important;
}

.dpg-faq__intro p{
    margin:18px 0 0;
    max-width:420px;
    font-size:15px;
    line-height:1.75;
}

.dpg-faq__list{
    display:grid;
    gap:10px;
}

.dpg-faq__item{
    overflow:hidden;
    border:1px solid var(--dpg-border);
    border-radius:12px;
    background:#fff;
}

.dpg-faq__item summary{
    display:grid;
    grid-template-columns:minmax(0,1fr) 34px;
    gap:16px;
    align-items:center;
    min-height:70px;
    padding:16px 16px 16px 20px;
    cursor:pointer;
    list-style:none;
}

.dpg-faq__item summary::-webkit-details-marker{
    display:none;
}

.dpg-faq__question{
    color:var(--dpg-heading);
    font-size:15px;
    line-height:1.45;
    font-weight:650;
}

.dpg-faq__toggle{
    position:relative;
    width:34px;
    height:34px;
    border:1px solid var(--dpg-border);
    border-radius:50%;
    background:var(--dpg-soft);
}

.dpg-faq__toggle:before,
.dpg-faq__toggle:after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:12px;
    height:1.5px;
    background:var(--dpg-heading);
    transform:translate(-50%,-50%);
}

.dpg-faq__toggle:after{
    transform:translate(-50%,-50%) rotate(90deg);
}

.dpg-faq__item[open]{
    border-color:var(--dpg-accent);
}

.dpg-faq__item[open] .dpg-faq__toggle{
    border-color:var(--dpg-accent);
    background:var(--dpg-accent);
}

.dpg-faq__item[open] .dpg-faq__toggle:before,
.dpg-faq__item[open] .dpg-faq__toggle:after{
    background:#fff;
}

.dpg-faq__item[open] .dpg-faq__toggle:after{
    transform:translate(-50%,-50%);
}

.dpg-faq__answer{
    padding:0 20px 20px;
}

.dpg-faq__answer p{
    margin:0;
    padding-top:16px;
    border-top:1px solid var(--dpg-border);
    font-size:14px;
    line-height:1.75;
}

.dpg-faq__cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:14px;
    padding:20px;
    border-radius:14px;
    background:var(--dpg-soft);
}

.dpg-faq__cta > div{
    display:grid;
    gap:4px;
}

.dpg-faq__cta span{
    color:var(--dpg-accent);
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.dpg-faq__cta strong{
    color:var(--dpg-heading);
    font-size:16px;
    line-height:1.4;
}

/* =========================================================
   EXISTING CUSTOM REVIEW SLIDER (.dpg-reviews)
   Exact override of the user's old blue/gold review CSS.
   Scoped to homepage only to avoid theme/plugin conflicts.
   ========================================================= */
.home .dpg-reviews{
    --dpg-blue:var(--dpg-primary)!important;
    --dpg-blue-dark:var(--dpg-heading)!important;
    --dpg-gold:var(--dpg-accent)!important;
    --dpg-text:var(--dpg-heading)!important;
    --dpg-muted:var(--dpg-text)!important;

    width:min(1200px,calc(100% - 30px))!important;
    margin:clamp(28px,4vw,52px) auto!important;
    padding:clamp(32px,4.5vw,52px) 24px!important;
    border:1px solid var(--dpg-border)!important;
    border-radius:24px!important;
    background:var(--dpg-soft)!important;
    color:var(--dpg-text)!important;
    font-family:var(--dpg-body-font)!important;
    box-shadow:none!important;
}

.home .dpg-reviews .dpg-reviews-head{
    max-width:780px!important;
    margin:0 auto 34px!important;
}

.home .dpg-reviews .dpg-reviews-badge{
    border:1px solid var(--dpg-border)!important;
    background:#fff!important;
    color:var(--dpg-accent)!important;
}

.home .dpg-reviews h2{
    color:var(--dpg-heading)!important;
    font-family:var(--dpg-heading-font)!important;
}

.home .dpg-reviews .dpg-reviews-head p,
.home .dpg-reviews .dpg-rating-summary{
    color:var(--dpg-text)!important;
}

.home .dpg-reviews .dpg-rating-summary strong{
    color:var(--dpg-heading)!important;
}

.home .dpg-reviews .dpg-stars,
.home .dpg-reviews .dpg-review-stars{
    color:var(--dpg-accent)!important;
}

.home .dpg-reviews .dpg-review-card{
    background:#fff!important;
    border:1px solid var(--dpg-border)!important;
    border-radius:18px!important;
    box-shadow:var(--dpg-shadow)!important;
}

.home .dpg-reviews .dpg-review-card:hover{
    box-shadow:0 16px 38px rgba(17,17,17,.08)!important;
}

.home .dpg-reviews .dpg-avatar{
    background:var(--dpg-primary)!important;
    color:#fff!important;
}

.home .dpg-reviews .dpg-review-top h3{
    color:var(--dpg-heading)!important;
    font-family:var(--dpg-heading-font)!important;
}

.home .dpg-reviews .dpg-review-top span,
.home .dpg-reviews .dpg-review-card time{
    color:var(--dpg-muted)!important;
}

.home .dpg-reviews .dpg-google{
    color:var(--dpg-accent)!important;
}

.home .dpg-reviews .dpg-review-card p{
    color:var(--dpg-text)!important;
}

.home .dpg-reviews .dpg-trip{
    border:1px solid var(--dpg-secondary)!important;
    background:var(--dpg-secondary)!important;
    color:var(--dpg-heading)!important;
}

.home .dpg-reviews .dpg-arrow{
    border:1px solid var(--dpg-border)!important;
    background:#fff!important;
    color:var(--dpg-heading)!important;
    box-shadow:0 5px 15px rgba(17,17,17,.07)!important;
}

.home .dpg-reviews .dpg-arrow:hover{
    border-color:var(--dpg-accent)!important;
    background:var(--dpg-accent)!important;
    color:#fff!important;
}

.home .dpg-reviews .dpg-dot{
    background:var(--dpg-border)!important;
}

.home .dpg-reviews .dpg-dot.active{
    background:var(--dpg-accent)!important;
}

/* Desired homepage rhythm: reviews, then tours, then DPG SEO content */
.home .dpg-reviews + .dpg-trip-section,
.home .dpg-trip-section--moved{
    margin-top:18px!important;
}

.home .dpg-trip-section + .dpg-home-seo,
.home .dpg-trip-section--moved + .dpg-home-seo{
    margin-top:clamp(36px,5vw,66px)!important;
}

/* Responsive */
@media(max-width:900px){
    .dpg-home-section__head--split,
    .dpg-home-guides__card,
    .dpg-faq__layout{
        grid-template-columns:1fr;
    }

    .dpg-home-why__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .dpg-faq__intro{
        position:static;
    }
}

@media(max-width:620px){
    .dpg-home-seo,
    .dpg-faq{
        width:calc(100% - 22px);
    }

    .dpg-home-section{
        margin:48px 0;
    }

    .dpg-home-section__head h2{
        font-size:31px!important;
        line-height:1.12!important;
    }

    .dpg-home-why{
        padding:20px 14px;
        border-radius:16px;
    }

    .dpg-home-why__grid,
    .dpg-home-money__grid{
        grid-template-columns:1fr;
    }

    .dpg-value{
        min-height:0;
        padding:20px;
    }

    .dpg-value__index{
        margin-bottom:20px;
    }

    .dpg-money-card{
        min-height:0;
        padding:22px 20px;
    }

    .dpg-home-guides__card{
        gap:22px;
        padding:24px 20px;
        border-radius:16px;
    }

    .dpg-faq__layout{
        gap:24px;
    }

    .dpg-faq__intro h2{
        font-size:29px!important;
    }

    .dpg-faq__item summary{
        min-height:64px;
        padding:15px 13px 15px 15px;
    }

    .dpg-faq__answer{
        padding:0 15px 17px;
    }

    .dpg-faq__cta{
        flex-direction:column;
        align-items:stretch;
        padding:17px 15px;
    }

    .dpg-button{
        width:100%;
    }

    .home .dpg-reviews{
        width:calc(100% - 22px)!important;
        padding:34px 14px!important;
        border-radius:16px!important;
    }

    .home .dpg-reviews h2{
        font-size:28px!important;
    }

    .home .dpg-reviews .dpg-review-card{
        border-radius:16px!important;
    }

    .home .dpg-reviews + .dpg-trip-section,
    .home .dpg-trip-section--moved{
        margin-top:16px!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .dpg-home-seo *,
    .dpg-faq *,
    .home .dpg-reviews *{
        transition:none!important;
        scroll-behavior:auto!important;
    }
}
