@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&display=swap');
/* ==========================================================================
   Base styles
   ========================================================================== */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 768px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl,
    .page-main,
    [data-content-type='row'][data-appearance='contained'],
    .breadcrumbs,
    .category-imgdesc-container .breadcrumbs .items,
    .form.create.account {
        max-width: 1340px !important;
        width: 100%;
    }
}
#maincontent {
    padding-left: 0;
    padding-right: 0;
    margin-top: 30px;
}
.cms-page-view #maincontent {
    margin-top: 0;
}
.column.main {
    min-height: auto;
}
body,
p,
a,
.alink {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 13px;
    color: #30383c;
}
a,
a:hover,
.alink:hover {
    transition: all .3s;
    color: #30383c;
    text-decoration: none;
}
a:visited,
.alink:visited {
    color: inherit;
}
a:hover,
.breadcrumbs a:hover {
    text-decoration: none;
}
a:not(.logo):hover {
    opacity: 0.7;
}
b,
strong {
    color: #30383c;
}
h1,
h2,
h3,
h4,
h5 {
    color: #30383c;
    font-family: 'Cormorant', sans-serif;
    text-transform: uppercase;
}
h1,
h2 {
    font-weight: bold;
}
h1 {
    font-size: 37px;
    color: #30383c;
}
h2 {
    font-size: 33px;
    text-transform: uppercase;
}
.action.primary,
.action-primary {
    background: #30383c;
    border-radius: 0 !important;
    border: 0;
    text-transform: uppercase;
    font-weight: 400;
}
.action.primary:focus,
.action-primary:focus,
.action.primary:active,
.action-primary:active,
.action-primary.action-accept:active,
.action-primary.action-accept:focus {
    background: #30383c;
    border: 0;
    box-shadow: none;
}
.action.primary:hover,
.action-primary:hover {
    border: 0;
    background: #30383c;
}
.action-primary.action-accept {
    margin-left: 10px;
}
button:not(.primary),
input,
textarea,
select {
    border-radius: 0 !important;
}
.page-title-wrapper {
    text-align: center;
    margin-bottom: 40px;
}
.fieldset > .legend {
    border: 0;
}
.table > :not(caption) > * > * {
    background: transparent;
}
.page-layout-2columns-left .page-title-wrapper {
    text-align: left;
}
.modal-popup .modal-title {
    border-bottom: 0;
}
button.action.secondary.action-hide-popup {
    display: none !important;
}
blockquote {
    font-weight: bold;
    font-family: 'Nunito Sans', sans-serif;
    padding: 10px 0 10px 30px;
    border-left: 3px solid #30383c;
}
.page.messages {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    width: 900px;
    max-width: 100%;
    margin: 0 auto;
}

@media (max-width: 1024px) {
    html {
        overflow: auto;
    }
    body {
        overflow-x: hidden;
    }
    h1 {
        font-size: 41px;
    }
    #maincontent {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* ==========================================================================
   Header
   ========================================================================== */
.ammenu-header-container.page-header {
    /* border-bottom: solid 1px #cfdce6; */
    background: #fff;
}
.nav-container,
.top-nav-container {
    position: relative;
}
.main-nav-container {
    margin-top: 7px;
    margin-bottom: 10px;
}

/* shipping bar */
.header-shipping-container {
    background: #bf2530;
    text-align: center;
    padding-top: 8px;
    padding-bottom: 8px;
}
.header-shipping-container + header {
    padding-top: 10px;
}
.header-shipping-container * {
    color: #fff;
    font-size: 16px;
}
.header-shipping-container a {
    border-radius: 0 !important;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 13px;
}

/* logo */
.ammenu-logo {
    position: absolute;
    bottom: 30px;
}
.ammenu-logo img {
    width: 190px;
}

/* search */
.block-search,
.page-header .switcher {
    float: none;
}
.block-search {
    width: 650px;
    margin-top: 10px;
}
.block-search input {
    border-radius: 0 !important;
    border-color: #fff;
    padding-left: 25px;
    height: 45px;
    font-size: 15px;
    padding-right: 40px;
    background: #f9f9f9;
}
.block-search input,
.block-search input::placeholder {
    color: #30383c;
}
.block-search .action.search {
    right: 20px;
}
.block-search .action.search,
.block-search .action.search[disabled] {
    opacity: 1;
}
.block-search .action.search:before {
    content: '\f002';
    font-family: 'Font Awesome 6 Pro';
    font-size: 15px;
    color: #30383c;
    line-height: 45px;
}
.minisearch.active .search-autocomplete {
    display: block !important;
    width: calc(100% - 55px) !important;
    left: 35px;
    margin-top: 1px;
}
.minisearch.processing .action.search:before {
    content: '\e1d4';
    -webkit-animation: spin 4s linear infinite;
    -moz-animation: spin 4s linear infinite;
    animation: spin 4s linear infinite;
}
@-moz-keyframes spin {
    100% { -moz-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
    100% { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
    100% {
        -webkit-transform: rotate(360deg);
        transform:rotate(360deg);
    }
}

/* language switcher */
#switcher-language {
    position: absolute;
    top: 10px;
    right: 0;
}
#switcher-language .switcher-options,
#switcher-language-trigger,
#switcher-language .switcher-dropdown {
    display: inline-block;
    list-style: none;
    margin-bottom: 0;
}
#switcher-language .switcher-dropdown {
    padding-left: 5px;
}
#switcher-language .switcher-label {
    display: none;
}
#switcher-language-trigger span,
#switcher-language .switcher-dropdown a {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #30383c;
    text-decoration: none;
    font-weight: 500;
}
#switcher-language-trigger span,
#switcher-language .switcher-dropdown a:hover {
    border-bottom: solid 1px #bf2530;
}

/* main menu */
.ammenu-nav-sections.-topmenu .ammenu-items.-root > .ammenu-item > .ammenu-link,
.ammenu-nav-sections.-topmenu .ammenu-items {
    position: static;
}
.ammenu-nav-sections.-topmenu .ammenu-submenu-wrapper {
    margin-top: 10px;
    border-radius: 0 !important;
    box-shadow: 0 30px 90px 0 rgba(0, 0, 0, 0.25);
    padding: 50px 70px 30px;
}
.ammenu-nav-sections.-topmenu .ammenu-main-container {
    background: #fff !important;
}
.ammenu-menu-wrapper {
    margin-left: -18px;
    margin-bottom: 0;
}
.ammenu-menu-wrapper .ammenu-text-block {
    color: #30383c;
    font-size: 17px;
    font-weight: normal;
    text-decoration: none;
    position: relative;
    text-transform: uppercase;
}
.ammenu-nav-sections.-topmenu .ammenu-items.-root > .ammenu-item {
    margin-right: 30px;
}
.ammenu-nav-sections.-topmenu .ammenu-items.-root > .ammenu-item > .ammenu-link {
    text-decoration: none;
}
.ammenu-nav-sections.-topmenu .ammenu-items.-root > .ammenu-item > .ammenu-link:hover .ammenu-text-block:after,
.ammenu-nav-sections.-topmenu .ammenu-items.-root > .ammenu-item > .ammenu-link:focus .ammenu-text-block:after {
    content: '';
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    bottom: -6px;
    left: 0;
    background: #bf2530;
}

/* megamenu */
.ammenu-nav-sections.-topmenu .ammenu-submenu-wrapper h4 {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 20px;
    text-transform: none;
}
.ammenu-nav-sections.-topmenu .ammenu-submenu-wrapper ul {
    padding: 0;
    columns: 2;
    margin-top: 30px;
}
.ammenu-nav-sections.-topmenu .ammenu-submenu-wrapper a:hover,
.ammenu-nav-sections.-topmenu .ammenu-submenu-wrapper a:visited {
    color: #30383c;
}
.ammenu-nav-sections.-topmenu .ammenu-submenu-wrapper ul li a {
    font-size: 18px;
    margin-bottom: 15px;
    display: inline-block;
    font-weight: 500;
}
.ammenu-nav-sections.-topmenu .ammenu-submenu-wrapper table {
    max-width: 440px;
}
.ammenu-nav-sections.-topmenu .ammenu-submenu-wrapper td {
    padding-left: 0;
}
.ammenu-nav-sections.-topmenu .ammenu-submenu-wrapper tr:last-child a {
    display: block;
    background: #30383c;
    color: #fff;
    text-transform: uppercase;
    padding: 10px 10px 9px;
    font-weight: 200;
    font-size: 14px;
}
.ammenu-nav-sections.-topmenu .ammenu-submenu-wrapper h5 {
    margin-top: 15px;
    margin-bottom: 3px;
}
.ammenu-nav-sections.-topmenu .ammenu-submenu-wrapper h5 a {
    font-weight: 700;
    font-size: 18px;
    text-transform: none;
    line-height: 1;
}
.ammenu-nav-sections.-topmenu .ammenu-submenu-wrapper h5 + p a {
    font-size: 17px;
}
.ammenu-nav-sections.-topmenu .ammenu-submenu-wrapper .cta a {
    background: #30383c;
    color: #fff;
    text-transform: uppercase;
    padding: 10px 10px 9px;
    font-weight: 200;
    font-size: 14px;
}

