/*
    Theme Name: WAO Theme Child
    GitHub Theme URI: Adrias-Online/wao-theme-child
    Theme URI: https://www.adriasonline.it/
    Author: Adrias Online
    Author URI: https://www.adriasonline.it/
    Description: Tema child base per hotel
    Template: wao-theme
    Version: 1.0.0
*/

/* ---------------------------------
    Foundations
--------------------------------- */

/* Root */
:root {

	/* Colors */
	--color-white: #fff;
	--color-gray-10: #ededed;
	--color-gray-30: #b9b9b9;
	--color-gray-60: #707070;
	--color-gold: #a29e47;
	--color-sand: #756d67;
	--color-green: #567747;
	--color-blue: #2f4253;
	--color-blue-dark: #1c2832;
	--color-black: #000;

	/* Font Family */
	--font-family-system: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	--font-family-sans-serif: "Gotham", var(--font-family-system);

	/* Font Weight */
	--font-weight-light: 300;
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-bold: 700;
	--font-weight-black: 900;

	/* Transitions */
	--transition-base: all .6s cubic-bezier( .2, 1, .3, 1 );

	/* Component Size */
	--container-padding-x: 4vw;

	/* Font Size */
	font-size: 1rem;

}

/* Breakpoints */
@media (width >= 576px) {}
@media (width >= 768px) {}
@media (width >= 1025px) {}
@media (width >= 1280px) {}
@media (width >= 1536px) {}

/* Fonts */
@font-face {

	font-weight: 300;
	font-family: Gotham;
	font-style: normal;
	font-display: swap;
	src: url('./fonts3/Gotham-Light.woff2') format('woff2'),
		url('./fonts3/Gotham-Light.woff') format('woff');

}
@font-face {

	font-weight: 400;
	font-family: Gotham;
	font-style: normal;
	font-display: swap;
	src: url('./fonts3/Gotham-Book.woff2') format('woff2'),
		url('./fonts3/Gotham-Book.woff') format('woff');

}
@font-face {

	font-weight: 500;
	font-family: Gotham;
	font-style: normal;
	font-display: swap;
	src: url('./fonts3/Gotham-Medium.woff2') format('woff2'),
		url('./fonts3/Gotham-Medium.woff') format('woff');

}
@font-face {

	font-weight: 700;
	font-family: Gotham;
	font-style: normal;
	font-display: swap;
	src: url('./fonts3/Gotham-Bold.woff2') format('woff2'),
		url('./fonts3/Gotham-Bold.woff') format('woff');

}
@font-face {

	font-weight: 900;
	font-family: Gotham;
	font-style: normal;
	font-display: swap;
	src: url('./fonts3/Gotham-Black.woff2') format('woff2'),
		url('./fonts3/Gotham-Black.woff') format('woff');

}


/* ---------------------------------
    General
--------------------------------- */

/* stylelint-disable selector-class-pattern -- Con WP non serve */

html {

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeSpeed;
    scroll-behavior: smooth;

}

/* Refusi dal loro codice - Sbagliati */
.l—container-limit {

    box-shadow: none !important;

}

footer.footer-custom {

    max-height: calc( 100vh - 72px );
    overflow: hidden;

}


/* ---------------------------------
    Header
--------------------------------- */

header {

    --container-padding-x: 4vw;
    --header-height: 18vw;
    --logo-height: 10vw;
    --btn-font-size: 0.8rem;
    --btn-margin: 4vw;
    --btn-padding: 0.8em;

    position: relative;
    color: currentColor;
    background: transparent !important;
    transition: var( --transition-base );

}

@media (width >= 768px) {

    header {

        --header-height: 11vw;
        --logo-height: 6vw;

    }

}
@media (width >= 1025px) {

    header {

        --header-height: 6vw;
        --logo-height: 3.5vw;

    }

}
@media (width >= 1536px) {

    header {

        --header-height: 5.5vw;
        --logo-height: 3vw;
        --btn-font-size: 0.75vw;

    }

}

header.header-transparent:not(.sticky) {

    color: var( --color-white );

}

#stickyHeader::before {

    position: absolute;
    inset: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: rgb(255 255 255 / 60%);
    opacity: 0;
    backdrop-filter: blur(3rem);
    transition: var( --transition-base );
    content: "";
    pointer-events: none;

}

#stickyHeader.sticky::before {

    opacity: 1;

}

header,
header.px-xl-4 {

    padding: 0 !important;

}

header .p-header {

    min-height: var( --header-height );
    padding-right: var( --container-padding-x );
    padding-left: var( --container-padding-x );
    font-size: var( --btn-font-size );

}

header .p-header > div:nth-child(1) {

    display: flex;
    align-items: center;
    justify-content: flex-start;

}

header .p-header .pl-2 {

    padding-left: 0 !important;

}

header .p-header .pr-3 {

    padding-right: 0 !important;

}

header .p-header [class*="logo"] img {

    width: auto;
    max-width: 100%;
    height: auto;
    max-height: var( --logo-height );

}

header .hover-underline {

    --border-size: 0.4em;
    --border-position: var( --border-size );

    position: relative;
    line-height: 1em;
    background: none !important;
    transition: var( --transition-base );

}

header .hover-underline::after {

    position: absolute;
    inset: auto 0 0;
    z-index: 1;
    width: 100%;
    height: var( --border-size );
    margin: 0 auto;
    background-image: linear-gradient( var( --color-gold ) 0 0 );
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 0 100%;
    transform: translateY( var( --border-position ) );
    transition: background-size 0.3s, background-position 0s 0.3s;
    content: "";
    pointer-events: none;

}

