html, body {
    overflow-x: hidden !important;
}

/* ============================
   HAMBURGER ICON
   ============================ */
.menu-toggle {
    background: none;
    border: none;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    cursor: pointer;
}

.menu-toggle::before {
    content: "\2630";
    font-size: 28px;
    color: #141617;
}

@media (min-width: 1024px) {
    .menu-toggle {
        display: none;
    }
}

/* ============================
   MENU MOBILE (LIVELLO 1)
   ============================ */

@media (max-width: 1024px) {

    .top-menu.mobile {
        position: fixed;
        top: 0;
        left: 0;
        width: 80%;
        max-width: 320px;
        height: 100vh;
        background: #f5f5f5;
        overflow-y: auto;
        padding-top: 60px;
        box-shadow: 2px 0 20px rgba(0,0,0,0.15);
        transform: translateX(-100%);
        transition: transform .35s ease;
        z-index: 99999;
    }

    .top-menu.mobile.is-open {
        transform: translateX(0);
    }
}

/* Porta SOLO il menu mobile sopra la head */
.top-menu.mobile {
    position: fixed !important;
    z-index: 99999999 !important; /* sopra header */
}

/* Porta il subpanel sopra il menu */
.mobile-subpanel {
    position: fixed !important;
    z-index: 100000000 !important;
}

/* Porta l’overlay sotto menu e subpanel */
.mobile-overlay {
    position: fixed !important;
    z-index: 99999998 !important;
}

/* Abbassa la head che stava schiacciando tutto */
.header,
.header-upper,
.header-lower,
.header-menu {
    position: relative !important;
    z-index: 1 !important;
}
.header-menu {
    border-bottom:1px solid #e5e5e5
}
/* ============================
   SUBPANEL (LIVELLO 2) — DA SINISTRA
   ============================ */
@media (max-width: 1024px) {

    .mobile-subpanel {
        position: fixed;
        top: 0;
        left: -80%; /* parte fuori a sinistra */
        width: 80%;
        max-width: 320px;
        height: 100vh;
        background: #fff;
        overflow-y: auto;
        padding-top: 60px;
        box-shadow: 2px 0 20px rgba(0,0,0,0.15);
        transition: left .35s ease;
        z-index: 100000; /* sopra il menu */
    }

    .mobile-subpanel.open {
        left: 0; /* entra da sinistra */
    }

    .mobile-subpanel .back-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Fjalla One';
    font-size: 17px;
    padding: 18px;
    border-bottom: 1px solid #eee;    
}

    .mobile-subpanel ul li a {
        padding: 18px;
        display: block;
        border-bottom: 1px solid #eee;
        font-size: 16px;
        font-family:Roboto, sans-serif;
    }
}

/* ============================
   OVERLAY
   ============================ */
@media (max-width: 1024px) {

    .mobile-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.45);
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s ease;
        z-index: 99998; /* sotto menu e subpanel */
    }

    .mobile-overlay.active {
        opacity: 1;
        pointer-events: auto;
    }
}
.top-menu.mobile {
    transition: left 0.35s ease !important;
}

.mobile-subpanel {
    transition: left 0.35s ease !important;
}

.mobile-overlay {
    transition: opacity 0.25s ease !important;
}

/* Contenitore recensioni nella pagina prodotto */
.product-reviews-overview {
    margin-top: 15px;
    padding: 15px 0;
    border-top: 1px solid #eee;
}

/* Stelle */
.product-review-box .rating {
    font-size: 20px; /* leggermente più grande */
    line-height: 1;
}

.product-review-box .rating div {
    filter: drop-shadow(0 0 3px rgba(225,44,95,0.25)); /* glow rosa soft */
}

/* Testo accanto alle stelle */
.product-review-box .rating-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Link recensioni */
.product-review-box .product-review-links a {
    font-family: 'Fjalla One', sans-serif;
    text-transform: uppercase;
    color: #E12C5F;
    font-size: 14px;
    transition: all .25s ease;
}

.product-review-box .product-review-links a:hover {
    color: #141617;
}

/* Pulsante scrivi recensione (versione luxury) */
.luxury-review-button {
    display: inline-block;
    background-color: #E12C5F;
    color: #fff !important;
    padding: 8px 18px;
    border-radius: 4px;
    font-family: 'Fjalla One', sans-serif;
    text-transform: uppercase;
    font-size: 13px;
    margin-left: 10px;
    transition: all .25s ease;
}

.luxury-review-button:hover {
    background-color: #141617;
}
.product-review-links {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
}

/* Link "X recensioni" */
.product-review-links > a:first-child {
    font-size: 14px;
    color: #141617;
    font-family: 'Fjalla One', sans-serif;
}

/* Pulsante luxury */
.luxury-review-button {
    display: inline-block;
    background-color: #E12C5F;
    color: #fff !important;
    padding: 8px 18px;
    border-radius: 4px;
    font-family: 'Fjalla One', sans-serif;
    text-transform: uppercase;
    font-size: 14px;
    transition: all .25s ease;
}

.luxury-review-button:hover {
    background-color: #141617;
}
.luxury-review-count {
    display: inline-block;
    background-color: #f5f5f5;
    color: #787878 !important;
    padding: 8px 14px;
    border-radius: 4px;
    font-family: 'Fjalla One', sans-serif;
    text-transform: uppercase;
    font-size: 14px !important;
    letter-spacing: 0.5px;
    transition: all .25s ease;
}

.luxury-review-count:hover {
    background-color: #E12C5F;
    color:#fff !important;
}
.rating-stars {
    display: flex;
    gap: 8px;
    font-size: 40px;
    margin-top: 8px;
}

.rating-stars input {
    display: none;
}

.rating-stars label {
    color: #ccc;
    cursor: pointer;
    transition: color .25s ease, transform .15s ease;
}

/* Hover: stelle rosa */
.rating-stars label:hover,
.rating-stars label:hover ~ label {
    color: #E12C5F;
}

/* Selezione: stelle rosa */
.rating-stars input:checked ~ label {
    color: #E12C5F;
}

/* Effetto premium al click */
.rating-stars label:active {
    transform: scale(0.92);
}
.rating-stars {
    display: flex;
    justify-content: center; /* CENTRA LE STELLE */
    gap: 8px;
    font-size: 40px;
    margin-top: 8px;
}
.product-review-list .review-item {
    padding: 25px 20px;
    margin-bottom: 25px;
    border: 1px solid #eee;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
/* Separatore recensioni (sostituisce il dashed) */
.product-review-item {
    border-top: none !important;
    position: relative !important;
    padding-top: 30px !important;
	text-align: left;
}

.product-review-item:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(
        90deg,
        rgba(0,0,0,0.00) 0%,
        rgba(0,0,0,0.10) 50%,
        rgba(0,0,0,0.00) 100%
    );
}

/* Titolo recensione */
.product-review-list .review-title {
    font-family: 'Fjalla One', sans-serif;
    font-size: 18px;
    margin-bottom: 6px;
    color: #141617;
}

/* Nome + data */
.product-review-list .review-info {
    font-size: 13px;
    color: #777;
    margin-bottom: 12px;
}

/* Testo recensione */
.product-review-list .review-text {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 15px;
}

/* Stelle */
.product-review-list .rating {
    font-size: 20px;
    color: #E12C5F;
    margin-bottom: 10px;
}

/* Domanda "Questa recensione è stata utile?" */
.product-review-list .review-helpfulness {
    margin-top: 10px;
    font-size: 14px;
    color: #141617;
}

/* Spaziatura generale */
.product-review-list {
    margin-top: 30px;
}
/* Contenitore generale recensioni */
.product-review-list {
    display: grid;
    grid-template-columns: 1fr 1fr; /* DUE COLONNE */
    gap: 25px;
    margin-top: 30px;
}

