/*
Theme Name: GBS Child
Theme URI: http://underscores.me/
Author: Global Business Solution S.r.l.
Author URI: http://www.gbs-group.it
Description: GBS Custom WordPress Theme. This theme is not available for you to download or buy.
Template: gbs
Version: 2.0.0
*/

@media screen and (max-width:1720px){
  :root {
  --w-container: 1920px;
  }
  .layout8 .title-txt-normal,
  .blocco-blog-custom .layout8 > section,
  .footer-top div.col-33:first-child,
  #widget-area > div,
  .footer-bottom-menu.w-container-header,
  #copyright-area > div,
  #paragrafi .layout11 h2,
  .container-tabs > div:first-child {
    padding-inline: 30px;
  }
  .navigation-content > div,
  #quadmenu .quadmenu-row,
  .shop_archive .visore-container > div,
  .woocommerce-breadcrumb-container > div,
  .linea-category-rassicurativi > div,
  .shop_archive .trattamenti-hub__section > .w-container-small,
  .layout14,
  .blog-archive .sections_group {
    padding-inline: 20px;
  }
}

@media only screen and (max-width: 1720px) and (min-width: 1441px) {
  .sections_group .visore .col-50:has(.title-h1) {
    padding-left: 20px;
  }
}

@media screen and (min-width:1440px){
  .shop_archive .linea-category-hero h1 {
    font-size: 64px;
  }
  .sections_group .visore .title-h1 {
    font-size: 64px;
  }
}

@media only screen and (max-width: 1440px) {
  .navigation-content > div,
  #quadmenu .quadmenu-row,
  .shop_archive .visore-container > div,
  .woocommerce-breadcrumb-container > div,
  .layout14,
  .blog-archive .sections_group {
    padding-inline: 0;
  }
  .cat-card-1 {
    height: auto;
    aspect-ratio: 2/3;
  }
  /* pagina prodotto */
  .woocommerce-product-gallery__image.first-img-p a {
    padding: 150px;
  }
  /* Trattamenti */
  .shop_archive.trattamenti .linea-category-hero video.visore-bg {
    transform: scale(1.6);
  }
  .shop_archive.trattamenti .linea-category-hero .visore-container::before {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.48) 45%, rgba(0, 0, 0, 0.00) 60%);
  }
  /* FOOTER */
  #footer .w-container-header {
    padding-inline: 30px;
  }

  .footer-top div.col-33:first-child figure {
    padding-block: 30px;
  }

  .footer-top div.col-33 a {
    font-size: 18px;
    padding: 30px;
    justify-content: center;
  }
}

@media only screen and (max-width: 1220px) {
  .layout8 .title-txt-normal,
  #widget-area > div,
  .footer-top div.col-33:first-child,
  #copyright-area > div,
  #paragrafi .layout11 h2,
  .container-tabs > div:first-child {
    padding-inline: 0;
  }

  #quadmenu .quadmenu-row {
    padding-inline: 30px;
  }

  /* HEADER */
  #navigation-bar .w-container-header {
    padding-inline: 30px;
  }
  /* PAGINA CATEGORIA */
  .shop_archive .product-card.col-25:not(.product-card-wrapper .product-card) {
    width: 33.3%;
  }
  /* Trattamenti */
  .shop_archive.trattamenti .linea-category-hero video.visore-bg {
    transform: scale(1.7);
  }
  /* PARAGRAFI */
  /* layout8 */
  .layout8 h2 {
    margin-left: 0;
  }

  .layout8 h2 br {
    display: none;
  }

  /* triple prod card */
  .triple-product-card>figure {
    width: 33%;
  }

  .triple-product-card .product-card-wrapper {
    width: 34%;
  }

  /* blocco blog */
  .blocco-blog-custom .title-txt-normal {
    width: 70%;
  }

  .blocco-blog-custom .title-txt-normal h2 {
    margin-inline: 0;
  }

  .blocco-blog-custom .grid-cols-4 .post-card:not(.card-0)>div:last-child {
    justify-content: start;
  }

  .blocco-blog-custom p,
  .blocco-blog-custom .label {
    margin-bottom: 0;
  }

  .blocco-blog-custom .grid-cols-4 .post-card .title-post-list {
    line-height: 1.2;
  }

  /* layout11 */
  .layout11 .col-50:has(h2) {
    width: 100%;
  }
  /* PRODUCT PAGE */
  .product .summary-prod-container,
  .woocommerce-page div.product div.summary {
    width: 50%;
  }
  .woocommerce-product-gallery__image.first-img-p a {
    padding: 100px;
  }
}


@media only screen and (max-width: 1099px) {
  /* Cerca header: tocca il logo, nascosto (resta nel menu mobile <= 768px) */
  .woocommerce-icons-header-container .header-search-wrapper {
    display: none;
  }
}

@media only screen and (max-width: 1080px) {
  #widget-area > div,
  .footer-bottom-menu.w-container-header,
  #copyright-area > div {
    padding-inline: 0;
  }

  .paragrafo.layout8 div:has(> .btn):not(.product-card-wrapper) {
    width: 30%;
  }
  /* quadmenu */
  #quadmenu.quadmenu-is-horizontal .quadmenu-navbar-nav .quadmenu-row .quadmenu-item-type-column:has(figure) {
    min-height: 245px;
  }

  .rassicurativo-title {
    width: 60%;
  }
  /* pagina prodotto */
  .woocommerce-product-gallery__image.first-img-p a {
    padding: 80px;
  }
  /* Pagine Linea */
  .shop_archive .linea-img-text-block__content {
    padding: 20px 40px;
  }
  /* Trattamenti */
  .shop_archive.trattamenti .linea-category-hero .visore-container::before {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.48) 55%, rgba(0, 0, 0, 0.00) 70%);
  }
}