header .hover-underline:hover::after {

    background-position: 100% 100%;
    background-size: 100% 100%;

}

header .display-5,
header .main-menu-wrapper > a {

    color: currentColor !important;
    font-size: inherit;
    line-height: 1em;

}

header .main-menu-wrapper {

    margin: 0;

}

header .main-menu-wrapper > a {

    margin: 0 2em !important;

}

header .p-header > div:nth-child(3) {

    align-items: center !important;

}

header .header-contact-btn {

    display: none;
    margin: 0;
    padding: 0;
    border: none !important;
    transition: none;

}

@media (width >= 768px) {

    header .header-contact-btn {

        display: block;

    }

}

header .header-contact-btn:hover {

    border: none !important;

}

header .header-contact-btn > a {

    --border-position: calc( var( --border-size ) - var( --btn-padding ) );

    margin-right: var( --btn-margin );
    padding: var( --btn-padding );

}

header .header-contact-btn > a::before {

    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: auto;
    border: 1px solid var( --color-gold );
    transform: scale( 1 );
    transform-origin: center center;
    opacity: 1;
    transition: var( --transition-base );
    content: "";
    pointer-events: none;

}

header .header-contact-btn > a::after {

    width: calc( 100% - ( var( --btn-padding ) * 2 ) );

}

header .header-contact-btn > a:hover::before {

    transform: scale( 0 );
    opacity: 0;

}

header .l--navbar {

    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;

}

header .btn-menu {

    padding: 0.4em;

}

header .btn-menu > div:nth-child(1) {

    margin-right: 1em;
    padding: 0 !important;

}

header .btn-menu > div:nth-child(1) > .display-5 {

    display: inline-flex !important;

}

header .btn-menu .hamburger-menu,
header .btn-menu .closeMenu {

    width: 1.75em !important;
    height: 1.4em !important;
    transition: var( --transition-base );

}

header .btn-menu .hamburger-menu > span,
header .btn-menu .closeMenu > span {

    margin: auto;
    color: currentColor !important;
    background-color: currentColor !important;
    transition: var( --transition-base );

}

header .btn-menu .hamburger-menu > span {

    left: 0 !important;

}

header .btn-menu .hamburger-menu > span:nth-child(1) {

    top: 0 !important;
    bottom: auto !important;

}

header .btn-menu .hamburger-menu > span:nth-child(2) {

    top: 0 !important;
    bottom: 0 !important;
    transform: translateX(-0.4em);

}

header .btn-menu .hamburger-menu > span:nth-child(3) {

    top: auto !important;
    bottom: 0 !important;

}

header .btn-menu:hover .hamburger-menu > span {

    transform: translateX(0.2em);

}


/* ---------------------------------
    Product Category
--------------------------------- */

/* === da revisionare ===

.background-svg {

    background-repeat: no-repeat;
    background-position: center !important;
    background-size: contain !important;

}

.archive.tax-product_cat {

    overflow: hidden;

}

.archive.tax-product_cat #products-strengths [data-anim],
.archive.tax-product_cat #products-strengths .js--hideme,
.archive.tax-product_cat #products-strengths .js--revealMe {

    transition-duration: .3s;
    transition-property: all;
    transition-ease: linear;

}

.archive.tax-product_cat .mostra-testi + .hr-prodotti.cat-hr {

    transform: translateX( 0 );
    opacity: 1;

}

.archive.tax-product_cat .content-prodotto + .separatore-categoria {

    display: none;

}

.archive.tax-product_cat .separatore-categoria {

    max-height: 10px;

}

.archive.tax-product_cat {

    overflow-x: hidden;

}

.archive.tax-product_cat .site-main {

    height: calc( 100vh - 72px );
    overflow: hidden auto;

}

.archive.tax-product_cat .row.categoria-primo-catalogo,
.archive.tax-product_cat .row.categoria-secondo-catalogo {

    min-height: 100vh;

}

.archive.tax-product_cat .row.categoria-primo-catalogo .col-4 > .testo-primo-catalogo .breadcrumbs {

    margin-top: 0;

}

.archive.tax-product_cat .row.categoria-primo-catalogo .col-4 > .testo-primo-catalogo,
.archive.tax-product_cat .row.categoria-secondo-catalogo .col-4 > .testo-secondo-catalogo {

    position: sticky;
    top: -1px;
    padding-top: calc( 25vh - 72px );

}

.archive.tax-product_cat .row.categoria-primo-catalogo .col-8,
.archive.tax-product_cat .row.categoria-secondo-catalogo .col-8 {

    padding-top: 18vh;
    padding-right: 30px;

}

.archive.tax-product_cat .row.categoria-primo-catalogo .col-8 > div,
.archive.tax-product_cat .row.categoria-secondo-catalogo .col-8  > div {

    min-height: 480px;

}

.archive.tax-product_cat .row.categoria-secondo-catalogo .col-8 {

    margin-top: 5.5vh;

}

=== da revisionare === */


.archive.tax-product_cat .site-main.pt-4 {

    padding-top: 5vw !important;

}

@media (width >= 1025px) {

    .archive.tax-product_cat .site-main.pt-4 {

        padding-top: 0 !important;

    }

}

