﻿@import url('ico.css');

@font-face {
    font-family: 'Titillium Web';
    font-style: italic;
    font-weight: 200;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/titilliumweb/v19/NaPFcZTIAOhVxoMyOr9n_E7fdMbewI1zZg.ttf) format('truetype');
}

@font-face {
    font-family: 'Titillium Web';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/titilliumweb/v19/NaPFcZTIAOhVxoMyOr9n_E7fdMbepI5zZg.ttf) format('truetype');
}

@font-face {
    font-family: 'Titillium Web';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/titilliumweb/v19/NaPAcZTIAOhVxoMyOr9n_E7fdMbmCA.ttf) format('truetype');
}

@font-face {
    font-family: 'Titillium Web';
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/titilliumweb/v19/NaPFcZTIAOhVxoMyOr9n_E7fdMbe0IhzZg.ttf) format('truetype');
}

@font-face {
    font-family: 'Titillium Web';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/titilliumweb/v19/NaPFcZTIAOhVxoMyOr9n_E7fdMbetIlzZg.ttf) format('truetype');
}

@font-face {
    font-family: 'Titillium Web';
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/titilliumweb/v19/NaPDcZTIAOhVxoMyOr9n_E7ffAzHKIw.ttf) format('truetype');
}

@font-face {
    font-family: 'Titillium Web';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/titilliumweb/v19/NaPDcZTIAOhVxoMyOr9n_E7ffGjEKIw.ttf) format('truetype');
}

@font-face {
    font-family: 'Titillium Web';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/titilliumweb/v19/NaPecZTIAOhVxoMyOr9n_E7fRMQ.ttf) format('truetype');
}

@font-face {
    font-family: 'Titillium Web';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/titilliumweb/v19/NaPDcZTIAOhVxoMyOr9n_E7ffBzCKIw.ttf) format('truetype');
}

@font-face {
    font-family: 'Titillium Web';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/titilliumweb/v19/NaPDcZTIAOhVxoMyOr9n_E7ffHjDKIw.ttf) format('truetype');
}

@font-face {
    font-family: 'Titillium Web';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/titilliumweb/v19/NaPDcZTIAOhVxoMyOr9n_E7ffEDBKIw.ttf) format('truetype');
}
/*
@media (min-width: @smartphone) and (max-width: @tablet) {}
*/
body {
    font-family: "Titillium Web", sans-serif;
    color: #262828;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    background-color: #e0e0e0;
}

.main-wrapper {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    background-color: #fff;
}

.container-fluid {
    padding: 0px;
}

.pcontainer {
    padding: 0 30px;
}

@media (max-width: 768px) {
    .pcontainer {
        padding: 0 15px;
    }
}

a {
    text-decoration: none;
    color: inherit;
}

    a.more:after {
        content: "→";
        display: inline-block;
        margin-left: 5px;
    }

h3 {
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: -0.6%;
}

.accordion .accordion-button:not(.collapsed) {
    background-color: #E0E6F3;
}

.accordion .accordion-body a.btn-inline {
    display: block;
    font-weight: 600;
    margin-top: 15px;
}

    .accordion .accordion-body a.btn-inline:after {
        content: "»";
        display: inline-block;
        margin-left: 5px;
    }

.bg-darkblue {
    background-color: #24345D;
}

.btn-pamoplus {
    background-color: #97D700;
    color: #041E42;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5%;
    border-radius: 20px;
    padding: 8px 20px;
    transition: all 0.2s;
    position: relative;
    overflow: hidden;
    z-index: 0;
    /*
    &::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 0;
        height: 0;
        background: #041E42;
        border-radius: 100%;
        transform: translate(-50%, -50%);
        z-index: -1;
        transition: width 0.5s ease, height 0.5s ease;
    }
    */
}

    .btn-pamoplus img {
        transition: all 0.2s;
    }

    .btn-pamoplus:hover {
        background-color: #041E42;
        color: #fff;
        border-color: #97D700;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        /*
        &::before {
            width: 300%;
            height: 300%;
        }
        */
    }

        .btn-pamoplus:hover img {
            filter: brightness(0) invert(1);
        }

header {
    color: #041E42;
    padding: 15px 0;
    /*box-shadow: 0 2px 2px rgba(0, 0, 0, 0.12);*/
    border-bottom: 3px solid #0000001F;
}

@media (max-width: 991.98px) {
    header .navbar > div.container-fluid {
        justify-content: flex-start;
    }
}

header .navbar-toggler {
    border: none;
    padding: 0;
    margin-right: 15px;
}

header .navbar-brand {
    margin-right: 60px;
}

@media (max-width: 991.98px) {
    header .navbar-brand {
        margin-right: 15px;
    }
}

header #navbarDesktop {
    display: flex;
    justify-content: space-between;
}

@media (max-width: 991.98px) {
    header #navbarDesktop {
        flex-basis: unset;
        justify-content: flex-end;
    }
}

header #navbarDesktop > ul {
    display: flex;
    padding: 0;
    margin: 0;
    gap: 30px;
    font-weight: 600;
}

@media (max-width: 991.98px) {
    header #navbarDesktop > ul.menu {
        display: none;
    }
}

header #navbarDesktop > ul li {
    list-style-type: none;
}

header #navbarDesktop .support-dropdown-menu {
    min-width: 230px;
}

header #navbarDesktop .support-dropdown-menu .dropdown-header {
    color: #041E42;
    font-weight: 700;
}

header #navbarDesktop .supportMenu {
    display: flex;
    gap: 30px;
}

    header #navbarDesktop .supportMenu ul {
        display: flex;
        padding: 0;
        margin: 0;
        gap: 7.5px;
        font-weight: 400;
        font-size: 12px;
        line-height: 20px;
    }

        header #navbarDesktop .supportMenu ul li {
            list-style-type: none;
        }

@media (max-width: 991.98px) {
    header #navbarDesktop .supportMenu ul:last-child {
        display: none;
    }
}

header #navbarDesktop .supportMenu ul i {
  font-size: 20px;
  line-height: 20px;
}
header #navbarDesktop .supportMenu .account-link {
  display: flex;
  align-items: center;
}
header #navbarDesktop .supportMenu .account-link img {
  width: 20px;
  height: 20px;
}

header .offcanvas {
    top: 95px !important;
    width: 100% !important;
    display: none;
}

@media (max-width: 991.98px) {
    header .offcanvas {
        display: flex;
    }
}

header .offcanvas .offcanvas-body {
    padding: 0;
}

    header .offcanvas .offcanvas-body .navbar-nav .nav-item {
        padding: 15px 30px;
        border-bottom: solid 1px #CFD2D2;
    }

        header .offcanvas .offcanvas-body .navbar-nav .nav-item > a {
            font-weight: 400;
            font-size: 20px;
            line-height: 28px;
            display: block;
        }

        header .offcanvas .offcanvas-body .navbar-nav .nav-item ul {
            list-style-type: none;
            padding: 0;
        }

            header .offcanvas .offcanvas-body .navbar-nav .nav-item ul li {
                font-weight: 600;
                font-size: 16px;
                line-height: 24px;
                margin-bottom: 7.5px;
            }

                header .offcanvas .offcanvas-body .navbar-nav .nav-item ul li:first-child {
                    font-weight: 400;
                    font-size: 20px;
                    line-height: 28px;
                }

header .offcanvas .mobile-support-menu .support-mobile-content {
    padding-top: 12px;
}

header .offcanvas .mobile-support-menu .support-section-title,
header .offcanvas .mobile-support-menu ul li:first-child.support-section-title {
    margin-top: 14px;
    color: #041E42;
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
}

header .offcanvas .mobile-support-menu .support-section-title:first-child {
    margin-top: 0;
}

footer {
    background-color: #041E42;
    color: #fff;
    padding: 30px 0 0 0;
    margin-top: 60px;
}

    footer a {
        color: #97D700;
    }

    footer .boxes {
        margin-top: 30px;
    }

        footer .boxes > div:first-child {
            display: flex;
            gap: 60px;
        }

