/* Interactive states only. Layout, content and typography live in Elementor classes. */
body.home:has(.sp-footer-section) > #site-footer { display:none; }
.sp-offers-track::-webkit-scrollbar { display:none; }
.sp-offers-track { -webkit-overflow-scrolling:touch; }
.sp-offer-card { scroll-snap-stop:always; }
.sp-faq-item summary::-webkit-details-marker { display:none; }
.sp-faq-item[open] .sp-faq-icon-text { transform:rotate(45deg); }
.sp-faq-icon-text { transition:transform .25s ease; }
.sp-footer-link:not([href]), .sp-link-cta:not([href]) { cursor:default; }
[data-elementor-id="8"] > [id] { scroll-margin-top:7rem; }
@media(prefers-reduced-motion:reduce) { .sp-offers-track { scroll-behavior:auto; } .sp-faq-icon-text { transition:none; } }

.sp-contact-form input, .sp-contact-form textarea { box-sizing:border-box; }
@media (prefers-reduced-motion:reduce) {
 .sp-motion-text, .sp-motion-image { opacity:1!important; transform:none!important; translate:none!important; transition:none!important; }
}


/* Fixed arch mask; zoom affects only the original image inside it. */
body:has(.sp26-design) .elementor.elementor-8 .sp-story-media.sp-story-motion-125 .sp-story-arch-125 {
 position:relative; width:100%; height:610px; overflow:hidden; border-radius:280px 280px 0 0; isolation:isolate;
}
body:has(.sp26-design) .elementor.elementor-8 .sp-story-media.sp-story-motion-125 .sp-story-main {
 position:absolute; inset:0; width:100%; height:100%; border-radius:0; object-fit:cover; object-position:center top;
 transform:scale(var(--sp-story-zoom-125,1))!important; transform-origin:35% 0; transition:none; animation:none;
}
body:has(.sp26-design) .elementor.elementor-8 .sp-story-media.sp-story-motion-125 .sp-story-detail {
 transform:translate3d(0,var(--sp-story-drift-125,0px),0)!important; transition:none; animation:none; z-index:2;
}
body:has(.sp26-design) .elementor.elementor-8 .sp-story-moving-125 :is(.sp-story-main,.sp-story-detail) { will-change:transform; }
@media(max-width:1024px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-story-media.sp-story-motion-125 .sp-story-arch-125 { height:530px; }
}
@media(max-width:767px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-story-media.sp-story-motion-125 .sp-story-arch-125 { height:440px; border-radius:180px 180px 0 0; }
}
@media(prefers-reduced-motion:reduce) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-story-media.sp-story-motion-125 :is(.sp-story-main,.sp-story-detail) { transform:none!important; will-change:auto; }
}

