/* =====================================================================
   msp. sport - tema grafico (abbigliamento donna e bambina)
   Colori del logo: verde salvia + puntino rosa cipria, fondi crema.
   Motivi: il puntino rosa (".") dopo i titoli e l'arco nelle immagini.
   Caricato dopo style.css (vedi layout.phtml).
   ===================================================================== */
:root {
    --msp-sage: #4e6863;        /* verde del logo */
    --msp-sage-dark: #3d524d;   /* hover, testo accentato */
    --msp-sage-deep: #34463f;   /* footer */
    --msp-sage-soft: #e3eae6;
    --msp-ink: #2f3e39;         /* titoli */
    --msp-pink: #e9cac6;        /* puntino del logo */
    --msp-pink-dark: #c99a93;   /* decori (non per testo) */
    --msp-pink-soft: #f7ece9;
    --msp-cream: #f7f2ec;
    --msp-bg: #f7f2ec;          /* fondo immagini prodotto */
    --msp-line: #e9e2da;
    --msp-text: #3d3d3b;
    --msp-muted: #706b66;
    --msp-sale: #b0463a;        /* promo, contrasto AA con testo bianco */
    --msp-radius: 14px;
    --msp-font: "Nunito Sans", "Helvetica Neue", Arial, sans-serif;
    --msp-font-display: "Quicksand", "Nunito Sans", Arial, sans-serif;
    --msp-container: 1400px;
}

/* ------------------------------------------------------------- base */
body.msp-theme {
    font-family: var(--msp-font);
    color: var(--msp-text);
    background: #ffffff;
    font-size: 16px;
}
.msp-theme p {
    color: #4a4844;
    line-height: 1.65;
}
.msp-theme a:hover {
    color: var(--msp-sage-dark);
}
.msp-theme strong,
.msp-theme b {
    font-weight: 700;
}
.msp-theme h1,
.msp-theme h2,
.msp-theme h3,
.msp-theme h4 {
    font-family: var(--msp-font-display);
    font-weight: 600;
    letter-spacing: 0;
    color: var(--msp-ink);
}
.msp-container {
    width: 100%;
    max-width: var(--msp-container);
    margin: 0 auto;
    padding: 0 24px;
}
.msp-theme .mini-container {
    max-width: var(--msp-container);
    padding-left: 24px;
    padding-right: 24px;
}
.msp-theme .main {
    background: #ffffff;
}
.msp-theme ::selection {
    background: var(--msp-pink);
    color: var(--msp-ink);
}

/* puntino del logo */
.msp-dot {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--msp-pink);
}
.msp-dot-sm {
    width: 9px;
    height: 9px;
}

/* bottoni */
.msp-btn,
.msp-theme .btn-primary,
.msp-theme .btn-success {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 30px;
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
    font-size: 16px;
    letter-spacing: .3px;
    text-transform: none;
    border-radius: 40px;
    border: 1.5px solid var(--msp-sage);
    background: var(--msp-sage);
    color: #fff !important;
    transition: all .2s ease;
}
.msp-btn:hover,
.msp-theme .btn-primary:hover,
.msp-theme .btn-success:hover {
    background: var(--msp-sage-dark);
    border-color: var(--msp-sage-dark);
    color: #fff !important;
}
.msp-btn-primary {
    background: var(--msp-sage);
    border-color: var(--msp-sage);
    color: #fff !important;
}
.msp-btn-outline {
    background: transparent;
    color: var(--msp-sage-dark) !important;
}
.msp-theme .msp-btn-outline:hover {
    background: var(--msp-sage);
    border-color: var(--msp-sage);
    color: #fff !important;
}
.msp-eyebrow {
    display: inline-block;
    font-family: var(--msp-font-display);
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--msp-sage);
    margin-bottom: 12px;
}

/* ------------------------------------------------------------- header */
.msp-header {
    display: block !important;
    position: relative;
    z-index: 100;
    background: #fff;
    color: var(--msp-ink);
}
.msp-topbar {
    background: var(--msp-sage);
    font-size: 13px;
    color: #e8efec;
}
.msp-topbar .msp-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 36px;
    gap: 20px;
}
.msp-topbar svg {
    color: var(--msp-pink);
    margin-right: 4px;
}
.msp-topbar strong {
    color: #fff;
    font-weight: 600;
}
.msp-topbar-claim {
    font-family: var(--msp-font-display);
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: 12px;
}
.msp-topbar-claim strong {
    color: var(--msp-pink);
}
.msp-topbar-right {
    display: flex;
    gap: 22px;
}
.msp-topbar-right a {
    color: #f1f5f3;
}
.msp-topbar-right a:hover {
    color: var(--msp-pink);
}
.msp-header-main {
    background: #fff;
}
.msp-header-main > .msp-container {
    display: flex;
    align-items: center;
    gap: 40px;
    min-height: 100px;
}
.msp-logo {
    flex: 0 0 auto;
    display: block;
}
.msp-theme .msp-logo img {
    width: auto;
    height: 64px;
    display: block;
}
.msp-search {
    flex: 1;
    max-width: 600px;
    margin: 0 auto;
}
.msp-header .search-container {
    position: relative;
    min-width: 0;
    width: 100%;
    border: 1px solid var(--msp-line);
    border-radius: 40px;
    background: var(--msp-cream);
    transition: border-color .2s, background .2s;
}
.msp-header .search-container:focus-within {
    border-color: var(--msp-sage);
    background: #fff;
}
.msp-header input[type=search] {
    width: 100%;
    height: 48px;
    padding: 0 56px 0 22px !important;
    background: transparent;
    border: 0;
    color: var(--msp-ink);
    font-size: 15px;
    font-family: var(--msp-font);
}
.msp-header input[type=search]::placeholder {
    color: #9a948d;
}
.msp-header .search-container .msp-search-btn {
    position: absolute;
    right: 5px;
    top: 5px;
    height: 38px;
    width: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: none;
    color: #fff;
    background: var(--msp-sage);
    pointer-events: auto;
    border-radius: 50%;
    font-size: 15px;
}
.msp-header-actions {
    display: flex;
    align-items: center;
    gap: 22px;
    flex: 0 0 auto;
}
.msp-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    color: var(--msp-ink) !important;
    font-family: var(--msp-font-display);
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 600;
}
.msp-action svg {
    font-size: 20px;
    color: var(--msp-sage);
    transition: color .2s;
}
.msp-action:hover svg,
.msp-action:hover {
    color: var(--msp-sage-dark) !important;
}
.msp-action-social svg {
    font-size: 18px;
}
.msp-icon-btn {
    display: none;
    color: var(--msp-ink);
    font-size: 24px;
}
.msp-mobile-search {
    display: none;
    padding: 0 0 14px;
}

