/* ==========================================================
   BASKINTA PLAN YOUR VISIT V1
   ========================================================== */

.bk-plan {
    --bk-navy: #183b4c;
    --bk-teal: #4c8b88;
    --bk-teal-dark: #336e6c;
    --bk-soft: #f4f6f3;
    --bk-line: #dbe3df;
    --bk-text: #263c43;
    --bk-muted: #74858a;
    --bk-white: #ffffff;
    color: var(--bk-text);
    background: #fff;
}

.bk-plan *,
.bk-plan *::before,
.bk-plan *::after {
    box-sizing: border-box;
}

.bk-plan-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}


/* HERO */

.bk-plan-hero {
    position: relative;
    min-height: 560px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        url('/wp-content/uploads/baskinta-qa/gallery/images/baskinta-online-nature-trails-002-shakhroub-valley-02-qa.jpg')
        center center / cover no-repeat;
}

.bk-plan-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(8, 28, 38, .78) 0%,
            rgba(8, 28, 38, .49) 48%,
            rgba(8, 28, 38, .16) 100%
        );
}

.bk-plan-hero-inner {
    position: relative;
    z-index: 2;
    padding-top: 70px;
    padding-bottom: 70px;
}

.bk-plan-kicker {
    margin: 0 0 18px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .21em;
    color: rgba(255,255,255,.82);
}

.bk-plan-kicker-dark {
    color: var(--bk-teal-dark);
}

.bk-plan-hero h1 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(54px, 7vw, 92px);
    line-height: .98;
    font-weight: 400;
    letter-spacing: -.04em;
}

.bk-plan-hero-copy {
    max-width: 590px;
    margin: 28px 0 34px;
    color: rgba(255,255,255,.9);
    font-size: 18px;
    line-height: 1.7;
}

.bk-plan-hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 15px 24px;
    border: 1px solid rgba(255,255,255,.6);
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: .2s ease;
}

.bk-plan-hero-cta:hover {
    background: #fff;
    color: var(--bk-navy);
}


/* INTRO */

.bk-plan-intro {
    padding: 92px 0 72px;
}

.bk-plan-intro-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 90px;
    align-items: end;
}

.bk-plan-intro h2 {
    margin: 0;
    max-width: 720px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(38px, 5vw, 62px);
    line-height: 1.04;
    font-weight: 400;
    color: var(--bk-navy);
    letter-spacing: -.03em;
}

.bk-plan-intro-grid > div:last-child p {
    margin: 0;
    font-size: 17px;
    line-height: 1.8;
    color: var(--bk-muted);
}


/* BUILDER */

.bk-plan-builder {
    padding: 0 0 110px;
}

.bk-plan-form {
    border-top: 1px solid var(--bk-line);
}

.bk-plan-progress {
    padding: 25px 0;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 22px;
    border-bottom: 1px solid var(--bk-line);
}

.bk-plan-progress-label,
.bk-plan-progress-number {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--bk-muted);
}

.bk-plan-progress-track {
    height: 3px;
    background: #e7ece9;
    overflow: hidden;
}

.bk-plan-progress-fill {
    display: block;
    width: 0;
    height: 100%;
    background: var(--bk-teal);
    transition: width .25s ease;
}


.bk-plan-question {
    margin: 0;
    padding: 54px 0;
    border: 0;
    border-bottom: 1px solid var(--bk-line);
}

.bk-plan-question legend {
    width: 100%;
    display: flex;
    align-items: baseline;
    gap: 20px;
    margin: 0 0 28px;
    padding: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 30px;
    line-height: 1.2;
    color: var(--bk-navy);
}

.bk-plan-question-number {
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    color: var(--bk-teal);
}

.bk-plan-question-help {
    margin: -14px 0 26px 34px;
    color: var(--bk-muted);
    font-size: 14px;
}

.bk-plan-options {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.bk-plan-options-wide {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.bk-plan-options-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bk-plan-option {
    position: relative;
    display: block;
    cursor: pointer;
}

.bk-plan-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.bk-plan-option > span {
    min-height: 74px;
    padding: 20px 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bk-line);
    background: #fff;
    color: var(--bk-text);
    text-align: center;
    font-size: 14px;
    line-height: 1.35;
    transition: .18s ease;
}

.bk-plan-option:hover > span {
    border-color: var(--bk-teal);
}

.bk-plan-option input:checked + span {
    border-color: var(--bk-teal-dark);
    background: var(--bk-teal-dark);
    color: #fff;
}

.bk-plan-option input:focus-visible + span {
    outline: 3px solid rgba(76,139,136,.25);
    outline-offset: 2px;
}

.bk-plan-option-detail > span {
    min-height: 112px;
    flex-direction: column;
    gap: 8px;
}

.bk-plan-option-detail strong {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 20px;
    font-weight: 400;
}

.bk-plan-option-detail small {
    max-width: 220px;
    font-size: 12px;
    line-height: 1.45;
    opacity: .75;
}

.bk-plan-date-wrap {
    margin-top: 18px;
}

.bk-plan-date-wrap label {
    display: inline-flex;
    flex-direction: column;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--bk-muted);
}