.archive.tax-product_cat .content-prodotto {

    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    pointer-events: none;
    inset: 0;

}

.archive.tax-product_cat .background-svg {

    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transform: none;
    transform: translateY(31vw) translateX(0);
    inset: 0;

}

@media (width >= 768px) {

    .archive.tax-product_cat .background-svg {

        background-size: contain;
        transform: translateY(40vw) translateX(-6vw);

    }

}
@media (width >= 1025px) {

    .archive.tax-product_cat .background-svg {

        width: 40.63vw;
        height: 55.26vw;
        transform: translateY(8.33vw) translateX(1.56vw);

    }

}

.archive.tax-product_cat .separatore-categoria {

    display: none;

}

.archive.tax-product_cat .row[class*="categoria"][class*="catalogo"] {

    --ui-base: clamp(14px, 3.8vw, 24px);
    --text-header-width: 100%;
    --post-grid-width: 100%;
    --text-header-icon-size: 2.6em;
    --post-grid-padding-x: 0;
    --post-grid-col: 1fr;
    --post-grid-row-gap: 3em;
    --post-grid-col-gap: 0;
    --post-card-row-gap: 1em;
    --post-card-col-gap: 1em;
    --post-card-img-width: 9em;
    --post-card-img-height: 9em;

    display: flex;
    flex-flow: column wrap;
    margin: 0;
    padding-right: var( --container-padding-x );
    padding-bottom: 8em;
    padding-left: var( --container-padding-x );
    font-size: var(--ui-base);
    row-gap: 4em;

}

@media (width >= 768px) {

    .archive.tax-product_cat .row[class*="categoria"][class*="catalogo"] {

        --ui-base: clamp(14px, 2.4vw, 24px);
        --post-grid-col: repeat( 3, 1fr );
        --post-grid-row-gap: 5em;

    }

}
@media (width >= 1025px) {

    .archive.tax-product_cat .row[class*="categoria"][class*="catalogo"] {

        --ui-base: clamp(14px, 1.1vw, 24px);
        --text-header-width: 34%;
        --post-grid-width: 66%;
        --post-grid-padding-x: 2.5em;
        --post-card-img-width: 14em;
        --post-card-img-height: 17.8em;

        flex-flow: row nowrap;

    }

}
@media (width >= 1536px) {

    .archive.tax-product_cat .row[class*="categoria"][class*="catalogo"] {

        --ui-base: 1vw;

    }

}

.archive.tax-product_cat .row[class*="categoria"][class*="catalogo"] [class*="col"] {

    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;

}

.archive.tax-product_cat [class*="col"][class*="colonna"][class*="catalogo"] {

    max-width: var(--text-header-width) !important;

}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] {

    display: grid;
    row-gap: var(--post-grid-row-gap);
    max-width: var(--post-grid-width) !important;
    padding-right: var(--post-grid-padding-x) !important;
    padding-left: var(--post-grid-padding-x) !important;
    text-align: left;

}

@media (width >= 768px) {

    .archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] {

        text-align: center;

    }

}
@media (width >= 1025px) {

    .archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] {

        padding-top: 16vh;

    }

}

.archive.tax-product_cat [class*="testo"][class*="catalogo"] {

    position: relative;
    top: 0;
    padding-top: 0;

}

@media (width >= 1025px) {

    .archive.tax-product_cat [class*="testo"][class*="catalogo"] {

        position: sticky;
        top: 5.5vw;
        padding-top: 20vh;

    }

}

.archive.tax-product_cat [class*="testo"][class*="catalogo"] .p-cat-text:last-child {

    display: inline-flex;
    margin-top: 2.1em;
    column-gap: 1.6em;

}

.archive.tax-product_cat .p-cat-text {

    padding-right: 0;
    padding-left: 0;

}

.archive.tax-product_cat .breadcrumbs {

    margin-top: 0;
    font-size: 0.8em;

}

.archive.tax-product_cat .title-cat {

    margin-top: 1em;
    margin-bottom: 0;
    padding-top: 0 !important;
    font-size: 2.1em !important;
    text-transform: capitalize;

}

.archive.tax-product_cat .cat-hr {

    width: 45%;
    margin: 1.4em 0;
    transform: translateX(calc(var( --container-padding-x ) * -1));

}

.archive.tax-product_cat .parag_prodotto {

    max-width: 24em;
    margin-bottom: 0;
    font-size: 1em !important;
    line-height: 1.4em !important;

}

.archive.tax-product_cat .parag_prodotto.pb-3 {

    padding-bottom: 0 !important;

}

.archive.tax-product_cat .cat-ico {

    width: var(--text-header-icon-size);
    height: var(--text-header-icon-size);
    padding: 0;

}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] > div {

    display: grid !important;
    grid-template-columns: var(--post-grid-col);
    place-items: end center;
    row-gap: var(--post-grid-row-gap);
    margin: 0;
    padding: 0 !important;

}

@media (width >= 768px) {


    .archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] > div:not(.row) {

        --post-grid-col: repeat( 2, 1fr );

    }

}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] .row.pb-5 {

    padding-bottom: 0!important;

}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] {

    display: inline-flex;
    flex: 1 1 100%;
    flex-wrap: nowrap;
    gap: var(--post-card-row-gap) var(--post-card-col-gap);
    align-items: center;
    justify-content: flex-start;

}