/* Card recensione */
.product-review-list .review-item {
    padding: 25px 20px;
    border: 1px solid #eee;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
.product-review-list .review-item:not(:last-child) {
    border-bottom: 1px solid #ddd;
}

/* Stelle */
.product-review-list .rating {
    font-size: 20px;
    color: #E12C5F;
    margin-bottom: 10px;
}

/* Titolo recensione */
.product-review-list .review-title {
    font-family: 'Fjalla One', sans-serif;
    font-size: 18px;
    margin-bottom: 6px;
    color: #141617;
}

/* Nome + data */
.product-review-list .review-info {
    font-size: 13px;
    color: #777;
    margin-bottom: 12px;
}

/* Testo recensione */
.product-review-list .review-text {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 15px;
}

/* Stile più pulito per la domanda di utilità */
.product-review-helpfulness {
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px !important;
    color: #333 !important;
    margin-top: 10px !important;
}

/* Testo domanda */
.product-review-helpfulness .question {
    font-weight: 500 !important;
    margin-right: 6px !important;
}

/* Pulsanti Sì / No */
.product-review-helpfulness .vote {
    padding: 0 6px !important;
    cursor: pointer !important;
    transition: opacity .2s ease-in-out !important;
}

/* Icone più moderne */
.product-review-helpfulness .vote:first-child:before {
    content: "👍";
    font-size: 17px;
    color: lightseagreen;
}

.product-review-helpfulness .vote:last-child:before {
    content: "👎";
    font-size: 17px;
    color: #E12C5F;
}

/* Risultato (0/0) */
.product-review-helpfulness .result {
    margin-left: 6px !important;
    font-size: 13px !important;
    color: #555 !important;
}

/* Responsivo: torna a 1 colonna su mobile */
@media (max-width: 768px) {
    .product-review-list {
        grid-template-columns: 1fr;
    }
}

/* ================================
   SUN&SERVICE — INTRO TEXT LUXURY
   ================================ */

.ss-intro-text {
    font-family: 'Roboto', sans-serif;
    font-size: 17px;
    line-height: 1.7;
    color: #141617;
    margin-bottom: 35px;
}

.ss-intro-text p {
    margin-bottom: 18px;
}

.ss-intro-text strong {
    color: #E12C5F;
    font-weight: normal;
}
.table-scroll-vertical {
    max-height: 350px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    display: block !important;
    width: 100% !important;
    -webkit-overflow-scrolling: touch !important;
    box-shadow: inset 0 0 8px rgba(0,0,0,0.1);
    border-radius:12px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    padding: 15px;
}

/* Sblocca eventuali overflow nascosti dei wrapper del tema */
.full-description, 
.rich-text, 
.page-body {
    overflow: visible !important;
}
/* Tabella */
table.ninja_footable {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 40px;
    font-family: 'Roboto', sans-serif;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

/* Header */
table.ninja_footable thead th {
    background: #E12C5F;
    color: #ffffff;
    font-weight: 600;
    padding: 14px 12px;
    font-size: 15px;
    letter-spacing: 0.3px;
}

/* Celle */
table.ninja_footable tbody td {
    padding: 14px 12px;
    font-size: 15px;
    color: #141617;
    border-bottom: 1px solid #f0f0f0;
}

/* Righe alternate */
table.ninja_footable tbody tr:nth-child(even) {
    background: #fafafa;
}

/* Hover elegante */
@media (min-width: 992px) {
    table.ninja_footable tbody tr:hover {
        background: #ffe6ee;
        transition: 0.25s ease;
    }
}

/* Colonna codice premium */
td.ninja_clmn_nm_codice {
    font-weight: 600;
    color: #E12C5F;
    text-align: right;
}

/* Mobile */
@media (max-width: 768px) {
    table.ninja_footable tbody td {
        padding: 12px 10px;
        font-size: 14px;
    }

    table.ninja_footable {
        border-radius: 0;
        box-shadow: none;
    }
}

/* ============================================
   SUN&SERVICE — LISTA ORIZZONTALE LUXURY
   ============================================ */

.ss-list-horizontal {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    color: #141617;
    margin-bottom: 35px;
}

.ss-list-horizontal span {
    position: relative;
    padding-right: 18px;
    white-space: nowrap;
}

/* Pallino separatore */
.ss-list-horizontal span::after {
    content: "•";
    position: absolute;
    right: 4px;
    color: #E12C5F;
    font-weight: 700;
}

/* Rimuove il pallino dall’ultimo elemento */
.ss-list-horizontal span:last-child::after {
    content: "";
}

/* Mobile */
@media (max-width: 768px) {
    .ss-list-horizontal {
        font-size: 15px;
        gap: 8px 14px;
    }
}
/* ============================================
   SUN&SERVICE — CATEGORY BOXES LUXURY STYLE
   ============================================ */

.ss-categories {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
    margin: 40px 0;
    font-family: 'Roboto', sans-serif;
}

.ss-cat-box {
    background: #ffffff;
    border: 1px solid #f0f0f0;
    border-radius: 12px;
    padding: 25px 28px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ss-cat-box:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 18px rgba(225,44,95,0.18);
}

.ss-cat-title {
    font-size: 24px;
    font-weight: 700;
    color: #E12C5F;
    margin-bottom: 12px;
}

.ss-cat-desc {
    font-size: 16px;
    line-height: 1.6;
    color: #141617;
}
/* ============================================
   SUN&SERVICE — SCHEDA TECNICA LUXURY STYLE
   ============================================ */

.ss-tech-title {
    font-family: 'Roboto', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #E12C5F;
    margin: 30px 0 18px;
}
.ss-tech-subtitle {
    font-size: 16px;
    margin: 5px 0 20px;
    color: #555;
    font-weight: 500;
}

.ss-tech-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    font-family: 'Roboto', sans-serif;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.ss-tech-table td {
    padding: 14px 16px;
    font-size: 16px;
    color: #141617;
    border-bottom: 1px solid #f0f0f0;
}

.ss-tech-table tr:nth-child(even) {
    background: #fafafa;
}

.ss-tech-table tr:last-child td {
    border-bottom: none;
}

/* Mobile */
@media (max-width: 768px) {
    .ss-tech-table td {
        padding: 12px 14px;
        font-size: 15px;
    }
}

/* ============================================================
   SUN&SERVICE — PRODUCT TAGS LUXURY UPGRADE
   ============================================================ */

.product-tags-list {
    font-size: 0; /* reset */
    background: #ffffff;
    padding: 20px 25px;
    border-radius: 8px;
}

.product-tags-list li {
    display: inline-block;
    margin: 6px 8px;
    font-size: 14px; /* restore */
}

.product-tags-list a {
    display: inline-block;
    padding: 6px 14px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 20px;
    font-family: 'Roboto', sans-serif;
    color: #141617;
    line-height: 20px;
    transition: all 0.25s ease;
}

/* Hover premium */
.product-tags-list a:hover {
    background: #E12C5F;
    border-color: #E12C5F;
    color: #ffffff;
    box-shadow: 0 2px 6px rgba(225,44,95,0.25);
}

/* Rimuove eventuali separatori (se presenti in alcuni temi) */
.product-tags-list li.separator {
    display: none !important;
}

/* ============================================================
   SUN&SERVICE — BLOG LUXURY UPGRADE (SEZIONE ARTICOLI)
   ============================================================ */

/* BOX ARTICOLO */
.blog-posts .post {
    background: #ffffff;
    border-radius: 12px;
    padding: 35px 40px;
    margin-bottom: 35px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.06);
    border-left: 5px solid #E12C5F;
}

/* TITOLO ARTICOLO */
.blog-posts .post-title {
    font-size: 28px;
    font-weight: normal;
    color: #1e1e1e;
    margin-bottom: 12px;
    font-family: 'Fjalla one', sans-serif;
    text-transform: uppercase !important;
}

/* DATA */
.blog-posts .post-date {
    font-size: 14px;
    color: #888;
    margin-bottom: 20px;
    text-align: left;
	font-family: 'Roboto', sans-serif !important;
}

/* TESTO */
.blog-posts .post-body {
    padding: 0;
    font-size: 17px;
    line-height: 1.7;
    color: #333;
    font-family: 'Roboto', sans-serif;
}

/* TAG */
.blog-posts .tags {
    margin-top: 25px;
    text-align: left;
}

.blog-posts .tags li {
    display: inline-block;
    background: #fff7f9;
    border: 1px solid #E12C5F;
    color: #E12C5F;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    margin-right: 8px;
    margin-bottom: 8px;
    font-family: 'Roboto', sans-serif;
}

/* PULSANTE DETTAGLI */
.blog-posts .post .buttons a {
    display: inline-block;
    background: #E12C5F;
    color: #fff !important;
    padding: 10px 22px;
    border-radius: 6px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 20px;
    position: relative;
    left: 0;
    transition: all 0.2s ease-in-out;
}

.blog-posts .post .buttons a:hover {
    background: #c0204d;
}

/* RIMUOVO ICONA VECCHIA */
.blog-posts .post .buttons a:before {
    display: none;
}

/* ============================================================
   SUN&SERVICE — BLOGPOST PAGE LUXURY UPGRADE
   ============================================================ */

/* CONTENITORE PRINCIPALE */
.blogpost-page {
    background: #ffffff;
    max-width: 900px;
    margin: 40px auto;
    padding: 40px 50px;
    border-radius: 14px;
    box-shadow: 0 4px 22px rgba(0,0,0,0.06);
    border-left: 6px solid #E12C5F;
}

/* TITOLO */
.blogpost-page .page-title h1 {
    font-size: 32px;
    font-weight: 600;
    color: #1e1e1e;
    text-align: center;
    margin-bottom: 10px;
    font-family: 'Roboto', sans-serif;
}

/* DATA */
.blogpost-page .post-date {
    text-align: center;
    color: #888;
    font-size: 15px;
    margin-bottom: 30px;
}

/* TESTO ARTICOLO */
.blogpost-page .post-body {
    padding: 0;
    font-size: 18px;
    line-height: 1.75;
    color: #333;
    font-family: 'Roboto', sans-serif;
}

/* TAG */
.blogpost-page .tags {
    margin-top: 35px;
    text-align: left;
}

.blogpost-page .tags li {
    display: inline-block;
    background: #fff7f9;
    border: 1px solid #E12C5F;
    color: #E12C5F;
    padding: 7px 14px;
    border-radius: 20px;
    font-size: 14px;
    margin-right: 8px;
    margin-bottom: 8px;
    font-family: 'Roboto', sans-serif;
}

/* PULSANTE TORNA INDIETRO */
.blogpost-page .back-button {
    position: absolute;
    top: -55px;
    left: 50%;
    transform: translateX(-50%);
    background: #E12C5F;
    color: #fff !important;
    padding: 10px 22px;
    border-radius: 6px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.2s ease-in-out;
}

.blogpost-page .back-button:hover {
    background: #c0204d;
}

/* RIMUOVO ICONA VECCHIA */
.blogpost-page .back-button:before {
    display: none;
}

/* ===== SUN&SERVICE LUXURY WELCOME BOX ===== */

.ss-box-luxury-welcome {
    max-width: 700px;
    margin: 0 auto 25px auto;
    padding: 22px 28px;
    background: #ffffff;
    border-left: 5px solid #E12C5F;
    border-radius: 10px;
    text-align: center;
    font-family: 'Roboto', sans-serif;
    box-shadow: 0 4px 18px rgba(0,0,0,0.06);
}

.ss-box-luxury-welcome p {
    margin: 0;
    font-size: 17px;
    line-height: 1.7;
    color: #444;
}

.ss-box-luxury-welcome strong {
    color: #E12C5F;
    font-weight:normal;
    font-size: 18px;
}

/* ===== TOGGLE PRODUTTORI LUXURY ===== */

.ss-produttori-toggle {
    border: none;
    border-radius: 8px;
    margin-bottom: 20px;
    overflow: hidden;
    font-family: 'Roboto', sans-serif;
}

/* Header cliccabile (solo mobile) */
.ss-produttori-header {
    background: #f7f7f7;
    padding: 14px 18px;
    font-size: 18px;
    font-weight: 600;
    color: #E12C5F;
    display: none; /* nascosto su desktop */
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.ss-produttori-arrow {
    font-size: 22px;
    transition: transform 0.2s ease;
}

/* Contenuto */
.ss-produttori-content {
    padding: 0;
}

/* MOBILE: attiva il toggle */
@media (max-width: 768px) {

    .ss-produttori-header {
        display: flex;
		background: #fff;
        margin-bottom: 20px;
    }

    .ss-produttori-content {
        display: none; /* chiuso di default */
    }

    .ss-produttori-toggle.open .ss-produttori-content {
        display: block;
    }

    .ss-produttori-toggle.open .ss-produttori-arrow {
        transform: rotate(45deg);
    }
}

/* ===== SUN&SERVICE REGISTER BOX LUXURY ===== */

.ss-register-box {
    max-width: 700px;
    margin: 30px auto;
    padding: 25px 20px;
    background: #ffffff;
    border: 1px solid #eee;
    border-radius: 10px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.06);
    text-align: center;
    font-family: 'Roboto', sans-serif;
}

.ss-register-text {
    font-size: 17px;
    color: #444;
    line-height: 1.6;
    margin-bottom: 20px;
}

.ss-register-btn {
    display: inline-block;
    background: #E12C5F;
    color: #fff;
    padding: 12px 28px;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.15s ease;
}

.ss-register-btn:hover {
    background: #c0204f;
    transform: translateY(-2px);
}

/* ===== SUN&SERVICE WHATSAPP LUXURY ===== */

.ss-whatsapp-box {
    max-width: 700px;
    margin: 30px auto;
    padding: 25px 20px;
    background: #ffffff;
    border: 1px solid #eee;
    border-radius: 10px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.06);
    text-align: center;
    font-family: 'Roboto', sans-serif;
}