.bk-plan-date-wrap input {
    min-width: 240px;
    padding: 13px 14px;
    border: 1px solid var(--bk-line);
    background: #fff;
    color: var(--bk-text);
    font: inherit;
}


/* ACTION */

.bk-plan-action {
    padding: 46px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.bk-plan-action p {
    margin: 0;
    color: var(--bk-muted);
    font-size: 14px;
}

.bk-plan-submit {
    appearance: none;
    border: 0;
    padding: 17px 27px;
    display: inline-flex;
    align-items: center;
    gap: 18px;
    background: var(--bk-navy);
    color: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: .2s ease;
}

.bk-plan-submit:hover {
    background: var(--bk-teal-dark);
}


/* SUMMARY */

.bk-plan-summary {
    margin-top: 90px;
    padding: 68px;
    background: var(--bk-soft);
}

.bk-plan-summary-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    margin-bottom: 42px;
}

.bk-plan-summary h2 {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.05;
    font-weight: 400;
    color: var(--bk-navy);
}

.bk-plan-edit {
    appearance: none;
    border: 0;
    border-bottom: 1px solid var(--bk-navy);
    background: transparent;
    padding: 4px 0;
    color: var(--bk-navy);
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}

.bk-plan-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 1px;
    background: var(--bk-line);
    border: 1px solid var(--bk-line);
}

.bk-plan-summary-item {
    min-height: 120px;
    padding: 24px;
    background: #fff;
}

