
/* =========================================================
   PRAIAS — PREMIUM FINAL REFINEMENT
   Escopo: apenas a página pública de Praias.
   Hero não é alterado.
   ========================================================= */

main.guia-praias-page{
    --praias-premium-line:#e5eaf0;
    --praias-premium-soft:#f7f9fb;
    --praias-premium-ink:#12233d;
    --praias-premium-muted:#68778b;
    --praias-premium-blue:#1858c7;
}

/* ---------------------------------------------------------
   INTRO — texto editorial com largura controlada
   --------------------------------------------------------- */
main.guia-praias-page .guia-praias-intro{
    padding:32px 0 34px !important;
    background:#fff !important;
}

main.guia-praias-page .guia-praias-intro__inner{
    max-width:920px !important;
    margin-inline:auto !important;
}

main.guia-praias-page .guia-praias-intro__inner > p{
    max-width:820px !important;
    margin:0 auto !important;
    color:var(--praias-premium-muted) !important;
    font-size:15px !important;
    line-height:1.72 !important;
    text-align:center !important;
}

/* ---------------------------------------------------------
   SEÇÕES — ritmo editorial
   --------------------------------------------------------- */
main.guia-praias-page .guia-praias-selection{
    padding:68px 0 76px !important;
    background:#fff !important;
}

main.guia-praias-page .guia-praias-section-alt{
    padding:70px 0 82px !important;
    background:#f8fafc !important;
}

main.guia-praias-page .guia-praias-section-head{
    margin-bottom:24px !important;
}

main.guia-praias-page .guia-praias-section-head h2{
    font-size:clamp(28px,3vw,36px) !important;
    font-weight:700 !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    color:var(--praias-premium-ink) !important;
}

main.guia-praias-page .guia-praias-section-head p{
    font-size:14px !important;
    line-height:1.5 !important;
    color:var(--praias-premium-muted) !important;
}

/* ---------------------------------------------------------
   DESTAQUE EDITORIAL — menos "card de portal", mais editorial
   --------------------------------------------------------- */
main.guia-praias-page .guia-praias-top-grid{
    gap:22px !important;
}

main.guia-praias-page .guia-praias-feature-card{
    border:1px solid var(--praias-premium-line) !important;
    border-radius:8px !important;
    box-shadow:0 7px 24px rgba(17,35,61,.055) !important;
}

main.guia-praias-page .guia-praias-feature-card:hover{
    transform:translateY(-1px) !important;
    border-color:#d8e0e9 !important;
    box-shadow:0 14px 30px rgba(17,35,61,.085) !important;
}

main.guia-praias-page .guia-praias-feature-media{
    min-height:338px !important;
}

main.guia-praias-page .guia-praias-feature-body{
    padding:34px !important;
}

main.guia-praias-page .guia-praias-feature-body h3{
    font-size:clamp(28px,2.6vw,36px) !important;
    line-height:1.04 !important;
    font-weight:700 !important;
    letter-spacing:-.038em !important;
}

main.guia-praias-page .guia-praias-feature-body p{
    font-size:15px !important;
    line-height:1.7 !important;
    color:#64748b !important;
}

main.guia-praias-page .guia-praias-feature-body p.guia-praias-benefit{
    font-size:14px !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    color:var(--praias-premium-blue) !important;
}

main.guia-praias-page .guia-praias-cta{
    min-height:42px !important;
    margin-top:6px !important;
    padding:0 18px !important;
    border-radius:5px !important;
    border:1px solid #12233d !important;
    background:#12233d !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:650 !important;
}

main.guia-praias-page .guia-praias-cta:hover{
    border-color:#1d3557 !important;
    background:#1d3557 !important;
}

/* Quick list: same family as primary editorial card */
main.guia-praias-page .guia-praias-selection-side{
    gap:10px !important;
}

main.guia-praias-page .guia-praias-mini-item{
    min-height:67px !important;
    padding:14px 16px !important;
    border:1px solid var(--praias-premium-line) !important;
    border-radius:7px !important;
    background:#fff !important;
}

main.guia-praias-page .guia-praias-mini-title{
    font-size:14px !important;
    font-weight:700 !important;
    color:var(--praias-premium-ink) !important;
}

main.guia-praias-page .guia-praias-mini-attr{
    font-size:14px !important;
    color:#7b8794 !important;
}

main.guia-praias-page .guia-praias-mini-arrow{
    color:#1a5dcc !important;
    font-size:16px !important;
}

main.guia-praias-page .guia-praias-selection-more{
    border-radius:7px !important;
}

/* ---------------------------------------------------------
   EXPLORAR TODAS — sistema de cards mais discreto
   --------------------------------------------------------- */
main.guia-praias-page .guia-praias-region{
    margin-bottom:48px !important;
}

main.guia-praias-page .guia-praias-region:last-child{
    margin-bottom:0 !important;
}

main.guia-praias-page .guia-praias-region__head{
    margin-bottom:18px !important;
    padding-bottom:1px !important;
}

main.guia-praias-page .guia-praias-region__head h2{
    font-size:24px !important;
    font-weight:700 !important;
    line-height:1.12 !important;
    letter-spacing:-.03em !important;
}

main.guia-praias-page .guia-praias-region__head > span{
    font-size:14px !important;
    font-weight:500 !important;
    color:#7b8794 !important;
}

main.guia-praias-page .guia-praias-card-grid{
    gap:18px !important;
}

main.guia-praias-page .guia-praias-card{
    border:1px solid #e1e7ee !important;
    border-radius:7px !important;
    box-shadow:0 4px 18px rgba(17,35,61,.04) !important;
    background:#fff !important;
}