.ss-whatsapp-text {
    font-size: 17px;
    color: #444;
    margin-bottom: 20px;
    line-height: 1.6;
}

.ss-whatsapp-btn {
    display: inline-block;
    background: #25D366;
    color: #fff;
    padding: 12px 28px;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.15s ease;
}

.ss-whatsapp-btn:hover {
    background: #1ebe5d;
    transform: translateY(-2px);
}

.ss-whatsapp-number {
    margin-top: 15px;
    font-size: 15px;
    color: #555;
}

.ss-whatsapp-number strong {
    color: #E12C5F;
}

/* ===== SUN&SERVICE PAYPAL 3X LUXURY ===== */

.ss-paypal-3x {
    display: flex;
    align-items: center;
    gap: 20px;
    background: #ffffff;
    border: 1px solid #eee;
    padding: 20px 25px;
    border-radius: 10px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.06);
    max-width: 700px;
    margin: 40px auto;
}

.ss-paypal-3x-left {
    flex-shrink: 0;
}

.ss-paypal-logo {
    width: 90px;
    height: auto;
    opacity: 0.9;
}

.ss-paypal-3x-right h3 {
    font-size: 20px;
    color: #E12C5F;
    margin-bottom: 6px;
    font-weight: 600;
}

.ss-paypal-3x-right p {
    font-size: 15px;
    color: #444;
    margin-bottom: 10px;
    line-height: 1.5;
}
.ss-digital-payments {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 20px;
}