@media (width >= 768px) {

    .archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] {

        display: flex;
        flex-flow: column wrap;

    }

}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"].text-center {

    text-align: inherit !important;

}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] > a {

    width: 80%;
    margin: 0 auto;
    text-align: center;
    transition: var( --transition-base );

}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] > a:hover {

    opacity: 0.8;

}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] .cat-img {

    width: auto;
    max-width: var(--post-card-img-width);
    height: auto;
    max-height: var(--post-card-img-height);
    transform: scaleX(-1);
    opacity: 1 !important;
    filter: drop-shadow(-8px 8px 8px rgb(0 0 0 / 12%));
    transition: var( --transition-base );

}

@media (width >= 768px) {

    .archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] .cat-img {

        transform: scaleX(1);

    }

}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] > div {

    display: grid;
    row-gap: 0.2em;
    width: 100%;
    font-size: 1.5em;

}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] .py-2 {

    padding-top: 0 !important;
    padding-bottom: 0 !important;

}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] .cat-tit-prodotto {

    font-size: inherit;

}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] .cat-sottotit-prodotto {

    font-size: 0.8em;

}


/* ---------------------------------
    Single Product
--------------------------------- */

.single-product {

    --ui-base: clamp(14px, 3.8vw, 24px);
    --header-height: 18vw;
    --background-svg-size: cover;
    --background-svg-width: 100%;
    --background-svg-height: 100%;
    --background-svg-transform: translateY(31vw) translateX(0);
    --page-padding-y: 2em;
    --product-section-padding-y: 8em;
    --product-section-row-gap: 3em;
    --text-header-padding-x: 1em;
    --text-header-left-padding-left: var(--text-header-padding-x);
    --text-header-width: 100%;
    --text-header-border-position: 0em;
    --text-header-border-margin-y: 3em;
    --text-header-border-margin-y-lg: 4em;
    --img-grid-section-padding-y: 4em;
    --text-header-img-grid-padding-y: 5em;
    --text-header-img-grid-padding-bottom: 5em;
    --product-img-left-margin-left: auto;
    --product-img-right-margin-right: auto;
    --product-img-width: 100%;
    --product-img-height: 30em;
    --product-img-details-width: 80%;
    --product-img-details-height: 30em;
    --product-img-grid-min-width: 60vw;
    --product-img-grid-max-width: 90vw;
    --product-img-grid-height: 100%;

    font-size: var(--ui-base);

}

.single-product.product-linear,
.single-product.product-planar,
.single-product.product-climax,
.single-product.product-lumax,
.single-product.product-harmony,
.single-product.product-harmony-plus,
.single-product.product-harmony-plus-sp,
.single-product.product-pure,
.single-product.product-pure-plus,
.single-product.product-pure-plus-sp {

    --product-img-left-margin-left: -8%;

}

.single-product.product-hs-lumax-plus,
.single-product.product-eco-slide,
.single-product.product-thermalux,
.single-product.product-thermalux-plus {

    --product-img-left-margin-left: -5%;

}

@media (width >= 768px) {

    .single-product {

        --ui-base: clamp(14px, 2.4vw, 24px);
        --header-height: 11vw;
        --background-svg-size: contain;
        --background-svg-transform: translateY(40vw) translateX(-6vw);
        --text-header-width: 29em;
        --product-img-height: 41em;

    }

}

@media (width >= 1025px) {

    .single-product {

        --ui-base: clamp(14px, 1.1vw, 24px);
        --header-height: 6vw;
        --background-svg-width: 40.63vw;
        --background-svg-height: 55.26vw;
        --background-svg-transform: translateY(8.33vw) translateX(1.56vw);
        --page-padding-y: 0;
        --product-section-padding-y: 12.5em;
        --product-section-row-gap: 4em;
        --text-header-padding-x: 4em;
        --text-header-left-padding-left: 2em;
        --text-header-border-position: 2em;
        --text-header-border-margin-y: 4em;
        --text-header-border-margin-y-lg: 5em;
        --img-grid-section-padding-y: 8em;
        --text-header-img-grid-padding-y: 8em;
        --text-header-img-grid-padding-bottom: 10em;
        --product-img-details-width: 45em;
        --product-img-details-height: 38em;
        --product-img-grid-min-width: 60vw;
        --product-img-grid-max-width: 70vw;
        --product-img-grid-height: 120vh;

    }

}

@media (width >= 1536px) {

    .single-product {

        --ui-base: 1vw;
        --header-height: 5.5vw;

    }

}

.single-product .site-main {

    padding-top: var(--page-padding-y);

}

.single-product .content-prodotto {

    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    pointer-events: none;
    inset: 0;

}

.single-product .background-svg {

    width: var(--background-svg-width);
    max-width: none;
    height: var(--background-svg-height);
    max-height: none;
    margin: auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: var(--background-svg-size);
    transform: var(--background-svg-transform);
    inset: 0;

}

.single-product .separatore-prodotti {

    display: none;

}

.single-product .prodotto-interno,
.single-product .prodotto-esterno,
.single-product .prodotto-dettaglio,
.single-product .prodotto-immagini {

    padding: 0;

}

.single-product .prodotto-interno .row,
.single-product .prodotto-esterno .row,
.single-product .prodotto-dettaglio .row,
.single-product .prodotto-immagini .row {

    margin-right: 0;
    margin-left: 0;

}

