
/* ==========================================================
   BASKINTA — NATURE & TRAILS V1
   ========================================================== */

.bk-nature {
    background: #fff;
}


/* ==========================================================
   HERO
   ========================================================== */

.bk-nature-hero {

    min-height: 535px;

    display: flex;
    align-items: center;

    position: relative;

    background-size: cover;
    background-position: center;

    color: #fff;
}


.bk-nature-hero-copy {

    width: min(700px, 68%);
}


.bk-nature-hero .bk-kicker {

    color: #59bcd3 !important;
}


.bk-nature-hero h1 {

    margin: 8px 0 22px;

    color: #fff !important;

    font-size:
        clamp(54px, 5.7vw, 82px) !important;
}


.bk-nature-hero p {

    max-width: 590px;

    margin: 0 0 28px;

    color: #fff;

    font-size: 17px;

    line-height: 1.55;
}


/* ==========================================================
   SECTION HEADER
   ========================================================== */

.bk-nature-section-head {

    display: grid;

    grid-template-columns:
        1fr
        minmax(300px, 600px);

    align-items: end;

    gap: 55px;

    margin-bottom: 28px;
}


.bk-nature-section-head h2 {
    margin: 0;
}


.bk-nature-section-head
.bk-section-intro {

    margin: 0 0 3px;
}


/* ==========================================================
   EXPLORE CAROUSEL
   Six compact cards visible on desktop.
   ========================================================== */

.bk-nature-track {

    display: flex;

    gap: 14px;

    overflow-x: auto;
    overflow-y: hidden;

    padding:
        2px
        2px
        15px;

    scroll-snap-type:
        x mandatory;

    scrollbar-width:
        thin;

    -webkit-overflow-scrolling:
        touch;
}


.bk-nature-card {

    flex:
        0 0
        calc(
            (100% - 70px) / 6
        );

    width:
        calc(
            (100% - 70px) / 6
        );

    height: 270px;

    position: relative;

    overflow: hidden;

    border-radius: 12px;

    background: #073653;

    box-shadow:
        0 5px 16px
        rgba(8,45,65,.09);

    scroll-snap-align: start;
}


.bk-nature-card img {

    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .35s ease;
}


.bk-nature-card:hover img {
    transform: scale(1.035);
}


.bk-nature-card-shade {

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(3,27,42,.03) 20%,
            rgba(3,27,42,.25) 48%,
            rgba(3,27,42,.95) 100%
        );
}


.bk-nature-card-content {

    position: absolute;

    z-index: 2;

    left: 15px;
    right: 15px;
    bottom: 14px;

    color: #fff;
}


.bk-nature-card-content > span {

    display: block;

    margin-bottom: 6px;

    color: #7ed3df;

    font-family:
        var(--bk-type-ui);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: .16em;

    text-transform: uppercase;
}


.bk-nature-card h3 {

    margin: 0 0 5px;

    color: #fff;

    font-family:
        var(--bk-type-ui);

    font-size: 16px;

    font-weight: 700;

    line-height: 1.15;
}


.bk-nature-card p {

    min-height: 34px;

    margin: 0 0 8px;

    color:
        rgba(255,255,255,.88);

    font-size: 10px;

    line-height: 1.4;
}


.bk-nature-card strong {

    color: #fff;

    font-size: 10px;

    font-weight: 700;
}


/* ==========================================================
   LITERARY TRAIL FEATURE
   ========================================================== */

.bk-nature-literary {

    padding:
        35px
        0
        70px;

    background: #f7f7f3;
}


.bk-nature-literary
.bk-v2-container {

    display: grid;

    grid-template-columns:
        1.15fr
        .85fr;

    min-height: 470px;

    overflow: hidden;

    border-radius: 16px;

    background: #fff;

    box-shadow:
        0 8px 30px
        rgba(8,45,65,.08);
}


.bk-nature-literary-image {

    min-height: 470px;

    overflow: hidden;
}


.bk-nature-literary-image img {

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


.bk-nature-literary-copy {

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
        55px
        52px;
}


.bk-nature-literary-copy h2 {

    margin:
        0
        0
        18px;
}


.bk-nature-literary-copy > p {

    max-width: 520px;

    margin:
        0
        0
        27px;

    color:
        var(--bk-type-body-color);

    font-size: 15px;

    line-height: 1.65;
}


/* FACTS */

.bk-nature-facts {

    display: grid;

    grid-template-columns:
        repeat(3,1fr);

    margin-bottom: 28px;

    border-top:
        1px solid #dce5ea;

    border-bottom:
        1px solid #dce5ea;
}


.bk-nature-facts > div {

    padding:
        17px
        15px
        17px
        0;
}


.bk-nature-facts > div +
div {

    padding-left: 15px;

    border-left:
        1px solid #dce5ea;
}


.bk-nature-facts strong {

    display: block;

    color: #176a53;

    font-family:
        var(--bk-type-ui);

    font-size: 16px;

    font-weight: 700;
}


.bk-nature-facts span {

    display: block;

    margin-top: 3px;

    color:
        var(--bk-type-muted);

    font-size: 10px;

    line-height: 1.3;
}


.bk-nature-literary-copy
.bk-btn {

    align-self: flex-start;
}


/* ==========================================================
   NATURE MAP
   ========================================================== */

.bk-nature-map {

    background: #fff;
}


.bk-nature-map
.bk-section-intro {

    margin-top: 12px;
}


.bk-nature-map-stage {

    min-height: 420px;

    margin-top: 27px;

    display: grid;

    place-items: center;

    overflow: hidden;

    border:
        18px solid #fff;

    outline:
        1px solid #dce5ea;

    border-radius: 15px;

    background: #eef3ef;

    color:
        var(--bk-type-muted);

    box-shadow:
        0 6px 22px
        rgba(8,45,65,.07);

    font-size: 13px;
}


/* ==========================================================
   SEASONS
   ========================================================== */

.bk-nature-seasons {

    background: #f7f7f3;
}


.bk-nature-seasons h2 {

    margin:
        0
        0
        27px;
}


.bk-nature-season-grid {

    display: grid;

    grid-template-columns:
        repeat(4,1fr);

    gap: 14px;
}


.bk-nature-season-grid figure {

    height: 270px;

    position: relative;

    overflow: hidden;

    margin: 0;

    border-radius: 12px;

    background: #164b63;
}


.bk-nature-season-grid figure::after {

    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            transparent 50%,
            rgba(3,27,42,.82)
        );
}


