@font-face{font-family:CMSJSensei;src:url('camping-object-intro/Sensei-Medium.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:CMSJCatamaran;src:url('camping-object-intro/Catamaran.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
/* Sensei maps U+00B2 to a decorative m-like glyph. Preserve the text and use the existing body font for this single code point. */
@font-face{font-family:CMSJAreaUnit;src:url('camping-object-intro/Catamaran.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+00B2}
.cmsj-object-intro.elementor-section{--cmsj-ink:#0a303a;--cmsj-cream:#f4f1ea;--cmsj-blue:#d5e6eb;--cmsj-coral:#f45124;background:var(--cmsj-cream);color:var(--cmsj-ink);padding:48px 0 42px!important;font-family:CMSJCatamaran,sans-serif;isolation:isolate;overflow:hidden}
.cmsj-object-intro>.elementor-container{max-width:1288px!important;width:calc(100% - 10.56vw)}
.cmsj-object-intro .elementor-column>.elementor-widget-wrap{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto 205px 205px auto auto auto auto auto;gap:12px 24px;padding:0!important;align-content:start}
.cmsj-object-intro .elementor-widget{margin:0!important;min-width:0;max-width:none;z-index:1}
.cmsj-object-intro .elementor-widget-container{margin:0!important;padding:0!important}
.cmsj-object-intro h1,.cmsj-object-intro h2,.cmsj-object-intro .elementor-button,.cmsj-object-intro .cmsj-district{font-family:CMSJSensei,sans-serif!important;font-weight:400!important;color:var(--cmsj-ink);letter-spacing:0;text-transform:none}
.cmsj-object-intro h1{font-size:52px!important;line-height:1.08!important;margin:0!important;max-width:760px;text-wrap:initial}
.cmsj-object-intro .cmsj-title h1{font-family:CMSJAreaUnit,CMSJSensei,sans-serif!important}
.cmsj-object-intro .elementor-widget-text-editor{font-family:CMSJCatamaran,sans-serif!important}
.cmsj-object-intro h2{font-size:30px!important;line-height:1.2!important;margin:0 0 12px!important}
.cmsj-object-intro p{margin:0;font-family:CMSJCatamaran,sans-serif;line-height:1.45;color:var(--cmsj-ink)}
.cmsj-object-intro ::selection{background:#ffc7bd;color:var(--cmsj-ink)}
.cmsj-object-intro a:focus-visible{outline:3px solid #ad2a10!important;outline-offset:5px!important}
.cmsj-title{grid-area:1/1/2/9}
.cmsj-district{grid-area:2/1/3/9;padding-bottom:24px}
.cmsj-object-intro .cmsj-district p{font:400 20px/1.3 CMSJSensei,sans-serif;display:flex;align-items:center;gap:10px}
.cmsj-district p::before{content:'';width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--cmsj-coral)}
.cmsj-booking{grid-area:1/10/2/13;align-self:center}
.cmsj-object-intro .cmsj-booking .elementor-button{width:100%;display:flex;justify-content:center;align-items:center;min-height:62px;padding:14px 18px;background:var(--cmsj-ink);color:#fff;font-size:20px;line-height:1.25;border:1px solid var(--cmsj-ink);border-radius:10px;transition:background-color .18s ease-out}
.cmsj-booking .elementor-button::after{content:'';display:block;width:18px;height:18px;margin-left:14px;flex:0 0 18px;background:currentColor;mask:url('camping-object-intro/icons/arrow.svg') center/contain no-repeat}
.cmsj-object-intro .cmsj-booking .elementor-button:hover{background:#164d59}
.cmsj-booking-help{grid-area:1/10/2/13;align-self:center;transform:translateY(calc(47px + 50%));text-align:center}
.cmsj-booking-help p{font-size:16px}
.cmsj-gallery,.cmsj-gallery>.elementor-widget-container,.cmsj-gallery .elementor-image-gallery,.cmsj-gallery .gallery{display:contents!important}
.cmsj-object-intro .gallery-item{position:relative;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;z-index:1}
.cmsj-object-intro .gallery-item:nth-child(n+4){display:none!important}
.cmsj-object-intro .gallery-item:nth-child(1){display:block;grid-area:3/1/5/9}
.cmsj-object-intro .gallery-item:nth-child(2){display:block;grid-area:3/9/4/13}
.cmsj-object-intro .gallery-item:nth-child(3){display:block;grid-area:4/9/5/13}
.cmsj-object-intro .gallery-item::before{content:'';position:absolute;inset:-7px -3px -16px 6px;background:#ffd9d2;mask:url('camping-object-intro/photo-background.svg') center/100% 100% no-repeat}
.cmsj-object-intro .gallery-item:nth-child(2)::before,.cmsj-object-intro .gallery-item:nth-child(3)::before{background:#ffc1b9;inset:-6px -2px -18px 8px}
.cmsj-object-intro .gallery-icon,.cmsj-object-intro .gallery-icon a{display:block;width:100%;height:100%;position:relative}
.cmsj-object-intro .gallery-icon a{width:calc(100% - 16px)}
.cmsj-object-intro .gallery-item:nth-child(3) .gallery-icon a{margin-left:12px;width:calc(100% - 12px)}
.cmsj-object-intro .gallery-icon img{display:block;width:100%;height:100%!important;max-width:none;object-fit:cover;object-position:center;border:0!important;border-radius:0!important;padding:0!important;mask:url('camping-object-intro/photo-mask.svg') center/100% 100% no-repeat}
.cmsj-object-intro .gallery-caption,.cmsj-object-intro .gallery br{display:none!important}
.cmsj-gallery-button{grid-area:5/1/6/7;padding-top:6px}
.cmsj-object-intro .cmsj-gallery-button .elementor-button{display:inline-flex;align-items:center;min-height:46px;padding:10px 16px;border:2px solid var(--cmsj-coral);border-radius:9px;background:transparent;color:#7d0000;font-size:17px;line-height:1.25}
.cmsj-gallery-button .elementor-button::before{content:'';width:18px;height:18px;margin-right:10px;flex:0 0 18px;background:currentColor;mask:url('camping-object-intro/icons/gallery.svg') center/contain no-repeat}
.cmsj-object-intro .cmsj-gallery-button .elementor-button:hover{background:#ffe1d8}
.cmsj-photo-note{grid-area:5/7/6/13;align-self:center;text-align:right}
.cmsj-photo-note p{font-size:16px}
.cmsj-object-intro .cmsj-blue{grid-area:6/1/10/13;align-self:stretch;width:100vw!important;z-index:0;pointer-events:none;background:var(--cmsj-blue);margin:14px calc((1288px - 100vw)/2) -42px!important;position:relative}
.cmsj-blue::before{content:'';display:block;position:absolute;top:-5px;left:0;right:0;height:6px;background:var(--cmsj-blue);mask:url('camping-object-intro/wave.svg') left bottom/100% 100% no-repeat;transform:scaleY(-1)}
.cmsj-object-intro .cmsj-facts{grid-area:6/1/7/13;margin-top:10px!important;padding:40px 0 30px;border-bottom:1px solid #8cb0bb}
.cmsj-object-intro ul{list-style:none!important;margin:0!important;padding:0!important}
.cmsj-object-intro li{display:flex;align-items:center;gap:10px;margin:0!important;padding:0!important;list-style:none;line-height:1.35}
.cmsj-object-intro li::before,.cmsj-object-intro li::marker{content:none!important}
.cmsj-facts ul{display:grid;grid-template-columns:1fr 1.2fr 1.3fr 1.18fr 1.18fr .6fr;gap:18px 0}
.cmsj-facts li{font-size:17px;font-weight:700}
.cmsj-icon{display:inline-block;width:23px;height:23px;flex:0 0 23px;background:var(--cmsj-ink);mask:var(--cmsj-icon) center/contain no-repeat}
.cmsj-icon-category{--cmsj-icon:url('camping-object-intro/icons/category.svg');background:var(--cmsj-coral)}
.cmsj-icon-capacity{--cmsj-icon:url('camping-object-intro/icons/capacity.svg')}
.cmsj-icon-area{--cmsj-icon:url('camping-object-intro/icons/area.svg')}
.cmsj-icon-bedrooms{--cmsj-icon:url('camping-object-intro/icons/bedrooms.svg')}
.cmsj-icon-bathrooms{--cmsj-icon:url('camping-object-intro/icons/bathrooms.svg')}
.cmsj-icon-toilets{--cmsj-icon:url('camping-object-intro/icons/toilets.svg')}
.cmsj-icon-air_conditioning{--cmsj-icon:url('camping-object-intro/icons/air_conditioning.svg')}
.cmsj-icon-dishwasher{--cmsj-icon:url('camping-object-intro/icons/dishwasher.svg')}
.cmsj-icon-television{--cmsj-icon:url('camping-object-intro/icons/television.svg')}
.cmsj-icon-wifi{--cmsj-icon:url('camping-object-intro/icons/wifi.svg')}
.cmsj-icon-pets{--cmsj-icon:url('camping-object-intro/icons/pets.svg')}
.cmsj-summary{grid-area:7/1/10/7;padding-top:18px;padding-right:48px}
.cmsj-summary p{font-size:19px;max-width:60ch}
.cmsj-amenities-title{grid-area:7/7/8/13;padding-top:18px}
.cmsj-amenities{grid-area:8/7/9/12}
.cmsj-amenities ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}
.cmsj-amenities li{font-size:17px}
.cmsj-pets{grid-area:9/7/10/12;padding-top:8px;padding-bottom:20px}
.cmsj-pets p{display:flex;align-items:center;gap:10px;font-size:17px}
.cmsj-palmi{grid-area:8/12/10/13;align-self:end;pointer-events:none}
.cmsj-palmi img{max-height:128px;width:auto!important}
@media(max-width:1439px){.cmsj-object-intro .cmsj-blue{margin-left:-5.28vw!important;margin-right:-5.28vw!important}.cmsj-object-intro .elementor-column>.elementor-widget-wrap{grid-template-rows:auto auto min(14.25vw,205px) min(14.25vw,205px) auto auto auto auto auto}.cmsj-object-intro h1{font-size:clamp(38px,3.61vw,52px)!important}.cmsj-object-intro .cmsj-booking .elementor-button{font-size:18px}.cmsj-facts ul{gap:14px}.cmsj-facts li{font-size:16px;gap:8px}}
@media(min-width:768px) and (max-width:1100px){.cmsj-booking,.cmsj-booking-help{grid-column:9/13}.cmsj-title,.cmsj-district{grid-column:1/9}.cmsj-facts ul{grid-template-columns:repeat(3,minmax(0,1fr))}.cmsj-summary{padding-right:24px}.cmsj-object-intro h2{font-size:27px!important}.cmsj-amenities ul{gap:16px}.cmsj-palmi img{max-height:100px}}
@media(max-width:767px){
 .cmsj-object-intro.elementor-section{padding:28px 0 28px!important}
 .cmsj-object-intro>.elementor-container{width:calc(100% - 40px)!important}
 .cmsj-object-intro .elementor-column>.elementor-widget-wrap{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto auto auto auto auto auto auto auto auto auto auto;gap:12px 14px}
 .cmsj-object-intro h1{font-size:33px!important;line-height:1.08!important;text-wrap:initial}
 .cmsj-title{grid-area:1/1/2/3}
 .cmsj-district{grid-area:2/1/3/3;padding-bottom:12px}
 .cmsj-object-intro .cmsj-district p{font-size:18px}
 .cmsj-object-intro .gallery-item:nth-child(1){grid-area:3/1/4/3;height:220px}
 .cmsj-object-intro .gallery-item:nth-child(2){grid-area:7/1/8/2;height:124px}
 .cmsj-object-intro .gallery-item:nth-child(3){grid-area:7/2/8/3;height:124px}
 .cmsj-object-intro .gallery-item::before{inset:-7px 2px -4px 5px}
 .cmsj-object-intro .gallery-item:nth-child(2)::before,.cmsj-object-intro .gallery-item:nth-child(3)::before{inset:-4px -2px -7px 4px}
 .cmsj-object-intro .gallery-icon a{width:calc(100% - 4px)}
 .cmsj-object-intro .gallery-item:nth-child(3) .gallery-icon a{margin-left:0;width:100%}
 .cmsj-booking{grid-area:4/1/5/3;padding-top:6px}
 .cmsj-object-intro .cmsj-booking .elementor-button{min-height:57px;font-size:19px}
 .cmsj-booking-help{grid-area:5/1/6/3;align-self:auto;transform:none;padding-bottom:12px}
 .cmsj-booking-help p{font-size:16px}
 .cmsj-object-intro .cmsj-blue{grid-area:6/1/14/3;margin:4px -20px -28px!important}
 .cmsj-object-intro .cmsj-facts{grid-area:6/1/7/3;padding:24px 0 22px;margin:0 0 8px!important}
 .cmsj-facts ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}
 .cmsj-facts li{font-size:16px;gap:9px}
 .cmsj-icon{width:22px;height:22px;flex-basis:22px}
 .cmsj-gallery-button{grid-area:8/1/9/3;padding-top:4px}
 .cmsj-object-intro .cmsj-gallery-button .elementor-button{font-size:16px;min-height:45px}
 .cmsj-photo-note{grid-area:9/1/10/3;text-align:left;padding-bottom:4px;border-bottom:1px solid #8cb0bb}
 .cmsj-photo-note p{font-size:16px}
 .cmsj-summary{grid-area:10/1/11/3;padding:12px 0 24px;border-bottom:1px solid #8cb0bb}
 .cmsj-object-intro h2{font-size:26px!important;margin-bottom:10px!important}
 .cmsj-summary p{font-size:18px}
 .cmsj-amenities-title{grid-area:11/1/12/3;padding-top:10px}
 .cmsj-amenities{grid-area:12/1/13/3}
 .cmsj-amenities ul{gap:18px 12px}
 .cmsj-amenities li{font-size:16px;gap:9px}
 .cmsj-pets{grid-area:13/1/14/3;padding:12px 74px 0 0;min-height:84px}
 .cmsj-pets p{font-size:16px;align-items:flex-start}
 .cmsj-palmi{grid-area:13/2/14/3;justify-self:end;align-self:end;width:64px!important}
 .cmsj-palmi img{max-height:92px}
}
@media(prefers-reduced-motion:reduce){.cmsj-object-intro .elementor-button{transition:none!important}}
@media(min-width:768px) and (max-width:900px){.cmsj-object-intro .cmsj-amenities ul{grid-template-columns:minmax(0,1fr)}}
@media(max-width:359px){.cmsj-object-intro .cmsj-amenities ul{grid-template-columns:minmax(0,1fr)}}
@media(forced-colors:active){.cmsj-object-intro .cmsj-icon{background:CanvasText}.cmsj-object-intro a{border:1px solid LinkText}.cmsj-object-intro .cmsj-blue{background:Canvas}}
/* Scope the installed dialog manager's misplaced centring to our own gallery. */
.cmsj-object-lightbox .dialog-widget-content{top:0!important;left:0!important;width:100%!important;height:100%!important}
.cmsj-object-lightbox .dialog-close-button:focus-visible,.cmsj-object-lightbox [tabindex="0"]:focus-visible{outline:3px solid #fff!important;outline-offset:4px!important}

/* Requested refinement: distinct information surfaces and notes in normal flow. */
.cmsj-object-intro .cmsj-summary {
    align-self: start;
    padding: 28px;
    border: 0;
    border-radius: 16px;
    background: var(--cmsj-cream);
    box-shadow: 0 6px 18px rgb(10 48 58 / 8%);
}
.cmsj-object-intro .cmsj-summary p + p { margin-top: 14px; }
/* Requested panel lift stays optional and does not turn the copy into a control. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .cmsj-object-intro .cmsj-summary {
        transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
    }
    .cmsj-object-intro .cmsj-summary:hover {
        transform: translateY(-3px);
    }
}
.cmsj-object-intro .cmsj-gallery-button { padding-top: 16px; }
.cmsj-object-intro .cmsj-photo-note { padding-top: 16px; }
.cmsj-object-intro .cmsj-photo-note p,
.cmsj-object-intro .cmsj-booking-help p { line-height: 1.5; }
@media (min-width: 768px) {
    .cmsj-object-intro .cmsj-booking { align-self: end; }
    .cmsj-object-intro .cmsj-booking-help {
        grid-row: 2 / 3;
        align-self: start;
        transform: none;
        margin-bottom: 18px !important;
    }
    .cmsj-object-intro .cmsj-amenities-title { padding-top: 28px; }
}
@media (max-width: 767px) {
    .cmsj-object-intro .cmsj-summary { padding: 24px 22px; }
    .cmsj-object-intro .cmsj-photo-note { padding-bottom: 18px; }
    .cmsj-object-intro .cmsj-amenities-title { padding-top: 20px; }
}