@media (max-width: 768px) {
    footer .boxes > div:first-child {
        flex-direction: column;
        gap: 15px;
        margin-bottom: 30px;
    }
}

footer .footbar {
    border-top: solid 3px #F5F6F6;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0%;
}

    footer .footbar .foottext {
        display: flex;
        justify-content: space-between;
        padding: 15px 0 0 0;
    }

@media (max-width: 768px) {
    footer .footbar .foottext {
        flex-direction: column;
    }
}

footer .footbar .foottext ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
    display: flex;
    gap: 30px;
}

@media (max-width: 768px) {
    footer .footbar .foottext ul {
        flex-direction: column;
        gap: 0;
        padding-bottom: 15px;
    }
}

.breadcumb-wrapper {
    background-color: #E0E6F3;
    margin-bottom: 15px;
}

    .breadcumb-wrapper ul {
        list-style-type: none;
        padding: 7.5px 0;
        margin: 0;
        display: flex;
        font-weight: 400;
        font-size: 12px;
        line-height: 16px;
        letter-spacing: 0.5%;
        color: #041E42;
    }

        .breadcumb-wrapper ul li:after {
            content: "/";
            display: inline-block;
            margin: 0 7.5px;
        }

        .breadcumb-wrapper ul li:last-child {
            color: #848B8C;
        }

            .breadcumb-wrapper ul li:last-child:after {
                content: "";
            }

@media (max-width: 768px) {
    .breadcumb-wrapper {
        display: none;
    }
}

.hero #pamoplusMainHero.carousel {
    height: 280px;
    overflow: hidden;
}

.hero #pamoplusMainHero.carousel .carousel-inner,
.hero #pamoplusMainHero.carousel .carousel-item {
    height: 100%;
}

.hero #pamoplusMainHero.carousel .carousel-indicators {
    margin-bottom: 0;
}

    .hero #pamoplusMainHero.carousel .carousel-indicators button {
        width: 12px;
        height: 12px;
        background-color: #97D700;
        border-radius: 50%;
    }

.hero #pamoplusMainHero.carousel .carousel-inner .carousel-item .caption {
    font-family: Titillium Web;
    font-weight: 700;
    font-size: 48px;
    line-height: 52px;
    color: #fff;
    max-width: 50%;
    position: absolute;
    z-index: 2;
    top: 15px;
    left: 30px;
}

@media (max-width: 768px) {
    .hero #pamoplusMainHero.carousel .carousel-inner .carousel-item .caption {
        font-size: 30px;
        line-height: 38px;
        max-width: 80%;
    }
}

.hero #pamoplusMainHero.carousel .carousel-inner .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 768px) {
    .hero #pamoplusMainHero.carousel {
        height: 220px;
    }
}

.news-detail-hero {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.news-detail-hero img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.hero #carosello_pagina {
    height: 400px;
    overflow: hidden;
}

    .hero #carosello_pagina.carousel .carousel-indicators {
        margin-bottom: 0;
        bottom: 20px;
    }

        .hero #carosello_pagina.carousel .carousel-indicators button {
            width: 12px;
            height: 12px;
            background-color: #97D700;
            border-radius: 50%;
        }

    .hero #carosello_pagina.carousel .carousel-inner .carousel-item .caption {
        font-family: Titillium Web;
        font-weight: 700;
        font-size: 48px;
        line-height: 52px;
        color: #fff;
        max-width: 50%;
        position: absolute;
        z-index: 2;
        top: 15px;
        left: 30px;
    }

@media (max-width: 768px) {
    .hero #carosello_pagina.carousel .carousel-inner .carousel-item .caption {
        font-size: 30px;
        line-height: 38px;
        max-width: 80%;
    }
}

.hero #carosello_pagina.carousel .carousel-inner .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 768px) {
    .hero #carosello_pagina.carousel .carousel-inner .carousel-item img {
        min-height: 380px;
    }
}