/* mobile menu */
button.ammenu-link.-mobile[title="Go to Currency"],
.ammenu-nav-sections.-sidebar .ammenu-link .ammenu-counter,
button[title="Go to IT"] .ammenu-icon-block.-toggle,
button[title="Go to EN"] .ammenu-icon-block.-toggle {
    display: none;
}
button[title="Go to IT"] + .ammenu-items,
button[title="Go to EN"] + .ammenu-items {
    padding-left: 0 !important;
    display: block !important;
}

/* customer menu */
.customer-links-container {
    display: inline-block;
    cursor: pointer;
    position: absolute;
    right: 50px;
    bottom: 18px;
    padding: 5px 0;
}
.customer-links-container .customer-links-label {
    height: auto;
    opacity: 1;
    display: inline-block;
    font-weight: 300;
    color: #30383c;
    font-size: 17px;
}
.customer-links-label:after,
.customer-links-container:after {
    content: '\f007';
    font-family: 'Font Awesome 6 Pro';
    color: #30383c;
    font-weight: 300;
    font-size: 16px;
    margin-left: 10px;
    position: relative;
    top: 2px;
}
.customer-links-label.loggedin:after {
    font-weight: 600;
}
.customer-links-container:after {
    content: '\f107';
    top: 4px;
}
.customer-links-container:hover:after {
    content: '\f106'
}
.customer-links-container.loggedin:before {
    font-weight: 600;
}
.customer-links-container:hover:before {
    opacity: 0.7;
}
.customer-links-container * {
    height: 0;
    opacity: 0;
}
.customer-links-container:hover * {
    height: auto;
    opacity: 1;
}
.customer-links-container > .header.links {
    padding: 0;
    margin-bottom: 0;
    list-style: none;
    position: absolute;
    background: #fff;
}
.customer-links-container:hover > .header.links {
    transition: all .5s;
    z-index: 99;
    min-width: 150px;
    right: -10px;
    top: 90%;
    box-shadow: 0 3px 3px rgb(0 0 0 / 15%);
    border: 1px solid #bbbbbb;
}
.customer-links-container:hover > .header.links > li {
    padding: 0 10px;
}
.customer-links-container:hover > .loggedin + .header.links > li.greet.welcome {
    padding-top: 10px;
}
.customer-links-container .header.links a {
    padding-left: 0;
}
.customer-links-container:hover .header.links a {
    color: #30383c;
    text-decoration: none;
    padding-left: 0;
}
.customer-links-container:hover > .header.links:before,
.customer-links-container:hover > .header.links:after {
    border-bottom-style: solid;
    content: '';
    display: block;
    height: 0;
    position: absolute;
    width: 0;
}
.customer-links-container:hover > .header.links:before {
    left: 60px;
    top: -12px;
}
.customer-links-container:hover > .loggedin + .header.links:before {
    left: 75px;
}
.customer-links-container.loggedin:hover > .header.links:before {
    left: 85px;
}
.customer-links-container:hover > .header.links:before {
    border: 6px solid;
    border-color: transparent transparent #ffffff transparent;
    z-index: 99;
}
.customer-links-container:hover > .header.links:after {
    left: 59px;
    top: -14px;
}
.customer-links-container:hover > .loggedin + .header.links:after {
    left: 74px;
}
.customer-links-container.loggedin:hover > .header.links:after {
    left: 84px;
}
.customer-links-container:hover > .header.links:after {
    border: 7px solid;
    border-color: transparent transparent #bbbbbb transparent;
    z-index: 98;
}
.customer-welcome .customer-menu,
.customer-welcome ul {
    display: block;
    position: static;
}
.customer-welcome ul:before,
.customer-welcome ul:after,
.customer-welcome .customer-name {
    display: none;
}
.header.links {
    border: 0;
    box-shadow: none;
    margin-top: 0;
}
.customer-welcome .header.links li:hover {
    background: none;
}
.customer-welcome .header.links li:last-child,
.link.wishlist .counter {
    display: none;
}

/* minicart */
.minicart-wrapper {
    float: none;
    position: absolute;
    right: 0;
    bottom: 18px;
    padding: 5px 0;
}
.minicart-wrapper .block-minicart li {
    width: 100%;
}
.minicart-wrapper .block-minicart {
    padding-bottom: 0;
}
.minicart-wrapper .action.showcart:before,
.minicart-wrapper .action.showcart.active:before {
    content: '\f07a';
    font-family: 'Font Awesome 6 Pro';
    color: #30383c;
    font-weight: 300;
    font-size: 16px;
}
.minicart-wrapper .action.showcart .counter.qty {
    background: #30383c;
    border-radius: 100px;
    width: 17px;
    height: 17px;
    font-size: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -8px;
    right: -8px;
}
.minicart-wrapper .action.showcart {
    position: relative;
}
.minicart-items .product-item-name {
    min-height: auto;
    text-align: left;
}
.minicart-items .product-item-name a {
    color: #30383c;
}
.ajax-loading .minicart-wrapper .action.showcart .counter.qty:before {
    content: '\e1d4';
    font-family: 'Font Awesome 6 Pro';
    -webkit-animation: spin 4s linear infinite;
    -moz-animation: spin 4s linear infinite;
    animation: spin 4s linear infinite;
}
.ajax-loading .minicart-wrapper .action.showcart .counter-number {
    display: none;
}
.block-minicart .items-total {
    display: none;
}
.block-minicart .subtotal {
    text-align: left;
}
.block-minicart .amount.price-container {
    display: inline-block;
}
.block-minicart .amount .price-wrapper:first-child .price {
    font-size: 15px;
}
.block-minicart .block-content > .actions > .primary .action.primary {
    padding: 10px 15px;
}

@media (min-width: 1025px) {
    /* sticky header */
    header.active-sticky {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background: #fff;
        z-index: 900;
        border-bottom: 0 !important;
        box-shadow: 0 0 20px 0 #a9a9a9;
    }
}
@media (max-width: 1360px) {
    .minicart-wrapper {
        right: 15px;
    }
}
@media (max-width: 1024px) {
    #switcher-language,
    .customer-links-container,
    .ammenu-menu-greetings {
        display: none;
    }
    .nav-container {
        max-width: 100%;
    }
    .ammenu-button.-hamburger {
        margin: 25px 20px 20px 20px;
        border: 0;
        float: left;
        position: relative;
        z-index: 99;
    }
    .ammenu-button.-hamburger:before {
        content: '\f0c9';
        font-family: 'Font Awesome 6 Pro';
        border: 0;
        color: #30383c;
        font-size: 25px;
    }
    .ammenu-logo {
        position: static;
        display: inline-block;
        margin-top: 10px;
    }
    .ammenu-logo img {
        width: 60%;
        max-width: 195px;
    }
    .block-search {
        max-width: 80%;
    }
    .minicart-wrapper {
        bottom: 11px;
    }
    .minicart-items .product-item-details {
        padding-left: 0;
    }
    .block-minicart .items-total {
        float: none;
    }
    .block-minicart .subtotal {
        text-align: left;
        margin-top: 15px;
    }
}
@media (max-width: 768px) {
    .header-shipping-container {
        margin-bottom: 0;
    }
    .header .block-search .block-content form .field.search label {
        display: block;
        position: absolute;
        right: 30px;
        bottom: 8px;
    }
    .block-search .label:before,
    .block-search .label:hover:before {
        color: #30383c;
    }
    .block-search .label:before {
        font-weight: 300;
        content: '\f002';
        font-family: 'Font Awesome 6 Pro';
        font-size: 20px;
    }
    .block-search input {
        display: none;
    }
    .block-search input.visible {
        display: block;
        left: -43px;
        top: 15px;
        margin: 0;
        width: calc(100% + 30px);
        position: absolute !important;
    }
    .minisearch.active .search-autocomplete {
        width: calc(100% + 30px) !important;
        left: -43px;
        top: 60px;
    }
    .minisearch.processing .control:before {
        content: '\e1d4';
        -webkit-animation: spin 4s linear infinite;
        -moz-animation: spin 4s linear infinite;
        animation: spin 4s linear infinite;
        font-family: 'Font Awesome 6 Pro';
        position: absolute;
        right: 29px;
        z-index: 1;
        top: 23px;
        font-size: 20px;
        color: #30383c;
        font-weight: 300;
    }
    .minicart-wrapper {
        bottom: 3px;
    }
}
@media (max-width: 479px) {
    .minicart-wrapper .block-minicart {
        width: calc(100vw - 10px);
    }
    .minicart-wrapper .minicart-items .product > .product-item-photo,
    .minicart-wrapper .minicart-items .product > .product-image-container {
        float: none;
    }
}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */
.breadcrumbs {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 10px;
}
.breadcrumbs a,
.breadcrumbs a:visited {
    color: #30383c;
}
.breadcrumbs strong {
    color: #30383c;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}
.breadcrumbs .item:not(:last-child):after {
    margin: 0 15px;
}

@media (max-width: 768px) {
    .breadcrumbs {
        display: block;
    }
}

/* ==========================================================================
   Homepage
   ========================================================================== */
.cms-index-index .column.main {
    padding-bottom: 0;
}
.cms-index-index #maincontent {
    margin-top: 0;
    margin-bottom: 70px;
}
.cms-index-index .ammenu-header-container.page-header {
    border-bottom: 0;
}