.ss-digital-left {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ss-digital-icon {
    font-size: 32px;
    color: #e12c5f;
    font-weight: 700;
}

.ss-digital-right h3 {
    margin: 0 0 6px 0;
    font-size: 20px;
    color: #333;
}

.ss-digital-note {
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.5;
    background: #f9f9f9;
    padding: 12px 14px;
    border-left: 3px solid #e12c5f;
}

/* ===== SUN&SERVICE PAYPAL NOTE LUXURY ===== */

.ss-paypal-note {
    max-width: 700px;
    margin: 15px auto 0 auto;
    padding: 15px 20px;
    background: #fff7f9;
    border-left: 4px solid #E12C5F;
    border-radius: 6px;
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    color: #444;
    line-height: 1.6;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

.ss-paypal-note strong {
    color: #E12C5F;
    font-weight: normal;
}


/* Mobile */
@media (max-width: 768px) {
    .ss-paypal-3x {
        flex-direction: column;
        text-align: center;
    }

    .ss-paypal-logo {
        width: 80px;
    }
}

/* ===== SUN&SERVICE 404 LUXURY ===== */

.ss-404 {
    max-width: 700px;
    margin: 80px auto;
    padding: 20px;
    text-align: center;
    font-family: 'Roboto', sans-serif;
}

.ss-404-icon {
    font-size: 90px;
    font-weight: 700;
    color: #E12C5F;
    opacity: 0.15;
    letter-spacing: 5px;
    margin-bottom: -20px;
}

.ss-404-title {
    font-size: 32px;
    color: #E12C5F;
    margin-bottom: 20px;
    font-weight: 600;
}

.ss-404-text {
    font-size: 18px;
    color: #141617;
    line-height: 1.7;
    margin-bottom: 35px;
}

.ss-404-actions {
    margin-top: 20px;
}

.ss-404-btn {
    display: inline-block;
    background: #fff;
    color: #fff;
    padding: 14px 30px;
    border-radius: 4px;
    border:1px solid #787878;
    text-decoration: none;
    font-size: 17px;
    font-weight: 500;
    transition: background 0.2s ease, transform 0.15s ease;}

.ss-404-btn:hover {
    background: #f5F5F5;
    transform:none;
}

.ss-404-link {
    display: block;
    margin-top: 15px;
    color: #E12C5F;
    font-size: 16px;
    text-decoration: underline;
}

/* ===== SUN&SERVICE FAQ LUXURY ===== */

.ss-faq-page {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px 10px;
    font-family: 'Segoe UI', Arial, sans-serif;
}

.ss-faq-title {
    text-align: center;
    font-size: 28px;
    color: #E12C5F;
    margin-bottom: 30px;
    letter-spacing: 0.5px;
}

.ss-faq-item {
    margin-bottom: 15px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
}

.ss-faq-question {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    font-size: 18px;
    padding: 10px 0;
    cursor: pointer;
    color: #141617;
    font-weight: normal;
	font-family: Fjalla one, san serif;
    text-transform:uppercase;
    transition: color 0.2s ease;
}

.ss-faq-question:hover {
    color:#E12C5F;
	background:none;
}

.ss-faq-answer {
    display: none;
    padding: 10px 0;
    color: #444;
    line-height: 1.6;
}

.ss-faq-item.active .ss-faq-answer {
    display: block;
}

/* ============================================
   SUN&SERVICE LUXURY — SITEMAP
   Accenti #E12C5F, layout premium, zero rosa
   ============================================ */

/* Contenitore generale */
.ss-luxury-sitemap {
    padding: 20px 10px;
    font-family: 'Segoe UI', Arial, sans-serif;
}

/* Titolo principale */
.ss-sitemap-title {
    font-size: 28px;
    color: #E12C5F;
    text-align: center;
    margin-bottom: 25px;
    letter-spacing: 0.5px;
}

/* Descrizione */
.ss-sitemap-description {
    text-align: center;
    margin-bottom: 30px;
    font-size: 15px;
    color: #555;
}

/* Sezioni */
.ss-sitemap-section {
    margin-bottom: 40px;
}

/* Titoli sezione */
.ss-sitemap-section-title {
    font-size: 20px;
    color: #222;
    border-left: 4px solid #E12C5F;
    padding-left: 10px;
    margin-bottom: 15px;
}

/* Liste */
.ss-sitemap-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
    line-height: 1.8;
}

/* Link eleganti (NO rosa) */
.ss-sitemap-list li a {
    color: #444; /* elegante, leggibile */
    text-decoration: none;
    font-weight: 500;
}

.ss-sitemap-list li a:hover {
    color: #E12C5F; /* accento premium */
    text-decoration: underline;
}

/* Colonne responsive */
.ss-columns {
    columns: 2;
    column-gap: 40px;
}

.home-blog-section {
    margin: 60px 0;
}

.home-blog-title {
    font-family: 'Fjalla One', sans-serif;
    font-size: 40px;
    font-weight:normal;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 30px;
    color: #1e1e1e;
}
/* Stile titolo identico a INFOPOINT / BLOG */
.home-blog-title {
    padding: 8px 0;
    margin: 0 0 30px;
    border-bottom: 1px solid #d4d4d4;
    text-align: left;
    position: relative;
    color: #1e1e1e;
    font: normal 20px 'Fjalla One', sans-serif;
    text-transform: uppercase;
}

.home-blog-title:after {
    content: '';
    width: 75px;
    height: 3px;
    position: absolute;
    left: 0;
    right: 1;
    margin: auto;
    bottom: -2px;
    background: #E12C5F;
    transform: skewX(-30deg);
}

.home-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.home-blog-item {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transition: transform .2s ease;
}

.home-blog-item:hover {
    transform:none;
}

.home-blog-image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.home-blog-item-title {
    font-family: 'Fjalla One', sans-serif;
    font-size: 20px;
    font-weight: normal;
    padding: 15px;
    color: #1e1e1e;
}

.home-blog-excerpt {
    font-family: 'Roboto', sans-serif !important;
    padding: 0 15px 20px;
    font-size: 14px;
    opacity: .8;
}
.home-blog-item p,
.home-blog-item div {
    font-family: 'Roboto', sans-serif !important;
}
/* LINK BLOG */
.home-blog-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.home-blog-item {
    transition: all .25s ease;
    box-shadow: 0 0 0 rgba(0,0,0,0);
}

.home-blog-link:hover .home-blog-item {
    box-shadow: 0 6px 16px rgba(0,0,0,0.18);
    transition: all .25s ease;
}

.blog-more {
    margin-top: 12px;
    font-weight: 600;
    color: #E12C5F;
    text-align: right;
    font-size: 15px;
    transition: all .2s ease;
    text-transform: uppercase;
}

.home-blog-link:hover .blog-more {
    color: #c01f4c;
    transform: translateX(4px);
}

/* TOGGLE BLOG */

.year-header {
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    padding: 4px 0;
}

.year-header .toggle {
    font-weight: bold;
    color: #E12C5F;
}
/* MOBILE: impaginazione verticale e leggibile */
@media (max-width: 9000px) {

    .home-blog-grid {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

       .home-blog-section .home-blog-grid .home-blog-item {
        background: #ffffff !important;
        padding: 18px !important;
        border-radius: 8px !important;
        box-shadow: 0 3px 10px rgba(0,0,0,0.10) !important;
        display: block !important;
        margin-bottom: 20px !important;
    }
    /* PARTNER — VERSIONE DESKTOP BASE */
    .home-partners {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 40px;
        padding: 25px 0 10px;
        width: 100%;
        flex-wrap: wrap;
    }
.home-partners-section {
    text-align: center;
    margin-bottom: 10px;
}
.home-partners-title {
    padding: 8px 0;
    margin: 0 0 30px;
    border-bottom: 1px solid #d4d4d4;
    text-align: left;
    position: relative;
    color: #1e1e1e;
    font: normal 30px 'Fjalla One', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    overflow: visible !important;
}

/* Il trucco: solo l’inner è inline-flex */
.home-partners-title-inner {
    display: inline-flex;
    position: relative;
    z-index: 5;
	 font-size:20px;
}

/* Barra rosa */
.home-partners-title:after {
    content: '';
    width: 75px;
    height: 3px;
    position: absolute;
    left: 0;
    right: 1;
    margin: auto;
    bottom: -2px;
    background: #E12C5F;
    transform: skewX(-30deg);
}

    .partner-box {
        width: 540px;
        height: 240px;
        padding: 15px;
        background: #fff;
        border: 1px solid #eee;
        border-radius: 6px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .partner-box img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

    /* 1024px */
    @media (max-width: 1024px) {
        .partner-box {
            width: 260px;
            height: 120px;
            padding: 12px;
        }
    }

    /* 768px */
    @media (max-width: 768px) {
        .home-partners {
            flex-direction: column;
            gap: 20px;
            padding: 15px 0;
        }

        .partner-box {
            width: 100%;
            max-width: 540px;
            height: 110px;
            padding: 10px;
        }
    }

    /* 480px */
    @media (max-width: 480px) {
        .partner-box {
            max-width: 540px;
            height: 95px;
        }
    }
}
    .home-blog-date {
        font-size: 13px;
        color:#E12C5F;
        margin-bottom: 8px;
    }

    .home-blog-item-title {
        font-size: 20px;
        font-weight: normal;
        line-height: 1.25;
        margin-bottom: 10px;
        font-family: 'Fjalla One', sans-serif;
		text-transform:uppercase !important;
    }

    .home-blog-excerpt {
        font-size: 15px;
        line-height: 1.55;
        font-family: 'Roboto', sans-serif !important;
        color: #444;
        margin-bottom: 10px;
    }

    .home-blog-all-btn {
        display: inline-block;
        width: 100%;
        text-align: center;
        padding: 12px 0;
        font-size: 16px;
        border-radius: 6px;
    }
}

/*********** HEADER ***********/
.header-link-wrapper a:before {
    width: 30px !important;
    height: 38px;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    text-align: center;
    vertical-align: top;
}
.ico-account:before {
    font-family: "venture-font";
    text-transform: none;
    content: "h";
    width: 25px;
    font-size: 13px;
    display: inline-block;
}
.ico-register:before {
    font-family: "venture-font";
    text-transform: none;
    content: "k";
    width: 25px;
    font-size: 13px;
    display: inline-block;
}
.header-links {
}
.ico-login:before{
	font-family:"venture-font";text-transform:none;content:"d";width:25px;font-size:12px;display:inline-block;
}
.ico-logout:before {
	font-family:"venture-font";text-transform:none;content:"i";width:25px;font-size:12px;display:inline-block;
}
.ico-inbox:before {
	font-family:"venture-font";text-transform:none;content:"j";width:25px;font-size:12px;display:inline-block
}
.ico-wishlist:before {
	font-family: "venture-font";
    text-transform: none;
    content: "f";
    width: 25px;
    font-size: 12px;
    display: inline-block;
    
}
/*** COLUMN ***/

.category-page-body .side-2 {
    width: 23.6%;
    margin-top: 0;
}
.category-page-body .page-body {
    width: 100%;
}

.block {
	float: none;
	width: auto;
	margin: 0 0 20px;
}
.block .title {
	cursor: default;
	font-size: 18px;
	padding: 0 3px 8px;
	border-bottom: 1px solid #d4d4d4 !important;
	position: relative;
	background: #ffffff;
}
.block-manufacturer-navigation .title,
.block-vendor-navigation .title,
.block-popular-tags .title {
    padding: 0px 80px 8px 3px;
}

.block .title:before{
    content: '';
    width: 75px;
    height: 4px;
    position: absolute;
    top: auto;
    left: 0;
    right: auto;
    bottom: -2px;
    margin: auto;
    background: #E12C5F;
    -o-transform: skewX(30deg);
    -webkit-transform: skewX(30deg);
    -moz-transform: skewX(30deg);
    -ms-transform: skewX(30deg);
    transform: skewX(30deg);
} 
.block .listbox {
	display: block !important;
    border: none;
    background: none;
}
.block .listbox:before {
    display: none;
}
.block .list li {
    position: relative;
}
.block .list a,
.block .list strong {
    padding: 8px 20px 8px 3px;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
	font-family: 'Roboto', sans-serif;
    font-weight: 400;
}
.block .list a:hover {
    color: #E12C5F;
}
.sublist-toggle-button {
    display: block;
    width: 19px;
    height: 18px;
    cursor: pointer;
    background: #e7e7e7;
    position: absolute;
    top: 8.5px;
    right: 0;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.sublist-toggle-button:hover {
    background: #d5d5d5;
}
.sublist-toggle-button:before {
    content: "y";
    font-family: "venture-font";
    text-transform: none;
    font-size: 8px;
    text-align: center;
    width: 7px;
    height: 7px;
    color: #808080;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
.sublist-toggle-button.open {
    background: #fff;
}
.sublist-toggle-button.open:before {
    content: "x";
    color: #E12C5F;
}
.block .sublist {
    padding: 0 0 0 15px;
}
.block .view-all {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0;
}
.block .view-all a {
    display: block;
    padding: 2px 13px 2px 0;
    border-top: none;
    color: #141617;
    font-size: 13px;
    position: relative;
}
.block .view-all a:after {
    font-family: "venture-font";
    text-transform: none;
    content: "q";
    font-size: 7px;
    position: absolute;
    top: 0;
    right: 0;
    height: 20px;
    line-height: 20px;
}
.block-recently-viewed-products .listbox .list {
    padding: 20px 0;
}
.block-recently-viewed-products li {
    background: #fff;
    margin: 0 0 10px;
    display: table;
    width: 100%;
}
.block .list .product-picture {
    display: table-cell;
    width: 35%;
	vertical-align: middle;
    padding: 5px;
}
.block .list  .product-picture img {
	display: block;
	max-width: 100%;
}
.block .list .product-name {
	display: table-cell;
	width: 75%;
    padding: 10px;
	vertical-align: middle;
}
.block .list .product-name span {
    display: block;
}
.block .list .product-name .name {
    max-height: 38px;
    overflow: hidden;
    color: #1e1e1e;
    margin: 0 0 3px;
}
.block .list .product-name .price {
    color: #f3cc2e;
}
.block .tags {
    padding: 15px 0;
}
.block .tags a{
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.block .tags a:hover {
    color: #1e1e1e;
}
.block .poll strong {
    padding: 8px 3px;
}
.block .poll-options li, 
.block .poll-results li {
    margin: 0 3px;
}
.block .poll .buttons {
    margin: 0;
}
.block .poll .buttons, 
.block .poll-total-votes {
    padding: 8px 3px;
}
.block .poll .buttons input {
    padding: 8px 3px;
    background: none;
    color: #141617;
}
.block .poll-options,
.block .poll-results {
    margin: 0;
}
.block .poll .buttons input:hover {
    background: none !important;
    color: #141617;
}

/*** FORUM & PROFILE ***/


.forum-actions,
.topic-actions {
	margin: 0 0 10px;
	font-size: 0;
    text-align: center;
}
.forum-actions .actions a,
.topic-actions .actions a {
	display: inline-block;
    text-transform: none;
    color: #141617;
    margin: 0 10px 5px;
	padding: 7px 7px 7px 20px;
	font-size: 14px;
    position: relative;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}
.forum-actions .actions a:hover,
.topic-actions .actions a:hover {
    color: #1e1e1e;
}
.forum-actions .actions a:before,
.topic-actions .actions a:before {
    font-family: "venture-font";
    content: "";
    position: absolute;
    left: 0;
}
.forum-actions .actions .new-topic:before {
    top: 7px;
    content: "0";
    font-size: 15px;
}
.forum-actions .actions .watch-forum,
.topic-actions .actions .watch-forum {
    padding-left: 21px;
}
.forum-actions .actions .watch-forum:before,
.topic-actions .actions .watch-forum:before {
    top: 8px;
    content: "Z";
}
.forum-actions .pager.upper,
.topic-actions .pager.upper {
	display: none;
}
.topic-actions a.reply-topic-button:before {
    top: 8px;
    content: "Y";
}
.topic-actions a.watch-topic-button:before {
    top: 8px;
    content: "Z";
}
.topic-actions a.move-topic-button:before {
    top: 8px;
    content: "X";
}
.topic-actions a.edit-topic-button:before {
    top: 9px;
    content: "k";
    font-size: 12px;
}
.topic-actions a.delete-topic-button:before {
    top: 8px;
    content: "s";
    font-size: 13px;
}
.topic-actions.lower .actions {
	display: none;
}


.topic-post .post-text {
    width: 100%;
    max-width: 100%;
    font-family: 'Roboto',sans-serif;
    color: #141617;
    padding: 10px;
}

/*=====================================================
    
    DESKTOP 1200

=====================================================*/

@media all and (min-width: 1201px) {

/* GLOBAL STYLES */

.mobile {
    display: none !important;
}

/* LEFT/RIGHT COLUMN */

.category-page-body .side-2 {
    width: 23.6%;
    margin-top: 0;
}
.category-page-body .page-body {
    width: 100%;
}

/* CATEGORY PAGE & GRIDS */

.product-grid .item-box .product-item:hover:before {
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
}

.item-box .additional-price-info {
    /*display: block;*/
    position: absolute;
    bottom: 5px;
    left: 25px;
    line-height: 20px;
    height: 20px;
    right: 55px;
    overflow: hidden;
}

/* PRODUCT PAGE */

.gallery {
	float: left;
	width: 50%;
} 
.gallery .picture {
  
}
.gallery .picture {
    width: 80%;
    float: right;
    margin: 0 0 40px;
}
.gallery .picture:only-child {
    width: 100%;
    float: none;
}
.gallery .picture-thumbs {
    width: 16%;
    float: left;
}
.gallery .thumb-item {
    width: 100%;
    margin: 0 0 20px;
}
.gallery .thumb-item:last-child {
    margin: 0;
}
.gallery .thumb-item {
   
}

.wishlist-content .button-2 {
        width: auto;
    }
 
.product-review-links a:last-child {
    color: #E12C5F;
}

/* WISHLIST & COMPARE LIST */

.wishlist-content .buttons {
	overflow: hidden;
}
.wishlist-content .button-2 {
    float: left;
	margin: 0 5px 0 0;
}
.wishlist-content .wishlist-add-to-cart-button {
    float: right;
    margin: 0;
}
/* SEARCH & SITEMAP */

.sitemap-page .entity {
    padding: 50px;
}
}
/* REVIEW PAGE 768*/

@media all and (min-width: 768px) {

/* GLOBAL STYLES */

.page {
	clear: both;
	text-align: left;
}

.product-review-item {
    padding: 30px 7% 30px 21%;
    position: relative;
    min-height: 200px;
}
.product-review-item .product-review-box {
    position: absolute;
    left: 2%;
    top: 30px;
    width: 15%;
    overflow: hidden;
}
.product-review-item .product-review-box .rating {
    float: right;
}
.product-review-item .review-info {
    position: absolute;
    left: 2%;
    top: 68px;
    width: 15%;
    text-align: right;
    font-size: 13px;
	font-family: Roboto, sans-serif;
    font-weight: 500;
}
.product-review-item .review-info > span {
    display: block;
    margin: 0 0 5px;
}
.product-review-item .review-info > span.separator {
    display: none;
}
.product-review-item .review-info .user label,
.product-review-item .review-info .date label  {
    display: none;
}
.product-review-item .review-info a {
    padding: 0;
}
.product-review-item .product-review-helpfulness {
    text-align: right;
}

/* ===== ISOLAMENTO FAQ DAL TEMA ===== */
.ss-faq-page {
    text-align: left !important;
    max-width: 900px !important;
    margin: 0 auto !important;
}

/* annulla il centramento forzato del tema */
.ss-faq-page * {
    text-align: left !important;
}

/* ripristina comportamento accordion */
.ss-faq-answer {
    display: none !important;
}

.ss-faq-item.active .ss-faq-answer {
    display: block !important;
}

/* bottoni sempre cliccabili */
.ss-faq-question {
    display: block !important;
    width: 100% !important;
    cursor: pointer !important;
}

.flyout-cart {
    display: none;
    top: 48px; /* altezza header */
    right: 0;
    width: 480px;
    max-height: calc(100vh - 70px);
    overflow-y: auto;
    z-index: 999999 !important;
    border: 1px solid #ddd;
    box-shadow: 0 0 25px rgba(0,0,0,0.15);
    background: #fff;
}
header, .header, .header-upper, .top-bar, .master-wrapper-page {
    position: static !important;
    z-index: auto !important;
    overflow: visible !important;
}

/*********** GLOBAL TABLES — LUXURY VERSION ***********/

/* Wrapper */
.table-wrapper {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.06);
    overflow:none;
    margin-bottom: 30px;
}

/* Table spacing */
.cart, .data-table,
.compare-products-table,
.forums-table-section table {
    margin: 0 0 25px;
    border-collapse: separate;
    border-spacing: 0;
}

/* Header cells */
.cart th, .data-table th,
.forums-table-section th {
    background: #ffffff;
    padding: 18px 22px;
    font-weight: normal;
    font-size: 14px;
    color: #1e1e1e;
    text-transform: uppercase;
    font-family: Fjalla one, sans-serif;
    letter-spacing: 1px;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    white-space: nowrap;
}

/* Body cells */
.cart td, .data-table td,
.compare-products-table td,
.forums-table-section td {
    background: #fff;
    padding: 20px 22px;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    font-size: 15px;
    color: #1e1e1e;
}

/* Product price + quantity */
.product-unit-price,
.product-quantity {
    color: #1e1e1e;
    font-family: 'Roboto', sans-serif;
    font-weight: 600;
}

/* Subtotal highlight */
.product-subtotal,
.cart td.subtotal span {
    color: #E12C5F;
    font-weight: 700;
    font-family: 'Roboto', sans-serif;
}

/* Links */
.cart a, .data-table a,
.compare-products-table a,
.forums-table-section a {
    font-family: 'Fjalla One', sans-serif;
    text-transform: uppercase;
    color: #1e1e1e;
    letter-spacing: 0.5px;
}
.cart a:hover,
.data-table a:hover,
.compare-products-table a:hover,
.forums-table-section a:hover {
    color: #E12C5F;
}

/* Edit item link */
.cart .edit-item a {
    margin-top: 5px;
    color: #E12C5F;
	font-family:Roboto,sans-serif;
}

/* Remove button */
.cart .remove-from-cart button {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.15);
    background: #fff url('../img/close.png') center no-repeat;
    background-size: 10px;
    transition: all 0.2s ease;
}
.cart .remove-from-cart button:hover {
    border-color: #E12C5F;
}

/* Product picture */
.cart .product-picture a {
    position: relative;
    display: block;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(0,0,0,0.08);
}
.cart .product-picture a:before {
    content: '';
    padding-top: 100%;
    display: block;
}
.cart .product-picture img {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    margin: auto;
    max-width: 100%;
}

/* Quantity input */
.cart .qty-input {
    width: 55px;
    height: 38px;
    border-radius: 8px;
    border: 1px solid rgba(0,0,0,0.15);
    text-align: center;
    font-size: 15px;
    font-family: 'Roboto', sans-serif;
}

/* Compare table */
.compare-products-table td {
    vertical-align: top;
    line-height: 22px;
}
.compare-products-table .product-name td {
    background: #fafafa;
    font-weight: 600;
}
.compare-products-table .product-price td {
    color: #E12C5F;
}

/* Forum tables */
.forums-table-section td {
    line-height: 24px;
    vertical-align: top;
}
.forums-table-section .latest-post {
    white-space: nowrap;
}
.forums-table-section .forum-details,
.forums-table-section .topic-details {
    min-width: 300px;
}

/* Tier prices */
.tier-prices {
    margin: 0 0 40px;
}
.tier-prices .prices-header {
    font-size: 18px;
    margin-bottom: 10px;
}
.tier-prices .item-price {
    color: #E12C5F;
}

/* Responsive */
@media all and (min-width: 769px) {
    .product-details-page .prices-table {
        display: table;
        background: #fff;
    }
    .product-details-page .prices-row {
        display: table-row;
        float: none;
        width: auto;
    }
    .product-details-page .prices-row > div {
        display: table-cell;
    }
}
/********** CHECKOUT — LUXURY VERSION **********/

.checkout-page .section {
    margin: 0 0 35px;
    padding: 35px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.06);
}

/* Order summary spacing */
.checkout-page .section.order-summary {
    margin: 80px 0 35px;
}

/* Titles */
.checkout-page .section .title {
    padding: 10px 0;
    margin: 0 0 25px;
    text-align: center;
    font-family: 'Fjalla One', sans-serif;
    font-size: 18px;
    letter-spacing: 1px;
    color: #1e1e1e;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

/* Buttons */
.checkout-page .button-1 {
    min-width: 180px;
    padding: 14px 22px;
    background: #1e1e1e;
    color: #ffffff;
    border-radius: 12px;
    border: none;
    font-family: 'Fjalla One', sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 15px;
    transition: all 0.25s ease;
}
.checkout-page .button-1:hover {
    background-color: #E12C5F;
}

/* Address blocks */
.checkout-page .address-item {
    width: 380px;
    max-width: 100%;
    margin: 0 auto 40px;
}
.checkout-page .address-item ul {
    background-color: #fafafa;
    padding: 22px;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.05);
}
.checkout-page .address-item li.name {
    font-size: 16px;
    font-weight: 600;
    color: #1e1e1e;
}

/* Shipping & pickup */
.checkout-page .ship-to-same-address,
.checkout-page .pickup-in-store {
    padding: 25px 0;
    text-align: center;
    font-family: 'Roboto', sans-serif;
    color: #444;
}

/* Method lists */
.shipping-method .method-list,
.payment-method .method-list {
    margin: 0 auto 30px;
    padding: 10px 0;
}
.shipping-method .method-list li,
.payment-method .method-list li {
    margin: 18px 0;
    padding: 15px;
    background: #fafafa;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.05);
}
.shipping-method .method-list li label,
.payment-method .method-list li label {
    font-size: 14px;
    font-weight: 600;
    color: #1e1e1e;
}

/* Payment info */
.payment-info .info {
    padding: 35px 20px;
    background: #ffffff;
    border-radius: 12px;
}
.payment-info .info td input[type="text"],
.payment-info .info td select {
    border-radius: 10px;
    border: 1px solid rgba(0,0,0,0.15);
    padding: 10px;
    font-size: 14px;
}

/* Confirm order */
.confirm-order .buttons {
    padding: 20px 0;
}
.confirm-order .button-1 {
    font-size: 17px;
    padding: 16px 25px;
    border-radius: 14px;
}

/* Review blocks */
.order-review-data ul,
.order-details-area ul,
.shipment-overview ul {
    padding: 18px;
    background: #fafafa;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.05);
    font-family: 'Roboto', sans-serif;
    color: #1e1e1e;
}

/* Review titles */
.order-review-data .title,
.order-details-area .title,
.shipment-overview .title {
    padding: 15px;
    border-bottom: 2px solid #E12C5F;
    font-size: 16px;
    font-family: 'Fjalla One', sans-serif;
    text-transform: uppercase;
    color: #1e1e1e;
}

/* One-page checkout (OPC) */
.opc .tab-section {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.05);
    margin-bottom: 20px;
}
.opc .step-title {
    padding: 18px;
    font-size: 16px;
    font-family: 'Fjalla One', sans-serif;
    letter-spacing: 1px;
    color: #1e1e1e;
}
.opc .buttons input {
    padding: 16px 20px;
    border-radius: 12px;
    background: #1e1e1e;
    color: #fff;
    font-family: 'Fjalla One', sans-serif;
    letter-spacing: 1px;
    transition: all 0.25s ease;
}
.opc .buttons input:hover {
    background: #E12C5F;
}

/* Back link */
.opc .back-link a {
    padding: 14px 18px;
    border-radius: 10px;
    background: #e5e5e5;
    color: #1e1e1e;
    font-family: 'Fjalla One', sans-serif;
    transition: all 0.25s ease;
}
.opc .back-link a:hover {
    background: #d0d0d0;
}
/*********** GLOBAL STYLES — LUXURY VERSION **********/

/* BODY */
body {
    max-width: 100%;
    overflow-x: hidden;
    background-color: #ffffff;
    font: normal 15px 'Fjalla One', sans-serif;
    color: #1e1e1e;
    letter-spacing: .2px;
}

/* LINKS */
a {
    color: inherit;
    cursor: pointer;
    transition: all .25s ease;
}
a:hover {
    color: #E12C5F;
}

/* TEXT */
p {
    line-height: 24px;
    font-size: 14px;
    font-family: 'Roboto', sans-serif;
    color: #1e1e1e;
}

/* IMAGES */
a img {
    opacity: 0.99;
    max-width: 100%;
}

/* TABLES */
table {
    width: 100%;
    border-collapse: collapse;
}

/* INPUTS & FORMS */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
textarea,
select {
    height: 50px;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 0 15px;
    font-size: 15px;
    font-family: 'Roboto', sans-serif;
    color: #1e1e1e;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
    transition: all .25s ease;
}

textarea {
    min-height: 150px;
    padding: 15px;
}

select {
    height: 50px;
    appearance: none;
    background-image: url(../images/arrow.svg);
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 35px;
    color: #787878;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(225,44,95,0.25);
}

/* CHECKBOX & RADIO */
input[type="checkbox"],
input[type="radio"] {
    accent-color: #E12C5F;
	width: 18px;
    height: 18px;
    cursor: pointer;
}

/* BUTTONS */
button,
.button-1,
.button-2,
input[type="submit"],
input[type="button"] {
    cursor: pointer;
    background: #1e1e1e;
    color: #ffffff;
    border: none;
    padding: 14px 22px;
    border-radius: 8px;
    font-family: 'Fjalla One', sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all .25s ease;
}
button:hover,
.button-1:hover,
.button-2:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    background: #E12C5F;
}

/* LABELS */
label {
    font-family: 'Fjalla One', sans-serif;
    text-transform: uppercase;
    font-weight: normal;
    letter-spacing: .3px;
}

/* WRAPPERS */
.master-wrapper-content {
    width: 90%;
    margin: 0 auto;
    position: relative;
}

.master-column-wrapper {
    margin-top: 40px;
    position: relative;
	border-radius: 12px;
}

/* PAGE TITLES */
.page-title {
    margin: 0 0 30px;
    text-align: center;
    position: relative;
    padding-bottom: 10px;
}
.page-title:before {
    content: '';
    width:240px;
    height: 4px;
    background: #E12C5F;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -2px;
    transform: skewX(-30deg);
}
.page-title h1 {
    font: normal 20px 'Fjalla One', sans-serif;
    margin-top: -1px;
    color: #1e1e1e;
    text-transform: uppercase;
}

/* CONTENT TEXT */
.category-description p,
.manufacturer-description p,
.full-description p,
.topic-block p,
.topic-page p,
.post-body p,
.news-body p {
    margin: 10px 0;
    text-align: justify;
    font-size: 15px;
    font-family: 'Roboto', sans-serif;
    color: #141617;
}

/* LISTS */
.category-description ul,
.manufacturer-description ul,
.full-description ul,
.topic-block ul,
.topic-page ul,
.post-body ul {
    margin: 12px 0;
    padding-left: 36px;
    list-style: disc;
}

.category-description ol,
.manufacturer-description ol,
.full-description ol,
.topic-block ol,
.topic-page ol,
.post-body ol {
    margin: 12px 0;
    padding-left: 36px;
    list-style: decimal;
}

/* TEXT CLASS */
.text {
    font-family: 'Roboto', sans-serif;
}

/*********** GLOBAL FORMS — LUXURY **********/

.fieldset,
.section {
    padding: 30px 0;
}

.section .title {
    margin: 0 0 20px;
    padding: 15px 0;
    font-size: 18px;
    text-transform: uppercase;
    font-family: 'Fjalla One', sans-serif;
    letter-spacing: 1px;
    color: #1e1e1e;
}

/* FORM FIELDS */
.form-fields {
    background: none;
    padding: 20px;
    border-radius: none;
    box-shadow: none;
}

.inputs {
    margin: 0 auto 20px;
    text-align: center;
}

.inputs label {
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    font-family: 'Roboto', sans-serif;
	text-align: left;
}

.inputs input,
.inputs select,
.inputs textarea {
    width: 5%;
    max-width: 90%;
    padding: 15px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #f0f0f0;
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}

/* VALIDATION */
.message-error,
.field-validation-error {
    font-size: 12px;
    color: #E12C5F;
    margin-top: 5px;
    display: flex;
	font-family: Roboto, sans-serif;
    font-weight: 500;
}

/* CAPTCHA */
.captcha-box {
    text-align: center;
}
/*********** NEWS HOMEPAGE — LUXURY VERSION **********/

.news-list-homepage .news-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2%;
    margin-bottom: 0;
    text-align: center;
}