.boxes {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

    .boxes .item {
        width: calc(33% - (15px / 2));
        margin-bottom: 15px;
        background-color: #fff;
        border-radius: 20px;
        padding: 15px;
    }

        .boxes .item h3 {
            font-weight: 600;
            font-size: 30px;
            line-height: 36px;
            letter-spacing: -0.75%;
        }

            .boxes .item h3 img {
                float: left;
                width: 40px;
                height: 40px;
                min-width: 40px;
                max-width: 40px;
                object-fit: contain;
                margin-right: 15px;
            }

        .boxes .item p {
            font-weight: 400;
            font-size: 16px;
            line-height: 24px;
        }

        .boxes .item a {
            font-weight: 600;
        }

@media (max-width: 768px) {
    .boxes .item {
        width: 100%;
    }

        .boxes .item p,
        .boxes .item a {
            display: none;
        }
}

.boxes-news {
    display: flex;
    justify-content: space-between;
    gap: 7.5px;
}

@media (max-width: 768px) {
    .boxes-news {
        flex-direction: column;
    }
}

.boxes-news .item {
    width: calc(33% - (15px / 2));
    border: 1px solid #CFD2D2;
    border-radius: 8px 12px;
    padding: 15px;
}

@media (max-width: 768px) {
    .boxes-news .item {
        width: 100%;
    }
}

.boxes-news .item .title {
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: -0.6%;
    margin-bottom: 15px;
}

.boxes-news .item .image img {
    width: 100%;
}

.boxes-news .item .testo {
    margin-top: 15px;
}

    .boxes-news .item .testo a {
        display: block;
        font-weight: 600;
        margin-top: 15px;
    }

        .boxes-news .item .testo a:after {
            content: "»";
            display: inline-block;
            margin-left: 5px;
        }

.boxes-news.list-news {
    flex-wrap: wrap;
}

    .boxes-news.list-news .item {
        width: calc(50% - (15px / 2));
    }

@media (max-width: 768px) {
    .boxes-news.list-news {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 15px;
        width: 100%;
    }

    .boxes-news.list-news .item {
        display: block;
        width: 100%;
        min-width: 0;
        padding: 0;
        overflow: hidden;
        border-radius: 12px;
        background-color: #fff;
    }

    .boxes-news.list-news .item .title {
        margin: 0;
        padding: 15px;
        font-size: 22px;
        line-height: 28px;
    }

    .boxes-news.list-news .item .image {
        width: 100%;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background-color: #F5F6F6;
    }

    .boxes-news.list-news .item .image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .boxes-news.list-news .item .testo {
        margin: 0;
        padding: 15px;
        font-size: 16px;
        line-height: 24px;
    }

    .boxes-news.list-news .item .news-preview {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
    }

    .boxes-news.list-news .item .news-cta {
        display: block;
        margin-top: 12px;
        color: #041E42;
        font-weight: 600;
    }

    .boxes-news.list-news .item .news-cta::after {
        content: " »";
    }
}

.boxes-services {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

    .boxes-services .item {
        width: calc(50% - (15px / 2));
        border: solid 2px #041E42;
        padding: 12px 20px;
        border-radius: 20px;
        margin-bottom: 15px;
    }

@media (max-width: 768px) {
    .boxes-services .item {
        width: 100%;
    }
}

.boxes-services .item h3 {
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
}

    .boxes-services .item h3:after {
        content: '→';
        display: inline-block;
        margin-left: 15px;
    }

.topper {
    border-radius: 12px;
    box-shadow: 0px 2px 4px 0px #0000001F;
}

    .topper .title {
        background-color: #24345D;
        color: #fff;
        font-weight: 600;
        font-size: 24px;
        line-height: 32px;
        letter-spacing: -0.6%;
        padding: 12px 20px;
        border-radius: 12px 12px 0 0;
    }

    .topper .testo {
        padding: 12px 20px;
    }

        .topper .testo p.lead {
            font-weight: 600;
            font-size: 24px;
            line-height: 32px;
            letter-spacing: -0.6%;
        }

.aside {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

@media (max-width: 768px) {
    .aside {
        flex-direction: column;
    }
}

.aside.page-news {
    justify-self: flex-end;
    width: calc(100% - 325px + 15px);
}

@media (max-width: 768px) {
    .aside.page-news {
        flex-wrap: wrap;
        width: 100%;
    }
}

.aside .main {
    width: 100%;
}

    .aside .main .testo img {
        width: 100%;
    }

.aside aside {
    width: 100%;
    max-width: 325px;
}

@media (max-width: 768px) {
    .aside aside {
        max-width: 100%;
    }
}

.aside aside > div {
    background-color: #E0E6F3;
    border-radius: 12px;
    padding: 15px;
    margin-bottom: 19.5px;
}

    .aside aside > div .title {
        font-weight: 600;
        font-size: 24px;
        line-height: 32px;
        letter-spacing: -0.6%;
    }

    .aside aside > div .c2action {
        font-weight: 600;
        font-size: 16px;
        line-height: 24px;
        border-radius: 20px;
        padding: 15px;
    }

        .aside aside > div .c2action a {
            font-weight: 600;
            font-size: 30px;
            line-height: 36px;
            letter-spacing: -0.75%;
        }

    .aside aside > div a.more {
        font-weight: 600;
    }

        .aside aside > div a.more:after {
            content: "»";
        }

    .aside aside > div ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
        margin-top: 15px;
    }

        .aside aside > div ul li {
            font-weight: 600;
            font-size: 16px;
            line-height: 24px;
            letter-spacing: -0.5%;
        }

            .aside aside > div ul li:first-child {
                font-weight: 400;
                font-size: 20px;
                line-height: 28px;
                letter-spacing: -0.5%;
            }

    .aside aside > div ul.partnership-links li,
    .aside aside > div ul.partnership-links li:first-child {
        font-weight: 600;
        font-size: 16px;
        line-height: 24px;
        letter-spacing: -0.5%;
    }

aside.cart {
    font-size: 16pt;
}

    aside.cart h3 {
        font-size: 24px;
    }

    aside.cart .trrow {
        display: flex;
        justify-content: space-between;
        padding: 10px 0;
    }

        aside.cart .trrow.bordered {
            border-top: solid 1px #CFD2D2;
        }

        aside.cart .trrow > div:first-child {
            font-weight: 600;
        }

    aside.cart .trbuttons {
        display: flex;
        width: 100%;
        min-width: 0;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0.5rem;
        padding: 10px 0;
    }

        aside.cart .trbuttons select {
            flex: 0 0 72px;
            width: 72px;
            padding: 8px 12px;
            border-radius: 12px;
        }

        aside.cart .trbuttons .btn-pamoplus {
            display: inline-flex;
            min-width: 0;
            max-width: calc(100% - 80px);
            flex: 1 1 0;
            align-items: center;
            justify-content: center;
            padding: 0.55rem 0.75rem;
            border-radius: 16px;
            white-space: normal;
            overflow-wrap: anywhere;
            text-align: center;
            font-size: 0.88rem;
            line-height: 1.25;
        }

    aside.cart .stock-info {
        margin-top: 0.35rem;
        padding: 0.75rem 0;
        border-top: 1px solid #dbe1e8;
        border-bottom: 1px solid #dbe1e8;
        color: #4f5964;
        font-size: 1rem;
        line-height: 1.4;
    }

    aside.cart .shop-request-info {
        padding-top: 0.85rem;
    }

    aside.cart .shop-request-info h3 {
        margin: 0 0 0.55rem;
    }

    aside.cart .shop-request-info p {
        margin: 0 0 0.9rem;
        color: #4f5964;
        font-size: 1rem;
        line-height: 1.45;
    }

    aside.cart .shop-request-info .btn-pamoplus {
        width: 100%;
        white-space: normal;
    }

@media (max-width: 768px) {
    aside.cart .trbuttons {
        flex-wrap: wrap;
    }

    aside.cart .trbuttons .btn-pamoplus {
        max-width: calc(100% - 80px);
    }
}

.product-detail header {
    border: none;
}

div.search {
    display: flex;
    gap: 15px;
    width: 100%;
    max-width: 325px;
    max-height: 42px;
    justify-content: space-between;
}

@media (max-width: 768px) {
    div.search {
        max-width: 100%;
    }
}

div.search input {
    border: solid 1px #CFD2D2;
    border-radius: 12px;
    padding: 8px 12px;
    width: 100%;
}

div.search > div {
    display: flex;
    align-items: center;
    gap: 7.5px;
}

    div.search > div a:first-child {
        display: flex;
        align-self: center;
    }

    div.search > div i {
        font-size: 20px;
    }

.header-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #F5F6F6;
    padding-top: 7.5px;
    padding-bottom: 7.5px;
}

    .header-hero h4 {
        font-weight: 600;
        font-size: 24px;
        line-height: 32px;
        letter-spacing: -0.8%;
        margin: 0;
    }

@media (max-width: 768px) {
    .header-hero h4 {
        display: none;
    }
}

.header-page {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: center;
}

    .header-page .title {
        width: 100%;
        font-weight: 700;
        margin: 0;
        font-size: 40px;
        background-color: #24345D;
        color: #fff;
        padding: 8px 8px 12px 8px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        gap: 15px;
    }

        .header-page .title img {
            height: 1em;
            width: auto;
            display: inline-block;
            filter: brightness(0) invert(1);
        }

    .header-page + .aside {
        gap: 15px;
    }

@media (max-width: 768px) {
    .header-page {
        flex-direction: column-reverse;
        margin-top: 15px;
    }

    #newsListHeader {
        flex-direction: column;
        align-items: stretch;
    }

    #newsListHeader .title {
        padding: 12px 15px;
        font-size: 30px;
        line-height: 38px;
    }
}

.news-category-filter {
    margin-top: 20px;
}

.news-category-select {
    display: flex;
    align-items: center;
    gap: 10px;
}

.news-category-select label {
    flex: 0 0 auto;
    margin: 0;
    font-weight: 600;
}

.news-category-select select {
    width: min(100%, 320px);
    padding: 9px 38px 9px 12px;
    border: 1px solid #CFD2D2;
    border-radius: 12px;
    background-color: #fff;
    color: #262828;
    font: inherit;
}

@media (max-width: 768px) {
    .news-category-filter {
        margin-top: 15px;
    }

    .news-category-select {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
    }

    .news-category-select select {
        width: 100%;
    }

    .news-page-content,
    .news-page-content > div {
        min-width: 0;
        width: 100%;
    }
}

.page-content {
    display: flex;
    gap: 15px;
    justify-content: space-between;
    width: 100%;
}

@media (max-width: 768px) {
    .page-content {
        flex-direction: column-reverse;
    }
}

.page-content .page-menu {
    width: 100%;
    max-width: calc(325px - (15px * 2));
}

@media (max-width: 768px) {
    .page-content .page-menu {
        max-width: 100%;
    }
}

.page-content .page-menu.page-menu-short {
    max-width: calc(250px - (15px * 2));
}

.page-content .page-menu .menu-dettaglio {
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
}

@media (max-width: 768px) {
    .page-content .page-menu .menu-dettaglio {
        display: none;
    }
}

.page-content .page-menu .menu-dettaglio ul {
    list-style: none;
    padding-left: 30px;
    margin: 0 0 30px 0;
}

    .page-content .page-menu .menu-dettaglio ul li::before {
        content: '';
        display: inline-block;
        width: 8px;
        height: 8px;
        background-color: #041E42;
        transform: rotate(45deg);
        margin: -3px 15px 0 -23px;
        vertical-align: middle;
    }

    .page-content .page-menu .menu-dettaglio ul li.active {
        color: #848B8C;
    }

.page-content .page-menu .menu-dettaglio ul.kb-subcategories {
    margin: 8px 0 12px;
    padding-left: 28px;
}

    .page-content .page-menu .menu-dettaglio ul.kb-subcategories li {
        color: #262828;
        font-weight: 400;
        margin-bottom: 6px;
    }

        .page-content .page-menu .menu-dettaglio ul.kb-subcategories li.active {
            color: #848B8C;
        }

        .page-content .page-menu .menu-dettaglio ul.kb-subcategories li::before {
            width: 6px;
            height: 6px;
            margin-left: -20px;
            margin-right: 12px;
        }