/* navbar */
.msp-navbar {
    background: #fff;
    border-top: 1px solid var(--msp-line);
    border-bottom: 1px solid var(--msp-line);
}
.msp-navbar .main-nav {
    margin: 0;
    width: 100%;
}
.msp-navbar .menu {
    display: flex;
    justify-content: center;
    gap: 6px;
}
.msp-navbar .menu > li {
    margin: 0;
    position: relative;
}
.msp-navbar .menu > li > a {
    display: block;
    padding: 16px 18px;
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
    font-size: 15px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--msp-ink);
    position: relative;
}
/* puntino rosa sotto la voce attiva */
.msp-navbar .menu > li > a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 6px;
    width: 7px;
    height: 7px;
    margin: 0 0 0 -3.5px;
    border-radius: 50%;
    background: var(--msp-pink-dark);
    transform: scale(0);
    transition: transform .25s ease;
    display: block !important;
    border: 0;
    top: auto;
    right: auto;
    opacity: 1;
    visibility: visible;
}
.msp-navbar .menu > li:hover > a,
.msp-navbar .menu > li.active > a {
    color: var(--msp-sage);
}
.msp-navbar .menu > li:hover > a::after,
.msp-navbar .menu > li.active > a::after {
    transform: scale(1);
}
.msp-navbar .menu > li.submenu > a {
    padding-right: 30px;
}
.msp-navbar .menu > li.submenu > a::before {
    content: "\f107";
    font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Pro", "FontAwesome";
    font-weight: 400;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 13px;
    color: #a39d96;
    border: 0;
    margin: 0;
}
.msp-navbar .menu > li.evidence-menu-link > a {
    color: var(--msp-sale);
}
.msp-theme .msp-navbar .menu > li > ul {
    left: 0 !important;
    top: 100%;
    min-width: 240px;
    background: #fff;
    padding: 12px 0;
    border-top: 0;
    box-shadow: 0 18px 40px rgba(47, 62, 57, .14);
    border-radius: 0 0 var(--msp-radius) var(--msp-radius);
}
.msp-theme .msp-navbar .menu .submenu ul li {
    border-bottom: 0;
}
.msp-theme .msp-navbar .menu .submenu ul li a {
    padding: 8px 22px;
    margin: 0;
    line-height: 1.3;
    font-size: 15px;
    font-weight: 500;
    text-transform: none;
    color: var(--msp-text);
    font-family: var(--msp-font) !important;
}
.msp-theme .msp-navbar .menu .submenu ul li a:hover {
    color: var(--msp-ink);
    background: var(--msp-pink-soft);
    box-shadow: inset 3px 0 0 var(--msp-pink-dark);
}
.msp-theme .msp-navbar .menu .submenu ul li:first-child a {
    font-weight: 700;
}
.msp-theme .msp-navbar .menu ul.submenu-children {
    left: 100% !important;
    top: -12px;
}

/* titolo pagina */
.msp-page-hero {
    position: relative;
    overflow: hidden;
    background: var(--msp-pink-soft);
    padding: 46px 0 42px;
}
.msp-page-hero::before {
    /* arco decorativo */
    content: "";
    position: absolute;
    right: 8%;
    top: 24px;
    width: 220px;
    height: 320px;
    border-radius: 110px 110px 0 0;
    background: rgba(255, 255, 255, .55);
}
.msp-page-hero .msp-container {
    position: relative;
}
.msp-theme .msp-page-hero .page-title {
    margin: 0 0 8px;
    padding: 0;
    font-family: var(--msp-font-display) !important;
    font-weight: 500 !important;
    font-size: 46px;
    line-height: 1.1;
    text-transform: none;
    color: var(--msp-ink);
    text-align: left;
}
.msp-page-subtitle {
    color: var(--msp-muted) !important;
    font-size: 17px;
    margin: 0 0 14px;
}
.msp-theme .msp-page-hero .page-title::after {
    content: ".";
    color: var(--msp-pink-dark);
    font-weight: 700;
}
.msp-page-hero .msp-dot {
    display: none;
}