/* CARD */
.news-list-homepage .news-item {
    width: 31.333%;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.06);
    overflow: hidden;
}
.news-list-homepage .news-item:hover {
 
    box-shadow: 0 12px 32px rgba(0,0,0,0.12);
}

/* Quando c’è un solo elemento */
.news-list-homepage .news-item:only-child {
    width: 60%;
    margin: 0 auto 30px;
}

/* HEADER */
.news-list-homepage .news-head {
    background: #1e1e1e;
    color: #ffffff;
    padding: 18px 10px;
    font-family: 'Fjalla One', sans-serif;
    font-size: 18px;
    letter-spacing: .5px;
    text-transform: uppercase;
}

/* BODY */
.news-list-homepage .news-body {
    padding: 20px 25px 30px;
    font-size: 16px;
    font-family: 'Roboto', sans-serif;
    color: #141617;
    line-height: 24px;
}

/* LINK HOVER */
.news-list-homepage .news-item a:hover {
    color: #E12C5F;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .news-list-homepage .news-item {
        width: 48%;
    }
}
@media (max-width: 768px) {
    .news-list-homepage .news-item {
        width: 100%;
    }
}
/*********** FOOTER — LUXURY FLAT VERSION ***********/

/* WRAPPER */
.footer {
    background: #f5f5f5;
    padding: 60px 0 30px;
    color: #1e1e1e;
    text-align: left;
}