.kb-search {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

    .kb-search input[type="search"] {
        width: 100%;
        min-width: 0;
        border: solid 1px #CFD2D2;
        border-radius: 12px;
        padding: 8px 12px;
    }

    .kb-search .btn-pamoplus {
        flex: 0 0 auto;
        border: 0;
    }

.kb-no-results {
    padding: 15px;
    border-radius: 12px;
    background-color: #F5F6F6;
}

.page-content .page-menu .menu-servizi ul {
    list-style-type: none;
    padding: 0;
}

    .page-content .page-menu .menu-servizi ul li {
        margin-bottom: 15px;
    }

        .page-content .page-menu .menu-servizi ul li a {
            font-weight: 600;
            font-size: 20px;
            line-height: 28px;
        }

            .page-content .page-menu .menu-servizi ul li a.btn-pamoplus {
                width: 100%;
                display: block;
            }

                .page-content .page-menu .menu-servizi ul li a.btn-pamoplus img {
                    float: left;
                    width: 28px;
                    height: 28px;
                    object-fit: contain;
                    margin-right: 7.5px;
                    margin-bottom: 1px;
                }

.page-content .page-menu + div {
    width: 100%;
}

/* Il catalogo deve conservare spazio utile per schede e filtri anche su tablet. */
.shop-catalog-page,
.shop-catalog-page #main_contentPage,
.shop-catalog-page .deal-section,
.shop-catalog-page .deal-wrap,
.shop-catalog-page .deal-slider,
.shop-catalog-page .slick-list {
    min-width: 0;
}

.shop-category-toolbar {
    margin-bottom: 1rem;
}

.shop-category-toggle {
    display: inline-flex;
    min-height: 44px;
    padding: 0.6rem 1rem;
    align-items: center;
    gap: 0.65rem;
    border: 2px solid #24345d;
    border-radius: 999px;
    background-color: #fff;
    color: #041e42;
    font-weight: 700;
}

.shop-category-toggle:hover,
.shop-category-toggle:focus-visible {
    border-color: #97d700;
    background-color: #24345d;
    color: #fff;
}

.shop-category-toggle-icon,
.shop-category-toggle-icon::before,
.shop-category-toggle-icon::after {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 2px;
    background-color: currentColor;
}

.shop-category-toggle-icon {
    position: relative;
}

.shop-category-toggle-icon::before,
.shop-category-toggle-icon::after {
    position: absolute;
    left: 0;
    content: "";
}

.shop-category-toggle-icon::before {
    top: -6px;
}

.shop-category-toggle-icon::after {
    top: 6px;
}

.shop-category-panel .offcanvas-body {
    display: block;
    padding: 0;
}

@media (max-width: 1399.98px) {
    .shop-catalog-page {
        display: block;
    }

    .shop-catalog-page > .shop-category-panel {
        width: min(360px, 92vw);
        max-width: 92vw;
        padding: 0;
        background-color: #fff;
    }

    .shop-catalog-page #main_contentPage {
        width: 100%;
    }

    .shop-catalog-page .shop-category-panel .offcanvas-header {
        border-bottom: 1px solid #dfe5e9;
    }

    .shop-catalog-page .shop-category-panel .offcanvas-title {
        margin: 0;
        color: #041e42;
        font-size: 1.35rem;
        line-height: 1.25;
    }

    .shop-catalog-page .shop-category-panel .offcanvas-body {
        padding: 1rem;
        overflow-y: auto;
    }

    .shop-catalog-page .shop-category-panel .menu-dettaglio {
        display: block;
    }

    .shop-catalog-page .shop-category-panel aside {
        display: none;
    }
}

.page-content h2 {
    font-weight: 600;
    font-size: 30px;
    line-height: 36px;
}

.download-detail-header {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    margin-bottom: 15px;
}

.download-intro {
    margin-bottom: 30px;
}

    .download-intro > :last-child {
        margin-bottom: 0;
    }

.boxes-news .item h2.title {
    margin-top: 0;
}

    .download-detail-header h2 {
        margin: 0;
    }

    .download-detail-header .download-jump {
        align-self: flex-end;
        min-width: 120px;
        text-align: center;
    }

.download-versions {
    margin-top: 40px;
    padding-top: 25px;
    border-top: solid 2px #E0E6F3;
    scroll-margin-top: 20px;
}

.download-version-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

    .download-version-list .download-version {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 44px;
        text-align: center;
        white-space: normal;
    }

@media (max-width: 576px) {
    .download-version-list {
        grid-template-columns: 1fr;
    }

        .download-version-list .download-version {
            width: 100%;
            text-align: center;
        }
}

.page-content .banner {
    margin: 30px 0;
}

    .page-content .banner img {
        width: 100%;
    }

.page-content iframe {
    width: 100%;
}

.glossario .search-bar {
    margin-bottom: 20px;
    display: flex;
    gap: 15px;
}

    .glossario .search-bar #search-input,
    .glossario .search-bar #category-filter {
        border: solid 1px #E0E6F3;
        border-radius: 12px;
        padding: 8px 12px;
        background-color: #fff;
    }

    .glossario .search-bar #search-input {
        width: 100%;
    }

    .glossario .search-bar #category-filter {
        min-width: 220px;
    }

@media (max-width: 768px) {
    .glossario .search-bar {
        flex-direction: column;
        gap: 10px;
    }

    .glossario .search-bar #category-filter {
        width: 100%;
        min-width: 0;
    }
}

.glossario .alphabet-filter {
    margin-bottom: 20px;
    text-align: center;
    background-color: #E0E6F3;
    border-radius: 20px;
    display: flex;
}

@media (max-width: 768px) {
    .glossario .alphabet-filter {
        display: none;
    }
}

.glossario .alphabet-filter .alphabet-button {
    margin: 0 5px;
    border: none;
    background-color: transparent;
    cursor: pointer;
    display: block;
    padding: 7.5px 7.5px;
    border-radius: 20px;
}

    .glossario .alphabet-filter .alphabet-button:hover,
    .glossario .alphabet-filter .alphabet-button.active {
        background-color: #041E42;
        color: #fff;
        font-weight: 700;
    }

.glossario .glossario-list {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}

    .glossario .glossario-list .glossario-section {
        display: none;
        float: left;
    }

@media (max-width: 768px) {
    .glossario .glossario-list .glossario-section {
        width: 100%;
    }
}

.glossario .glossario-list .glossario-section.active {
    display: block;
}

.glossario .glossario-list .glossario-section h2 {
    background-color: #041E42;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    color: #fff;
}

    .glossario .glossario-list .glossario-section h2:before,
    .glossario .glossario-list .glossario-section h2:after {
        content: none;
    }