/* home carousel */
#html-body #maincontent [id*=rev_slider] .tparrows,
#html-body #maincontent [id*=rev_slider] .tparrows:hover {
    background: none;
}
#html-body #maincontent [id*=rev_slider] .tparrows:before {
    font-family: 'Font Awesome 6 Pro';
    color: #30383c;
    font-size: 35px;
    font-weight: 300;
}
#html-body #maincontent [id*=rev_slider] .tparrows.tp-rightarrow:before {
    content: '\f105';
}
#html-body #maincontent [id*=rev_slider] .tparrows.tp-leftarrow:before {
    content: '\f104';
}
#html-body #maincontent [id*=rev_slider] .tp-bullet {
    background: #fff;
    height: 10px;
    width: 10px;
    border: 0;
    opacity: 1;
}
#html-body #maincontent [id*=rev_slider] .tp-bullet.selected,
#html-body #maincontent [id*=rev_slider] .tp-bullet:hover {
    background: #30383c;
}
.owl-prev:before {
    content: '\f104';
}
.owl-next:before {
    content: '\f105';
}
.owl-prev:before,
.owl-next:before {
    font-family: 'Font Awesome 6 Pro';
    color: #30383c;
    font-size: 35px;
    font-weight: 300;
}

/* essentials + topselling products carousel */
#essentials.hp-block,
#topselling.hp-block {
    text-align: center;
    margin-bottom: 160px;
}
#essentials.hp-block h2,
#topselling.hp-block h2 {
    margin-bottom: 60px;
}
.hp-block .product-item-info,
.owl-item .product-item-info {
    width: 250px !important;
    margin-left: auto;
    margin-right: auto;
}
.owl-item .product-item .actions-primary .stock.unavailable {
    margin-top: 9px;
    margin-bottom: 8px;
}
.hp-block .products-container {
    padding-left: 11px;
}
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    background: #30383c !important;
    border: solid 1px #30383c;
}
.owl-theme .owl-dots .owl-dot span {
    background: #fff !important;
    border: solid 1px #c2c2c2;
}
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
    position: absolute;
    top: 30%;
    opacity: 1;
}
.owl-carousel .owl-nav button.owl-prev {
    left: -60px;
}
.owl-carousel .owl-nav button.owl-next {
    right: -50px;
}
.owl-theme .owl-nav [class*='owl-']:hover {
    background: transparent !important;
}
.owl-item .product-item-name ~ :not(.product-claim) {
    display: none !important;
}
.cms-index-index .owl-carousel .product-item-name:not(.has-claim),
.cms-index-index .owl-carousel .product-item-name:not(.has-claim) a {
    font-weight: normal !important;
}

/* featured categories */
#featured-categories .block-title {
    margin-bottom: 30px;
}
.featured-row {
    margin: 0 -15px 120px -15px;
}
.featured-col {
    padding: 0 15px;
}
.featured-col.featured-products {
    display: flex;
    align-items: center;
}
.featured-category-container {
    padding-left: 15%;
    padding-right: 15%;
    height: 540px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-repeat: no-repeat;
}
.featured-col.order-0 .featured-category-container {
    margin-right: -100px;
}
.featured-col.order-1 .featured-category-container {
    margin-left: -100px;
}
.featured-col .owl-carousel {
    border: solid 20px #f9f9f9;
    background: #fff;
    padding-top: 20px;
    padding-bottom: 20px;
}
.featured-col .owl-carousel .owl-nav button.owl-next,
.featured-col .owl-carousel .owl-nav button.owl-prev {
    top: 35%;
}
.featured-col .owl-carousel .owl-nav button.owl-next {
    right: -11px;
}
.featured-col .owl-carousel .owl-nav button.owl-prev {
    left: -11px;
}
.featured-category-container h4 {
    font-size: 33px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 20px;
}
.featured-category-container p {
    font-size: 20px;
    margin-bottom: 20px;
    font-weight: 200;
    padding-right: 30%;
}
.featured-category-container a {
    display: inline-block;
    color: #30383c;
    font-size: 13px;
    font-weight: 500;
    background: #fff;
    padding: 10px 15px;
    margin-right: auto;
    text-transform: uppercase;
}

/* hp cms blocks */
.hp-block.cms-block {
    margin-bottom: 120px;
}
.hp-block.cms-block h3 {
    font-size: 33px;
    font-weight: bold;
    margin-bottom: 30px;
}
.hp-block.cms-block p {
    font-size: 20px;
    font-weight: 200;
}
.hp-block.cms-block a {
    text-transform: uppercase;
    background: #30383c;
    color: #fff;
    padding: 7px 12px 5px;
    margin-top: 20px;
    display: inline-block;
}
.hp-block.cms-block .txt-col {
    -webkit-backdrop-filter: blur(50px);
    backdrop-filter: blur(50px);
    background-color: rgba(255, 255, 255, 0.6);
}

/* transvital tech + transvital lovers block */
.home-tech-lovers-container {
    padding-top: 20px;
}
.home-tech-lovers-container .pagebuilder-column-line {
    width: calc(100% + 400px);
}

/* our philosophy block */
.home-philosophy-container .pagebuilder-column-line {
    width: calc(100% + 440px);
}

/* grand hotel block */
.home-grandhotel-container.container > div {
    border-top: solid 2px #f47b3d;
    border-bottom: solid 2px #f47b3d;
    padding-top: 15px;
    padding-bottom: 15px;
}
.home-grandhotel-container h3 {
    text-transform: none;
    margin-bottom: 15px;
}
.home-grandhotel-container a {
    margin-top: 5px;
}

/* feedaty widget */
.feedaty-widget-container {
    margin-top: -20px;
    padding-bottom: 120px;
}
.fdt_allreviewslink,
.checked_reviewer > p,
.rev_text {
    font-weight: 400 !important;
}
.fdt_rev {
    background: #f7f7f7;
}

@media (max-width: 1024px) {
    .cms-index-index #essentials.hp-block {
        margin-top: 40px;
    }
    .hp-block .block-title a {
        position: relative;
    }
    .hp-block .products-container {
        margin-top: 30px;
    }
    .featured-category-container {
        padding-left: 30px;
        padding-bottom: 30px;
        justify-content: flex-end;
    }
    .featured-category-container h4 {
        font-size: 35px;
    }
    .featured-category-container p {
        font-size: 16px;
    }
    .owl-carousel .owl-nav button.owl-prev {
        left: -10px;
    }
    .owl-carousel .owl-nav button.owl-next {
        right: 0;
    }
    .owl-theme .owl-dots {
        display: none;
    }
}
@media (max-width: 768px) {
    .home-tech-lovers-container .txt-col,
    .home-philosophy-container .txt-col,
    .home-grandhotel-container .txt-col {
        padding: 15px !important;
    }
    .home-tech-lovers-container .txt-col {
        margin-right: 0 !important;
        margin-bottom: 60px;
    }
    .featured-category-container {
        height: auto;
        padding: 40px 30px;
        margin: 0 !important;
    }
    .featured-col.featured-products {
        order: 1;
    }
    .home-philosophy-container .txt-col {
        margin: 0 !important;
        min-height: auto !important;
    }
    .home-philosophy-container .txt-col + .pagebuilder-column {
        margin: 0 !important;
    }
    .home-philosophy-container div[class*=background-image] {
        background-size: cover !important;
    }
}

/* ==========================================================================
   Footer
   ========================================================================== */
.page-footer {
    padding-bottom: 0;
    margin-top: 20px;
}
.cms-index-index .page-footer {
    margin-top: 0;
}