/* ------------------------------------------------------------- slider home */
.msp-hero {
    background: var(--msp-cream);
}
.msp-hero .slider-container {
    max-width: none;
}
.msp-hero .owl-dots-line {
    position: relative;
}
.msp-hero .banner-slider .banner > figure img {
    width: 100%;
    height: 560px;
    object-fit: cover;
    object-position: 70% center;
}
.msp-theme .msp-hero .home-slide .banner-content {
    left: 0 !important;
    right: 0;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 100%;
    max-width: var(--msp-container);
    margin: 0 auto;
    padding: 0 24px 0 72px !important;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.msp-theme .msp-hero .home-slide .banner-subtitle {
    order: -1;
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
    font-size: 15px;
    letter-spacing: 4px;
    margin: 0 0 14px;
    text-transform: uppercase;
}
.msp-theme .msp-hero .home-slide .banner-title {
    font-family: var(--msp-font-display) !important;
    font-weight: 500 !important;
    font-size: 76px;
    line-height: 1.02;
    text-transform: none;
    text-align: left;
    max-width: 640px;
    margin: 0 0 20px;
}
.msp-theme .msp-hero .home-slide .banner-title::after {
    content: ".";
    color: var(--msp-pink-dark);
    font-weight: 700;
}
.msp-theme .msp-hero .home-slide .banner-description {
    font-family: var(--msp-font) !important;
    font-weight: 400 !important;
    font-size: 19px;
    line-height: 1.55;
    text-align: left;
    max-width: 480px;
    margin: 0 0 30px;
}
.msp-theme .msp-hero .home-slide a.btn {
    margin: 0;
    padding: 15px 34px;
    border-radius: 40px;
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
    font-size: 16px;
    letter-spacing: .5px;
    text-transform: none;
    min-width: 0;
}
.msp-theme .msp-hero .home-slide a.btn:hover {
    background: var(--msp-sage-dark) !important;
    color: #fff !important;
}
.msp-hero .owl-dots-line .owl-dots-container {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 34px;
    max-width: var(--msp-container);
    margin: 0 auto;
    padding-left: 72px;
    display: flex;
    gap: 8px;
}
.msp-theme .msp-hero .owl-dots-line .owl-dots-container .owl-dot {
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: rgba(47, 62, 57, .22);
    margin: 0;
    transition: width .25s, background .25s;
}
.msp-theme .msp-hero .owl-dots-line .owl-dots-container .owl-dot.active {
    width: 30px;
    background: var(--msp-sage);
}

/* ------------------------------------------------------------- sezioni home */
.msp-section {
    padding: 72px 0;
}
.msp-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 32px;
}
.msp-section-head-center {
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.msp-title {
    position: relative;
    margin: 0;
    font-family: var(--msp-font-display) !important;
    font-weight: 500 !important;
    font-size: 42px;
    line-height: 1.1;
    text-transform: none;
    color: var(--msp-ink);
}
/* il "." rosa del logo dopo ogni titolo */
.msp-title::after {
    content: ".";
    color: var(--msp-pink-dark);
    font-weight: 700;
}
.msp-title-light {
    color: #fff !important;
}
.msp-section-lead {
    margin: 10px 0 0;
    color: var(--msp-muted) !important;
    font-size: 17px;
}
.msp-link-more {
    font-family: var(--msp-font-display);
    font-weight: 600;
    font-size: 15px;
    letter-spacing: .5px;
    color: var(--msp-sage-dark);
    white-space: nowrap;
    border-bottom: 1.5px solid var(--msp-pink-dark);
    padding-bottom: 3px;
}
.msp-link-more svg {
    font-size: 12px;
    margin-left: 6px;
    transition: transform .2s;
}
.msp-link-more:hover svg {
    transform: translateX(4px);
}

/* tessere categorie: immagine con didascalia sotto */
.msp-cat-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 22px 18px;
}
.msp-cat-tile {
    display: block;
    color: var(--msp-ink);
}
.msp-cat-tile img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    height: auto;
    object-fit: cover;
    border-radius: var(--msp-radius);
    background: var(--msp-cream);
    transition: transform .5s ease, box-shadow .5s ease;
}
.msp-cat-tile:hover img {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px rgba(47, 62, 57, .12);
}
.msp-cat-tile-body {
    display: flex;
    flex-direction: column;
    padding: 14px 2px 0;
}
.msp-cat-tile-name {
    font-family: var(--msp-font-display);
    font-weight: 600;
    font-size: 21px;
    line-height: 1.15;
}
.msp-cat-tile-sub {
    font-size: 14px;
    color: var(--msp-muted);
    margin-top: 4px;
    line-height: 1.35;
}
.msp-cat-tile-cta {
    margin-top: 8px;
    font-family: var(--msp-font-display);
    font-weight: 600;
    font-size: 14px;
    color: var(--msp-sage);
}
.msp-cat-tile:hover .msp-cat-tile-name {
    color: var(--msp-sage);
}

/* collezioni (categorie in evidenza): tessere ad arco */
.msp-collections {
    background: var(--msp-cream);
}
.msp-style-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 18px;
}
.msp-style-tile {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 999px 999px var(--msp-radius) var(--msp-radius);
    aspect-ratio: 4 / 5;
    background: #fff;
}
.msp-style-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.msp-style-tile:hover img {
    transform: scale(1.05);
}
.msp-style-tile-name {
    position: absolute;
    left: 50%;
    bottom: 14px;
    transform: translateX(-50%);
    white-space: nowrap;
    padding: 8px 18px;
    border-radius: 40px;
    background: #fff;
    font-family: var(--msp-font-display);
    font-weight: 600;
    font-size: 16px;
    color: var(--msp-ink);
    box-shadow: 0 6px 16px rgba(47, 62, 57, .1);
    transition: background .25s, color .25s;
}
.msp-style-tile:hover .msp-style-tile-name {
    background: var(--msp-sage);
    color: #fff;
}

/* promo */
.msp-promo {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--msp-pink-soft);
}
.msp-promo-bg {
    position: absolute;
    inset: 0;
}
.msp-promo-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 20% center;
}
.msp-promo-content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-left: 54%;
}
.msp-promo-title {
    font-family: var(--msp-font-display) !important;
    font-weight: 500 !important;
    text-transform: none;
    font-size: 72px;
    line-height: 1;
    color: var(--msp-ink) !important;
    margin: 0 0 20px;
}
.msp-promo-title span {
    font: inherit !important;
    color: var(--msp-sage);
}
.msp-promo-content p {
    color: #4a4844 !important;
    font-size: 18px;
    max-width: 520px;
    margin-bottom: 28px;
}

/* promo / outlet */
.msp-outlet {
    background: var(--msp-pink-soft);
}
.msp-badge-sale {
    display: inline-block;
    background: var(--msp-sale);
    color: #fff;
    font-family: var(--msp-font-display);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 12px;
    padding: 4px 12px;
    margin-bottom: 12px;
    border-radius: 20px;
}

/* brand */
.msp-brand-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 14px;
}
.msp-brand-item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 110px;
    padding: 16px;
    background: #fff;
    border: 1px solid var(--msp-line);
    border-radius: var(--msp-radius);
    transition: all .2s;
}
.msp-brand-item img {
    max-height: 70px;
    width: auto;
    max-width: 100%;
    opacity: .8;
    transition: all .2s;
}
.msp-brand-item:hover {
    border-color: var(--msp-pink);
    box-shadow: 0 10px 24px rgba(47, 62, 57, .08);
}
.msp-brand-item:hover img {
    opacity: 1;
}

/* negozio */
.msp-store {
    background: var(--msp-sage-soft);
    padding: 80px 0;
}
.msp-store .msp-container {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 60px;
    align-items: center;
}
.msp-store-text p {
    font-size: 18px;
    margin: 18px 0 22px;
    max-width: 620px;
}
.msp-store-info {
    list-style: none;
    padding: 0;
    margin: 0 0 30px;
}
.msp-store-info li {
    color: var(--msp-ink);
    font-size: 16px;
    padding: 6px 0;
}
.msp-store-info svg {
    width: 26px;
    color: var(--msp-sage);
}
.msp-store-logo {
    display: flex;
    justify-content: center;
    padding: 56px 40px;
    border-radius: 999px 999px var(--msp-radius) var(--msp-radius);
    background: #fff;
}
.msp-store-logo img {
    width: 100%;
    max-width: 360px;
    height: auto;
}