.glossario .glossario-list .glossario-section ul {
    list-style-type: none;
    padding: 0;
    list-style-type: disc;
    padding-left: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

    .glossario .glossario-list .glossario-section ul li {
        font-weight: 700;
        width: calc(25% - 15px);
    }

.glossario-link {
    font-style: italic;
    text-decoration: underline;
}

.strumenti-whois {
  display: flex;
}

/* Area account */
.account-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}
.account-sidebar {
  background: #E0E6F3;
  border-radius: 12px;
  padding: 20px;
}
.account-sidebar h1 {
  font-size: 30px;
  margin: 0;
}
.account-name {
  color: #5E6668;
  margin: 5px 0 20px;
}
.account-sidebar nav {
  display: flex;
  flex-direction: column;
}
.account-sidebar nav a {
  border-top: 1px solid #C5CCDA;
  display: block;
  font-weight: 600;
  padding: 12px 0;
}
.account-sidebar nav a.active {
  color: #041E42;
}
.account-sidebar nav .account-logout {
  color: #9B1C1C;
  margin-top: 20px;
}
.account-content h2 {
  font-size: 36px;
  margin: 0;
}
.account-intro {
  color: #5E6668;
  margin-bottom: 25px;
}
.account-order-card,
.account-empty {
  border: 1px solid #CFD2D2;
  border-radius: 12px;
  margin-bottom: 20px;
  padding: 20px;
}
.account-order-card > header {
  align-items: flex-start;
  border: 0;
  display: flex;
  justify-content: space-between;
  padding: 0 0 15px;
}
.account-order-label {
  color: #5E6668;
  font-size: 14px;
}
.account-order-card h3 {
  font-size: 28px;
  margin: 0;
}
.account-order-status {
  background: #EAF5CF;
  border-radius: 20px;
  color: #314A00;
  font-weight: 600;
  padding: 5px 12px;
}
.account-order-summary {
  background: #F5F6F6;
  border-radius: 8px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 18px;
  padding: 15px;
}
.account-order-summary dt {
  color: #5E6668;
  font-size: 14px;
  font-weight: 400;
}
.account-order-summary dd {
  font-weight: 600;
  margin: 0;
}
.account-order-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}
.account-order-actions .btn-pamoplus {
  display: inline-block;
}
.tracking-code,
.account-order-muted {
  color: #5E6668;
}
.account-documents {
  border-top: 1px solid #E0E0E0;
  padding-top: 15px;
}
.account-documents h4 {
  font-size: 20px;
}
.account-documents ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.account-documents li + li {
  margin-top: 8px;
}
.account-documents a {
  color: #041E42;
  font-weight: 600;
  text-decoration: underline;
}
@media (max-width: 768px) {
  .account-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .account-order-summary {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

#ulListaSottomenu {
    padding-left: 0px !important;
}

    #ulListaSottomenu > li::before {
        content: none;
    }

    #ulListaSottomenu > li > .card {
        background-color: #24345D;
        border-radius: 20px;
        overflow: hidden;
    }

    #ulListaSottomenu .shop-group-link {
        width: 100%;
        min-height: 56px;
        color: #fff;
        font-size: 16px;
        line-height: 24px;
        gap: 12px;
        text-align: left;
        text-decoration: none;
    }

        #ulListaSottomenu .shop-group-link .shop-group-name {
            flex: 1 1 auto;
            min-width: 0;
            text-align: left;
        }

        #ulListaSottomenu .shop-group-link .shop-group-count {
            flex: 0 0 auto;
        }

        #ulListaSottomenu .shop-group-link:hover,
        #ulListaSottomenu .shop-group-link:focus,
        #ulListaSottomenu .shop-group-link.active {
            color: #fff;
            background-color: #041E42;
        }

        #ulListaSottomenu .shop-group-link.active {
            box-shadow: inset 5px 0 0 #97D700;
        }

        #ulListaSottomenu .shop-group-link .badge {
            color: #041E42;
            background-color: #fff;
            border-radius: 999px;
        }

    #ulListaSottomenu > div > .card {
        background-color: #24345D;
        border-radius: 20px;
    }

        #ulListaSottomenu > div > .card .card-header {
            border: none !important;
        }

            #ulListaSottomenu > div > .card .card-header button {
                color: #fff;
                font-weight: 400;
                font-size: 16px;
                line-height: 24px;
                text-align: left;
                line-height: 32px;
                padding-left: 0px;
                font-weight: 600;
                width: 100%;
            }

                #ulListaSottomenu > div > .card .card-header button.accordion-toggle span.chev {
                    content: '';
                    display: inline-block !important;
                    /* forza la visibilità */
                    width: 14px;
                    height: 14px;
                    margin-left: 8px;
                    background-repeat: no-repeat;
                    background-position: center;
                    background-size: contain;
                    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A//www.w3.org/2000/svg'%20width%3D'24'%20height%3D'24'%20fill%3D'none'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20stroke%3D'%23fff'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%20stroke-width%3D'2'%20d%3D'M6%209l6%206%206-6'/%3E%3C/svg%3E");
                }

                #ulListaSottomenu > div > .card .card-header button.accordion-toggle[aria-expanded="true"] .chev {
                    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A//www.w3.org/2000/svg'%20width%3D'24'%20height%3D'24'%20fill%3D'none'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20stroke%3D'%23fff'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%20stroke-width%3D'2'%20d%3D'M6%2015l6-6%206%206'/%3E%3C/svg%3E");
                }

        #ulListaSottomenu > div > .card .card-body {
            padding-bottom: 8px !important;
        }

            #ulListaSottomenu > div > .card .card-body button {
                color: #fff;
                font-weight: 400;
                font-size: 16px;
                line-height: 18px !important;
                text-align: left;
                line-height: 26px;
                padding-left: 0px !important;
                border: none;
            }

            #ulListaSottomenu > div > .card .card-body ul.list-group {
                background-color: transparent;
                color: #fff;
                list-style-type: none;
                padding-left: 0px;
            }

                #ulListaSottomenu > div > .card .card-body ul.list-group li {
                    background-color: #24345D;
                    padding-left: 0px !important;
                    border-bottom: none;
                    padding-bottom: 0 !important;
                }

                    #ulListaSottomenu > div > .card .card-body ul.list-group li::before {
                        content: none;
                    }

                    #ulListaSottomenu > div > .card .card-body ul.list-group li a {
                        color: #fff !important;
                        border: none;
                        text-align: left;
                        font-weight: 400;
                        font-size: 14px;
                        padding-left: 15px;
                    }
/* Card */
.deal-section {
    width: 100%;
    max-width: 1100px;
    /* Freccia */
}

.shop-filters {
    padding: 18px;
    border: 1px solid #dfe5e9;
    border-radius: 16px;
    background: #f7f9fb;
}

.shop-filters .form-label {
    margin-bottom: 6px;
    color: #041e42;
    font-weight: 700;
}

.shop-filter-section-title {
    margin-bottom: 0.25rem;
    color: #041e42;
    font-size: 1.05rem;
    font-weight: 700;
}

.shop-result-count {
    color: #59636e;
    font-size: 0.9rem;
}

.shop-update-progress {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1050;
    padding: 10px 18px;
    border-radius: 999px;
    background-color: #041E42;
    color: #fff;
    font-weight: 600;
    box-shadow: 0 4px 16px rgba(4, 30, 66, 0.25);
}

.deal-section .deal-brand {
    margin-bottom: 0.35rem;
    color: #243b68;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
}

    .deal-section .deal-card.card {
        min-width: 0;
        border-radius: 18px;
        border: 2px solid #dfe5e9;
        overflow: hidden;
        margin: 0 0.5rem 0 0;
    }

    .deal-section .deal-thumb {
        width: 100%;
        aspect-ratio: 16/9;
        background-size: cover;
        background-position: center;
        border-bottom: 1px solid #eef2f6;
        text-align: center;
    }

        .deal-section .deal-thumb img {
            width: 100%;
            height: 100%;
            -o-object-fit: contain;
            object-fit: contain;
        }

    .deal-section .deal-title {
        font-weight: 700;
        font-size: 1.125rem;
        line-height: 1.25;
        overflow-wrap: normal;
        word-break: normal;
    }

    .deal-section .deal-attributes {
        display: flex;
        min-height: 3.6rem;
        flex-wrap: wrap;
        align-content: flex-start;
        gap: 0.15rem 0.55rem;
        margin-top: 0.45rem;
        color: #5e6670;
        font-size: 0.78rem;
        line-height: 1.25;
    }

    .deal-section .deal-attribute strong {
        color: #323a44;
        font-weight: 750;
    }

    .deal-section .deal-price {
        font-size: 1.1rem;
        font-weight: 700;
        margin-top: 0.25rem;
    }

    .deal-section .deal-availability,
    .shop-product-availability {
        display: flex;
        flex-direction: column;
        gap: 0.1rem;
        margin-top: 0.55rem;
        color: #4f5964;
        font-size: 0.82rem;
        line-height: 1.3;
    }

    .deal-section .shop-availability-stock,
    .shop-product-availability .shop-availability-stock {
        color: #367600;
    }

    .deal-section .shop-availability-none,
    .shop-product-availability .shop-availability-none {
        color: #8a3030;
    }

    .deal-section .deal-actions,
    .shop-product-actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.45rem;
        margin-top: 0.7rem;
    }

    .deal-section .deal-actions .btn-pamoplus,
    .deal-section .deal-actions .btn,
    .shop-product-actions .btn-pamoplus,
    .shop-product-actions .btn {
        width: 100%;
        white-space: normal;
        text-align: center;
        font-size: 0.84rem;
        line-height: 1.2;
    }

    .shop-product-actions {
        max-width: 620px;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        align-self: flex-start;
        gap: 0.55rem;
    }

    .shop-product-actions .btn-pamoplus,
    .shop-product-actions .btn {
        display: inline-flex;
        width: auto;
        max-width: 100%;
        min-height: 42px;
        padding: 0.6rem 1.15rem;
        align-items: center;
        justify-content: center;
    }

    .shop-product-actions .btn-outline-primary {
        max-width: 340px;
    }

    .deal-section .deal-next-btn {
        width: 72px;
        height: 72px;
        border-radius: 50%;
        border: 0;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        transition: transform 0.15s ease, box-shadow 0.15s ease;
    }

        .deal-section .deal-next-btn:hover {
            transform: translateX(2px);
        }

    .deal-section .deal-next-icon {
        width: 22px;
        height: 22px;
        border-right: 5px solid #3a9800;
        border-bottom: 5px solid #3a9800;
        transform: rotate(-45deg);
    }

    .deal-section .deal-wrap {
        position: relative;
        min-width: 0;
    }

    .deal-section .deal-wrap > .row {
        margin-right: 0;
        margin-left: 0;
    }

    .deal-section .deal-next-btn.overlay {
        position: absolute;
        right: -12px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 5;
        background-color: #fff;
    }

