/* Supplied Safari detail design. Loaded only for the selected Journey layout. */
.atl-safari-feature { background: #1A2704; }
.atl-safari-layout { width: 100%; display: grid; grid-template-columns: minmax(0, 40%) minmax(0, 60%); }
.atl-safari-content { display: flex; flex-direction: column; padding:150px 40px; }
.atl-safari-copy h1, .atl-safari-copy span { font: 400 72px / 1.2 "League Gothic", sans-serif; text-transform: uppercase; }
.atl-safari-copy span { color: var(--primary); }
.atl-safari-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(255, 255, 255, .14); border-bottom: 1px solid rgba(255, 255, 255, .14); }
.atl-safari-detail { min-width: 0; padding: 25px 20px; }
.atl-safari-detail:nth-child(odd) { padding-left: 18px; border-right: 1px solid rgba(255, 255, 255, .14); }
.atl-safari-detail:nth-child(-n+2) { border-bottom: 1px solid rgba(255, 255, 255, .14); }
.atl-safari-detail span { display: block; margin-bottom: 5px; color: var(--text-secondary); font: 400 16px/1.2 "Mallory", sans-serif; text-transform: capitalize; }
.atl-safari-detail p { font: 500 16px/1.2 "Mallory", sans-serif; }
.atl-safari-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; }
.atl-safari-media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1200px) {
    .atl-safari-layout { grid-template-columns: minmax(0, 45%) minmax(0, 55%); }
    .atl-safari-detail { padding: 20px 15px; }
}
@media (max-width: 991px) {
    .atl-safari-layout { display: flex; flex-direction: column; }
    .atl-safari-description { max-width: 100%; }
    .atl-safari-copy h1, .atl-safari-copy span { font: 400 55px / 1.2 "League Gothic", sans-serif; }
}
@media (min-width: 991px) and (max-width:1100px) {
    .atl-safari-actions .btn, .atl-safari-actions .light-btn { width:210px; }
}
@media (max-width: 768px) {
    .atl-safari-copy h1, .atl-safari-copy span { font: 400 40px / 1.2 "League Gothic", sans-serif; }
     .atl-safari-actions .btn { width: 210px; }
     .atl-safari-content { padding: 150px 20px}
}
@media (max-width: 480px) {
    .atl-safari-actions .btn { text-align: center; }
    .atl-safari-detail { padding: 20px 12px; }
    .atl-safari-detail:nth-child(odd) { padding-left: 0; }
}
.atl-route-section { padding: 30px 0; background: #F2F2F2; }
.atl-route-layout { display: grid; grid-template-columns: 350px minmax(0, 1fr); align-items: center; gap: 30px; }
.atl-route-heading h2 { color: var(--text-primary); }
.atl-route-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--text-secondary); }
.atl-route-item { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 25px 15px; text-align: center; }
.atl-route-item:not(:last-child)::after { content: ""; position: absolute; top: 12px; right: 0; bottom: 12px; width: 1px; background: #dddddd; }
.atl-route-item span { display: block; color: var(--text-primary); text-transform: capitalize; }
.atl-route-item h4 { font: 700 16px / 1.2 "Mallory", sans-serif; color: var(--text-primary); text-transform: capitalize; }
@media (max-width: 1200px) {
    .atl-route-layout { grid-template-columns: 1fr; gap: 25px; }
    .atl-route-heading { text-align: center; }
    .atl-route-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .atl-route-item { padding: 20px 12px; }
    .atl-route-item:nth-child(2)::after { display: none; }
    .atl-route-item:nth-child(1), .atl-route-item:nth-child(2) { border-bottom: 1px solid #dddddd; }
}
@media (max-width: 768px) { .atl-route-section { padding: 45px 0; }}
@media (max-width: 575px) {
    .atl-route-track { grid-template-columns: 1fr; }
    .atl-route-item { padding: 18px 15px; }
    .atl-route-item:not(:last-child)::after { display: none; }
    .atl-route-item:nth-child(1), .atl-route-item:nth-child(2) { border-bottom: 0; }
    .atl-route-item:not(:last-child) { border-bottom: 1px solid #dddddd; }
}
.atl-botswana-story { padding: 60px 0; }
.atl-botswana-intro { width: 100%; display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 60px; align-items: start; }
.atl-botswana-intro-content p strong { font-weight: 600; }
.atl-botswana-intro h2, .atl-botswana-intro p { color: var(--text-primary); }
.atl-botswana-gallery-head { text-align: center; }
.atl-botswana-gallery-head h2 { color: var(--text-primary); }
.atl-botswana-gallery-head p { margin: 0; color: var(--text-primary); }
.atl-story-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; align-items: start; }
.atl-story-column { display: flex; flex-direction: column; gap: 15px; }
.atl-story-item { position: relative; display: block; width: 100%; overflow: hidden; }
.atl-story-large { height: 550px; }
.atl-story-small { height: 420px; }
.atl-story-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.atl-story-item:hover img { transform: scale(1.04); }
.atl-story-item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .72) 100%); pointer-events: none; }
.atl-story-content { position: absolute; left: 15px; right: 15px; bottom: 15px; z-index: 2; }
.atl-story-content span { display: block; color: var(--text-secondary); }
.atl-story-content h4 { color: var(--text-secondary); }
@media (max-width: 1200px) {
    .atl-botswana-intro { grid-template-columns: 280px minmax(0, 1fr); gap: 50px; }
    .atl-story-large { height: 360px; }
    .atl-story-small { height: 230px; }
}
@media (max-width: 991px) {
    .atl-botswana-intro { grid-template-columns: 250px minmax(0, 1fr); gap: 35px; }
    .atl-story-large { height: 320px; }
    .atl-story-small { height: 210px; }
}
@media (max-width: 768px) {
    .atl-botswana-story { padding: 45px 0; }
    .atl-botswana-intro { grid-template-columns: 1fr; gap: 20px; }
    .atl-botswana-intro-content { max-width: 100%; }
    .atl-botswana-gallery-head { text-align: left; }
    .atl-story-gallery { grid-template-columns: 1fr; gap: 12px; }
    .atl-story-large, .atl-story-small { height: 350px; }
}
.atl-journey-route { padding: 60px 0; background: #F4F4F2; }
.atl-journey-detail-safari .atl-journey-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 20px; align-items: start; }
.atl-route-card { padding: 15px; background: var(--text-secondary); }
.atl-route-text { display: block; color: var(--text-primary); font: 400 16px / 1.2 "Mallory", sans-serif; text-transform: capitalize; }
.atl-route-card h3 { font: 600 20px / 1.2 "Mallory", sans-serif; color: var(--text-primary); text-transform: unset; }
.atl-route-list { position: relative; }
.atl-route-list::before { content: ""; position: absolute; top: 8px; bottom: 8px; left: 3px; width: 1px; background: #dddddd; }
.atl-route-stop { position: relative; display: grid; grid-template-columns: 12px minmax(0, 1fr); gap: 8px; padding-bottom: 18px; }
.atl-route-stop:last-child { padding-bottom: 0; }
.atl-route-dot { position: relative; z-index: 2; width: 7px; height: 7px; margin-top: 5px; border-radius: 50%; background: var(--primary); }
.atl-route-stop strong { display: block; color: var(--text-primary); text-transform: uppercase; }
.atl-route-stop div span { display: block; margin-top: 2px; color: var(--text-primary); text-transform: capitalize; }
.atl-journey-main { width: 100%; min-width: 0; }
.atl-journey-head { display: grid; grid-template-columns: minmax(0, 1fr) 500px; gap: 40px; align-items: start; margin-bottom: 10px; }
.atl-journey-head h2 { color: var(--text-primary); }
.atl-journey-head p { margin: 0; color: var(--text-primary); }
.atl-journey-day { display: grid; grid-template-columns: 65px minmax(0, 1fr); gap: 30px; padding: 25px 0; border-bottom: 1px solid #d8d8d8; }
.atl-journey-day:last-child { border-bottom: 0; }
.atl-journey-day-number span { font: 400 14px/1.2 "Mallory", sans-serif; color: #00000080; text-transform: uppercase; }
.atl-journey-day-number h4 { text-transform: capitalize; margin-top: -4px; }
.atl-journey-day-content { min-width: 0; }
.atl-journey-day-content p { color: var(--text-primary); }
@media (max-width: 1200px) {
    .atl-journey-detail-safari .atl-journey-layout { grid-template-columns: 240px minmax(0, 1fr); gap: 25px; }
    .atl-journey-head { grid-template-columns: minmax(0, 1fr) 360px; gap: 30px; }
}
@media (max-width: 991px) {
    .atl-journey-detail-safari .atl-journey-layout { grid-template-columns: 1fr; gap: 35px; }
    .atl-journey-sidebar { width: 100%; }
    .atl-route-card { width: 100%; box-sizing: border-box; }
    .atl-journey-head { grid-template-columns: minmax(0, 1fr) 320px; gap: 25px; }
    .atl-journey-day { grid-template-columns: 60px minmax(0, 1fr); gap: 25px; padding: 22px 0; }
}
@media (max-width: 768px) {
    .atl-journey-route { padding: 45px 0; }
    .atl-journey-detail-safari .atl-journey-layout { gap: 30px; }
    .atl-journey-head { grid-template-columns: 1fr; gap: 12px; margin-bottom: 5px; }
    .atl-journey-day { grid-template-columns: 55px minmax(0, 1fr); gap: 15px; padding: 20px 0; }
    .atl-route-stop { padding-bottom: 15px; }
}
.atl-stays-section { padding: 60px 0; }
.atl-stays-head { display: grid; grid-template-columns: minmax(0, 1fr) 450px; gap: 40px; align-items: start; }
.atl-stays-head h2, .atl-stays-head p { color: var(--text-primary); }
.atl-stays-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 20px; align-items: stretch; }
.atl-stays-side { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 20px; }
.atl-stay-card { position: relative; display: block; width: 100%; min-width: 0; overflow: hidden; text-decoration: none; }
.atl-stay-card-large { min-height: 525px; }
.atl-stays-side .atl-stay-card { min-height: 250px; }
.atl-stay-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.atl-stay-card:hover img { transform: scale(1.04); }
.atl-stay-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .55) 100%); pointer-events: none; }
.atl-stay-overlay { position: absolute; left: 20px; bottom: 20px; z-index: 2; }
.atl-stay-card span { display: block; color: var(--text-secondary); }
.atl-stay-card h4 { color: var(--text-secondary); }
@media (max-width: 1200px) {
    .atl-stays-head { grid-template-columns: minmax(0, 1fr) 320px; gap: 30px; }
    .atl-stay-card-large { min-height: 480px; }
    .atl-stays-side .atl-stay-card { min-height: 230px; }
}
@media (max-width: 991px) {
    .atl-stays-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
    .atl-stays-side { gap: 15px; }
    .atl-stay-card-large { min-height: 440px; }
    .atl-stays-side .atl-stay-card { min-height: 212px; }
}
@media (max-width: 768px) {
    .atl-stays-section { padding: 45px 0; }
    .atl-stays-head { grid-template-columns: 1fr; gap: 15px; }
    .atl-stays-head h2 br { display: none; }
    .atl-stays-grid { grid-template-columns: 1fr; }
    .atl-stay-card-large { min-height: 420px; }
    .atl-stays-side { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
    .atl-stays-side .atl-stay-card { min-height: 240px; }
}
@media (max-width: 575px) {
    .atl-stay-card-large { min-height: 250px; }
    .atl-stays-side { grid-template-columns: 1fr; gap: 15px; }
    .atl-stays-side .atl-stay-card { min-height: 250px; }
    .atl-stay-overlay { left: 15px; bottom: 15px; }
    .atl-stay-card img { height: 300px; }
}
.atl-effortless-section { padding: 60px 0; background: #1A2704; }
.atl-effortless-layout { display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 40px; align-items: start; }
.atl-effortless-content { width: 100%; min-width: 0; box-sizing: border-box; }
.atl-effortless-inclusions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 0; row-gap: 0; }
.atl-inclusion-item { display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 10px; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .12); box-sizing: border-box; }
.atl-inclusion-item:nth-child(odd) { padding-right: 35px; border-right: 1px solid rgba(255, 255, 255, .12); }
.atl-inclusion-item:nth-child(even) { padding-left: 35px; }
.atl-inclusion-item:nth-last-child(-n + 2) { border-bottom: 0; }
.atl-inclusion-check { color: var(--primary); font: 600 16px/1.3 "Mallory", sans-serif; }
.atl-inclusion-item-inner { min-width: 0; }
.atl-inclusion-item-inner h5, .atl-inclusion-item-inner p { margin: 0; }
.atl-inclusion-item-inner h5 { color: var(--text-secondary); font: 600 18px/1.2 "Mallory", sans-serif; }
.atl-inclusion-item-inner p { color: var(--text-secondary); }
.atl-effortless-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; background: var(--text-secondary); padding: 15px 0; }
.atl-meta-item { position: relative; padding: 18px 15px; text-align: center; box-sizing: border-box; }
.atl-meta-item + .atl-meta-item { border-left: 1px solid #dddddd; }
.atl-meta-item span { display: block; color: var(--text-primary); font: 400 16px/1.2 "Mallory", sans-serif; text-transform: capitalize; }
.atl-meta-item strong { display: block; color: var(--text-primary); font: 600 12px/1.35 "Mallory", sans-serif; }
@media (max-width: 1200px) {
    .atl-effortless-layout { grid-template-columns: 250px minmax(0, 1fr); gap: 20px; }
    .atl-inclusion-item:nth-child(odd) { padding-right: 25px; }
    .atl-inclusion-item:nth-child(even) { padding-left: 25px; }
    .atl-meta-item { padding: 16px 12px; }
}
@media (max-width: 1024px) {
    .atl-effortless-layout { grid-template-columns: 1fr; gap: 35px; }
    .atl-inclusion-item:nth-child(odd) { padding-right: 20px; }
    .atl-inclusion-item:nth-child(even) { padding-left: 20px; }
}
@media (max-width: 768px) {
    .atl-effortless-section { padding: 45px 0; }
    .atl-effortless-layout { gap: 30px; }
    .atl-effortless-inclusions { grid-template-columns: 1fr; }
    .atl-inclusion-item, .atl-inclusion-item:nth-child(odd), .atl-inclusion-item:nth-child(even), .atl-inclusion-item:nth-last-child(-n + 2) { padding-left: 0; padding-right: 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
    .atl-inclusion-item:last-child { border-bottom: 0; }
    .atl-effortless-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; }
    .atl-meta-item + .atl-meta-item { border-left: 0; }
    .atl-meta-item:nth-child(even) { border-left: 1px solid #dddddd; }
    .atl-meta-item:nth-child(n + 3) { border-top: 1px solid #dddddd; }
}
@media (max-width: 575px) {
    .atl-inclusion-item { padding-top: 12px; padding-bottom: 12px; }
    .atl-effortless-meta { grid-template-columns: 1fr; }
    .atl-meta-item:nth-child(even) { border-left: 0; }
    .atl-meta-item:nth-child(n + 3) { border-top: 0; }
    .atl-meta-item + .atl-meta-item { border-top: 1px solid #dddddd; }
}
.atl-enquiry-section { padding: 60px 0; }
.atl-enquiry-layout { display: grid; grid-template-columns: 500px minmax(0, 1fr); gap: 60px; align-items: start; }
.atl-enquiry-intro h2, .atl-enquiry-intro p { color: var(--text-primary); }
@media (max-width: 1200px) { .atl-enquiry-layout { grid-template-columns: 300px minmax(0, 1fr); gap: 20px; } }
@media (max-width: 991px) { .atl-enquiry-layout { grid-template-columns: 1fr; } }
@media (max-width: 768px) { .atl-enquiry-section { padding: 45px 0; } }
.atl-journey-detail-safari .remarkable-section { position: relative; width: 100%; min-height: 850px; overflow: hidden; }
.atl-journey-detail-safari .remarkable-bg { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; background: #1A2704; pointer-events: none; }
.atl-journey-detail-safari .remarkable-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.atl-journey-detail-safari .remarkable-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%); }
.atl-journey-detail-safari .remarkable-content { position: relative; z-index: 2; width: 100%; min-height: 750px; display: flex; align-items: flex-end; justify-content: flex-start; text-align: center; }
.atl-journey-detail-safari .remarkable-content h2 { width: 100%; font: 400 100px/1.2 "League Gothic", sans-serif; }
@media (max-width: 1399px) { .atl-journey-detail-safari .remarkable-content h2 { font: 400 80px/1.2 "League Gothic", sans-serif; } }
@media (max-width: 1200px) {
    .atl-journey-detail-safari .remarkable-section, .atl-journey-detail-safari .remarkable-content { min-height: 550px; }
    .atl-journey-detail-safari .remarkable-content h2 { font: 400 60px/1.2 "League Gothic", sans-serif; }
    .atl-journey-detail-safari .remarkable-content { padding-bottom: 35px; }
}
@media (max-width: 991px) { .atl-journey-detail-safari .remarkable-content h2 { font: 400 45px/1.2 "League Gothic", sans-serif; } }
@media (max-width: 768px) {
    .atl-journey-detail-safari .remarkable-section, .atl-journey-detail-safari .remarkable-content { min-height: 440px; }
    .atl-journey-detail-safari .remarkable-content h2 { max-width: 600px; }
}
@media (max-width: 575px) {
    .atl-journey-detail-safari .remarkable-section, .atl-journey-detail-safari .remarkable-content { min-height: 420px; }
    .atl-journey-detail-safari .remarkable-bg img { object-position: 55% center; }
}
@media (max-width: 480px) {
    .atl-journey-detail-safari .remarkable-section, .atl-journey-detail-safari .remarkable-content { min-height: 390px; }
    .atl-journey-detail-safari .remarkable-content h2 { font: 400 32px/1.2 "League Gothic", sans-serif; }
}
/* Template integration: readable dark panels and the detail page's main heading. */
.atl-journey-detail-safari .atl-safari-copy h1,
.atl-journey-detail-safari .atl-safari-copy p,
.atl-journey-detail-safari .atl-safari-detail p,
.atl-journey-detail-safari .atl-effortless-intro h2,
.atl-journey-detail-safari .atl-effortless-intro p,
.atl-journey-detail-safari .remarkable-content h2 { color: var(--text-secondary); }
.atl-journey-detail-safari .atl-meta-item h5,
.atl-journey-detail-safari .atl-route-stop h5,
.atl-journey-detail-safari .atl-journey-day-content h4 { color: var(--text-primary); }
.atl-journey-detail-safari [id] { scroll-margin-top: 100px; }
.journey-enquiry-form {
    width: 100%;
}


.journey-enquiry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 15px; }
.journey-enquiry-field { width: 100%; }
.journey-enquiry-form input[type="text"],
.journey-enquiry-form input[type="email"],
.journey-enquiry-form input[type="tel"],
.journey-enquiry-form input[type="number"],
.journey-enquiry-form select,
.journey-enquiry-form textarea { display: block; width: 100%; margin: 0; border: 0; border-radius: 0; outline: none; box-shadow: none; background: #F0F0F0; color: #333; font-family: "Mallory", sans-serif; font-size: 14px; font-weight: 400; box-sizing: border-box; }
.journey-enquiry-form input[type="text"],
.journey-enquiry-form input[type="email"],
.journey-enquiry-form input[type="tel"],
.journey-enquiry-form input[type="number"],
.journey-enquiry-form select { height: 52px; padding: 0 22px; }
.journey-enquiry-form textarea { height: 125px; min-height: 125px; resize: vertical; padding: 18px 22px; }
.journey-enquiry-form input::placeholder,
.journey-enquiry-form textarea::placeholder { color: #7E7E7E; opacity: 1; }
.journey-enquiry-form select { color: #888; cursor: pointer; }
.journey-enquiry-form input[type="number"]::-webkit-inner-spin-button,
.journey-enquiry-form input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.journey-enquiry-form input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.journey-enquiry-submit {
    margin-top: 20px;
}

.journey-enquiry-form input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 35px;
    border: 0;
    border-radius: 0;
    background: var(--primary);
    color: var(--text-primary);
    font: 600 16px / 1.2 "Mallory", sans-serif;
    cursor: pointer;
    transition: .5s;
}

.journey-enquiry-form input[type="submit"]:hover {
    transform: scale(1.05);
}

/* CF7 validation */
.journey-enquiry-form .wpcf7-not-valid {
    border: 1px solid #d63638;
}

.journey-enquiry-form .wpcf7-not-valid-tip {
    margin-top: 5px;
    font-family: "Mallory", sans-serif;
    font-size: 12px;
}

.journey-enquiry-form .wpcf7-spinner {
    vertical-align: middle;
}

/* Remove CF7 paragraph spacing if generated */
.journey-enquiry-form p {
    margin: 0;
}

/* Tablet / Mobile */
@media (max-width: 768px) {

    .journey-enquiry-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 12px;
    }

    .journey-enquiry-form input[type="text"],
    .journey-enquiry-form input[type="email"],
    .journey-enquiry-form input[type="tel"],
    .journey-enquiry-form input[type="number"],
    .journey-enquiry-form select {
        height: 50px;
    }

    .journey-enquiry-form textarea {
        height: 130px;
        min-height: 130px;
    }
}

@media (max-width: 480px) {

    .journey-enquiry-form input[type="submit"] {
        width: 100%;
    }
}