/* ------------------------------------------------------------- card prodotto */
.msp-theme .product-wrap {
    margin-bottom: 20px;
}
.msp-theme .product-wrap center {
    display: block;
    text-align: left;
}
.msp-theme .product-wrap .product {
    background: #fff;
    border: 0;
    border-radius: var(--msp-radius);
    overflow: hidden;
    text-align: left !important;
    transition: transform .25s ease;
}
.msp-theme .product-wrap .product:hover {
    transform: translateY(-3px);
}
.msp-theme .product-media {
    background: var(--msp-bg);
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    margin: 0;
    border-radius: var(--msp-radius);
}
.msp-theme .product-media > a {
    display: block;
    height: 100%;
}
.msp-theme .product-media img,
.msp-theme .section-home-products .product-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    transition: transform .5s ease;
}
.msp-theme .product-wrap .product:hover .product-media img {
    transform: scale(1.04);
}
.msp-theme .product-details {
    padding: 14px 4px 18px;
    text-align: left;
}
.msp-theme .product-wrap .product-brand,
.msp-theme .product-wrap .product-details .product-brand {
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
    font-size: 12px;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: var(--msp-muted);
    margin: 0 0 4px;
}
.msp-theme .product-wrap .product-name {
    margin: 0 0 8px;
    min-height: 40px;
}
.msp-theme .product-wrap .product-name a {
    font-family: var(--msp-font) !important;
    font-weight: 600 !important;
    font-size: 16px;
    line-height: 1.3;
    text-transform: none;
    color: var(--msp-ink);
}
.msp-theme .product-wrap .product-name a:hover {
    color: var(--msp-sage);
}
.msp-theme .product-footer {
    display: block;
}
.msp-theme .product-wrap .product-price {
    text-align: left !important;
    margin: 0;
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
    font-size: 19px;
    color: var(--msp-sage-dark);
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}
.msp-theme .product-wrap .product-price .price {
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
}
.msp-theme .product-wrap .product-price del,
.msp-theme .product-wrap .old-price,
.msp-theme .product-wrap del {
    font-family: var(--msp-font) !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    color: #77716b !important;
}
.msp-theme .product-label-group {
    position: absolute;
    left: 12px;
    top: 12px;
    z-index: 2;
}
.msp-theme .product-label,
.msp-theme .product-label.label-sale {
    display: inline-block;
    background: var(--msp-sale);
    color: #fff;
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
    font-size: 13px;
    padding: 4px 10px;
    border-radius: 20px;
    line-height: 1.1;
}
.msp-theme .product-label-group .product-label {
    margin-right: 6px;
}
/* vendita online spenta (flag shop_sales_status): niente pulsanti di acquisto nelle card */
.msp-sales-off .product-action,
.msp-sales-off .product-hide-details,
.msp-sales-off .add-to-cart-fast {
    display: none !important;
}
.msp-product-carousel .owl-stage {
    display: flex;
}
.msp-product-carousel .owl-item {
    display: flex;
}
.msp-product-carousel .owl-item > .product-wrap {
    width: 100%;
    margin-bottom: 0;
}
.msp-theme .msp-product-carousel {
    padding-bottom: 10px;
}
.msp-theme .msp-product-carousel .owl-nav .owl-prev,
.msp-theme .msp-product-carousel .owl-nav .owl-next {
    width: 46px;
    height: 46px;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--msp-ink) !important;
    box-shadow: 0 6px 18px rgba(47, 62, 57, .14);
    font-size: 20px !important;
    top: 38%;
}
.msp-theme .msp-product-carousel .owl-nav .owl-prev:hover,
.msp-theme .msp-product-carousel .owl-nav .owl-next:hover {
    background: var(--msp-sage) !important;
    color: #fff !important;
}
.msp-theme .msp-product-carousel .owl-nav .owl-prev {
    left: -22px;
}
.msp-theme .msp-product-carousel .owl-nav .owl-next {
    right: -22px;
}
.msp-theme .owl-theme .owl-dots .owl-dot.active span {
    background-color: var(--msp-sage);
    border-color: var(--msp-sage);
}

/* ------------------------------------------------------------- liste prodotti / filtri */
.msp-theme .breadcrumb {
    padding-top: 22px !important;
    padding-bottom: 6px;
}
.msp-theme .breadcrumb li,
.msp-theme .breadcrumb li a {
    font-size: 13px;
    letter-spacing: .3px;
    color: var(--msp-muted);
}
.msp-theme .breadcrumb li a:hover {
    color: var(--msp-ink);
}
.msp-theme .breadcrumb li:last-child {
    color: var(--msp-ink) !important;
    font-weight: 600;
}
.msp-theme .shop-page {
    margin-top: 10px;
}
.msp-theme .toolbox {
    border-bottom: 1px solid var(--msp-line);
    padding-bottom: 14px;
    margin-bottom: 22px;
}
.msp-theme .toolbox label {
    font-family: var(--msp-font-display);
    font-weight: 600;
    letter-spacing: .5px;
    font-size: 14px;
    color: var(--msp-muted);
}
.msp-theme .toolbox select,
.msp-theme .select-box select,
.msp-theme .select-menu select {
    border: 1px solid var(--msp-line);
    border-radius: 20px;
    font-family: var(--msp-font);
    font-size: 14px;
}
.msp-theme .sidebar .widget-title,
.msp-theme .product-filters-list .widget-title {
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
    text-transform: none;
    letter-spacing: .3px;
    font-size: 18px;
    color: var(--msp-ink);
    border-bottom: 1px solid var(--msp-line);
}
.msp-theme .widget-body li a,
.msp-theme .widget-body label {
    font-size: 15px;
}
.msp-theme input[type="checkbox"] {
    border-radius: 4px;
    color: #c4bdb5 !important;
}
.msp-theme input[type="checkbox"]:checked {
    color: var(--msp-sage) !important;
}
.msp-theme input[type="checkbox"]::before {
    box-shadow: inset 1em 1em var(--msp-sage) !important;
    background-color: var(--msp-sage);
}
.msp-theme .pagination .page-link {
    border-radius: 50%;
    font-weight: 600;
}
.msp-theme .active > .page-link,
.msp-theme .page-item.active .page-link {
    background: var(--msp-sage);
    border-color: var(--msp-sage);
    color: #fff !important;
}
.msp-subcats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 6px 0 24px;
}
.msp-subcats a {
    display: inline-block;
    padding: 9px 18px;
    border: 1px solid var(--msp-line);
    border-radius: 40px;
    font-weight: 600;
    font-size: 14px;
    color: var(--msp-ink);
    background: #fff;
    transition: all .2s;
}
.msp-subcats a:hover {
    background: var(--msp-sage);
    border-color: var(--msp-sage);
    color: #fff;
}