.single-product .prodotto-interno > .row,
.single-product .prodotto-esterno > .row,
.single-product .prodotto-dettaglio > .row {

    height: auto !important;
    padding-right: var( --container-padding-x );
    padding-left: var( --container-padding-x );
    row-gap: var(--product-section-row-gap);

}

.single-product .prodotto-interno [class*="col"],
.single-product .prodotto-esterno [class*="col"],
.single-product .prodotto-dettaglio [class*="col"],
.single-product .prodotto-immagini [class*="col"] {

    padding-right: 0;
    padding-left: 0;

}

@media (min-width: 768px) and (max-width: 1024.98px) {

    .single-product .prodotto-interno > .row > .col-md-6,
    .single-product .prodotto-esterno > .row > .col-md-6,
    .single-product .prodotto-dettaglio > .row > .col-md-6 {

        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;

    }

}

.single-product [class*="scroll-img"] {

    width: auto;
    max-width: var(--product-img-width);
    height: auto;
    max-height: var(--product-img-height);

}

.single-product .descrizione-prodotto {

    max-width: 100%;

}

.single-product .descrizione-prodotto.text-body {

    margin: 0;

}

.single-product .pr-font-title2 {

    font-size: 2.3em;
    line-height: 1em;

}

.single-product .pr-font-sott-title2 {

    max-width: 11em;
    margin-top: 0.4em !important;
    font-size: 1.56em;
    line-height: 1.2em;
    opacity: 0.9;

}

.single-product .parag_prodotto {

    max-width: var(--text-header-width);
    font-size: 1em !important;
    line-height: 1.4em;

}

.single-product .parag_prodotto.pt-interno-txt, .single-product .parag_prodotto.p-esterno-txt {

    padding-top: 2em;
    padding-bottom: 0;

}

.single-product .hr-prodotti {

    margin-top: var(--text-header-border-margin-y);
    margin-bottom: var(--text-header-border-margin-y);

}

@media (width >= 768px) {

    .single-product .pr-font-sott-title2 {

        max-width: 100%;
        margin-top: 0.2em !important;

    }

}

@media (width >= 1025px) {

    .single-product .prodotto-interno > .row, .single-product .prodotto-esterno > .row, .single-product .prodotto-dettaglio > .row {

        min-height: 100vh;

    }

    .single-product .parag_prodotto.pt-interno-txt, .single-product .parag_prodotto.p-esterno-txt {

        padding-top: 3.2em;

    }

}


/* === Prodotto Interno === */

.single-product .prodotto-interno .scroll-img-interno {

    margin-left: var(--product-img-left-margin-left) !important;

}

.single-product .prodotto-interno .col-txt-interno {

    padding-right: var(--text-header-padding-x);
    padding-left: var(--text-header-padding-x);

}

.single-product .prodotto-interno .br-interno {

    padding-left: 0;

}

.single-product .prodotto-interno .breadcrumbs {

    margin-top: 0;
    font-size: 0.8em;

}

.single-product .prodotto-interno .h_interno {

    margin-top: 0.4em;
    margin-bottom: 1em;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 3em !important;
    text-transform: uppercase!important;

}

.single-product .prodotto-interno .pr-font-title2 {

    padding-top: 0;

}

.single-product .prodotto-interno .hr-prodotti {

    width: calc(100% + var( --text-header-padding-x ) + var( --container-padding-x ) + var( --text-header-border-position )) !important;
    transform: translateX(calc(var( --text-header-border-position ) * -1));

}

.single-product .prodotto-interno .p-interno-btn {

    display: inline-flex !important;
    max-width: var(--text-header-width);
    padding-top: 0;
    padding-left: 0 !important;

}

.single-product .prodotto-interno .p-interno-btn > div {

    font-size: 1.3em;
    line-height: 1em;

}

.single-product .prodotto-interno .p-interno-btn a {

    display: inline-flex;
    padding: 0;
    font-size: inherit;
    overflow: visible;

}

.single-product .prodotto-interno .p-interno-btn a::before,
.single-product .prodotto-interno .p-interno-btn a::after {

    position: absolute;
    top: auto;
    bottom: -0.3em;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: currentColor;
    transform-origin: left center;
    transition: var(--transition-base);
    content: "";
    pointer-events: none;
    z-index: 1;
    opacity: 1;

}

.single-product .prodotto-interno .p-interno-btn a::before {

    transform: scaleX(1);
    opacity: 0.4;

}

.single-product .prodotto-interno .p-interno-btn a::after {

    transform: scaleX(0);
    background-color: var(--color-gold);

}

.single-product .prodotto-interno .p-interno-btn a:hover::after {

    transform: scaleX(1);

}

@media (width >= 1025px) {

    .single-product .prodotto-interno > .row {

        min-height: calc(100vh - var(--header-height));

    }

    .single-product .prodotto-interno .h_interno {

        margin-bottom: 1.4em;

    }

}


/* === Prodotto Esterno === */

.single-product .prodotto-esterno {

    padding-top: var(--product-section-padding-y);

}

.single-product .prodotto-esterno .scroll-img-esterno {

    margin-right: var(--product-img-right-margin-right) !important;

}

.single-product .prodotto-esterno .col-txt-esterno {

    padding-right: var(--text-header-padding-x);
    padding-left: var(--text-header-left-padding-left);

}

.single-product .prodotto-esterno .p-prod-esterno {

    padding-bottom: 0 !important;
    padding-left: 0;

}

.single-product .prodotto-esterno .pr-font-title2 {

    padding-top: 0 !important;

}