/* Story inset: a lighter overlap with room for the vertical journey. */
@media(min-width:1025px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-story-media.sp-story-motion-125 .sp-story-detail { right:-88px; bottom:-58px; }
}
@media(min-width:768px) and (max-width:1024px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-story-media.sp-story-motion-125 .sp-story-detail { right:-60px; bottom:-50px; }
}
@media(max-width:767px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-story-media.sp-story-motion-125 { padding-bottom:82px; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-story-media.sp-story-motion-125 .sp-story-detail { right:-12px; bottom:-48px; }
}

/* Restaurant and heritage: fixed photo windows with the story scroll gesture. */
body:has(.sp26-design) .elementor.elementor-8 .sp-motion-frame-125 { position:relative; width:100%; overflow:hidden; isolation:isolate; }
body:has(.sp26-design) .elementor.elementor-8 .sp-dining-media-125 .sp-motion-frame-125 { height:620px; }
body:has(.sp26-design) .elementor.elementor-8 .sp-heritage-media.sp-heritage-motion-125 .sp-motion-frame-125 { height:490px; }
body:has(.sp26-design) .elementor.elementor-8 :is(.sp-dining-media-125,.sp-heritage-motion-125) .sp-motion-frame-125 > img {
 position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
 transform:scale(var(--sp-story-zoom-125,1))!important; transform-origin:center center; transition:none; animation:none;
}
body:has(.sp26-design) .elementor.elementor-8 :is(.sp-dining-media-125,.sp-heritage-motion-125) .sp-floating-detail {
 transform:translate3d(0,var(--sp-story-drift-125,0px),0)!important; transition:none; animation:none; z-index:2;
}
body:has(.sp26-design) .elementor.elementor-8 :is(.sp-dining-media-125,.sp-heritage-motion-125).sp-story-moving-125 :is(.sp-motion-frame-125 > img,.sp-floating-detail) { will-change:transform; }
@media(max-width:1024px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-dining-media-125 .sp-motion-frame-125 { height:520px; }
}
@media(max-width:767px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-dining-media-125 .sp-motion-frame-125 { height:420px; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-heritage-media.sp-heritage-motion-125 .sp-motion-frame-125 { height:370px; }
}
@media(prefers-reduced-motion:reduce) {
 body:has(.sp26-design) .elementor.elementor-8 :is(.sp-dining-media-125,.sp-heritage-motion-125) :is(.sp-motion-frame-125 > img,.sp-floating-detail) { transform:none!important; will-change:auto; }
}

/* Match the story's arch silhouette in the restaurant and heritage photo windows. */
body:has(.sp26-design) .elementor.elementor-8 :is(.sp-dining-media-125,.sp-heritage-motion-125) .sp-motion-frame-125 {
 border-radius:48% 48% 0 0;
}

/* Rooms: editorial intro and a CTA aligned with the carousel controls. */
@media(min-width:768px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-rooms-intro { align-items:flex-end; gap:6%; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-rooms-title-group { width:50%; flex:0 0 50%; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-rooms-body-group { width:44%; flex:0 0 44%; padding:0 0 4px; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-carousel { position:relative; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-carousel > .sp-link-cta { position:absolute; left:0; bottom:6px; margin:0; z-index:2; }
}
@media(max-width:767px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-carousel > .sp-link-cta { display:block; width:fit-content; margin:18px auto 0 0; }
}

/* Offers: a narrow editorial intro and three level cards with more breathing room. */
@media(min-width:1025px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-lower-intro { width:30%; flex:0 0 30%; padding-left:8%; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-lower-intro .sp-hebrew-body { width:100%; max-width:270px; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-offers-track { width:84%; margin:0 auto; gap:64px; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-offer-card { flex:0 0 calc((100% - 128px)/3); }
}
@media(min-width:768px) and (max-width:1024px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-lower-intro { width:34%; flex:0 0 34%; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-lower-intro .sp-hebrew-body { max-width:280px; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-offers-track { gap:42px; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-offer-card { flex:0 0 calc((100% - 84px)/3); }
}
@media(min-width:768px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-offers-track { align-items:stretch; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-offer-card { display:flex; flex-direction:column; margin-top:0; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-offer-card:nth-child(2) { margin-top:0; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-offer-copy { flex:1; display:flex; flex-direction:column; min-height:160px; }
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-card-link { margin-top:auto; }
}
@media(max-width:767px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-offers-track { gap:28px; }
}

/* Align the offer row's right edge with its heading; keep the wider card gaps. */
@media(min-width:1025px) {
 body:has(.sp26-design) .elementor.elementor-8 .sp-offers-section .sp-offers-track { width:92%; margin:0 0 0 auto; }
}

/* Mobile alignment matches the native Elementor mobile controls. */
@media(max-width:767px){
body:has(.sp26-design) .elementor.elementor-8 :is(.sp-hebrew-kicker,.sp-display-title,.sp-hebrew-body,.sp-contact-title){text-align:center;}
body:has(.sp26-design) .elementor.elementor-8 .sp-carousel > .sp-link-cta{margin-inline:auto;}
}

/* Shared mobile carousel controls: count, left arrow, right arrow. */
@media(max-width:767px){
body:has(.sp26-design) .elementor.elementor-8 :is(.sp-offer-controls,.sp-reviews-controls){
 width:100%;display:flex;flex-direction:row;direction:ltr;justify-content:center!important;gap:12px;align-items:center;
}
body:has(.sp26-design) .elementor.elementor-8 :is(.sp-outline-arrow,.sp-review-arrow){
 width:48px!important;height:48px!important;min-width:48px!important;padding:0!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 font-size:0!important;line-height:1!important;direction:ltr;border-radius:50%!important;
}
body:has(.sp26-design) .elementor.elementor-8 :is(.sp-outline-arrow,.sp-review-arrow)::before{
 content:"";display:block;width:22px;height:22px;background:currentColor;
 mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M20%2012H4m6-6-6%206%206%206%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
 -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M20%2012H4m6-6-6%206%206%206%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
}
body:has(.sp26-design) .elementor.elementor-8 :is(.sp-carousel-prev,.sp-offers-prev,[aria-label="חוות הדעת הקודמת"])::before{transform:rotate(180deg);}
body:has(.sp26-design) .elementor.elementor-8 :is(.sp-carousel-prev,.sp-offers-prev){order:2;}
body:has(.sp26-design) .elementor.elementor-8 :is(.sp-carousel-next,.sp-offers-next){order:1;}
body:has(.sp26-design) .elementor.elementor-8 .sp-offer-controls p{order:-1;direction:ltr;margin-inline-end:8px;}
}

/* Phones show one complete room per swipe; desktop keeps its preview. */
@media(max-width:767px){
 body:has(.sp26-design) .elementor.elementor-8 .sp-carousel-stage .sp-carousel-slide{flex:0 0 100%;width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
}

/* One complete offer per phone viewport. */
@media(max-width:767px){body:has(.sp26-design) .elementor.elementor-8 .sp-offers-track .sp-offer-card{flex:0 0 100%;width:100%;max-width:100%;min-width:0;box-sizing:border-box;}}