/* newsletter block */
.newsletter-subscribe-container.container {
    padding-left: 30px;
    padding-right: 30px;
}
.page-footer form.subscribe {
    background: #3a4145;
    padding-top: 20px;
    padding-bottom: 20px;
}
.page-footer form.subscribe h3,
.page-footer form.subscribe label a {
    color: #fff;
    font-size: 17px;
}
.page-footer form.subscribe h3 {
    font-size: 25px;
    font-weight: normal;
    display: inline-flex;
    align-items: center;
    font-family: 'Nunito Sans', sans-serif;
    text-transform: none;
}
.page-footer form.subscribe h3:before {
    content: '\f0e0';
    font-family: 'Font Awesome 6 Pro';
    font-size: 22px;
    font-weight: 100;
    margin-right: 20px;
    border: solid 1px #fff;
    padding: 8px 10px 7px 11px;
}
.page-footer form.subscribe label a {
    font-size: 11.3px;
}
.newsletter-subscribe-container > .row {
    align-items: center;
}
.page-footer form.subscribe label div {
    display: inline-block;
}
.page-footer form.subscribe .privacy label div {
    margin-bottom: 10px;
}
.page-footer form.subscribe input#newsletter {
    border-radius: 0 !important;
    border: 0;
    height: 45px;
    padding: 0 100px 0 25px;
}
.page-footer form.subscribe .action.subscribe {
    padding: 9px 15px 8px;
    background-color: #30383c;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 500;
    font-family: 'Nunito Sans', sans-serif;
    border: 0;
}
.page-footer form.subscribe .actions {
    position: absolute;
    top: 6px;
    right: 9px;
}
.newsletter-subscribe-container .field.newsletter {
    position: relative;
    max-width: 440px;
}
.newsletter-subscribe-container .field.newsletter label {
    width: 100%;
}
.newsletter-subscribe-container #privacy + div:after {
    content: '*';
    color: #fff;
}
.newsletter-subscribe-container #privacy-error {
    margin-top: -5px;
    margin-bottom: 10px;
}

/* top footer */
.footer-top-container {
    background: #f9f9f9;
    padding-top: 40px;
    padding-bottom: 35px;
}
.footer-top-container p {
    color: #a8a8a8;
}
.footer-top-container h4 {
    font-size: 23px;
    font-weight: bold;
    text-transform: none;
    margin: 15px 0;
}
.footer-top-container i {
    font-size: 25px;
}

/* bottom footer */
.footer-bottom-container {
    background: #e5e5e6;
    padding-top: 40px;
    padding-bottom: 75px;
}
.footer-bottom-container strong {
    color: #555;
}
.footer-social ul {
    list-style: none;
    padding-left: 0;
}
.footer-social ul li {
    display: inline-block;
}
.footer-social ul li:not(:last-child) {
    margin-right: 30px;
}
.footer-social ul li i {
    font-size: 20px;
    color: #30383c;
}
.footer-img-menu ul {
    list-style: none;
    padding-left: 50px;
}
.footer-img-menu ul li {
    margin-bottom: 18px;
}
.footer-img-menu ul li em {
    position: relative;
}
.footer-img-menu ul li:nth-child(2) em {
    margin-right: 2px;
    top: 3px;
    left: 2px;
}
.footer-img-menu ul li:last-child em {
    margin-right: 5px;
    top: 2px;
    left: 3px;
}
.footer-img-menu ul [class*=fa] {
    font-size: 20px;
}
.footer-bottom-container .footer-menu ul {
    margin-top: 25px;
    padding-left: 0;
}
.footer-bottom-container .footer-menu ul li {
    margin-bottom: 3px;
    list-style: none;
    position: relative;
}
.footer-bottom-container .footer-menu ul li a {
    color: #555;
}
.footer-bottom {
    position: relative;
    padding-top: 30px;
    margin-top: 30px;
}
.footer-bottom:after {
    content: '';
    height: 1px;
    background: #cfdce6;
    width: 100vw;
    position: absolute;
    top: 0;
    left: calc(-1 * ((100vw - 100%) / 2));
}
.footer-bottom a {
    color: #555;
}
.footer-bottom ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-bottom li {
    display: inline-block;
}
.footer-bottom li:not(:last-child) {
    margin-right: 60px;
}

@media (min-width: 1025px) {
    .footer-bottom:after {
        margin-left: -10px;
    }
}
@media (max-width: 1024px) {
    .newsletter-subscribe-container div[class*=col]:nth-child(2) {
        margin-top: 15px;
        margin-bottom: 15px;
    }
    .footer-img-menu ul,
    .footer-menu {
        padding-left: 0 !important;
    }
    .footer-bottom li {
        display: block;
    }
    .footer-bottom-container .pagebuilder-column {
        margin-bottom: 15px;
    }
}
@media (max-width: 768px) {
    .page-footer form.subscribe label div a {
        font-size: 15px;
    }
}

/* ==========================================================================
   Product Card
   ========================================================================== */
.product-item-info,
.products-grid .product-item-info:hover,
.products-grid .product-item-info.active {
    padding: 0;
    height: auto !important;
    border: 0;
    border-radius: 0;
    background: #fff;
    text-align: center;
}
.product-claim {
    font-size: 17px;
}
.products-grid .product-item-info:hover,
.products-grid .product-item-info.active,
.products-grid .product-item-inner {
    box-shadow: none;
    margin: 0;
}
.catalog-category-view #maincontent .products-grid .product-item-inner,
.catalogsearch-result-index #maincontent .products-grid .product-item-inner,
.account .products-grid .product-item-info:not(:hover):not(.active) .product-item-inner,
.wishlist-index-index .product-item-inner {
    border: 0;
    clip: auto;
    height: auto;
    margin: 0;
    overflow: auto;
    padding: 0;
    position: relative;
    width: auto;
}
.abs-product-link,
.product-item-name,
.product.name a {
    font-size: 17px;
    font-weight: bold !important;
    color: #30383c;
    text-align: center;
    display: inline-block;
}
.products-grid .product-item-info .product.name a {
    font-size: 17px;
}
.products-grid .product-item-info .price-box,
.block.upsell .product-item-info .price-box,
.block.crosssell .product-item-info .price-box,
.products-grid .product-item-info .price-box .price-as-configured {
    display: flex;
    justify-content: center;
    min-height: 29px;
    margin-top: 15px;
}
.products-grid .product-item-info .price-box > span:first-child,
.block.upsell .product-item-info .price-box > span:first-child,
.block.crosssell .product-item-info .price-box > span:first-child,
.products-grid .product-item-info .price-box .price-as-configured > span:first-child {
    order: 1;
}
.product-item .price-box .price {
    font-size: 15px;
    font-weight: 500;
    color: #30383c;
}
.products-grid .product-item-info .price-box .price {
    font-size: 20px;
}
.products-grid .product-item-info .old-price {
    margin-right: 8px;
}
.product-item .old-price .price {
    font-size: 13px;
    color: #30383c;
    font-weight: normal;
    text-decoration: line-through;
    margin-right: 10px;
    top: -2px;
    position: relative;
}
.products-grid .product-item-info .old-price .price {
    font-size: 16px;
    top: -4px;
}
.block.upsell .product-item-info .old-price .price,
.block.crosssell .product-item-info .old-price .price {
    top: -6px;
}
.product-item .actions-primary {
    display: inline-block;
}
.action.tocart,
.action.tocart:hover {
    border: 0;
}
.product-item .action.tocart {
    padding: 8px 10px 6px 10px;
    background: #30383c;
    outline: none;
    border: solid 1px #30383c !important;
}
.product-item .action.tocart:hover,
.product-item .action.tocart:active:hover,
.product-item .action.tocart:focus:hover {
    background: #fff;
}
.product-item .action.tocart:hover span,
.product-item .action.tocart:active:hover span
.product-item .action.tocart:focus:hover span {
    color: #30383c;
    font-weight: 300;
}
.product-item .action.towishlist:before {
    color: #30383c;
    font-size: 16px;
    font-weight: 300;
    content: '\f004';
    font-family: 'Font Awesome 6 Pro';
}
.products-grid .product-item .action.towishlist:before {
    font-size: 20px;
    width: 100%;
    line-height: normal;
}
.action.tocart:hover:before,
.product-item .action.towishlist:hover:before {
    font-weight: 600;
}
.product-item .action.towishlist:hover,
.product-item .action.towishlist:hover:before {
    color: #bf2530;
    opacity: 1;
}
.product-item .price-box .price-label {
    display: none;
}
.products-grid .product-item-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}
.products-grid .product-item .actions-primary {
    margin-right: 5px;
}
.products-grid .product-item .tocart span,
.block.upsell .product-item .tocart span,
.block.crosssell .product-item .tocart span {
    color: #fff;
    font-size: 14px;
    font-family: 'Nunito Sans', sans-serif;
    text-transform: uppercase;
    font-weight: 200;
    display: inline-block;
    opacity: 1;
}
.products-grid .product-image-wrapper {
    padding-bottom: 100% !important;
}
.product-item .action.primary:focus,
.product-item .action-primary:focus,
.product-item .action.primary:active,
.product-item .action-primary:active {
    background: #30383c;
    border: 0;
    color: #ffffff;
}
.block.upsell .owl-carousel .owl-nav button.owl-prev,
.block.upsell .owl-carousel .owl-nav button.owl-next,
.block.crosssell .owl-carousel .owl-nav button.owl-prev,
.block.crosssell .owl-carousel .owl-nav button.owl-next {
    top: 45%;
}
.products.list .product-reviews-summary.short {
    display: none;
}

/* tier price */
.product-item .minimal-price-link {
    font-size: 20px;
    font-weight: 500;
    color: #30383c;
    order: 1;
    margin-top: 0;
}
.product-item .minimal-price-link + .price-container .price {
    font-size: 16px;
    color: #30383c;
    font-weight: normal;
    text-decoration: line-through;
    margin-right: 20px;
}