@media only screen and (min-width: 768px) {
  /* menù skincare */
  #menu-item-3787 .megamenu-image img {
    height: 380px !important;
  }
}

@media only screen and (max-width: 768px) {
  /* HEADER */
  header .navigation-content > div {
    align-items: center;
  }
  #navigation-bar button#mobile-quadmenu-close {
    display: flex;
  }

  header .banner_wrapper {
    gap: 40px;
    align-items: center;
  }

  header #navigation-bar .navigation-content.type_menu_2 .site-menu {
    display: none;
  }

  header #navigation-bar .navigation-content.type_menu_2 .menu-toggle {
    display: inline-flex;
    position: inherit;
    transform: translateX(0);
    width: 25%;
  }
  header #navigation-bar.sticky .navigation-content {
    padding: 0;
  }

  header #quadmenu .quadmenu-navbar-nav .quadmenu-row {
    flex-wrap: wrap !important;
  }

  #quadmenu .last-post-menu__grid {
    grid-template-columns: 1fr;
  }

  #hamburgerBtn {
    cursor: pointer;
  }

  #navigation-bar .navigation-content.horizontal-menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    width: 100% !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #ffffff;
    border-bottom: 0;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateX(100%);
    transition: transform 0.35s ease, opacity 0.35s ease, visibility 0.35s ease;
    padding: 64px 20px 32px;
    box-sizing: border-box;
    /* Override .flex.align-items-center.justify-content-center on this node:
       those utilities centered/shrunk the menu and blocked nested scroll. */
    display: block !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  #page.mobile-quadmenu-open #navigation-bar .navigation-content.horizontal-menu {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
  }

  #navigation-bar .navigation-content.horizontal-menu .site-menu,
  #navigation-bar .navigation-content.horizontal-menu .w-container-header {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-inline: 0 !important;
    overflow: visible !important;
    flex: none !important;
  }

  #navigation-bar .navigation-content.horizontal-menu .w-container-header {
    display: block !important;
  }

  #navigation-bar .navigation-content.horizontal-menu .site-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: none !important;
  }

  #navigation-bar .navigation-content.horizontal-menu .site-menu > #site-navigation,
  #navigation-bar .navigation-content.horizontal-menu .site-menu > #quadmenu,
  #navigation-bar .navigation-content.horizontal-menu #quadmenu,
  #navigation-bar .navigation-content.horizontal-menu #quadmenu .quadmenu-container,
  #navigation-bar .navigation-content.horizontal-menu #quadmenu .quadmenu-navbar-collapse {
    width: 100% !important;
    max-width: none !important;
    align-self: stretch !important;
  }

  #navigation-bar .navigation-content.horizontal-menu #quadmenu .quadmenu-navbar-nav,
  #site-navigation #quadmenu .quadmenu-navbar-nav {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
  }

  #navigation-bar .navigation-content.horizontal-menu #quadmenu .quadmenu-navbar-nav > li,
  #site-navigation #quadmenu .quadmenu-navbar-nav > li {
    width: 100% !important;
    max-width: none !important;
  }

  #navigation-bar .navigation-content.horizontal-menu #quadmenu .quadmenu-navbar-nav .quadmenu-dropdown-menu > ul,
  #site-navigation #quadmenu .quadmenu-navbar-nav .quadmenu-dropdown-menu > ul {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  #navigation-bar .navigation-content.horizontal-menu .site-menu > #site-navigation {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
  }

  #site-navigation {
    position: relative;
    top: 0;
    left: 0;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Desktop megamenu width must not apply inside the mobile overlay. */
  #site-navigation #quadmenu .quadmenu-navbar-nav .quadmenu-dropdown-menu>ul {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  #site-navigation #quadmenu.js .quadmenu-navbar-header,
  #site-navigation #quadmenu .quadmenu-navbar-toggle,
  #site-navigation #quadmenu .quadmenu-navbar-toggle-container,
  #site-navigation #quadmenu .quadmenu-mobile-shadow {
    display: none !important;
  }

  #site-navigation #quadmenu.js .quadmenu-navbar-nav {
    display: block !important;
  }

  #site-navigation #quadmenu,
  #site-navigation #quadmenu .quadmenu-navbar-nav,
  #site-navigation #quadmenu .quadmenu-navbar-nav>li {
    width: 100% !important;
  }

  #site-navigation #quadmenu .quadmenu-navbar-nav>li {
    border-bottom: 1px solid var(--gray-border);
  }

  #site-navigation #quadmenu .quadmenu-navbar-nav>li>a {
    padding: 14px 0 !important;
  }

  #site-navigation #quadmenu .quadmenu-navbar-nav .megamenu-image img {
    width: 100%;
  }

  #site-navigation #quadmenu .quadmenu-navbar-nav .megamenu-image .quadmenu-img-label {
    top: 12px;
    left: 12px;
  }

  #site-navigation #quadmenu .quadmenu-navbar-nav .megamenu-image::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0.3) 100%);
  }

  #site-navigation #quadmenu .quadmenu-navbar-nav .megamenu-image .quadmenu-img-text {
    bottom: 12px;
    left: 12px;
  }

  /* Fix scroll menu verticale */
  #site-navigation #quadmenu .quadmenu-dropdown-menu,
  #site-navigation #quadmenu .quadmenu-dropdown-menu>ul,
  #site-navigation #quadmenu .quadmenu-item-type-column>.quadmenu-dropdown-menu {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 0 0 14px !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }

  #site-navigation #quadmenu .quadmenu-item-type-column {
    padding-inline: 0 !important;
  }

  #site-navigation #quadmenu figure {
    height: auto;
  }

  #mobile-quadmenu-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 16px;
    right: 20px;
    width: 36px;
    height: 36px;
    border: 1px solid var(--gray-border);
    border-radius: 50%;
    background: #ffffff;
    color: #000000;
    cursor: pointer;
    z-index: 2;
  }

  #mobile-quadmenu-close .material-symbols-outlined {
    font-size: 22px;
    line-height: 1;
  }

  #page:not(.mobile-quadmenu-open) #mobile-quadmenu-close {
    display: none;
  }

  #navigation-bar .navigation-content.horizontal-menu .site-menu > .mobile-menu-search {
    position: relative;
    display: block;
    flex: 0 0 auto;
    align-self: stretch;
    width: 100%;
    margin: 0 0 16px;
    padding: 0 0 16px;
    border-bottom: 1px solid var(--gray-border);
    box-sizing: border-box;
    overflow: visible;
  }

  #navigation-bar .navigation-content.horizontal-menu .site-menu > .mobile-menu-search .search-container {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0;
  }

  #navigation-bar .navigation-content.horizontal-menu .site-menu > .mobile-menu-search .search-form {
    position: relative;
    width: 100%;
  }

  #navigation-bar .navigation-content.horizontal-menu .site-menu > .mobile-menu-search .search-form label {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
  }

  #navigation-bar .navigation-content.horizontal-menu .site-menu > .mobile-menu-search .search-form .search-field {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  #navigation-bar .navigation-content.horizontal-menu .site-menu > .mobile-menu-search .search-form .search-submit {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
  }

  #navigation-bar .navigation-content.horizontal-menu .site-menu > .mobile-menu-search .search-form .search-button {
    display: none !important;
  }

  #quadmenu .quadmenu-item .quadmenu-item-type-column:has(.custom-html-widget) {
    width: 100% !important;
    max-width: 100%;
    flex: 0 0 100%;
  }
  #quadmenu:not(.quadmenu-is-horizontal).quadmenu-mobile-shadow-show {
    box-shadow: none;
  }
  #quadmenu.quadmenu-default_theme:not(.quadmenu-is-horizontal) .quadmenu-navbar-nav li.quadmenu-item .quadmenu-item-widget {
    padding: 10px;
  }

  /* MENU MOBILE */
  /* Icone header più compatte */
  header .banner_wrapper .woocommerce-icons-header-container {
    gap: 12px;
  }

  /* Ricerca nel menu mobile */
  #navigation-bar .navigation-content.horizontal-menu .mobile-menu-search .search-form .search-field {
    height: 44px;
    padding: 0 16px 0 44px !important;
    border: 1px solid var(--gray-border) !important;
    border-radius: 50px !important;
    background-color: #f9f2ee !important;
    font-family: Karla, sans-serif;
    font-size: 14px;
    line-height: 44px;
    color: #1f1f1f;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
  }

  #navigation-bar .navigation-content.horizontal-menu .mobile-menu-search .search-form .search-field::placeholder {
    color: rgba(31, 31, 31, 0.5);
  }

  #navigation-bar .navigation-content.horizontal-menu .mobile-menu-search .search-form .search-field:focus {
    outline: none;
    border-color: #1f1f1f !important;
  }

  #navigation-bar .navigation-content.horizontal-menu .mobile-menu-search .search-form .search-submit {
    left: 16px !important;
    display: flex;
    align-items: center;
    line-height: 0;
    color: rgba(31, 31, 31, 0.6);
  }

  #navigation-bar .navigation-content.horizontal-menu .mobile-menu-search .search-form .search-submit .material-symbols-outlined {
    font-size: 20px;
  }

  /* NB: QuadMenu (data-unwrap) rimuove <nav id="site-navigation"> a runtime:
     nel menu mobile usare #navigation-bar .horizontal-menu #quadmenu. */

  /* Liste dentro i sottomenu (es. Linee): niente stacco tra le due colonne */
  #navigation-bar .horizontal-menu #quadmenu .quadmenu-item-widget.widget_nav_menu {
    margin-top: 0;
    padding-block: 0 !important;
  }

  /* Card immagine nei sottomenu */
  #navigation-bar .horizontal-menu #quadmenu .quadmenu-item-type-column:has(.megamenu-image) {
    min-height: 0 !important;
  }

  #navigation-bar .horizontal-menu #quadmenu .quadmenu-navbar-nav .megamenu-image,
  #navigation-bar .horizontal-menu #quadmenu .quadmenu-navbar-nav .megamenu-image img {
    height: 240px !important;
  }

  #navigation-bar .horizontal-menu #quadmenu .quadmenu-navbar-nav .megamenu-image img {
    object-fit: cover;
  }

  #navigation-bar .horizontal-menu #quadmenu .quadmenu-navbar-nav .megamenu-image .quadmenu-img-label {
    top: 16px;
    left: 16px;
    padding: 3px 10px;
    font-size: 10px;
    line-height: 1.4;
  }

  #navigation-bar .horizontal-menu #quadmenu .quadmenu-navbar-nav .megamenu-image .quadmenu-img-text {
    left: 16px;
    right: 16px;
    bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  #navigation-bar .horizontal-menu #quadmenu .quadmenu-navbar-nav .megamenu-image .quadmenu-img-text .img-title {
    font-size: 16px;
    line-height: 1.25;
  }

  #navigation-bar .horizontal-menu #quadmenu .quadmenu-navbar-nav .megamenu-image .quadmenu-img-text .img-text {
    font-size: 13px;
    line-height: 1.35;
  }

  #navigation-bar .horizontal-menu #quadmenu .quadmenu-navbar-nav .megamenu-image::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.65) 100%);
  }

  /* Widget accessibilità (eaahst) sopra il menu: nascosto mentre il menu è aperto */
  body:has(#page.mobile-quadmenu-open) .eaahst-w-trigger {
    visibility: hidden;
    pointer-events: none;
  }
}