.bk-plan-summary-item span {
    display: block;
    margin-bottom: 9px;
    color: var(--bk-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.bk-plan-summary-item strong {
    display: block;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 400;
    color: var(--bk-navy);
}

.bk-plan-next-preview {
    margin-top: 55px;
    padding-top: 38px;
    border-top: 1px solid var(--bk-line);
}

.bk-plan-next-preview h3 {
    margin: 0 0 12px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 30px;
    font-weight: 400;
    color: var(--bk-navy);
}

.bk-plan-next-preview p:last-child {
    max-width: 700px;
    margin: 0;
    color: var(--bk-muted);
    line-height: 1.7;
}


/* TABLET */

@media (max-width: 1024px) {

    .bk-plan-options-wide {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }

    .bk-plan-intro-grid {
        gap: 48px;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .bk-plan-container {
        width: min(100% - 30px, 1180px);
    }

    .bk-plan-hero {
        min-height: 500px;
    }

    .bk-plan-hero h1 {
        font-size: 52px;
    }

    .bk-plan-hero-copy {
        font-size: 16px;
    }

    .bk-plan-intro {
        padding: 62px 0 52px;
    }

    .bk-plan-intro-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .bk-plan-intro h2 {
        font-size: 40px;
    }

    .bk-plan-progress {
        grid-template-columns: 1fr auto;
    }

    .bk-plan-progress-track {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .bk-plan-question {
        padding: 42px 0;
    }

    .bk-plan-question legend {
        font-size: 25px;
    }

    .bk-plan-question-help {
        margin-left: 0;
    }

    .bk-plan-options,
    .bk-plan-options-wide,
    .bk-plan-options-three {
        grid-template-columns: 1fr 1fr;
    }

    .bk-plan-option > span {
        min-height: 68px;
        padding: 17px 12px;
    }

    .bk-plan-option-detail > span {
        min-height: 120px;
    }

    .bk-plan-action {
        flex-direction: column;
        align-items: stretch;
    }

    .bk-plan-submit {
        justify-content: space-between;
        width: 100%;
    }

    .bk-plan-summary {
        margin-top: 60px;
        padding: 38px 24px;
    }

    .bk-plan-summary-heading {
        flex-direction: column;
        gap: 20px;
    }

    .bk-plan-summary-grid {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 480px) {

    .bk-plan-options,
    .bk-plan-options-wide,
    .bk-plan-options-three {
        grid-template-columns: 1fr;
    }

    .bk-plan-hero h1 {
        font-size: 46px;
    }
}


/* ==========================================================
   BASKINTA LIVE RESULTS V2
   ========================================================== */

.bk-plan-results {
    padding: 0 0 110px;
}

.bk-plan-results-heading {
    padding: 85px 0 46px;
    border-top: 1px solid var(--bk-line);
    display: grid;
    grid-template-columns: 1.15fr .65fr;
    gap: 70px;
    align-items: end;
}

.bk-plan-results-heading h2 {
    max-width: 760px;
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(38px, 5vw, 58px);
    line-height: 1.05;
    font-weight: 400;
    letter-spacing: -.03em;
    color: var(--bk-navy);
}

.bk-plan-results-heading > p {
    margin: 0;
    color: var(--bk-muted);
    font-size: 16px;
    line-height: 1.75;
}


.bk-plan-loading,
.bk-plan-results-error {
    padding: 35px;
    margin-bottom: 30px;
    background: var(--bk-soft);
    color: var(--bk-navy);
}

.bk-plan-results-error {
    border-left: 3px solid var(--bk-navy);
}


.bk-plan-results-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 55px;
    align-items: start;
}

.bk-plan-discovery {
    min-width: 0;
}

.bk-plan-result-section {
    padding: 48px 0;
    border-top: 1px solid var(--bk-line);
}

.bk-plan-result-section:first-child {
    padding-top: 0;
    border-top: 0;
}

.bk-plan-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 25px;
    margin-bottom: 10px;
}

.bk-plan-section-head h3 {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 34px;
    line-height: 1.12;
    font-weight: 400;
    color: var(--bk-navy);
}

.bk-plan-count {
    color: var(--bk-muted);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.bk-plan-section-note {
    max-width: 720px;
    margin: 0 0 26px;
    color: var(--bk-muted);
    line-height: 1.65;
    font-size: 14px;
}


/* PLACE CARDS */

.bk-plan-place-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
}

.bk-plan-place-card {
    display: grid;
    grid-template-columns: 132px minmax(0,1fr);
    min-height: 150px;
    border: 1px solid var(--bk-line);
    background: #fff;
    overflow: hidden;
}

.bk-plan-place-photo {
    min-height: 150px;
    background: var(--bk-soft);
}

.bk-plan-place-photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 150px;
    object-fit: cover;
}

.bk-plan-place-copy {
    padding: 19px;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.bk-plan-card-category {
    margin: 0 0 8px;
    color: var(--bk-teal-dark);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bk-plan-place-card h4,
.bk-plan-trail-card h4 {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 21px;
    line-height: 1.15;
    font-weight: 400;
    color: var(--bk-navy);
}

.bk-plan-card-meta {
    margin: 9px 0 15px;
    color: var(--bk-muted);
    font-size: 12px;
    line-height: 1.45;
}

.bk-plan-card-actions {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.bk-plan-add,
.bk-plan-explore-trail,
.bk-plan-show-all {
    appearance: none;
    border: 0;
    background: var(--bk-navy);
    color: #fff;
    padding: 10px 14px;
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.bk-plan-add.is-added {
    background: var(--bk-teal-dark);
}

.bk-plan-card-link {
    color: var(--bk-navy);
    text-decoration: none;
    border-bottom: 1px solid rgba(24,59,76,.35);
    font-size: 11px;
}


/* TRAILS */

.bk-plan-trail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
}

.bk-plan-trail-card {
    min-height: 210px;
    border: 1px solid var(--bk-line);
    padding: 24px;
    display: flex;
    flex-direction: column;
    background: #fff;
}

.bk-plan-trail-card .bk-plan-card-meta {
    margin-bottom: 12px;
}

.bk-plan-trail-description {
    margin: 0 0 18px;
    color: var(--bk-muted);
    font-size: 13px;
    line-height: 1.55;
}

.bk-plan-trail-advisory {
    margin: 0 0 19px;
    padding: 10px 12px;
    background: var(--bk-soft);
    color: var(--bk-text);
    font-size: 11px;
    line-height: 1.45;
}

.bk-plan-show-all {
    margin-top: 20px;
    background: transparent;
    color: var(--bk-navy);
    border: 1px solid var(--bk-navy);
}


/* TRAIL EXPLORER */

.bk-plan-trail-explorer {
    scroll-margin-top: 30px;
}

.bk-plan-close-explorer {
    appearance: none;
    border: 0;
    border-bottom: 1px solid var(--bk-navy);
    background: transparent;
    padding: 2px 0;
    color: var(--bk-navy);
    font: inherit;
    font-size: 12px;
    cursor: pointer;
}

.bk-plan-trail-place-list {
    border-top: 1px solid var(--bk-line);
}

.bk-plan-trail-place {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 20px;
    padding: 17px 0;
    border-bottom: 1px solid var(--bk-line);
    align-items: center;
}

.bk-plan-trail-place h4 {
    margin: 0 0 4px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 18px;
    font-weight: 400;
    color: var(--bk-navy);
}

.bk-plan-trail-place-meta {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    color: var(--bk-muted);
    font-size: 11px;
}

.bk-plan-trail-place-meta span + span::before {
    content: "·";
    margin-right: 9px;
}


/* ITINERARY */

.bk-plan-itinerary {
    position: sticky;
    top: 30px;
    padding: 27px;
    border: 1px solid var(--bk-line);
    background: var(--bk-soft);
}

body.admin-bar .bk-plan-itinerary {
    top: 62px;
}

.bk-plan-itinerary-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--bk-line);
}

.bk-plan-itinerary-head h3 {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 28px;
    font-weight: 400;
    color: var(--bk-navy);
}

.bk-plan-clear {
    appearance: none;
    border: 0;
    border-bottom: 1px solid var(--bk-navy);
    background: transparent;
    padding: 2px 0;
    color: var(--bk-navy);
    font: inherit;
    font-size: 11px;
    cursor: pointer;
}

.bk-plan-itinerary-empty {
    padding: 28px 0;
    color: var(--bk-muted);
    font-size: 13px;
    line-height: 1.65;
}

.bk-plan-itinerary-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bk-plan-itinerary-item {
    position: relative;
    padding: 18px 30px 18px 0;
    border-bottom: 1px solid var(--bk-line);
}

.bk-plan-itinerary-item::before {
    content: attr(data-index);
    display: block;
    margin-bottom: 5px;
    color: var(--bk-teal-dark);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
}

.bk-plan-itinerary-item strong {
    display: block;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 400;
    color: var(--bk-navy);
}

.bk-plan-itinerary-item small {
    display: block;
    margin-top: 4px;
    color: var(--bk-muted);
    font-size: 10px;
}

.bk-plan-remove-item {
    position: absolute;
    top: 18px;
    right: 0;
    appearance: none;
    border: 0;
    background: none;
    color: var(--bk-muted);
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
}

.bk-plan-itinerary-meta {
    padding: 20px 0;
}

.bk-plan-itinerary-meta strong,
.bk-plan-itinerary-meta span {
    display: block;
}

.bk-plan-itinerary-meta strong {
    margin-bottom: 4px;
    color: var(--bk-navy);
    font-size: 12px;
}

.bk-plan-itinerary-meta span {
    color: var(--bk-muted);
    font-size: 10px;
}


/* MAP */

.bk-plan-map {
    position: relative;
    height: 330px;
    background: #e9efec;
    overflow: hidden;
}

.bk-plan-map-status {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    padding: 25px;
    text-align: center;
    color: var(--bk-muted);
    font-size: 12px;
}

.bk-plan-map .leaflet-container,
#bk-plan-map.leaflet-container {
    height: 330px;
}


/* TABLET */

@media (max-width: 1100px) {

    .bk-plan-results-layout {
        grid-template-columns: 1fr;
    }

    .bk-plan-itinerary {
        position: relative;
        top: auto;
    }

    body.admin-bar .bk-plan-itinerary {
        top: auto;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .bk-plan-results-heading {
        grid-template-columns: 1fr;
        gap: 24px;
        padding-top: 62px;
    }

    .bk-plan-place-grid,
    .bk-plan-trail-grid {
        grid-template-columns: 1fr;
    }

    .bk-plan-place-card {
        grid-template-columns: 110px minmax(0,1fr);
    }

    .bk-plan-place-photo,
    .bk-plan-place-photo img {
        min-height: 145px;
    }

    .bk-plan-section-head {
        flex-direction: column;
    }
}


@media (max-width: 480px) {

    .bk-plan-place-card {
        grid-template-columns: 1fr;
    }

    .bk-plan-place-photo {
        height: 190px;
    }

    .bk-plan-trail-place {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   BASKINTA PLAN YOUR VISIT V2.1
   RESULTS REFINEMENT
   ========================================================== */


/* ----------------------------------------------------------
   RESULTS / ITINERARY PROPORTIONS
   ---------------------------------------------------------- */

.bk-plan-results-layout {
    grid-template-columns:
        minmax(0, 1.75fr)
        minmax(350px, .9fr);

    gap: 46px;
}


.bk-plan-itinerary {
    padding: 32px;
}


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

.bk-plan-map {
    height: 420px;
}

.bk-plan-map .leaflet-container,
#bk-plan-map.leaflet-container {
    height: 420px;
}


/* ----------------------------------------------------------
   TRAILS — PRIMARY EXPERIENCE CARDS
   ---------------------------------------------------------- */

.bk-plan-trail-grid {
    grid-template-columns: 1fr;
    gap: 18px;
}


.bk-plan-trail-card {
    padding: 0;
    min-height: 235px;

    display: grid;
    grid-template-columns:
        minmax(210px, 35%)
        minmax(0, 1fr);

    overflow: hidden;
}


.bk-plan-trail-image {
    position: relative;
    min-height: 235px;
    background: var(--bk-soft);
    overflow: hidden;
}


.bk-plan-trail-image::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(5,30,39,0) 55%,
            rgba(5,30,39,.16) 100%
        );

    pointer-events: none;
}


.bk-plan-trail-image img {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 235px;

    object-fit: cover;

    transition:
        transform .35s ease;
}


.bk-plan-trail-card:hover
.bk-plan-trail-image img {
    transform: scale(1.025);
}


.bk-plan-trail-body {
    padding: 29px 30px;

    display: flex;
    flex-direction: column;
}


.bk-plan-trail-body h4 {
    font-size: 27px;
}


.bk-plan-trail-body
.bk-plan-card-meta {
    margin:
        10px 0 14px;
}


.bk-plan-trail-body
.bk-plan-card-actions {
    margin-top: auto;
}


/* Advisory becomes quieter */

.bk-plan-trail-advisory {
    margin:
        0 0 20px;

    padding:
        10px 13px;

    border-left:
        2px solid var(--bk-teal);

    background:
        #f6f8f6;

    color:
        var(--bk-muted);

    font-size:
        11px;

    line-height:
        1.55;
}


/* ----------------------------------------------------------
   LOCAL STOPS
   ---------------------------------------------------------- */

.bk-plan-place-card {
    min-height: 165px;
}


.bk-plan-place-photo,
.bk-plan-place-photo img {
    min-height: 165px;
}


.bk-plan-place-copy {
    padding: 20px;
}


/* ----------------------------------------------------------
   MY VISIT — MORE VISUAL WEIGHT
   ---------------------------------------------------------- */

.bk-plan-itinerary-head h3 {
    font-size: 32px;
}


.bk-plan-itinerary-item {
    padding-top: 21px;
    padding-bottom: 21px;
}


.bk-plan-itinerary-item strong {
    font-size: 18px;
}


/* ----------------------------------------------------------
   TABLET
   ---------------------------------------------------------- */

@media (max-width: 1100px) {

    .bk-plan-results-layout {
        grid-template-columns: 1fr;
    }

    .bk-plan-itinerary {
        padding: 30px;
    }
}


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

@media (max-width: 767px) {

    .bk-plan-trail-card {
        grid-template-columns: 1fr;
    }

    .bk-plan-trail-image {
        min-height: 210px;
        height: 210px;
    }

    .bk-plan-trail-image img {
        min-height: 210px;
    }

    .bk-plan-trail-body {
        padding: 24px;
    }

    .bk-plan-map,
    .bk-plan-map .leaflet-container,
    #bk-plan-map.leaflet-container {
        height: 360px;
    }
}



/* ==========================================================
   BASKINTA PLAN YOUR VISIT V2.2
   STEP 2 + CUSTOM ROUTE GUIDANCE
   ========================================================== */


/* ----------------------------------------------------------
   STEP 2 MODE CHOICE
   ---------------------------------------------------------- */

.bk-plan-mode {
    padding:
        10px 0 110px;
}


.bk-plan-mode-heading {
    max-width:
        760px;

    margin-bottom:
        40px;
}


.bk-plan-mode-heading h2 {
    margin:
        0 0 17px;

    font-family:
        Georgia,
        'Times New Roman',
        serif;

    font-size:
        clamp(
            40px,
            5vw,
            60px
        );

    line-height:
        1.04;

    font-weight:
        400;

    letter-spacing:
        -.03em;

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


.bk-plan-mode-heading > p:last-child {
    max-width:
        620px;

    margin:
        0;

    color:
        var(--bk-muted);

    font-size:
        16px;

    line-height:
        1.7;
}


.bk-plan-mode-grid {
    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        18px;
}


.bk-plan-mode-card {
    position:
        relative;

    min-height:
        430px;

    overflow:
        hidden;

    border:
        0;

    padding:
        0;

    background-position:
        center;

    background-repeat:
        no-repeat;

    background-size:
        cover;

    text-align:
        left;

    cursor:
        pointer;

    color:
        #fff;
}


.bk-plan-mode-card-trail {
    background-image:
        url('/wp-content/uploads/2026/09/baskinta-online/baskinta-online-nature-shakhroub-03.jpg');
}


.bk-plan-mode-card-custom {
    background-image:
        url('/wp-content/uploads/2026/09/baskinta-online/baskinta-online-village-panorama.jpg');
}


.bk-plan-mode-overlay {
    position:
        absolute;

    inset:
        0;

    background:
        linear-gradient(
            180deg,
            rgba(5,30,39,.08) 20%,
            rgba(5,30,39,.87) 100%
        );

    transition:
        background .25s ease;
}


.bk-plan-mode-card:hover
.bk-plan-mode-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(5,30,39,.05) 10%,
            rgba(5,30,39,.94) 100%
        );
}