.bk-nature-season-grid img {

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


.bk-nature-season-grid figcaption {

    position: absolute;

    z-index: 2;

    left: 17px;
    bottom: 15px;

    color: #fff;

    font-family:
        var(--bk-type-ui);

    font-size: 15px;

    font-weight: 700;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:1100px) {

    .bk-nature-card {

        flex:
            0 0
            calc(
                (100% - 42px) / 4
            );

        width:
            calc(
                (100% - 42px) / 4
            );
    }


    .bk-nature-literary
    .bk-v2-container {

        grid-template-columns:
            1fr
            1fr;
    }


    .bk-nature-season-grid {

        grid-template-columns:
            repeat(2,1fr);
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:767px) {

    .bk-nature-hero {

        min-height: 510px;

        background-position:
            58%
            center;
    }


    .bk-nature-hero-copy {

        width: 100%;
    }


    .bk-nature-hero h1 {

        font-size:
            clamp(
                43px,
                12vw,
                57px
            ) !important;
    }


    .bk-nature-hero p {

        font-size: 14px;
    }


    .bk-nature-section-head {

        display: block;
    }


    .bk-nature-section-head
    .bk-section-intro {

        margin-top: 15px;
    }


    .bk-nature-track {

        margin-right: -20px;

        padding-right: 20px;
    }


    .bk-nature-card {

        flex: 0 0 44%;

        width: 44%;

        height: 230px;
    }


    .bk-nature-literary {

        padding-bottom: 45px;
    }


    .bk-nature-literary
    .bk-v2-container {

        display: block;
    }


    .bk-nature-literary-image {

        min-height: 300px;
        height: 300px;
    }


    .bk-nature-literary-copy {

        padding:
            35px
            24px;
    }


    .bk-nature-facts {

        grid-template-columns:
            1fr;
    }


    .bk-nature-facts > div,
    .bk-nature-facts > div + div {

        padding:
            13px
            0;

        border-left: 0;

        border-bottom:
            1px solid #dce5ea;
    }


    .bk-nature-facts > div:last-child {

        border-bottom: 0;
    }


    .bk-nature-map-stage {

        min-height: 330px;

        border-width: 12px;
    }


    .bk-nature-season-grid {

        display: flex;

        overflow-x: auto;

        gap: 11px;

        padding-bottom: 8px;

        scroll-snap-type:
            x mandatory;
    }


    .bk-nature-season-grid figure {

        min-width: 76%;

        height: 250px;

        scroll-snap-align: start;
    }

}


/* ==========================================================
   SMALL PHONE
   ========================================================== */

@media(max-width:430px) {

    .bk-nature-card {

        flex: 0 0 72%;

        width: 72%;
    }

}



/* ==========================================================
   NATURE V1.1
   DOCUMENTED TRAILS
   ========================================================== */

.bk-documented-trails {
    background: #fff;
}


.bk-trail-list {
    display: grid;

    gap: 14px;
}


.bk-trail-row {
    min-height: 245px;

    display: grid;

    grid-template-columns:
        34%
        66%;

    overflow: hidden;

    border:
        1px solid #dce5ea;

    border-radius: 14px;

    background: #fff;

    box-shadow:
        0 5px 18px
        rgba(8,45,65,.06);
}


.bk-trail-row-image {
    min-height: 245px;
}


.bk-trail-row-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


.bk-trail-row-copy {
    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
        28px
        32px;
}


.bk-trail-type {
    margin-bottom: 6px;

    color:
        var(--bk-type-blue);

    font-family:
        var(--bk-type-ui);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: .17em;

    text-transform: uppercase;
}


.bk-trail-row h3 {
    margin:
        0
        0
        8px;

    color:
        var(--bk-type-navy);

    font-family:
        var(--bk-type-editorial);

    font-size: 28px;

    line-height: 1.05;
}


.bk-trail-row-copy > p {
    max-width: 620px;

    margin:
        0
        0
        20px;

    color:
        var(--bk-type-body-color);

    font-size: 13px;

    line-height: 1.55;
}


.bk-trail-stats {
    display: grid;

    grid-template-columns:
        repeat(4,1fr);

    border-top:
        1px solid #dce5ea;
}


.bk-trail-stats > div {
    padding:
        13px
        12px
        0
        0;
}


.bk-trail-stats > div + div {
    padding-left: 12px;

    border-left:
        1px solid #dce5ea;
}


.bk-trail-stats strong {
    display: block;

    color:
        #176a53;

    font-family:
        var(--bk-type-ui);

    font-size: 13px;

    font-weight: 700;
}


.bk-trail-stats span {
    display: block;

    margin-top: 2px;

    color:
        var(--bk-type-muted);

    font-size: 9px;
}


/* MOBILE */

@media(max-width:767px) {

    .bk-trail-row {
        display: block;
    }


    .bk-trail-row-image {
        height: 220px;
        min-height: 220px;
    }


    .bk-trail-row-copy {
        padding:
            24px
            20px;
    }


    .bk-trail-stats {
        grid-template-columns:
            repeat(2,1fr);

        gap: 0;
    }


    .bk-trail-stats > div {
        padding:
            11px
            8px
            11px
            0;
    }


    .bk-trail-stats > div + div {
        padding-left: 8px;
    }

}



/* ==========================================================
   NATURE V1.2
   ALTERNATING HIKING TRAIL STORIES

   Odd  = photograph left
   Even = photograph right

   Automatically supports future trails 4–7+.
   ========================================================== */


.bk-trail-list {

    gap:
        22px !important;
}


/* Larger editorial trail rows */

.bk-trail-row {

    min-height:
        285px !important;

    grid-template-columns:
        42%
        58% !important;

    border-radius:
        15px !important;
}


/* ----------------------------------------------------------
   ODD TRAILS
   IMAGE LEFT
   ---------------------------------------------------------- */

.bk-trail-row:nth-child(odd)
.bk-trail-row-image {

    grid-column:
        1;

    grid-row:
        1;
}


.bk-trail-row:nth-child(odd)
.bk-trail-row-copy {

    grid-column:
        2;

    grid-row:
        1;
}


/* ----------------------------------------------------------
   EVEN TRAILS
   IMAGE RIGHT
   ---------------------------------------------------------- */

.bk-trail-row:nth-child(even)
.bk-trail-row-image {

    grid-column:
        2;

    grid-row:
        1;
}


.bk-trail-row:nth-child(even)
.bk-trail-row-copy {

    grid-column:
        1;

    grid-row:
        1;
}


/* ----------------------------------------------------------
   PHOTOGRAPH
   ---------------------------------------------------------- */

.bk-trail-row-image {

    min-height:
        285px !important;

    overflow:
        hidden;
}


.bk-trail-row-image img {

    transition:
        transform
        .4s ease;
}


.bk-trail-row:hover
.bk-trail-row-image img {

    transform:
        scale(1.025);
}


/* ----------------------------------------------------------
   COPY
   ---------------------------------------------------------- */

.bk-trail-row-copy {

    padding:
        34px
        38px !important;
}


.bk-trail-row h3 {

    font-size:
        31px !important;

    margin-bottom:
        10px !important;
}


.bk-trail-row-copy > p {

    max-width:
        660px;

    margin-bottom:
        24px !important;

    font-size:
        14px !important;
}


/* Give even rows a subtle distinction without
   changing the Baskinta palette */

.bk-trail-row:nth-child(even)
.bk-trail-row-copy {

    background:
        #fbfcfa;
}


/* ----------------------------------------------------------
   STATS
   ---------------------------------------------------------- */

.bk-trail-stats {

    margin-top:
        auto;
}


.bk-trail-stats strong {

    font-size:
        14px !important;
}


/* ==========================================================
   MOBILE

   Never alternate on mobile.
   Image always comes first for predictable reading.
   ========================================================== */

@media(max-width:767px) {

    .bk-trail-row {

        display:
            flex !important;

        flex-direction:
            column !important;

        min-height:
            0 !important;
    }


    .bk-trail-row:nth-child(odd)
    .bk-trail-row-image,

    .bk-trail-row:nth-child(even)
    .bk-trail-row-image {

        order:
            1;

        width:
            100%;
    }


    .bk-trail-row:nth-child(odd)
    .bk-trail-row-copy,

    .bk-trail-row:nth-child(even)
    .bk-trail-row-copy {

        order:
            2;

        width:
            100%;
    }


    .bk-trail-row-image {

        height:
            235px !important;

        min-height:
            235px !important;
    }


    .bk-trail-row-copy {

        padding:
            25px
            21px !important;
    }


    .bk-trail-row h3 {

        font-size:
            27px !important;
    }

}



/* ==========================================================
   TRAILS V2.1
   WIKILOC MAP CONTROLS
   ========================================================== */

.bk-trail-actions {

    display: flex;

    align-items: center;

    gap: 16px;

    margin-top: 18px;
}


.bk-trail-map-toggle {

    min-height: 38px;

    padding:
        0
        15px;

    border:
        0;

    border-radius:
        8px;

    background:
        #0877a6;

    color:
        #fff;

    font-family:
        var(--bk-type-ui);

    font-size:
        11px;

    font-weight:
        700;

    cursor:
        pointer;
}


.bk-trail-wikiloc-link {

    color:
        #0877a6 !important;

    font-family:
        var(--bk-type-ui);

    font-size:
        11px;

    font-weight:
        700;

    text-decoration:
        none !important;
}


/* Expanded map spans full trail card width */

.bk-trail-map {

    grid-column:
        1 / -1;

    width:
        100%;

    padding:
        16px;

    border-top:
        1px solid #dce5ea;

    background:
        #fff;
}


.bk-trail-map[hidden] {
    display: none !important;
}


.bk-wikiloc-frame {

    width:
        100%;

    height:
        430px;

    display:
        block;

    border:
        1px solid #dce5ea;

    border-radius:
        10px;

    background:
        #eef3ef;
}


/*
 * A row containing an expanded map must be
 * allowed to grow beyond the standard 330px.
 */

.bk-trail-row:has(
    .bk-trail-map:not([hidden])
) {

    height:
        auto !important;
}


/* Mobile */

@media(max-width:767px) {

    .bk-trail-actions {

        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            10px;
    }


    .bk-wikiloc-frame {

        height:
            360px;
    }


    .bk-trail-map {

        order:
            3;

        padding:
            12px;
    }

}



/* ==========================================================
   LITERARY TRAIL — NATIVE BASKINTA MAP V1
   ========================================================== */

.bk-trail-source {

    color:
        var(--bk-type-muted);

    font-size:
        10px;

    font-style:
        italic;
}


.bk-trail-map {

    grid-column:
        1 / -1;

    width:
        100%;

    min-height:
        430px;

    padding:
        16px;

    border-top:
        1px solid #dce5ea;

    background:
        #fff;
}


.bk-trail-map[hidden] {

    display:
        none !important;
}


#bk-literary-route-map {

    height:
        460px;

    min-height:
        460px;

    padding:
        16px;

    box-sizing:
        border-box;
}


/*
 * Leaflet creates its own internal map canvas.
 */

#bk-literary-route-map.leaflet-container {

    padding:
        0;

    border:
        16px solid #fff;

    border-radius:
        12px;

    background:
        #eef3ef;

    box-shadow:
        inset 0 0 0 1px
        #dce5ea;
}