@media only screen and (max-width: 768px) {
  .blocco-blog-custom .layout8 > section {
    padding-inline: 0;
  }

  .woocommerce-account .woocommerce {
    flex-direction: column;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100%;
    flex-basis: auto;
    padding-right: 0;
    margin-right: 0;
    margin-bottom: 28px;
    padding-bottom: 8px;
    border-right: none;
    border-bottom: 1px solid rgba(31, 31, 31, 0.12);
  }

  .blog-archive-intro .title-h1,
  .blog-archive-intro h1 {
    font-size: 36px;
  }

  .blog-archive-toolbar .w-container {
    padding-inline: 20px;
  }

  .blog-archive-grid-section .w-container {
    padding-inline: 20px;
  }

  div:has(> .title-txt-normal) {
    flex-direction: column;
    align-items: start;
  }
  .paragrafo.layout8 div:has(> .btn):not(.product-card-wrapper) {
    width: 100%;
  }

  /* .paragrafo.layout8 div:has(> .btn):not(.product-card-wrapper) a {
    padding-left: 0;
  } */


  .visore-container video {
    transform: scale(1.8);
  }

  .search-results {
    gap: 20px;
  }

  .search-results > .col-25 {
    width: calc(50% - 10px);
  }

  /* PAGINA CATEGORIA */
  .shop_archive:not(.trattamenti) .linea-category-hero .sfondo-visore video, 
  .shop_archive:not(.trattamenti) .linea-category-hero .sfondo-visore img {
    object-position: -200px;
  }
  .shop_archive .product-card.col-25:not(.product-card-wrapper .product-card) {
    width: 50%;
  }
  .shop_archive .visore > div {
    flex-direction: column-reverse;
    gap: 30px;
  }
  .shop_archive .visore > div > div,
  .shop_archive .visore > div > figure {
    width: 100%;
  }
  .sections_group.shop_archive .visore figure {
    height: 30vh;
  }

  .shop_archive .linea-category-hero .visore-container {
    min-height: 55vh;
    height: 55vh !important;
  }

  .shop_archive .linea-category-intro__text {
    width: 100%;
  }

  .shop_archive .linea-category-intro__text,
  .shop_archive .linea-category-intro__text i {
    font-size: 28px;
  }

  .shop_archive .linea-category-rassicurativi .linea-ras,
  .shop_archive .linea-category-rassicurativi .trattamenti-ras,
  .page-generica .linea-category-rassicurativi .linea-ras,
  .page-generica .linea-category-rassicurativi .trattamenti-ras {
    width: calc(50% - 10px);
  }

  .shop_archive .linea-ras-grid, .page-generica .linea-ras-grid {
    gap: 10px;
  }

  .shop_archive .linea-ras__inner, .page-generica .linea-ras__inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  /* Rassicurativi categoria: carosello (Owl attivato da scripts.js) */
  .linea-category-rassicurativi .owl-carousel.owl-loaded {
    display: block;
  }

  .linea-category-rassicurativi .owl-carousel .linea-ras,
  .linea-category-rassicurativi .owl-carousel .trattamenti-ras {
    width: 100% !important;
  }

  .linea-category-rassicurativi .owl-carousel .linea-ras__inner,
  .linea-category-rassicurativi .owl-carousel .trattamenti-ras__inner {
    max-width: none;
    padding-right: 0;
  }

  .linea-category-rassicurativi .owl-carousel .owl-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
  }

  .linea-category-rassicurativi .owl-carousel .owl-dot span {
    display: block;
    width: 6px;
    height: 6px;
    margin: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.2);
    transition: background 0.3s ease, transform 0.3s ease;
  }

  .linea-category-rassicurativi .owl-carousel .owl-dot.active span {
    background: var(--accent-color);
    transform: scale(1.3);
  }

  .shop_archive .linea-category-media-blocks .linea-img-text-block__row {
    min-height: auto;
  }

  .linea-img-text-block__inner {
    width: 100%;
  }

  .shop_archive .linea-img-text-block__media,
  .shop_archive .linea-img-text-block__content {
    width: 100%;
  }

  .shop_archive .linea-img-text-block__figure {
    max-height: 490px;
  }

  .shop_archive .linea-img-text-block__content {
    padding: 30px 20px;
  }

  .shop_archive .linea-img-text-block__title {
    font-size: 24px;
  }

  .shop_archive .linea-img-text-block__text {
    font-size: 16px;
  }
  /* Trattamenti */
  .shop_archive.trattamenti .linea-category-hero video.visore-bg {
    transform: scale(2);
  }
  .shop_archive.trattamenti .linea-category-hero .visore-container::before {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.48) 100%, rgba(0, 0, 0, 0.00) 100%);
  }
  .trattamenti-sidebar {
		width: 100vw;
	}

	.trattamento-sidebar__body,
	.trattamento-sidebar__footer {
		padding-left: 20px;
		padding-right: 20px;
	}

	.trattamento-sidebar__footer {
		padding-top: 12px;
		padding-bottom: max(16px, calc(12px + env(safe-area-inset-bottom)));
	}

	.trattamenti-hub__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		margin-bottom: 28px;
	}

	.trattamenti-hub__title {
		max-width: 100%;
		font-size: 32px;
	}

  /* PARAGRAFI */
  #paragrafi .h2-small h2 {
    font-size: 32px;
  }

  /* layout8 */
  .layout8 .flex-cards {
    flex-wrap: wrap;
  }

  .cat-card-1 {
    aspect-ratio: 5/6;
    flex: auto;
  }

  .layout8 .contenuto:has(.title-txt-normal) {
    flex-direction: column;
  }

  /* triple prod card */
  .triple-product-card {
    flex-wrap: wrap;
    max-height: fit-content;
  }

  .triple-product-card>figure {
    width: 50%;
    height: 300px;
  }

  .triple-product-card>figure.img-dx {
    order: 2;
  }

  .triple-product-card .product-card-wrapper {
    width: 550px;
    margin-inline: auto;
    margin-top: -70px;
    order: 3;
  }

  /* layout1 */
  .layout1,
  .blocco-img-testo .layout1 {
    height: auto;
    overflow: visible;
  }

  .layout1 > .col-100,
  .layout1 .col-50 {
    height: auto;
    overflow: visible;
  }

  .layout1 .video-wrap,
  .layout1 figure,
  .layout1 figure a,
  .layout1 figure img,
  .layout1 .video-wrap video {
    height: auto;
  }

  .layout1 figure {
    max-height: 490px;
    overflow: hidden;
  }

  .layout1 figure img {
    height: 100%;
    max-height: 490px;
  }

  .blocco-img-testo:not(.linea-img-text-block) {
    margin-bottom: 50px;
  }

  .blocco-img-testo figure {
    max-height: 490px;
    overflow: hidden;
  }

  .blocco-img-testo .col-50:not(.linea-img-text-block__media) {
    padding-block: 30px;
  }
  .layout1 .col-50,
  .blocco-img-testo .col-50 {
    width: 100%;
  }
  .layout1 .col-50.flex {
    padding-block: 30px;
  }
  .layout1 .col-50:has(>.wpcf7) {
    width: 75%;
  }
  /* blocco blog custom */
  .blocco-blog-custom .title-txt-normal {
    width: 100%;
  }

  .blocco-blog-custom .contenuto.contenuto:has(.title-txt-normal) {
    align-items: start;
  }

  .blocco-blog-custom .grid-cols-4 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 10px;
  }

  .blocco-blog-custom .grid-cols-4 .card-0 {
    grid-row: span 1;
    padding-right: 0;
  }

  .blocco-blog-custom .grid-cols-4 .card-0>div:last-child {
    padding: 20px 16px;
  }

  .blocco-blog-custom .grid-cols-4 .post-card:not(.card-0) {
    flex-direction: column;
  }

  .blocco-blog-custom .grid-cols-4 .post-card:not(.card-0) div:has(figure) {
    width: 100%;
  }

  .blocco-blog-custom .grid-cols-4 .post-card div:has(figure),
  .blocco-blog-custom .grid-cols-4 .card-0 figure {
    height: 200px;
  }
  /* layout14 - timeline */
  .layout14 .timeline__year {
		min-width: 64px;
		font-size: 12px;
	}

  .layout14 .timeline-card__content {
		padding: 24px 0 0;
	}

  .layout14 .timeline-card__media,
  .layout14 .timeline-card__content {
		width: 100%;
	}
  /* layout15 - rassicurativi */
  .gbs-ras__item {
		flex: 1 1 50%;
	}
  /* PRODUCT PAGE */
  .bread-mobile {
    display: block;
  }
  .bread-mobile .woocommerce-breadcrumb-container .woocommerce-breadcrumb {
    padding: 0 !important;
  }
  .bread-desk {
    display: none;
  }
  .woocommerce-product-gallery__image.first-img-p a {
    padding: 50px;
  }
  .product .summary-prod-container,
  .woocommerce-page div.product div.summary {
    width: 100%;
  }
  .product .container-product {
    flex-direction: column;
  }
  .woocommerce #content div.product div.summary,
  .woocommerce div.product div.summary,
  .woocommerce-page #content div.product div.summary,
  .woocommerce-page div.product div.summary {
    position: static;
    max-height: none;
    overflow: visible;
  }
  .rassicurativo-title {
    width: auto;
  }
  .woocommerce-product-gallery__wrapper .owl-dots .owl-dot {
    width: 10px !important;
    height: 5px;
    background: #000000;
    opacity: 0.5 !important
  }
  .owl-carousel .owl-dots .owl-dot.active {
    width: 25px !important;
    opacity: 1 !important;
  }
  .woocommerce-product-gallery__wrapper .owl-item {
    padding: 0;
  }
  .woocommerce div.product div.images {
    margin-bottom: 0;
  }
  .upsells h2, .related h2, .cross-sells h2 {
    padding-inline: 60px;
  }

  /* FOOTER */
  .footer-top>div {
    flex-wrap: wrap;
  }

  .footer-top>div .col-33 {
    width: 50%;
  }

  .footer-top>div .col-33:first-child {
    width: 100%;
    justify-content: center;
    border: none;
  }

  /* widget area */
  footer #widget-area .grid-container {
    display: flex;
    flex-direction: column;
  }

  footer section#widget-area .widget-row .widget-column .widget:last-child {
    margin: 0 0 1.5em;
  }

  footer #widget-area .widget-column .widget_nav_menu,
  footer .footer-bottom-menu.widget_nav_menu {
    border-bottom: 1px solid #8D909330;
  }

  footer .footer-bottom-menu.widget_nav_menu {
    padding-inline: 30px;
    box-sizing: border-box;
  }

  footer #widget-area .widget-column .widget_nav_menu p,
  footer .footer-bottom-menu.widget_nav_menu > .widget-title {
    position: relative;
  }

  footer #widget-area .widget-column .widget_nav_menu p::after,
  footer .footer-bottom-menu.widget_nav_menu > .widget-title::after {
    content: "+";
    position: absolute;
    right: 0;
  }

  footer .footer-bottom {
    border-bottom: none;
  }

  footer .footer-bottom .footer-bottom-menu {
    border: none;
  }

  /* Footer bottom: accordion come i menu widget sopra */
  footer .footer-bottom-menu.widget_nav_menu > .widget-title {
    display: block;
    font-weight: 400;
    opacity: 0.4;
    text-transform: uppercase;
    font-size: 16px;
    color: white;
    cursor: pointer;
    margin: 0;
    padding: 16px 0;
  }

  footer .footer-bottom-menu .menu-footer-bottom-container {
    padding-inline: 0;
  }

  footer .footer-bottom-menu #footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    margin: 0;
    padding: 0 0 16px;
    padding-inline: 0;
    list-style: none;
  }

  footer .footer-bottom-menu #footer-bottom .menu-item {
    width: 100%;
  }

  /* copyright */
  #copyright-area>div .col-33 {
    width: 100%;
    text-align: center;
  }

  #copyright-area>div .col-33 br {
    display: none;
  }

  /* single post */
  .section-post-title-container .col-40 {
    width: 100%;
    padding-inline: 20px;
  }
  .section-post-title-container .col-40.single-left {
    height: 40vh;
    overflow: hidden;
  }
  .section-post-title-container .col-40:not(.single-left) {
    padding-inline: 20px;
    padding-top: 40px;
  }
  .single-post #paragrafi {
    width: 100%;
  }
  .single-post-nav-share {
		flex: 1 1 100%;
		max-width: 100%;
	}
  .single-post-nav-next,
  .single-post-nav-prev {
    width: 50%;
  }
	.single-post-nav-share {
		order: -1;
		margin-bottom: 20px;
	}

	.single-post-nav-next .single-post-nav-link {
		justify-content: flex-start;
	}

	.single-post-nav-next {
		text-align: left;
	}

  /* WISHLIST */
  .page-wishlist .wishlist-title h2 {
    font-size: 36px;
    margin-bottom: 28px;
  }

  /* Annulla lo stacking WooCommerce shop_table_responsive sulla wishlist */
  .page-wishlist .woocommerce table.wishlist_table.shop_table_responsive thead,
  .page-wishlist table.wishlist_table.shop_table_responsive thead {
    display: table-header-group !important;
  }

  .page-wishlist .woocommerce table.wishlist_table.shop_table_responsive tbody th,
  .page-wishlist table.wishlist_table.shop_table_responsive tbody th {
    display: table-cell !important;
  }

  .page-wishlist .woocommerce table.wishlist_table.shop_table_responsive tr,
  .page-wishlist table.wishlist_table.shop_table_responsive tr {
    display: table-row !important;
  }

  .page-wishlist .woocommerce table.wishlist_table.shop_table_responsive tr td,
  .page-wishlist table.wishlist_table.shop_table_responsive tr td {
    display: table-cell !important;
    text-align: left !important;
    background: transparent !important;
  }

  .page-wishlist .woocommerce table.wishlist_table.shop_table_responsive tr td::before,
  .page-wishlist table.wishlist_table.shop_table_responsive tr td::before {
    content: none !important;
    display: none !important;
    float: none !important;
  }

  .page-wishlist table.wishlist_table {
    min-width: 640px;
  }

  .page-wishlist table.wishlist_table thead th,
  .page-wishlist table.wishlist_table tbody td {
    padding: 16px 8px;
  }

  .page-wishlist table.wishlist_table .product-thumbnail img {
    width: 64px;
    height: 64px;
  }

  .page-wishlist table.wishlist_table .product-name a {
    font-size: 14px;
  }

  .page-wishlist table.wishlist_table .product-price,
  .page-wishlist table.wishlist_table .product-stock-status {
    font-size: 14px;
  }

  .page-wishlist .product-stock-status {
    display: none;
  }
}