.bk-plan-mode-content {
    position:
        absolute;

    z-index:
        2;

    left:
        0;

    right:
        0;

    bottom:
        0;

    padding:
        38px;
}


.bk-plan-mode-content small {
    display:
        block;

    margin-bottom:
        11px;

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        .17em;

    opacity:
        .78;
}


.bk-plan-mode-content strong {
    display:
        block;

    margin-bottom:
        14px;

    font-family:
        Georgia,
        'Times New Roman',
        serif;

    font-size:
        37px;

    line-height:
        1.05;

    font-weight:
        400;
}


.bk-plan-mode-content > span {
    display:
        block;

    max-width:
        520px;

    margin-bottom:
        23px;

    font-size:
        14px;

    line-height:
        1.65;

    opacity:
        .9;
}


.bk-plan-mode-content b {
    display:
        inline-block;

    padding-bottom:
        3px;

    border-bottom:
        1px solid rgba(
            255,
            255,
            255,
            .7
        );

    font-size:
        12px;

    font-weight:
        700;
}


.bk-plan-mode-card.is-selected {
    outline:
        4px solid var(--bk-teal);

    outline-offset:
        -4px;
}


/* ----------------------------------------------------------
   ROUTE GUIDANCE BETWEEN CUSTOM STOPS
   ---------------------------------------------------------- */