.bk-route-point-wrap {

    background:
        transparent !important;

    border:
        0 !important;
}


.bk-route-start,
.bk-route-finish {

    width:
        34px;

    height:
        34px;

    display:
        grid;

    place-items:
        center;

    border:
        3px solid #fff;

    border-radius:
        50%;

    color:
        #fff;

    font-family:
        var(--bk-type-ui);

    font-size:
        11px;

    font-weight:
        800;

    box-shadow:
        0 3px 10px
        rgba(0,0,0,.25);
}


.bk-route-start {

    background:
        #176A53;
}


.bk-route-finish {

    background:
        #D15B52;
}


.bk-route-loading,
.bk-route-error {

    min-height:
        400px;

    display:
        grid;

    place-items:
        center;

    color:
        var(--bk-type-muted);

    font-size:
        13px;
}


/*
 * Expanded trail row must grow for map.
 */

.bk-trail-row:has(
    .bk-trail-map:not([hidden])
) {

    height:
        auto !important;
}


/* Mobile */

@media(max-width:767px) {

    #bk-literary-route-map {

        height:
            380px;

        min-height:
            380px;
    }


    #bk-literary-route-map.leaflet-container {

        border-width:
            10px;
    }

}



/* ==========================================================
   BASKINTA HIKING TRAIL COMPONENT V3
   LOCKED EDITORIAL PRESENTATION

   Visual reference:
   Approved Baskinta Literary Trail feature.

   Typography authority:
   baskinta-typography.css
   ========================================================== */