@media only screen and (max-width: 768px) and (min-width: 561px) {
  #site-navigation #quadmenu .quadmenu-navbar-nav .quadmenu-dropdown-menu>.quadmenu-row {
    display: grid !important;
    grid-template-columns: minmax(190px, 1fr) minmax(260px, 1.1fr);
    gap: 20px;
    align-items: start;
    padding-left: 0 !important;
  }

  #site-navigation #quadmenu .quadmenu-navbar-nav .quadmenu-dropdown-menu>.quadmenu-row>li.quadmenu-item-type-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
  }

  #site-navigation #quadmenu .quadmenu-navbar-nav .quadmenu-dropdown-menu>.quadmenu-row>li.quadmenu-item-type-column:first-child {
    grid-column: 1;
    grid-row: 1 / span 20;
  }

  #site-navigation #quadmenu .quadmenu-navbar-nav .quadmenu-dropdown-menu>.quadmenu-row>li.quadmenu-item-type-column:not(:first-child) {
    grid-column: 2;
  }

  #site-navigation #quadmenu .quadmenu-navbar-nav .quadmenu-dropdown-menu>.quadmenu-row>li.quadmenu-item-type-column:not(:first-child)>.quadmenu-dropdown-menu>ul {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: max-content;
    gap: 16px;
    padding-left: 0 !important;
  }

  #site-navigation #quadmenu .quadmenu-navbar-nav .quadmenu-dropdown-menu>.quadmenu-row>li.quadmenu-item-type-column:not(:first-child) .quadmenu-item-widget {
    margin: 0;
  }

  #site-navigation #quadmenu .quadmenu-navbar-nav .quadmenu-dropdown-menu>.quadmenu-row>li.quadmenu-item-type-column:not(:first-child) .megamenu-image {
    width: 100%;
  }
}