.bk-plan-itinerary-segment {
    position:
        relative;

    list-style:
        none;

    margin:
        0;

    padding:
        13px 13px 13px 30px;

    border-bottom:
        1px solid var(--bk-line);

    background:
        rgba(
            255,
            255,
            255,
            .55
        );
}


.bk-plan-itinerary-segment::before {
    content:
        "↓";

    position:
        absolute;

    left:
        8px;

    top:
        13px;

    color:
        var(--bk-teal-dark);

    font-size:
        13px;
}


.bk-plan-itinerary-segment strong {
    display:
        block;

    margin-bottom:
        4px;

    color:
        var(--bk-navy);

    font-family:
        inherit;

    font-size:
        11px;

    font-weight:
        700;
}


.bk-plan-itinerary-segment small {
    display:
        block;

    color:
        var(--bk-muted);

    font-size:
        9px;

    line-height:
        1.45;
}


.bk-plan-itinerary-segment-car {
    border-left:
        3px solid var(--bk-navy);
}


.bk-plan-itinerary-segment-mixed {
    border-left:
        3px solid var(--bk-teal);
}


/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */

@media (max-width: 767px) {

    .bk-plan-mode {
        padding-bottom:
            70px;
    }

    .bk-plan-mode-grid {
        grid-template-columns:
            1fr;
    }

    .bk-plan-mode-card {
        min-height:
            360px;
    }

    .bk-plan-mode-content {
        padding:
            28px;
    }

    .bk-plan-mode-content strong {
        font-size:
            31px;
    }
}