/* ----------------------------------------------------------
   LIST
   ---------------------------------------------------------- */

.bk-trail-list {

    display:
        grid !important;

    gap:
        28px !important;
}


/* ----------------------------------------------------------
   MASTER TRAIL CARD
   ---------------------------------------------------------- */

.bk-trail-row {

    width:
        100%;

    height:
        auto !important;

    min-height:
        430px !important;

    display:
        grid !important;

    grid-template-columns:
        1fr
        1fr !important;

    grid-template-rows:
        auto;

    overflow:
        hidden;

    border:
        1px solid
        #e0e7ea !important;

    border-radius:
        17px !important;

    background:
        #fff !important;

    box-shadow:
        0 10px 30px
        rgba(8,45,65,.075) !important;
}


/* ----------------------------------------------------------
   ALTERNATING GEOMETRY

   Odd  = photo left
   Even = photo right
   ---------------------------------------------------------- */

.bk-trail-row:nth-child(odd)
.bk-trail-row-image {

    grid-column:
        1 !important;

    grid-row:
        1 !important;
}


.bk-trail-row:nth-child(odd)
.bk-trail-row-copy {

    grid-column:
        2 !important;

    grid-row:
        1 !important;
}


.bk-trail-row:nth-child(even)
.bk-trail-row-image {

    grid-column:
        2 !important;

    grid-row:
        1 !important;
}


.bk-trail-row:nth-child(even)
.bk-trail-row-copy {

    grid-column:
        1 !important;

    grid-row:
        1 !important;
}


/* ----------------------------------------------------------
   STANDARDIZED PHOTOGRAPH

   Every trail uses exactly the same dimensions.
   ---------------------------------------------------------- */

.bk-trail-row-image {

    width:
        100% !important;

    height:
        430px !important;

    min-height:
        430px !important;

    overflow:
        hidden;

    background:
        #eef3ef;
}


.bk-trail-row-image img {

    width:
        100% !important;

    height:
        100% !important;

    display:
        block;

    object-fit:
        cover !important;

    object-position:
        center;

    transition:
        transform .4s ease;
}


.bk-trail-row:hover
.bk-trail-row-image img {

    transform:
        scale(1.018);
}


/* ----------------------------------------------------------
   EDITORIAL INFORMATION PANEL
   ---------------------------------------------------------- */

.bk-trail-row-copy {

    min-width:
        0;

    display:
        flex !important;

    flex-direction:
        column;

    justify-content:
        center;

    padding:
        48px
        54px !important;

    background:
        #fff !important;
}


/*
 * Use global typography.
 * No local font family.
 */

.bk-trail-row
.bk-trail-type {

    margin:
        0
        0
        10px !important;
}


.bk-trail-row
.bk-editorial-title {

    margin:
        0
        0
        18px !important;

    /*
     * Component scale only.
     * Font family remains global.
     */

    font-size:
        clamp(
            32px,
            2.6vw,
            42px
        ) !important;

    line-height:
        1.04 !important;
}