@media only screen and (max-width: 560px) {

  /* HEADER */
  #action-bar .owl-nav {
    justify-content: space-between;
  }
  .woocommerce .woocommerce-breadcrumb, .woocommerce-breadcrumb, #breadcrumbs > span {
    padding-inline: 20px;
  }
  /* PAGINA CATEGORIA */
  .shop_archive .linea-category-hero .sfondo-visore.has-mobile-visore .visore-img--desktop {
    display: none;
  }
  .shop_archive .linea-category-hero .sfondo-visore.has-mobile-visore .visore-img--mobile {
    display: block;
  }
  .sections_group.shop_archive .visore .col-50:has(h1) {
    padding-inline: 20px;
  }
  .filter-order-container {
    padding-left: 20px;
  }
  .shop_archive .archive-products-controls {
    padding-block: 30px;
  }
  .shop_archive .archive-products-controls .products-counter {
    margin-bottom: 0;
  }
  /* Linee */
  .shop_archive:not(.trattamenti) .linea-category-hero .sfondo-visore video, 
  .shop_archive:not(.trattamenti) .linea-category-hero .sfondo-visore img {
    object-position: 0 100%;
  }
  .shop_archive .linea-category-hero .sfondo-visore video, .shop_archive .linea-category-hero .sfondo-visore img {
    object-position: center;
  }
  .shop_archive .linea-category-hero .title-container {
    text-align: center;
    padding-inline: 50px;
  }
  /* PARAGRAFI */
  /* layout8 */
  .product-image {
    width: 100%;
  }

  /* triple prod card */
  .triple-product-card>figure {
    height: 300px;
  }

  /* layout11 */
  .layout11+div:has(.btn) {
    display: flex;
  }

  .layout11 .container-tabs div>div:has(.btn) {
    display: none;
  }
  /* layout15 - rassicurativi */
  .gbs-ras__item {
		flex: 1 1 100%;
		padding-inline: 20px;
    padding-bottom: 10px;
	}

	.gbs-ras__inner {
		max-width: none;
	}

  /* FOOTER */
  #rassicurativi-footer .block-ras {
    width: 50%;
  }

  .footer-top>div {
    flex-wrap: wrap;
  }

  .footer-top div.col-33 {
    width: 100%;
    justify-content: center;
    padding-block: 20px;
    border-right: none;
  }

  .footer-top div.col-33:not(:first-child) {
    border-top: 1px solid #8D909330;
  }

  footer section#widget-area {
    padding-bottom: 20px;
  }

  #footer-bottom {
    flex-wrap: wrap;
  }

  .footer-bottom-menu #footer-bottom {
    flex-wrap: nowrap;
  }

  #footer-bottom .menu-item {
    width: 47%;
  }

  .footer-bottom-menu #footer-bottom .menu-item {
    width: 100%;
  }

  .menu-footer-bottom-container {
    padding-inline: 30px;
  }

  .footer-bottom-menu .menu-footer-bottom-container {
    padding-inline: 0;
  }

  #copyright-area>div {
    flex-direction: column;
  }

  #copyright-area>div .col-33 {
    width: 100%;
    text-align: center;
  }
  /* PRODUCT PAGE */
  .woocommerce div.product div.summary {
    padding-inline: 20px;
  }
  .upsells h2, .related h2, .cross-sells h2 {
    padding-inline: 20px;
  }
  /* Post page */
  .single-post #paragrafi > section:not(:has(.paragrafo)),
  .single-post #paragrafi section:not(:has(.grid-cards, .flex-cards, .owl-carousel)) {
    width: 80%;
  }
}