/* GRID A 4 COLONNE */
.footer-upper {
    width: 90%;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

/* TITOLI */
.footer-block .title {
    background: none;
    padding: 0;
    margin-bottom: 15px;
    cursor: default;
	text-align: left;
}
.footer-block .title strong {
    font: 18px 'Fjalla One', sans-serif;
    text-transform: uppercase;
    color: #1e1e1e;
    letter-spacing: .5px;
}

/* LISTE */
.footer-block .list {
    display: block !important;
    background: none;
    padding: 0;
    margin: 0;
}
.footer-block .list a {
    display: block;
    padding: 6px 0;
    font: 16px 'Roboto', sans-serif;
    color: #1e1e1e;
    transition: all .25s ease;
}
.footer-block .list a:hover {
    color: #E12C5F;
    transform: translateX(3px);
}

/*********** SOCIAL ALLINEATI A DESTRA — LUXURY **********/

/* Contenitore del footer */
.footer-upper {
    width: 90%;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr) auto; /* 3 colonne + social */
    gap: 40px;
    align-items: start;
}

/* Social come colonna autonoma */
.follow-us {
    margin: 0;
    padding: 0;
    text-align: right; /* allineamento a destra */
}

/* Titolo social */
.follow-us .title {
    font: 18px 'Fjalla One', sans-serif;
    margin-bottom: 15px;
    text-align: left;
}