@media (min-width: 1024px) {
    .page-products .products-grid .product-item {
        margin-left: 2% !important;
        padding: 5px;
        width: calc((100% - 4%) / 3);
    }
    .page-products .products-grid .product-item .product-item-info {
        width: 320px;
    }
    .page-products .products-grid .product-item:nth-child(3n + 1) {
        margin-left: 0 !important;
    }
}

/* ==========================================================================
   Category
   ========================================================================== */
.catalog-category-view #maincontent {
    margin-top: 0;
}
.catalog-category-view .ammenu-header-container.page-header {
    border-bottom: 0;
}
.category-imgdesc-container {
    margin-bottom: 45px;
    background: #f9f9f9;
}
.category-imgdesc-container .breadcrumbs {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 100% !important;
    padding: 0;
    margin-bottom: 0;
    height: 40px;
}
.category-imgdesc-container .breadcrumbs .items {
    margin-left: auto;
    margin-right: auto;
    padding: 10px 15px;
}
.category-image {
    width: 100%;
    height: 100%;
    margin-bottom: 0;
    margin-top: -40px;
    position: relative;
    min-height: 150px;
}
.category-image .image {
    height: 150px;
    object-fit: cover;
    object-position: center;
    width: 100%;
}
.category-imgdesc-container .page-title-wrapper,
.category-imgdesc-container .category-description {
    margin-bottom: 0;
}
.category-imgdesc-container .category-description {
    padding-top: 40px;
    padding-bottom: 50px;
    padding-left: 11%;
    padding-right: 11%;
}
.category-imgdesc-container .category-description h2 {
    text-transform: none;
    margin-bottom: 15px;
}
.category-imgdesc-container .category-description p {
    font-size: 17px !important;
    font-weight: 300;
    margin-bottom: 25px;
}
.category-imgdesc-container .page-title-wrapper {
    text-align: center;
    position: relative;
    z-index: 2;
}
.category-imgdesc-container .category-image + .container .page-title-wrapper {
    margin-top: -105px;
}
.category-imgdesc-container h1 {
    color: #30383c;
    padding: 15px 30px 13px;
    line-height: 1;
    font-size: 37px;
    padding-bottom: 40px;
}
.category-imgdesc-container p,
.category-imgdesc-container p span {
    color: #30383c;
    font-size: 13px !important;
}

/* toolbars */
.toolbar-products {
    padding-left: 5px;
    padding-right: 5px;
}
#toolbar-amount,
.sorter-label {
    font-size: 17px;
    color: #30383c;
    font-weight: 300;
}
.toolbar-sorter {
    position: relative;
}
.toolbar-sorter:after {
    content: '\f107';
    font-family: 'Font Awesome 6 Pro';
    color: #30383c;
    font-size: 18px;
    font-weight: 300;
    position: absolute;
    top: 12px;
    right: 70px;
    z-index: -1;
}
select#sorter {
    font-size: 17px;
    background: transparent;
    box-shadow: none;
    border-radius: 0 !important;
    border: solid 1px #a8a8a8;
    position: relative;
    z-index: 1;
    padding: 10px 40px 10px 20px;
    height: 45px;
    font-weight: 300;
}
.sorter-action {
    border-radius: 0;
    border: solid 1px #f9f9f9;
    padding: 8px 15px 10px 15px;
    height: 45px;
    top: -3px !important;
    background: #f9f9f9;
}
.sorter-action:before {
    content: '\f063';
    font-family: 'Font Awesome 6 Pro';
    color: #30383c;
    font-weight: 300;
    margin-top: 2px;
}
.sorter-action.sort-desc:before {
    content: '\f062';
}
.products.wrapper ~ .toolbar .limiter {
    display: none;
}
.products.wrapper ~ .toolbar .pages {
    float: none;
}
.toolbar .pages .item {
    border-radius: 0;
    border-bottom: solid 1px #a8a8a8;
    width: 30px;
    height: 30px;
    margin-right: 15px;
    line-height: 30px;
}
.toolbar .pages .item span {
    color: #30383c;
    font-size: 17px;
    font-weight: 200;
}
.toolbar .pages .item.current span {
    color: #fff;
}
.toolbar .pages .item.current {
    background: #30383c;
    border: solid 1px #0053a7;
}
.toolbar .pages strong.page {
    background: transparent;
}
.toolbar .pages .item.pages-item-next,
.toolbar .pages .item.pages-item-previous {
    border: 0;
}
.toolbar .pages .action {
    box-shadow: none;
    border: 0;
    border-radius: 0;
    background: #f9f9f9;
    color: #30383c;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.toolbar .pages .action:before {
    font-family: 'Font Awesome 6 Pro';
    font-weight: 300;
    font-size: 15px;
}
.toolbar .pages .action.next:before {
    content: '\f061';
}
.toolbar .pages .action.previous:before {
    content: '\f060';
}

/* sidebar */
.sidebar.sidebar-main {
    padding: 0 30px 30px 30px;
}
.filter .block-subtitle {
    font-size: 20px;
    color: #30383c;
    padding-left: 0;
    padding-right: 0;
    border: 0;
    margin-top: 50px;
    font-weight: 500;
}
.filter-options-item {
    padding: 0 20px;
    border-radius: 0;
    border: 0;
    margin-bottom: 8px;
}
#layered-filter-block {
    margin-bottom: 0;
}
.filter-options-title {
    font-size: 17px;
    text-transform: none;
    color: #30383c;
    font-weight: normal;
    padding-left: 0;
    padding-bottom: 12px;
    padding-top: 12px;
}
.filter-options-title:hover {
    color: #30383c;
}
.filter-options-title:after {
    right: 0;
    top: 14px;
    color: #30383c;
}
.filter-options-content {
    padding: 10px 0;
}
.filter .filter-content .item {
    margin-top: 0;
}
.smile-es-range-slider .ui-slider-handle {
    background: #30383c;
}
.attribute_filter.multiselect .item label,
.attribute_filter.multiselect .item input[checked] + label:hover,
.attribute_filter.select .item label,
.attribute_filter.select .item input[checked] + label:hover,
.attribute_filter.multiselect .item input[checked] + label,
.attribute_filter.multiselect .item label:hover,
.attribute_filter.select .item input[checked] + label,
.attribute_filter.select .item label:hover {
    color: #fff;
    background: #30383c;
    cursor: pointer;
    line-height: normal;
    padding: 6px 15px;
    border: 0;
}
.attribute_filter.select .item label span {
    white-space: nowrap;
}
.filter-options-content a:hover {
    background-color: #30383c;
}
.attribute_filter .item a {
    padding-left: 0;
    padding-right: 0;
}
.filter-current .item {
    margin-left: 0 !important;
}
.filter-current .items {
    padding-left: 0;
}
.filter-current .action.remove:before {
    color: #ff0000;
}
.filter-current .action.remove:hover:before {
    color: #30383c;
}
.attribute_filter.boolean input + label:hover > span,
.attribute_filter.boolean input[checked] + label > span {
    background-color: #30383c;
}

/* category tree nav */
.sidebar_navigation .filter-options-title {
    font-size: 20px;
    font-weight: 500;
    color: #30383c;
    padding-top: 5px;
}
.sidebar_navigation .filter-options-title:hover {
    cursor: auto;
    color: #30383c;
}
.sidebar_navigation .filter-options-title:after {
    display: none;
}
.tree_navigation {
    list-style: none;
    padding: 10px 0 5px 10px;
}
.tree_navigation.level_root {
    padding: 0;
}
.tree_navigation a {
    font-size: 17px;
    color: #30383c;
}
.tree_navigation li ul li a {
    font-size: 14px;
}
.tree_navigation.level_root > li {
    margin-top: 15px;
    position: relative;
}
.tree_navigation.level_root > li > a {
    display: inline-block;
    padding-right: 50px;
}
.tree_navigation.level_root > li.has_children > span {
    position: absolute;
    right: 20px;
    top: 1px;
    cursor: pointer;
}
.tree_navigation.level_root > li.has_children > span:after {
    color: #30383c;
    content: '\e621';
    font-family: 'luma-icons';
    font-size: 13px;
    display: inline-block;
}
.tree_navigation.level_root > li.has_children:not(.active_tree) ul {
    display: none;
}
.tree_navigation.level_root > li.has_children:not(.active_tree) > span:after {
    content: '\e622' !important;
}
.tree_navigation.level_2 {
    padding-top: 0;
    padding-bottom: 0;
    border-left: solid 1px #30383c;
    margin-top: 5px;
    margin-left: 10px;
}
.tree_navigation.level_2 li.item:last-child {
    margin-bottom: 0;
}
.tree_navigation.level_1 .current_category > a,
.tree_navigation.level_2 .current_category > a {
    font-weight: 600;
}