.bk-trail-row-copy > p {

    max-width:
        650px;

    margin:
        0
        0
        30px !important;

    color:
        var(--bk-type-body-color);

    font-size:
        15px !important;

    line-height:
        1.65 !important;
}


/* ----------------------------------------------------------
   FACTS
   Approved Literary Trail language.
   ---------------------------------------------------------- */

.bk-trail-stats {

    width:
        100%;

    display:
        grid !important;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(105px,1fr)
        ) !important;

    margin:
        auto
        0
        0;

    border-top:
        1px solid
        #dce5ea !important;

    border-bottom:
        1px solid
        #dce5ea !important;
}


.bk-trail-stats > div {

    min-width:
        0;

    padding:
        18px
        16px
        18px
        0 !important;
}


.bk-trail-stats > div + div {

    padding-left:
        16px !important;

    border-left:
        1px solid
        #dce5ea !important;
}


.bk-trail-stats strong {

    display:
        block;

    color:
        #176a53 !important;

    font-size:
        18px !important;

    font-weight:
        700 !important;

    line-height:
        1.15;
}


.bk-trail-stats span {

    display:
        block;

    margin-top:
        7px;

    color:
        var(--bk-type-muted);

    font-size:
        11px !important;

    line-height:
        1.3;
}


/* ----------------------------------------------------------
   ACTION AREA
   ---------------------------------------------------------- */

.bk-trail-actions {

    display:
        flex !important;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        16px;

    margin-top:
        25px !important;
}


.bk-trail-map-toggle {

    min-height:
        46px !important;

    padding:
        0
        20px !important;

    border:
        0;

    border-radius:
        9px !important;

    background:
        #0789bf !important;

    color:
        #fff !important;

    font-size:
        12px !important;

    font-weight:
        700;

    cursor:
        pointer;
}


.bk-trail-source {

    color:
        var(--bk-type-muted) !important;

    font-size:
        10px !important;

    font-style:
        normal !important;
}


/* ----------------------------------------------------------
   EXPANDED MAP

   Always appears below BOTH columns.
   ---------------------------------------------------------- */

.bk-trail-map {

    grid-column:
        1 / -1 !important;

    grid-row:
        2 !important;

    width:
        100%;

    min-height:
        0;

    padding:
        18px !important;

    border-top:
        1px solid
        #dce5ea;

    background:
        #fff;
}


.bk-trail-map[hidden] {

    display:
        none !important;
}


/* ----------------------------------------------------------
   REMOVE LEGACY WIKILOC EXTERNAL CTA VISUALLY
   if an old one survives in markup.
   ---------------------------------------------------------- */

.bk-trail-wikiloc-link {

    display:
        none !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:1000px) {

    .bk-trail-row {

        min-height:
            380px !important;
    }


    .bk-trail-row-image {

        height:
            380px !important;

        min-height:
            380px !important;
    }


    .bk-trail-row-copy {

        padding:
            38px
            34px !important;
    }


    .bk-trail-row
    .bk-editorial-title {

        font-size:
            32px !important;
    }

}


/* ==========================================================
   MOBILE

   Photo always first.
   ========================================================== */

@media(max-width:767px) {

    .bk-trail-list {

        gap:
            20px !important;
    }


    .bk-trail-row {

        min-height:
            0 !important;

        display:
            flex !important;

        flex-direction:
            column !important;
    }


    .bk-trail-row-image {

        order:
            1;

        width:
            100% !important;

        height:
            260px !important;

        min-height:
            260px !important;
    }


    .bk-trail-row-copy {

        order:
            2;

        width:
            100% !important;

        padding:
            30px
            23px !important;
    }


    .bk-trail-row
    .bk-editorial-title {

        font-size:
            30px !important;
    }


    .bk-trail-row-copy > p {

        font-size:
            14px !important;

        margin-bottom:
            23px !important;
    }


    .bk-trail-stats {

        grid-template-columns:
            repeat(
                2,
                1fr
            ) !important;
    }


    .bk-trail-stats > div {

        padding:
            14px
            10px
            14px
            0 !important;
    }


    .bk-trail-stats strong {

        font-size:
            16px !important;
    }


    .bk-trail-actions {

        margin-top:
            20px !important;
    }


    .bk-trail-map {

        order:
            3;

        width:
            100%;

        padding:
            10px !important;
    }

}



/* ==========================================================
   BASKINTA TRAIL WAYPOINT SYSTEM V1
   ========================================================== */


/* Leaflet wrapper */

.bk-route-point-wrap {

    overflow:
        visible !important;

    background:
        transparent !important;

    border:
        0 !important;
}


/* ----------------------------------------------------------
   MAP PIN
   ---------------------------------------------------------- */

.bk-route-pin {

    width:
        46px;

    height:
        46px;

    position:
        relative;

    display:
        grid;

    place-items:
        center;

    border:
        4px solid #fff;

    border-radius:
        50% 50% 50% 8px;

    color:
        #fff;

    box-shadow:
        0 5px 15px
        rgba(0,0,0,.28);

    transform:
        rotate(-45deg);
}


/*
 * Rotate icon content back to normal.
 */

.bk-route-pin-symbol {

    display:
        block;

    font-family:
        Arial,
        sans-serif;

    font-size:
        18px;

    font-weight:
        700;

    line-height:
        1;

    transform:
        rotate(45deg);
}


/* ----------------------------------------------------------
   START
   ---------------------------------------------------------- */

.bk-route-pin.bk-route-start {

    background:
        #176a53 !important;
}


/* ----------------------------------------------------------
   FINISH
   ---------------------------------------------------------- */