.single-product .prodotto-esterno .hr-prodotti {

    width: calc(100% + var( --text-header-left-padding-left ) + var( --container-padding-x )) !important;
    transform: translateX(calc((var( --text-header-left-padding-left ) + var( --container-padding-x )) * -1));
    margin-bottom: 0;

}


/* === Prodotto Dettaglio === */

.single-product .prodotto-dettaglio {

    padding-top: var(--product-section-padding-y);
    padding-bottom: var(--product-section-padding-y);

}

.single-product .prodotto-dettaglio > .row > [class*="col"]:nth-child(1) {

    padding-right: var(--text-header-padding-x);
    padding-left: var(--text-header-left-padding-left);

}

.single-product .prodotto-dettaglio .p-det-cont {

    width: 100%;
    position: relative;

}

.single-product .prodotto-dettaglio .p-det-cont:not(:first-child):not(:only-child)::before {

    position: relative;
    top: 0;
    left: 0;
    display: inline-flex;
    width: calc(100% + var( --text-header-left-padding-left ) + var( --container-padding-x )) !important;
    height: 2px;
    margin-top: var(--text-header-border-margin-y-lg);
    margin-bottom: var(--text-header-border-margin-y-lg);
    background-color: currentColor;
    transform: translateX(calc((var( --text-header-left-padding-left ) + var( --container-padding-x )) * -1));
    content: "";

}

.single-product .prodotto-dettaglio .pr-desc-col {

    padding-top: 0;

}

.single-product .prodotto-dettaglio .pr-font-title2 {

    padding-bottom: 0 !important;
    text-transform: uppercase;
    margin-bottom: 0.5em;

}

.single-product .prodotto-dettaglio .parag_prodotto {

    padding-bottom: 0;

}

.single-product .prodotto-dettaglio .p-det-cont > .row {

    margin-top: 3em;
    row-gap: 2em;

}

.single-product .prodotto-dettaglio .p-det-cont > .row > [class*="col"] > p {

    display: flex;
    padding-left: 0.22em;
    font-size: 1em !important;
    line-height: 1.4em !important;

}

.single-product .prodotto-dettaglio .p-det-cont > .row > [class*="col"] > .pr-desc-p-dati {

    padding: 0.04em 0 0.2em;
    font-size: 2.8em !important;
    line-height: 1em !important;

}

.single-product .prodotto-dettaglio .img-det-h {

    width: auto;
    max-width: var(--product-img-details-width);
    height: auto;
    max-height: var(--product-img-details-height);

}

@media (width >= 1025px) {

    .single-product .prodotto-dettaglio .p-det-cont > .row {

        margin-top: 4em;
        row-gap: 3em;

    }

}


/* === Prodotto Immagini === */

.single-product .prodotto-immagini,
.single-product .simple-gallery {

    position: relative;
    height: 100%;
    background-color: var(--color-white);

}

.single-product .prodotto-immagini .col {

    width: auto;

}

.single-product .prodotto-immagini .col-txt-scorrimento {

    flex: 1;

}

.single-product .prodotto-immagini .col-img-scorrimento {

    flex: 0 0 auto;

}

.single-product .prodotto-immagini .col-img-scorrimento img {

    width: auto;
    min-width: var(--product-img-grid-min-width);
    max-width: var(--product-img-grid-max-width);
    height: auto;
    max-height: var(--product-img-grid-height);
    object-fit: cover;

}

.single-product .prodotto-immagini .padding-scorrimento {

    min-height: auto;
    padding-right: calc(var(--container-padding-x) + var(--text-header-padding-x));
    padding-left: calc(var(--container-padding-x) + var(--text-header-padding-x));
    padding-top: var(--text-header-img-grid-padding-y);
    padding-bottom: var(--text-header-img-grid-padding-bottom);

}

.single-product .prodotto-immagini .pr-scorr-f-title {

    margin-bottom: 1em;
    padding-bottom: 0;
    font-size: 1.56em;
    line-height: 1.2em;

}

.single-product .prodotto-immagini.img-scorrimento-sx {

    padding-top: var(--img-grid-section-padding-y);

}

.single-product .prodotto-immagini.img-scorrimento-dx > .row {

    display: flex;
    justify-content: flex-end;

}

.single-product .prodotto-immagini.img-scorrimento-sx > .row {

    display: flex;
    justify-content: flex-start;

}

.single-product .simple-gallery {

    padding-top: var(--img-grid-section-padding-y);
    padding-bottom: var(--product-section-padding-y);

}

.single-product .simple-gallery .flickity-button {

    width: 2.5em;
    height: 3.1em;
    padding: 0 !important;

}

.single-product .simple-gallery .flickity-button::after {

    width: 100%;
    height: 100%;

}

.single-product .simple-gallery .flickity-button.previous {

    left: var(--container-padding-x);

}

.single-product .simple-gallery .flickity-button.next {

    right: var(--container-padding-x);

}

@media (width >= 1025px) {

    .single-product .prodotto-immagini .padding-scorrimento {

        padding-right: var( --container-padding-x );
        padding-left: var( --container-padding-x );

    }

}

/* Sticky */
.single-product .prodotto-esterno,
.single-product .prodotto-interno { overflow: hidden; }
.single-product #page,
.single-product .prodotto-dettaglio.prodotto-dettaglio--doppio { overflow: unset !important; }
.single-product .prodotto-dettaglio.prodotto-dettaglio--doppio > .row > .col-md-6.d-flex.justify-content-center{ display: block !important; }
.single-product .prodotto-dettaglio.prodotto-dettaglio--doppio .img-det-h { position: sticky; top: 54px; max-width: 100%; }