/* Lista social */
.follow-us ul {
    padding: 0;
    margin: 0;
	text-align: left;
	background:#f5f5f5;
}

/* Icone */
.follow-us li {
    display: inline-block;
    margin-left: 10px;
}

.follow-us a {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #1e1e1e;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all .25s ease;
}

.follow-us a:before {
    font-family: "venture-font";
    font-size: 18px;
    color: #1e1e1e;
}

.follow-us a:hover {
    background: #E12C5F;
    border-color: #E12C5F;
}

.follow-us a:hover:before {
    color: #ffffff;
}

/* MOBILE: social sotto, centrati */
@media (max-width: 768px) {
    .footer-upper {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .follow-us {
        text-align: center;
        margin-top: 20px;
    }
    .follow-us li {
        margin: 0 6px;
    }
}
/*********** COPYRIGHT CENTRATO ***********/
.footer-lower {
    width: 100%;
    text-align: center;   /* <-- CENTRA IL TESTO */
    padding: 25px 10px 0;
    font: 13px 'Roboto', sans-serif;
    color: #1e1e1e;
    border-top: 1px solid rgba(0,0,0,0.08);
    margin-top: 40px;
	background: #f5f5f5;
}
/********** REGISTRATION, LOGIN, ACCOUNT PAGES — LUXURY OPTIMIZED **********/

/* Layout generale */
.registration-page .page-body,
.password-recovery-page .page-body,
.user-agreement-page .page-body {
    background: #ffffff;
    max-width: 750px;
    margin: auto;
    padding: 40px 50px;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.05);
}