.bk-route-pin.bk-route-finish {

    background:
        #d15b52 !important;
}


/* ----------------------------------------------------------
   LABEL
   ---------------------------------------------------------- */

.bk-route-pin-label {

    position:
        absolute;

    left:
        50%;

    top:
        50px;

    min-width:
        max-content;

    padding:
        4px
        8px;

    border:
        1px solid
        rgba(22,75,99,.15);

    border-radius:
        6px;

    background:
        rgba(255,255,255,.96);

    color:
        #164b63;

    font-family:
        var(--bk-type-ui);

    font-size:
        9px;

    font-weight:
        800;

    line-height:
        1;

    text-transform:
        uppercase;

    letter-spacing:
        .06em;

    box-shadow:
        0 3px 9px
        rgba(0,0,0,.12);

    transform:
        translateX(-50%)
        rotate(45deg);

    transform-origin:
        center;
}


/* ----------------------------------------------------------
   POPUPS
   ---------------------------------------------------------- */

#bk-literary-route-map
.leaflet-popup-content-wrapper {

    border-radius:
        9px;

    box-shadow:
        0 6px 20px
        rgba(0,0,0,.16);
}


#bk-literary-route-map
.leaflet-popup-content {

    margin:
        11px
        14px;

    color:
        #164b63;

    font-family:
        var(--bk-type-ui);

    font-size:
        12px;
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media(max-width:767px) {

    .bk-route-pin {

        width:
            40px;

        height:
            40px;

        border-width:
            3px;
    }


    .bk-route-pin-symbol {

        font-size:
            15px;
    }


    .bk-route-pin-label {

        top:
            44px;

        font-size:
            8px;
    }

}



/* ==========================================================
   BASKINTA TRAIL WAYPOINTS V1
   ========================================================== */


/* ----------------------------------------------------------
   WRAPPER
   ---------------------------------------------------------- */

.bk-waypoint-wrap {

    overflow:
        visible !important;

    background:
        transparent !important;

    border:
        0 !important;
}


/* ----------------------------------------------------------
   STANDARD POI PIN
   ---------------------------------------------------------- */

.bk-waypoint-pin {

    width:
        32px;

    height:
        32px;

    display:
        grid;

    place-items:
        center;

    border:
        3px solid #fff;

    border-radius:
        50%;

    color:
        #fff;

    box-shadow:
        0 4px 12px
        rgba(0,0,0,.25);

    transition:
        transform .15s ease;
}


.bk-waypoint-pin:hover {

    transform:
        scale(1.12);
}


.bk-waypoint-pin span {

    display:
        block;

    font-family:
        Arial,
        sans-serif;

    font-size:
        14px;

    font-weight:
        700;

    line-height:
        1;
}


/* ----------------------------------------------------------
   SACRED
   ---------------------------------------------------------- */

.bk-waypoint-sacred {

    background:
        #d15b52;
}


/* ----------------------------------------------------------
   CULTURE
   ---------------------------------------------------------- */

.bk-waypoint-culture {

    background:
        #7256b5;
}


/* ----------------------------------------------------------
   NATURE
   ---------------------------------------------------------- */

.bk-waypoint-nature {

    background:
        #48a86a;
}


/* ----------------------------------------------------------
   LOCAL TASTE
   ---------------------------------------------------------- */

.bk-waypoint-taste {

    background:
        #d9a028;
}


/* ----------------------------------------------------------
   POPUPS
   ---------------------------------------------------------- */

.bk-waypoint-popup {

    min-width:
        165px;
}


.bk-waypoint-popup-type {

    display:
        block;

    margin-bottom:
        4px;

    color:
        #0877a6;

    font-family:
        var(--bk-type-ui);

    font-size:
        8px;

    font-weight:
        800;

    letter-spacing:
        .12em;

    text-transform:
        uppercase;
}


.bk-waypoint-popup strong {

    display:
        block;

    color:
        #164b63;

    font-family:
        var(--bk-type-ui);

    font-size:
        12px;

    line-height:
        1.35;
}


/* ----------------------------------------------------------
   MAP LEGEND
   ---------------------------------------------------------- */

.bk-trail-waypoint-legend {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        12px;

    margin-top:
        10px;
}


/* Mobile */

@media(max-width:767px) {

    .bk-waypoint-pin {

        width:
            29px;

        height:
            29px;

        border-width:
            2px;
    }


    .bk-waypoint-pin span {

        font-size:
            12px;
    }

}



/* ==========================================================
   BASKINTA TRAIL MAP UI V2
   LOCKED EXPANDED MAP PRESENTATION
   ========================================================== */


/* ----------------------------------------------------------
   EXPANDED TRAIL CARD

   When a map is visible, allow a second full-width row.
   ---------------------------------------------------------- */

.bk-trail-row:has(
    .bk-trail-map:not([hidden])
) {

    height:
        auto !important;

    grid-template-rows:
        auto
        auto !important;
}


/*
 * The map occupies BOTH columns.
 */

.bk-trail-row
.bk-trail-map {

    grid-column:
        1 / -1 !important;

    grid-row:
        2 !important;

    width:
        100% !important;

    min-width:
        100% !important;

    max-width:
        none !important;

    height:
        auto !important;

    min-height:
        0 !important;

    box-sizing:
        border-box;

    padding:
        0
        28px
        28px !important;

    border-top:
        0 !important;

    background:
        #fff;
}


/* ----------------------------------------------------------
   LEAFLET MAP

   Full card width.
   ---------------------------------------------------------- */

#bk-literary-route-map {

    width:
        100% !important;

    max-width:
        none !important;

    height:
        480px !important;

    min-height:
        480px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    box-sizing:
        border-box;
}