/* === Complements Template === */

body .page-hero {
    position: relative;
    margin-top: calc(var(--header-height) * -1);
    margin-bottom: 0;
}

body .page-hero .page-hero--bg-image {
    padding-top: 0;
    padding-right: var(--container-padding-x);
    padding-left: var(--container-padding-x);
}

body .page-hero h2 {
    margin-bottom: 0;
    line-height: 1.1em;
}

body .page-hero h2:nth-child(1) {
    font-size: 3em !important;
}

body .page-hero h2:nth-child(2) {
    margin-top: 0.3em;
    font-size: 2.1em !important;
}

.page-intro {
    --section-padding-y: 7em;
    padding: var(--section-padding-y) var(--container-padding-x);
}

.page-intro h1 {
    margin-top: 0.8em;
    margin-bottom: 0;
    font-size: 3em !important;
    text-transform: uppercase;
}

.page-intro h2 {
    margin-top: 0.2em;
    margin-bottom: 0;
    font-size: 2.1em !important;
}

.page-intro p {
    margin-top: 1.6em;
    margin-bottom: 0;
    font-size: 1em !important;
    line-height: 1.4em !important;
}

.single-product .prodotto-immagini + .prodotto-immagini {
    padding-top: var(--img-grid-section-padding-y);
}

.single-product > [class*="row--"]:last-child {
    margin-bottom: var(--section-padding-y);
}

.single-product.complement-content p {
    margin-bottom: 0;
    font-size: inherit !important;
    font-weight: var(--font-weight-regular);
    line-height: inherit !important;
}

.single-product .parag_prodotto ul {
    list-style-type: square;
    margin-bottom: 0;
    padding-left: 2.1em;
}

.single-product .parag_prodotto li {}

.single-product .parag_prodotto strong {
    font-weight: var(--font-weight-medium) !important;
}

.single-product .parag_prodotto p + p {}

.single-product .parag_prodotto p + ul {
    margin-top: 0.6em;
}

.single-product .parag_prodotto ul + p {
    margin-top: 1.2em;
}

.single-product .prodotto-immagini.has-secondary-image {
    --text-header-img-grid-padding-bottom: 3em;
}

.single-product .secondary-image {
    text-align: center;
}

.single-product .secondary-image img {
    margin: 0 auto;
    max-width: 100%;
    max-height: 100%;
}

.is-text-centered-in-column {

    display: flex;
    flex-flow: column;
    justify-content: center;
    height: 100%;

}

.single-product [class*="prodotto-"] > .row.row--full-width .col,
.single-product [class*="prodotto-"] > .row.row--full-width .col img {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
}

.single-product .prodotto-dettaglio > .row > .col {
    flex: 0 0 auto;
}

.single-product .prodotto-dettaglio > .row > .col-txt {
    padding-right: var(--text-header-padding-x);
    padding-left: var(--text-header-left-padding-left);
}

.single-product .prodotto-dettaglio > .row > .col-img:nth-child(1) {
    padding-right: 0;
    padding-left: 0;
}

@media (width >= 768px) {
    .page-id-864 .single-product {
        --text-header-width: 100%;
    }
}

@media (width >= 1025px) {
    .page-id-864 .single-product {
        --product-img-grid-min-width: 50vw;
        --product-img-grid-max-width: 50vw;
    }
}


/* === Reviews === */

body #page {
    font-size: var(--ui-base);
}

body {

    --ui-base: clamp(14px, 3.8vw, 24px);
    --header-height: 18vw;
    --page-padding-y: 2em;
    --section-padding-y: 8em;
    --section-row-gap: 3em;
    --text-header-padding-x: 1em;

    font-size: var(--ui-base);

}

@media (width >= 768px) {

    body {

        --ui-base: clamp(14px, 2.4vw, 24px);
        --header-height: 11vw;

    }

}

@media (width >= 1025px) {

    body {

        --ui-base: clamp(14px, 1.1vw, 24px);
        --header-height: 6vw;
        --page-padding-y: 0;
        --section-padding-y: 12.5em;
        --section-row-gap: 4em;
        --text-header-padding-x: 4em;

    }

}

@media (width >= 1536px) {

    body {

        --ui-base: 1vw;
        --header-height: 5.5vw;

    }

}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] .cat-tit-prodotto {
    font-weight: var(--font-weight-medium) !important;
}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] > div.d-flex {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center !important;
    justify-content: center !important;
}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] > div.d-flex > div {
    display: grid;
    row-gap: 0.2em;
}

.archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] > div.d-flex > div:nth-child(2) {
    font-weight: var(--font-weight-light);
    padding: 0 0.3em !important;
}

@media (width >= 1025px) {
    .archive.tax-product_cat .row[class*="categoria"][class*="catalogo"] {
        --post-card-img-width: 17em;
    }
}

@media (max-width: 767.98px) {
    .archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] > div.d-flex {
        justify-content: flex-start !important;
        row-gap: 0em;
    }

    .archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] > div.d-flex > div {
        width: 100%;
    }

    .archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] > div.d-flex > div:nth-child(2) {
        display: none !important;
    }

    .archive.tax-product_cat [class*="col"][class*="cont-imgs"][class*="catalogo"] [class*="col"] > div.d-flex > div:last-child {
        border-top: 2px solid var(--color-blue);
        padding-top: 0.7em;
        margin-top: 0.7em;
    }
}