@media (min-width: 1200px) {
    .deal-section .deal-wrap .deal-slider {
        padding-right: 90px;
    }

    .deal-section .deal-next-btn.overlay {
        display: inline-flex !important;
    }

    .deal-section .deal-wrap .row > .col-3,
    .deal-section .deal-wrap .row > .col-sm-2 {
        display: none !important;
    }
}

@media (max-width: 1199.98px) {
    .deal-section .deal-next-btn.overlay,
    .deal-section .deal-wrap .row > .col-3,
    .deal-section .deal-wrap .row > .col-sm-2 {
        display: none !important;
    }

    .deal-section .deal-wrap .deal-slider {
        padding-right: 0;
    }
}

@media (max-width: 767.98px) {
    .deal-section .deal-slider .deal-card {
        margin: 0 0.25rem;
    }

    .shop-catalog-page .deal-section {
        margin-top: 1.25rem !important;
    }

    .shop-catalog-page .deal-section h2 {
        font-size: 1.65rem;
        line-height: 1.2;
    }

    .deal-section .deal-actions .btn-pamoplus,
    .deal-section .deal-actions .btn {
        overflow-wrap: normal;
        word-break: normal;
    }
}

.deal-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.shop-product-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.shop-product-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
    gap: 1.5rem;
    min-height: 230px;
    padding: 1.25rem;
    border: 1px solid #dbe1e8;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 32, 72, 0.05);
}

.shop-product-badge {
    position: absolute;
    z-index: 2;
    top: 0.75rem;
    left: 0.75rem;
    padding: 0.3rem 0.75rem;
    border-radius: 999px;
    background: #f50b3b;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.shop-product-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.shop-product-image a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.shop-product-image img {
    display: block;
    width: 100%;
    max-width: 210px;
    height: 190px;
    object-fit: contain;
}

.shop-product-body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
}

.shop-product-vendor {
    margin-bottom: 0.2rem;
    color: #656d78;
    font-size: 1rem;
    font-weight: 700;
}

.shop-product-name {
    margin: 0 0 0.35rem;
    font-size: clamp(1.25rem, 1.7vw, 1.65rem);
    font-weight: 700;
    line-height: 1.2;
}

.shop-product-name a {
    color: #0a376f;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.12em;
}

.shop-product-name a:hover {
    color: #74a900;
}

.shop-product-codes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
    margin: 0.2rem 0 0.65rem;
    color: #66707b;
    font-size: 0.93rem;
}

.shop-product-description {
    margin-bottom: 0.8rem;
    color: #323a44;
    font-weight: 650;
}

.shop-product-attributes,
.shop-product-essential {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 1rem;
    color: #5e6670;
    font-size: 0.91rem;
    line-height: 1.45;
}

.shop-product-essential {
    gap: 0.45rem 0.55rem;
    margin: 0.25rem 0 0.65rem;
}

.shop-product-essential .deal-attribute {
    display: inline-flex;
    gap: 0.25rem;
    padding: 0.24rem 0.5rem;
    border-radius: 0.35rem;
    background: #f1f4f8;
    color: #4f5964;
}

.shop-product-attribute-label {
    font-weight: 750;
}

.shop-product-price {
    margin-top: 0.9rem;
    color: #082d5b;
    font-size: 1.1rem;
    font-weight: 800;
}

.shop-product-price:empty {
    display: none;
}

.shop-cart-product-image,
.shop-cart-product-name {
    color: inherit;
    text-decoration: none;
}

.shop-cart-product-name:hover,
.shop-cart-product-name:focus-visible {
    color: #0a376f;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.shop-cart-delete {
    display: inline-flex;
    width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #c62828;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.shop-cart-delete svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: currentColor;
}

.shop-cart-delete:hover,
.shop-cart-delete:focus-visible {
    background: #fff0f0;
    color: #8e1111;
    outline: none;
}

.related-products-section {
    padding-top: 1.25rem;
    border-top: 1px solid #dfe5e9;
}

.related-products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.related-product-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 2px solid #dfe5e9;
    border-radius: 18px;
    background: #fff;
}

.related-product-image {
    display: block;
    aspect-ratio: 16 / 10;
    padding: 0.65rem;
    border-bottom: 1px solid #eef2f6;
}

.related-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.related-product-body {
    display: flex;
    height: 100%;
    flex-direction: column;
    padding: 0.9rem;
}

.related-product-brand {
    color: #243b68;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.related-product-body h3 {
    margin: 0.2rem 0 0.35rem;
    color: #0a376f;
    font-size: 1.05rem;
    font-weight: 750;
    line-height: 1.25;
}

.related-product-body h3 a:hover {
    color: #74a900;
    text-decoration: underline;
}

.related-product-family {
    color: #66707b;
    font-size: 0.82rem;
}

.related-product-availability {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    margin-top: 0.55rem;
    color: #4f5964;
    font-size: 0.82rem;
    line-height: 1.3;
}

.related-product-price {
    margin-top: auto;
    padding-top: 0.75rem;
    color: #082d5b;
    font-weight: 800;
}

.related-product-price small {
    font-size: 0.72rem;
    font-weight: 500;
}

.related-product-actions {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin-top: 0.65rem;
}

.related-product-actions form {
    margin: 0;
}

.related-product-actions .btn,
.related-product-actions .btn-pamoplus,
.related-product-detail {
    display: block;
    width: 100%;
    white-space: normal;
    text-align: center;
    font-size: 0.84rem;
    line-height: 1.2;
}

.related-product-detail {
    margin-top: 0.65rem;
}

@media (max-width: 991.98px) {
    .related-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .related-products-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .shop-product-card {
        grid-template-columns: 1fr;
        gap: 0.75rem;
        padding: 1rem;
    }

    .shop-product-image img {
        height: 180px;
    }

    .shop-product-codes,
    .shop-product-attributes,
    .shop-product-essential {
        display: block;
    }

    .shop-product-codes span,
    .shop-product-attribute,
    .shop-product-essential .deal-attribute {
        display: block;
        margin-bottom: 0.35rem;
    }

    .shop-product-actions {
        width: 100%;
        max-width: none;
        flex-direction: column;
        align-items: stretch;
    }

    .shop-product-actions .btn-pamoplus,
    .shop-product-actions .btn,
    .shop-product-actions .btn-outline-primary {
        width: 100%;
        max-width: 100%;
    }
}

    .deal-grid .deal-card {
        flex: 0 0 calc(25% - 15px);
        /* 4 per riga su desktop */
    }

        .deal-grid .deal-card.card {
            margin: 0px !important;
        }

@media (max-width: 992px) {
    .deal-grid .deal-card {
        flex: 0 0 calc(33.333% - 15px);
    }
}

