/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/
.header-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	position: absolute;
	width: 150px;
	top: 23px;
	right: 0;
	background: #ffff;
	z-index: 9999;
}

.hyper-icon .elementor-icon {
	border: 1px solid rgba(255,255,255,.14);
}
.eco-pledge-slider .elementor-slide-description h2 {
	color: #fff;
	letter-spacing: 0.5px;
	font-size: 26px;
	font-weight: 700;
}
.eco-pledge-slider .elementor-slides .swiper-slide-bg{border-radius:25px;}
.eco-pledge-slider .swiper-pagination-bullet-active {
	background-color: #FFFFFF;
	width: 22px !important;
	border-radius: 5px !important;
}
.eco-pledge-slider .swiper-pagination{padding-right: 20px !important; text-align: right;}
/* ==========================================================================
   Kiwengwa Itinerary Timeline — [trip_itinerary] — container: 860px
   ========================================================================== */

@font-face {
    font-family: "Cal Sans";
    src: url("/wp-content/uploads/2026/07/CalSans-Regular.ttf") format("truetype");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}
.kiw-itinerary {
    --kiw-green: #6f8a43;
    --kiw-orange: #da8149;
    --kiw-dark: #20291a;
    --kiw-body: #3f4a30;
    --kiw-bg: #f7f5ee;            /* page background — also the ring colour around nodes */
    --kiw-callout-bg: #fdeee0;
    --kiw-node: 32px;
    --kiw-line-x: 11px;

    max-width: 860px;
    margin-inline: auto;
    font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color: var(--kiw-body);
    -webkit-font-smoothing: antialiased;
}

/* ---- vertical timeline line ------------------------------------------- */
.kiw-days { position: relative; }

.kiw-days::before {
    content: "";
    position: absolute;
    left: var(--kiw-line-x);
    top: 16px;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, #7d9a4e 0%, #b5ae55 55%, #da8149 100%);
}

/* ---- day row ----------------------------------------------------------- */
.kiw-day {
    position: relative;
    padding-left: calc(var(--kiw-node) + 14px);
}
.kiw-day + .kiw-day { margin-top: 52px; }

.kiw-day__num {
    position: absolute;
    left: 0;
    top: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--kiw-dark);
    color: #fff;
    font-family: "Cal Sans", "Plus Jakarta Sans", system-ui, sans-serif;
    font-weight: 700;
    font-size: 11px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
	border: 3px solid #FEE3C6;
}

/* cut the line just below the LAST node */
.kiw-day:last-child::after {
    content: "";
    position: absolute;
    left: calc(var(--kiw-line-x) - 4px);
    top: calc(var(--kiw-node) + 6px);
    bottom: -2px;
    /*width: 10px;*/
    background: var(--kiw-bg);
}

/* ---- day header --------------------------------------------------------- */
.kiw-day__label {
    margin: 0 0 4px;
    font-family: "Cal Sans", "Plus Jakarta Sans", system-ui, sans-serif;
    font-weight: 700;
    font-size: 11px;
    line-height: 18px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--kiw-orange);
}
.kiw-day__cat { color: var(--kiw-orange); }

.kiw-day__title {
    margin: 0 0 16px;
    font-family: "Cal Sans", "Plus Jakarta Sans", system-ui, sans-serif;
    font-weight: 700 !important;
    font-size: 19px !important;
    line-height: 1.35 !important;
    color: var(--kiw-dark) !important;
	letter-spacing:1px !important;
}

/* ---- content + image grid ------------------------------------------------ */
.kiw-day__main {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}
.kiw-day--has-image .kiw-day__main {
    grid-template-columns: minmax(0, 1fr) 200px;
}

.kiw-day__thumb {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 14px !important;
    background-image: var(--kiw-img, none);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
/* ---- schedule rows -------------------------------------------------------- */
.kiw-schedule {
    display: grid;
    gap: 14px;
}
.kiw-slot {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}
.kiw-slot__label {
    font-weight: 700;
    font-size: 11px;
    line-height: 21px;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--kiw-green);
}
.kiw-slot__desc {
    font-size: 14px;
    line-height: 22px;
    color: var(--kiw-body);
}
.kiw-slot__desc p { margin: 0; }
.kiw-slot__desc p + p { margin-top: 8px; }

/* ---- callout badge --------------------------------------------------------- */
.kiw-callout {
    display: inline-block;
    margin: 16px 0 0;
    padding: 8px 18px;
    border-radius: 999px;
    background: var(--kiw-callout-bg);
    color: var(--kiw-orange);
    font-weight: 600;
    font-size: 13px;
    line-height: 21px;
}

/* ---- reveal on scroll (only active when JS adds .kiw-js) -------------------- */
.kiw-itinerary.kiw-js .kiw-day {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .55s ease var(--kiw-delay, 0ms), transform .55s ease var(--kiw-delay, 0ms);
}
.kiw-itinerary.kiw-js .kiw-day.kiw-in {
    opacity: 1;
    transform: none;
}
.book-now-btn .elementor-button {
    border-radius: 50px !important;
    animation: bookPulse 2s infinite;
}

@keyframes bookPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(212, 126, 73, 0.4);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(212, 126, 73, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(212, 126, 73, 0);
    }
}
/* ---- responsive -------------------------------------------------------------- */
@media (max-width: 820px) {
    .kiw-day--has-image .kiw-day__main {
        grid-template-columns: minmax(0, 1fr) 200px;
    }
}
@media (max-width: 680px) {
    @media (max-width: 680px) {
    .kiw-day--has-image .kiw-day__main {
        grid-template-columns: minmax(0, 1fr);
    }
    .kiw-day__thumb { max-width: 480px; }
}
}
@media (max-width: 560px) {
    .kiw-itinerary {
        --kiw-node: 28px;
    }
    .kiw-day { padding-left: calc(var(--kiw-node) + 16px); }
    .kiw-day__num { font-size: 12px; }
    .kiw-day + .kiw-day { margin-top: 40px; }
    .kiw-day__title { font-size: 18px; }
    .kiw-slot {
        grid-template-columns: 1fr;
        gap: 2px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .kiw-itinerary.kiw-js .kiw-day {
        opacity: 1;
        transform: none;
        transition: none;
    }
}