#bk-literary-route-map.leaflet-container {

    width:
        100% !important;

    height:
        480px !important;

    min-height:
        480px !important;

    border:
        1px solid
        #dce5ea !important;

    border-radius:
        12px !important;

    background:
        #eef3ef;

    box-shadow:
        none !important;
}


/* ----------------------------------------------------------
   LEGEND
   ---------------------------------------------------------- */

.bk-route-legend {

    grid-column:
        1 / -1;

    width:
        calc(100% - 56px);

    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        10px
        18px;

    margin:
        0
        28px;

    padding:
        17px
        0
        13px;

    border-top:
        1px solid
        #dce5ea;

    color:
        #536b78;

    font-family:
        var(--bk-type-ui);

    font-size:
        10px;

    font-weight:
        600;
}


.bk-route-legend-title {

    margin-right:
        5px;

    color:
        #164b63;

    font-size:
        11px;

    font-weight:
        800;

    text-transform:
        uppercase;

    letter-spacing:
        .09em;
}


.bk-route-legend > span {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        6px;
}


.bk-legend-dot {

    width:
        22px;

    height:
        22px;

    display:
        inline-grid;

    place-items:
        center;

    flex:
        0 0
        22px;

    border:
        2px solid
        #fff;

    border-radius:
        50%;

    color:
        #fff;

    font-family:
        Arial,
        sans-serif;

    font-size:
        10px;

    font-style:
        normal;

    font-weight:
        700;

    box-shadow:
        0 2px 6px
        rgba(0,0,0,.17);
}


.bk-legend-start {

    background:
        #176a53;
}


.bk-legend-start::before {

    content:
        "▶";
}


.bk-legend-finish {

    background:
        #d15b52;
}


.bk-legend-finish::before {

    content:
        "⚑";
}


.bk-legend-sacred {

    background:
        #d15b52;
}


.bk-legend-culture {

    background:
        #7256b5;
}


.bk-legend-nature {

    background:
        #48a86a;
}


.bk-legend-taste {

    background:
        #d9a028;
}


/* ----------------------------------------------------------
   IMPROVED WAYPOINTS
   ---------------------------------------------------------- */

.bk-waypoint-pin {

    width:
        36px !important;

    height:
        36px !important;

    border:
        3px solid
        #fff !important;

    box-shadow:
        0 4px 12px
        rgba(0,0,0,.27) !important;
}


.bk-waypoint-pin span {

    font-size:
        15px !important;
}


/*
 * Sacred
 */

.bk-waypoint-sacred {

    background:
        #d15b52 !important;
}


/*
 * Culture
 */

.bk-waypoint-culture {

    background:
        #7256b5 !important;
}


/*
 * Nature
 */

.bk-waypoint-nature {

    background:
        #48a86a !important;
}


/*
 * Local taste
 */

.bk-waypoint-taste {

    background:
        #d9a028 !important;
}


/* ----------------------------------------------------------
   POPUP POLISH
   ---------------------------------------------------------- */

#bk-literary-route-map
.leaflet-popup-content-wrapper {

    border-radius:
        10px !important;

    box-shadow:
        0 7px 22px
        rgba(0,0,0,.18) !important;
}


.bk-waypoint-popup {

    min-width:
        190px;
}


.bk-waypoint-popup-type {

    margin-bottom:
        5px !important;

    color:
        #0877a6 !important;

    font-size:
        8px !important;

    font-weight:
        800 !important;

    letter-spacing:
        .13em !important;
}


.bk-waypoint-popup strong {

    color:
        #164b63 !important;

    font-size:
        13px !important;

    line-height:
        1.3 !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:767px) {

    .bk-trail-row
    .bk-trail-map {

        width:
            100% !important;

        padding:
            0
            12px
            18px !important;
    }


    .bk-route-legend {

        width:
            calc(100% - 24px);

        margin:
            0
            12px;

        gap:
            9px
            12px;

        padding-top:
            14px;
    }


    .bk-route-legend-title {

        width:
            100%;

        margin-bottom:
            2px;
    }


    #bk-literary-route-map,
    #bk-literary-route-map.leaflet-container {

        width:
            100% !important;

        height:
            390px !important;

        min-height:
            390px !important;
    }


    .bk-waypoint-pin {

        width:
            31px !important;

        height:
            31px !important;
    }


    .bk-waypoint-pin span {

        font-size:
            12px !important;
    }

}



/* ==========================================================
   TRAIL MAP V3
   TRUE CARD-LEVEL FULL WIDTH
   ========================================================== */


/*
 * Trail card has:
 *
 * row 1 = copy + photograph
 * row 2 = legend
 * row 3 = map
 */

.bk-trail-row:has(
    > .bk-trail-map:not([hidden])
) {

    height:
        auto !important;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr) !important;

    grid-template-rows:
        auto
        auto
        auto !important;
}


/* ----------------------------------------------------------
   LEGEND
   ---------------------------------------------------------- */

.bk-trail-row
> .bk-route-legend {

    grid-column:
        1 / -1 !important;

    grid-row:
        2 !important;

    width:
        auto !important;

    margin:
        0
        30px !important;

    padding:
        18px
        0
        14px !important;

    box-sizing:
        border-box;
}


/* ----------------------------------------------------------
   MAP
   ---------------------------------------------------------- */