@media (max-width: 768px) {
    .deal-grid .deal-card {
        flex: 0 0 calc(50% - 34px);
    }
}

@media (max-width: 576px) {
    .deal-grid .deal-card {
        flex: 0 0 100%;
    }
}

.pager-modern {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
}

    .pager-modern .page-link,
    .pager-modern span.page-link,
    .pager-modern span.active {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 2.4rem;
        height: 2.4rem;
        padding: 0 0.6rem;
        border-radius: 999px;
        border: 1px solid #dde1e7;
        background: #ffffff;
        color: #4a5568;
        text-decoration: none;
        cursor: pointer;
        transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
    }
    /* Stato hover sui link cliccabili */
    .pager-modern a.page-link:hover {
        background: #f1f5f9;
        color: #111827;
        box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
        transform: translateY(-1px);
    }
    /* Pagina attiva */
    .pager-modern span.active,
    .pager-modern a.page-link.active {
        background: #0d6efd;
        border-color: #0d6efd;
        color: #ffffff;
        box-shadow: 0 4px 10px rgba(13, 110, 253, 0.35);
        cursor: default;
    }
    /* Frecce prev/next un po' più “tonde” */
    .pager-modern .page-link:first-child,
    .pager-modern .page-link:last-child {
        font-weight: 600;
    }
    /* Stato "disabilitato" (se mai lo usi con aria-disabled o simili) */
    .pager-modern [aria-disabled="true"],
    .pager-modern .page-link.disabled {
        opacity: 0.4;
        cursor: default;
        box-shadow: none;
        transform: none;
        pointer-events: none;
    }
/* Compattezza su mobile */
@media (max-width: 576px) {
    .pager-modern {
        gap: 0.25rem;
    }

        .pager-modern .page-link,
        .pager-modern span.page-link,
        .pager-modern span.active {
            min-width: 2.1rem;
            height: 2.1rem;
            font-size: 0.8rem;
            padding: 0 0.45rem;
        }
}

/* Vuoi lavorare con noi */
.lavora-hero {
    width: 100%;
    max-width: 100%;
    margin-bottom: 30px;
    border-radius: 12px;
    overflow: hidden;
}

    .lavora-hero img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: 400px;
        object-fit: cover;
    }

.lavora-intro {
    margin-bottom: 30px;
    font-size: 20px;
    line-height: 28px;
}

.lavora-layout {
    display: grid;
    grid-template-columns: minmax(220px, 290px) minmax(0, 1fr);
    gap: 30px;
    align-items: start;
    width: 100%;
    max-width: 100%;
}

.lavora-posizioni {
    position: sticky;
    top: 15px;
    padding: 20px;
    background: #e0e6f3;
    border-radius: 12px;
}

    .lavora-posizioni h2 {
        margin: 0 0 15px;
        color: #041e42;
        font-size: 24px;
    }

    .lavora-posizioni ul {
        padding: 0;
        margin: 0;
        list-style: none;
    }

    .lavora-posizioni li + li {
        margin-top: 10px;
    }

    .lavora-posizioni a {
        display: block;
        padding: 12px 15px;
        background: #fff;
        border: 2px solid transparent;
        border-radius: 12px;
        color: #041e42;
        transition: border-color .2s, background-color .2s;
    }

        .lavora-posizioni a:hover,
        .lavora-posizioni a.active {
            border-color: #97d700;
            background: #f8faef;
        }

        .lavora-posizioni a span {
            display: block;
            font-size: 18px;
            line-height: 24px;
            font-weight: 600;
        }

        .lavora-posizioni a small {
            display: block;
            margin-top: 4px;
            color: #626b6d;
        }

.lavora-annuncio {
    min-width: 0;
}

    .lavora-annuncio article {
        padding: 24px;
        border: 1px solid #cfd2d2;
        border-radius: 12px;
    }

        .lavora-annuncio article h2 {
            margin: 5px 0 20px;
            color: #041e42;
            font-size: 30px;
            line-height: 36px;
        }

.lavora-reparto {
    color: #626b6d;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.lavora-descrizione img,
.lavora-descrizione iframe {
    max-width: 100%;
}

.lavora-candidati {
    margin-top: 20px;
    border: 0;
}

.lavora-form {
    display: none;
    margin-top: 30px;
    padding: 24px;
    background: #f5f6f6;
    border-radius: 12px;
    scroll-margin-top: 20px;
}

    .lavora-form h2 {
        margin-top: 0;
        color: #041e42;
    }

    .lavora-form .form-check-label a {
        color: #041e42;
        text-decoration: underline;
    }

.lavora-drop-zone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 160px;
    margin-bottom: 12px;
    padding: 24px;
    border: 2px dashed #848b8c;
    border-radius: 12px;
    background: #fff;
    color: #041e42;
    text-align: center;
    cursor: pointer;
    transition: border-color .2s, background-color .2s, box-shadow .2s;
}

    .lavora-drop-zone:hover,
    .lavora-drop-zone:focus,
    .lavora-drop-zone.drag-attivo {
        border-color: #97d700;
        background: #f8faef;
        box-shadow: 0 0 0 3px rgba(151, 215, 0, .2);
        outline: none;
    }

    .lavora-drop-zone.file-selezionato {
        border-style: solid;
        border-color: #97d700;
    }

    .lavora-drop-zone strong {
        font-size: 18px;
    }

    .lavora-drop-zone > span:not(.lavora-drop-icon):not(.lavora-drop-file) {
        color: #626b6d;
    }

.lavora-drop-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 8px;
    border-radius: 50%;
    background: #97d700;
    font-size: 28px;
    line-height: 1;
}

.lavora-drop-file {
    margin-top: 10px;
    color: #041e42;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.lavora-messaggio {
    margin-bottom: 30px;
}

.lavora-vuoto,
.lavora-seleziona {
    margin: 0;
}

@media (max-width: 768px) {
    .lavora-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .lavora-posizioni {
        position: static;
    }

    .lavora-annuncio article,
    .lavora-form {
        padding: 18px;
    }

    .lavora-drop-zone {
        min-height: 140px;
        padding: 18px;
    }
}

/* Pagina categoria servizi */
.service-category-topbar .search > div {
    display: none;
}

.service-category-hero {
    width: 100%;
    overflow: hidden;
}

.service-category-hero img {
    display: block;
    width: 100%;
    max-height: 520px;
    object-fit: cover;
}

.service-category-title {
    background: #24345D;
    color: #fff;
    padding-top: 15px;
    padding-bottom: 15px;
}

.service-category-title .title {
    margin: 0;
    font-size: 40px;
    line-height: 48px;
    font-weight: 700;
}

.service-category-breadcrumb {
    margin-bottom: 0;
}

.service-category-filter {
    margin: 0;
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #E0E6F3;
}

.service-category-select {
    display: flex;
    max-width: 430px;
    align-items: center;
    gap: 12px;
}

.service-category-select label {
    flex: 0 0 auto;
    margin: 0;
    color: #041E42;
    font-weight: 600;
}

.service-category-select select {
    width: 100%;
    min-width: 0;
    padding: 9px 40px 9px 12px;
    border: 1px solid #CFD2D2;
    border-radius: 12px;
    background-color: #fff;
    color: #041E42;
    font: inherit;
}

.service-category-body {
    align-items: flex-start;
    padding-top: 30px;
}

.service-category-body > .main {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: calc(100% - 355px);
    overflow: hidden;
}

.service-category-body > aside {
    flex: 0 0 325px;
    width: 325px;
    min-width: 0;
}