/* ------------------------------------------------------------- dettaglio prodotto */
.msp-theme .product-single {
    margin-top: 10px;
}
.msp-theme .product-single .product-gallery {
    background: var(--msp-bg);
    border-radius: var(--msp-radius);
    overflow: hidden;
}
.msp-theme .product-single .product-brand {
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--msp-sage);
    font-size: 14px;
}
.msp-theme .product-single .product-name {
    font-family: var(--msp-font-display) !important;
    font-weight: 500 !important;
    font-size: 42px;
    line-height: 1.1;
    text-transform: none;
    color: var(--msp-ink);
    margin-bottom: 14px;
}
.msp-theme .product-single .product-subtitle {
    color: var(--msp-muted);
}
.msp-theme .product-single .product-price .new-price,
.msp-theme .product-single .product-price .price-value {
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
    font-size: 34px;
    color: var(--msp-sage-dark);
}
.msp-theme .product-single .product-price .font24 {
    font-family: var(--msp-font-display) !important;
    font-size: 28px !important;
}
.msp-theme .product-single .old-price {
    color: #77716b !important;
    font-size: 20px !important;
}
.msp-theme .product-single .short-description p {
    font-size: 17px;
}
.msp-theme .product-single .product-label-group {
    left: 18px;
    top: 18px;
}
.msp-product-cta {
    margin-top: 26px;
    padding: 24px;
    background: var(--msp-pink-soft);
    border-radius: var(--msp-radius);
}
.msp-product-cta h4 {
    margin: 0 0 6px;
    font-size: 22px;
}
.msp-product-cta h4::after {
    content: ".";
    color: var(--msp-pink-dark);
    font-weight: 700;
}
.msp-product-cta p {
    margin: 0 0 16px;
    font-size: 15px;
}
.msp-product-cta .msp-btn {
    margin-right: 10px;
    margin-bottom: 6px;
}
.msp-product-perks {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 20px;
}
.msp-product-perks li {
    font-size: 14px;
    color: #4a4844;
}
.msp-product-perks svg {
    color: var(--msp-sage);
    width: 22px;
}
.msp-theme .product-contents h1,
.msp-theme .title-sm {
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
    text-transform: none;
}
.msp-theme .products-same-category {
    margin-top: 40px !important;
    margin-bottom: 60px !important;
}
.msp-theme .title-bg {
    font-family: var(--msp-font-display) !important;
    font-weight: 500 !important;
    font-size: 36px;
}

/* attributi (taglie) */
.msp-theme .product-single .product-variations a,
.msp-theme .product-single .product-variations button,
.msp-theme .product-single .btn-primary-outline {
    border-radius: 40px !important;
    font-weight: 600;
}
.msp-theme .btn-primary-outline.selected {
    background-color: var(--msp-sage) !important;
    border-color: var(--msp-sage) !important;
}

/* ------------------------------------------------------------- categorie/brand elenco */
.msp-theme .category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 18px;
    margin: 20px 0 70px;
}
.msp-theme .category-grid-item a {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--msp-radius);
}
.msp-theme .category-grid-item img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    transition: transform .5s;
}
.msp-theme .category-grid-item a:hover img {
    transform: scale(1.05);
}
.msp-theme .category-grid-item h4 {
    position: absolute;
    left: 12px;
    bottom: 12px;
    margin: 0 !important;
    padding: 6px 16px;
    border-radius: 30px;
    background: #fff;
    color: var(--msp-ink);
    font-size: 18px;
}
.msp-theme .section-manufacturer img {
    max-height: 90px;
    width: auto;
    opacity: .85;
    transition: all .2s;
}
.msp-theme .section-manufacturer a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 140px;
    border: 1px solid var(--msp-line);
    border-radius: var(--msp-radius);
    background: #fff;
    transition: all .2s;
}
.msp-theme .section-manufacturer a:hover {
    border-color: var(--msp-pink);
}
.msp-theme .section-manufacturer a:hover img {
    opacity: 1;
}

/* ------------------------------------------------------------- footer */
.msp-footer {
    background: var(--msp-sage-deep);
    color: #d9e2de;
    margin-top: 0;
}
.msp-footer-usp {
    background: var(--msp-pink-soft);
    color: var(--msp-ink);
}
.msp-footer-usp .msp-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding-top: 28px;
    padding-bottom: 28px;
}
.msp-usp-item {
    display: flex;
    align-items: center;
    gap: 14px;
}
.msp-usp-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #fff;
    color: var(--msp-sage);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}