/* ==========================================================
   BASKINTA PLAN YOUR VISIT V2.3
   TWO-PATH PLANNER ARCHITECTURE
   ========================================================== */


/* Landing is now the first planner decision after the hero */

.bk-plan-mode {
    padding:
        88px 0 110px;
}


/* Make Step 1 feel like a genuine landing decision */

.bk-plan-mode-heading {
    max-width:
        820px;

    margin-bottom:
        42px;
}


.bk-plan-mode-heading h2 {
    max-width:
        760px;
}


.bk-plan-mode-grid {
    gap:
        22px;
}


.bk-plan-mode-card {
    min-height:
        460px;
}


/* ----------------------------------------------------------
   CHANGE PATH
   ---------------------------------------------------------- */

.bk-plan-change-path {
    appearance:
        none;

    display:
        inline-block;

    margin:
        0 0 30px;

    padding:
        0 0 4px;

    border:
        0;

    border-bottom:
        1px solid
        rgba(
            20,
            60,
            75,
            .45
        );

    background:
        transparent;

    color:
        var(--bk-navy);

    font:
        inherit;

    font-size:
        11px;

    font-weight:
        700;

    cursor:
        pointer;
}


/* ----------------------------------------------------------
   RESULTS STEP HIERARCHY
   ---------------------------------------------------------- */

.bk-plan-results-heading {
    padding-top:
        72px;
}


.bk-plan-results-heading
.bk-plan-kicker {
    margin-bottom:
        14px;
}


/* ----------------------------------------------------------
   CUSTOM ROUTE SIDEBAR
   ---------------------------------------------------------- */

.bk-plan-itinerary-head h3 {
    max-width:
        250px;
}


/* ----------------------------------------------------------
   TRAIL PERSONALIZATION
   ---------------------------------------------------------- */

.bk-plan-trail-explorer {
    padding-top:
        54px;
}


.bk-plan-trail-explorer
.bk-plan-kicker {
    margin-bottom:
        10px;
}


/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */

@media (max-width: 767px) {

    .bk-plan-mode {
        padding:
            62px 0 75px;
    }

    .bk-plan-mode-card {
        min-height:
            390px;
    }

    .bk-plan-change-path {
        margin-bottom:
            22px;
    }
}



/* ==========================================================
   BASKINTA PLAN YOUR VISIT V2.4
   STEP 4 — REVIEW YOUR VISIT
   ========================================================== */


/* ----------------------------------------------------------
   REVIEW BUTTON INSIDE MY ROUTE
   ---------------------------------------------------------- */

.bk-plan-review-route-button {
    width:
        100%;

    margin-top:
        22px;

    padding:
        15px 18px;

    border:
        0;

    background:
        var(--bk-navy);

    color:
        #fff;

    font:
        inherit;

    font-size:
        12px;

    font-weight:
        700;

    cursor:
        pointer;
}


/* ----------------------------------------------------------
   REORDER CONTROLS
   ---------------------------------------------------------- */

.bk-plan-reorder {
    display:
        flex;

    gap:
        5px;

    margin-top:
        9px;
}


.bk-plan-reorder button {
    appearance:
        none;

    width:
        27px;

    height:
        27px;

    border:
        1px solid var(--bk-line);

    background:
        #fff;

    color:
        var(--bk-navy);

    font:
        inherit;

    font-size:
        12px;

    line-height:
        1;

    cursor:
        pointer;
}


.bk-plan-reorder button:hover {
    border-color:
        var(--bk-navy);
}