.service-category-lead,
.service-category-copy {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.service-category-lead {
    color: #041E42;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 600;
}

.service-category-copy {
    margin-top: 30px;
}

.service-category-lead img,
.service-category-copy img,
.service-category-lead video,
.service-category-copy video,
.service-category-lead iframe:not(.no-resize),
.service-category-copy iframe:not(.no-resize),
.service-category-lead table,
.service-category-copy table {
    max-width: 100%;
    height: auto;
}

.service-category-results {
    margin-top: 45px;
}

.service-category-results > h2 {
    margin: 0 0 20px;
    color: #041E42;
    font-size: 30px;
    line-height: 38px;
    font-weight: 600;
}

.service-category-services {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
}

.service-category-services .service-card {
    display: flex;
    min-width: 0;
    aspect-ratio: 1 / 1;
    flex-direction: column;
    overflow: hidden;
    padding: 15px;
    border: 1px solid #CFD2D2;
    border-radius: 12px;
    background: #fff;
    color: inherit;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.service-category-services .service-card:hover,
.service-category-services .service-card:focus-visible {
    border-color: #97D700;
    box-shadow: 0 4px 12px rgba(4, 30, 66, .14);
    transform: translateY(-2px);
}

.service-category-services .service-card:focus-visible {
    outline: 3px solid #97D700;
    outline-offset: 2px;
}

.service-category-services .service-card h3 {
    display: -webkit-box;
    min-height: 56px;
    margin: 0 0 10px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: #041E42;
    font-size: 21px;
    line-height: 28px;
    font-weight: 600;
}

.service-category-services .service-card h3::after {
    content: "\2192";
    display: inline-block;
    margin-left: 8px;
}

.service-card-image {
    flex: 0 0 42%;
    min-height: 0;
    margin-bottom: 10px;
    overflow: hidden;
    border-radius: 8px;
    background: #F5F6F6;
}

.service-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-card-preview {
    display: -webkit-box;
    min-height: 0;
    margin-bottom: 8px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: 15px;
    line-height: 21px;
}

.service-card-preview > :last-child {
    margin-bottom: 0;
}

.service-card-cta {
    margin-top: auto;
    color: #041E42;
    font-weight: 600;
}

.service-card-cta::after {
    content: "\00BB";
    display: inline-block;
    margin-left: 5px;
}

@media (min-width: 769px) and (max-width: 1199px) {
    .service-category-services {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .service-category-title .title {
        font-size: 30px;
        line-height: 38px;
    }

    .service-category-select {
        display: block;
        max-width: none;
    }

    .service-category-select label {
        display: block;
        margin-bottom: 5px;
    }

    .service-category-body {
        padding-top: 20px;
    }

    .service-category-body > .main {
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }

    .service-category-body > aside {
        flex: none;
        width: 100%;
    }

    .service-category-lead {
        font-size: 18px;
        line-height: 1.55;
    }

    .service-category-copy {
        margin-top: 20px;
    }

    .service-category-results {
        margin-top: 30px;
    }

    .service-category-services {
        grid-template-columns: 1fr;
    }

    .service-category-services .service-card {
        aspect-ratio: auto;
        min-height: 360px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .service-category-services .service-card {
        transition: none;
    }

    .service-category-services .service-card:hover,
    .service-category-services .service-card:focus-visible {
        transform: none;
    }
}

/* Partnership - Network */
.partnership-network-page { padding-top: 34px; padding-bottom: 60px; }
.network-intro { max-width: 850px; margin-bottom: 34px; color: #364153; }
.network-intro .lead { color: #041E42; font-size: 22px; line-height: 1.45; font-weight: 600; }
.network-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.network-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid #DDE2EA; border-radius: 14px; background: #fff; color: #263449; box-shadow: 0 2px 10px rgba(4,30,66,.07); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.network-card:hover, .network-card:focus-visible { border-color: #97D700; color: #263449; box-shadow: 0 12px 28px rgba(4,30,66,.16); transform: translateY(-5px); }
.network-card:focus-visible { outline: 3px solid #97D700; outline-offset: 3px; }
.network-card-media { aspect-ratio: 10 / 3; overflow: hidden; background: #EDF1F5; }
.network-card-banner { position: relative; width: 100%; height: 100%; background: linear-gradient(135deg, #041E42, #164675); background-position: center; background-size: cover; transition: transform .35s ease; }
.network-card:hover .network-card-banner { transform: scale(1.025); }
.network-card-body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.network-card-category { margin-bottom: 7px; color: #577087; font-size: 13px; line-height: 18px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.network-card h2 { margin: 0 0 12px; color: #041E42; font-size: 24px; line-height: 30px; }
.network-card p { margin: 0 0 20px; line-height: 1.55; }
.network-card-cta { margin-top: auto; color: #041E42; font-weight: 700; }
.network-card-cta::after { content: "\2192"; margin-left: 8px; color: #76AA00; }
.network-empty { padding: 35px; border-radius: 12px; background: #F2F5F8; color: #041E42; text-align: center; }
.network-detail-hero { position: relative; max-width: 1400px; min-height: 220px; margin: 0 auto; overflow: hidden; background: linear-gradient(135deg, #041E42, #164675); }
.network-detail-banner { display: block; width: 100%; max-height: 420px; object-fit: cover; }
.network-detail-hero .carousel,
.network-detail-hero .carousel-inner,
.network-detail-hero .carousel-item { width: 100%; }
.network-detail-hero .carousel-indicators { margin-bottom: 12px; }
.network-detail-hero .carousel-indicators [data-bs-target] { width: 34px; height: 4px; border: 0; border-radius: 3px; }
.network-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 45px; align-items: start; padding-top: 42px; padding-bottom: 65px; }
.network-detail-copy { min-width: 0; }
.network-detail-lead { color: #041E42; font-size: 21px; line-height: 1.55; font-weight: 600; }
.network-detail-text { margin-top: 25px; overflow-wrap: anywhere; }
.network-detail-copy img, .network-detail-copy iframe, .network-detail-copy video, .network-detail-copy table { max-width: 100%; height: auto; }
.network-website { margin-top: 30px; }
.network-benefit, .network-voucher { position: sticky; top: 24px; overflow: hidden; padding: 28px; border: 2px solid #97D700; border-radius: 16px; background: linear-gradient(160deg, #F7FCEB, #fff 60%); box-shadow: 0 10px 30px rgba(4,30,66,.12); }
.network-benefit-eyebrow { display: inline-block; margin-bottom: 10px; color: #577B00; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.network-benefit-logo-wrap { display: flex; width: 100%; min-height: 92px; margin: 0 0 20px; padding: 12px; align-items: center; justify-content: center; border: 1px solid #DDE7C0; border-radius: 10px; background: #fff; }
.network-benefit-logo { display: block; max-width: 100%; max-height: 105px; object-fit: contain; }
.network-benefit h2, .network-voucher h2 { margin: 0 0 16px; color: #041E42; font-size: 26px; line-height: 32px; }
.network-benefit-copy { line-height: 1.55; }
.network-benefit-copy > :last-child { margin-bottom: 0; }
.network-benefit-validity { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid #CFE08E; color: #41541A; font-weight: 600; }
.network-benefit-button { width: 100%; margin-top: 22px; border: 0; }
.network-benefit-form { margin-top: 24px; padding-top: 22px; border-top: 1px solid #CFE08E; }
.network-benefit-form h3 { color: #041E42; font-size: 21px; }
.network-benefit-form .form-control { border-color: #B8C4CF; }
.network-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.network-turnstile { margin: 15px 0; }
.network-voucher-code { margin: 18px 0; padding: 15px 10px; border: 2px dashed #76AA00; border-radius: 10px; background: #fff; color: #041E42; font-size: 25px; font-weight: 800; letter-spacing: .06em; text-align: center; }
.network-voucher-delivery { margin: 20px 0; color: #445164; font-size: 14px; }
.network-print { width: 100%; }
@media (max-width: 990px) { .network-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .network-detail-layout { grid-template-columns: 1fr; } .network-benefit, .network-voucher { position: static; } }
@media (max-width: 640px) { .network-card-grid { grid-template-columns: 1fr; } .network-detail-layout { gap: 28px; padding-top: 28px; } .network-detail-hero { min-height: 170px; } }
@media (prefers-reduced-motion: reduce) { .network-card, .network-card-banner { transition: none; } .network-card:hover { transform: none; } }
@media print { header, footer, .breadcumb-wrapper, .header-page, .network-detail-copy, .network-detail-hero, .network-print { display: none !important; } .network-detail-layout { display: block; padding: 0; } .network-voucher { position: static; border: 2px solid #000; box-shadow: none; } }