.msp-usp-item strong {
    display: block;
    font-family: var(--msp-font-display);
    font-weight: 600;
    font-size: 17px;
    color: var(--msp-ink);
}
.msp-usp-item span {
    font-size: 14px;
    color: #5a5650;
}
.msp-theme .msp-footer .footer-top {
    background: var(--msp-sage-deep);
    padding: 64px 0 40px;
}
.msp-theme .msp-footer .footer-container {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
    gap: 40px;
}
.msp-theme .msp-footer .footer-column {
    width: auto;
    max-width: none;
    padding: 0;
}
.msp-theme .msp-footer .footer-subcolumn-name {
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
    text-transform: none;
    letter-spacing: .3px;
    font-size: 19px;
    color: #fff;
    margin: 0 0 18px;
}
.msp-theme .msp-footer .footer-subcolumn-name:empty {
    display: none;
}
.msp-theme .msp-footer .footer-subcolumn-name::after {
    content: ".";
    color: var(--msp-pink);
    font-weight: 700;
}
.msp-theme .msp-footer .footer-logo {
    width: 190px;
    height: auto;
    max-width: 100%;
    margin-bottom: 18px;
}
.msp-theme .msp-footer .footer-subcolumn-item {
    margin-bottom: 9px;
}
.msp-theme .msp-footer a,
.msp-theme .msp-footer p {
    color: #d9e2de !important;
    font-size: 15px;
    line-height: 1.55;
}
.msp-theme .msp-footer a:hover {
    color: var(--msp-pink) !important;
}
.msp-theme .msp-footer svg {
    color: var(--msp-pink);
    width: 22px;
}
.msp-footer-social-title {
    font-family: var(--msp-font-display);
    font-weight: 600;
    color: #fff !important;
    margin: 14px 0 10px;
}
.msp-theme .msp-footer .footer-social a {
    /* style.css forza display:inline !important: senza flex l'icona SVG non è centrata nel cerchio */
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .25);
    margin-right: 8px;
}
.msp-theme .msp-footer .footer-social a svg {
    width: auto;
    vertical-align: 0 !important;
    color: #fff;
    font-size: 16px;
}
.msp-theme .msp-footer .footer-social a:hover {
    background: var(--msp-pink);
    border-color: var(--msp-pink);
}
.msp-theme .msp-footer .footer-social a:hover svg {
    color: var(--msp-ink);
}
.msp-theme .msp-footer .footer-bottom {
    background: #2c3c36;
    padding: 18px 0;
}
.msp-theme .msp-footer .footer-bottom .msp-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    font-size: 13px;
    color: #b7c4bf;
}
.msp-theme .msp-footer .footer-bottom a {
    font-size: 13px;
    color: #d9e2de !important;
}

/* ------------------------------------------------------------- pagine statiche */
.msp-about-intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    padding: 70px 0;
}
.msp-about-intro h2 {
    font-size: 44px;
    font-weight: 500;
    line-height: 1.1;
}
.msp-about-intro h2 span {
    color: var(--msp-sage);
}
.msp-about-intro p {
    font-size: 17px;
}
.msp-about-img {
    border-radius: var(--msp-radius);
    overflow: hidden;
}
.msp-about-img img {
    width: 100%;
    display: block;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: 35% center;
}
.msp-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 30px;
}
.msp-stat {
    border-left: 3px solid var(--msp-pink);
    padding: 6px 0 6px 16px;
}
.msp-stat strong {
    display: block;
    font-family: var(--msp-font-display);
    font-weight: 600;
    font-size: 36px;
    line-height: 1;
    color: var(--msp-sage-dark);
}
.msp-stat span {
    font-size: 14px;
    color: var(--msp-muted);
}
.msp-values {
    background: var(--msp-cream);
    padding: 70px 0;
}
.msp-values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.msp-value {
    background: #fff;
    border-radius: var(--msp-radius);
    padding: 30px 26px;
}
.msp-value svg {
    display: block;
    font-size: 26px;
    color: var(--msp-sage);
    margin-bottom: 16px;
}
.msp-value h3 {
    font-size: 21px;
    margin: 0 0 10px;
}
.msp-value p {
    margin: 0;
    font-size: 15px;
}
.msp-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}
.msp-tags span {
    padding: 8px 18px;
    border-radius: 40px;
    background: var(--msp-pink-soft);
    color: var(--msp-ink);
    font-family: var(--msp-font-display);
    font-weight: 600;
    font-size: 14px;
}
.msp-text-accent {
    color: var(--msp-sage);
    font-weight: 700;
}

/* form */
.msp-theme input[type=text],
.msp-theme input[type=email],
.msp-theme input[type=tel],
.msp-theme input[type=password],
.msp-theme textarea,
.msp-theme select {
    border-radius: 10px;
    font-family: var(--msp-font);
}
.msp-theme input:focus,
.msp-theme textarea:focus,
.msp-theme select:focus {
    border-color: var(--msp-sage) !important;
    outline: none;
}

/* loader + scroll top */
.msp-theme .three-quarters-loader {
    border-color: var(--msp-sage) var(--msp-sage) var(--msp-sage) transparent !important;
}
.msp-theme .scroll-top {
    background: var(--msp-sage);
    color: #fff;
}
.msp-theme .scroll-top svg circle {
    stroke: var(--msp-pink) !important;
}

/* menu mobile */
.msp-theme .mobile-menu-container {
    background: var(--msp-cream);
    padding: 40px 30px;
}
.msp-theme .mobile-menu-container .logo img {
    height: 56px;
    width: auto;
}
.msp-theme .mobile-menu li a {
    font-family: var(--msp-font-display) !important;
    font-weight: 600 !important;
    text-transform: none;
    font-size: 21px;
    color: var(--msp-ink);
    padding: 13px 0;
}
.msp-theme .mobile-menu li ul li a {
    font-family: var(--msp-font) !important;
    font-weight: 500 !important;
    font-size: 16px;
    color: #5a5650;
    padding: 9px 0 9px 14px;
}
.msp-theme .mobile-menu li.evidence-menu-link > a {
    color: var(--msp-sale);
}
.msp-theme .mobile-menu-close {
    top: 30px;
    right: 30px;
}
.msp-theme .mobile-menu-close svg {
    font-size: 30px;
    color: var(--msp-ink);
}

/* pagine legali */
.msp-legal .msp-container {
    max-width: 960px;
}
.msp-legal h3,
.msp-legal h4 {
    margin: 30px 0 12px;
}
.msp-legal h3 {
    font-size: 28px;
}
.msp-legal h4 {
    font-size: 20px;
}
.msp-legal p,
.msp-legal li {
    font-size: 16px;
    line-height: 1.7;
    color: #4a4844;
}
.msp-legal a {
    color: var(--msp-sage);
    text-decoration: underline;
}