@media only screen and (max-width: 480px) {
  .layout8 .title-txt-normal, #widget-area > div, .footer-top div.col-33:first-child, #copyright-area > div, #paragrafi .layout11 h2, .container-tabs > div:first-child, footer .footer-bottom-menu.widget_nav_menu {
    padding-inline: 20px;
  }
  .navigation-content > div, #quadmenu .quadmenu-row, .shop_archive .visore-container > div, .woocommerce-breadcrumb-container > div, .linea-category-rassicurativi > div, .layout14, .blog-archive .sections_group, #paragrafi .layout5, #paragrafi .layout2 {
    padding-inline: 20px;
  }
  /* generica */
  .page-generica .contenuto-visore {
    padding-inline: 20px;
  }

  /* Visore home */
  #visore-home .cta-container {
    flex-direction: column;
  }

  /* Paragrafi */
  #paragrafi > section:not(.blocco-img-testo){
    margin-top: 30px;
  }
  #paragrafi .label {
    margin-bottom: 10px;
  }
  #paragrafi .layout0 .label{
    margin-bottom: 30px;
  }
  #paragrafi .layout0 h2 {
    padding-inline: 20px;
  }

  .paragrafo.layout8 div:has(> .btn):not(.product-card-wrapper) a {
    padding-left: 20px;
  }

  .paragrafo.layout8 div:has(> .btn) a {
    padding-left: 20px;
  }

  .cat-card-1 .title-post-list {
    font-size: 25px;
  }

  .cat-card-1 a .absolute {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 70%);
  }

  #paragrafi .layout11 h2 {
    padding-inline: 20px;
  }

  .layout11 .container-tabs>div:first-child {
    padding-inline: 20px;
  }

  .blocco-img-testo:not(.linea-img-text-block) {
    margin-bottom: 20px;
  }

  .blocco-blog-custom .grid-cols-4 {
    grid-auto-rows: auto;
  }

  .blocco-blog-custom .grid-cols-4 .post-card {
    grid-column: span 2 !important;
    height: fit-content;
  }

  /* .title-txt-normal {
    padding-left: 20px;
  } */

  .triple-product-card .product-card-wrapper {
    margin-inline: 10px;
  }
  /* rassicurativi */
  .shop_archive .linea-category-rassicurativi .linea-ras, .shop_archive .linea-category-rassicurativi .trattamenti-ras, .page-generica .linea-category-rassicurativi .linea-ras, .page-generica .linea-category-rassicurativi .trattamenti-ras {
    width: 100%;
    display: flex;
  }
  /* FOOTER */
  #rassicurativi-footer .block-ras {
    padding-block: 15px;
  }
  .block-ras-txt.p-small {
    font-size: 12px;
  }

  /* BLOG ARCHIVE / MAGAZINE */
  .blog-archive-intro .title-h1,
  .blog-archive-intro h1 {
    font-size: 32px;
  }
  .blog-archive .blog-breadcrumb {
    padding-inline: 20px;
  }
  .blog-archive-intro .p-base {
    font-size: 14px;
    padding-inline: 20px;
  }

  .blog-archive-grid {
    gap: 30px 20px;
    margin-top: 30px;
  }

  .blog-archive .post-card .title-post-list {
    font-size: 18px;
  }

  .blog-category-filters {
    gap: 8px;
  }

  .blog-category-filters .filter-button {
    padding: 8px 14px;
    font-size: 12px;
  }

  .shop_archive .w-container-small {
    padding-inline: 20px;
  }

  .shop_archive .linea-category-intro__text {
    width: 100%;
  }

  .shop_archive .linea-ras__inner {
    padding-right: 10px;
  }
  /* SINGLE POST */
  .single-post section section:has(#paragrafi) {
    padding-inline: 20px;
  }
  .section-post-title-container .col-40 {
    padding-inline: 0px;
  }
  .single-post .title-txt-normal {
    padding: 0;
  }
  .single-post-nav-next,
  .single-post-nav-prev {
    width: 100%;
    padding: 0 20px 40px;
  }
  #correlati .owl-carousel.owl-drag .owl-item {
    padding-inline: 20px;
  }

  /* FOOTER */
  .footer-bottom-menu.w-container-header {
    padding-inline: 30px;
  }

  #footer-bottom {
    padding-inline: 0;
  }

  /* Product */
  .rassiurativi-prodotto .rassicurativo-title {
    font-size: 12px;
  }
  .summary .product_meta {
    flex-wrap: wrap;
  }

  /* Product sticky bottom bar */
  .banner-bottom__inner {
    gap: 12px;
    padding-block: 12px;
    padding-inline: 16px;
    min-height: auto;
  }

  .banner-bottom__subtitle {
    display: none;
  }

  .banner-bottom .banner-thumb {
    width: 44px;
    height: 44px;
  }

  .banner-bottom__title {
    font-size: 14px;
  }

  .banner-bottom__actions {
    gap: 10px;
  }

  .banner-bottom__price,
  .banner-bottom__price .woocommerce-Price-amount {
    font-size: 14px;
  }

  .banner-bottom__wishlist .yith-wcwl-add-to-wishlist-button {
    width: 38px;
    height: 38px;
  }

  .banner-bottom__cta,
  .banner-bottom #go-to-cart {
    padding: 12px 18px;
    font-size: 13px;
  }
}