@media (max-width: 1024px) {
    .category-imgdesc-container .container {
        display: block;
        padding: 0 15px;
    }
    .category-imgdesc-container .page-title-wrapper {
        width: calc(100% + 15px) !important;
    }
    body[class*=categorypath-profumeria] .category-imgdesc-container .page-title-wrapper {
        width: 100% !important;
    }
    .category-imgdesc-container h1 {
        padding-left: 0;
        padding-right: 0;
    }
    .category-imgdesc-container .category-description {
        padding-left: 0;
    }
    .sidebar_navigation {
        display: none;
    }
    .sidebar.sidebar-main {
        padding: 0;
        border: 0;
    }
    .page-products .product-item-info,
    .products-grid .product-item {
        width: 100%;
    }
    .column.main .product-item {
        margin-left: 0;
        margin-bottom: 15px;
        margin-right: 0;
    }
}
@media (max-width: 768px) {
    .filter-title strong:after {
        content: 'Filtri';
        display: block;
        margin-top: -15px;
        background: #f0f0f0;
        position: relative;
        z-index: 1;
    }
    .filter.active .filter-title strong:after {
        background: none;
        margin-top: 0;
    }
    .filter.active .filter-options {
        top: 100px;
    }
    .filter.active .filter-options,
    .filter.active .filter-subtitle {
        padding-left: 10px;
        padding-right: 10px;
    }
}
@media (max-width: 415px) {
    .sorter-label {
        display: none;
    }
}

/* ==========================================================================
   Product Page
   ========================================================================== */
.catalog-product-view .page-wrapper {
    background: #f9f9f9;
    overflow: hidden;
}
.catalog-product-view .column.main {
    padding-bottom: 0;
}
.catalog-product-view .page-title-wrapper {
    text-align: left;
    margin-bottom: 30px;
}
.catalog-product-view .page-title-wrapper h1 {
    font-size: 37px;
    color: #30383c;
    text-transform: none;
}
.product-info-main .product.attribute.overview p {
    font-size: 17px;
    font-weight: 300;
}
.catalog-product-view .block.upsell {
    background: #fff;
    margin: 0;
    text-align: center;
    padding-top: 50px;
    padding-bottom: 80px;
    position: relative;
    z-index: 2;
}
.catalog-product-view .block.upsell:after,
.catalog-product-view .block.upsell:before {
    content: '';
    background: white;
    position: absolute;
    height: 100%;
    width: calc((100vw - 100%) / 2);
    top: 0;
}
.catalog-product-view .block.upsell:before {
    left: calc(-1 * ((100vw - 100%) / 2));
}
.catalog-product-view .block.upsell:after {
    right: calc(-1 * ((100vw - 100%) / 2));
}
.product-stocksku-container {
    display: none;
}
.product-stocksku-container .product-info-stock-sku {
    float: none;
    padding: 10px 0 30px 0;
    text-align: left;
    font-size: 17px;
}
.product-actions-container,
.product-actions-container .box-tocart .fieldset {
    display: flex;
    align-items: center;
}
.product-actions-container .product-add-form {
    padding-top: 0;
    margin-right: 30px;
}
.product-actions-container .box-tocart {
    margin-bottom: 0;
}
.catalog-product-view span.price-label {
    display: none !important;
}

/* qty field */
.catalog-product-view .field.qty {
    margin-right: 20px;
    width: 120px;
}
.catalog-product-view .field.qty label span {
    display: none;
}
.catalog-product-view .field.qty .control {
    border-radius: 0;
    border: solid 1px #a8a8a8;
    padding: 3px 15px;
    display: flex;
    align-items: center;
}
.catalog-product-view .field.qty #qty {
    border: 0;
    font-size: 17px;
    color: #30383c;
    background: #f9f9f9;
}
.catalog-product-view .field.qty .edit-qty {
    font-size: 15px;
    color: #30383c;
    cursor: pointer;
}
.catalog-product-view .field.qty .edit-qty i {
    font-weight: 500;
}

/* add to cart */
button#product-addtocart-button {
    background: #30383c;
    padding: 10px 15px 8px;
    margin-bottom: 0;
    border-radius: 0 !important;
    font-size: 13px;
    font-weight: 500;
    width: auto;
    min-width: 240px;
    margin-top: -1px;
}
button#product-addtocart-button:before {
    color: #fff;
    font-size: 20px;
    margin-right: 10px;
    top: 2px;
    position: relative;
}
button#product-addtocart-button span {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 17px;
    text-transform: uppercase;
    font-weight: 300;
}

/* add to wishlist */
.product-addto-links span {
    display: none;
}
.product-social-links .action.towishlist:before {
    color: #eb212e;
    font-size: 20px;
    font-weight: 300;
    content: '\f004';
    font-family: 'Font Awesome 6 Pro';
    width: 22px;
    line-height: 20px;
}
.product-social-links .action.towishlist:hover:before {
    font-weight: 600;
}

/* reviews */
.product-reviews-summary .reviews-actions {
    display: none;
}
.rating-summary .rating-result > span:before,
.review-control-vote label:before {
    color: #30383c;
}

/* price */
.catalog-product-view .product-info-main .product-info-price {
    border: 0;
    padding-top: 20px;
    margin-bottom: 0;
}
.catalog-product-view .product-info-main .product-info-price .price-box {
    display: flex;
}
.catalog-product-view .product-info-main .product-info-price .special-price {
    order: 1;
}
.catalog-product-view .product-info-main .product-info-price .price-box .old-price {
    position: relative;
    top: -4px;
    margin-right: 15px;
}
.catalog-product-view .product-info-main .product-info-price .old-price .price-wrapper .price {
    color: #30383c;
    font-size: 15px;
    font-weight: 500;
    line-height: 15px;
    text-decoration: line-through;
}
.catalog-product-view .product-info-price .price-box .price-container .price {
    color: #30383c;
    font-size: 21px;
    font-weight: bold;
    line-height: 21px;
}

/* tier price */
.catalog-product-view .prices-tier,
.catalog-product-view .prices-tier .price {
    font-size: 19px;
}
.catalog-product-view .prices-tier .price,
.catalog-product-view .prices-tier .benefit {
    font-weight: bold;
    color: #30383c;
}

/* bundle product info */
.bundle-options-container .product-add-form {
    display: block;
}
.bundle-options-container .bundle-options-wrapper,
.bundle-options-container .block-bundle-summary .price-box {
    display: none;
}
.bundle-options-container .block-bundle-summary {
    width: 100%;
    padding: 10px 0;
    float: none;
    margin: 0;
    position: static;
}
.bundle-info .box-tocart .fieldset {
    display: flex;
    align-items: center;
}
.bundle-options-container,
.bundle-options-container .block-bundle-summary .box-tocart,
.bundle-info .box-tocart .fieldset {
    margin-bottom: 0;
}
.page-product-bundle .product-actions-container {
    position: relative;
}
.page-product-bundle .product-actions-container .product-social-links {
    position: absolute;
    left: 410px;
    top: -60px;
}
.bundle-options-container .block-bundle-summary .bundle-summary {
    margin-top: 0;
}
.page-product-bundle .product-info-main .product-info-price .price-final_price {
    order: 1;
}

/* product tabs */
.product.info.detailed {
    position: relative;
    margin-top: 60px;
}
#tab-label-description {
    margin-left: 30%;
}
.product.data.items * {
    font-size: 17px;
}
.product.data.items:before {
    content: '';
    position: absolute;
    height: 58px;
    background: #f5f5f5;
    width: 100%;
    border-radius: 0;
}
.product.data.items {
    border: solid 1px #dcdcdc;
    border-radius: 0;
    margin-bottom: 40px;
}
.product.data.items > .item.title,
.product.data.items > .item.title > .switch,
.product.data.items > .item.content {
    border: 0;
    border-radius: 10px;
}
.product.data.items > .item.title {
    border-radius: 0 !important;
}
.product.data.items > .item.title > .switch {
    text-transform: uppercase;
    font-size: 17px;
    color: #30383c !important;
    margin-top: 0;
    border-radius: 0;
    padding-left: 15px;
    padding-right: 15px;
    background: transparent;
    height: 58px;
    line-height: 58px;
}
.product.data.items > .item.content {
    padding: 70px;
}

/* fotorama */
.fotorama__thumb,
.fotorama__thumb-border {
    border-radius: 0;
}
.fotorama__thumb-border {
    border: 0;
    border-bottom: solid 1px #bf2530;
}
.fotorama__arr,
.fotorama__thumb__arr {
    background: transparent;
}

/* attribute icons */
.catalog-product-view .prod-attr-icons {
    display: flex;
    align-items: center;
    padding: 10px 0 20px 0;
}
.catalog-product-view .prod-attr-icons .attr-icon {
    display: inline-flex;
    margin-right: 25px;
    height: 50px;
}
.catalog-product-view .prod-attr-icons .icon-exclusivecomplex {
    content: url(../images/icon-exclusivecomplex.png);
}
.catalog-product-view .prod-attr-icons .icon-dermtested {
    content: url(../images/icon-dermtested.png);
}
.catalog-product-view .prod-attr-icons .icon-ofttested {
    content: url(../images/icon-offsetted.png);
}