/* Titoli */
.login-page .title,
.registration-page .title,
.account-page .title {
    font-size: 18px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #1e1e1e;
    margin-bottom: 25px;
}

/* Testi */
.login-page .text,
.registration-page .text,
.account-page .description {
    font-family: 'Roboto', sans-serif;
    color: #141617;
    line-height: 26px;
    font-size: 15px;
}

/* Campi input */
.form-fields input[type="text"],
.form-fields input[type="email"],
.form-fields input[type="password"],
.form-fields select {
    border: 1px solid #e5e5e5;
    padding: 12px 14px;
    border-radius: 6px;
    font-size: 15px;
    transition: all .2s ease;
}
.inputs {
    white-space: nowrap;
    position: relative;
}
.form-fields input:focus,
.form-fields select:focus {
    border-color: #E12C5F;
    box-shadow: 0 0 0 3px rgba(225,44,95,0.15);
}

/* Checkbox luxury */
.accept-consent label {
    padding-left: 30px;
    font-size: 14px;
    color: #1e1e1e;
}

.accept-consent input[type='checkbox'] ~ label:before {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1px solid #dcdcdc;
    background: #fff;
}

.accept-consent input[type='checkbox']:checked ~ label:after {
    width: 12px;
    height: 12px;
    background: #E12C5F;
    border-radius: 3px;
}

/* Bottoni */
.button-1 {
    padding: 15px 40px;
    border: none;
    background: #1e1e1e;
    color: #fff;
    font-family: 'Fjalla One', sans-serif;
    letter-spacing: 2px;
    text-transform: uppercase;
    border-radius: 6px;
    transition: all .25s ease;
}

.button-1:hover {
    background: #E12C5F;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(225,44,95,0.25);
}

/* Bottoni secondari */
.button-2 {
    padding: 12px 30px;
    background: #f2f2f2;
    color: #787878;
    border-radius: 6px;
    transition: all .25s ease;
}

.button-2:hover {
    background: #E12C5F;
    color: #fff;
}

/* Blocchi account */
.account-page .page-body {
    background: #fafafa;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.05);
}

.account-page .fieldset {
    margin-bottom: 35px;
    padding-bottom: 35px;
    border-bottom: 1px solid #eaeaea;
}

/* Liste ordini, indirizzi, GDPR */
.address-list-page .section.address-item,
.order-list-page .section.order-item,
.return-request-list-page .section.request-item {
    padding: 25px 0;
    border-bottom: 1px solid #eaeaea;
	background: none;
    box-shadow: none;
}

.address-list-page .country {
    font-weight: 600;
    color: #1e1e1e;
}

/* Messaggi */
.message-error,
.result {
    font-family: 'Roboto', sans-serif;
    color: #E12C5F;
    margin-bottom: 20px;
    text-align: center;
}
@media all and (max-width: 1000px) {

/*** GLOBAL TABLES — LUXURY MOBILE ***/

.cart {
    display: block;
}

/* Nascondi intestazioni */
.cart colgroup,
.cart thead {
    display: none;
}

/* Contenitore generale */
.cart tbody {
    display: block;
    overflow: hidden;
    background: #f7f7f7;
    padding: 10px;
}

/* Card prodotto */
.cart tr {
    display: block;
    width: 100%;
    margin: 25px 0 0;
    border: 1px solid #e5e5e5;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.06);
    overflow: hidden;
}

/* Celle */
.cart td {
    display: block;
    border: none;
    padding: 12px 15px;
}

/* Rimuovi */
.cart td.remove-from-cart {
    background-color: #ffffff;
    padding: 15px;
}

/* Immagine prodotto */
.cart td.product-picture {
    border-top: 1px solid #eee;
    padding: 15px 10px 5px;
    text-align: center;
}

/* Nome prodotto */
.cart td.product {
    border-bottom: 1px solid #eee;
    padding: 10px 15px 15px;
    text-align: center;
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    color: #1e1e1e;
}

/* Quantità, prezzo, subtotale */
.cart td.quantity,
.cart td.unit-price,
.cart td.subtotal {
    display: inline-block;
    padding: 15px 10px;
    vertical-align: middle;
    font-family: 'Roboto', sans-serif;
}

/* Prezzo unitario */
.cart td.unit-price {
    color: #141617;
}

/* Subtotale evidenziato */
.cart td.subtotal {
    color: #E12C5F;
    font-weight: 600;
}

/*** ORDER DETAILS PAGE ***/

.order-details-page .data-table {
    display: block;
}

.order-details-page .data-table colgroup,
.order-details-page .data-table thead {
    display: none;
}

.order-details-page .data-table tbody {
    display: block;
    overflow: hidden;
}

.order-details-page .data-table tr {
    display: block;
    width: 100%;
    margin: 25px 0 0;
    border: 1px solid #e5e5e5;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.06);
}

.order-details-page .data-table td {
    display: block;
    min-width: 50px;
    border-bottom: 1px solid #f5f5f5;
    background: #fff;
    padding: 18px;
    font-family: 'Roboto', sans-serif;
}

.order-details-page .data-table td.product,
.order-details-page .data-table td.tracking-number {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 60px;
}

/* Colori */
.product-unit-price,
.product-quantity {
    color: #141617;
}

.product-subtotal {
    color: #E12C5F;
    font-weight: 600;
}

}
/* LIBERA IL PAGER DAL BLOCCO PRODOTTI */
.product-grid,
.item-grid,
.center-2 {
    overflow: visible !important;
}
.related-products-grid .title,
.related-products-grid-title,
.product-page .related-products-grid .title {
    display: block;
    margin-top: 40px !important;
    margin-bottom: 20px;
    clear: both;
}

/* FORZA IL PAGER A STARE SOTTO */
.pager {
    display: block !important;
    clear: both !important;
    position: relative !important;
    z-index: 5 !important;
    margin-top: 40px !important;
    padding-top: 20px !important;
}
/********************************************
 PAGER – HOVER + ACTIVE + DISABLED
********************************************/

/* Hover */
.pager li a:hover {
    background-color: #E12C5F !important;
    color: #ffffff !important;
    border-color: #E12C5F !important;
}

/* Pagina attuale */
.pager li span {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
    border-color: #1e1e1e !important;
    font-weight: 600 !important;
}

/* Disabled (es. “Precedente” quando sei alla pagina 1) */
.pager li span.disabled,
.pager li a.disabled {
    background-color: #e5e5e5 !important;
    color: #999999 !important;
    border-color: #dcdcdc !important;
    cursor: auto !important;
}
/* Sottotitolo Riepilogo Ordine */
.page-subtitle {
	text-align:center;
    font-size: 14px;
    color: #666;
    margin-top: 4px;
    letter-spacing: 0.3px;
}
.payment-methods {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    margin: 30px auto;
    max-width: 700px; /* opzionale ma consigliato */
}

.payment-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: all .2s ease;
    width: 100%;
    max-width: 340px;
}

.payment-card:hover {
    border-color: #E12C5F;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

.payment-card input[type="radio"] {
    accent-color: #E12C5F;
    width: 18px;
    height: 18px;
}

.payment-icon img {
    width: 48px;
    height: auto;
}

.payment-title {
    font-size: 16px;
    font-weight: normal;
    color: #222;
}

.payment-desc {
	font-family: Roboto, sans-serif;
    font-size: 14px;
    color: #666;
}
.payment-icon-badge {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #E12C5F;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
	font-family: Roboto, sans-serif;
    font-size: 20px;
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}
.footer-payment-card.card-outline {
    background: transparent;
	font-family:Roboto,sans serif;
	padding:4px;
    color: #fff;
    border: 1px solid #e12c5f;
	border-radius:4px;
	background:#e12c5f;
	font-weight:600;
	}
.product-item .picture {
    position: relative;
    overflow:visible !important;
}
.ribbon-new,
.ribbon-sale,
.ribbon-bestseller,
.ribbon-limited,
.ribbon-preorder,
.ribbon-exclusive,
.ribbon-top {
    position: absolute;
    top: 20px;
    left: -32px;
    width: 140px;
    background: #e12c5f;
    color: #fff;
    text-align: center;
    padding: 6px 0;
    font-size: 15px;
    font-weight: normal;
    transform: rotate(-45deg);
    z-index: 20;
    text-transform: uppercase;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    pointer-events: none;
}


