.cl-scroll-nav-shell {
    display: none !important;
}

@media (max-width:780px) {
    .cl-scroll-nav-shell {
        display: block !important;
    }
}

.cl-responsive-bg-mobile {
    display: none !important;
}

.cl-responsive-bg-desktop {
    display: block !important;
}

@media (max-width:780px) {
    .cl-responsive-bg-desktop {
        display: none !important;
    }
    
    .cl-responsive-bg-mobile {
        display: block !important;
    }
}

.cl-side-cover {
    min-height: 100vh !important;
    height: 100vh !important;
	overflow: hidden !important;
}

.admin-bar .cl-side-cover {
    min-height: calc(100vh - 32px) !important;
	height: calc(100vh - 32px) !important;
}

.cl-side-cover .wp-block-cover__image-background {
    width: 100% !important;
	height: 100% !important;
    object-fit: cover !important;
    object-position: centre centre !important;
    transform: scale(1.01);
}

.cl-side-cover .cl-side-bg-media {
    position: absolute !important;
    width: 100% !important;
	height: 100% !important;
    z-index: 0;
}

.cl-side-cover .cl-side-bg-media img {
    width: 100% !important;
	height: 100% !important;
    object-fit: cover !important;
    object-position: centre centre !important;
    transform: scale(1.01);
}

.cl-side-cover .wp-block-cover__inner-container {
    height: 100% !important;
    width: 100% !important;
}

.cl-side-ui {
    min-height: 100vh !important;
    box-sizing: border-box !important;
}

.cl-side-nav-custom .cl-side-nav-link {
    position: relative !important;
    display: inline-flex !important;
    overflow: visible !important;
	text-decoration: none !important;
    transition: transform .42s cubic-bezier(.16,1,.3,1), opacity .28s ease, colour .28s ease, letter-spacing .28s ease !important;
}

.cl-side-nav-custom .cl-side-nav-link:before,.cl-side-nav-custom .cl-side-nav-link:after {
    content: &quot;&quot;;
    position: absolute;
    left: 0;
	bottom: -.06em;
    height: 2px;
    pointer-events: none;
    transform-origin: left centre;
}

.cl-side-nav-custom .cl-side-nav-link:before {
    width: calc(100% - .08em);
    background: rgba(244,240,232,.78);
    opacity: .2;
	transform: scaleX(.08);
    transition: transform .52s cubic-bezier(.16,1,.3,1), opacity .32s ease;
}

.cl-side-nav-custom .cl-side-nav-link:after {
    width: 44%;
	background: linear-gradient(90deg, rgba(244, 240, 232, 0), rgba(244, 240, 232, .96), rgba(214, 206, 194, 0));
	opacity: 0;
    transform: translateX(-34%) scaleX(0);
}

.cl-side-nav-custom .cl-side-nav-link:hover, .cl-side-nav-custom .cl-side-nav-link:focus-visible {
    opacity: 1 !important;
	colour: #f4f0e8 !important;
    transform: translateX(.18em);
	letter-spacing: .01em !important;
}

.cl-side-nav-custom .cl-side-nav-link:hover:before,.cl-side-nav-custom .cl-side-nav-link:focus-visible:before {
    opacity: .86;
	transform: scaleX(1);
}

.cl-side-nav-custom .cl-side-nav-link:hover:after,.cl-side-nav-custom .cl-side-nav-link:focus-visible:after {
    animation: clSideNavTrace .72s cubic-bezier(.16,1,.3,1) both;
}

@keyframes clSideNavTrace {
    0% {
        opacity: 0;
		transform: translateX(-34%) scaleX(0);
    }
    
    22% {
        opacity: .95;
        transform: translateX(0) scaleX(.58);
    }
	
	100% {
        opacity: 0;
        transform: translateX(132%) scaleX(.18);
    }
}

@media (prefers-reduced-motion:reduce) {
	.cl-side-nav-custom .cl-side-nav-link, .cl-side-nav-custom .cl-side-nav-link:before, .cl-side-nav-custom .cl-side-nav-link:after {
        transition: none !important;
		animation: none !important;
    }
}

@media (max-width:780px) {
    .cl-side-cover, .admin-bar .cl-side-cover {
        position: relative !important;
        height: auto !important;
		min-height: 64svh !important;
    }
    
    .cl-side-ui {
        min-height: 64svh !important;
        padding-top: 24px !important;
        padding-bottom: 36px !important;
    }
	
	.cl-side-nav-custom .cl-side-nav-link {
        font-size: clamp(29px,10vw,43px) !important;
        line-height: .94 !important;
    }
}

.cl-mobile-nav {
    display: none !important;
}

