.elementor-kit-6{--e-global-color-primary:#18181C;--e-global-color-secondary:#CCCCCC;--e-global-color-text:#18181C;--e-global-color-accent:#18181C;--e-global-color-a772eb2:#FFFFFF;--e-global-color-a80331c:#CCCCCC;--e-global-color-f32008c:#18181C08;--e-global-color-968734b:#242429;--e-global-color-601945c:#F8F8F8;--e-global-color-b39b411:#18181CB3;--e-global-typography-primary-font-family:"DM Serif Display";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-text-transform:none;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;--e-global-typography-f2dcb9b-font-family:"Inter";--e-global-typography-f2dcb9b-font-size:20px;--e-global-typography-f2dcb9b-font-weight:bold;--e-global-typography-f2dcb9b-line-height:1.5em;--e-global-typography-6e5a377-font-family:"Inter";--e-global-typography-6e5a377-font-size:clamp(20px, 0.3756rem + 1.8779vw, 24px);--e-global-typography-6e5a377-font-weight:300;--e-global-typography-6e5a377-text-transform:none;--e-global-typography-6e5a377-line-height:1.5em;background-color:var( --e-global-color-a772eb2 );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{border-radius:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:16px;}.elementor-element{--widgets-spacing:16px 16px;--widgets-spacing-row:16px;--widgets-spacing-column:16px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}/* Start custom CSS *//* ============================================================
   LEGENDA CLASSI DIMOORA
   ============================================================ */

.large { padding: 150px 0px !important; }
@media (max-width: 1024px) { .large { padding: 125px 24px !important; } }
@media (max-width: 767px)  { .large { padding: 100px 16px !important; } }

.medium { padding: 100px 0px !important; }
@media (max-width: 1024px) { .medium { padding: 80px 24px !important; } }
@media (max-width: 767px)  { .medium { padding: 60px 16px !important; } }

.small { padding: 60px 0px !important; }
@media (max-width: 1024px) { .small { padding: 50px 24px !important; } }
@media (max-width: 767px)  { .small { padding: 40px 16px !important; } }

.dm-corner {
    position: relative;
    padding-top: 15px;
    padding-left: 15px;
}
.dm-corner::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 40px; height: 40px;
    border-top: 3px solid #D4A373;
    border-left: 3px solid #D4A373;
    z-index: 1;
}

.dm-hb-left {
    width: 50% !important;
    display: flex; flex-direction: column; justify-content: center;
    padding-left: calc((100vw - 1140px) / 2) !important;
    padding-right: 60px; padding-top: 120px; padding-bottom: 120px;
}
.dm-hb-right {
    width: 50% !important;
    display: flex; flex-direction: column; justify-content: center;
    padding-right: calc((100vw - 1140px) / 2) !important;
    padding-left: 60px; padding-top: 120px; padding-bottom: 120px;
}
.dm-hb-img {
    width: 50% !important;
    background-position: center center; background-size: cover;
    min-height: 500px;
}

@media (max-width: 1140px) {
    .dm-hb-left, .dm-hb-right, .dm-hb-img { width: 100% !important; }
    .dm-hb-left, .dm-hb-right { padding: 80px 24px !important; }
    .dm-hb-img { height: 350px !important; min-height: auto; }
}
@media (max-width: 1024px) { .dm-section { padding: 50px 24px !important; } }
@media (max-width: 767px)  { .dm-section { padding: 75px 16px !important; } }


/* ============================================================
   ANIMATION SYSTEM — Stati iniziali solo frontend
   ============================================================ */

body:not(.elementor-editor-active) .text-slide {
    opacity: 0;
    transform: translateX(60px);
    will-change: transform, opacity;
}
body:not(.elementor-editor-active) .text-type {
    opacity: 0;
    will-change: opacity;
}
body:not(.elementor-editor-active) .container-fade {
    opacity: 0;
    will-change: opacity;
}
body:not(.elementor-editor-active) .text-fade {
    opacity: 0;
    will-change: opacity;
}
body:not(.elementor-editor-active) .paragraph {
    opacity: 0;
    transform: translateY(24px);
    will-change: transform, opacity;
}
body:not(.elementor-editor-active) .line-app {
    transform: scaleX(0);
    transform-origin: left center;
    will-change: transform;
}

/* ============================================================
   CORNER DECORATIVI
   ============================================================ */

:root {
    --corner-thickness: 2px;
    --corner-color: #18181C;
    --corner-leg: 100px;
}

.corner-d-l,
.corner-u-r,
.corner-d-r {
    position: relative !important;
    overflow: visible !important;
}

.corner-d-l::before, .corner-d-l::after,
.corner-u-r::before, .corner-u-r::after,
.corner-d-r::before, .corner-d-r::after {
    content: '';
    position: absolute;
    background-color: var(--corner-color);
    pointer-events: none;
    z-index: 10;
    display: block;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
}

/* Down-Left — angolo in basso a sinistra */
.corner-d-l::before {
    width: var(--corner-thickness);
    height: var(--corner-leg);
    bottom: 0;
    left: 0;
}
.corner-d-l::after {
    height: var(--corner-thickness);
    width: var(--corner-leg);
    bottom: 0;
    left: 0;
}

/* Up-Right — angolo in alto a destra */
.corner-u-r::before {
    width: var(--corner-thickness);
    height: var(--corner-leg);
    top: 0;
    right: 0;
}
.corner-u-r::after {
    height: var(--corner-thickness);
    width: var(--corner-leg);
    top: 0;
    right: 0;
}

/* Down-Right — angolo in basso a destra */
.corner-d-r::before {
    width: var(--corner-thickness);
    height: var(--corner-leg);
    bottom: 0;
    right: 0;
}
.corner-d-r::after {
    height: var(--corner-thickness);
    width: var(--corner-leg);
    bottom: 0;
    right: 0;
}

/* Accessibilità */
@media (prefers-reduced-motion: reduce) {
    .text-slide, .text-type, .container-fade,
    .text-fade, .paragraph, .line-app {
        transform: none !important;
        opacity: 1 !important;
    }
    .text-marquee .dm-marquee-track {
        animation: none !important;
    }
}

.text-marquee h1,
.text-marquee h2,
.text-marquee h3,
.text-marquee h4,
.text-marquee h5,
.text-marquee h6,
.text-marquee p {
    padding-bottom: 0.2em;
}

/* ============================================================
   MARQUEE — scorrimento testo orizzontale continuo
   ============================================================ */

.dm-marquee-track {
    display: inline-flex;
    white-space: nowrap;
    will-change: transform;
}

.dm-marquee-item {
    white-space: nowrap;
    flex-shrink: 0;
}

/* Torna Su - Stato Normale: Sfondo bianco, icona e bordo nero */
#scroll-top.btn-back-to-top {
    background-color: #ffffff !important;
    border: 1px solid #000000 !important; /* Il bordo serve a non farlo sparire se la pagina sotto è bianca */
}

#scroll-top.btn-back-to-top i {
    color: #000000 !important;
}

/* Torna Su - Stato Hover/Click: Sfondo nero, icona bianca */
#scroll-top.btn-back-to-top:hover,
#scroll-top.btn-back-to-top:active,
#scroll-top.btn-back-to-top:focus {
    background-color: #000000 !important;
    border-color: #000000 !important;
}

#scroll-top.btn-back-to-top:hover i,
#scroll-top.btn-back-to-top:active i,
#scroll-top.btn-back-to-top:focus i {
    color: #ffffff !important;
}/* End custom CSS */