/* ------------------------------------------------------------- correzioni puntuali */
.msp-theme .product-wrap .product-details > *,
.msp-theme .product-wrap .product-name,
.msp-theme .product-wrap .product-brand {
    text-align: left !important;
}
.msp-theme .product-wrap .product-name .product-brand {
    display: block;
}
.msp-theme .product-wrap .product-subtitle {
    font-size: 13px;
    color: var(--msp-muted);
    margin: -4px 0 8px;
    text-transform: none;
}
.msp-theme .product-slider-arrow {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 0;
    background: rgba(255, 255, 255, .92);
    color: var(--msp-ink);
    box-shadow: 0 4px 12px rgba(47, 62, 57, .12);
    opacity: 0;
    transition: opacity .2s, background .2s;
}
.msp-theme .product-wrap .product:hover .product-slider-arrow {
    opacity: 1;
}
.msp-theme .product-slider-arrow:hover {
    background: var(--msp-pink);
}
.msp-theme .product-slider-arrow i {
    color: inherit;
    font-size: 12px;
}
.msp-product-info {
    margin: 30px 0 20px;
    padding-top: 40px;
    border-top: 1px solid var(--msp-line);
}
.msp-product-info-title {
    font-size: 24px;
    margin: 0 0 16px;
}
.msp-product-info .short-description p {
    font-size: 17px;
    line-height: 1.7;
}
.msp-specs {
    width: 100%;
    border-collapse: collapse;
}
.msp-specs th,
.msp-specs td {
    padding: 11px 14px;
    border-bottom: 1px solid var(--msp-line);
    font-size: 15px;
    text-align: left;
}
.msp-specs th {
    width: 38%;
    font-family: var(--msp-font-display);
    font-weight: 600;
    color: var(--msp-muted);
    background: var(--msp-cream);
}
.msp-theme .product-single .product-code,
.msp-theme .product-single .product-available {
    font-size: 14px;
}
.msp-container.msp-about-intro {
    padding: 70px 24px;
}
.msp-style-tile-sub {
    display: none;
}
.msp-style-grid-light {
    grid-template-columns: repeat(3, 1fr);
}
.msp-theme .msp-footer .msp-usp-icon {
    font-size: 20px;
    color: var(--msp-sage);
}
.msp-theme .product-wrap h3.product-name {
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: 0;
}
.msp-theme .product-wrap .product-price {
    line-height: 1.2;
}
.msp-theme .product-wrap p.product-subtitle {
    line-height: 1.3;
}