@media (max-width:780px) {
    body {
        padding-top: calc(54px + env(safe-area-inset-top)) !important;
    }
	
	.cl-mobile-nav {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
		z-index: 99999 !important;
        display: flex !important;
        align-items: centre !important;
        gap: 0 !important;
        min-height: calc(54px + env(safe-area-inset-top)) !important;
		padding: env(safe-area-inset-top) 8px 0 !important;
        box-sizing: border-box !important;
        overflow-x: auto !important;
		overflow-y: hidden !important;
        background: rgba(246,243,237,.94) !important;
        border-bottom: 1px solid rgba(31,29,26,.16) !important;
		box-shadow: 0 14px 38px rgba(31,29,26,.10) !important;
    }
	
	.cl-mobile-nav::-webkit-scrollbar {
        display: none !important;
    }
    
    .cl-mobile-nav .wp-block-navigation__container {
        display: flex !important;
		flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: centre !important;
        gap: 0 !important;
        width: 100% !important;
		overflow-x: auto !important;
        overflow-y: hidden !important;
    }
    
    .cl-mobile-nav .wp-block-navigation__container::-webkit-scrollbar {
        display: none !important;
    }
	
	.cl-mobile-nav .wp-block-navigation-item {
        flex: 0 0 auto !important;
		margin: 0 !important;
    }
    
    .cl-mobile-nav a,
    .cl-mobile-nav .wp-block-navigation-item__content {
        flex: 0 0 auto !important;
        display: inline-flex !important;
		align-items: centre !important;
        justify-content: centre !important;
        min-height: 44px !important;
        padding: 0 10px !important;
        colour: #2f2923 !important;
		font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Arial, sans-serif !important;
        font-size: 11px !important;
		line-height: 1 !important;
        font-weight: 520 !important;
        letter-spacing: .02em !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
		white-space: nowrap !important;
        border-left: 1px solid transparent !important;
        transition: colour .18s ease, background-colour .18s ease, transform .18s ease !important;
    }
	
	.cl-mobile-nav .wp-block-navigation-item:first-child a,
    .cl-mobile-nav .wp-block-navigation-item:first-child .wp-block-navigation-item__content {
        font-weight: 650 !important;
		padding-left: 12px !important;
    }
    
    .cl-mobile-nav .wp-block-navigation-item+.wp-block-navigation-item a,
    .cl-mobile-nav .wp-block-navigation-item+.wp-block-navigation-item .wp-block-navigation-item__content {
        border-left-colour: rgba(31,29,26,.12) !important;
    }
    
    .cl-mobile-nav a:hover,
	.cl-mobile-nav a:focus-visible,
    .cl-mobile-nav a:active,
    .cl-mobile-nav .wp-block-navigation-item__content:hover,
    .cl-mobile-nav .wp-block-navigation-item__content:focus-visible,
	.cl-mobile-nav .wp-block-navigation-item__content:active {
        colour: #1f1d1a !important;
        background: rgba(31,29,26,.07) !important;
		transform: translateY(1px) !important;
        outline: none !important;
    }
}

/* Casa Lloseta: responsive animated background */
@media (min-width: 781px) {
    .cl-side-cover::before {
        content: &quot;&quot;;
        position: absolute !important;
		top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
		z-index: 0 !important;
        background-image: url(&#x27;https://casalloseta.com/wp-content/uploads/2026/07/casa-lloseta-left-background-loop-1280-24fps.webp&#x27;);
		background-size: cover !important;
        background-position: centre centre !important;
        background-repeat: no-repeat !important;
        transform: scale(1.08) !important;
        transform-origin: centre centre !important;
		pointer-events: none !important;
    }
    
    .cl-side-cover .cl-side-bg-media {
        opacity: 0 !important;
    }
	
	.cl-side-cover .wp-block-cover__background {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
		z-index: 1 !important;
    }
    
    .cl-side-cover .wp-block-cover__inner-container {
        position: relative !important;
		z-index: 2 !important;
    }
}

@media (min-width: 1600px) {
	.cl-side-cover::before {
        background-image: url(&#x27;https://casalloseta.com/wp-content/uploads/2026/07/casa-lloseta-left-background-loop-hq.webp&#x27;);
    }
}

@media (max-width: 780px) {
    .cl-side-cover::before {
        content: none !important;
        display: none !important;
    }
	
	.cl-side-cover .cl-side-bg-media {
        opacity: 1 !important;
        transform: scale(1.08) !important;
        transform-origin: centre centre !important;
    }
}

/* Casa Lloseta: remove gaps from the frame */
body .wp-site-blocks {
    padding-top: 0 !important;
}

body .wp-site-blocks &gt; .wp-block-columns:first-of-type,
body .wp-site-blocks &gt; .cl-scroll-nav-shell + .wp-block-columns {
    margin-top: 0 !important;
	margin-block-start: 0 !important;
}

@media (min-width: 781px) {
    body .wp-site-blocks &gt; .cl-scroll-nav-shell {
        display: none !important;
        height: 0 !important;
		min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: transparent !important;
        border: 0 !important;
		box-shadow: none !important;
    }
    
    .cl-side-cover {
        height: 100vh !important;
        min-height: 100vh !important;
        height: 100dvh !important;
		min-height: 100dvh !important;
    }
    
    .admin-bar .cl-side-cover {
        height: calc(100vh - 32px) !important;
		min-height: calc(100vh - 32px) !important;
        height: calc(100dvh - 32px) !important;
        min-height: calc(100dvh - 32px) !important;
    }
}

/* Casa Lloseta: remove bottom-left strip */
.cl-side-cover {
    background: #1f1d1a !important;
}

.cl-side-cover::before {
    transform: scale(1.08) !important;
	transform-origin: centre centre !important;
}

.cl-side-cover .cl-side-bg-media {
    transform: scale(1.08) !important;
    transform-origin: centre centre !important;
}

@media (min-width: 781px) {
    .admin-bar .cl-side-cover {
        height: 100vh !important;
        min-height: 100vh !important;
        height: 100dvh !important;
		min-height: 100dvh !important;
    }
    
    .admin-bar .cl-side-ui {
        min-height: 100vh !important;
        min-height: 100dvh !important;
    }
}