/* Cal Pastor: source-matched composition and controls, revision 2. */
.cp-hero-intro{background:transparent!important;isolation:isolate}
.cp-hero-intro::after{content:"";position:absolute;inset:0;z-index:-2;background:url("https://calpastoralbons.cat/wp-content/uploads/2022/01/portada-2048x1536.jpg") center/cover no-repeat;transform-origin:50% 50%;animation:cpKenBurns 28s linear infinite;will-change:transform}
.cp-hero-intro::before{z-index:-1}
.cp-hero-intro>img{z-index:1}
@keyframes cpKenBurns{0%{transform:scale(1) translateY(0)}32%,99.99%{transform:scale(1.5) translateY(4%)}100%{transform:scale(1) translateY(0)}}
.cp-hero-film p{text-shadow:2px 3px 10px rgba(0,0,0,.65),0 1px 3px rgba(0,0,0,.4)}
.cp-widget-slides .swiper-wrapper,.cp-widget-slides .swiper-slide{height:100%}
.cp-widget-slides .swiper-slide-inner{height:100%;display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box}
.cp-widget-slides .swiper-slide-contents{flex:0 1 100%;margin-block:0}
.cp-widget-slides .cp-background-overlay{position:absolute;inset:0;z-index:1;pointer-events:none}
.cp-widget-slides .swiper-slide-inner{z-index:2}
.cp-widget-slides .swiper-pagination{z-index:3;bottom:15px}
.cp-widget-slides .swiper-pagination button.cp-native-dot{width:10px;height:10px;background:#fff}
.cp-widget-slides .swiper-pagination button.cp-native-dot[aria-current=true]{background:#ec6b5b}
/* Four separate, stationary cards on desktop; the source tablet/mobile carousel remains. */
.cp-carousel .cp-card-track{gap:30px}
.cp-carousel .cp-card-track>.uc_three_column_carousel_box{flex-basis:calc((100% - 90px)/4);border-radius:4px}
.cp-carousel .cp-card-track .uc_box_content,.cp-carousel .cp-card-track .uc_overlay{opacity:0!important}
.cp-carousel .cp-card-track .uc_three_column_carousel_box:hover .uc_box_content,.cp-carousel .cp-card-track .uc_three_column_carousel_box:focus-within .uc_box_content,.cp-carousel .cp-card-track .uc_three_column_carousel_box:hover .uc_overlay,.cp-carousel .cp-card-track .uc_three_column_carousel_box:focus-within .uc_overlay{opacity:1!important}
.cp-carousel .cp-card-track .uc_box_content{padding:20px 30px!important}
.cp-carousel .cp-card-track .uc_title,.cp-carousel .cp-card-track .uc_sub_title{color:#fff!important}
.cp-carousel .cp-card-track .uc_overlay{background:#3a1302ba!important}
.cp-carousel .cp-carousel-controls{display:none;inset:50% 0 auto}
.cp-carousel .cp-carousel-controls button{width:45px;height:45px;min-width:0;padding:0!important;border:0!important;border-radius:0!important;background:#fff;color:#684c41;font-size:20px;line-height:1;box-shadow:none;display:flex;align-items:center;justify-content:center}
.cp-carousel .cp-carousel-controls button .fas{font-size:20px}
.cp-form-house{font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;color:#684c41;margin:0 0 24px;padding:0 15px}
@media(min-width:1025px){.cp-carousel .cp-card-track{overflow:visible;scroll-snap-type:none}.cp-carousel .cp-card-track>.uc_three_column_carousel_box{width:calc((100% - 90px)/4)}}
@media(max-width:1024px){.cp-carousel .cp-card-track>.uc_three_column_carousel_box{flex-basis:calc((100% - 30px)/2)}.cp-carousel .cp-carousel-controls{display:flex}}
@media(max-width:767px){.cp-carousel .cp-card-track{gap:0}.cp-carousel .cp-card-track>.uc_three_column_carousel_box{flex-basis:100%}.cp-carousel .cp-card-track .uc_box_content,.cp-carousel .cp-card-track .uc_overlay{opacity:1!important}.cp-carousel .cp-card-track .uc_box_content{padding:20px 30px!important}}
@media(prefers-reduced-motion:reduce){.cp-hero-intro::after{animation:none;transform:none}}
.cp-native-form .cp-select-wrapper::before{content:""!important;width:0!important;height:0!important;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #684c41;right:14px;top:50%;transform:translateY(-50%);pointer-events:none}
/* Revision 3: consistent image proportions, a fixed header, and the source boat film. */
body{--cp-header-height:80px;--cp-admin-bar-height:0px}
body.admin-bar{--cp-admin-bar-height:32px}
header.cp-location-header{position:fixed!important;top:var(--cp-admin-bar-height);left:0;right:0;width:100%;transform:none!important;z-index:500}
main.site-main{padding-top:var(--cp-header-height)}
/* The older Spanish page nests its full-width sections in a single legacy container. */
.page-id-4769 .page-content>.cp-section>.cp-container{display:block}
.page-content>.cp>:first-child:has(.cp-hero){margin-top:0!important}
.cp-home-welcome{padding-top:80px!important}
.cp-welcome-media{justify-content:flex-start!important}
.cp-home-welcome .ue_slider{height:auto!important;aspect-ratio:3/2}
.cp-home-welcome .ue_slider>.ue_slide{height:100%!important}
.cp-welcome-copy{margin-top:clamp(120px,12vw,180px)!important;align-self:flex-start}
.cp-widget-media-carousel .swiper-wrapper{height:100%}
.cp-experience-section{margin-top:100px!important;margin-bottom:100px!important;isolation:isolate;overflow:hidden}
.cp-experience-section .cp-background-video-container{display:block!important}
.cp-experience-section iframe.cp-background-video-embed{border:0;max-width:none;pointer-events:none}
@media(min-width:1025px){.cp-widget-media-carousel .cp-main-swiper{height:clamp(340px,26.5vw,620px)!important}}
@media(max-width:782px){body.admin-bar{--cp-admin-bar-height:46px}}
@media(max-width:767px){
 .cp-home-welcome{padding-top:56px!important}
 .cp-welcome-copy{margin-top:0!important}
 .cp-hero-film p{font-size:clamp(32px,10.5vw,44px);line-height:1.15;padding-inline:18px}
 .cp-hero-caption>span{display:block}
 .cp-experience-section{margin-top:60px!important;margin-bottom:60px!important}
}
/* Homepage entrances: short travels, staggered cards, and a single reveal on scroll. */
.cp-reveal{opacity:0;transform:translate3d(0,28px,0)}
.cp-reveal[data-cp-reveal=left]{transform:translate3d(-32px,0,0)}
.cp-reveal[data-cp-reveal=right]{transform:translate3d(32px,0,0)}
.cp-reveal[data-cp-reveal=zoom]{transform:translate3d(0,18px,0) scale(.975)}
.cp-reveal.cp-revealed{opacity:1;transform:none;transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);transition-delay:var(--cp-reveal-delay,0ms)}
.cp-reveal:focus-within{opacity:1;transform:none;transition-delay:0ms}
.cp-hero-caption{animation:cpHeroCaption 28s ease-out infinite}
@keyframes cpHeroCaption{0%,29%{opacity:0;transform:translateY(24px)}35%,95%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(0)}}
@media(max-width:767px){
 .cp-reveal{transform:translate3d(0,20px,0)}
 .cp-reveal[data-cp-reveal=left]{transform:translate3d(-18px,0,0)}
 .cp-reveal[data-cp-reveal=right]{transform:translate3d(18px,0,0)}
 .cp-reveal.cp-revealed,.cp-reveal:focus-within{transform:none;transition-duration:.7s}
}
@media(prefers-reduced-motion:reduce){.cp-reveal{opacity:1!important;transform:none!important;transition:none!important}.cp-hero-caption{animation:none}}