/* ------------------------------------------------------------- responsive */
@media (max-width: 1399px) {
    .msp-cat-grid,
    .msp-style-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .msp-brand-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    .msp-navbar .menu > li > a {
        padding: 16px 13px;
        font-size: 14px;
    }
}
@media (max-width: 1199px) {
    .msp-topbar-center {
        display: none;
    }
    .msp-header-actions .msp-action-social {
        display: none;
    }
    .msp-theme .msp-hero .home-slide .banner-title {
        font-size: 60px;
    }
    .msp-promo-title {
        font-size: 56px;
    }
    .msp-theme .msp-footer .footer-container {
        grid-template-columns: 1fr 1fr;
    }
    .msp-values-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 991px) {
    .msp-topbar-left {
        display: none;
    }
    .msp-topbar .msp-container {
        justify-content: center;
    }
    .msp-navbar {
        display: none;
    }
    .msp-icon-btn {
        display: block;
    }
    .msp-header-main > .msp-container {
        min-height: 76px;
        gap: 16px;
        justify-content: space-between;
    }
    .msp-theme .msp-logo img {
        height: 48px;
    }
    .msp-search {
        display: none;
    }
    .msp-mobile-search {
        display: block;
    }
    .msp-header-actions {
        gap: 16px;
    }
    .msp-action span {
        display: none;
    }
    .msp-hero .banner-slider .banner > figure img {
        height: 460px;
        object-position: 80% center;
    }
    .msp-theme .msp-hero .home-slide .banner-content {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }
    .msp-theme .msp-hero .home-slide .banner-title {
        font-size: 50px;
    }
    .msp-hero .owl-dots-line .owl-dots-container {
        padding-left: 30px;
    }
    .msp-promo-content {
        padding-left: 24px;
    }
    .msp-promo-bg::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(247, 236, 233, .78);
    }
    .msp-store .msp-container,
    .msp-about-intro {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .msp-footer-usp .msp-container {
        grid-template-columns: 1fr 1fr;
    }
    .msp-theme .product-single .product-name {
        font-size: 34px;
    }
}
@media (max-width: 767px) {
    .msp-container,
    .msp-theme .mini-container {
        padding-left: 16px;
        padding-right: 16px;
    }
    .msp-section {
        padding: 48px 0;
    }
    .msp-title {
        font-size: 32px;
    }
    .msp-section-head {
        flex-direction: column;
        align-items: flex-start;
    }
    .msp-section-head-center {
        align-items: center;
    }
    .msp-cat-grid,
    .msp-style-grid,
    .msp-style-grid-light {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .msp-cat-tile-name {
        font-size: 18px;
    }
    .msp-style-tile-name {
        font-size: 14px;
        padding: 6px 14px;
    }
    .msp-cat-tile-sub,
    .msp-cat-tile-cta {
        display: none;
    }
    .msp-brand-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .msp-hero .banner-slider .banner > figure img {
        height: 560px;
        object-position: 80% top;
    }
    .msp-hero .banner-slider .banner > figure::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(0deg, rgba(250, 246, 242, .97) 44%, rgba(250, 246, 242, 0) 78%);
    }
    .msp-theme .msp-hero .home-slide .banner-content {
        top: auto !important;
        bottom: 64px;
        transform: none !important;
        padding: 0 20px !important;
    }
    .msp-theme .msp-hero .home-slide .banner-title {
        font-size: 40px;
    }
    .msp-theme .msp-hero .home-slide .banner-description {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .msp-hero .owl-dots-line .owl-dots-container {
        padding-left: 20px;
        bottom: 26px;
    }
    .msp-promo {
        min-height: 460px;
    }
    .msp-promo-title {
        font-size: 44px;
    }
    .msp-footer-usp .msp-container,
    .msp-theme .msp-footer .footer-container {
        grid-template-columns: 1fr;
    }
    .msp-theme .msp-footer .footer-bottom .msp-container {
        flex-direction: column;
        text-align: center;
    }
    .msp-theme .msp-page-hero .page-title {
        font-size: 34px;
    }
    .msp-page-hero::before {
        width: 140px;
        height: 220px;
        right: -20px;
    }
    .msp-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    .msp-values-grid {
        grid-template-columns: 1fr;
    }
    .msp-product-perks {
        grid-template-columns: 1fr;
    }
    .msp-theme .product-wrap .product-name a {
        font-size: 14px;
    }
    .msp-theme .product-wrap .product-price {
        font-size: 17px;
    }
    .msp-container.msp-about-intro {
        padding: 40px 16px;
    }
    .msp-theme .msp-footer .footer-column,
    .msp-theme .msp-footer .footer-subcolumn {
        text-align: left;
    }
}

/* voce Promo (evidenza): pallino rosa a sinistra, stabile anche in hover */
.msp-navbar .menu > li.evidence-menu-link > a {
    display: inline-flex;
    align-items: center;
}
.msp-theme .msp-navbar .menu > li.evidence-menu-link > a::before,
.msp-theme .msp-navbar .menu > li.evidence-menu-link:hover > a::before {
    content: "%" !important;
    position: static !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50%;
    background: var(--msp-pink) !important;
    color: var(--msp-sale) !important;
    font-family: var(--msp-font-display) !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    vertical-align: middle;
}

/* ------------------------------------------------------------- icone SVG (faIcon di core) */
.msp-theme svg[class*="fa-"] {
    flex-shrink: 0;
}
.msp-header .search-container .msp-search-btn {
    border: 0;
    cursor: pointer;
    padding: 0;
}
.msp-usp-icon svg {
    font-size: 22px;
}
.msp-theme .msp-footer svg,
.msp-store-info svg,
.msp-product-perks svg {
    margin-right: 6px;
}
.msp-theme .msp-footer .footer-social a svg {
    margin-right: 0;
}
.msp-value svg {
    display: block;
}
/* frecce generate dal JS della libreria con <i class="fa fa-chevron-*"> (Font Awesome non è caricato) */
.msp-theme .product-slider-arrow i,
.msp-theme .owl-nav i.fa-chevron-left,
.msp-theme .owl-nav i.fa-chevron-right {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
    margin-left: -3px;
}
.msp-theme .product-slider-arrow.prev i,
.msp-theme .owl-nav i.fa-chevron-left {
    transform: rotate(-135deg);
    margin-left: 3px;
}
.msp-theme .msp-icon-btn svg {
    font-size: 24px;
}

/* icone che il JS della libreria cambia sostituendo le classi di un <i> (checkbox/radio dell'albero categorie,
   chevron dei filtri, occhio password, +/-): disegnate con le SVG di core come maschera, colore = currentColor */
.msp-theme i:is(.fa-square, .fa-check-square, .fa-circle, .fa-circle-check, .fa-chevron-up, .fa-chevron-down, .fa-eye, .fa-eye-slash, .fa-plus, .fa-minus) {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: var(--msp-icon) center / contain no-repeat;
    mask: var(--msp-icon) center / contain no-repeat;
}
.msp-theme i.fa-square { --msp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M384 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l320 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z'/%3E%3C/svg%3E"); }
.msp-theme i.fa-check-square { --msp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM308.4 212.7l-80 128c-4.2 6.7-11.4 10.9-19.3 11.3s-15.5-3.2-20.2-9.6l-48-64c-8-10.6-5.8-25.6 4.8-33.6s25.6-5.8 33.6 4.8l27 36 61.4-98.3c7-11.2 21.8-14.7 33.1-7.6s14.7 21.8 7.6 33.1z'/%3E%3C/svg%3E"); }
.msp-theme i.fa-circle { --msp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M464 256a208 208 0 1 0 -416 0 208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0z'/%3E%3C/svg%3E"); }
.msp-theme i.fa-circle-check { --msp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm84.4-299.3l-80 128c-4.2 6.7-11.4 10.9-19.3 11.3s-15.5-3.2-20.2-9.6l-48-64c-8-10.6-5.8-25.6 4.8-33.6s25.6-5.8 33.6 4.8l27 36 61.4-98.3c7-11.2 21.8-14.7 33.1-7.6s14.7 21.8 7.6 33.1z'/%3E%3C/svg%3E"); }
.msp-theme i.fa-chevron-up { --msp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M201.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 173.3 54.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z'/%3E%3C/svg%3E"); }
.msp-theme i.fa-chevron-down { --msp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M201.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 338.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E"); }
.msp-theme i.fa-eye { --msp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M288 32c-80.8 0-145.5 36.8-192.6 80.6-46.8 43.5-78.1 95.4-93 131.1-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64-11.5 0-22.3-3-31.7-8.4-1 10.9-.1 22.1 2.9 33.2 13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-12.2-45.7-55.5-74.8-101.1-70.8 5.3 9.3 8.4 20.1 8.4 31.7z'/%3E%3C/svg%3E"); }
.msp-theme i.fa-eye-slash { --msp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M41-24.9c-9.4-9.4-24.6-9.4-33.9 0S-2.3-.3 7 9.1l528 528c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-96.4-96.4c2.7-2.4 5.4-4.8 8-7.2 46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6-56.8 0-105.6 18.2-146 44.2L41-24.9zM204.5 138.7c23.5-16.8 52.4-26.7 83.5-26.7 79.5 0 144 64.5 144 144 0 31.1-9.9 59.9-26.7 83.5l-34.7-34.7c12.7-21.4 17-47.7 10.1-73.7-13.7-51.2-66.4-81.6-117.6-67.9-8.6 2.3-16.7 5.7-24 10l-34.7-34.7zM325.3 395.1c-11.9 3.2-24.4 4.9-37.3 4.9-79.5 0-144-64.5-144-144 0-12.9 1.7-25.4 4.9-37.3L69.4 139.2c-32.6 36.8-55 75.8-66.9 104.5-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6 37.3 0 71.2-7.9 101.5-20.6l-64.2-64.2z'/%3E%3C/svg%3E"); }
.msp-theme i.fa-plus { --msp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M256 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 160-160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0 0 160c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160 160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0 0-160z'/%3E%3C/svg%3E"); }
.msp-theme i.fa-minus { --msp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z'/%3E%3C/svg%3E"); }
.msp-theme .tree-check i.fa-check-square,
.msp-theme .tree-radio i.fa-circle-check,
.msp-theme .tree-default-radio i.fa-circle-check { color: var(--msp-sage); }