.bk-trail-row
> .bk-trail-map {

    grid-column:
        1 / -1 !important;

    grid-row:
        3 !important;

    width:
        100% !important;

    max-width:
        100% !important;

    min-width:
        0 !important;

    height:
        auto !important;

    margin:
        0 !important;

    padding:
        0
        30px
        30px !important;

    box-sizing:
        border-box;
}


/*
 * Actual Leaflet canvas.
 */

.bk-trail-row
> .bk-trail-map.leaflet-container,

.bk-trail-row
> #bk-literary-route-map {

    width:
        calc(100% - 60px) !important;

    max-width:
        none !important;

    height:
        500px !important;

    min-height:
        500px !important;

    margin:
        0
        30px
        30px !important;

    padding:
        0 !important;

    box-sizing:
        border-box;

    border:
        1px solid #dce5ea !important;

    border-radius:
        12px !important;
}


/*
 * Because #bk-literary-route-map itself becomes the
 * Leaflet container, avoid double horizontal spacing.
 */

.bk-trail-row
> #bk-literary-route-map.bk-trail-map {

    width:
        calc(100% - 60px) !important;

    margin:
        0
        30px
        30px !important;

    padding:
        0 !important;
}


/* ----------------------------------------------------------
   REMOVE THE EMPTY SECOND-COLUMN EFFECT
   ---------------------------------------------------------- */

.bk-trail-row:has(
    > .bk-trail-map:not([hidden])
)
.bk-trail-row-copy,

.bk-trail-row:has(
    > .bk-trail-map:not([hidden])
)
.bk-trail-row-image {

    align-self:
        stretch;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:767px) {

    .bk-trail-row:has(
        > .bk-trail-map:not([hidden])
    ) {

        display:
            flex !important;

        flex-direction:
            column !important;
    }


    .bk-trail-row
    > .bk-route-legend {

        order:
            3;

        width:
            auto !important;

        margin:
            0
            14px !important;
    }


    .bk-trail-row
    > #bk-literary-route-map.bk-trail-map {

        order:
            4;

        width:
            calc(100% - 28px) !important;

        height:
            400px !important;

        min-height:
            400px !important;

        margin:
            0
            14px
            18px !important;
    }

}



/* ==========================================================
   BASKINTA TRAIL POI SYSTEM V2.1
   ========================================================== */

.bk-waypoint-water,
.bk-legend-water {
    background: #2788b7 !important;
}

.bk-waypoint-viewpoint,
.bk-legend-viewpoint {
    background: #506b92 !important;
}

.bk-waypoint-stay,
.bk-legend-stay {
    background: #9a6b46 !important;
}

.bk-waypoint-outdoor,
.bk-legend-outdoor {
    background: #4f8d58 !important;
}

.bk-waypoint-service,
.bk-legend-service {
    background: #65747d !important;
}



/* ==========================================================
   BASKINTA TRAIL LEGEND V2
   ========================================================== */

.bk-legend-water {
    background: #2788b7 !important;
}

.bk-legend-viewpoint {
    background: #506b92 !important;
}

.bk-legend-stay {
    background: #9a6b46 !important;
}

.bk-legend-outdoor {
    background: #4f8d58 !important;
}

.bk-legend-service {
    background: #65747d !important;
}

.bk-route-legend {
    row-gap: 10px !important;
}



/* ==========================================================
   NATURE AROUND BASKINTA — MASTER MAP V1
   ========================================================== */

.bk-nature-master-section {
    padding: 72px 0;
    background: #f4f8fa;
}

.bk-master-map-shell {
    margin-top: 28px;
    overflow: hidden;
    border: 1px solid #dce5ea;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(8,45,65,.07);
}

.bk-master-map-controls {
    padding: 22px 24px 18px;
    border-bottom: 1px solid #dce5ea;
}

.bk-master-filter-group + .bk-master-filter-group {
    margin-top: 16px;
}

.bk-master-filter-label {
    display: block;
    margin-bottom: 8px;
    color: #164b63;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bk-master-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.bk-master-chip,
.bk-master-poi-chip {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid #d5e0e5;
    border-radius: 999px;
    background: #fff;
    color: #49616d;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
}

.bk-master-chip:hover,
.bk-master-poi-chip:hover {
    border-color: #0877a6;
    color: #0877a6;
}

.bk-master-chip.is-active {
    border-color: #0877a6;
    background: #0877a6;
    color: #fff;
}

.bk-master-poi-chip.is-active {
    background: #edf6f9;
    border-color: #b8d6e2;
    color: #164b63;
}

.bk-nature-master-map {
    width: 100%;
    height: 570px;
    min-height: 570px;
    background: #eaf1f3;
}

.bk-master-map-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 24px;
    border-top: 1px solid #dce5ea;
    color: #6b7d86;
    font-size: 11px;
}

.bk-master-reset {
    border: 0;
    background: transparent;
    color: #0877a6;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.bk-master-route-popup span {
    display: block;
    margin-bottom: 4px;
    color: #0877a6;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.bk-master-route-popup strong {
    display: block;
    margin-bottom: 9px;
    color: #164b63;
    font-size: 13px;
}

.bk-master-view-trail {
    padding: 0;
    border: 0;
    background: transparent;
    color: #0877a6;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}


@media(max-width:767px) {

    .bk-nature-master-section {
        padding: 48px 0;
    }

    .bk-master-map-controls {
        padding: 18px 15px;
    }

    .bk-master-filter-row {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .bk-master-chip,
    .bk-master-poi-chip {
        flex: 0 0 auto;
    }

    .bk-nature-master-map {
        height: 430px;
        min-height: 430px;
    }

    .bk-master-map-footer {
        align-items: flex-start;
        flex-direction: column;
        padding: 13px 15px;
    }

}