/* ----------------------------------------------------------
   STEP 4 WRAPPER
   ---------------------------------------------------------- */

.bk-plan-review {
    padding:
        88px 0 115px;
}


.bk-plan-review-back {
    appearance:
        none;

    margin:
        0 0 34px;

    padding:
        0 0 4px;

    border:
        0;

    border-bottom:
        1px solid
        rgba(
            20,
            60,
            75,
            .45
        );

    background:
        transparent;

    color:
        var(--bk-navy);

    font:
        inherit;

    font-size:
        11px;

    font-weight:
        700;

    cursor:
        pointer;
}


.bk-plan-review-heading {
    display:
        grid;

    grid-template-columns:
        1.25fr .65fr;

    gap:
        70px;

    align-items:
        end;

    margin-bottom:
        42px;
}


.bk-plan-review-heading h2 {
    max-width:
        760px;

    margin:
        0;

    font-family:
        Georgia,
        'Times New Roman',
        serif;

    font-size:
        clamp(
            42px,
            5vw,
            62px
        );

    line-height:
        1.04;

    font-weight:
        400;

    letter-spacing:
        -.035em;

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


.bk-plan-review-heading > p {
    margin:
        0;

    color:
        var(--bk-muted);

    font-size:
        15px;

    line-height:
        1.7;
}


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

.bk-plan-review-stats {
    display:
        grid;

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

    margin-bottom:
        55px;

    border-top:
        1px solid var(--bk-line);

    border-left:
        1px solid var(--bk-line);
}


.bk-plan-review-stats > div {
    min-height:
        105px;

    padding:
        24px;

    border-right:
        1px solid var(--bk-line);

    border-bottom:
        1px solid var(--bk-line);
}


.bk-plan-review-stats span {
    display:
        block;

    margin-bottom:
        9px;

    color:
        var(--bk-muted);

    font-size:
        9px;

    font-weight:
        700;

    letter-spacing:
        .1em;
}


.bk-plan-review-stats strong {
    display:
        block;

    font-family:
        Georgia,
        'Times New Roman',
        serif;

    color:
        var(--bk-navy);

    font-size:
        18px;

    line-height:
        1.3;

    font-weight:
        400;
}


/* ----------------------------------------------------------
   REVIEW CONTENT
   ---------------------------------------------------------- */

.bk-plan-review-layout {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(390px, .9fr);

    gap:
        58px;

    align-items:
        start;
}


.bk-plan-review-route {
    min-width:
        0;
}


.bk-plan-review-route h3,
.bk-plan-review-map-head h3 {
    margin:
        0;

    font-family:
        Georgia,
        'Times New Roman',
        serif;

    color:
        var(--bk-navy);

    font-size:
        33px;

    line-height:
        1.15;

    font-weight:
        400;
}


.bk-plan-review-note {
    margin:
        13px 0 28px;

    color:
        var(--bk-muted);

    font-size:
        12px;

    line-height:
        1.55;
}


/* ----------------------------------------------------------
   REVIEW STOP LIST
   ---------------------------------------------------------- */

.bk-plan-review-stops {
    list-style:
        none;

    margin:
        0;

    padding:
        0;

    border-top:
        1px solid var(--bk-line);
}


.bk-plan-review-stop {
    display:
        grid;

    grid-template-columns:
        45px minmax(0, 1fr);

    gap:
        20px;

    align-items:
        center;

    padding:
        24px 0;

    border-bottom:
        1px solid var(--bk-line);
}


.bk-plan-review-stop-number {
    display:
        grid;

    place-items:
        center;

    width:
        38px;

    height:
        38px;

    border:
        1px solid var(--bk-line);

    color:
        var(--bk-teal-dark);

    font-size:
        10px;

    font-weight:
        700;
}


.bk-plan-review-stop strong {
    display:
        block;

    margin-bottom:
        4px;

    font-family:
        Georgia,
        'Times New Roman',
        serif;

    color:
        var(--bk-navy);

    font-size:
        21px;

    line-height:
        1.25;

    font-weight:
        400;
}


.bk-plan-review-stop small {
    display:
        block;

    color:
        var(--bk-muted);

    font-size:
        11px;
}


/* ----------------------------------------------------------
   ROUTE SEGMENTS
   ---------------------------------------------------------- */

.bk-plan-review-segment {
    list-style:
        none;

    position:
        relative;

    margin:
        0 0 0 18px;

    padding:
        12px 16px 12px 38px;

    border-left:
        1px dashed var(--bk-line);

    background:
        var(--bk-soft);
}


.bk-plan-review-segment::before {
    content:
        "↓";

    position:
        absolute;

    left:
        15px;

    top:
        12px;

    color:
        var(--bk-teal-dark);
}


.bk-plan-review-segment strong {
    display:
        block;

    margin-bottom:
        4px;

    color:
        var(--bk-navy);

    font-size:
        11px;
}


.bk-plan-review-segment small {
    display:
        block;

    color:
        var(--bk-muted);

    font-size:
        10px;

    line-height:
        1.5;
}


.bk-plan-review-segment-car {
    border-left-color:
        var(--bk-navy);
}


.bk-plan-review-segment-mixed {
    border-left-color:
        var(--bk-teal);
}


/* ----------------------------------------------------------
   LARGE REVIEW MAP
   ---------------------------------------------------------- */

.bk-plan-review-map-column {
    position:
        sticky;

    top:
        35px;
}


body.admin-bar
.bk-plan-review-map-column {
    top:
        67px;
}


.bk-plan-review-map-head {
    margin-bottom:
        20px;
}


.bk-plan-review-map {
    position:
        relative;

    height:
        530px;

    overflow:
        hidden;

    background:
        #e9efec;
}


#bk-plan-review-map.leaflet-container {
    height:
        530px;
}