@media only screen and (max-width: 560px) and (min-width: 380px) {
  /* Product card */
  .product-card:not(.triple-product-card .product-card) {
    padding-bottom: 55px;
  }
  .product-card:not(.triple-product-card .product-card) {
    max-height: 280px;
  }
  .product-card:not(.triple-product-card .product-card) .product-image {
    height: 130px;
  }
  .product-card:not(.triple-product-card .product-card) .prod-card-cat {
    font-size: 10px;
  }
  .product-card:not(.triple-product-card .product-card) .product-card-title {
    font-size: 16px;
  }
  .product-card:not(.triple-product-card .product-card) .content-only-list.paddingbasetop {
    display: none;
  }
  .product-card:not(.triple-product-card .product-card) .product-card__cta {
    bottom: 0;
    opacity: 1;
    transform: translate(0px, -4px);
    padding: 4px;
  }
}

@media only screen and (max-width: 380px) {
  /* header */
  header .banner_wrapper {
    gap: 25px;
  }
  header .banner_wrapper .woocommerce-icons-header-container {
    gap: 7px;
  }
  header .site-branding .logo-container .custom-logo.logo-default {
    height: 30px;
  }
  /* prodotto */
  .rassiurativi-prodotto .rassicurativo-item {
    width: 70%;
    margin: 0 auto;
  }
  /* Linee */
  .shop_archive .linea-category-hero .title-container {
    padding-inline: 20px;
  }
}