/* Kamere Motion v1 - lightweight animation layer. Content is only hidden when motion.js has run (html.kx-ready). */
:root{--kx-e:cubic-bezier(.22,.61,.36,1);--kx-y:24px}
@media (max-width:767px){:root{--kx-y:16px}}
.site-content{overflow-x:clip}

/* ---------- scroll reveal ---------- */
.kx-ready [data-kx]{transition:opacity .75s var(--kx-e) var(--kx-d,0ms),transform .75s var(--kx-e) var(--kx-d,0ms)!important}
.kx-ready [data-kx="up"]:not(.kx-in){opacity:0;transform:translate3d(0,var(--kx-y),0)}
.kx-ready [data-kx="fade"]:not(.kx-in){opacity:0}
.kx-ready [data-kx="left"]:not(.kx-in){opacity:0;transform:translate3d(-28px,0,0)}
.kx-ready [data-kx="right"]:not(.kx-in){opacity:0;transform:translate3d(28px,0,0)}
.kx-ready [data-kx="zoom"]:not(.kx-in){opacity:0;transform:scale(.965)}

/* ---------- hero entrances (CSS only) ---------- */
@keyframes kxUp{from{opacity:.01;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
@keyframes kxFade{from{opacity:0}to{opacity:1}}
@keyframes kxKen{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes kxDrop{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}
.k-home-hero .k-display,.k-home-hero .elementor-widget-text-editor,.k-home-hero .elementor-widget-button,.k-home-hero .k-btn-row,.k-home-hero .k-hero-small{animation:kxUp .8s var(--kx-e) both}
.k-home-hero .elementor-widget-text-editor{animation-delay:.12s}
.k-home-hero .elementor-widget-button,.k-home-hero .k-btn-row{animation-delay:.24s}
.k-home-hero .k-hero-small{animation-delay:.32s}
.k-home-hero .k-hero-main{overflow:hidden;border-radius:18px}
.k-home-hero .k-hero-main img{animation:kxKen 2.2s var(--kx-e) both}
.k-hero{overflow:hidden;isolation:isolate}
.k-hero::after{content:"";position:absolute;inset:0;background:inherit;z-index:-1;animation:kxKen 2.6s var(--kx-e) both;pointer-events:none}
.k-hero .k-hero__inner>*{animation:kxUp .8s var(--kx-e) both}
.k-hero .k-hero__inner>*:nth-child(2){animation-delay:.1s}
.k-hero .k-hero__inner>*:nth-child(3){animation-delay:.2s}
.k-hero .k-hero__inner>*:nth-child(4){animation-delay:.3s}
.k-hero .k-hero__inner>*:nth-child(5){animation-delay:.38s}
.single .entry-header>*{animation:kxUp .8s var(--kx-e) both}
.single .entry-header>*:nth-child(2){animation-delay:.1s}
.single .entry-header>*:nth-child(3){animation-delay:.18s}
.single .post-thumb-img-content{overflow:hidden;border-radius:16px}
.single .post-thumb-img-content img{animation:kxKen 2s var(--kx-e) both}

/* ---------- sticky header ---------- */
.k-header{transition:padding .35s var(--kx-e),box-shadow .35s var(--kx-e),background-color .35s}
.k-header .k-logo,.k-header .k-logo img{transition:width .35s var(--kx-e),max-width .35s var(--kx-e)}
.k-header.elementor-sticky--effects{padding-top:3px!important;padding-bottom:3px!important;box-shadow:0 10px 30px -12px rgba(20,45,45,.22)}
.k-header.elementor-sticky--effects .k-logo,.k-header.elementor-sticky--effects .k-logo img{width:88px!important;max-width:88px!important}
.k-header .elementor-nav-menu--main .elementor-item{transition:color .25s var(--kx-e)}
.k-header .elementor-nav-menu--main .sub-menu{animation:kxDrop .24s var(--kx-e)}
.k-header .elementor-nav-menu--main .sub-menu a{transition:background-color .2s,color .2s}
.k-header .elementor-nav-menu--dropdown .elementor-item{transition:background-color .2s,color .2s}

/* ---------- cards ---------- */
.k-cards .elementor-post,.k-exp-tiles .k-ds-card,.ast-article-post .ast-article-inner,.ast-related-post{transition:transform .45s var(--kx-e),box-shadow .45s var(--kx-e)}
.ast-article-post .post-thumb-img-content,.ast-related-post .ast-related-post-featured-section{overflow:hidden}
.ast-article-post .post-thumb-img-content img,.ast-related-post img,.elementor-image-gallery .gallery-icon img,.k-exp-figure img{transition:transform .7s var(--kx-e)}
.k-cards .elementor-post__read-more{display:inline-block;transition:transform .3s var(--kx-e),color .3s}
.k-trust .elementor-icon,.k-feature .elementor-icon,.elementor-social-icon{transition:transform .3s var(--kx-e),background-color .3s}
.elementor-image-gallery .gallery-icon{overflow:hidden;border-radius:12px}
@media (hover:hover){
 .k-cards .elementor-post:hover,.k-exp-tiles .k-ds-card:hover,.ast-article-post .ast-article-inner:hover,.ast-related-post:hover{transform:translateY(-6px);box-shadow:0 24px 46px -20px rgba(20,45,45,.32)}
 .k-cards .elementor-post:hover .elementor-post__read-more{transform:translateX(5px)}
 .ast-article-post:hover .post-thumb-img-content img,.ast-related-post:hover img,.elementor-image-gallery .gallery-icon:hover img{transform:scale(1.05)}
 .k-trust:hover .elementor-icon,.k-feature:hover .elementor-icon{transform:translateY(-3px)}
 .elementor-social-icon:hover{transform:translateY(-3px)}
}

/* ---------- buttons & links ---------- */
.elementor-button,.wpforms-container .wpforms-submit,.k-ds-arrow{transition:background-color .3s var(--kx-e),color .3s,border-color .3s,box-shadow .3s var(--kx-e),transform .25s var(--kx-e)!important}
.elementor-button .elementor-button-icon{transition:transform .3s var(--kx-e)}
@media (hover:hover){
 .elementor-widget-button:not(.k-btn-link) .elementor-button:hover,.wpforms-container .wpforms-submit:hover{transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(20,45,45,.5)}
 .elementor-button:hover .elementor-button-icon{transform:translateX(3px)}
}
.elementor-button:active,.wpforms-container .wpforms-submit:active{transform:translateY(0)!important}
a:focus-visible,.elementor-button:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #C9A24A!important;outline-offset:3px}
.ekit-template-content-footer a,.site-content .k-prose a{transition:color .25s,text-decoration-color .25s}
.ekit-template-content-footer .elementor-icon-list-item{transition:transform .25s var(--kx-e)}
@media (hover:hover){.ekit-template-content-footer .elementor-icon-list-item:hover{transform:translateX(3px)}}

/* ---------- forms ---------- */
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container input[type=number],.wpforms-container input[type=tel],.wpforms-container input[type=url],.wpforms-container select,.wpforms-container textarea{transition:border-color .25s var(--kx-e),box-shadow .25s var(--kx-e),background-color .25s}
.wpforms-container input[type=text]:focus,.wpforms-container input[type=email]:focus,.wpforms-container input[type=number]:focus,.wpforms-container input[type=tel]:focus,.wpforms-container input[type=url]:focus,.wpforms-container select:focus,.wpforms-container textarea:focus{border-color:#1F4747!important;box-shadow:0 0 0 4px rgba(31,71,71,.12)!important;background-color:#fff!important;outline:none!important}
.wpforms-container input.wpforms-error,.wpforms-container textarea.wpforms-error,.wpforms-container select.wpforms-error{border-color:#B3261E!important;box-shadow:0 0 0 4px rgba(179,38,30,.10)!important}
.wpforms-container label.wpforms-error,.wpforms-container em.wpforms-error,.wpforms-confirmation-container-full{animation:kxFade .35s var(--kx-e)}
.wpforms-container .wpforms-field-checkbox li,.wpforms-container .wpforms-field-radio li{transition:border-color .2s,background-color .2s}

/* ---------- itinerary timeline ---------- */
.kx-days{position:relative;padding-left:46px}
.kx-days::before,.kx-days::after{content:"";position:absolute;left:13px;top:14px;width:2px;height:calc(100% - 28px);border-radius:2px}
.kx-days::before{background:#E2D9C8}
.kx-days::after{background:linear-gradient(#C9A24A,#1F4747);transform-origin:top;transform:scaleY(var(--kx-p,1))}
.kx-day{position:relative}
.kx-days .kx-day>h2:first-child{margin-top:1.4em!important;padding-top:0!important;border-top:0!important}
.kx-days .kx-day:first-child>h2:first-child{margin-top:.2em!important}
.kx-day::before{content:"";position:absolute;left:-41px;top:12px;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #C9A24A;box-shadow:0 0 0 5px #fff;box-sizing:border-box;transition:background-color .4s var(--kx-e),border-color .4s,transform .4s var(--kx-e);z-index:1}
.kx-day.kx-passed::before{background:#1F4747;border-color:#1F4747;transform:scale(1.12)}
@media (max-width:767px){.kx-days{padding-left:32px}.kx-days::before,.kx-days::after{left:8px}.kx-day::before{left:-32px;width:16px;height:16px;top:8px}}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
 .k-cards .elementor-post:hover,.k-exp-tiles .k-ds-card:hover{transform:none}
}
/* card image fill */
.elementor-posts-container.elementor-has-item-ratio .elementor-post__thumbnail img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover}