main.guia-praias-page .guia-praias-card:hover{
    transform:translateY(-1px) !important;
    border-color:#d5dee8 !important;
    box-shadow:0 10px 24px rgba(17,35,61,.07) !important;
}

main.guia-praias-page .guia-praias-card__media{
    height:198px !important;
    min-height:198px !important;
}

main.guia-praias-page .guia-praias-card__badge{
    top:11px !important;
    left:11px !important;
    padding:5px 9px !important;
    background:rgba(13,35,61,.78) !important;
    font-size:14px !important;
    font-weight:650 !important;
    letter-spacing:.01em !important;
}

main.guia-praias-page .guia-praias-card__body{
    padding:16px 16px 18px !important;
}

main.guia-praias-page .guia-praias-card__top h3{
    font-size:16px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    letter-spacing:-.015em !important;
}

main.guia-praias-page .guia-praias-tags{
    gap:5px !important;
    margin-top:10px !important;
}

main.guia-praias-page .guia-praias-tag{
    min-height:24px !important;
    padding:4px 8px !important;
    background:#f8fafc !important;
    border-color:#e1e7ee !important;
    color:#526071 !important;
    font-size:14px !important;
    font-weight:600 !important;
}

main.guia-praias-page .guia-praias-review{
    margin-top:13px !important;
    padding-top:13px !important;
    border-top-color:#edf1f5 !important;
}

main.guia-praias-page .guia-praias-review blockquote{
    font-size:14px !important;
    line-height:1.58 !important;
    color:#445268 !important;
}

main.guia-praias-page .guia-praias-review figcaption{
    font-size:14px !important;
    color:#7b8794 !important;
}

/* ---------------------------------------------------------
   SHARE — compacto, equilibrado e editorial
   --------------------------------------------------------- */
main.guia-praias-page .guia-praias-share-box{
    margin-top:56px !important;
    padding:22px 24px !important;
    gap:24px !important;
    border:1px solid #e1e7ee !important;
    border-radius:8px !important;
    background:#fff !important;
    box-shadow:0 5px 18px rgba(17,35,61,.045) !important;
}

main.guia-praias-page .guia-praias-share-box h2{
    font-size:18px !important;
    font-weight:700 !important;
    letter-spacing:-.025em !important;
}

main.guia-praias-page .guia-praias-share-box p{
    font-size:14px !important;
    line-height:1.5 !important;
}

main.guia-praias-page .guia-praias-share-buttons{
    gap:7px !important;
}

main.guia-praias-page .guia-praias-share-btn{
    min-height:36px !important;
    padding:8px 11px !important;
    border-radius:5px !important;
    font-size:14px !important;
    font-weight:600 !important;
    background:#fff !important;
}

main.guia-praias-page .guia-praias-share-btn:hover{
    background:#f7f9fb !important;
}

/* ---------------------------------------------------------
   CONTINUE — finalização leve
   --------------------------------------------------------- */
main.guia-praias-page .guia-praias-continue{
    margin-top:42px !important;
    padding-top:28px !important;
    border-top:1px solid #e1e7ee !important;
}

main.guia-praias-page .guia-praias-continue h2{
    margin-bottom:14px !important;
    font-size:18px !important;
    font-weight:700 !important;
    letter-spacing:-.025em !important;
}

main.guia-praias-page .guia-praias-continue-links{
    gap:7px !important;
}

main.guia-praias-page .guia-praias-continue-links a{
    min-height:36px !important;
    padding:8px 12px !important;
    border-radius:5px !important;
    font-size:14px !important;
    font-weight:600 !important;
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */
@media (max-width:1024px){
    main.guia-praias-page .guia-praias-feature-body{
        padding:28px !important;
    }
}

@media (max-width:768px){
    main.guia-praias-page .guia-praias-intro{
        padding:28px 0 30px !important;
    }

    main.guia-praias-page .guia-praias-intro__inner > p{
        text-align:left !important;
        font-size:14px !important;
        line-height:1.68 !important;
    }

    main.guia-praias-page .guia-praias-selection{
        padding:48px 0 56px !important;
    }

    main.guia-praias-page .guia-praias-section-alt{
        padding:54px 0 60px !important;
    }

    main.guia-praias-page .guia-praias-section-head{
        display:block !important;
        margin-bottom:20px !important;
    }

    main.guia-praias-page .guia-praias-section-head p{
        margin-top:7px !important;
        text-align:left !important;
    }

    main.guia-praias-page .guia-praias-top-grid{
        grid-template-columns:1fr !important;
    }

    main.guia-praias-page .guia-praias-feature-card{
        grid-template-columns:1fr !important;
    }

    main.guia-praias-page .guia-praias-feature-media{
        min-height:250px !important;
        height:250px !important;
    }

    main.guia-praias-page .guia-praias-feature-body{
        padding:24px !important;
    }

    main.guia-praias-page .guia-praias-card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:14px !important;
    }

    main.guia-praias-page .guia-praias-card__media{
        height:160px !important;
        min-height:160px !important;
    }

    main.guia-praias-page .guia-praias-card__body{
        padding:14px !important;
    }

    main.guia-praias-page .guia-praias-share-box{
        align-items:flex-start !important;
        flex-direction:column !important;
        padding:20px !important;
    }

    main.guia-praias-page .guia-praias-share-buttons{
        justify-content:flex-start !important;
    }
}

@media (max-width:520px){
    main.guia-praias-page .guia-praias-card-grid{
        grid-template-columns:1fr !important;
    }

    main.guia-praias-page .guia-praias-card__media{
        height:210px !important;
        min-height:210px !important;
    }

    main.guia-praias-page .guia-praias-section-head h2{
        font-size:28px !important;
    }
}