.bk-plan-review-map-note {
    margin:
        13px 0 0;

    color:
        var(--bk-muted);

    font-size:
        10px;

    line-height:
        1.5;
}


/* ----------------------------------------------------------
   REVIEW ACTIONS
   ---------------------------------------------------------- */

.bk-plan-review-actions {
    display:
        flex;

    justify-content:
        flex-end;

    gap:
        12px;

    margin-top:
        58px;

    padding-top:
        30px;

    border-top:
        1px solid var(--bk-line);
}


.bk-plan-review-primary,
.bk-plan-review-secondary {
    appearance:
        none;

    min-height:
        48px;

    padding:
        0 22px;

    font:
        inherit;

    font-size:
        12px;

    font-weight:
        700;

    cursor:
        pointer;
}


.bk-plan-review-primary {
    border:
        1px solid var(--bk-navy);

    background:
        var(--bk-navy);

    color:
        #fff;
}


.bk-plan-review-secondary {
    border:
        1px solid var(--bk-navy);

    background:
        transparent;

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


/* ----------------------------------------------------------
   STEP 5 PREVIEW
   ---------------------------------------------------------- */

.bk-plan-review-next {
    max-width:
        650px;

    margin-top:
        72px;

    padding-top:
        35px;

    border-top:
        1px solid var(--bk-line);
}


.bk-plan-review-next h3 {
    margin:
        0 0 10px;

    font-family:
        Georgia,
        'Times New Roman',
        serif;

    color:
        var(--bk-navy);

    font-size:
        30px;

    line-height:
        1.15;

    font-weight:
        400;
}


.bk-plan-review-next > p:last-child {
    margin:
        0;

    color:
        var(--bk-muted);

    font-size:
        13px;

    line-height:
        1.6;
}


/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */

@media (max-width: 1000px) {

    .bk-plan-review-heading {
        grid-template-columns:
            1fr;

        gap:
            25px;
    }


    .bk-plan-review-layout {
        grid-template-columns:
            1fr;
    }


    .bk-plan-review-map-column {
        position:
            relative;

        top:
            auto;
    }


    body.admin-bar
    .bk-plan-review-map-column {
        top:
            auto;
    }
}


@media (max-width: 767px) {

    .bk-plan-review {
        padding:
            65px 0 80px;
    }


    .bk-plan-review-stats {
        grid-template-columns:
            1fr 1fr;
    }


    .bk-plan-review-map,
    #bk-plan-review-map.leaflet-container {
        height:
            410px;
    }


    .bk-plan-review-actions {
        flex-direction:
            column-reverse;
    }


    .bk-plan-review-primary,
    .bk-plan-review-secondary {
        width:
            100%;
    }
}


@media (max-width: 480px) {

    .bk-plan-review-stats {
        grid-template-columns:
            1fr;
    }
}



/* ==========================================================
   BASKINTA PLAN YOUR VISIT V2.5
   STEP 5
   ========================================================== */

.bk-plan-review-next {
    max-width:
        none;
}


.bk-plan-step5-intro {
    max-width:
        680px;
}


.bk-plan-step5-actions {
    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    flex-wrap:
        wrap;

    margin-top:
        27px;
}


.bk-plan-history-link {
    display:
        inline-block;

    margin-left:
        8px;

    color:
        var(--bk-navy);

    font-size:
        12px;

    font-weight:
        700;

    text-decoration:
        none;

    border-bottom:
        1px solid
        rgba(
            20,
            60,
            75,
            .45
        );

    padding-bottom:
        3px;
}


.bk-plan-step5-status {
    min-height:
        24px;

    margin-top:
        18px;

    color:
        var(--bk-muted);

    font-size:
        12px;

    line-height:
        1.5;
}


.bk-plan-step5-status.is-success {
    color:
        var(--bk-teal-dark);
}


.bk-plan-step5-status.is-error {
    color:
        #8b3434;
}


.bk-plan-step5-status.is-loading {
    opacity:
        .75;
}


@media (max-width: 767px) {

    .bk-plan-step5-actions {
        display:
            grid;

        grid-template-columns:
            1fr;
    }


    .bk-plan-history-link {
        margin:
            10px 0 0;
    }
}