/* stock alert btn */
.product-info-main .product.alert {
    margin: 20px 0 0 0;
    padding: 0;
}
.product-info-main .product.alert .action.alert {
    background: #30383c;
    color: #fff;
    padding: 11px 16px;
}
.product-info-main .product.alert .action.alert:before {
    content: '\f0f3';
    font-family: 'Font Awesome 6 Pro';
    margin-right: 8px;
    font-size: 15px;
    vertical-align: middle;
}

/* ingredients block */
.product-ingredients-container {
    position: relative;
    background: #fff;
    padding-top: 100px;
    padding-bottom: 100px;
}
.product-ingredients-container:after,
.product-ingredients-container:before {
    content: '';
    background: white;
    position: absolute;
    height: 100%;
    width: calc((100vw - 100%) / 2);
    top: 0;
}
.product-ingredients-container:before {
    left: calc(-1 * ((100vw - 100%) / 2));
}
.product-ingredients-container:after {
    right: calc(-1 * ((100vw - 100%) / 2));
}
.ingredients-col {
    column-count: 2;
    column-width: auto;
    column-gap: 60px;
}
.ingr-container {
    margin-bottom: 60px;
    font-size: 17px;
    font-weight: 300;
    color: #30383c;
}
.ingr-label,
.ingr-description strong {
    font-weight: 600;
}
.ingr-label {
    display: none;
}
.ingredients-img-col {
    text-align: center;
}

@media (max-width: 1099px) {
    #tab-label-description {
        margin-left: 25%;
    }
}
@media (max-width: 991px) {
    #tab-label-description {
        margin-left: 0;
    }
}
@media (max-width: 768px) {
    .product.data.items:before {
        display: none;
    }
}
@media (max-width: 450px) {
    .catalog-product-view .field.qty .control,
    button#product-addtocart-button {
        height: 65px;
    }
    button#product-addtocart-button {
        min-width: 90px;
    }
    button#product-addtocart-button:before {
        margin-right: 0;
    }
    button#product-addtocart-button span {
        font-size: 12px;
    }
    .catalog-product-view .product-actions-container {
        position: relative;
    }
    .catalog-product-view .product-actions-container .product-social-links {
        position: absolute;
        left: 0;
        top: 115px;
    }
    .page-product-bundle .product-actions-container .product-social-links {
        top: 0;
    }
    .ingredients-col {
        column-count: 1;
    }
}

/* ==========================================================================
   Account
   ========================================================================== */
.form.create.account .col-lg-6:first-child {
    padding-right: 40px;
}
.form.create.account .col-lg-6 + .col-lg-6 {
    padding-left: 40px;
}
.additional_agreements {
    background: #f9f9f9;
    border-top: solid 3px #30383c;
    padding: 10px 15px;
}
.form.create.account .actions-toolbar {
    margin-top: 50px;
}
input#third_consent {
    position: relative;
    top: 2px;
}
input#is_subscribed {
    top: -2px;
}
.account .sidebar.sidebar-main {
    padding-top: 20px;
    padding-bottom: 20px;
}
.account .sidebar.sidebar-main .block-collapsible-nav .content,
.account .sidebar.sidebar-main .block-collapsible-nav .item a:hover {
    background: #fff;
}
.account .sidebar.sidebar-main .block-collapsible-nav .nav.items {
    display: block;
}
.account .sidebar.sidebar-main .block-collapsible-nav .item a {
    color: #30383c;
    padding-left: 0;
    font-size: 15px;
    border-left: 0;
}
.account .block-collapsible-nav .item.current > strong,
.block-collapsible-nav .item.current a strong {
    border-left: 3px solid #30383c;
    font-size: 15px;
    margin-left: -19px;
    padding: 5px 18px 5px 15px;
    font-weight: 600;
}
.account .title.block-collapsible-nav-title {
    width: auto;
    position: static;
    height: auto;
    margin-top: 15px;
}
.account .title.block-collapsible-nav-title strong {
    color: #30383c;
    font-size: 17px;
}
.account .field[data-container=username] {
    display: none;
}

/* account sales order view */
.account.sales-order-view .page-title-wrapper {
    margin-bottom: 10px;
}
.account .block-order-details-comments {
    display: none;
}
.account .order-details-items .price {
    color: #30383c;
}
.account .order-details-items .items-qty .title {
    display: none;
}

/* wishlist products grid */
.products-grid.wishlist .product-item-comment {
    margin-top: 20px;
}
.products-grid.wishlist .box-tocart {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 0;
}
.account button.action.share {
    display: none;
}
.account button.action.tocart[data-role=all-tocart] {
    background: #30383c;
    color: #fff;
    padding: 6px 15px 7px;
}
.account button.action.tocart[data-role=all-tocart]:before {
    color: #fff;
    margin-right: 8px;
}

/* login popup */
.popup-authentication .block[class]+.block:before {
    display: none;
}
.popup-authentication .block-authentication {
    border-top: 0;
}
.popup-authentication .block-authentication .block[class] ul {
    list-style: disc;
    padding-left: 15px;
}
.popup-authentication .block-authentication .actions-toolbar > .primary .action {
    font-size: 15px;
    padding-top: 8px;
    padding-bottom: 8px;
}

/* social login */
.account-social-login .actions-toolbar.social-btn {
    width: auto;
}
.btn-google .fa-google {
    background: none;
}
.btn-google .fa-google:before {
    content: '\f1a0';
}

/* account register consents */
.consents.consent_text {
    border-top: 3px solid #bf2530;
}

/* account edit consents */
.consents-management-container {
    margin-bottom: 60px;
}
.consents-management-container legend {
    border-bottom: 0 !important;
    margin-bottom: 20px !important;
}
.consents-management-container input[type="radio"] {
    position: relative;
    top: 2px;
}

@media (max-width: 991px) {
    .form.create.account .col-lg-6:first-child {
        padding-right: calc(var(--bs-gutter-x) * .5);
    }
    .form.create.account .col-lg-6 + .col-lg-6 {
        padding-left: calc(var(--bs-gutter-x) * .5);
        margin-top: 25px;
    }
}
@media (max-width: 768px) {
    .account .block-collapsible-nav .title:after {
        top: 23px;
    }
    .account .sidebar.sidebar-main .block-collapsible-nav .content,
    .account .sidebar.sidebar-main .block-collapsible-nav .item a:hover {
        background: #f5f5f5;
    }
    .account .sidebar.sidebar-main .block-collapsible-nav .content {
        padding: 15px;
    }
    .products-grid.wishlist .product-item-photo {
        float: none;
        margin-right: 0;
    }
    .products-grid.wishlist .product-item-name,
    .products-grid.wishlist .product-item-description,
    .products-grid.wishlist .product-item .price-box,
    .products-grid.wishlist .product-item-tooltip {
        margin-left: 0;
    }
    .products-grid.wishlist .product-item .box-tocart {
        margin-top: 10px;
    }
    .products-grid.wishlist .product-item-actions .action:last-child {
        padding: 5px 0 0 0;
    }
}

/* ==========================================================================
   Cart
   ========================================================================== */
.cart.table-wrapper .actions-toolbar {
    min-height: 25px;
}
.checkout-cart-index .cart.table-wrapper .product-item-name {
    text-align: left;
}
.checkout-cart-index .page.messages {
    position: static;
    width: 100%;
}

/* amasty promo */
.ampromo-popup-wrapper .ampromo-popup-title,
.ampromo-popup-wrapper h2 {
    text-transform: none;
    margin-top: 20px;
    margin-bottom: 40px;
    text-align: center;
}
.checkout-index-index .ampromo-items-add,
.ampromo-items-form .product-info-price,
.ampromo-item .ampromo-options,
.ampromo-item-qty-left,
.ampromo-popup-wrapper .slick-dots {
    display: none !important;
}
.ampromo-popup-wrapper .ampromo-product-select {
    float: left;
    margin-top: 5px;
}
.ampromo-popup-wrapper .ampromo-item-wrapper .ampromo-title {
    margin-top: 5px;
    margin-bottom: 20px;
}
.ampromo-popup-wrapper .ampromo-item-wrapper .ampromo-title,
.ampromo-popup-wrapper .ampromo-item-wrapper .ampromo-title a,
.ampromo-popup-wrapper .ampromo-item-wrapper .ampromo-title a,
.ampromo-popup-wrapper .ampromo-item-wrapper .ampromo-title a:hover {
    text-transform: none;
    font-size: 18px;
    color: #30383c;
}
.ampromo-item-buttons button {
    text-transform: uppercase;
    font-weight: 400 !important;
}
.ampromo-popup-wrapper .ampromo-item {
    border: 0;
    padding: 10px;
}
.ampromo-popup-wrapper .ampromo-item:hover {
    background: none;
}
.ampromo-popup-wrapper .ampromo-item.-selected {
    background: #bf2530;
}
.ampromo-popup-wrapper .ampromo-items-form .ampromo-qty {
    text-align: center;
    margin-bottom: 5px;
}

/* minicart amasty promo claim */
.minicart-freegift-link-container {
    padding: 0 10px;
    text-align: center;
    margin: 10px 0 20px;
}
.minicart-freegift-link-container a {
    display: block;
    border: dashed 1px #3a4145;
    padding: 3px 5px 2px;
}