@media (width >= 768px) {
    .single-product {
        --product-img-height: 40em;
    }
}

.single-product .prodotto-dettaglio .p-det-cont > .row > [class*="col"] > .pr-desc-p-dati {
    font-size: 2.6em !important;
}

header #menuContainer {
    position: fixed;
    top: 0 !important;
    visibility: hidden;
    opacity: 1;
    color: var(--color-white);
    transform: translateY(-100%);
    transition: var(--transition-base);
}

header #menuContainer.opened {
    visibility: visible;
    transform: translateY(0);
    transition: var(--transition-base);
}

header .header-menu {
    min-height: var( --header-height );
    padding: 0 var(--container-padding-x) !important;
    font-size: var( --btn-font-size );
}

header .header-menu > div {
    padding: 0 !important;
}

header .header-menu > div > div:nth-child(1) {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

header .header-menu > div > div:nth-child(1) img {
}

header .header-menu > div > div:nth-child(2) {
    align-items: center !important;
}

header .btn-menu > div:nth-child(1) > .display-5 {
    width: auto !important;
    height: auto !important;
    margin: 0;
}

header .btn-menu-close:hover #closeMenu {
    transform: none;
    transition: var( --transition-base );
}

header .btn-menu-close:hover #closeMenu > span:nth-child(1) {
    transform: rotate(180deg) !important;
}

header .btn-menu-close:hover #closeMenu > span:nth-child(3) {
    transform: rotate(0deg) !important;
}

header #menuContainer .g--menu {
    display: flex !important;
    flex-direction: column;
    align-content: stretch;
}

header #menuContainer .g--menu > .header-menu-wrapper {
    display: flex;
    align-content: center;
    flex: 1;
    margin-top: 3em;
}

header .menu-item.current-menu-item .hover-underline::after {

    background-position: 100% 100%;
    background-size: 100% 100%;

}

@media (width >= 1025px) {
    header #menuContainer .g--menu > .header-menu-wrapper {
        margin-top: 0;
    }
}

footer.footer-custom {
    max-height: none;
    overflow: unset;
}

footer.footer-custom > .container-fluid {
    padding-right: 0;
    padding-left: 0;
    background-color: var(--color-blue);
}

footer.footer-custom .footer-container {
    padding-right: var(--container-padding-x);
    padding-left: var(--container-padding-x);
    padding-top: var(--container-padding-x);
}

footer.footer-custom .footer-container > .row:first-child > div:first-child .row > div {
    display: grid;
    align-content: space-between;
}

footer.footer-custom .footer-info {
    height: auto;
}

body .breadcrumbs {
    margin-top: 0;
    font-size: 0.8em;
}

body .breadcrumbs a {
    color: currentColor;
}

body .breadcrumbs a:hover {
    color: var(--color-gold);
}

body .complements-previews-container {
    display: grid;
    row-gap: 3em;
}

body .complements-previews-container .complement-preview--image > div {
    height: 32em;
}

@media (width >= 768px) {

	body .complements-previews-container {
	    row-gap: 6em;
	}

	body .complements-previews-container .complement-preview--image > div {
	    height: 40em;
	}

}

body .homepage--strengths h2 {
    color: var(--color-white);
}

body .homepage--strengths .quadrato-js p {
    line-height: 1.2em;
}

body .post-slider-item-v1 > div {
    transition: var(--transition-base);
}

body .post-slider-item-v1:hover > div {
    border-width: 0.6em;
    border-color: rgb(162 158 71 / 80%);
}

body .post-slider-item-v1--image-wrapper img {
    object-fit: contain;
    object-position: center;
    transform: none !important;
}


/* New fix */

header #menuContainer #menu .menu-list {
    height: 100%;
    overflow-y: hidden;
}

body .homepage--featured-product {
    --text-header-padding-x: 1.5em;
    --container-padding-x: 2em;
}

body .homepage--featured-product,
body .homepage--featured-product [class*="col"] {
    padding-right: 0;
    padding-left: 0;
}

body .homepage--featured-product .container-left--1-3 {
    margin-left: 0;
}

@media (width >= 768px) {
	body .homepage--featured-product .container-left--1-3 {
	    padding-right: var(--container-padding-x) !important;
	    padding-left: var(--container-padding-x) !important;
	}
}

body .homepage--featured-product .row {
    margin-right: 0;
    margin-left: 0;
}

body .homepage--featured-product .flickity-slider > div {
    padding-bottom: 0;
}

body .post-slider-item-v1 {
    padding-right: var(--text-header-padding-x);
    padding-left: var(--text-header-padding-x);
    padding-bottom: 8em;
}

body .post-slider-item-v1 > div {
    margin-right: 0;
    height: 25em;
    overflow: visible;
}

body .post-slider-item-v1--info {
    padding: 2em;
}

body .post-slider-item-v1--image-wrapper {
    position: relative;
    overflow: visible;
    top: 0;
    left: 0;
    margin: auto;
    text-align: center;
}

body .post-slider-item-v1--image-wrapper::after {
    display: none;
}

body .post-slider-item-v1--image-wrapper img {
    position: relative;
    max-width: 90%;
    height: 22em;
    margin: auto;
}
