/* ATELIER PILATES STUDIO */

@font-face {
  font-family: 'Canela-Thin';
  src: url('/custom/atelierpilatesstudio/fonts/Canela-Thin.ttf') format('truetype'),
       url('/custom/atelierpilatesstudio/fonts/Canela-Thin.woff') format('woff'),
       url('/custom/atelierpilatesstudio/fonts/Canela-Thin.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Canela-ThinItalic';
  src: url('/custom/atelierpilatesstudio/fonts/Canela-ThinItalic.ttf') format('truetype'),
       url('/custom/atelierpilatesstudio/fonts/Canela-ThinItalic.woff') format('woff'),
       url('/custom/atelierpilatesstudio/fonts/Canela-ThinItalic.woff2') format('woff2');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Canela-Light';
  src: url('/custom/atelierpilatesstudio/fonts/Canela-Light.ttf') format('truetype'),
       url('/custom/atelierpilatesstudio/fonts/Canela-Light.woff') format('woff'),
       url('/custom/atelierpilatesstudio/fonts/Canela-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Canela-LightItalic';
  src: url('/custom/atelierpilatesstudio/fonts/Canela-LightItalic.ttf') format('truetype'),
       url('/custom/atelierpilatesstudio/fonts/Canela-LightItalic.woff') format('woff'),
       url('/custom/atelierpilatesstudio/fonts/Canela-LightItalic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Canela-Medium';
  src: url('/custom/atelierpilatesstudio/fonts/Canela-Medium.ttf') format('truetype'),
       url('/custom/atelierpilatesstudio/fonts/Canela-Medium.woff') format('woff'),
       url('/custom/atelierpilatesstudio/fonts/Canela-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Canela-MediumItalic';
  src: url('/custom/atelierpilatesstudio/fonts/Canela-MediumItalic.ttf') format('truetype'),
       url('/custom/atelierpilatesstudio/fonts/Canela-MediumItalic.woff') format('woff'),
       url('/custom/atelierpilatesstudio/fonts/Canela-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Canela-Regular';
  src: url('/custom/atelierpilatesstudio/fonts/Canela-Regular.ttf') format('truetype'),
       url('/custom/atelierpilatesstudio/fonts/Canela-Regular.woff') format('woff'),
       url('/custom/atelierpilatesstudio/fonts/Canela-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Canela-RegularItalic';
  src: url('/custom/atelierpilatesstudio/fonts/Canela-RegularItalic.ttf') format('truetype'),
       url('/custom/atelierpilatesstudio/fonts/Canela-RegularItalic.woff') format('woff'),
       url('/custom/atelierpilatesstudio/fonts/Canela-RegularItalic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

:root {
  --bg: #e8e6e2;
  /*--gold: #ae9962;*/
  --gold: #2a5040;
  --light-green: #8dcfb0;
  --dark-green: #2a5040;
  --light-green: #8dcfb0;
}

::-webkit-input-placeholder { font-family: 'Lato', sans-serif !important; font-weight: 300 !important; font-style: normal; text-transform: none; color: #666; }
::-moz-placeholder { font-family: 'Lato', sans-serif !important; font-weight: 300 !important; font-style: normal; text-transform: none; color: #666; }
:-moz-placeholder { font-family: 'Lato', sans-serif !important; font-weight: 300 !important; font-style: normal; text-transform: none; color: #666; }
:-ms-input-placeholder { font-family: 'Lato', sans-serif !important; font-weight: 300 !important; font-style: normal; text-transform: none; color: #666; }

body { font-family: 'Canela-Thin' !important; font-weight: 100; font-style: normal; }

#scroll-top { display: none !important; }

#top { padding-bottom: 0; -webkit-backdrop-filter: blur(6px) !important; backdrop-filter: blur(6px) !important; }
.scrollon #top { padding-bottom: 0; }
.top-logo:link,
.top-logo:visited { margin-bottom: 10px; background: transparent url('/custom/atelierpilatesstudio/img/logo-atelier-pilates-studio-black.svg') 50% 50% no-repeat; background-size: 100% 100%; opacity: 1; }
.top-logo img { opacity: 0; }

/* menu desktop */
@media (min-width: 1200px) {
  #top > .container > .row > .col-md-12 > li > a { display: none; } /* nascondo pulsante prenota in risoluzione desktop */
  #top > .container { width: 100% !important; }
  #top-menu-container { margin-top: 0 !important; }
  .menu { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-items: center; }
  .menu > li { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-items: center; }
  .menu > li > a:link,
  .menu > li > a:visited { padding-top: 20px; padding-bottom: 30px; text-transform: uppercase; }
  .menu li a.open-sub:link,
  .menu li a.open-sub:visited { display: inline-block; padding: 20px 15px 30px 0 !important; color: #000 !important; background-color: transparent !important; }
  .menu li a.open-sub:hover { background-color: transparent !important; }
  .menu li a.open-sub { font-size: 10px !important; border: 0 !important; }
  .menu li a.open-sub i { font-size: 10px !important; color: #000 !important; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; -ms-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }
  .menu ul { background-color: rgba(255, 255, 255, 0.8); -webkit-backdrop-filter: blur(6px) !important; backdrop-filter: blur(6px) !important; }
  .menu ul li { background-color: transparent; border-bottom: 0; }
  .menu > li:hover > a,
  .menu > li:hover > a.open-sub i { color: var(--gold) !important; }

  /* btn prenota */
  /*.menu > li:last-child > a:link,
  .menu > li:last-child > a:visited { padding-left: 10px; padding-top: 10px; padding-bottom: 10px; margin-left: 10px; margin-top: 10px; margin-bottom: 18px; background-color: #000; color: #fff; border: #000 1px solid; box-sizing: border-box; }
  .menu > li:last-child > a:hover { background-color: #fff; color: #000 !important; }*/

  #top .top-elements,
  .scrollon #top .top-elements { margin: 0; padding: 0; }
  #top .top-elements > li { margin: 0; min-height: 1px; }
  #top .top-services > ul > li.lang { margin: 0 0 0 15px !important; }
  #top .top-services > ul > li > a:link,
  #top .top-services > ul > li > a:visited { display: flex; align-items: center; justify-content: flex-end; height: auto; padding: 20px 0 20px 0; font-family: 'Lato', 'arial', 'sans-serif'; font-weight: 400 !important; font-size: 14px !important; line-height: 20px !important; text-transform: uppercase; }
  #top .top-services > ul > li.lang a .current-lang { height: auto; padding: 0; margin: 0 5px 0 0; font-weight: 400 !important; line-height: 20px; }
  #top .top-services > ul > li > a:link i,
  .top-services > ul > li > a:visited i { position: relative; display: block; width: 20px; height: 20px; font-size: 10px; text-align: center; line-height: 20px; }
  #top .lang a i { margin: 0; }
  #top .top-services > ul > li > a i { order: 2; }
  #top .top-services > ul > li > a span { order: 1; }
  #top .top-services > ul > li > a i:before { content: "\f107"; }

  #top .popup { padding: 0; font-family: 'Lato', 'arial', 'sans-serif'; font-size: 14px; font-weight: normal; line-height: 20px; background-color: rgba(255, 255, 255, 0.8); -webkit-backdrop-filter: blur(6px) !important; backdrop-filter: blur(6px) !important; }
  #top .top-services > ul > li.lang a:link,
  #top .top-services > ul > li.lang a:visited { color: #000; }
  #top .top-services > ul > li.lang a:hover { color: var(--gold); }

}

/* menu mobile */
@media (max-width: 1199px) {
  #top,
  .scrollon #top { padding: 10px 0 !important; }
  #top { background: #fff !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  #top .container { padding-right: 20px; padding-left: 20px; }
  #top .top-elements > li { margin: 0; }
  #top .top-services > ul > li.lang { margin: 0; }
  #top .top-services > ul > li.lang a:link,
  #top .top-services > ul > li.lang a:visited,
  #top .top-services > ul > li.lang a:hover { margin: 0; font-family: 'Lato', 'arial', 'sans-serif'; }
  #top .top-services > ul > li > a i { display: none !important; }
  #top .container .row .col-md-12 { display: flex; flex-direction: row-reverse; align-items: center; }
  #top .container .row .col-md-12 > li { height: 30px; margin: 0 0 0 auto; padding: 0 10px; font-size: 12px; line-height: 28px; color: #000 !important; border: #000 1px solid; border-radius: 15px; }
  #top .container .row .col-md-12 > li a:link,
  #top .container .row .col-md-12 > li a:visited { color: #000 !important; }
  #top .container .row .col-md-12 > ul.top-elements { order: 1; margin: 0 auto 0 0; }
  #top .container .row .col-md-12 .top-logo { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0 !important; }
  #top .container .row .col-md-12 > ul.top-elements { margin: 0; }
  #top .container .row .col-md-12 > ul.top-elements li.top-services { display: none !important; } /* nascondo le lingue */
  #top .container .row .col-md-12 > ul.top-elements li { min-height: 28px; height: 28px; margin: 1px 0; }
  .top-icon-menu { margin: 1px 0 !important; width: 28px !important; }
  .top-icon-menu a { position: relative; display: block; width: 28px !important; height: 28px; }
  .top-icon-menu a:after { content: ''; position: absolute; right: 0; top: calc(50% - 6px); display: block; width: 100%; height: 2px; background: #000; }
  .top-icon-menu a:before { content: ''; position: absolute; right: 0; bottom: calc(50% - 6px); display: block; width: 100%; height: 2px; background: #000; }
  .top-icon-menu a i { font-size: 0; display: block; width: 100%; height: 2px; margin: 13px 0; background: #000; }
  .top-icon-menu a i:before { display: none; }
  #menu-container { height: 100vh !important; background-color: #fff !important; }
  #menu-container .menu { height: 100vh; }
  #menu-container:before { content: ''; position: absolute; left: -40px; top: 0; display: block; width: 40px; height: 100vh; background-color: #fff; }
  #menu-container:before { content: ''; position: absolute; left: -40px; top: 0; display: block; width: 40px; height: 100vh; background-color: #fff; }
  a.close-menu:link,
  a.close-menu:visited { width: 60px; height: 50px; background: #fff url(/custom/atelierpilatesstudio/img/close-reserved-modal.svg) 50% 50% no-repeat; background-size: 16px 16px; }
  a.close-menu i { opacity: 0; }
  #menu-container .menu { height: 100vh; background: #fff !important; }
  .menu > li > a:link,
  .menu li > a:visited { font-family: 'Lato', sans-serif !important; border: 0; padding: 10px 60px 10px 20px; font-size: 14px; font-weight: 400; line-height: 16px; color: #000; background-color: transparent; }
  .menu > li > a.open-sub:link,
  .menu > li > a.open-sub:visited { display: flex; align-items: center; justify-content: center; width: 60px; height: 36px; padding: 0 !important; margin: 0 !important; background: #fff !important; }
  .menu .mob-lang { display: flex; flex-direction: row; margin: 30px 0 0 0; border-top: #000 1px solid; }
  .menu .mob-lang a.mob-current-lang { font-weight: bold; color: #000; }
  .menu .mob-lang a:link, .menu .mob-lang a:visited { width: 22%; padding: 20px; }
  .menu > li > a:hover,
  .menu > a.active,
  .menu > li:hover > a { color: var(--gold); background-color: rgb(255, 255, 255); }
  .menu ul { background: #fff !important; }
  .menu ul a:link,
  .menu ul a:visited { padding: 10px 20px 10px 30px; font-family: 'Lato', sans-serif !important; font-weight: 400; font-size: 14px; line-height: 16px; color: #000; background: #fff !important; }
  .menu li:hover > ul { background: #fff; }
  #menu-container > .menu > li > a { text-transform: uppercase; }
}

p { font-family: 'Canela-Thin' !important; font-weight: 100; font-style: normal; }
p strong { font-family: 'Canela-Light' !important; font-weight: 300; font-style: normal; }

h1,
h2,
h3,
h4,
h5,
h6,
.titolo1,
.titolo2,
.titolo3,
.titolo4,
.titolo5,
.titolo6 { font-family: 'Canela-Light' !important; font-weight: 300; font-style: normal; }

.col-xs-1,
.col-sm-1,
.col-md-1,
.col-lg-1,
.col-xs-2,
.col-sm-2,
.col-md-2,
.col-lg-2,
.col-xs-3,
.col-sm-3,
.col-md-3,
.col-lg-3,
.col-xs-4,
.col-sm-4,
.col-md-4,
.col-lg-4,
.col-xs-5,
.col-sm-5,
.col-md-5,
.col-lg-5,
.col-xs-6,
.col-sm-6,
.col-md-6,
.col-lg-6,
.col-xs-7,
.col-sm-7,
.col-md-7,
.col-lg-7,
.col-xs-8,
.col-sm-8,
.col-md-8,
.col-lg-8,
.col-xs-9,
.col-sm-9,
.col-md-9,
.col-lg-9,
.col-xs-10,
.col-sm-10,
.col-md-10,
.col-lg-10,
.col-xs-11,
.col-sm-11,
.col-md-11,
.col-lg-11,
.col-xs-12,
.col-sm-12,
.col-md-12,
.col-lg-12 { min-height: 0 !important; }

.empty-header { display: none !important; }

.container-full { max-width: 100%; }

.blk-img img,
.blk-img img:after { -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; -ms-transition: none !important; transition: none !important; }

.breadcrumbs { height: 80px; font-size: 0; font-weight: 600; line-height: 0; background-color: transparent; color: transparent; border: 0; }

/* HP HERO */
.hero-container { width: 100%; height: 100dvh; display: flex; align-items: center; justify-content: center; position: relative; background: #E8E6E2; z-index: 0; }

.hero { position: fixed !important; top: 0; left: 0; width: 100%; z-index: 0 !important; width: 100%; height: 100dvh; display: flex; align-items: center; justify-content: center; position: relative; background: #E8E6E2; }

/* mouse */
.mouse { position: absolute; left: 50%; bottom: 32px; width: 25px; height: 40px; border: #fff 1px solid; border-radius: 15px; opacity: .8; -webkit-transform: translateX(-50%); transform: translateX(-50%); z-index: 2; }
.mouse:after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; background-color: #fff; width: 5px; height: 5px; border-radius: 50%; -webkit-animation: trackBallSlide 1.5s linear infinite; animation: trackBallSlide 1.5s linear infinite; }
@keyframes trackBallSlide {
  0% { opacity: 1; transform: scale(1) translateY(-10px); }
  70% { opacity: 0; transform: scale(.4) translateY(25px); }
  100% { opacity: 0; transform: scale(1) translateY(-10px); }
}

/* Volume button */
.btn-volume { position: absolute; bottom: 32px; right: 32px; z-index: 10; display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; background: rgba(255,255,255,0.12); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border-radius: 25px; color: #fff; font-family: 'Lato', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background 0.3s ease, border-color 0.3s ease; user-select: none; }
.btn-volume:hover { background: rgba(255,255,255,0.22); color: #fff; }
.btn-volume .fa { font-size: 14px; }

.hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -1; }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -1; }
.hero-placeholder { width: 100%; height: 100dvh; display: block; }

/* slow exit */
/*.slow-exit { position: relative; z-index: 2; }
.slow-exit-placeholder { width: 100%; height: 100dvh; display: none; pointer-events: none; }
.slow-exit .filter { position: absolute; inset: 0; background: #000; opacity: 0; pointer-events: none; user-select: none; z-index: 10; }

.container-full:not(.hero):not(.slow-exit) { z-index: 2; }*/

/* HP SECTION PARALLAX TEXT */
/*.parallax-section { width: 100%; height: 100dvh; display: flex; align-items: center; justify-content: center; position: relative; background: #E8E6E2; z-index: 2; overflow: hidden; }
.section-caption { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; max-width: 1470px; box-sizing: border-box; text-align: center; z-index: 2; pointer-events: none; }
.section-caption h1 { display: block; margin: 0 0 30px 0; padding: 0; font-family: 'Lato', sans-serif !important; font-weight: 600; font-size: 16px; line-height: 20px; text-align: center; text-transform: uppercase; }
.section-caption p { display: block; margin: 0; font-family: 'Canela-Thin', serif; font-size: 51px; line-height: 61px; color: #000; }
.section-caption p.small { margin: 0 auto; max-width: 50%; font-size: 25px; line-height: 31px; }
.section-caption p span { color: var(--gold); }
.section-caption .cap-title { font-family: 'Canela-Regular', serif; font-size: clamp(1.6rem, 3vw, 2.8rem); font-weight: 400; color: #000; margin-bottom: 14px; letter-spacing: 0.04em; }
.section-caption .cap-text { font-family: 'Lato', sans-serif; font-size: clamp(0.85rem, 1.2vw, 1rem); font-weight: 300; color: rgba(0,0,0,0.65); line-height: 1.7; letter-spacing: 0.05em; max-width: 420px; white-space: normal; }

@media (max-width: 991px){
  .parallax-section { display: block; height: auto; padding: 100px 0; }
  .section-caption { position: relative; top: auto; left: auto; -webkit-transform: none; transform: none; padding: 0 20px; box-sizing: border-box; }
  .section-caption p { font-size: 35px; line-height: 45px; }
  .section-caption p.small { margin: 0; max-width: 100%; padding: 0 20px; }
}*/

/* Parallax word */
/*.parallax-word { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-family: 'Canela-Regular', serif; font-size: clamp(35rem, 48vw, 46rem); font-weight: 400; color: #efefef; white-space: nowrap; pointer-events: none; user-select: none; z-index: 1; will-change: transform; }*/

/* ─── parallax-element-image-right ─────────────────── */
.parallax-element-image-right { position: relative; overflow: hidden; width: 100%; height: 100dvh; display: flex; align-items: center; justify-content: center; position: relative; background: #E8E6E2; z-index: 2; }
.parallax-element-image-right .container-full,
.parallax-element-image-right .container-full .row,
.parallax-element-image-right .container-full .row .col-md-6 { width: 100%; height: 100dvh; display: flex; align-items: center; justify-content: center; position: relative; background: #E8E6E2; }

.parallax-element-image-right .blk-img { position: absolute; right: 0; top: 0; width: 66.666vw; height: 90vh; overflow: hidden; }
.parallax-element-image-right .blk-img picture,
.parallax-element-image-right .blk-img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform-origin: center center; will-change: transform; }
.parallax-element-image-right .didascalia { display: none; }
.parallax-element-image-right .blk-txt { position: absolute; top: 60%; left: 10%; width: 33.333vw; transform: translateY(-50%); background: #E8E6E2; padding: 50px; z-index: 2; will-change: transform; }
.parallax-element-image-right .blk-txt h3 { font-size: clamp(40px, 1.25vw + 35.9375px, 70px); line-height: 100%; text-wrap: balance; text-wrap: pretty; }

.parallax-element-image-right .blk-txt a:link,
.parallax-element-image-right .blk-txt a:visited { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; width: max-content; padding-bottom: 5px; font-family: 'Lato' !important; font-weight: 300; font-size: 15px; line-height: 15px; letter-spacing: 2px; text-decoration: none; text-decoration: unset; overflow: hidden; transition: all .6s cubic-bezier(.625, .05, 0, 1); cursor: pointer; }
.parallax-element-image-right .blk-txt a:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: left; transform: scaleX(1) rotate(.001deg); transition-delay: .3s; }
.parallax-element-image-right .blk-txt a:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: right; transform: scaleX(0) rotate(.001deg); transition-delay: 0s; }
.parallax-element-image-right .blk-txt a:hover:before { transform-origin: right; transform: scaleX(0); transition-delay: 0s; }
.parallax-element-image-right .blk-txt a:hover:after { transform-origin: left; transform: scaleX(1); transition-delay: .3s; }

@media (max-width: 991px){
  .parallax-element-image-right .container-full,
  .parallax-element-image-right .container-full .row,
  .parallax-element-image-right .container-full .row .col-md-6 { display: block; height: auto; }
  .parallax-element-image-right { display: block; height: auto; overflow: visible; }
  .parallax-element-image-right .container-full .row { display: flex; flex-direction: column; }
  .parallax-element-image-right .container-full .row .col-md-6 { display: block; height: auto; display: block; }
  .parallax-element-image-right .container-full .row > .col-md-6:first-child { order: 2; padding-bottom: 90px; }
  .parallax-element-image-right .container-full .row > .col-md-6:last-child { order: 1; }
  .parallax-element-image-right .blk-txt { position: relative; top: auto; left: auto; width: calc(100% - 40px); padding: 20px; margin: -90px 20px 0 20px; background-color: var(--bg); -webkit-transform: none; transform: none; }

  .parallax-element-image-right .blk-img { position: relative; right: auto; top: auto; width: 100%; height: auto; overflow: visible; }
}

/* ─── parallax-element-image-left ─────────────────── */
.parallax-element-image-left .row,
.parallax-element-image-left .row .col-md-6,
.parallax-element-image-left > .container-full { position: relative; display: flex; align-items: center; justify-content: center; width: 100% !important; max-width: none !important; padding: 0; margin: 0 !important; float: none !important; height: 100dvh; background: #E8E6E2; z-index: 2 !important; }
.parallax-element-image-left { position: relative; overflow: hidden; }
.parallax-element-image-left .blk-img { position: absolute; left: 0; top: 0; width: 60vw; height: 100vh; overflow: hidden; }
.parallax-element-image-left .blk-img picture,
.parallax-element-image-left .blk-img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform-origin: center center; will-change: transform; }
.parallax-element-image-left .didascalia { display: none; }
.parallax-element-image-left .blk-txt { position: absolute !important; top: 40% !important; right: 0 !important; left: auto !important; width: calc(40vw - 17px) !important; max-width: 40vw !important; padding: 4% !important; box-sizing: border-box !important; z-index: 2 !important; will-change: transform; background: #E8E6E2; }
.parallax-element-image-left .blk-txt h3 { font-size: clamp(40px, 1.25vw + 35.9375px, 70px); line-height: 100%; text-wrap: balance; text-wrap: pretty; }
.parallax-element-image-left .blk-txt h6 { font-family: 'Lato' !important; }
.parallax-element-image-left .blk-txt a:link,
.parallax-element-image-left .blk-txt a:visited { position: relative; padding-bottom: 5px; width: max-content; text-decoration: unset; overflow: hidden; transition: all .6s cubic-bezier(.625, .05, 0, 1); cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; font-family: 'Lato' !important; font-weight: 300; font-size: 15px; line-height: 15px; letter-spacing: 2px; text-decoration: none; color: #000; }
.parallax-element-image-left .blk-txt a:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: left; transform: scaleX(1) rotate(.001deg); transition-delay: .3s; }
.parallax-element-image-left .blk-txt a:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: right; transform: scaleX(0) rotate(.001deg); transition-delay: 0s; }
.parallax-element-image-left .blk-txt a:hover:before { transform-origin: right; transform: scaleX(0); transition-delay: 0s; }
.parallax-element-image-left .blk-txt a:hover:after { transform-origin: left; transform: scaleX(1); transition-delay: .3s; }

@media (max-width: 991px){
  .parallax-element-image-left .row,
  .parallax-element-image-left .row .col-md-6,
  .parallax-element-image-left > .container-full { display: block; height: auto; }
  .parallax-element-image-left { display: block; height: auto; overflow: visible; }
  .parallax-element-image-left .container-full .row { display: flex; flex-direction: column; }
  .parallax-element-image-left .container-full .row .col-md-6 { display: block; height: auto; }
  .parallax-element-image-left .container-full .row > .col-md-6:last-child { padding-bottom: 90px; }
  .parallax-element-image-left .blk-txt { position: relative !important; top: auto !important; right: auto !important; width: calc(100% - 40px) !important; max-width: calc(100% - 40px) !important; padding: 20px !important; margin: -90px 20px 0 20px; background-color: var(--bg); -webkit-transform: none; transform: none; }
  .parallax-element-image-left .blk-img { position: relative; right: auto !important; top: auto !important; width: 100%; overflow: visible; }
}

/* ─── img-reveal ─────────────────────────────────── */
/*.img-reveal { width: 100%; height: 100dvh; overflow: hidden; background: #F1F0EF; }
.img-reveal .js-mask-wrapper { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 25vw; height: 25vh; overflow: hidden; will-change: width, height; }
.img-reveal .blk-img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100vw; height: 100vh; overflow: hidden; }
.img-reveal .blk-img picture,
.img-reveal .blk-img img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80vw; height: 80vh; object-fit: cover; display: block; }

.img-reveal .blk-txt { position: absolute; bottom: 60px; left: 60px; right: 60px; z-index: 2; will-change: clip-path; }

.img-reveal .blk-txt h3 { font-family: 'Canela-Light' !important; font-weight: 300; font-style: normal; font-size: clamp(40px, 1.25vw + 35.9375px, 70px); line-height: 100%; text-wrap: balance; text-wrap: pretty; color: #fff; }
.img-reveal .blk-txt p  { color: #fff; }
.img-reveal .blk-txt p a:link,
.img-reveal .blk-txt p a:visited { position: relative; padding-bottom: 5px; width: max-content; text-decoration: unset; overflow: hidden; transition: all .6s cubic-bezier(.625, .05, 0, 1); cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; font-family: 'Lato' !important; font-weight: 300; font-size: 15px; line-height: 15px; letter-spacing: 2px; text-decoration: none; color: #fff; }
.img-reveal .blk-txt p a:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #fff; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: left; transform: scaleX(1) rotate(.001deg); transition-delay: .3s; }
.img-reveal .blk-txt p a:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #fff; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: right; transform: scaleX(0) rotate(.001deg); transition-delay: 0s; }
.img-reveal .blk-txt p a:hover:before { transform-origin: right; transform: scaleX(0); transition-delay: 0s; }
.img-reveal .blk-txt p a:hover:after { transform-origin: left; transform: scaleX(1); transition-delay: .3s; }

.img-reveal.text-center p a { margin: 0 auto; }
.img-reveal.text-center .blk-txt h3,
.img-reveal.text-center .blk-txt p { text-align: center; }

.img-reveal .container-full,
.img-reveal .row,
.img-reveal .col-md-12 { position: static !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; }

.img-reveal .didascalia { display: none; }*/

/* ─── show-text-animation ───────────────────────── */
/*.show-text-animation { background: #1D2120; }
.show-text-animation,
.show-text-animation .row,
.show-text-animation .row .col-md-12,
.show-text-animation > .container-full { width: 100%; height: 100dvh; display: flex; align-items: center; justify-content: center; position: relative; }
.show-text-animation .blk-txt { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.show-text-animation.center-text .blk-txt { width: 60%; text-align: center; }
.show-text-animation .blk-txt h3 { font-family: 'Canela-Light' !important; font-weight: 300; font-style: normal; font-size: clamp(40px, 1.25vw + 35.9375px, 70px); line-height: 100%; text-wrap: balance; text-wrap: pretty; color: #fff; }
.show-text-animation .blk-txt p { font-size: 30px; line-height: 40px; color: #fff; }
.line-mask { overflow: hidden; display: block; }
.line-inner { display: block; opacity: 0; transform: translateY(100%); transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
.line-inner.visible { opacity: 1; transform: translateY(0); }

.show-text-animation.light-content { background: var(--bg) !important; }
.show-text-animation.light-content .blk-txt h3 { color: #000 !important; }
.show-text-animation.light-content .blk-txt p { color: #363636 !important; }*/

/* ─── parallax image ───────────────────────── */
/*.parallax-image { background-color: var(--bg); }

.parallax-image > .container-full > .row { width: 100%; margin: 0; display: flex; align-items: stretch; }
.parallax-image > .container-full > .row > .col-md-4 { padding: 50dvh 80px 50dvh 40px; margin: 0; }
.parallax-image > .container-full > .row > .col-md-4 .didascalia,
.parallax-image > .container-full > .row > .col-md-8 .didascalia { display: none; }
.parallax-image > .container-full > .row > .col-md-8 { position: relative; overflow: hidden; margin: 0; padding: 0; }
.parallax-image > .container-full > .row > .col-md-8 > .blk-img { position: absolute; left: 0; width: 100%; top: 0; will-change: top; margin: 0; padding: 0; }
.parallax-image > .container-full > .row > .col-md-8 > .blk-img img { display: block; width: 100%; height: 100%; object-fit: cover; }*/

@media (max-width: 991px){
  .img-reveal .blk-txt { background-color: var(--bg); }
  .img-reveal .blk-txt h3 { color: #000 !important; }
  .img-reveal .blk-txt p { color: #333 !important; }
  .img-reveal .blk-txt a:link,
  .img-reveal .blk-txt a:visited { color: #000 !important; }
  .img-reveal .blk-txt a:before { background-color: #131313 !important; }
}

/* SLICK GALLERY */
.fancybox-thumbs>ul>li:before { border: 4px solid var(--gold); }

/* CTA */
.blk-cta {}
.blk-cta .container-cta { position: relative; max-width: 100%; margin: 0; top: auto; left: auto; -webkit-transform: none; transform: none; }
.blk-cta.center-cta .blk-txt { display: none; }
.blk-cta .blk-btn { float: none !important; display: flex !important; width: 100% !important; padding: 0 !important; }
.blk-cta.center-cta .blk-btn { display: flex; padding: 0; }
.blk-cta.center-cta .blk-btn { justify-content: center; }
.blk-cta.left-cta .blk-btn { justify-content: flex-start; }
.blk-cta.right-cta .blk-btn { justify-content: flex-end; }
.blk-cta .blk-btn .btn-cta:link,
.blk-cta .blk-btn .btn-cta:visited { position: relative !important; left: auto !important; top: auto !important; -webkit-transform: none !important; transform: none !important; padding: 0 0 5px 0 !important; width: max-content; text-decoration: unset; overflow: hidden; transition: all .6s cubic-bezier(.625, .05, 0, 1); cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; font-family: 'Lato' !important; font-weight: 300; font-size: 15px; line-height: 15px; letter-spacing: 2px; text-decoration: none; color: #000; background-color: transparent !important; }
.blk-cta .blk-btn .btn-cta:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: left; transform: scaleX(1) rotate(.001deg); transition-delay: .3s; }
.blk-cta .blk-btn .btn-cta:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: right; transform: scaleX(0) rotate(.001deg); transition-delay: 0s; }
.blk-cta .blk-btn .btn-cta:hover:before { transform-origin: right; transform: scaleX(0); transition-delay: 0s; }
.blk-cta .blk-btn .btn-cta:hover:after { transform-origin: left; transform: scaleX(1); transition-delay: .3s; }

/* ELENCO CAMERE ───────────────────────── */
.elenco-camera { padding: 80px 0; background-color: var(--bg); }
.elenco-camera > .container-full { width: 100%; }

/* === LAYOUT COLONNE === */
.elenco-camera .row { display: flex; align-items: stretch; }

.elenco-camera .row .col-md-4,
.elenco-camera .row .col-md-8 { padding: 0; }

.elenco-camera .row .col-md-4 .blk-txt ul li { font-family: 'Canela-Regular'; font-weight: 400; font-size: 15px; line-height: 25px; }

.elenco-camera .row .col-md-4 .blk-txt { padding-left: max(0px, calc((100vw - 1470px) / 2)); padding-right: 30px; }

@media (max-width: 1499px){
  .elenco-camera .row .col-md-4 .blk-txt { padding-left: max(0px, calc((100vw - 1270px) / 2)); }
}

@media (max-width: 1299px){
  .elenco-camera .row .col-md-4 .blk-txt { padding-left: max(0px, calc((100vw - 1170px) / 2)); }
}

@media (max-width: 1199px){
  .elenco-camera .row .col-md-4 .blk-txt { padding-left: max(0px, calc((100vw - 940px) / 2)); }
}

@media (max-width: 991px){
  .elenco-camera { padding: 0; }
  .elenco-camera .row { flex-direction: column; }
  .elenco-camera .row .col-md-4 .blk-txt { width: calc(100% - 50px); margin: -50px 50px 0 0; padding: 20px; background-color: var(--bg); }
  .elenco-camera .row .col-md-8 { order: 1; z-index: 2; }
  .elenco-camera .row .col-md-4 { order: 2; z-index: 4; }
}

/* === COLONNA DESTRA === */
.elenco-camera .row .col-md-8 { height: calc(100vh - 160px); align-self: flex-start; }

/* === MOBILE: niente altezze forzate === */
@media (max-width: 991px){
  .elenco-camera .row .col-md-8 { height: auto; }
}

/* === IMMAGINI === */
.elenco-camera .carosello-immagini .img-container img { display: block; width: 100%; height: auto; }

/* === NASCONDO IL DIV .clear === */
.elenco-camera .carosello-immagini .clear { display: none; }

/* === FRECCE SLIDER === */
.elenco-camera .carosello-immagini .slick-prev,
.elenco-camera .carosello-immagini .slick-next { top: 20px; transform: none !important; background-color: #0006; border-radius: 2px; cursor: pointer; }
.elenco-camera .carosello-immagini .slick-prev { left: auto !important; right: 76px; }
.elenco-camera .carosello-immagini.slick-slider .slick-prev:before,
.elenco-camera .carosello-immagini.slick-slider .slick-next:before { position: absolute; left: 0; top: 0; width: 48px; height: 48px; font-family: 'FontAwesome'; font-size: 13px; line-height: 48px; text-align: center; color: #fff; }
.elenco-camera .carosello-immagini.slick-slider .slick-prev:before { content: "\f060"; }
.elenco-camera .carosello-immagini.slick-slider .slick-next:before { content: "\f061"; }

@media (max-width: 991px){
  .elenco-camera .carosello-immagini .slick-prev,
  .elenco-camera .carosello-immagini .slick-next { right: 108px; top: auto; bottom: 60px; }
  .elenco-camera .carosello-immagini .slick-next { right: 50px !important; }
}

/* ELENCO CAMERE REVERSE ───────────────────────── */
.elenco-camera-reverse { padding: 80px 0; background-color: var(--bg); }
.elenco-camera-reverse > .container-full { width: 100%; }

/* === LAYOUT COLONNE === */
.elenco-camera-reverse .row { display: flex; align-items: stretch; }
.elenco-camera-reverse .row .col-md-4,
.elenco-camera-reverse .row .col-md-8 { padding: 0; }
.elenco-camera-reverse .row .col-md-4 .blk-txt ul li { font-family: 'Canela-Regular'; font-weight: 400; font-size: 15px; line-height: 25px; }
.elenco-camera-reverse .row .col-md-4 .blk-txt { padding-right: max(0px, calc((100vw - 1470px) / 2)); padding-left: 30px; }

@media (max-width: 1499px){
  .elenco-camera-reverse .row .col-md-4 .blk-txt { padding-right: max(0px, calc((100vw - 1270px) / 2)); }
}
@media (max-width: 1299px){
  .elenco-camera-reverse .row .col-md-4 .blk-txt { padding-right: max(0px, calc((100vw - 1170px) / 2)); }
}
@media (max-width: 1199px){
  .elenco-camera-reverse .row .col-md-4 .blk-txt { padding-right: max(0px, calc((100vw - 940px) / 2)); }
}
@media (max-width: 991px){
  .elenco-camera-reverse .row .col-md-4 .blk-txt { padding-right: max(0px, calc((100vw - 720px) / 2)); }
}

/* === COLONNA SINISTRA (slideshow a desktop): altezza viewport meno i padding === */
.elenco-camera-reverse .row .col-md-8 { /*position: sticky; top: 80px;*/ height: calc(100vh - 160px); align-self: flex-end; }

/* === PROPAGAZIONE ALTEZZA NEL CAROSELLO === */
.elenco-camera-reverse .carosello-immagini,
.elenco-camera-reverse .carosello-immagini .slick-list,
.elenco-camera-reverse .carosello-immagini .slick-track,
.elenco-camera-reverse .carosello-immagini .slick-slide,
.elenco-camera-reverse .carosello-immagini .item,
.elenco-camera-reverse .carosello-immagini .img-container,
.elenco-camera-reverse .carosello-immagini .img-container a,
.elenco-camera-reverse .carosello-immagini .img-container picture { height: 100% !important; }


/* === IMMAGINI IN COVER === */
.elenco-camera-reverse .carosello-immagini .img-container img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; }

/* === NASCONDO IL DIV .clear === */
.elenco-camera-reverse .carosello-immagini .clear { display: none; }

.elenco-camera-reverse .carosello-immagini .slick-prev,
.elenco-camera-reverse .carosello-immagini .slick-next { bottom: 20px; transform: none !important; background-color: #0006; border-radius: 2px; cursor: pointer; }
.elenco-camera-reverse .carosello-immagini .slick-prev { top: 20px; left: auto !important; right: 76px; }
.elenco-camera-reverse .carosello-immagini .slick-next { top: 20px; }
.elenco-camera-reverse .carosello-immagini.slick-slider .slick-prev:before,
.elenco-camera-reverse .carosello-immagini.slick-slider .slick-next:before { position: absolute; left: 0; top: 0; width: 48px; height: 48px; font-family: 'FontAwesome'; font-size: 13px; line-height: 48px; text-align: center; color: #fff; background: none; }
.elenco-camera-reverse .carosello-immagini.slick-slider .slick-prev:before { content: "\f060"; }
.elenco-camera-reverse .carosello-immagini.slick-slider .slick-next:before { content: "\f061"; }

@media (max-width: 991px) {
  .elenco-camera-reverse .carosello-immagini .slick-prev,
  .elenco-camera-reverse .carosello-immagini .slick-next { right: 108px; top: auto; bottom: 60px; }
  .elenco-camera-reverse .carosello-immagini .slick-next { right: 50px !important; bottom: 60px; }
}

.elenco-camera .blk-txt hr,
.elenco-camera-reverse .blk-txt hr { margin: 0 0 30px 0 !important; border-top: 1px solid #000 !important; }
.elenco-camera .blk-txt ul,
.elenco-camera-reverse .blk-txt ul,
.elenco-camera .blk-txt ol,
.elenco-camera-reverse .blk-txt ol { list-style: none; margin: 0 0 30px 0; }
.elenco-camera .blk-txt ul li,
.elenco-camera-reverse .blk-txt ul li,
.elenco-camera .blk-txt ol li,
.elenco-camera-reverse .blk-txt ol li { position: relative; list-style: inherit; padding: 0 0 0 30px; }
.elenco-camera .blk-txt ul li:before,
.elenco-camera-reverse .blk-txt ul li:before,
.elenco-camera .blk-txt ol li:before,
.elenco-camera-reverse .blk-txt ol li:before { content: ''; position: absolute; left: 0; top: 11px; width: 20px; height: 1px; background: #000; } 

/* === ORDINE A DESKTOP: slideshow a sinistra, testo a destra === */
@media (max-width: 991px) {
  .elenco-camera .row .col-md-8,
  .elenco-camera-reverse .row .col-md-8 { height: auto; min-height: 220px; max-height: 420px; }
  .elenco-camera,
  .elenco-camera-reverse { padding: 0; overflow-x: hidden; }
  .elenco-camera .row .col-md-8,
  .elenco-camera-reverse .row .col-md-8 { width: 100%; }
  .elenco-camera .row .col-md-4 .blk-txt,
  .elenco-camera-reverse .row .col-md-4 .blk-txt { padding: 30px 20px 100px 20px; }

  .elenco-camera-reverse .row { flex-direction: column; }
  .elenco-camera-reverse .row .col-md-4 .blk-txt { width: calc(100% - 50px); margin: -50px 50px 0 0; padding: 30px 20px 100px 20px; background-color: var(--bg); }
  .elenco-camera-reverse .row .col-md-8 { order: 1; }
  .elenco-camera-reverse .row .col-md-4 { order: 2; }
}

.blk-txt p a:link,
.blk-txt p a:visited { position: relative !important; padding-bottom: 5px; width: max-content; text-decoration: unset; overflow: hidden; transition: all .6s cubic-bezier(.625, .05, 0, 1); cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; font-family: 'Lato' !important; font-weight: 300; font-size: 15px; line-height: 15px; letter-spacing: 2px; text-decoration: none; color: #000; }
.blk-txt p a:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: left; transform: scaleX(1) rotate(.001deg); transition-delay: .3s; }
.blk-txt p a:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: right; transform: scaleX(0) rotate(.001deg); transition-delay: 0s; }
.blk-txt p a:hover:before { transform-origin: right; transform: scaleX(0); transition-delay: 0s; }
.blk-txt p a:hover:after { transform-origin: left; transform: scaleX(1); transition-delay: .3s; }

/* DETTAGLIO CAMERA ───────────────────────── */
/*.hero-camera { position: relative; width: 100%; height: 100dvh; }
.hero-camera > .container-full,
.hero-camera > .container-full > .row,
.hero-camera > .container-full > .row > [class*="col-"] { height: 100%; margin: 0; padding: 0; }

.hero-camera .blk-img { position: absolute; inset: 0; z-index: 0; margin: 0; }
.hero-camera .blk-img picture,
.hero-camera .blk-img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-camera .didascalia { display: none; }*/

.title-camera { padding: 100px 0 0 0; background-color: #dfddd9; }
.title-camera .blk-txt { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #fff; padding: 0 1rem; text-align: center; }
.title-camera .blk-txt h6 { margin-bottom: 30px; font-family: 'Lato', sans-serif !important; font-size: clamp(16px, .0625vw + 15.765625px, 21px); font-weight: 400; text-transform: uppercase; color: #3b3f3e; }
.title-camera .blk-txt h1 { font-size: clamp(36px, 5.833vw + 25px, 100px); line-height: clamp(36px, 5.833vw + 25px, 100px); color: #3b3f3e; }
.title-camera .blk-txt p { color: #333; }
.title-camera .blk-txt ul { list-style: none; padding: 0; margin: 1rem 0 0; display: flex; gap: 30px; }
.title-camera .blk-txt ul li a:link,
.title-camera .blk-txt ul li a:visited { position: relative; padding-bottom: 5px; width: max-content; text-decoration: unset; overflow: hidden; transition: all .6s cubic-bezier(.625, .05, 0, 1); cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; font-family: 'Lato' !important; font-weight: 300; font-size: 15px; line-height: 15px; letter-spacing: 2px; text-decoration: none; color: #000; }
.title-camera .blk-txt ul li a { margin: 0 auto; }
.title-camera .blk-txt ul li a:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #000; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: left; transform: scaleX(1) rotate(.001deg); transition-delay: .3s; }
.title-camera .blk-txt ul li a:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #000; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: right; transform: scaleX(0) rotate(.001deg); transition-delay: 0s; }
.title-camera .blk-txt ul li a:hover:before { transform-origin: right; transform: scaleX(0); transition-delay: 0s; }
.title-camera .blk-txt ul li a:hover:after { transform-origin: left; transform: scaleX(1); transition-delay: .3s; }

.camera-servizi { padding: 100px 0 0 0; background-color: #dfddd9; }
.camera-servizi ul { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 20px; margin: 0; list-style: none; }
.camera-servizi ul li { position: relative; display: flex; justify-content: center; align-items: center; width: calc(25% - 20px); padding: 70px 20px 20px 20px; box-sizing: border-box; font-family: 'Lato', sans-serif !important; font-size: 12px; line-height: 18px; text-transform: uppercase; text-align: center; font-weight: 400; /*border: rgba(0,0,0,.1) 1px solid;*/ }

.camera-servizi ul li.tv { background: transparent url('/custom/atelierpilatesstudio/img/icons/icona-tv-lcd.svg') 50% 0 no-repeat; background-size: 70px 70px; }
.camera-servizi ul li.bagno { background: transparent url('/custom/atelierpilatesstudio/img/icons/icona-bagno.svg') 50% 0 no-repeat; background-size: 70px 70px; }
.camera-servizi ul li.wifi { background: transparent url('/custom/atelierpilatesstudio/img/icons/icona-wifi.svg') 50% 0 no-repeat; background-size: 70px 70px; }
.camera-servizi ul li.cassaforte { background: transparent url('/custom/atelierpilatesstudio/img/icons/icona-cassaforte.svg') 50% 0 no-repeat; background-size: 70px 70px; }
.camera-servizi ul li.minibar { background: transparent url('/custom/atelierpilatesstudio/img/icons/icona-minibar.svg') 50% 0 no-repeat; background-size: 70px 70px; }
.camera-servizi ul li.asciugacapelli { background: transparent url('/custom/atelierpilatesstudio/img/icons/icona-asciugacapelli.svg') 50% 0 no-repeat; background-size: 70px 70px; }
.camera-servizi ul li.condizionatore { background: transparent url('/custom/atelierpilatesstudio/img/icons/icona-condizionatore.svg') 50% 0 no-repeat; background-size: 70px 70px; }
.camera-servizi ul li.tisane { background: transparent url('/custom/atelierpilatesstudio/img/icons/icona-tisane.svg') 50% 0 no-repeat; background-size: 70px 70px; }
.camera-servizi ul li.cortesia { background: transparent url('/custom/atelierpilatesstudio/img/icons/icona-kit-sapone.svg') 50% 0 no-repeat; background-size: 70px 70px; }
.camera-servizi ul li.kit-pantofole { background: transparent url('/custom/atelierpilatesstudio/img/icons/icona-kit-pantofole.svg') 50% 0 no-repeat; background-size: 70px 70px; }

.camera-servizi hr { margin: 30px 0 !important; border-top: 1px solid #000 !important; }

.camera-servizi a.dettagli-camera:link,
.camera-servizi a.dettagli-camera:visited { margin: 0 auto; }

@media (max-width: 991px){
  .camera-servizi ul li { width: calc(50% - 20px); }
}

.dettagli-camera-container { padding: 30px 0 70px 0; background-color: #dfddd9; }
.dettagli-camera-container .container { display: none; height: 0; opacity: 0; overflow: hidden; }

.text-camera-detail .blk-txt ul { list-style: none; padding: 0; margin: 1rem 0 0; display: flex; gap: 30px; }
.text-camera-detail .blk-txt ul li a:link,
.text-camera-detail .blk-txt ul li a:visited { position: relative; padding-bottom: 5px; width: max-content; text-decoration: unset; overflow: hidden; transition: all .6s cubic-bezier(.625, .05, 0, 1); cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; font-family: 'Lato' !important; font-weight: 300; font-size: 15px; line-height: 15px; letter-spacing: 2px; text-decoration: none; color: #000; }
.text-camera-detail .blk-txt ul li a { margin: 0 auto; }
.text-camera-detail .blk-txt ul li a:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #000; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: left; transform: scaleX(1) rotate(.001deg); transition-delay: .3s; }
.text-camera-detail .blk-txt ul li a:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #000; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: right; transform: scaleX(0) rotate(.001deg); transition-delay: 0s; }
.text-camera-detail .blk-txt ul li a:hover:before { transform-origin: right; transform: scaleX(0); transition-delay: 0s; }
.text-camera-detail .blk-txt ul li a:hover:after { transform-origin: left; transform: scaleX(1); transition-delay: .3s; }

.text-camera-detail .blk-txt hr { margin: 30px 0 !important; border-top: 1px solid #000 !important; }

/* gallery dettaglio camera */
.gallery-dettaglio-camera .carosello-immagini { padding: 0 10% 0 15px !important; box-sizing: border-box; overflow: hidden !important; }
.gallery-dettaglio-camera .carosello-immagini .slick-list { overflow: visible !important; }
.gallery-dettaglio-camera .carosello-immagini .carosello-immagini-content { padding: 0 15px !important; box-sizing: border-box; }
.gallery-dettaglio-camera .carosello-immagini .carosello-immagini-content img { width: 100%; height: 100%; object-fit: cover; display: block; }

.gallery-dettaglio-camera .carosello-immagini .slick-prev { top: auto !important; left: auto !important; right: 76px; }
.gallery-dettaglio-camera .carosello-immagini .slick-next { top: auto !important; left: auto !important; right: 20px; }
.gallery-dettaglio-camera .carosello-immagini .slick-prev,
.gallery-dettaglio-camera .carosello-immagini .slick-next { bottom: 20px; transform: none !important; background-color: #0006; border-radius: 2px; cursor: pointer; }
.slick-prev,
.slick-next { position: absolute; display: block; font-size: 0; line-height: 0; width: 48px; height: 48px; padding: 0; color: transparent; outline: none; border: none; cursor: pointer; -webkit-transform: translate(0, -50%); -ms-transform: translate(0,-50%); transform: translate(0, -50%); }
.gallery-dettaglio-camera .carosello-immagini.slick-slider .slick-prev:before { position: absolute; left: 0; top: 0; width: 48px; height: 48px; font-family: 'FontAwesome'; font-size: 13px; line-height: 48px; text-align: center; content: "\f060"; color: #fff; background: none; }
.gallery-dettaglio-camera .carosello-immagini.slick-slider .slick-next:before { position: absolute; left: 0; top: 0; width: 48px; height: 48px; font-family: 'FontAwesome'; font-size: 13px; line-height: 48px; text-align: center; content: "\f061"; color: #fff; background: none; }

/* highlights camere */
.highlight-camere .item .img-container { position: relative; }
.highlight-camere .item .txt-container { position: relative; display: block; width: calc(100% - 80px); margin: -60px 0 0 0; padding: 20px; box-sizing: border-box; background-color: #fff; }
.highlight-camere .item .txt-container .titolo5 { padding: 0 0 15px 0; }
.highlight-camere .item .txt-container .titolo5 a:link,
.highlight-camere .item .txt-container .titolo5 a:visited { font-size: 41px; line-height: 51px; color: #1d2120; }
.highlight-camere .item .blk-btn { position: relative; display: block; width: calc(100% - 80px); padding: 20px; box-sizing: border-box; background-color: #fff; }
.highlight-camere .item .blk-btn a.medie-btn:link,
.highlight-camere .item .blk-btn a.medie-btn:visited { position: relative !important; padding: 0 0 5px 0; width: max-content; text-decoration: unset; overflow: hidden; transition: all .6s cubic-bezier(.625, .05, 0, 1); cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; font-family: 'Lato' !important; font-weight: 300; font-size: 15px; line-height: 15px; letter-spacing: 2px; text-decoration: none; color: #000; background-color: transparent; }
.highlight-camere .item .blk-btn a.medie-btn:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: left; transform: scaleX(1) rotate(.001deg); transition-delay: .3s; }
.highlight-camere .item .blk-btn a.medie-btn:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: right; transform: scaleX(0) rotate(.001deg); transition-delay: 0s; }
.highlight-camere .item .blk-btn a.medie-btn:hover:before { transform-origin: right; transform: scaleX(0); transition-delay: 0s; }
.highlight-camere .item .blk-btn a.medie-btn:hover:after { transform-origin: left; transform: scaleX(1); transition-delay: .3s; }

.highlight-camere .slick-prev,
.highlight-camere .slick-next { position: absolute; top: auto; bottom: 0; display: block; font-size: 0; line-height: 0; width: 48px; height: 48px; padding: 0; color: transparent; background: var(--gold); outline: none; border: none; cursor: pointer; -webkit-transform: none; -ms-transform: none; transform: none; }
.highlight-camere .slick-next { right: 0 !important; }
.highlight-camere .slick-prev:before,
.highlight-camere .slick-next:before { width: 48px; font-size: 20px; font-weight: normal; line-height: 48px; text-align: center; background: none; }

.slick-prev { left: auto !important; right: 58px; }


/* NEWS ELENCO */
.navigation-product-bar { border: 0; border-top: #000 1px solid; }
.navigation-product-bar .navigation { display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px; }
.navigation-product-bar .navigation li { width: 40px; height: 40px; }

/* pagine cliccabili */
.navigation-product-bar .navigation li a:link,
.navigation-product-bar .navigation li a:visited { display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; padding: 0; margin: 0; color: #000; background-color: transparent; border: #000 1px solid; box-sizing: border-box; border-radius: 0; }
.navigation-product-bar .navigation li a:hover { color: #fff; background-color: #000; }

/* pagina corrente */
.navigation-product-bar .navigation li a.active:link,
.navigation-product-bar .navigation li a.active:visited { color: rgba(0,0,0,.3); background-color: transparent; border: rgba(0,0,0,.3) 1px solid; border-radius: 0; }
.navigation-product-bar .navigation li a.active:hover {  }

/* NEWS DETTAGLIO */
/* blocco attachment */
.blk-attachment { position: relative; width: fit-content !important; margin-bottom: 30px; }
.blk-attachment a:link,
.blk-attachment a:visited,
.blk-attachment a:hover { position: relative; display: inline-block !important; overflow: visible !important; box-sizing: border-box; text-decoration: none; padding: 10px 20px !important; font-family: 'Lato', sans-serif !important; font-size: 14px; font-weight: 300; line-height: 16px; color: #000 !important; background-color: transparent !important; height: auto; }
.blk-attachment a { border: 1px solid #aaa; }
.blk-attachment a .symbol,
.blk-attachment a .slide-icon { display: block !important; position: absolute !important; float: none !important; text-align: left !important; opacity: 1 !important; z-index: auto !important; transform: none !important; -webkit-animation: none !important; animation: none !important; background: #000; overflow: visible !important; font-size: 0 !important; }
.blk-attachment a .symbol i,
.blk-attachment a .slide-icon i { display: none !important; }
.blk-attachment a::before { content: ''; position: absolute; background: #000; top: -1px; left: -1px; width: calc(100% + 2px); height: 1px; clip-path: inset(0 100% 0 0); transition: clip-path 0.2s ease 0.6s; }
.blk-attachment a .symbol { top: -1px !important; right: -1px !important; left: auto !important; bottom: auto !important; width: 1px !important; height: calc(100% + 2px) !important; clip-path: inset(0 0 100% 0) !important; transition: clip-path 0.2s ease 0.4s !important; }
.blk-attachment a::after { content: ''; position: absolute; background: #000; bottom: -1px; right: -1px; width: calc(100% + 2px); height: 1px; clip-path: inset(0 0 0 100%); transition: clip-path 0.2s ease 0.2s; }
.blk-attachment a .slide-icon { bottom: -1px !important; left: -1px !important; top: auto !important; right: auto !important; width: 1px !important; height: calc(100% + 2px) !important; clip-path: inset(100% 0 0 0) !important; transition: clip-path 0.2s ease 0s !important; }
.blk-attachment a:hover::before { clip-path: inset(0 0 0 0); transition: clip-path 0.2s ease 0s; }
.blk-attachment a:hover .symbol { clip-path: inset(0 0 0 0) !important; transition: clip-path 0.2s ease 0.2s !important; }
.blk-attachment a:hover::after { clip-path: inset(0 0 0 0); transition: clip-path 0.2s ease 0.4s; }
.blk-attachment a:hover .slide-icon { clip-path: inset(0 0 0 0) !important; transition: clip-path 0.2s ease 0.6s !important; }

/* button back */
.news-back .blk-btn .btn-back:link,
.news-back .blk-btn .btn-back:visited { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; width: max-content; padding: 0 0 5px 0; font-family: 'Lato' !important; font-weight: 300; font-size: 15px; line-height: 15px; letter-spacing: 2px; text-decoration: none; text-transform: uppercase; color: #000; background-color: transparent; overflow: hidden; transition: all .6s cubic-bezier(.625, .05, 0, 1); cursor: pointer; border: 0; }
.news-back .blk-btn .btn-back i { font-size: 9px; }
.news-back .blk-btn .btn-back i:before { content: '\f104'; }
.news-back .blk-btn .btn-back:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: left; transform: scaleX(1) rotate(.001deg); transition-delay: .3s; }
.news-back .blk-btn .btn-back:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: right; transform: scaleX(0) rotate(.001deg); transition-delay: 0s; }
.news-back .blk-btn .btn-back:hover:before { transform-origin: right; transform: scaleX(0); transition-delay: 0s; }
.news-back .blk-btn .btn-back:hover:after { transform-origin: left; transform: scaleX(1); transition-delay: .3s; }

/* social share */
.share ul { display: flex; flex-direction: row; align-items: center; }
.share ul li { display: flex; align-items: center; }
.share ul li a i { font-size: 15px; color: var(--gold) !important; }
.share ul li a:hover i { color: #000 !important; }

/* NEWS ELENCO */
.tpl-2-header { position: relative; background-color: #dfddda !important; overflow: hidden; }
.tpl-2-header .slideshow { background-color: transparent !important; }

.tpl-2-header > .container-full { z-index: 4; }

.slideshow .item picture img { display: none; }

.tpl-2-header .slideshow .item .caption h3 { color: #3b3f3e; }
.tpl-2-header .slideshow .item .caption h3 span { display: block; text-align: center; font-family: 'Lato' !important; font-weight: 300; font-size: 14px !important; }
.tpl-2-header .slideshow .item .caption div p { font-family: 'Lato' !important; font-weight: 400; color: #303030; }

.header-bg-text { position: absolute; top: calc(50% + 80px); left: 50%; transform: translate(-50%, -50%); font-family: 'Canela-Regular', serif; font-size: clamp(35rem, 48vw, 46rem); font-weight: 400; color: #efefef; white-space: nowrap; pointer-events: none; user-select: none; z-index: 1; line-height: 1; }

.elenco-news { display: flex; flex-direction: row; flex-wrap: wrap; align-items: stretch; gap: 50px; }
.elenco-news li { float: none; display: flex; flex-direction: column; width: calc(33.3333% - 50px); margin: 0; border: 0 !important;}
.elenco-news li:hover {  }
.elenco-news li a:link,
.elenco-news li a:visited { display: flex; flex-direction: column; }

.elenco-news li .img-container { position: relative; float: none; display: block; padding: 0 0 70px 0; margin: 0; width: 100%; box-sizing: border-box; }
.elenco-news li .img-container .data { position: absolute; left: 0; top: auto; bottom: 10px; display: flex; flex-direction: row; align-items: center; padding: 0; font-family: 'Lato' !important; font-size: 14px !important; font-weight: 300; line-height: 14px; text-align: left; text-transform: uppercase; color: #6d7472; background-color: transparent; }
.elenco-news li .img-container .data strong,
.elenco-news li .img-container .data span { display: inline-block; margin: 0 7px 0 0; font-family: 'Lato' !important; font-weight: 300; font-size: 14px !important; color: #6d7472; }

.elenco-news li .txt-container { position: relative; float: none; display: block; padding: 0; margin: 0 0 30px 0; width: 100%; box-sizing: border-box; }
.elenco-news li .txt-container .fixed-height { height: auto; overflow: visibel; margin: 0; }
.elenco-news li .txt-container .fixed-height:after { display: none; }
.elenco-news li .txt-container .fixed-height h3 { display: block; margin: 0; padding: 0 0 15px 0; font-size: 35px; font-weight: 300; line-height: 42px; }
.elenco-news li .txt-container .fixed-height .txt { display: block; margin: 0 0 25px 0; font-family: 'Canela-Thin' !important; font-weight: 100; font-style: normal; font-size: 16px; line-height: 26px; font-weight: 100; color: #000; }

.elenco-news li .blk-txt .titolo6 { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; width: max-content; padding: 0 0 5px 0; font-family: 'Lato' !important; font-weight: 300; font-size: 15px; line-height: 15px; letter-spacing: 2px; text-decoration: none; text-transform: uppercase; color: #000; background-color: transparent; overflow: hidden; transition: all .6s cubic-bezier(.625, .05, 0, 1); cursor: pointer; border: 0; }
.elenco-news li .blk-txt .titolo6 i { font-size: 9px; }

.elenco-news li .blk-txt .titolo6:hover,
.elenco-news li a:hover .blk-txt .titolo6,
.elenco-news li a:hover { color: #000; background-color: transparent; }

.elenco-news li .blk-txt .titolo6:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: left; transform: scaleX(1) rotate(.001deg); transition-delay: .3s; }
.elenco-news li .blk-txt .titolo6:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: right; transform: scaleX(0) rotate(.001deg); transition-delay: 0s; }
.elenco-news li .blk-txt .titolo6:hover:before,
.elenco-news li a:hover .blk-txt .titolo6:before { transform-origin: right; transform: scaleX(0); transition-delay: 0s; }
.elenco-news li .blk-txt .titolo6:hover:after,
.elenco-news li a:hover .blk-txt .titolo6:after { transform-origin: left; transform: scaleX(1); transition-delay: .3s; }

@media (max-width: 1199px){
  .elenco-news li { width: calc(50% - 50px); }
}

@media (max-width: 767px){
  .elenco-news li { width: 100%; }
}

/* DETTAGLIO RISTORANTE */
.title-ristorante { padding: 100px 0; background-color: #dfddd9; }
.title-ristorante .blk-txt { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #fff; padding: 0 1rem; text-align: center; }
.title-ristorante .blk-txt h6 { margin-bottom: 30px; font-family: 'Lato', sans-serif !important; font-size: clamp(16px, .0625vw + 15.765625px, 21px); font-weight: 400; text-transform: uppercase; color: #3b3f3e; }
.title-ristorante .blk-txt h1 { font-size: clamp(36px, 5.833vw + 25px, 100px); line-height: 100px; color: #3b3f3e; }
.title-ristorante .blk-txt p { color: #3b3f3e; }

.title-ristorante .blk-txt ul { list-style: none; padding: 0; margin: 1rem auto 0 auto; display: flex; justify-content: center; gap: 30px; }
.title-ristorante .blk-txt ul li a:link,
.title-ristorante .blk-txt ul li a:visited { position: relative; padding-bottom: 5px; width: max-content; text-decoration: unset; overflow: hidden; transition: all .6s cubic-bezier(.625, .05, 0, 1); cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; font-family: 'Lato' !important; font-weight: 300; font-size: 15px; line-height: 15px; letter-spacing: 2px; text-decoration: none; color: #000; }
.title-ristorante .blk-txt ul li a { margin: 0 auto; }
.title-ristorante .blk-txt ul li a:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #000; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: left; transform: scaleX(1) rotate(.001deg); transition-delay: .3s; }
.title-ristorante .blk-txt ul li a:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #000; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: right; transform: scaleX(0) rotate(.001deg); transition-delay: 0s; }
.title-ristorante .blk-txt ul li a:hover:before { transform-origin: right; transform: scaleX(0); transition-delay: 0s; }
.title-ristorante .blk-txt ul li a:hover:after { transform-origin: left; transform: scaleX(1); transition-delay: .3s; }

/* SPA */
/* elenco pagine */
.highlights { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 15px; }
.highlights.col3 li { width: calc(33.333% - 15px); }
.highlights li .highlights-content { display: block; padding: 0; margin: 0 0 30px 0; background-color: transparent; }
.highlights:not(.list-news):not(.list-eventi):not(.last-products) li .highlights-content .txt-container .mask-txt { display: none; }
.highlights li .highlights-content .titolo5 a:link,
.highlights li .highlights-content .titolo5 a:visited,
.highlights li .highlights-content .titolo5 a:hover { display: block; margin: 0; padding: 0 0 15px 0; text-align: left; font-size: 35px; font-weight: 300; line-height: 42px; color: #000; }

.highlights li .highlights-content .img-container { overflow: hidden; }
.highlights li .highlights-content .img-container a img { -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -o-transition: all .5s ease-in-out; -ms-transition: all .5s ease-in-out; transition: all .5s ease-in-out; }
.highlights li .highlights-content .img-container a:hover img { -webkit-transform: scale(1.1); transform: scale(1.1); }

.highlights li .highlights-content .txt-container { height: auto; font-style: normal; font-size: 16px; line-height: 26px; font-weight: 100; text-align: left; color: #000; overflow: visible; }
.highlights li .highlights-content .blk-btn .medie-btn:link,
.highlights li .highlights-content .blk-btn .medie-btn:visited { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; width: max-content; padding: 0 0 5px 0; font-family: 'Lato' !important; font-weight: 300; font-size: 15px; line-height: 15px; letter-spacing: 2px; text-decoration: none; text-transform: uppercase; color: #000; background-color: transparent; overflow: hidden; transition: all .6s cubic-bezier(.625, .05, 0, 1); cursor: pointer; border: 0; }
.highlights li .highlights-content .blk-btn .medie-btn:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: left; transform: scaleX(1) rotate(.001deg); transition-delay: .3s; }
.highlights li .highlights-content .blk-btn .medie-btn:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #131313; transition: transform .735s cubic-bezier(.625, .05, 0, 1); transform-origin: right; transform: scaleX(0) rotate(.001deg); transition-delay: 0s; }
.highlights li .highlights-content .blk-btn .medie-btn:hover:before { transform-origin: right; transform: scaleX(0); transition-delay: 0s; }
.highlights li .highlights-content .blk-btn .medie-btn:hover:after { transform-origin: left; transform: scaleX(1); transition-delay: .3s; }

@media (max-width: 991px){
  .highlights.col3 li { width: calc(50% - 15px); }
}
@media (max-width: 767px){
  .highlights { gap: 0; }
  .highlights.col3 li { width: 100%; }
  .highlights li .highlights-content .img-container { float: none; position: relative; display: block; width: 100%; margin-bottom: 0; z-index: 1; }
  .highlights li .highlights-content .txt-container { float: none; position: relative; display: block; width: calc(100% - 30px); padding: 10px; box-sizing: border-box; margin: -30px auto 30px auto; background-color: var(--bg); text-overflow: ellipsis; z-index: 2; }
  .highlights li .highlights-content .blk-btn { display: flex; justify-content: flex-start; padding: 0 25px 30px 25px; }
}
@media (max-width: 479px){
  .highlights li .highlights-content .img-container { float: none; position: relative; display: block; width: 100%; margin-bottom: 0; z-index: 1; }
  .highlights li .highlights-content .txt-container { float: none; position: relative; display: block; width: calc(100% - 30px); padding: 10px; box-sizing: border-box; margin: -30px auto 30px auto; background-color: var(--bg); text-overflow: ellipsis; z-index: 2; }
}

/* dettaglio servizi spa */
.center-link .blk-txt a { margin: 0 auto; }

/* CONTATTI */
.select .select__arrow { display: none; }

.selezione-richiesta .container .row { display: flex; flex-direction: row; flex-wrap: wrap; }
.selezione-richiesta h6 { font-family: 'Lato', sans-serif !important; font-size: clamp(16px, .0625vw + 15.765625px, 21px); font-weight: 400; text-transform: uppercase; color: #3b3f3e; }

.select { position: relative; display: inline-block; }
.select select { font-family: 'Lato', sans-serif !important; font-weight: 300; font-style: normal; background: transparent url('/custom/atelierpilatesstudio/img/arrow-select.png') right 0 no-repeat; background-size: auto 100%; border: 0; border-bottom: #000 1px solid; }
.select select:hover,
.select select:focus { background: transparent url('/custom/atelierpilatesstudio/img/arrow-select.png') right 0 no-repeat; background-size: auto 100%; }
.select .select__arrow { display: none !important; }

.form input { background: transparent; border: transparent 1px solid; border-bottom: #000 1px solid; }
.form input.obb { border-left: 0 !important; border-bottom: #000 2px solid; }
.form input:focus { border: #000 1px solid; }

.control__indicator { background: transparent; border: #000 1px solid; border-radius: 50%; }
.control__indicator.obb { border: #000 2px solid !important; }

.form textarea { background: transparent; border: transparent 1px solid; border-bottom: #000 1px solid; }
.form textarea.obb { border-left: 0 !important; border-bottom: #000 2px solid; }
.form textarea:focus { border: #000 1px solid; }

.form .blk-btn a.big-btn:link,
.form .blk-btn a.big-btn:visited { display: block; width: 100%; font-family: Lato !important; font-weight: 300 !important; font-size: 15px; letter-spacing: 2px; text-align: center; border-radius: 0 !important; background-color: #1e2120; }
.form .blk-btn a.big-btn:visited { color: #1e2120; backgrund-color: #fff; }

.info-contatti { display: block; width: 100%; padding: 100px 0; background-color: #1D2120; }
.info-contatti .blk-map .mappa { position: relative; width: 100%; padding-bottom: 100%; height: 0 !important; margin-top: 0; }
.info-contatti h3,
.info-contatti h4,
.info-contatti p { color: #fff; }

/* MEETING */
.center-attachment .blk-attachment { margin: 0 auto 30px auto; }

/* OFFERTE */
.dark-cta { padding: 60px 0; background-color: #1D2120; }

.dark-cta .container-cta{
  display:flex;
  justify-content:center;
  align-items:center;
}

.dark-cta .blk-btn{
  position:relative;
  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:auto !important;
  flex:0 0 auto !important;
  line-height:0;
}

.dark-cta .blk-cta .blk-btn .btn-cta,
.dark-cta .blk-cta .blk-btn .btn-cta:link,
.dark-cta .blk-cta .blk-btn .btn-cta:visited{
  position:relative;
  display:inline-block;
  padding:10px 20px !important;
  color:#fff !important;
  text-decoration:none !important;
  border:1px solid rgba(255,255,255,.3);
  box-sizing:border-box;
  line-height:normal;
  overflow: visible !important; /* FONDAMENTALE per far vedere le linee che escono leggermente */
}

/* ======================== */
/* LINEE STATICHE (NASCOSTE) */
/* ======================== */

/* TOP (Si disegna da sinistra verso destra) */
.dark-cta .blk-btn::before{
  content:"";
  position:absolute;
  top:-1px;
  left:-1px;
  width:calc(100% + 2px);
  height:1px;
  background:#fff;
  z-index:10;
  clip-path: inset(0 100% 0 0); /* Nascosto tagliando da destra */
  transition: clip-path 0.2s ease 0.6s; /* In uscita parte per ultimo (0.6s) */
}

/* RIGHT (Si disegna dall'alto verso il basso) */
.dark-cta .blk-btn::after{
  content:"";
  position:absolute;
  top:-1px;
  right:-1px;
  width:1px;
  height:calc(100% + 2px);
  background:#fff;
  z-index:10;
  clip-path: inset(0 0 100% 0); /* Nascosto tagliando dal basso */
  transition: clip-path 0.2s ease 0.4s; /* In uscita parte per penultimo (0.4s) */
}

/* BOTTOM (Si disegna da destra verso sinistra) */
.dark-cta .blk-cta .blk-btn .btn-cta::before{
  content:"";
  position:absolute;
  bottom:-1px;
  right:-1px;
  width:calc(100% + 2px);
  height:1px;
  background:#fff;
  z-index:10;
  clip-path: inset(0 0 0 100%); /* Nascosto tagliando da sinistra */
  transition: clip-path 0.2s ease 0.2s; /* In uscita parte per secondo (0.2s) */
}

/* LEFT (Si disegna dal basso verso l'alto) */
.dark-cta .blk-cta .blk-btn .btn-cta::after{
  content:"";
  position:absolute;
  bottom:-1px;
  left:-1px;
  width:1px;
  height:calc(100% + 2px);
  background:#fff;
  z-index:10;
  clip-path: inset(100% 0 0 0); /* Nascosto tagliando dall'alto */
  transition: clip-path 0.2s ease 0s; /* In uscita parte per primo (0s) */
}


/* ======================== */
/* STATO HOVER (VISIBILE)   */
/* ======================== */

/* TOP */
.dark-cta .blk-btn:hover::before{
  clip-path: inset(0 0 0 0); /* Totalmente visibile */
  transition: clip-path 0.2s ease 0s; /* In entrata parte per primo (0s) */
}

/* RIGHT */
.dark-cta .blk-btn:hover::after{
  clip-path: inset(0 0 0 0);
  transition: clip-path 0.2s ease 0.2s; /* In entrata parte per secondo (0.2s) */
}

/* BOTTOM */
.dark-cta .blk-btn:hover .btn-cta::before{
  clip-path: inset(0 0 0 0);
  transition: clip-path 0.2s ease 0.4s; /* In entrata parte per terzo (0.4s) */
}

/* LEFT */
.dark-cta .blk-btn:hover .btn-cta::after{
  clip-path: inset(0 0 0 0);
  transition: clip-path 0.2s ease 0.6s; /* In entrata parte per ultimo (0.6s) */
}








/* MODALE DI PRENOTAZIONE */
.modale-prenotazione { position: fixed; left: 50%; bottom: 0; width: 96%; max-width: 1280px; padding: 12px 24px; box-sizing: border-box; background-color: #dfddd9; box-shadow: 0 -4px 20px rgba(0,0,0,0.1); transform: translate(-50%, 100%); transition: transform 0.4s ease-out; z-index: 9999; } 
.modale-prenotazione.is-open { transform: translate(-50%, 0); }
.modale-prenotazione .chiudi-modale { position: absolute; top: 8px; right: 12px; text-decoration: none; font-family: Lato !important; font-weight: 300 !important; font-size: 15px; color: #000; }

.reserved-modal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(30, 30, 30, .87);
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    z-index: 99993;
}
.reserved-modal .reserved-modal-content {
    position: absolute;
    left: 50%;
    top: 50%;
    width: calc(100vw - 40px);
    height: calc(100vh - 40px);
    max-width: 800px;
    max-height: 600px;
    padding: 20px;
    box-sizing: border-box;
    background-color: #fff;
    transform: translate(-50%, -50%);
}
.reserved-modal .close-reserved-modal {
    position: absolute;
    top: 20px;
    right: 20px;
    display: block;
    width: 30px;
    height: 30px;
    background: transparent url(/custom/legreghe/img/close-reserved-modal.svg) 50% 50% no-repeat;
    background-size: 15px 15px;
    z-index: 2;
}
.reserved-modal .reserved-modal-content .header-reserved-modal {
    display: block;
    width: 100%;
    height: 44px;
    padding-right: 30px;
    box-sizing: border-box;
    background-color: #fff;
    z-index: 1;
}
.reserved-modal .reserved-modal-content .body-reserved-modal {
    display: block;
    width: 100%;
    height: calc(100% - 44px);
    padding: 0;
    margin: 0;
    overflow-y: auto;
}


/* FOOTER */
.copyright:before { content: ''; position: absolute; left: 0; top: 100%; display: block; width: 100%; height: 30px; background-color: #fff; }
.copyright p { display: flex !important; gap: 5px; font-family: 'Lato' !important; font-weight: 300; }
.copyright p strong { font-family: 'Lato' !important; font-weight: 500; }
.copyright p a:link,
.copyright p a:visited { padding-bottom: 0 !important; font-size: 14px; font-weight: 300 !important; line-height: 26px; letter-spacing: 0 !important; }
.copyright p a:hover { color: var(--gold); }
.copyright p a:before,
.copyright p a:after { display: none !important; }
.copyright p a.ekra:link,
.copyright p a.ekra:visited { padding-right: 57px; font-weight: 300; }
.copyright p a.ekra #ekra-logo { top: 8px; height: 15px; }

@media (max-width: 991px){
  .footer-container { padding: 60px 20px; }
  .footer-container .container .col-xs-12:nth-of-type(2),
  .footer-container .container .col-xs-12:nth-of-type(4) { width: 50% !important; }
  .footer-container .container .clear.mob { display: none !important; }
  .copyright p { display: block !important; text-align: center; }
  .copyright p a:link,
  .copyright p a:visited { display: contents; }
  .copyright p a.ekra:link,
  .copyright p a.ekra:visited { position: relative; display: inline-block !important; }
  .copyright p a.ekra #ekra-logo { top: 5px; }
}

/* ATELIER PILATES STUDIO */
@media screen and (min-width: 1199px) {
    .menu > li > a:link, .menu li > a:visited { padding-left: 20px; padding-right: 20px; }
}
.menu li a.active { position: relative; }
.menu li a.active:after { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background-color: var(--dark-green); }

.hero-pilates { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; }
.hero-pilates > .container-full,
.hero-pilates > .container-full > .row,
.hero-pilates > .container-full > .row > .col-md-12 { height: 100%; margin: 0; padding: 0; }
.hero-pilates > .container-full > .row > .col-md-12 { position: relative; display: flex; flex-direction: column; justify-content: center; }
.hero-pilates > .container-full > .row > .col-md-12 > .blk-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.hero-pilates > .container-full > .row > .col-md-12 > .blk-img picture,
.hero-pilates > .container-full > .row > .col-md-12 > .blk-img picture img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-pilates > .container-full > .row > .col-md-12 > .didascalia { display: none; }
.hero-pilates > .container-full > .row > .col-md-12 > .blk-txt { position: relative; z-index: 2; width: 60%; padding: 0 60px; color: #fff; box-sizing: border-box; }
.hero-pilates > .container-full > .row > .col-md-12 > .blk-txt h1,
.hero-pilates > .container-full > .row > .col-md-12 > .blk-txt p.titolop { color: #fff; }
.hero-pilates > .container-full > .row > .col-md-12 > .blk-txt h1 { font-size: clamp(40px, 1.25vw + 35.9375px, 70px); line-height: 100%; }
.hero-pilates > .container-full > .row > .col-md-12 > .blk-txt h1 span { color: var(--ligh-green); }
.hero-pilates > .container-full > .row > .col-md-12 > .blk-txt p.titolop { font-family: 'Canela-Light' !important; font-weight: 600; }
.hero-pilates > .container-full > .row > .col-md-12 > .blk-txt ul { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.hero-pilates > .container-full > .row > .col-md-12 > .blk-txt ul li { margin: 0 15px 15px 0; padding: 15px; background-color: rgba(141,207,176,.5); color: #fff; list-style: none; }
.hero-pilates > .container-full > .row > .col-md-12 > .blk-txt ul li strong { display: block; font-weight: 600; }
@media (max-width: 991px) {
  .mouse { display: none; }
  .hero-pilates { aspect-ratio: unset; min-height: 1800px; }
  .hero-pilates > .container-full > .row > .col-md-12 { justify-content: flex-end; padding-bottom: 40px; }
  .hero-pilates > .container-full > .row > .col-md-12 > .blk-txt { width: 100%; padding: 0 30px; }
  .hero-pilates > .container-full > .row > .col-md-12 > .blk-txt ul li { width: 100%; text-align: center; margin: 0 0 15px 0; }
  .hero-pilates > .container-full,
  .hero-pilates > .container-full > .row,
  .hero-pilates > .container-full > .row > [class*="col-"] { min-height: 930px !important; }
}
p.titolop { display: block; margin: 0 0 30px 0 !important; padding: 0 !important; font-family: 'Canela-Light' !important; font-size: 13px; font-weight: 600; line-height: 26px; text-transform: uppercase; text-spacing: 3px; color: var(--dark-green); }

.box-ragioni .row .col-md-3 .blk-txt { display: flex; flex-direction: column; width: 100%; height: 100%; padding: 20px; background-color: rgba(0,0,0,.03); border-radius: 10px; }
@media (min-width: 992px) {
  .box-ragioni .row { display: flex; flex-wrap: wrap; align-items: stretch; }
  .box-ragioni .row .col-md-3 { display: flex; }
}
@media (max-width: 991px) {
  .box-ragioni .row .col-md-3 { margin-bottom: 30px; }
}

.elenco-metodo { display: flex; flex-direction: row; flex-wrap: wrap; gap: 30px; align-items: stretch; width: 100%; margin: 60px 0!important; padding: 0 !important; list-style: none !important; }
.elenco-metodo li { width: calc(50% - 15px); margin: 0; padding: 0 0 0 50px; box-sizing: border-box; list-style: none !important; }
.elenco-metodo li span { position: absolute; left: 0; top: 0; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; font-size: 20px !important; font-weight: 800; line-height: 40px; color: #fff; background-color: var(--dark-green); border-radius: 50%; }
.elenco-metodo li h6 { display: block; font-size: 20px; font-weight: 600; line-height: 40px; padding: 0; color: var(--dark-green); }
@media (max-width: 991px) {
  .elenco-metodo li { width: 100%; }
}

.percorso .blk-txt p.titolop { display: inline-block; padding: 10px 20px !important; letter-spacing: 2px; color: #fff; background-color: rgba(42,80,64,.5); border-radius: 10px; }
.percorso .blk-txt h4 { color: var(--dark-green); }
@media (max-width: 991px) {
  .percorso .col-md-3 { margin-bottom: 100px; }
}

.mosaic-photo { padding: 0; overflow: hidden; }
.mosaic-photo > .container-full { padding: 0; }
.mosaic-photo .row { margin: 0; display: flex; gap: 2px; }
.mosaic-photo .row > [class*="col-"] { padding: 0; flex: 1; min-width: 0; }
.mosaic-photo .row > .col-sm-6:first-child { display: flex; flex-direction: column; }
.mosaic-photo .row > .col-sm-6:first-child .blk-img { flex: 1; }
.mosaic-photo .row > .col-sm-6:first-child .blk-img picture,
.mosaic-photo .row > .col-sm-6:first-child .blk-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mosaic-photo .blk-img { margin: 0; padding: 0; }
.mosaic-photo .blk-img .didascalia { display: none; }
.mosaic-photo .row > .col-sm-6:last-child { display: flex; flex-direction: column; gap: 0; }
.mosaic-photo .row > .col-sm-6:last-child .blk-img { flex: 1; }
.mosaic-photo .row > .col-sm-6:last-child .blk-img:first-child { border-bottom: 2px solid rgb(232, 230, 227); }
.mosaic-photo .row > .col-sm-6:last-child .blk-img picture,
.mosaic-photo .row > .col-sm-6:last-child .blk-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1199px) {
  .mosaic-photo .row { flex-direction: column; gap: 0; }
  .mosaic-photo .row > [class*="col-"] { width: 100%; flex: none; }
  .mosaic-photo .row > .col-sm-6:first-child { border-bottom: 2px solid rgb(232, 230, 227); }
  .mosaic-photo .row > .col-sm-6:last-child .blk-img:first-child { border-bottom: 2px solid rgb(232, 230, 227); }
  .mosaic-photo .row > .col-sm-6:first-child .blk-img img,
  .mosaic-photo .row > .col-sm-6:last-child .blk-img img { height: auto; max-height: 60vw; }
}

.team .blk-txt { padding-left: 75px; }
.team .blk-txt h3 { position: absolute; left: 0; top: 0; display: block; width: 60px; height: 60px; margin: 0; padding: 0; font-size: 20px; font-weight: 600; line-height: 60px; text-align: center; color: var(--dark-green); background-color: var(--light-green); border-radius: 50%; }
.team .blk-txt h4 { line-height: 60px; }

.come-iniziare .blk-txt { text-align: center; }
.come-iniziare .blk-txt h3 { display: block; width: 40px; height: 40px; margin: 0 auto 20px auto; padding: 0; font-size: 18px; line-height: 44px; text-align: center; color: #fff; background-color: var(--dark-green); border-radius: 50%; }

.prezzi .blk-txt { padding: 20px; box-sizing: border-box; background-color: rgba(141,207,176,.2); border: rgba(141,207,176,.5) 1px solid; border-radius: 10px; }
@media (min-width: 992px) {
    .prezzi .row { display: flex; flex-wrap: wrap; }
    .prezzi .col-md-3 { display: flex; }
    .prezzi .blk-txt { display: flex; flex-direction: column; width: 100%; }
}
@media (max-width: 992px) {
  .prezzi .blk-txt { margin: 0 0 30px 0; }
}

/* contatti */
.control a:link, .control a:visited { color: var(--gold); }
.infowindow .blk-txt { padding-bottom: 20px; }
.infowindow .blk-txt h3 { font-size: 22px !important; line-height: 26px !important; color: var(--gold); }
.infowindow .blk-txt p { font-size: 14px; line-height: 24px; color: #000; }
.infowindow .blk-txt p i { top: 1px; display: inline-block; margin-right: 4px; font-size: 10px; line-height: 24px; color: #000; vertical-align: middle; }
.infowindow .blk-txt p a:link,
.infowindow .blk-txt p a:visited { display: inline-block; padding: 0; font-size: 13px; line-height: 24px; letter-spacing: 0 !important;  color: var(--gold); vertical-align: middle; }
.infowindow .blk-txt p a:before,
.infowindow .blk-txt p a:after { display: none; }

.footer-container .menu-list li { font-size: 14px; line-height: 22px; }

.form .blk-btn a.big-btn:link,
.form .blk-btn a.big-btn:visited { display: block; width: 100%; font-family: Lato !important; font-weight: 300 !important; font-size: 15px; letter-spacing: 2px; text-align: center; border-radius: 0 !important; background-color: #1e2120; }
.form .blk-btn a.big-btn:hover { color: #1e2120 !important; background-color: #fff !important; }