/* ==========================================================================
   Checkout
   ========================================================================== */
.checkout-index-index header .header {
    display: flex;
    padding-top: 80px;
}
.checkout-index-index .logo {
    margin-left: auto;
}
.checkout-index-index .action-auth-toggle {
    color: #30383c;
}
.opc-progress-bar-item {
    width: 50%;
}
.opc-progress-bar-item._active > span:after {
    color: #bf2530;
}
.opc-progress-bar-item._active > span:before,
.opc-progress-bar-item._active > span:after,
.opc-progress-bar-item._active:before,
.opc-wrapper .shipping-address-item.selected-item {
    border-color: #bf2530;
}
.opc-progress-bar-item._active > span:before,
.opc-progress-bar-item._active:before,
.opc-wrapper .shipping-address-item.selected-item:after {
    background: #bf2530;
}
.table-checkout-shipping-method {
    margin-left: 10px;
}
.checkout-payment-method .payment-option._collapsible .payment-option-content {
    display: block !important;
}
.checkout-payment-method .payment-option._active .payment-option-title .action-toggle:after,
.checkout-payment-method .payment-option-title .action-toggle:after {
    display: none;
}
input#discount-code {
    height: 36px;
    line-height: 36px;
}
.checkout-payment-method .payment-option-content .form-discount .actions-toolbar .primary .action {
    margin-left: 10px;
}
.custom-checkout-form .field[name="customCheckoutForm.checkout_invoice"] {
    margin-bottom: 0;
}
.custom-checkout-form .field[name="customCheckoutForm.checkout_invoice"] > label > span,
.custom-checkout-form .field[name="customCheckoutForm.checkout_business"] > label > span {
    display: none;
}
.custom-checkout-form input.input-text {
    width: 65%;
}
.checkout-index-index .minicart-items .product-item-name {
    text-align: left;
}
.checkout-index-index #payment_form_paypal_express span {
    margin-left: -22px;
}
.opc-wrapper .step-title {
    border-bottom: 0;
    font-weight: 500;
}
.checkout-index-index .field[name*=vat_id] {
    display: none;
}
#shipping-new-address-form {
    display: flex;
    flex-direction: column;
}
.field[name*=mpShippingAddressAttributes] {
    order: 1;
}
.field[name*=request_invoice] {
    margin-top: 50px;
}
.field[name*=request_invoice]:before {
    content: 'Request Invoice?';
    display: block;
    font-size: 26px;
    font-weight: 500;
    color: #333;
    margin-bottom: 15px;
    padding-bottom: 25px;
}
html[lang=it] .field[name*=request_invoice]:before {
    content: 'Vuoi richiedere la Fattura?';
}
.checkout-index-index .block-authentication .actions-toolbar>.primary .action {
    padding: 8px 15px;
}

/* paypal review */
.paypal-review-discount .fieldset,
.paypal-review-discount .field {
    display: block;
}
.paypal-review-discount .field {
    width: 50%;
}

@media (max-width: 1024px) {
    .checkout-index-index header .header {
        padding-top: 30px;
    }
    .checkout-index-index .logo {
        margin-right: auto;
    }
    .checkout-container .opc-estimated-wrapper {
        position: relative;
    }
    .checkout-index-index .minicart-wrapper {
        bottom: auto;
    }
    .custom-checkout-form input.input-text {
        width: 100%;
    }
}
@media (max-width: 639px) {
    .field[name*=request_invoice]:before {
        font-size: 18px;
        margin-left: -15px;
        margin-right: -15px;
        padding: 15px 15px 20px 15px;
    }
    .opc-wrapper .form-login,
    .opc-wrapper .form-shipping-address,
    .opc-wrapper .methods-shipping {
        background: none;
    }
}

/* ==========================================================================
   CMS Pages
   ========================================================================== */
.cms-page-view .txt-col h2,
.cms-page-view .txt-col h3,
.cms-page-view .txt-col h4 {
    font-size: 33px;
    text-transform: none;
    margin-bottom: 15px;
    font-weight: bold;
}
.cms-page-view .txt-col p {
    font-size: 17px;
    font-weight: 300;
}
.cms-page-view .txt-col.top-border {
    border-top: solid 1px #a8a8a8;
    padding: 50px;
}
.cms-page-view .txt-col.top-border p {
    font-size: 20px;
}
.cms-page-view .cta-col a,
.cms-page-view .cta-col a:hover {
    background: #30383c;
    color: #fff;
    text-transform: uppercase;
    padding: 6px 10px 5px;
    text-decoration: none;
    display: inline-block;
    margin-top: 15px;
}
.cms-page-view .pagebuilder-column-line {
    justify-content: center;
}
.cms-page-view .img-col,
.cms-page-view .boxed-columns .pagebuilder-column {
    max-width: 435px;
}
.cms-page-view .url-list ul {
    margin-top: 20px;
}
.cms-page-view .url-list li {
    list-style: none;
    margin-bottom: 20px;
    padding-left: 15px;
    position: relative;
}
.cms-page-view .url-list li:before {
    content: '\e635';
    font-family: 'Font Awesome 6 Pro';
    position: absolute;
    left: -15px;
    top: calc(50% - 10px);
}
.cms-page-view .url-list li a {
    font-size: 17px;
    text-decoration: underline;
}
.cms-page-view .opacity-bg {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.7);
}
.slick-slider .slick-arrow {
    background: none !important;
}
.slick-prev:before,
.slick-next:before {
    content: '\f105' !important;
    font-family: 'Font Awesome 6 Pro';
    color: #30383c !important;
    font-weight: 300;
}

/* ==========================================================================
   Esigenze
   ========================================================================== */
.cms-esigenze-landing .head-row div[data-content-type="text"] {
    padding-left: 37%;
}
.cms-esigenze-landing .head-row h1 {
    margin-bottom: 35px;
}
.head-row p {
    font-size: 17px;
    font-weight: 300;
}
.esigenze-col {
    margin-top: -130px;
    padding-left: 17.5%;
}
.esigenze-col .pagebuilder-column {
    padding-right: 30px;
    padding-bottom: 60px;
    max-width: 300px;
}
.esigenze-col img {
    width: 280px;
    height: 280px;
}
.esigenze-col h4 a {
    font-size: 26px;
    text-transform: none;
    font-family: 'Cormorant', sans-serif;
    font-weight: bold;
}
.esigenze-col p {
    font-size: 20px;
    font-weight: 200;
}

@media (max-width: 1024px) {
    .cms-esigenze-landing .head-row div[data-content-type="text"],
    .esigenze-col {
        padding-left: 15px;
    }
}

/* ==========================================================================
   Transvital Essentials
   ========================================================================== */
.cms-transvital-essentials .head-row:after {
    content: '';
    background: #f2f2f2;
    width: 100%;
    height: 80px;
}
.cms-transvital-essentials .head-row figure {
    position: relative;
    bottom: -125px;
}

/* ==========================================================================
   Timeline
   ========================================================================== */
.timeline-row .txt-col p {
    font-size: 14px;
}
.timeline-date-col {
    position: relative;
}
.timeline-date-col p:first-of-type {
    width: 80px;
    height: 80px;
    background: #a8a8a8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 100px;
    font-size: 17px;
    font-weight: bold;
    position: relative;
    z-index: 2;
}
.timeline-date-col:before {
    content: '';
    position: absolute;
    height: calc(100% + 39px);
    border: dashed 1px #a4a4a4;
    z-index: 1;
    left: 50%;
    top: 0;
}
.timeline-row.last .timeline-date-col:before {
    height: calc(100% + 100px);
}
.timeline-last-row,
.beauty-row {
    background-size: 60% !important;
}
.timeline-last-row .txt-col strong {
    font-size: 23px;
    font-family: 'Cormorant', sans-serif;
}
.timeline-last-row .txt-col h3 {
    font-size: 37px;
}
.timeline-last-row .txt-col p {
    font-size: 20px;
}
.cms-il-brand .opacity-bg {
    padding-left: 20%;
    padding-right: 20%;
}

/* ==========================================================================
   Disposizioni ambientali
   ========================================================================== */
.icon-dispamb {
    content: url(../images/icon-dispamb.png);
    width: 100px;
    height: 100px;
    margin-top: 10px;
}
.cms-disposizioni-ambientali .pagebuilder-column .txt-col {
    border-top: solid 1px #d3d3d3;
}
.cms-disposizioni-ambientali .pagebuilder-column .txt-col ul {
    margin-left: 10px;
    font-size: 15px;
}

@media (min-width: 1025px) {
    .cms-disposizioni-ambientali .pagebuilder-column img {
        max-width: 430px !important;
    }
}
@media (max-width: 768px) {
    .cms-disposizioni-ambientali .column.main div[class*=background-image-] {
        min-height: 370px !important;
    }
    .cms-disposizioni-ambientali .pagebuilder-column .txt-col {
        margin-left: 0 !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}
