/* AbilityArt mobile shell. Deliberately scoped below the legacy desktop breakpoint. */
@media (max-width: 767.98px) {
    :root {
        --aa-mobile-red: #de5633;
        --aa-mobile-text: #3b3434;
        --aa-mobile-line: #eee2dd;
        --aa-mobile-soft: #fbf3ef;
        --aa-mobile-bottom-nav-height: 64px;
        --aa-mobile-header-height: 69px;
    }

    html.aa-mobile-scroll-locked,
    body.aa-mobile-scroll-locked {
        overflow: hidden;
    }

    body {
        padding-bottom: calc(var(--aa-mobile-bottom-nav-height) + env(safe-area-inset-bottom));
    }

    #newsletter-bar-template {
        display: none !important;
    }

    /* Keep the mandatory legal footer while retaining the compact mobile footer. */
    section#footer { display: block !important; }
    section#footer > .bg-rosso.py-7 { display: none !important; }
    section#footer #footer-end {
        display: block !important;
        margin: 0;
        padding: 14px 0 calc(14px + var(--aa-mobile-bottom-nav-height)) !important;
        background: #3b3434;
    }
    section#footer #footer-end .mobile > ul:first-child { margin: 0 !important; padding: 0 18px 8px !important; }
    section#footer #footer-end .mobile > ul:first-child li:first-child { display: none !important; }
    section#footer #footer-end .mobile > ul:first-child li { min-height: 24px; padding: 0 !important; }
    section#footer #footer-end .mobile > ul.list-inline {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        margin: 0 !important;
        padding: 0 18px !important;
    }
    section#footer #footer-end .mobile > ul.list-inline > li {
        display: flex;
        min-width: 0;
        min-height: 38px;
        align-items: center;
        margin: 0 !important;
        padding: 0 9px !important;
        border-top: 1px solid rgba(255,255,255,.16) !important;
    }
    section#footer #footer-end .mobile > ul.list-inline > li:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.16) !important; }
    section#footer #footer-end .mobile > ul.list-inline > li a {
        width: 100%;
        color: #f1edec;
        font-size: 11px;
        font-weight: 500;
        line-height: 1.2;
        text-align: left !important;
    }
    section#footer .space-bar-bottom,
    section#footer .space-bar-bottom-purchase { display: none !important; }

    /* On pages without a fixed purchase CTA, the footer itself reserves the space
       under the bottom nav. This keeps the legal footer compact and avoids a gap. */
    @supports selector(body:has(*)) {
        body:not(:has(.aa-pdp-sticky-add-cart, .aa-giftcard-mobile__sticky-bar)) {
            padding-bottom: 0 !important;
        }
    }

    .aa-mobile-header__main {
        padding: 7px 0 !important;
        border-bottom: 1px solid var(--aa-mobile-line);
        background: #fff;
    }

    .aa-mobile-header__nav {
        min-height: 54px;
        flex-wrap: nowrap;
    }

    .aa-mobile-header__logo {
        margin: 0 auto 0 0;
        max-width: min(48vw, 152px);
    }

    .aa-mobile-header__logo img {
        display: block;
        width: 100%;
        height: auto;
    }

    .aa-mobile-header__controls {
        gap: 7px;
        flex: 0 0 auto;
    }

    .aa-mobile-header__controls .contenitore-hamburger {
        width: auto;
        height: auto;
        transform: none;
    }

    .aa-mobile-header__button,
    .aa-mobile-header .icon-headershop .shop-icon {
        display: inline-flex;
        width: 34px !important;
        height: 34px !important;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 50%;
        background: var(--aa-mobile-red);
        color: #fff;
        padding: 0;
    }

    .aa-mobile-header__button.aa-mobile-header__button--menu {
        gap: 2px;
    }

    .aa-mobile-header__button.aa-mobile-header__button--menu .icon-bar {
        width: 15px;
        height: 1.5px;
        margin: 0 !important;
        background: #fff;
    }

    .aa-mobile-header__button--menu {
        flex-direction: column;
    }

    .aa-mobile-header__icon {
        width: 20px;
        height: 20px;
        fill: none;
        stroke: #fff;
        stroke-width: 1.75;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .aa-mobile-header__icon--cart {
        width: 21px;
        height: 21px;
        stroke-width: 1.55;
    }

    .aa-mobile-header .icon-headershop {
        margin-left: 0;
    }

    .aa-mobile-header .icon-headershop .shop-icon {
        position: relative;
    }

    /* M8A2: shared category shortcuts and semantic back route. */
    .aa-mobile-quick-categories {
        padding: 12px 12px 8px;
        overflow-x: auto;
        border-bottom: 1px solid #f3f0ef;
        background: #fff;
        scrollbar-width: none;
        scroll-snap-type: x proximity;
    }

    .aa-mobile-quick-categories::-webkit-scrollbar { display: none; }
    .aa-mobile-quick-categories__list {
        display: flex;
        width: max-content;
        min-width: 100%;
        gap: 10px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .aa-mobile-quick-categories__item {
        flex: 0 0 58px;
        min-width: 58px;
        margin: 0;
        text-align: center;
        scroll-snap-align: start;
    }

    .aa-mobile-quick-categories__item > ul { display: none; }
    .aa-mobile-quick-categories__item > a {
        display: block;
        color: var(--aa-mobile-text);
        font-size: 9px;
        font-weight: 400;
        line-height: 1.15;
        text-decoration: none;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .aa-mobile-quick-categories--tree .aa-mobile-quick-categories__item,
    .aa-mobile-quick-categories--tree .aa-mobile-quick-categories__item > ul { display: contents !important; }
    .aa-mobile-quick-categories--tree .aa-mobile-quick-categories__branch { display: none; }
    .aa-mobile-quick-categories--tree .aa-mobile-quick-categories__item > a { flex: 0 0 58px; min-width: 58px; text-align: center; scroll-snap-align: start; }

    .aa-mobile-quick-categories__image {
        display: flex;
        width: 48px;
        height: 48px;
        align-items: center;
        justify-content: center;
        margin: 0 auto 6px;
        border: 2px solid #fff;
        border-radius: 50%;
        background: #f6f1ef;
        overflow: hidden;
        box-shadow: 0 3px 12px rgba(59, 52, 52, .14);
        color: var(--aa-mobile-red);
        font-size: 23px;
        font-weight: 400;
    }

    .aa-mobile-quick-categories__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .aa-mobile-quick-categories__label { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

    .aa-mobile-backbar { background: #94cfc4; }
    .aa-mobile-backbar__link {
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 47px;
        padding: 14px 18px;
        color: #fff;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.2;
        text-decoration: none;
    }

    .aa-mobile-backbar__link:hover { color: #fff; text-decoration: none; }
    .aa-mobile-backbar__icon { margin-top: -2px; font-size: 22px; line-height: 1; }

    .aa-category-mobile__title,
    .aa-product-detail-mobile__backbar,
    .aa-giftcard-mobile__title { display: none !important; }

    .aa-mobile-header .badge.hamburger {
        right: -5px;
        top: -6px;
        min-width: 17px;
        min-height: 17px;
        padding: 1px 4px;
        border: 1px solid #fff;
        border-radius: 999px;
        background: var(--aa-mobile-red);
        box-shadow: 0 2px 5px rgba(126, 45, 27, .28);
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        line-height: 1.25;
    }

    .aa-mobile-menu__backdrop {
        position: fixed;
        inset: 0;
        z-index: 1040;
        display: block !important;
        visibility: hidden;
        opacity: 0;
        background: rgba(37, 30, 28, .38);
        transition: opacity .2s ease, visibility .2s ease;
    }

    .aa-mobile-menu__backdrop.is-active {
        visibility: visible;
        opacity: 1;
    }

    #navbarSupportedContent.aa-mobile-menu {
        position: fixed;
        inset: 0 0 0 auto;
        z-index: 1050;
        width: min(390px, 90vw);
        height: 100dvh;
        margin: 0;
        padding: 0;
        overflow: hidden;
        border-radius: 26px 0 0 26px;
        background: #fff;
        box-shadow: -20px 0 42px rgba(35, 28, 25, .18);
        transform: translateX(100%);
        transition: transform .24s ease;
    }

    #navbarSupportedContent.aa-mobile-menu.show {
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto;
        transform: translateX(0);
    }

    .aa-mobile-menu__panel-head {
        min-height: 86px;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 18px 18px 14px;
        border-bottom: 1px solid var(--aa-mobile-line);
        background: #fff;
    }

    .aa-mobile-menu__logo {
        display: block;
        width: 182px;
        max-width: 100%;
    }

    .aa-mobile-menu__logo img {
        display: block;
        width: 100%;
        height: auto;
    }

    .aa-mobile-menu__close {
        display: inline-flex;
        width: 48px;
        height: 48px;
        flex: 0 0 48px;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 50%;
        background: var(--aa-mobile-soft);
        padding: 0 !important;
        color: var(--aa-mobile-red);
    }

    .aa-mobile-menu__close svg {
        width: 25px;
        height: 25px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-width: 2;
    }

    .aa-mobile-menu__body {
        grid-row: 2;
        align-self: stretch;
        height: 100%;
        max-height: 100%;
        min-height: 0;
        margin: 0 !important;
        padding: 14px 18px 18px !important;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .aa-mobile-menu__body .nav-item {
        margin: 0;
    }

    .aa-mobile-menu__body ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .aa-mobile-menu__body > .nav-item {
        border-bottom: 0;
    }

    .aa-mobile-menu__section-trigger,
    .aa-mobile-menu__submenu-trigger {
        display: grid;
        width: 100%;
        border: 0;
        background: transparent;
        border-radius: 0;
        box-shadow: none;
        text-align: left;
    }

    /* Keep drawer accordions neutral: the legacy global button:hover style is
       intended for CTAs and must not turn navigation rows into orange pills. */
    #navbarSupportedContent.aa-mobile-menu .aa-mobile-menu__section-trigger:hover,
    #navbarSupportedContent.aa-mobile-menu .aa-mobile-menu__section-trigger:focus,
    #navbarSupportedContent.aa-mobile-menu .aa-mobile-menu__section-trigger:active,
    #navbarSupportedContent.aa-mobile-menu .aa-mobile-menu__submenu-trigger:hover,
    #navbarSupportedContent.aa-mobile-menu .aa-mobile-menu__submenu-trigger:focus,
    #navbarSupportedContent.aa-mobile-menu .aa-mobile-menu__submenu-trigger:active,
    #navbarSupportedContent.aa-mobile-menu .aa-mobile-menu__submenu-trigger[aria-expanded="true"] {
        background: transparent !important;
        border-radius: 0;
        box-shadow: none;
        color: var(--aa-mobile-red);
        text-decoration: none;
    }

    .aa-mobile-menu__section-trigger {
        grid-template-columns: minmax(0, 1fr) 40px;
        min-height: 46px;
        align-items: center;
        gap: 10px;
        padding: 2px 0;
        color: var(--aa-mobile-red);
        font-size: 16px;
        font-weight: 800;
        line-height: 1.1;
    }

    .aa-mobile-menu__submenu-trigger {
        grid-template-columns: minmax(0, 1fr) 40px;
        min-height: 48px;
        align-items: center;
        gap: 10px;
        padding: 4px 0 4px 22px;
        border-bottom: 0;
        color: var(--aa-mobile-red);
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
    }

    .aa-mobile-menu__circle-chevron {
        display: inline-flex;
        width: 40px;
        height: 40px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--aa-mobile-soft);
        color: var(--aa-mobile-red);
        transition: transform .2s ease;
    }

    .aa-mobile-menu__circle-chevron svg {
        width: 19px;
        height: 19px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 2;
    }

    .aa-mobile-menu__circle-chevron--small {
        width: 40px;
        height: 40px;
    }

    .aa-mobile-menu [aria-expanded="true"] > .aa-mobile-menu__circle-chevron {
        transform: rotate(180deg);
    }

    .aa-mobile-menu__panel {
        display: block;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transition: max-height .32s cubic-bezier(.22,.61,.36,1), opacity .2s ease;
    }

    .aa-mobile-menu__panel.is-open {
        max-height: 1600px;
        opacity: 1;
    }

    .aa-mobile-menu__section-trigger + ul:not(.aa-mobile-menu__panel) {
        display: block;
    }

    .aa-mobile-menu__submenu-trigger + ul:not(.aa-mobile-menu__panel) {
        display: none;
    }

    .aa-mobile-menu__section-panel {
        padding: 0;
    }

    .aa-mobile-menu__body .aa-mobile-menu__submenu-panel {
        padding: 0 0 8px 22px;
    }

    .aa-mobile-menu__link {
        display: flex;
        align-items: center;
        color: var(--aa-mobile-text) !important;
        text-decoration: none !important;
    }

    #navbarSupportedContent.aa-mobile-menu .aa-mobile-menu__link:hover,
    #navbarSupportedContent.aa-mobile-menu .aa-mobile-menu__link:focus,
    #navbarSupportedContent.aa-mobile-menu .aa-mobile-menu__link:active,
    #navbarSupportedContent.aa-mobile-menu .aa-mobile-menu__link:visited,
    #navbarSupportedContent.aa-mobile-menu .aa-mobile-menu__link[aria-current="page"] {
        text-decoration: none !important;
    }

    .aa-mobile-menu__shop-link {
        min-height: 48px;
        padding: 4px 0 4px 22px !important;
        justify-content: space-between;
        border-bottom: 1px solid var(--aa-mobile-line);
        color: var(--aa-mobile-red) !important;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
    }

    .aa-mobile-menu__shop-link::after {
        color: var(--aa-mobile-red);
        content: '\2192';
        font-size: 20px;
        font-weight: 500;
    }

    .aa-mobile-menu__section-panel > .nav-item:last-child .aa-mobile-menu__shop-link {
        border-bottom: 0;
    }

    .aa-mobile-menu__subcategory-link {
        position: relative;
        min-height: 29px;
        padding: 3px 0 3px 14px !important;
        color: #625b59 !important;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.25;
        text-decoration: none !important;
    }

    .aa-mobile-menu__subcategory-link:hover,
    .aa-mobile-menu__subcategory-link:focus,
    .aa-mobile-menu__subcategory-link:active {
        background: transparent !important;
        color: var(--aa-mobile-red) !important;
        text-decoration: none !important;
    }

    .aa-mobile-menu__subcategory-link::before {
        position: absolute;
        left: 0;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: var(--aa-mobile-red);
        content: '';
    }

    .aa-mobile-menu__main-link {
        min-height: 50px;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 5px 0 5px 18px !important;
        border-top: 1px solid var(--aa-mobile-line);
        font-size: 14px;
        font-weight: 600;
        letter-spacing: .005em;
        text-decoration: none;
        text-transform: uppercase;
    }

    .aa-mobile-menu__main-link-arrow {
        color: var(--aa-mobile-red);
        font-size: 22px;
        font-weight: 400;
    }

    #navbarSupportedContent.aa-mobile-menu .aa-mobile-menu__footer {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        flex-direction: row;
        gap: 10px;
        padding: 14px 14px calc(14px + env(safe-area-inset-bottom));
        border-top: 1px solid var(--aa-mobile-line);
        background: rgba(255, 255, 255, .98);
    }

    .aa-mobile-menu__footer-link {
        display: flex;
        flex: 1 1 0;
        min-width: 0;
        min-height: 58px;
        align-items: center;
        justify-content: center;
        gap: 10px;
        border: 1px solid var(--aa-mobile-red);
        border-radius: 12px;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
        text-align: center;
        text-decoration: none !important;
        white-space: nowrap;
    }

    .aa-mobile-menu__footer-link--outline {
        color: var(--aa-mobile-red) !important;
        background: #fff;
    }

    .aa-mobile-menu__footer-link--filled {
        color: #fff !important;
        background: var(--aa-mobile-red);
    }

    .aa-mobile-menu__legacy-tools {
        display: none !important;
    }

    .aa-mobile-bottom-nav {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1030;
        display: flex !important;
        min-height: var(--aa-mobile-bottom-nav-height);
        align-items: center;
        padding-top: 0 !important;
        padding-bottom: env(safe-area-inset-bottom) !important;
        box-shadow: 0 -3px 14px rgba(59, 52, 52, .18);
    }

    .aa-mobile-bottom-nav > div {
        max-width: 470px;
        margin: 0 auto;
        width: 100%;
    }

    .aa-mobile-bottom-nav .icon-bottom-bar {
        min-width: 0;
        flex: 1 1 25%;
        gap: 3px;
        color: #fff !important;
        font-size: 9px;
        font-weight: 600;
        line-height: 1.15;
        text-align: center;
        text-decoration: none !important;
    }

    .aa-mobile-bottom-nav .icon-bottom-bar span {
        display: inline-flex;
        width: 25px;
        height: 25px;
        align-items: center;
        justify-content: center;
    }

    .aa-mobile-bottom-nav .icon-bottom-bar svg {
        width: 20px;
        height: 20px;
    }

    .aa-mobile-bottom-nav .icon-bottom-bar .whish-icon {
        width: 19px;
        height: 24px;
    }

    .aa-mobile-header .search-collapse-mobile {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        z-index: 1025;
        padding: 12px 15px 16px;
        border-top: 1px solid #f1e7e3;
        background: #fff;
        box-shadow: 0 12px 26px rgba(59, 52, 52, .14);
    }

    .aa-mobile-header .search-collapse-mobile .card-body {
        padding: 0 !important;
    }

    .aa-mobile-search-panel__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 0 0 12px; }
    .aa-mobile-search-panel__heading strong,
    .aa-mobile-search-panel__heading span { display: block; }
    .aa-mobile-search-panel__heading strong { color: var(--aa-mobile-text); font-size: 17px; font-weight: 800; line-height: 1.2; }
    .aa-mobile-search-panel__heading span { margin-top: 3px; color: #756e6b; font-size: 12px; line-height: 1.35; }
    .aa-mobile-search-panel__close { display: flex; flex: 0 0 34px; width: 34px; height: 34px; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 50%; background: #fff3ee; color: var(--aa-mobile-red); font-family: Arial,sans-serif; font-size: 23px; font-weight: 400; line-height: 1; }
    .aa-mobile-search-panel__field { display: flex; min-height: 52px; align-items: center; gap: 10px; padding: 0 15px; border: 1px solid #e9dcd6; border-radius: 15px; background: #fffaf8; }
    .aa-mobile-search-panel__field svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: var(--aa-mobile-red); stroke-linecap: round; stroke-width: 1.9; }
    .aa-mobile-search-panel__field .form-control { height: 50px; min-width: 0; margin: 0; padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--aa-mobile-text); font-size: 14px; line-height: 50px; box-shadow: none !important; }
    .aa-mobile-search-panel__field .form-control::placeholder { color: #8b8380; opacity: 1; }
    .aa-mobile-header .search-collapse-mobile #searchFrameGeneralMobile { margin-top: 12px !important; }

    /* Login/register: presentation only. Cake form IDs, names, actions and existing handlers are preserved. */
    .aa-auth-mobile { padding: 24px 18px calc(28px + var(--aa-mobile-bottom-nav-height)) !important; background: #fff; }
    .aa-auth-mobile__container { max-width: 430px; padding: 0 !important; }
    .aa-auth-mobile__grid { margin: 0 !important; }
    .aa-auth-mobile__panel { margin: 0 0 16px !important; padding: 20px 18px 18px; border: 1px solid #eee1dc; border-radius: 22px; background: #fffdfc; box-shadow: 0 7px 20px rgba(69, 43, 37, .05); }
    .aa-auth-mobile__panel--login { border-color: #f1cfc5; background: #fff8f5; }
    .aa-auth-mobile__panel--register { margin-bottom: 0 !important; }
    .aa-auth-mobile__heading { margin: 0; }
    .aa-auth-mobile__eyebrow { margin: 0 0 7px; color: var(--aa-mobile-red); font-size: 11px; font-weight: 800; letter-spacing: .09em; line-height: 1.2; text-transform: uppercase; }
    .aa-auth-mobile__heading h3 { margin: 0; color: var(--aa-mobile-text); font-size: 22px; font-weight: 800; line-height: 1.18; }
    .aa-auth-mobile__heading h3 .underline { padding: 0; border: 0; color: var(--aa-mobile-red); }
    .aa-auth-mobile__form { margin-top: 20px !important; }
    .aa-auth-mobile__form .form-group { margin-bottom: 15px !important; }
    .aa-auth-mobile__form label { display: block; margin: 0 0 7px; color: #625a57; font-size: 12px; font-weight: 700; line-height: 1.3; }
    .aa-auth-mobile__form .form-control { width: 100% !important; min-height: 52px; padding: 12px 14px !important; border: 1px solid #eaded9 !important; border-radius: 14px !important; background: #fff !important; color: var(--aa-mobile-text) !important; font-size: 15px; line-height: 1.3; box-shadow: none !important; }
    .aa-auth-mobile__form .form-control:focus { border-color: var(--aa-mobile-red) !important; box-shadow: 0 0 0 3px rgba(222, 86, 51, .12) !important; }
    .aa-auth-mobile__form .form-control::placeholder { color: #aaa19e; opacity: 1; }
    .aa-auth-mobile__form #togglePassword { right: 14px !important; bottom: 15px !important; color: var(--aa-mobile-red); }
    .aa-auth-mobile__action { display: block !important; margin-top: 20px; }
    .aa-auth-mobile__action button { width: 100%; min-height: 52px; padding: 12px 18px; border: 0; border-radius: 999px !important; background: var(--aa-mobile-red); color: #fff; font-size: 15px; font-weight: 800; line-height: 1.2; box-shadow: none; }
    .aa-auth-mobile__action button:focus { outline: 0; box-shadow: 0 0 0 3px rgba(222, 86, 51, .2); }
    .aa-auth-mobile__recovery { margin: 15px 2px 0 !important; color: var(--aa-mobile-red) !important; text-align: center !important; }
    .aa-auth-mobile__recovery small { font-size: 12px; font-weight: 700; }
    .aa-auth-mobile__recovery-form { margin-top: 16px !important; padding-top: 16px; border-top: 1px solid #eaded9; }
    .aa-auth-mobile #UserAddJsonForm .form-check { margin: 18px 0 0 !important; padding-left: 0 !important; }
    .aa-auth-mobile #UserAddJsonForm .custom-control { min-height: 26px; padding-left: 29px; }
    .aa-auth-mobile #UserAddJsonForm .custom-control + .custom-control { margin-top: 10px; }
    .aa-auth-mobile #UserAddJsonForm .custom-control-label { margin: 0; color: #6f6764; font-size: 12px; font-weight: 400; line-height: 1.45; }
    .aa-auth-mobile #UserAddJsonForm .custom-control-label::before,
    .aa-auth-mobile #UserAddJsonForm .custom-control-label::after { top: 1px; left: -29px; width: 20px; height: 20px; border-radius: 6px; }
    .aa-auth-mobile #UserAddJsonForm .custom-control-input:checked ~ .custom-control-label::before { border-color: var(--aa-mobile-red); background-color: var(--aa-mobile-red); }
    .aa-auth-mobile #errorAccount,
    .aa-auth-mobile #successAccount { margin-bottom: 16px !important; }

    /* Checkout: mobile presentation only. Existing Cake form fields, IDs and payment handlers remain untouched. */
    #checkout { margin: 0 !important; padding: 24px 18px calc(28px + var(--aa-mobile-bottom-nav-height)) !important; background: #fff; }
    #checkout > form > .container { max-width: 430px; padding: 0 !important; }
    #checkout > form > .container > .row { margin: 0 !important; }
    #checkout > form > .container > .row > .col { margin: 0 0 16px; padding: 0 !important; }
    #checkout > form > .container > .row > .col:last-child { margin-bottom: 0; }
    #checkout .contenitore { margin: 0 !important; padding: 20px 18px !important; border: 1px solid #eee1dc; border-radius: 22px; background: #fffdfc; box-shadow: 0 7px 20px rgba(69, 43, 37, .05); }
    #checkout .contenitore + .contenitore { margin-top: 16px !important; }
    #checkout .contenitore > h5 { margin: 0 !important; color: var(--aa-mobile-text); font-size: 20px; font-weight: 800; line-height: 1.2; }
    #checkout .contenitore > h6 { margin: 0 0 18px !important; color: var(--aa-mobile-red) !important; font-size: 13px; font-weight: 800 !important; letter-spacing: .04em; line-height: 1.35; text-transform: uppercase; }
    #checkout .contenitore > h6 small { display: block; margin-top: 7px; color: #756e6b; font-size: 11px; font-weight: 400; letter-spacing: 0; line-height: 1.45; text-transform: none; }
    #checkout .contenitore .like-button { display: block; width: 100%; margin: 0 !important; padding: 14px 16px !important; border: 1px solid var(--aa-mobile-red); border-radius: 999px; background: var(--aa-mobile-red); color: #fff !important; font-size: 13px; font-weight: 800; line-height: 1.2; text-align: center; text-decoration: none; }
    #checkout .contenitore .form-group { margin-bottom: 14px !important; }
    #checkout .contenitore .form-control { width: 100% !important; min-height: 52px; padding: 12px 14px !important; border: 1px solid #eaded9 !important; border-radius: 14px !important; background: #fff !important; color: var(--aa-mobile-text) !important; font-size: 15px; line-height: 1.3; box-shadow: none !important; }
    #checkout .contenitore select.form-control { padding-right: 34px !important; }
    #checkout .contenitore textarea.form-control { min-height: 108px; resize: vertical; }
    #checkout .contenitore .form-control:focus { border-color: var(--aa-mobile-red) !important; box-shadow: 0 0 0 3px rgba(222, 86, 51, .12) !important; }
    #checkout .contenitore .form-control::placeholder { color: #938a87; opacity: 1; }
    #checkout .contenitore .form-group > em:not(.d-none) { position: static !important; display: block !important; width: fit-content; max-width: 100%; margin: 7px 0 0 !important; padding: 4px 7px !important; border-radius: 7px; font-size: 11px !important; line-height: 1.3; }
    #checkout .contenitore .row { margin-right: -6px; margin-left: -6px; }
    #checkout .contenitore .row > [class*="col-"] { padding-right: 6px; padding-left: 6px; }
    #checkout .checbox-checkout { min-height: 26px; margin: 0 0 16px !important; padding: 0 0 0 29px !important; }
    #checkout .checbox-checkout .form-check-input { width: 20px; height: 20px; margin: 1px 0 0 -29px !important; accent-color: var(--aa-mobile-red); }
    #checkout .checbox-checkout .form-check-label { color: #625a57; font-size: 13px; line-height: 1.45; }
    #checkout #ExtensionSpedizione,
    #checkout #ExtensionFattura { margin: 0 0 20px !important; padding: 16px 0 0; border-top: 1px solid #eee1dc; }
    #checkout #paymentMethods,
    #checkout #paymentRAC { margin-top: 4px; }
    #checkout #paymentMethods > .form-group { margin: 0 0 16px !important; }
    #checkout .selector-checkout-icon { display: flex; min-height: 54px; align-items: center; gap: 10px; margin: 10px 0 0; padding: 10px 13px; border: 1px solid #eaded9; border-radius: 14px; background: #fff; }
    #checkout .selector-checkout-icon > span { display: inline-flex; flex: 0 0 28px; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: #fff1ec; color: var(--aa-mobile-red); }
    #checkout .selector-checkout-icon input.choice-payment { position: static !important; flex: 0 0 18px; width: 18px; height: 18px; margin: 0 !important; accent-color: var(--aa-mobile-red); }
    #checkout .selector-checkout-icon label { flex: 1 1 auto; margin: 0 !important; padding: 0 !important; color: var(--aa-mobile-text); font-size: 14px; font-weight: 700; line-height: 1.25; }
    #checkout .selector-checkout-icon:has(input.choice-payment:checked) { border-color: var(--aa-mobile-red); background: #fff8f5; }
    #checkout #checkoutCarrello { margin: 16px 0 0; padding: 20px 18px !important; border: 1px solid #f0d8d0; border-radius: 22px; background: #fff8f5; box-shadow: 0 7px 20px rgba(69, 43, 37, .05); }
    #checkout #checkoutCarrello .list-group { margin: 0; border-radius: 0; }
    #checkout #checkoutCarrello .list-group-item { min-height: 38px; padding: 10px 0; border: 0; border-bottom: 1px solid #eaded9; background: transparent; }
    #checkout #checkoutCarrello .list-group-item:last-child { padding-top: 15px; border-bottom: 0; }
    #checkout #checkoutCarrello .list-group-item p { color: #625a57; font-size: 12px; line-height: 1.35; }
    #checkout #checkoutCarrello .list-group-item:last-child p { color: var(--aa-mobile-text); font-size: 14px; font-weight: 800 !important; }
    #checkout #checkoutCarrello #text-total { color: var(--aa-mobile-red); font-size: 19px; }
    #checkout #checkoutCarrello > .form-group { margin: 16px 0 0 !important; padding-left: 29px !important; }
    #checkout #checkoutCarrello .custom-control { min-height: 26px; padding-left: 29px; }
    #checkout #checkoutCarrello .custom-control + .custom-control { margin-top: 10px; }
    #checkout #checkoutCarrello .custom-control-label { margin: 0; color: #6f6764; font-size: 12px; line-height: 1.45; }
    #checkout #checkoutCarrello .custom-control-label::before,
    #checkout #checkoutCarrello .custom-control-label::after { top: 1px; left: -29px; width: 20px; height: 20px; border-radius: 6px; }
    #checkout #checkoutCarrello .custom-control-input:checked ~ .custom-control-label::before { border-color: var(--aa-mobile-red); background-color: var(--aa-mobile-red); }
    #checkout #checkoutCarrello .form-group > em:not(.d-none) { position: static !important; display: block !important; width: fit-content; max-width: 100%; margin: 7px 0 0 !important; border-radius: 7px; font-size: 11px !important; line-height: 1.3; }
    #checkout #OrderCheckoutForm-button { width: 100%; min-height: 54px; padding: 12px 18px !important; border: 0; border-radius: 999px !important; background: var(--aa-mobile-red); color: #fff; font-size: 15px; font-weight: 800; line-height: 1.2; box-shadow: none; }
    #checkout #OrderCheckoutForm-button:focus { outline: 0; box-shadow: 0 0 0 3px rgba(222, 86, 51, .2); }
    #checkout .lista-articoli > .contenitore { display: flex; align-items: center; min-height: 104px; padding: 12px !important; }
    #checkout .lista-articoli > .contenitore .row { width: 100%; align-items: center; }
    #checkout .lista-articoli > .contenitore .composition-15 { margin: 0 12px 0 0 !important; }
    #checkout .lista-articoli > .contenitore .main-image { max-width: 72px !important; max-height: 72px !important; object-fit: contain; }
    #checkout .lista-articoli > .contenitore .py-2 { min-width: 0; padding: 0 !important; }
    #checkout .lista-articoli > .contenitore p { overflow-wrap: anywhere; color: var(--aa-mobile-text); font-size: 13px; font-weight: 600 !important; line-height: 1.35; }
    #checkout .lista-articoli > .contenitore h6 { margin: 7px 0 0; color: var(--aa-mobile-red); font-size: 16px; font-weight: 800; }

    /* Work detail: mirrors the mobile PDP hierarchy while preserving the separate artwork configurator flow. */
    .aa-work-detail-mobile__backbar h1 { margin: 0; }
    .aa-work-detail-mobile__backbar .title-porduct-mobile { display: flex; min-height: 44px; align-items: center; justify-content: center; gap: 10px; color: #fff !important; font-size: 14px; font-weight: 700; text-decoration: none; }
    .aa-work-detail-mobile__backbar .title-porduct-mobile svg { flex: 0 0 auto; width: 9px; height: 16px; }
    #sezione-prodotto.aa-work-detail-mobile { padding: 0 0 32px; overflow-x: clip; background: #fff; }
    #sezione-prodotto.aa-work-detail-mobile > .container-fluid,
    #sezione-prodotto.aa-work-detail-mobile .container-xl { padding: 0 !important; }
    #sezione-prodotto.aa-work-detail-mobile .arrow { top: min(36vw, 155px) !important; z-index: 5; display: block !important; transform: none !important; }
    #sezione-prodotto.aa-work-detail-mobile .arrow-left { left: 12px !important; }
    #sezione-prodotto.aa-work-detail-mobile .arrow-right { right: 12px !important; }
    #sezione-prodotto.aa-work-detail-mobile .arrow a > div { display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; border: 1px solid #f0ded8; border-radius: 50%; background: rgba(255, 253, 252, .94); box-shadow: 0 4px 12px rgba(69, 43, 37, .12); }
    #sezione-prodotto.aa-work-detail-mobile .arrow svg { display: none; }
    #sezione-prodotto.aa-work-detail-mobile .arrow span { display: none !important; }
    #sezione-prodotto.aa-work-detail-mobile .arrow a > div::before { width: 10px; height: 10px; border-bottom: 2px solid var(--aa-mobile-red); border-left: 2px solid var(--aa-mobile-red); content: ""; transform: rotate(45deg); }
    #sezione-prodotto.aa-work-detail-mobile .arrow-right a > div::before { transform: rotate(225deg); }
    #sezione-prodotto.aa-work-detail-mobile .container-xl > .row { margin: 0 !important; }
    #sezione-prodotto.aa-work-detail-mobile .container-xl > .row > .col { padding-right: 0; padding-left: 0; }
    #sezione-prodotto.aa-work-detail-mobile .main-image,
    #sezione-prodotto.aa-work-detail-mobile .main-image > .position-relative,
    #sezione-prodotto.aa-work-detail-mobile .main-image .composition-35,
    #sezione-prodotto.aa-work-detail-mobile .main-image .composition-35 .cont { width: 100%; height: min(78vw, 350px) !important; margin: 0 !important; }
    #sezione-prodotto.aa-work-detail-mobile .main-image .composition-35 .cont > a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; overflow: hidden; background: #fff; }
    #sezione-prodotto.aa-work-detail-mobile .main-image img.main-image { display: block; width: 100% !important; max-width: none !important; height: 100% !important; max-height: none !important; margin: 0 auto; object-fit: contain; }
    #sezione-prodotto.aa-work-detail-mobile .container-xl > .row > .col.mt-5 { margin-top: 0 !important; padding: 14px 18px 0 !important; }
    #sezione-prodotto.aa-work-detail-mobile #shareProductLinkMsgMobile { margin: 0 !important; min-height: 0; }
    #sezione-prodotto.aa-work-detail-mobile .d-flex.d-md-none.mt-2.mb-1 { min-height: 22px; margin: 0 0 8px !important; color: #756e6b; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
    #sezione-prodotto.aa-work-detail-mobile .d-flex.d-md-none.mt-2.mb-1 .share-btns { display: none !important; }
    #sezione-prodotto.aa-work-detail-mobile .product-controller { margin: 0; padding: 0 !important; border: 0 !important; background: #fff; }
    #sezione-prodotto.aa-work-detail-mobile .product-controller > .row { flex-direction: column; margin: 0; }
    #sezione-prodotto.aa-work-detail-mobile .product-controller > .row > .col-7,
    #sezione-prodotto.aa-work-detail-mobile .product-controller > .row > .col { width: 100%; max-width: 100%; padding: 0; text-align: left !important; }
    #sezione-prodotto.aa-work-detail-mobile .product-controller h5 { margin: 0 0 9px; color: var(--aa-mobile-text); font-size: 22px; font-weight: 800; line-height: 1.15; overflow-wrap: anywhere; }
    #sezione-prodotto.aa-work-detail-mobile .product-controller h4 { margin: 0 0 14px; color: var(--aa-mobile-red) !important; font-size: 22px; font-weight: 800; line-height: 1.15; text-align: left; }
    #sezione-prodotto.aa-work-detail-mobile .product-controller h4 small { display: block; margin-bottom: 3px; color: #7b7370; font-size: 11px !important; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
    #sezione-prodotto.aa-work-detail-mobile .product-controller > p.text-light-grey { width: 100% !important; margin: 0 0 5px !important; color: #625a57; font-size: 13px; line-height: 1.45; }
    #sezione-prodotto.aa-work-detail-mobile .product-controller > p.text-light-grey:last-of-type { margin: 0 0 18px !important; }
    #sezione-prodotto.aa-work-detail-mobile .purchase-control { margin-top: 17px; padding-top: 15px; border-top: 1px solid #eadfdb; }
    #sezione-prodotto.aa-work-detail-mobile .purchase-control > a { display: block; margin: 0 0 10px !important; color: #756e6b !important; font-size: 11px !important; font-weight: 700; line-height: 1.4; text-decoration: none; text-transform: uppercase; }
    #sezione-prodotto.aa-work-detail-mobile .purchase-control .buy-button { display: none !important; }
    #sezione-prodotto.aa-work-detail-mobile .purchase-control > .d-flex { margin: 0 !important; }
    #sezione-prodotto.aa-work-detail-mobile .mobile-add-cart { position: fixed; right: 0; bottom: var(--aa-mobile-bottom-nav-height); left: 0; z-index: 1020; display: block; width: 100%; margin: 0 !important; padding: 8px 14px; background: rgba(255, 255, 255, .96); box-shadow: 0 -5px 18px rgba(59, 52, 52, .14); }
    #sezione-prodotto.aa-work-detail-mobile .mobile-add-cart button { display: flex; width: 100%; min-height: 50px; align-items: center; justify-content: center; padding: 12px 18px; border: 1px solid var(--aa-mobile-red); border-radius: 999px; background: var(--aa-mobile-red); color: #fff; font-size: 14px; font-weight: 800; line-height: 1.2; }
    #sezione-prodotto.aa-work-detail-mobile .product-controller > p.font-weight-semibold { margin: 20px 0 0 !important; padding: 15px 15px 0; border: 1px solid #f0ded8; border-bottom: 0; border-radius: 19px 19px 0 0; background: #fffaf8; color: #7e7775; font-size: 10px; font-weight: 700 !important; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
    #sezione-prodotto.aa-work-detail-mobile .product-controller > .border-bottom { display: none; }
    #sezione-prodotto.aa-work-detail-mobile .artista { margin: 0 !important; padding: 5px 15px 15px; border: 1px solid #f0ded8; border-top: 0; border-radius: 0 0 19px 19px; background: #fffaf8; }
    #sezione-prodotto.aa-work-detail-mobile .artista img.rounded-circle { width: 45px; height: 45px; max-width: 45px !important; max-height: 45px !important; object-fit: cover; }
    #sezione-prodotto.aa-work-detail-mobile .artista h6 { margin: 0 !important; color: var(--aa-mobile-text); font-size: 14px !important; font-weight: 800; line-height: 1.35; }
    #sezione-prodotto.aa-work-detail-mobile .aa-work-artist-legacy { display: none !important; }
    #sezione-prodotto.aa-work-detail-mobile .aa-work-artist-card { gap: 0; margin-top: 20px; padding: 15px 14px 16px; border: 1px solid #f0ded8; border-radius: 19px; background: #fffaf8; box-shadow: none; }
    #sezione-prodotto.aa-work-detail-mobile .aa-work-artist-card .aa-pdp-artist-card__logo { display: none; }
    #sezione-prodotto.aa-work-detail-mobile .aa-work-artist-card .aa-pdp-artist-card__body { display: flex; width: 100%; min-width: 0; flex: 1 1 auto; flex-direction: column; align-items: stretch; }
    #sezione-prodotto.aa-work-detail-mobile .aa-work-artist-card .aa-pdp-artist-card__label { color: #7e7775; font-size: 10px; font-weight: 700; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
    #sezione-prodotto.aa-work-detail-mobile .aa-work-artist-card .aa-pdp-artist-card__name { display: flex; min-height: 34px; align-items: center; justify-content: space-between; margin-top: 3px; padding-bottom: 10px; border-bottom: 1px solid #ebdfdc; color: var(--aa-mobile-text); font-size: 15px; font-weight: 800; line-height: 1.25; text-decoration: none; text-transform: uppercase; }
    #sezione-prodotto.aa-work-detail-mobile .aa-work-artist-card .aa-pdp-artist-card__name span { flex: 0 0 auto; margin-left: 12px; color: var(--aa-mobile-red); font-size: 22px; font-weight: 400; line-height: 1; }
    #sezione-prodotto.aa-work-detail-mobile .aa-work-artist-card .aa-pdp-artist-card__technique { display: -webkit-box; margin-top: 11px; overflow: hidden; color: #5c5553; font-size: 13px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
    #sezione-prodotto.aa-work-detail-mobile .aa-work-artist-card .aa-pdp-artist-card__cta { margin-top: 13px; color: var(--aa-mobile-red); font-size: 12px; font-weight: 800; line-height: 1.2; text-decoration: none; text-transform: uppercase; }
    #sezione-prodotto.aa-work-detail-mobile .product-icon-section { width: 100%; margin: 0; padding: 18px 0 0; }
    #sezione-prodotto.aa-work-detail-mobile .product-icon-section > .pt-4 { padding-top: 0 !important; }
    #sezione-prodotto.aa-work-detail-mobile .product-icon-section > .pt-4 p { margin: 0 0 16px; padding: 14px 15px; border: 1px solid #f0df99; border-radius: 14px; background: #fff4c8; color: #6c5322; font-size: 12px; font-weight: 600; line-height: 1.45; }
    #sezione-prodotto.aa-work-detail-mobile .product-icon-section > .pt-4 p span:first-child { color: #6c5322 !important; }
    #sezione-prodotto.aa-work-detail-mobile .product-icon-section > .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
    #sezione-prodotto.aa-work-detail-mobile .product-icon-section > .row > .col-6 { display: flex; width: auto; max-width: none; min-height: 132px; flex: 1 1 auto; flex-direction: column; align-items: flex-start; padding: 12px 13px 10px !important; border: 1px solid #f0ded8; border-radius: 18px; background: #fffaf8; box-shadow: 0 4px 12px rgba(69, 43, 37, .035); }
    #sezione-prodotto.aa-work-detail-mobile .product-icon-section > .row > .col-6 > img { display: none !important; }
    #sezione-prodotto.aa-work-detail-mobile .aa-work-benefit-icon { display: inline-flex; width: 44px; height: 44px; align-self: center; align-items: center; justify-content: center; margin: 0 0 9px; border-radius: 50%; background: var(--aa-mobile-red); color: #fff; line-height: 1; }
    #sezione-prodotto.aa-work-detail-mobile .aa-work-benefit-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
    #sezione-prodotto.aa-work-detail-mobile .product-icon-section > .row > .col-6:first-child .aa-work-benefit-icon svg path:first-child { fill: currentColor; stroke: none; }
    #sezione-prodotto.aa-work-detail-mobile .product-icon-section > .row > .col-6 > p { min-height: 0; margin: 0 !important; padding: 0; border: 0; color: #514a48; font-size: 11px; font-weight: 600; line-height: 1.42; text-align: left !important; }
    #sezione-prodotto.aa-work-detail-mobile .product-icon-section .product-view-link { display: inline-block; margin-top: 7px; color: var(--aa-mobile-red); font-size: 10px; font-weight: 800; line-height: 1.2; text-decoration: none; text-transform: uppercase; }
    @supports selector(body:has(*)) {
        body:has(#sezione-prodotto.aa-work-detail-mobile) section#footer #footer-end { padding-bottom: calc(96px + var(--aa-mobile-bottom-nav-height)) !important; }
    }

    /* The artwork support chooser has a separate modal contract from the Gift Card modal. */
    #modale-quadro.aa-work-personalize-modal .modal-dialog { height: auto !important; min-height: 0; max-width: calc(100vw - 32px) !important; margin: 16px auto; background: transparent !important; }
    #modale-quadro.aa-work-personalize-modal .modal-content { display: flex; height: auto !important; min-height: 0; flex-direction: column; max-height: calc(100dvh - 32px); overflow: hidden !important; border: 1px solid #eee1dc; border-radius: 24px !important; background: #fffdfc !important; box-shadow: 0 18px 46px rgba(59, 52, 52, .2); }
    #modale-quadro.aa-work-personalize-modal .modal-head { position: absolute !important; top: 12px !important; right: 12px !important; bottom: auto !important; left: auto !important; z-index: 3; display: flex; padding: 0; }
    #modale-quadro.aa-work-personalize-modal .close-modal { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 50%; background: #fff1ec; }
    #modale-quadro.aa-work-personalize-modal .close-modal svg { width: 16px; height: 16px; }
    #modale-quadro.aa-work-personalize-modal .close-modal line { stroke: var(--aa-mobile-red); stroke-width: 1.8; }
    #modale-quadro.aa-work-personalize-modal .modal-body { min-height: 0; height: auto !important; flex: 1 1 auto; padding: 24px 18px 20px !important; overflow-y: auto !important; border-radius: 24px !important; background: #fffdfc !important; }
    #modale-quadro.aa-work-personalize-modal .modal-body > h6 { margin: 2px 54px 18px 0; color: var(--aa-mobile-text); font-size: 20px; font-weight: 800; line-height: 1.18; }
    #modale-quadro.aa-work-personalize-modal .articoli { margin: 0; }
    #modale-quadro.aa-work-personalize-modal .articoli .articolo-contenitore { display: flex; min-height: 92px; align-items: center; gap: 12px; margin: 10px 0 0 !important; padding: 10px 12px !important; border: 1px solid #eaded9; border-radius: 16px; background: #fff; }
    #modale-quadro.aa-work-personalize-modal .articoli .articolo-contenitore:hover,
    #modale-quadro.aa-work-personalize-modal .articoli .articolo-contenitore.active { border-color: var(--aa-mobile-red); background: #fff8f5; }
    #modale-quadro.aa-work-personalize-modal .articoli .articolo-contenitore > div:first-child { flex: 0 0 64px; width: 64px; height: 64px; overflow: hidden; border-radius: 12px; background: #fff7f3; }
    #modale-quadro.aa-work-personalize-modal .articoli .articolo-contenitore > div:first-child img { max-width: 64px; height: 64px !important; object-fit: contain; }
    #modale-quadro.aa-work-personalize-modal .articoli .articolo-contenitore > p { flex: 1 1 auto; width: auto !important; margin: 0 !important; color: var(--aa-mobile-text); font-size: 13px; font-weight: 700; line-height: 1.3; }
    #modale-quadro.aa-work-personalize-modal .articoli .articolo-contenitore .price { flex: 0 0 auto; align-items: flex-end; margin-left: auto; }
    #modale-quadro.aa-work-personalize-modal .articoli .articolo-contenitore .price small { color: #7c7471; font-size: 9px; line-height: 1.2; text-transform: uppercase; }
    #modale-quadro.aa-work-personalize-modal .articoli .articolo-contenitore .price h5 { margin: 3px 0 0; color: var(--aa-mobile-red); font-size: 15px; font-weight: 800; line-height: 1.1; }
    #modale-quadro.aa-work-personalize-modal .articoli > .link-to-form { display: block; margin-top: 14px; color: inherit; text-decoration: none; }
    #modale-quadro.aa-work-personalize-modal .articoli > .link-to-form .articolo-contenitore { min-height: 0; padding: 14px !important; color: #625a57; font-size: 12px; font-weight: 600; line-height: 1.45; }

    /* M2: category listing and product cards. Existing Cake markup and hooks stay intact. */
    .aa-category-mobile__title {
        padding: 15px 18px !important;
        background: linear-gradient(135deg, #fff 0%, #fff8f5 100%) !important;
        border-bottom: 1px solid #f3ece8;
    }

    .aa-category-mobile__title h1 {
        margin: 0;
        color: var(--aa-mobile-text) !important;
        font-size: 24px;
        font-weight: 700;
        letter-spacing: .01em;
        line-height: 1.15;
        text-transform: uppercase;
    }

    .aa-category-mobile {
        padding-top: 0 !important;
        padding-bottom: calc(24px + var(--aa-mobile-bottom-nav-height)) !important;
        background: #fff;
        overflow-x: clip;
    }

    .aa-category-mobile #filterCategory {
        z-index: 1020;
        min-height: calc(100vh - 140px);
        padding: 22px 18px 28px !important;
        border-top: 1px solid var(--aa-mobile-line);
    }

    .aa-category-mobile #filterCategory > ul {
        margin: 28px 0 0 !important;
        padding-left: 0 !important;
    }

    .aa-category-mobile #filterCategory a {
        min-height: 38px;
        padding: 8px 4px !important;
        font-size: 14px !important;
        line-height: 1.35;
    }

    .aa-category-toolbar {
        position: relative;
        z-index: 1;
        margin: 0 !important;
        padding: 10px 14px;
        border-bottom: 1px solid #f3ece8;
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 3px 10px rgba(59, 52, 52, .04);
    }

    .aa-category-toolbar .aa-category-filter-actions {
        display: flex !important;
        gap: 9px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .aa-category-toolbar .aa-category-filter-actions::-webkit-scrollbar {
        display: none;
    }

    .aa-category-toolbar .aa-category-filter-actions .item {
        flex: 1 0 0;
        min-width: max-content;
    }

    .aa-category-toolbar .badge-category {
        display: flex !important;
        min-height: 39px;
        align-items: center;
        justify-content: center;
        padding: 0 15px;
        border: 1px solid #eadfdb;
        border-radius: 999px;
        background: #fff;
    }

    .aa-category-toolbar .badge-category a {
        color: var(--aa-mobile-text) !important;
        font-size: 12px !important;
        font-weight: 700;
        line-height: 1;
        text-decoration: none !important;
        text-transform: uppercase;
    }

    .aa-category-toolbar .badge-category.active {
        border-color: var(--aa-mobile-red);
        background: var(--aa-mobile-red);
    }

    .aa-category-toolbar .badge-category.active a {
        color: #fff !important;
    }

    .aa-category-toolbar .divider-badge-category {
        display: none;
    }

    /* M8D1 category top: visual-only hero, toolbar and existing filter sheet hooks. */
    .aa-category-mobile { padding-top: 0 !important; }
    .aa-category-hero { padding: 16px 18px 14px; border-bottom: 1px solid #f3ece8; background: radial-gradient(circle at 100% 0%, rgba(148,207,196,.22), transparent 34%), linear-gradient(135deg,#fff 0%,#fff8f5 100%); }
    .aa-category-hero__kicker { margin-bottom: 7px; color: #76706f; font-size: 11px; letter-spacing: .06em; line-height: 1.2; text-transform: uppercase; }
    .aa-category-hero__title { margin: 0 0 8px; color: var(--aa-mobile-text); font-size: 25px; font-weight: 700; line-height: 1.12; text-transform: uppercase; }
    .aa-category-hero__total { display: inline-flex; min-height: 28px; align-items: center; padding: 0 10px; border: 1px solid #f0e5e1; border-radius: 999px; background: #fff; color: #76706f; font-size: 11px; font-weight: 600; }
    .aa-category-toolbar { top: auto; z-index: 1; padding: 10px 18px; background: rgba(255,255,255,.94); backdrop-filter: none; box-shadow: none; }
    .aa-category-toolbar .aa-category-filter-actions { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 9px; overflow: visible; }
    .aa-category-toolbar .aa-category-filter-actions .item { min-width: 0; }
    .aa-category-toolbar .aa-category-filter-actions .badge-category { min-height: 38px; padding: 0 10px; }
    .aa-category-toolbar .aa-category-filter-actions .badge-category a { display: flex; width: 100%; min-height: 36px; align-items: center; justify-content: center; font-size: 12px !important; text-transform: none; white-space: nowrap; }
    .aa-category-mobile #filterCategory { display: block !important; position: fixed !important; right: auto !important; bottom: -100% !important; left: 50% !important; z-index: 1020; width: min(430px, 100vw) !important; min-height: 0; max-height: calc(100vh - 30px); padding: 18px 18px calc(var(--aa-mobile-bottom-nav-height) + 18px) !important; overflow-y: auto; border: 0; border-radius: 22px 22px 0 0; background: #fff !important; box-shadow: 0 -14px 34px rgba(59,52,52,.18); transform: translateX(-50%); transition: bottom .28s ease; }
    .aa-category-mobile #filterCategory.aa-category-filter-sheet--open { bottom: 0 !important; }
    .aa-category-filter-sheet__header { min-height: 34px; padding-right: 46px; }
    .aa-category-filter-sheet__header h2 { margin: 0; color: var(--aa-mobile-text); font-size: 18px; font-weight: 700; line-height: 34px; }
    .aa-category-mobile #filterCategory #closeFilterCategory,
    .aa-category-mobile #flt-ordinamento #closeSortCategory { position:absolute; top:18px !important; right:18px !important; display:flex; flex:0 0 34px; width:34px !important; min-width:34px !important; max-width:34px !important; min-height:34px !important; height:34px !important; max-height:34px !important; align-items:center; justify-content:center; box-sizing:border-box; aspect-ratio:1 / 1; padding:0 !important; border:0; border-radius:50% !important; background:#fff3ee !important; color:var(--aa-mobile-red) !important; font-family:Arial,sans-serif; font-size:21px !important; font-weight:400 !important; line-height:1; opacity:1; text-decoration:none; text-shadow:none; }
    .aa-category-mobile #filterCategory > ul { display: grid; gap: 8px; margin: 14px 0 0 !important; padding: 0 !important; }
    .aa-category-mobile #filterCategory li { margin: 0; }
    .aa-category-mobile #filterCategory > ul > li > a {
        display: flex !important;
        min-height: 48px;
        align-items: center;
        padding: 12px 16px !important;
        border: 1px solid var(--aa-mobile-line);
        border-radius: 14px;
        background: #fff;
        color: var(--aa-mobile-text) !important;
        font-size: 14px !important;
        font-weight: 600;
        line-height: 1.2;
        text-decoration: none !important;
    }
    .aa-category-mobile #filterCategory > ul > li > a:hover,
    .aa-category-mobile #filterCategory > ul > li > a:focus { border-color: var(--aa-mobile-red); background: #fff3ee; color: var(--aa-mobile-red) !important; }
    .aa-category-mobile #filterCategory > ul > li > a.main-category-filter-mobile { justify-content:space-between; }
    .aa-category-mobile #filterCategory > ul > li > a.main-category-filter-mobile::after { display:inline-flex; flex:0 0 24px; width:24px; height:24px; align-items:center; justify-content:center; border-radius:50%; background:#fff3ee; color:var(--aa-mobile-red); content:'+'; font-size:18px; font-weight:400; line-height:1; }
    .aa-category-mobile #filterCategory > ul > li > ul {
        display: grid;
        gap: 7px;
        margin: 8px 0 4px !important;
        padding: 7px !important;
        border: 1px solid #f0e7e3;
        border-radius: 14px;
        background: #fff8f5;
    }
    .aa-category-mobile #filterCategory > ul > li > ul > li + li { margin-top: 7px; }
    .aa-category-mobile #filterCategory > ul > li > ul a {
        position: relative;
        display: flex !important;
        min-height: 42px;
        align-items: center;
        padding: 10px 13px 10px 29px !important;
        border: 1px solid #eee1dc;
        border-radius: 10px;
        background: #fff;
        color: #625b59 !important;
        font-size: 13px !important;
        font-weight: 500;
        line-height: 1.2;
        text-decoration: none !important;
    }
    .aa-category-mobile #filterCategory > ul > li > ul a::before { position:absolute; top:50%; left:13px; width:5px; height:5px; border-radius:50%; background:var(--aa-mobile-red); content:''; transform:translateY(-50%); }
    .aa-category-mobile #filterCategory > ul > li > ul a i { display:none; }
    .aa-category-mobile #filterCategory > ul > li > ul a:hover,
    .aa-category-mobile #filterCategory > ul > li > ul a:focus { border-color:var(--aa-mobile-red); background:#fff1ec; color:var(--aa-mobile-red) !important; }
    .aa-category-mobile #flt-ordinamento.aa-category-sort-sheet { display:block !important; position:fixed; right:auto; bottom:0; left:50%; z-index:1020; width:min(430px,100vw); max-height:calc(100vh - 30px); padding:18px 18px calc(var(--aa-mobile-bottom-nav-height) + 18px) !important; overflow-y:auto; border-radius:22px 22px 0 0; visibility:hidden; pointer-events:none; background:#fff; box-shadow:0 -14px 34px rgba(59,52,52,.18); transform:translate(-50%, 100%); transition:transform .28s ease, visibility .28s ease; }
    .aa-category-mobile #flt-ordinamento.aa-category-sort-sheet.is-open { visibility:visible; pointer-events:auto; transform:translate(-50%, 0); }
    .aa-category-sort-sheet__body { margin-top:14px; }
    .aa-category-sort-sheet__body .item { margin-bottom:8px; }
    .aa-category-sort-sheet__body .badge-category { display:block; padding:0; border:0; background:transparent; }
    .aa-category-sort-sheet__body .badge-category a { display:flex; min-height:48px; align-items:center; padding:10px 16px; border:1px solid var(--aa-mobile-line); border-radius:14px; color:var(--aa-mobile-text); font-size:14px; line-height:1.2; }
    .aa-category-sort-sheet__body .badge-category.active a { border-color:var(--aa-mobile-red); background:#fff3ee; color:var(--aa-mobile-red); font-weight:700; }

    /* M8D2 category listing: the shared product element is restyled only in this mobile listing. */
    .aa-category-mobile .aa-category-product-area { margin: 0 !important; padding: 14px 3px 18px !important; }
    .aa-category-mobile #productListWrapper.aa-product-grid { gap: 13px !important; }
    .aa-category-mobile #productListWrapper.aa-product-grid > .col { margin: 0 !important; }
    .aa-category-mobile #productListWrapper.aa-product-grid .aa-product-card { min-height: 0; border-radius: 16px; box-shadow: 0 7px 22px rgba(59,52,52,.07); }
    .aa-category-mobile #productListWrapper.aa-product-grid .riquadroImmagine { position: relative; width: 100%; padding: 0 !important; aspect-ratio: 1 / 1; border-bottom: 0; }
    .aa-category-mobile #productListWrapper.aa-product-grid .riquadroImmagine > a:not(.aa-category-mobile__wishlist) { display: block; width: 100%; height: 100%; padding: 0 !important; }
    .aa-category-mobile #productListWrapper.aa-product-grid .productIMG { height: 100% !important; padding-top: 0 !important; aspect-ratio: auto; }
    .aa-category-mobile #productListWrapper.aa-product-grid .productIMG img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; }
    .aa-category-mobile #productListWrapper.aa-product-grid .aa-category-mobile__wishlist { position: absolute; top: 10px; right: 10px; z-index: 2; display: inline-flex !important; width: 38px !important; height: 38px !important; align-items: center; justify-content: center; padding: 0 !important; border: 1px solid var(--aa-mobile-red); border-radius: 50%; background: #fff; color: var(--aa-mobile-red); font-size: 17px; line-height: 1; text-decoration: none; box-shadow: 0 4px 10px rgba(59,52,52,.12); }
    .aa-category-mobile #productListWrapper.aa-product-grid .aa-category-mobile__wishlist .on { display: none; }
    .aa-category-mobile #productListWrapper.aa-product-grid .aa-category-mobile__wishlist .off { display: inline-flex; }
    .aa-category-mobile #productListWrapper.aa-product-grid .aa-category-mobile__wishlist.active { background: #fff5f1; }
    .aa-category-mobile #productListWrapper.aa-product-grid .aa-category-mobile__wishlist.active .on { display: inline-flex; }
    .aa-category-mobile #productListWrapper.aa-product-grid .aa-category-mobile__wishlist.active .off { display: none; }
    .aa-category-mobile #productListWrapper.aa-product-grid .divider-prodotti,
    .aa-category-mobile #productListWrapper.aa-product-grid .container-wrapper,
    .aa-category-mobile #productListWrapper.aa-product-grid .textPanel small { display: none !important; }
    .aa-category-mobile #productListWrapper.aa-product-grid .textPanel { min-height: 0; padding: 11px 12px 13px; }
    .aa-category-mobile #productListWrapper.aa-product-grid .textPanel h5:first-child { margin-bottom: 5px; font-size: 12px; line-height: 1.25; }
    .aa-category-mobile #productListWrapper.aa-product-grid .textPanel h6 { margin-bottom: 7px; font-size: 10px; font-weight: 400; }
    .aa-category-mobile #productListWrapper.aa-product-grid .textPanel .price { margin-top: 0 !important; font-size: 14px; }
    .aa-category-mobile .toolbox-pagination { padding: 14px 18px calc(18px + var(--aa-mobile-bottom-nav-height)) !important; }
    .aa-category-mobile .pagination { justify-content: center; }
    .aa-category-mobile .pagination .page-item a { min-width: 34px; min-height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; }

    .aa-category-product-area {
        margin: 0 !important;
        padding: 14px !important;
    }

    .aa-category-product-area > .col-12 {
        padding: 0 !important;
    }

    #productListWrapper.aa-product-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px 12px;
        margin: 0 !important;
    }

    #productListWrapper.aa-product-grid > .col {
        width: auto;
        max-width: none;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
    }

    .aa-product-card {
        position: relative;
        height: 100%;
        overflow: hidden;
        border: 1px solid #f0e8e5;
        border-radius: 15px;
        background: #fff;
        box-shadow: 0 6px 18px rgba(59, 52, 52, .06);
    }

    .aa-product-card .riquadroImmagine {
        position: relative;
        overflow: hidden;
        border-bottom: 1px solid #f4ece9;
        background: #fff8f4;
    }

    .aa-product-card .productIMG {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1;
        overflow: hidden;
        background: #fff8f4 !important;
    }

    .aa-product-card .productIMG img {
        object-fit: contain !important;
    }

    .aa-product-card .divider-prodotti,
    .aa-product-card .container-wrapper {
        display: none !important;
    }

    .aa-product-card .textPanel {
        display: flex;
        min-height: 116px;
        flex-direction: column;
        align-items: flex-start;
        padding: 10px 10px 12px;
        text-align: left !important;
    }

    .aa-product-card .textPanel h5,
    .aa-product-card .textPanel h6,
    .aa-product-card .textPanel small {
        width: 100%;
        overflow-wrap: anywhere;
    }

    .aa-product-card .textPanel h5:first-child {
        margin: 0 0 5px;
        color: var(--aa-mobile-text);
        display: block;
        overflow: visible;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.28;
        text-overflow: clip;
        text-transform: uppercase;
        white-space: normal;
    }

    .aa-product-card .textPanel small {
        min-height: 0;
        margin: 0 0 4px;
        color: #8b8584 !important;
        font-size: 9px;
        line-height: 1.25;
    }

    .aa-product-card .textPanel h6 {
        min-height: 14px;
        margin: 0 0 7px;
        color: #76706f;
        font-size: 10px;
        font-weight: 500;
        line-height: 1.25;
    }

    .aa-product-card .textPanel .price {
        margin: auto 0 0 !important;
        color: var(--aa-mobile-red);
        font-size: 14px;
        font-weight: 700;
        line-height: 1.2;
    }

    .aa-product-card .textPanel .price del {
        margin-right: 4px;
        color: #8b8584;
        font-size: 10px;
        font-weight: 500;
    }

    .aa-product-card .badge-sale,
    .aa-product-card .badge-new {
        z-index: 2;
        top: 8px;
        left: 8px;
        max-width: calc(100% - 16px);
        padding: 4px 8px;
        border-radius: 999px;
        color: #fff;
        font-size: 9px;
        font-weight: 700;
        line-height: 1.1;
    }

    .aa-product-card .badge-new + .badge-sale,
    .aa-product-card .badge-sale + .badge-new {
        top: 34px;
    }

    .aa-category-mobile .toolbox-pagination {
        padding: 8px 14px 0 !important;
    }

    .aa-category-mobile .toolbox-pagination label {
        color: #76706f;
        font-size: 11px;
    }

    .aa-category-mobile .pagination {
        flex-wrap: wrap;
        gap: 4px;
    }

    .aa-category-mobile .pagination .page-item a {
        margin-left: 0;
        border-radius: 7px;
    }

    @media (max-width: 359.98px) {
        .aa-category-product-area {
            padding: 12px 10px !important;
        }

        #productListWrapper.aa-product-grid {
            gap: 10px;
        }

        .aa-product-card .textPanel {
            padding: 9px 8px 10px;
        }

        .aa-product-card .textPanel h5:first-child {
            font-size: 11px;
        }

        .aa-product-card .textPanel .price {
            font-size: 13px;
        }
    }

    /* M3 PDP: visual-only overrides; Cake hooks and form markup remain untouched. */
    .aa-product-detail-mobile__backbar { min-height: 44px; padding: 0 !important; background: #94cfc4 !important; }
    .aa-product-detail-mobile__backbar .text-center,
    .aa-product-detail-mobile__backbar h1 { height: 44px; margin: 0; text-align: left !important; }
    .aa-product-detail-mobile__backbar .title-porduct-mobile { display: flex; height: 44px; align-items: center; gap: 10px; padding: 0 18px; color: #fff !important; font-size: 0; }
    .aa-product-detail-mobile__backbar .title-porduct-mobile svg { flex: 0 0 auto; }
    .aa-product-detail-mobile__backbar .title-porduct-mobile::after { content: 'Torna allo shop'; font-size: 14px; font-weight: 600; }

    #sezione-prodotto.aa-product-detail-mobile { padding-bottom: 10px; overflow-x: clip; background: #fff; }
    #sezione-prodotto.aa-product-detail-mobile > .container-fluid,
    #sezione-prodotto.aa-product-detail-mobile .container-xl { padding: 0 !important; }
    #sezione-prodotto.aa-product-detail-mobile .arrow { display: none !important; }
    #sezione-prodotto.aa-product-detail-mobile .container-xl > .row { margin: 0 !important; }
    #sezione-prodotto.aa-product-detail-mobile .container-xl > .row > .col { padding-right: 0; padding-left: 0; }
    #sezione-prodotto.aa-product-detail-mobile .main-image,
    #sezione-prodotto.aa-product-detail-mobile .main-image > .position-relative,
    #sezione-prodotto.aa-product-detail-mobile .main-image .composition,
    #sezione-prodotto.aa-product-detail-mobile .main-image .composition .cont { width: 100%; max-width: none; margin: 0 !important; }
    #sezione-prodotto.aa-product-detail-mobile .main-image .composition,
    #sezione-prodotto.aa-product-detail-mobile .main-image .composition .cont { height: 250px !important; }
    #sezione-prodotto.aa-product-detail-mobile .main-image .composition .cont > a { display: flex; min-height: 250px; align-items: center; justify-content: center; overflow: hidden; background: transparent; }
    #sezione-prodotto.aa-product-detail-mobile img.main-image { display: block; width: 100% !important; max-width: none !important; height: auto !important; max-height: min(72vw, 420px) !important; margin: 0 auto; object-fit: contain; }
    #sezione-prodotto.aa-product-detail-mobile .gallery { display:none !important; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-gallery-dots { display:flex; min-height:24px; align-items:center; justify-content:center; gap:8px; margin:0; padding:8px 18px 4px; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-gallery-dot { display:block; width:7px; height:7px; margin:0; padding:0 !important; border:0; border-radius:50%; background:#ddcfca; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-gallery-dot.is-active { width:22px; border-radius:999px; background:var(--aa-mobile-red); }

    /* M8C PDP: reference uses an editorial full-bleed gallery, while keeping legacy lightbox hooks. */
    #sezione-prodotto.aa-product-detail-mobile .main-image .composition,
    #sezione-prodotto.aa-product-detail-mobile .main-image .composition .cont { height:75vw !important; max-height:322.5px; aspect-ratio:auto; }
    #sezione-prodotto.aa-product-detail-mobile .main-image .composition .cont > a { min-height:0; height:100%; }
    #sezione-prodotto.aa-product-detail-mobile .main-image .composition .cont > a img.main-image { width:100% !important; height:100% !important; max-height:none !important; margin:0 !important; object-fit:cover; object-position:center; }

    #sezione-prodotto.aa-product-detail-mobile .container-xl > .row > .col.mt-5 { margin-top: 0 !important; padding: 14px 18px 4px !important; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-meta-line { gap: 12px; margin: 0 0 8px !important; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-meta-line .share-btns { display: none !important; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-meta-line #RecensioniMobile { min-width: 0; margin-left: auto; font-size: 11px; letter-spacing: 0; text-transform: none; }
    #sezione-prodotto.aa-product-detail-mobile .product-controller { margin-top: 0; padding: 0 !important; border: 0 !important; background: #fff; }
    #sezione-prodotto.aa-product-detail-mobile .product-controller > .row { flex-direction: column; margin: 0; }
    #sezione-prodotto.aa-product-detail-mobile .product-controller > .row > .col-7,
    #sezione-prodotto.aa-product-detail-mobile .product-controller > .row > .col { width: 100%; max-width: 100%; padding: 0; text-align: left !important; }
    #sezione-prodotto.aa-product-detail-mobile .product-controller h5 { margin: 0 0 10px; font-size: 20px; font-weight: 700; line-height: 1.18; overflow-wrap: anywhere; }
    #sezione-prodotto.aa-product-detail-mobile .product-controller > .row > .col.text-right { margin-bottom: 12px; }
    #sezione-prodotto.aa-product-detail-mobile #priceOld { margin-right: 10px; color: #8b8584; font-size: 13px; }
    #sezione-prodotto.aa-product-detail-mobile #priceNew { color: var(--aa-mobile-red); font-size: 21px; font-weight: 700; }
    #sezione-prodotto.aa-product-detail-mobile .product-controller > p.text-light-grey { width: 100% !important; margin-bottom: 14px; font-size: 13px; line-height: 1.55; }
    #sezione-prodotto.aa-product-detail-mobile .purchase-control .btn-group { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
    #sezione-prodotto.aa-product-detail-mobile .purchase-control .btn-group > .btn { min-width: 48px !important; min-height: 42px; margin: 0 !important; border-color: #eadfdb; border-radius: 10px !important; }
    #sezione-prodotto.aa-product-detail-mobile .purchase-control .btn-group > .btn.active { border-color: var(--aa-mobile-red); background: #fff3ee; color: var(--aa-mobile-red); }
    #sezione-prodotto.aa-product-detail-mobile .purchase-control > .d-flex { width: 100%; max-width: none !important; flex-wrap: wrap; margin: 0 !important; }
    #sezione-prodotto.aa-product-detail-mobile .input-group { width: 126px; min-height: 44px; overflow: hidden; border: 1px solid #eadfdb; border-radius: 10px; }
    #sezione-prodotto.aa-product-detail-mobile .btn-number-qty,
    #sezione-prodotto.aa-product-detail-mobile #quantity-view { display: inline-flex; width: 42px; min-height: 42px; align-items: center; justify-content: center; margin: 0 !important; border: 0 !important; background: #fff; }
    #sezione-prodotto.aa-product-detail-mobile #quantity-view { font-weight: 700; text-align: center; }
    #sezione-prodotto.aa-product-detail-mobile .btn-number-qty { color: var(--aa-mobile-red); }
    #sezione-prodotto.aa-product-detail-mobile #container-wish-button-absolute { position: static !important; display: grid; flex: 0 0 100%; width: 100%; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 9px; min-height: 40px; margin-top: 6px; transform: none !important; }
    #sezione-prodotto.aa-product-detail-mobile #text-wish-button-absolute { display: none; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-whatsapp-action,
    #sezione-prodotto.aa-product-detail-mobile #wishButtonMobile { display: inline-flex !important; width: 100%; min-height: 40px; align-items: center; justify-content: center; gap: 7px; margin: 0 !important; border: 1px solid #eadfdb; border-radius: 999px; background: #fff; font-size: 12px; font-weight: 600; text-decoration: none; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-whatsapp-action { border-color: #1f8f54; color: #1f8f54; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-whatsapp-action:hover { color: #1f8f54; text-decoration: none; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-whatsapp-action .fab { font-size: 17px; }
    #sezione-prodotto.aa-product-detail-mobile #wishButtonMobile { position: static !important; height: 40px !important; color: var(--aa-mobile-red); transform: none !important; }
    #sezione-prodotto.aa-product-detail-mobile #wishButtonMobile .on { display:none; }
    #sezione-prodotto.aa-product-detail-mobile #wishButtonMobile .off { display:inline-flex; }
    #sezione-prodotto.aa-product-detail-mobile #wishButtonMobile.active .on { display:inline-flex; }
    #sezione-prodotto.aa-product-detail-mobile #wishButtonMobile.active .off { display:none; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-wishlist-label { display: inline; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-legacy-title,
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-legacy-divider,
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-legacy,
    #sezione-prodotto.aa-product-detail-mobile .product-icon-section { display: none !important; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-card { gap: 0; margin-top: 18px; padding: 15px 14px 16px; border: 1px solid #f0ded8; border-radius: 19px; background: #fffaf8; box-shadow: none; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-card__logo { display: none; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-card__logo img { display: block; width: 48px; height: 48px; object-fit: cover; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-card__body { display: flex; width: 100%; min-width: 0; flex: 1 1 auto; flex-direction: column; align-items: stretch; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-card__label { color: #7e7775; font-size: 10px; font-weight: 700; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-card__name { display: flex; min-height: 34px; align-items: center; justify-content: space-between; margin-top: 3px; padding-bottom: 10px; border-bottom: 1px solid #ebdfdc; color: var(--aa-mobile-text); font-size: 15px; font-weight: 800; line-height: 1.25; text-decoration: none; text-transform: uppercase; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-card__name span { flex: 0 0 auto; margin-left: 12px; color: var(--aa-mobile-red); font-size: 22px; font-weight: 400; line-height: 1; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-card__name:hover { color: var(--aa-mobile-text); text-decoration: none; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-card__technique { display: -webkit-box; margin-top: 11px; overflow: hidden; color: #5c5553; font-size: 13px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-card__cta { margin-top: 13px; color: var(--aa-mobile-red); font-size: 12px; font-weight: 800; line-height: 1.2; text-decoration: none; text-transform: uppercase; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-artist-card__cta:hover { color: var(--aa-mobile-red); text-decoration: none; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-impact-note { margin: 16px 0 0; padding: 14px 15px; border: 1px solid #f0df99; border-radius: 14px; background: #fff4c8; color: #6c5322; font-size: 12px; font-weight: 600; line-height: 1.5; text-align: center; }
    #sezione-prodotto.aa-product-detail-mobile .mobile-add-cart,
    #sezione-prodotto.aa-product-detail-mobile #riassortimento-button-mobile.mobile-add-cart { position:static; z-index:auto; flex:0 0 100%; width:100%; max-width:100%; margin:10px 0 0 !important; padding:0; background:transparent; box-shadow:none; }
    #sezione-prodotto.aa-product-detail-mobile #ProductAddCartForm { flex:0 0 100%; width:100%; max-width:none; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-mobile-cta-wrap { display:block; flex:0 0 100%; width:100%; max-width:none; }
    #sezione-prodotto.aa-product-detail-mobile .mobile-add-cart > .w-100 { width:100% !important; }
    #sezione-prodotto.aa-product-detail-mobile .mobile-add-cart .buy-button-check,
    #sezione-prodotto.aa-product-detail-mobile #riassortimento-button-mobile span { display: flex !important; width: 100%; min-height: 48px; align-items: center; justify-content: center; border: 1px solid var(--aa-mobile-red); border-radius: 11px; background: var(--aa-mobile-red); box-shadow: 0 6px 16px rgba(222,86,51,.22); color: #fff; font-size: 14px; font-weight: 700; }
    #sezione-prodotto.aa-product-detail-mobile .mobile-add-cart .buy-button-check { margin: 8px 0 7px !important; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-sticky-add-cart { position:fixed; right:0; bottom:var(--aa-mobile-bottom-nav-height); left:0; z-index:1020; padding:8px 14px; background:rgba(255,255,255,.96); box-shadow:0 -5px 18px rgba(59,52,52,.14); }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-sticky-add-cart__button { display:flex; width:100%; min-height:48px; align-items:center; justify-content:center; padding:0 !important; border:1px solid var(--aa-mobile-red); border-radius:999px; background:var(--aa-mobile-red); color:#fff; font-size:14px; font-weight:700; }
    #sezione-prodotto.aa-product-detail-mobile .aa-pdp-sticky-add-cart__button:disabled { border-color:#d9d2cf; background:#d9d2cf; color:#fff; }

    #readMoreContent.aa-product-detail-mobile__information { padding: 18px 14px 8px; background: #fff !important; }
    #readMoreContent.aa-product-detail-mobile__information > .container-fluid,
    #readMoreContent.aa-product-detail-mobile__information .container { margin-top: 0 !important; padding: 0 !important; background: transparent !important; }
    #readMoreContent.aa-product-detail-mobile__information #altreInfo { overflow: visible; border: 0; border-radius: 0; background: transparent; }
    #readMoreContent.aa-product-detail-mobile__information .nav-tabs { flex-wrap: nowrap; overflow-x: auto; border-bottom: 1px solid #f0e8e5; }
    #readMoreContent.aa-product-detail-mobile__information .nav-item { flex: 0 0 auto; }
    #readMoreContent.aa-product-detail-mobile__information .nav-link { min-height: 48px; padding: 14px 13px 10px; border: 0; color: #76706f; font-size: 12px; font-weight: 600; }
    #readMoreContent.aa-product-detail-mobile__information .nav-link.active { border-bottom: 2px solid var(--aa-mobile-red); color: var(--aa-mobile-red); }
    #readMoreContent.aa-product-detail-mobile__information .tab-content { padding: 14px; font-size: 13px; line-height: 1.55; }
    /* M8C2 PDP: legacy tabs and carousels are retained as the data source, with a mobile-only presentation. */
    #readMoreContent.aa-product-detail-mobile__information { position:relative; z-index:3; padding: 0 0 2px; }
    #readMoreContent.aa-product-detail-mobile__information > .container-fluid > .text-center,
    #readMoreContent.aa-product-detail-mobile__information .aa-pdp-tabs-legacy,
    #readMoreContent.aa-product-detail-mobile__information .aa-pdp-tabs-content-legacy { display: none !important; }
    #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordions { padding: 0 18px; }
    #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordion { margin-bottom: 10px; overflow: hidden; border: 1px solid #f0e8e5; border-radius: 16px; background: #fff; box-shadow: 0 5px 14px rgba(59,52,52,.035); transition: border-color .25s ease, box-shadow .25s ease; }
    #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordion.is-open { border-color: rgba(230,82,53,.35); box-shadow: 0 8px 22px rgba(230,82,53,.10); }
    #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordion__button { position:relative; z-index:1; display: flex; width: 100%; min-height: 54px; align-items: center; justify-content: space-between; padding: 0 15px; border: 0; border-radius:0 !important; background: #fff; color: var(--aa-mobile-text); font-size: 14px; font-weight: 600; text-align: left; transition: background .25s ease, color .25s ease; }
    #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordion.is-open .aa-pdp-accordion__button { background: linear-gradient(135deg,var(--aa-mobile-red) 0%,#f07150 100%); color: #fff; }
    #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordion__icon { display: inline-flex; width: 27px; height: 27px; align-items: center; justify-content: center; border-radius: 50%; background: #fff3ee; color: var(--aa-mobile-red); font-size: 18px; line-height: 1; transition: transform .25s ease; }
    #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordion.is-open .aa-pdp-accordion__icon { transform: rotate(45deg); background: rgba(255,255,255,.22); color: #fff; }
    #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordion__content { display: grid; grid-template-rows: minmax(0, 0fr); overflow: hidden; background: #fff; opacity: 0; transition: grid-template-rows .34s cubic-bezier(.22,.61,.36,1), opacity .2s ease; }
    #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordion.is-open .aa-pdp-accordion__content { grid-template-rows: minmax(0, 1fr); opacity: 1; }
    #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordion__content-inner { min-height: 0; overflow: hidden; padding: 15px; border-top: 1px solid #f0e8e5; color: #5a5251; font-size: 13px; line-height: 1.65; }
    #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordion .tab-pane { display: block !important; opacity: 1 !important; }

    /* Cart: retain the legacy quantity, promo and checkout contracts while giving
       the mobile basket the same compact card language used across the redesign. */
    #carrello { padding: 24px 0 32px !important; background: #fff; }
    #carrello > .container { padding-right: 18px; padding-left: 18px; }
    #carrello .articolo-cart { position: relative; margin: 0 0 12px !important; overflow: hidden; border: 1px solid var(--aa-mobile-line); border-radius: 18px; background: #fff; box-shadow: 0 5px 14px rgba(59,52,52,.04); }
    #carrello .articolo-cart .contenitore { position: relative; padding: 14px !important; }
    #carrello .articolo-cart .contenitore > .d-flex { display: grid !important; grid-template-columns: 88px minmax(0, 1fr); align-items: start !important; gap: 12px; }
    #carrello .articolo-cart .contenitore > .d-flex > .info:first-child { grid-column: 1 / -1; padding-right: 38px; }
    #carrello .articolo-cart .contenitore > .d-flex > .info:first-child h6 { margin: 0 0 3px; color: var(--aa-mobile-text); font-size: 14px; font-weight: 700; line-height: 1.28; }
    #carrello .articolo-cart .contenitore > .d-flex > .info:first-child h6 a { color: inherit; text-decoration: none; }
    #carrello .articolo-cart .contenitore > .d-flex > a,
    #carrello .articolo-cart .contenitore > .d-flex > .composition-15 { grid-column: 1; grid-row: 2; width: 88px; height: 88px; margin: 0 !important; overflow: hidden; border-radius: 13px; background: #fff8f5; }
    #carrello .articolo-cart .contenitore > .d-flex > a img { display: block; width: 100%; height: 100%; object-fit: cover; }
    #carrello .articolo-cart .contenitore > .d-flex > .composition-15 { display: flex; align-items: center; justify-content: center; }
    #carrello .articolo-cart .contenitore > .d-flex > .info:last-child { grid-column: 2; grid-row: 2; min-width: 0; padding: 0 0 33px !important; }
    #carrello .articolo-cart .text-card { width: 100%; margin: 0 !important; padding: 0 !important; }
    #carrello .articolo-cart .text-card p { margin: 0 0 2px !important; color: #766e6b; font-size: 11px; line-height: 1.35; }
    #carrello .articolo-cart .number-product { margin: 9px 0 0 !important; }
    #carrello .articolo-cart .input-number-control input { width: 86px; height: 34px; border: 1px solid var(--aa-mobile-red); border-radius: 999px; color: var(--aa-mobile-text); font-size: 12px; font-weight: 700; }
    #carrello .articolo-cart .input-number-control .minus,
    #carrello .articolo-cart .input-number-control .plus { color: var(--aa-mobile-red); font-size: 10px; }
    #carrello .articolo-cart .price { position: absolute; top: auto !important; right: 14px; bottom: 18px !important; margin: 0 !important; color: var(--aa-mobile-red); font-size: 16px; font-weight: 800; line-height: 1.2; white-space: nowrap; }
    #carrello .trash-product { top: 12px; right: 12px; display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: #fff3ee; color: var(--aa-mobile-red); font-size: 12px; }
    #carrello .codice-promozionale { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin: 18px 0 0 !important; align-items: center !important; }
    #carrello .codice-promozionale input { width: 100% !important; min-height: 42px; padding: 0 12px !important; border: 1px solid var(--aa-mobile-line); border-radius: 11px; color: var(--aa-mobile-text); }
    #carrello .codice-promozionale button { min-height: 42px; padding: 0 15px !important; border-radius: 11px; background: #fff3ee; color: var(--aa-mobile-red); font-size: 11px; font-weight: 700; }
    #carrello #subCarrello { margin-top: 20px; padding: 17px !important; border: 1px solid var(--aa-mobile-line); border-bottom: 1px solid var(--aa-mobile-line); border-radius: 18px; background: #fff8f5; }
    #carrello #subCarrello ul { padding: 0; }
    #carrello #subCarrello ul li { min-height: 39px; align-items: center; padding: 9px 0; border-color: #eee2dd; }
    #carrello #subCarrello ul li p { color: #5a5251; font-size: 11px; font-weight: 600; }
    #carrello #subCarrello ul li:last-child { margin-top: 3px; border-bottom: 0; }
    #carrello #subCarrello ul li:last-child p { color: var(--aa-mobile-text); font-size: 13px; font-weight: 800; }
    #carrello #subCarrello .text-center { margin: 17px 0 0 !important; }
    #carrello #OrderButtonCheckout { min-height: 50px; border: 0; border-radius: 999px; background: var(--aa-mobile-red); box-shadow: 0 7px 16px rgba(222,86,51,.20); color: #fff; font-size: 13px; font-weight: 800; }

    /* Works listing: same mobile filter/sort sheet pattern as product categories. */
    .aa-works-mobile-toolbar { position: relative; z-index: 1; margin: 0 !important; padding: 10px 18px; background: #fff; }
    .aa-works-mobile-toolbar .aa-category-filter-actions { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 9px; }
    .aa-works-mobile-toolbar .aa-category-filter-actions .item { min-width: 0; }
    .aa-works-mobile-toolbar .aa-category-filter-actions .badge-category { display: flex; min-height: 38px; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid var(--aa-mobile-line); border-radius: 999px; background: #fff; }
    .aa-works-mobile-toolbar .aa-category-filter-actions .badge-category a { display: flex; width: 100%; min-height: 36px; align-items: center; justify-content: center; color: var(--aa-mobile-text); font-size: 12px; font-weight: 700; text-decoration: none; }
    .aa-works-filter-sheet,
    .aa-works-sort-sheet { position: fixed; right: auto; bottom: 0; left: 50%; z-index: 1060; width: min(430px,100vw); max-height: calc(100vh - 30px); padding: 18px 18px calc(var(--aa-mobile-bottom-nav-height) + 18px); overflow-y: auto; border-radius: 22px 22px 0 0; visibility: hidden; pointer-events: none; background: #fff; box-shadow: 0 -14px 34px rgba(59,52,52,.18); transform: translate(-50%, 100%); transition: transform .28s ease, visibility .28s ease; }
    .aa-works-filter-sheet.is-open,
    .aa-works-sort-sheet.is-open { visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
    .aa-works-filter-sheet .aa-category-filter-sheet__header,
    .aa-works-sort-sheet .aa-category-filter-sheet__header { min-height: 34px; padding-right: 46px; }
    .aa-works-filter-sheet .aa-category-filter-sheet__header h2,
    .aa-works-sort-sheet .aa-category-filter-sheet__header h2 { margin: 0; color: var(--aa-mobile-text); font-size: 18px; font-weight: 700; line-height: 34px; }
    .aa-works-sheet-close { position: absolute; top: 18px; right: 18px; display: flex; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: 50%; background: #fff3ee; color: var(--aa-mobile-red); font-family: Arial,sans-serif; font-size: 21px; font-weight: 400; line-height: 1; text-decoration: none; }
    .aa-works-filter-group { margin-top: 18px; }
    .aa-works-filter-group h3 { margin: 0 0 8px; color: #766e6b; font-size: 12px; font-weight: 700; text-transform: uppercase; }
    .aa-works-filter-options { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; }
    .aa-works-filter-options .badge-category,
    .aa-works-sort-options .badge-category { display: block; overflow: hidden; border: 1px solid var(--aa-mobile-line); border-radius: 13px; background: #fff; }
    .aa-works-filter-options .badge-category a,
    .aa-works-sort-options .badge-category a { display: flex; min-height: 46px; align-items: center; justify-content: center; padding: 9px 12px; color: var(--aa-mobile-text); font-size: 12px; font-weight: 600; line-height: 1.2; text-align: center; text-decoration: none; }
    .aa-works-filter-options .badge-category.active,
    .aa-works-sort-options .badge-category.active { border-color: var(--aa-mobile-red); background: #fff3ee; }
    .aa-works-filter-options .badge-category.active a,
    .aa-works-sort-options .badge-category.active a { color: var(--aa-mobile-red); font-weight: 700; }
    .aa-works-sort-options { display: grid; gap: 8px; margin-top: 14px; }
    .aa-works-sort-options .badge-category a { justify-content: flex-start; min-height: 48px; padding: 10px 16px; text-align: left; }

    /* Homepage artists: the source portraits have mixed intrinsic ratios, so the
       mobile carousel needs an explicit square frame before applying the circle. */
    .carousel-artisti #carouselArtistSM .artista-img { display: block; flex: 0 0 118px; width: 118px !important; height: 118px !important; max-width: none !important; aspect-ratio: 1 / 1; border-radius: 50% !important; object-fit: cover; object-position: center; }
    /* M8C PDP related: card presentation only; shared carousel/card markup remains untouched. */
    .aa-pdp-related-mobile { padding: 18px 0 calc(78px + var(--aa-mobile-bottom-nav-height)); overflow: hidden; background: #fff; }
    .aa-pdp-related-mobile > section { margin: 0 !important; }
    #sezione-prodotto.aa-product-detail-mobile ~ section.mb-7 { display:none !important; }
    .aa-pdp-related-mobile > section + section { margin-top: 18px !important; }
    .aa-pdp-related-mobile .container { width: 100%; max-width: none; margin: 0 !important; padding: 0 !important; }
    .aa-pdp-related-mobile .row { margin-right: 0 !important; margin-left: 0 !important; }
    .aa-pdp-related-mobile .col-12 { padding-right: 0 !important; padding-left: 0 !important; }
    .aa-pdp-related-mobile .mt-5.my-4 { display: block !important; margin: 0 0 12px !important; padding: 0 18px; }
    .aa-pdp-related-mobile h3 { margin: 0; color: var(--aa-mobile-text); font-size: 16px; font-weight: 700; line-height: 1.2; }
    .aa-pdp-related-mobile .griglia-product { width: 100% !important; margin: 0 !important; padding: 0 !important; overflow: visible; }
    .aa-pdp-related-mobile .owl-carousel { width: 100% !important; margin: 0 !important; touch-action: pan-x !important; }
    .aa-pdp-related-mobile .owl-carousel .owl-stage-outer { width: calc(100% - 20px) !important; margin: 0 !important; transform: none !important; overflow-x: scroll !important; overflow-y: hidden !important; padding: 0 18px 12px !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scroll-snap-type: x proximity; touch-action: pan-x; }
    .aa-pdp-related-mobile .owl-carousel .owl-stage-outer::-webkit-scrollbar { display: none; }
    .aa-pdp-related-mobile .owl-carousel .owl-stage { display: flex !important; width: max-content !important; min-width: max-content !important; transform: none !important; flex-wrap: nowrap !important; touch-action: pan-x !important; }
    .aa-pdp-related-mobile .owl-carousel .owl-item { display: block !important; float: none !important; position: static !important; flex: 0 0 68vw; width: 68vw !important; min-width: 68vw !important; max-width: 68vw !important; height: auto !important; margin: 0 12px 0 0 !important; scroll-snap-align: start; touch-action: pan-x !important; }
    .aa-pdp-related-mobile .owl-carousel .owl-item:last-child { margin-right: 0 !important; }
    .aa-pdp-related-mobile .owl-carousel .productView { width: 100% !important; min-height: 0 !important; height: auto !important; margin: 0 !important; overflow: hidden; border: 1px solid #f0e8e5; border-radius: 16px; background: #fff; box-shadow: 0 7px 22px rgba(59,52,52,.07); }
    .aa-pdp-related-mobile .owl-carousel .riquadroImmagine { width: 100% !important; height: 150px !important; margin: 0 !important; padding: 0 !important; overflow: hidden; }
    .aa-pdp-related-mobile .owl-carousel .riquadroImmagine > a { display: block; width: 100%; height: 100%; }
    .aa-pdp-related-mobile .owl-carousel .productIMG { width: 100% !important; height: 150px !important; min-height: 0 !important; padding-top: 0 !important; aspect-ratio: auto !important; }
    .aa-pdp-related-mobile .owl-carousel .productIMG img { position: static !important; display: block; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; }
    .aa-pdp-related-mobile .owl-carousel .divider-prodotti,
    .aa-pdp-related-mobile .owl-carousel .container-wrapper,
    .aa-pdp-related-mobile .owl-carousel .textPanel small { display: none !important; }
    .aa-pdp-related-mobile .owl-carousel .textPanel { display: block !important; min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 11px 12px 13px !important; text-align: left !important; }
    .aa-pdp-related-mobile .owl-carousel .textPanel > h5:not(.price) { margin: 0 0 5px !important; padding: 0 !important; color: var(--aa-mobile-text); font-size: 12px !important; font-weight: 700 !important; line-height: 1.25 !important; text-transform: uppercase; text-align: left !important; }
    .aa-pdp-related-mobile .owl-carousel .textPanel h6 { min-height: 0 !important; margin: 0 0 7px !important; color: #7e7775; font-size: 10px !important; font-weight: 400 !important; line-height: 1.25 !important; text-align: left !important; }
    .aa-pdp-related-mobile .owl-carousel .textPanel .price { min-height: 0 !important; margin: 0 !important; padding: 0 !important; color: var(--aa-mobile-red); font-size: 14px !important; font-weight: 700 !important; line-height: 1.2 !important; text-align: left !important; }

    @media (max-width: 360px) {
        .aa-pdp-related-mobile .owl-carousel .owl-item { flex-basis: 76vw; width: 76vw !important; min-width: 76vw !important; max-width: 76vw !important; }
        .aa-pdp-related-mobile .owl-carousel .riquadroImmagine,
        .aa-pdp-related-mobile .owl-carousel .productIMG { height: 132px !important; }
    }
    /* M4 gift card: presentation only; legacy form, controls and modal are reused. */
    .aa-giftcard-mobile__title { padding: 15px 18px !important; background: linear-gradient(135deg,#fff 0%,#fff8f5 100%) !important; border-bottom: 1px solid #f3ece8; }
    .aa-giftcard-mobile__title h1 { margin: 0; color: var(--aa-mobile-text) !important; font-size: 24px; font-weight: 700; text-transform: uppercase; }
    #gift-card.aa-giftcard-mobile { margin-top: 0 !important; padding: 0; overflow-x: clip; }
    #gift-card.aa-giftcard-mobile > .container { padding: 0; }
    #gift-card.aa-giftcard-mobile > .container > .row { margin: 0; }
    #gift-card.aa-giftcard-mobile #img-main { display:block; width:100%; height:230px; min-height:0; max-height:none; margin:0 !important; object-fit:cover; background:#fff8f4; }
    #gift-card.aa-giftcard-mobile__form, #gift-card.aa-giftcard-mobile #form-gift { margin-top:0 !important; padding: 16px 18px 0 !important; }
    #gift-card.aa-giftcard-mobile #form-gift > .bg-light-grey-underline { padding:0 !important; background:#fff !important; border:0 !important; }
    #gift-card.aa-giftcard-mobile #form-gift h5 { margin-bottom:10px !important; color:var(--aa-mobile-text); font-size:21px; font-weight:700; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__legacy-intro { display:none !important; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__intro { margin:0 0 22px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__intro-kicker { display:block; margin-bottom:6px; color:#756e6b; font-size:11px; font-weight:600; letter-spacing:.05em; line-height:1.2; text-transform:uppercase; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__intro h1 { margin:0 0 8px; color:var(--aa-mobile-text); font-size:22px; font-weight:700; line-height:1.08; text-transform:uppercase; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__intro-payoff { margin:0 0 13px; color:var(--aa-mobile-red); font-size:14px; font-weight:700; line-height:1.3; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__intro-copy { margin:0; color:#504a48; font-size:14px; line-height:1.45; }
    #gift-card.aa-giftcard-mobile .options { height:100%; }
    #gift-card.aa-giftcard-mobile .giftcard-type { position:absolute; opacity:0; }
    #gift-card.aa-giftcard-mobile .giftcard-type + label { display:flex; min-height:72px; align-items:center; margin:0 0 9px; padding:12px 14px; border:1px solid #eadfdb; border-radius:13px; color:var(--aa-mobile-text); font-size:13px; font-weight:700; }
    #gift-card.aa-giftcard-mobile .giftcard-type:checked + label { border-color:var(--aa-mobile-red); background:#fff3ee; color:var(--aa-mobile-red); box-shadow:0 5px 14px rgba(222,86,51,.1); }
    #gift-card.aa-giftcard-mobile #alert-mod-aquisto { margin:14px 0 !important; padding:12px; border:1px solid #f0e8e5; border-radius:12px; font-size:12px; line-height:1.45; }
    #gift-card.aa-giftcard-mobile #giftcard-size { display:none; }
    #gift-card.aa-giftcard-mobile #OrderAddGiftcardForm .mb-5 { gap:12px; margin-bottom:0 !important; }
    #gift-card.aa-giftcard-mobile #OrderAddGiftcardForm .buy-button { width:100%; min-height:48px; justify-content:center; border-radius:11px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__legacy-delivery,
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__legacy-helper,
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__legacy-cta { display:none !important; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__amounts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:0 0 18px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__amount { min-height:46px; border:1px solid #e6deda; border-radius:11px; background:#fff; color:var(--aa-mobile-text); font-size:13px; font-weight:700; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__amount.is-selected { border-color:var(--aa-mobile-red); background:#fff1ec; color:var(--aa-mobile-red); box-shadow:0 4px 10px rgba(222,86,51,.12); }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__section-label { margin:0 0 9px; color:var(--aa-mobile-text); font-size:14px; font-weight:700; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery { margin:0 0 14px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-card { display:flex; width:100%; min-height:58px; align-items:center; gap:11px; margin:0 0 8px; padding:10px 13px; border:1px solid #eadfdb; border-radius:12px; background:#fff; color:var(--aa-mobile-text); font-size:13px; font-weight:700; text-align:left; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-card.is-selected { border-color:var(--aa-mobile-red); background:#fff3ee; color:var(--aa-mobile-red); }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-icon { display:flex; width:28px; height:28px; align-items:center; justify-content:center; border-radius:50%; background:#f6f1ef; font-size:15px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__message { display:flex; width:100%; align-items:center; gap:11px; margin:0 0 12px; padding:13px; border:1px solid #e8dfdc; border-radius:12px; background:#fff; color:var(--aa-mobile-text); text-align:left; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__message strong,
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__message small { display:block; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__message strong { font-size:13px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__message small { margin-top:3px; color:#766e6b; font-size:11px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__message-icon { font-size:22px; color:var(--aa-mobile-red); }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__impact { margin:0 0 14px; padding:12px 13px; border-radius:12px; background:#fff3c9; color:#5d5035; font-size:12px; line-height:1.45; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__inline-cta,
    .aa-giftcard-mobile__sticky-cta { width:100%; min-height:48px; border:0; border-radius:11px; background:var(--aa-mobile-red); color:#fff; font-size:14px; font-weight:700; }
    .aa-giftcard-mobile__sticky-bar { position:fixed; right:0; bottom:var(--aa-mobile-bottom-nav-height); left:0; z-index:1020; padding:8px 14px; border-top:1px solid var(--aa-mobile-line); background:rgba(255,255,255,.94); box-shadow:0 -3px 14px rgba(59,52,52,.12); backdrop-filter:blur(8px); }
    .aa-giftcard-mobile__sticky-bar .aa-giftcard-mobile__sticky-cta { position:static; width:100%; box-shadow:none; }
    /* M8BR3: reuse the already-rendered category highlight as the mobile suggestions source. */
    #gift-card.aa-giftcard-mobile ~ .sezione-orange,
    #gift-card.aa-giftcard-mobile ~ section.py-0.py-md-5 { display:none !important; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 { margin:0 !important; padding:24px 0; background:#fff8f5; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .container { margin:0 !important; padding:0 18px !important; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .container::before { content:'Cosa potrà scegliere?'; display:block; margin:0 0 12px; color:var(--aa-mobile-text); font-size:17px; font-weight:700; line-height:1.2; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .row { display:block; margin:0; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .carousel-3-mobile .owl-stage-outer { overflow-x:auto !important; padding:0 0 8px; scrollbar-width:none; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .carousel-3-mobile .owl-stage-outer::-webkit-scrollbar { display:none; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .carousel-3-mobile .owl-stage { display:flex !important; width:max-content !important; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .carousel-3-mobile .owl-item { width:72vw !important; max-width:282px; margin-right:12px !important; float:none !important; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .mobile-card-category { overflow:hidden; border:1px solid #eee3df; border-radius:14px; box-shadow:0 4px 14px rgba(59,52,52,.1); }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .mobile-card-category .img-container { height:142px !important; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .mobile-card-category img { width:100%; height:100%; object-fit:cover; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .mobile-card-category .textPanel { padding:13px !important; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .mobile-card-category h6 { margin:0 0 5px; font-size:15px; font-weight:700; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .mobile-card-category p { font-size:12px; }
    #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .card { overflow:hidden; margin-bottom:9px; border:1px solid #f0e8e5; border-radius:12px; }
    #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .card-header { padding:0; background:#fff; }
    #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .btn-link { min-height:52px; color:var(--aa-mobile-text); font-size:13px; font-weight:600; text-decoration:none; }
    #modale-quadro .modal-dialog { max-width:calc(100vw - 24px) !important; margin:12px auto; }
    #modale-quadro .modal-content { max-height:calc(100vh - 24px); overflow-y:auto; border-radius:16px; }
    #modale-quadro .modal-body .p-5 { padding:18px !important; }
    #modale-quadro .modal-footer { padding:12px 18px 18px; }
    #modale-quadro #OrderAddGiftcardFormModal-button { min-height:48px; border-radius:11px !important; }

    /* M8BR3 pixel polish: Gift Card only. */
    #gift-card.aa-giftcard-mobile > .container { max-width:none; }
    #gift-card.aa-giftcard-mobile > .container > .row > .col:first-child { padding:0 !important; }
    /* The real voucher artwork is panoramic: preserve its native ratio instead of
       forcing it into the former 4:3 crop on small screens. */
    #gift-card.aa-giftcard-mobile #img-main { height:auto; aspect-ratio:auto; object-fit:contain; object-position:center; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__amounts { align-items:start; margin:0; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__amount { height:46px; min-height:46px; border-color:#ead8c9; border-radius:999px; font-size:14px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__amount.is-selected { background:var(--aa-mobile-red); color:#fff; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery { margin:14px 0 0; padding:15px; border:1px solid #eee3df; border-radius:18px; background:#fff; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-card { min-height:74px; align-items:center; padding:12px 14px; border-radius:15px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-card.is-selected { background:#fff6f1; box-shadow:0 4px 10px rgba(222,86,51,.12); }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__message { margin:14px 0 0; padding:15px; border-radius:18px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__impact { margin:16px 0 0; padding:14px 15px; border-radius:14px; text-align:center; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__inline-cta,
    .aa-giftcard-mobile__sticky-cta { border-radius:999px; }
    .aa-giftcard-mobile__sticky-cta { min-height:42px; }
    #sezione-prodotto.aa-product-detail-mobile .mobile-add-cart .buy-button-check,
    #sezione-prodotto.aa-product-detail-mobile #riassortimento-button-mobile span { border-radius:999px; }
    #gift-card.aa-giftcard-mobile #accordingBuonoRagalo { padding:8px 18px 2px; }
    #gift-card.aa-giftcard-mobile > .container.d-block.d-md-none.my-5 { margin-top:12px !important; margin-bottom:0 !important; }
    #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .card { margin-bottom:10px; overflow:hidden; border-radius:16px; background:#fff; }
    #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .card-header,
    #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .card-header h2,
    #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .btn-link { border-radius:0 !important; }
    #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .collapsing { transition:height .32s cubic-bezier(.22,.61,.36,1) !important; }
    #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .btn-link { display:flex; min-height:54px; align-items:center; justify-content:space-between; padding:0 15px !important; background:#fff; line-height:1.2; transition:background .25s ease, color .25s ease; }
    #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .btn-link::after { content:'+'; display:flex; float:none; flex:0 0 27px; width:27px; height:27px; align-items:center; justify-content:center; margin-left:12px; border-radius:50%; background:#fff3ee; color:var(--aa-mobile-red); font-size:20px; line-height:1; transition:transform .25s ease, background .25s ease, color .25s ease; }
    #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .btn-link:not(.collapsed) { background:linear-gradient(135deg,var(--aa-mobile-red) 0%,#f07150 100%); color:#fff; }
    #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .btn-link:not(.collapsed)::after { transform:rotate(45deg); background:rgba(255,255,255,.2); color:#fff; }
    @media (prefers-reduced-motion: reduce) {
        .aa-mobile-menu__panel,
        #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordion,
        #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordion__button,
        #readMoreContent.aa-product-detail-mobile__information .aa-pdp-accordion__content,
        #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .collapsing,
        #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .btn-link,
        #gift-card.aa-giftcard-mobile #accordingBuonoRagalo .btn-link::after { transition: none !important; }
    }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .mobile-card-category { display:flex; flex-direction:column; border-radius:16px; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .mobile-card-category .img-container { order:1; height:145px !important; }
    #gift-card.aa-giftcard-mobile ~ section.mb-7 .mobile-card-category .textPanel { order:2; padding:12px 13px 14px !important; }

    /* M5 promotional popup: visual-only, scoped to the existing CMS/Bootstrap modal. */
    .modal-promo.aa-promo-modal-mobile { padding: 20px 16px; }
    .modal-promo.aa-promo-modal-mobile .aa-promo-modal-mobile__dialog { width: 100%; max-width: min(430px, calc(100vw - 32px)) !important; max-height: calc(100vh - 40px); margin: auto; padding: 0 !important; }
    .modal-promo.aa-promo-modal-mobile .modal-content { max-height: calc(100vh - 40px); overflow: hidden; border-radius: 28px !important; box-shadow: 0 24px 54px rgba(0,0,0,.24); }
    .modal-promo.aa-promo-modal-mobile .modal-body { position: relative; display: flex; min-height: 0; max-height: calc(100vh - 40px); overflow: hidden; }
    .modal-promo.aa-promo-modal-mobile .modal-body > .card { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; }
    .modal-promo.aa-promo-modal-mobile .card > .row { flex-direction: column; margin: 0; }
    .modal-promo.aa-promo-modal-mobile .card > .row > .col-md-6 { width: 100%; max-width: 100%; padding: 0; }
    .modal-promo.aa-promo-modal-mobile .aa-promo-modal-mobile__image { height: auto !important; max-height: min(310px, 38vh) !important; min-height: 0; aspect-ratio: 1.452 / 1; background: #fff8f4 !important; }
    .modal-promo.aa-promo-modal-mobile .aa-promo-modal-mobile__image-content { display: block !important; width: 100%; height: 100%; max-height: none; object-fit: contain; }
    .modal-promo.aa-promo-modal-mobile #close-modal-promo { display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; margin: 10px !important; padding: 0; border-radius: 50%; background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.14); opacity: 1; }
    .modal-promo.aa-promo-modal-mobile #close-modal-promo span { color: var(--aa-mobile-red) !important; font-size: 31px !important; line-height: 1; }
    .modal-promo.aa-promo-modal-mobile .card-body { padding: 20px 18px 24px !important; text-align: center; }
    .modal-promo.aa-promo-modal-mobile .card-body .card-title { padding-right: 36px; font-size: 23px; line-height: 1.16; }
    .modal-promo.aa-promo-modal-mobile .card-body .card-text { font-size: 14px; line-height: 1.5; }
    .modal-promo.aa-promo-modal-mobile .card-body > .text-left,
    .modal-promo.aa-promo-modal-mobile .card-body > .text-right,
    .modal-promo.aa-promo-modal-mobile .card-body > .text-center { text-align: center !important; }
    .modal-promo.aa-promo-modal-mobile #btn-modal-promo { display: inline-flex !important; min-height: 48px; align-items: center; justify-content: center; margin-top: 20px !important; padding: 10px 22px !important; border-radius: 999px; font-size: 13px; font-weight: 700; }
    .modal-promo.aa-promo-modal-mobile.show ~ .modal-backdrop { opacity: .48; }

    /* M6 blog: mobile-only presentation; desktop masonry and hero stay untouched. */
    .aa-blog-mobile { padding: 18px 0 calc(22px + var(--aa-mobile-bottom-nav-height)); overflow-x: clip; }
    .aa-blog-titlebar { display: none !important; }
    .aa-blog-mobile__container { margin-top: 0 !important; padding: 0 14px; }
    .aa-blog-mobile__heading { padding: 0 18px 22px; text-align: left; }
    .aa-blog-mobile__heading p { margin: 0 0 18px; color: var(--aa-mobile-red); font-size: 12px; font-weight: 800; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
    .aa-blog-mobile__heading h1 { margin: 0; color: var(--aa-mobile-text); font-size: 28px; font-weight: 700; line-height: 1.08; }
    .aa-blog-mobile .item.aa-blog-mobile__card { margin-bottom: 22px !important; }
    .aa-blog-mobile__card .articolo-prev { overflow: hidden; padding: 0 !important; border: 1px solid #eadfda; border-radius: 30px; background: #fff; box-shadow: 0 5px 16px rgba(69,43,37,.035); }
    .aa-blog-mobile__image { display: block; width: 100%; height: auto !important; margin: 0 !important; padding: 0 !important; object-fit: contain; }
    .aa-blog-mobile__image-fallback { display:block; width:100%; aspect-ratio:900 / 560; margin:0 !important; padding:0 !important; background:#f8efea; }
    .aa-blog-mobile__body { margin:0 !important; padding: 22px 28px 25px !important; text-align:left; }
    .aa-blog-mobile__meta { margin: 0 0 13px; color: var(--aa-mobile-red); font-size: 12px; font-weight: 800; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
    .aa-blog-mobile__title { margin: 0 !important; color: var(--aa-mobile-text); font-size: 23px; font-weight: 700; line-height: 1.18; }
    .aa-blog-mobile__abstract { display: -webkit-box; overflow: hidden; margin: 15px 0 0; color: #756e6b; font-size: 15px; font-weight: 400; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .aa-blog-mobile__read-more { display: none; }
    .aa-blog-detail-mobile__back { padding: 20px 20px 12px; background: #fff; }
    .aa-blog-detail-mobile__back a { color: var(--aa-mobile-text); font-size: 13px; font-weight: 600; text-decoration: none; }
    .aa-blog-detail-mobile__heading { padding: 20px 20px 22px; background: #fff; }
    .aa-blog-detail-mobile__heading h1 { margin: 0; color: var(--aa-mobile-text); font-size: 27px; font-weight: 700; line-height: 1.12; text-transform: none; }
    .aa-blog-detail-mobile .container-fluid { padding: 0 18px; background: #fff !important; }
    .aa-blog-detail-mobile .row { margin: 0; }
    .aa-blog-detail-mobile .aa-blog-detail-mobile__hero { min-height: 0 !important; margin: 0; padding: 0; overflow: hidden; border-radius: 24px; background: #fff8f4 !important; }
    .aa-blog-detail-mobile .aa-blog-detail-mobile__hero-image { display: block !important; width: 100%; height: auto; max-height: none; object-fit: contain; }
    .aa-blog-detail-mobile .aa-blog-detail-mobile__hero-fallback { position:relative; display:block; width:100%; aspect-ratio:900 / 560; overflow:hidden; border:1px solid #f0e8e5; border-radius:24px; background:radial-gradient(circle at 24% 27%, #f5c6bb 0 18%, transparent 18.5%), radial-gradient(circle at 78% 68%, #d7e1dc 0 28%, transparent 28.5%), #f8efea; }
    .aa-blog-detail-mobile .aa-blog-detail-mobile__hero-fallback::before { position:absolute; top:47%; left:25%; width:53%; height:28%; border-top:10px solid #28447d; border-radius:50%; content:''; transform:rotate(-18deg); }
    .aa-blog-detail-mobile .aa-blog-detail-mobile__hero-fallback::after { position:absolute; top:55%; left:15%; width:67%; height:14%; border-top:8px solid #ef715a; border-radius:50%; content:''; transform:rotate(-8deg); }
    .aa-blog-detail-mobile__intro { margin-top: 15px; padding: 16px; border: 1px solid #eee1dc; border-radius: 18px; background: #fff8f5; color: var(--aa-mobile-text); font-size: 15px; line-height: 1.58; }
    .aa-blog-detail-mobile__intro-subtitle { margin: 0 0 8px; color: var(--aa-mobile-red); font-weight: 700; }
    .aa-blog-detail-mobile__intro-abstract > :last-child { margin-bottom: 0; }

    /* R2.2 Gift Card: presentation only; legacy select/radios/modal remain authoritative. */
    #gift-card.aa-giftcard-mobile #wishButtonMobile { display: none !important; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__amount-panel { margin: 16px 0 18px; padding: 16px; border: 1px solid #f0e3de; border-radius: 18px; background: #fff9f5; box-shadow: 0 5px 16px rgba(69,43,37,.05); }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__panel-header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__panel-header strong { color: var(--aa-mobile-text); font-size: 17px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__panel-header small { color: #706866; font-size: 12px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-heading { margin: 0 0 9px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-heading .aa-giftcard-mobile__section-label { margin: 0 0 3px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-heading small { display: block; color: #706866; font-size: 12px; line-height: 1.35; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__amounts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__amount {
        display: flex;
        min-height: 46px;
        align-items: center;
        justify-content: center;
        padding: 0 !important;
        border-radius: 999px;
        text-align: center;
    }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__impact {
        margin: 16px 0 14px;
        border: 1px solid #dfbd45;
    }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-copy { display:block; min-width:0; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-check { display:inline-flex; flex:0 0 28px; width:28px; height:28px; align-items:center; justify-content:center; border:2px solid #dccfca; border-radius:50%; background:#fff; color:#fff; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-check svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.7; opacity:0; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-card.is-selected .aa-giftcard-mobile__delivery-check { border-color:var(--aa-mobile-red); background:var(--aa-mobile-red); }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-card.is-selected .aa-giftcard-mobile__delivery-check svg { opacity:1; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-copy strong,
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-copy small { display:block; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-copy strong { color:inherit; font-size:14px; font-weight:700; line-height:1.25; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-copy small { margin-top:4px; color:#706866; font-size:12px; font-weight:400; line-height:1.35; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__delivery-card.is-selected .aa-giftcard-mobile__delivery-copy small { color:#8f5d4e; }
    #gift-card.aa-giftcard-mobile .aa-giftcard-mobile__message { min-height: 118px; align-items: flex-start; border-radius: 18px; }

    /* Gift Card personalisation modal: mobile presentation only; legacy form and submit stay unchanged. */
    #modale-quadro .modal-dialog { max-width:calc(100vw - 32px) !important; margin:16px auto; }
    #modale-quadro .modal-content { display:flex; flex-direction:column; max-height:calc(100dvh - 32px); overflow:hidden !important; border:1px solid #eee1dc; border-radius:24px !important; background:#fffdfc; box-shadow:0 18px 46px rgba(59,52,52,.2); }
    #modale-quadro .modal-head { position:absolute; top:14px; right:14px; z-index:2; display:flex; padding:0; }
    #modale-quadro .close-modal { display:inline-flex; width:42px; height:42px; align-items:center; justify-content:center; padding:0; border:0; border-radius:50%; background:#fff1ec; }
    #modale-quadro .close-modal svg { width:16px; height:16px; }
    #modale-quadro .close-modal line { stroke:var(--aa-mobile-red); stroke-width:1.8; }
    #modale-quadro .modal-body { min-height:0; height:auto !important; flex:1 1 auto; padding:0; overflow-y:auto !important; }
    #modale-quadro .modal-body .p-5 { padding:28px 74px 18px 20px !important; }
    #modale-quadro .modal-body h5 { margin:0; color:var(--aa-mobile-text); font-size:21px; font-weight:800; line-height:1.15; }
    #modale-quadro .modal-body h5 i,
    #modale-quadro .modal-body h5 > svg { display:none; }
    #modale-quadro #OrderAddGiftcardFormModal { margin-top:20px !important; }
    #modale-quadro #OrderAddGiftcardFormModal .form-group { margin-bottom:14px !important; }
    #modale-quadro #OrderAddGiftcardFormModal label { margin:0 0 6px; color:#756c68; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
    #modale-quadro #OrderAddGiftcardFormModal .form-control { min-height:46px; padding:11px 13px; border:1px solid #eaded9 !important; border-radius:12px; background:#fff; color:var(--aa-mobile-text); font-size:14px; box-shadow:none; }
    #modale-quadro #OrderAddGiftcardFormModal .form-control:focus { border-color:var(--aa-mobile-red) !important; box-shadow:0 0 0 3px rgba(222,86,51,.12); }
    #modale-quadro .modal-footer { display:block; flex:0 0 auto; padding:0 20px 20px; border:0; border-radius:0; background:#fffdfc; }
    #modale-quadro #OrderAddGiftcardFormModal-button { min-height:52px; border:0; border-radius:999px !important; background:var(--aa-mobile-red); color:#fff; font-size:15px; font-weight:800; box-shadow:none; }
    .aa-blog-detail-mobile__body { padding: 28px 0 calc(22px + var(--aa-mobile-bottom-nav-height)) !important; background: #fff; }
    .aa-blog-detail-mobile__body .container { padding: 0 20px; }
    .aa-blog-detail-mobile__body .col-12 > h2:first-child { display: none; }
    .aa-blog-detail-mobile__body .col-12 { color: #514a48; font-size: 15px; line-height: 1.68; }
    .aa-blog-detail-mobile__body .col-12 p { margin: 0 0 18px; font-size: 15px; line-height: 1.68; }
    .aa-blog-detail-mobile__body .col-12 h3,
    .aa-blog-detail-mobile__body .col-12 h4 { margin: 30px 0 12px; color: var(--aa-mobile-text); font-size: 20px; font-weight: 700; line-height: 1.22; }
    .aa-blog-detail-mobile__body .col-12 ul,
    .aa-blog-detail-mobile__body .col-12 ol { margin: 0 0 20px; padding-left: 21px; }
    .aa-blog-detail-mobile__body .col-12 li { margin-bottom: 8px; font-size: 15px; line-height: 1.55; }
    .aa-blog-detail-mobile__body .col-12 img { margin: 8px 0 22px; border-radius: 18px; }
    .aa-blog-detail-mobile__body img,
    .aa-blog-detail-mobile + section .owl-article img { max-width: 100% !important; height: auto !important; }

    /* M7 service client: page-specific mobile presentation; desktop CMS/form remain unchanged. */
    .aa-service-clienti-legacy-title { display: none !important; }
    .aa-service-clienti-legacy-section { display: none !important; }
    .aa-service-clienti-mobile { padding: 28px 20px calc(28px + var(--aa-mobile-bottom-nav-height)); background: #fff; }
    .aa-service-clienti-mobile__inner { max-width: 430px; margin: 0 auto; }
    .aa-service-clienti-mobile__eyebrow { margin: 0 0 18px; color: var(--aa-mobile-red); font-size: 12px; font-weight: 800; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
    .aa-service-clienti-mobile__title { margin: 0 0 20px; color: var(--aa-mobile-text); font-size: 31px; font-weight: 700; line-height: 1.08; }
    .aa-service-clienti-mobile__intro { margin: 0 0 28px; color: #756e6b; font-size: 17px; font-weight: 400; line-height: 1.55; }
    .aa-service-clienti-mobile__card { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 14px; padding: 18px; border: 1px solid #f0e3de; border-radius: 22px; background: #fff; color: var(--aa-mobile-text); text-decoration: none; box-shadow: 0 5px 16px rgba(69, 43, 37, .05); }
    .aa-service-clienti-mobile__card--primary { border-color: #f1c9bf; background: #fff1ec; }
    .aa-service-clienti-mobile__icon { display: flex; flex: 0 0 48px; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 50%; background: #fbf0eb; color: var(--aa-mobile-red); font-size: 19px; }
    .aa-service-clienti-mobile__icon--primary { background: var(--aa-mobile-red); color: #fff; }
    .aa-service-clienti-mobile__card-body { min-width: 0; flex: 1 1 auto; }
    .aa-service-clienti-mobile__label { display: block; margin-bottom: 5px; color: var(--aa-mobile-red); font-size: 12px; font-weight: 700; text-transform: uppercase; }
    .aa-service-clienti-mobile__card strong { display: block; overflow-wrap: anywhere; font-size: 17px; }
    .aa-service-clienti-mobile__card small,
    .aa-service-clienti-mobile__card p { display: block; margin: 8px 0 0; color: #706866; font-size: 13px; line-height: 1.5; }
    .aa-service-clienti-mobile__card h2 { margin: 0; font-size: 17px; }
    .aa-service-clienti-mobile__link { display: inline-block; margin-top: 12px; color: var(--aa-mobile-red); font-size: 13px; font-weight: 700; }
    .aa-service-clienti-mobile__info { margin-top: 22px; padding: 18px; border-radius: 22px; background: #fff1ec; color: var(--aa-mobile-text); }
    .aa-service-clienti-mobile__info h2 { margin: 0 0 5px; font-size: 17px; }
    .aa-service-clienti-mobile__info ul { margin: 0; padding: 0; list-style: none; }
    .aa-service-clienti-mobile__info li { margin: 0; }
    .aa-service-clienti-mobile__info .aa-service-clienti-mobile__link { margin-top: 0; }

    /* Final, work-only override after legacy modal declarations. */
    #modale-quadro.aa-work-personalize-modal .modal-dialog { width: calc(100vw - 32px) !important; max-width: calc(100vw - 32px) !important; height: auto !important; margin: 16px auto !important; padding: 0 !important; background: transparent !important; }
    #modale-quadro.aa-work-personalize-modal .modal-dialog::before { content: none !important; display: none !important; }
    #modale-quadro.aa-work-personalize-modal .modal-content { position: relative !important; width: 100% !important; height: auto !important; min-height: 0 !important; overflow: hidden !important; border-radius: 24px !important; background: #fffdfc !important; }
    #modale-quadro.aa-work-personalize-modal .modal-content > .modal-body { border-radius: 0 !important; background: transparent !important; }
    #modale-quadro.aa-work-personalize-modal .modal-head { position: absolute !important; top: 12px !important; right: 12px !important; bottom: auto !important; left: auto !important; width: 42px !important; height: 42px !important; }
    #modale-quadro.aa-work-personalize-modal .aa-work-personalize-modal__close { position: absolute !important; inset: 0 !important; display: inline-flex !important; width: 42px !important; height: 42px !important; align-items: center !important; justify-content: center !important; border-radius: 50% !important; background: #fff1ec !important; }
    #modale-quadro.aa-giftcard-personalize-modal .modal-dialog { width: calc(100vw - 32px) !important; max-width: calc(100vw - 32px) !important; height: auto !important; margin: 16px auto !important; padding: 0 !important; background: transparent !important; }
    #modale-quadro.aa-giftcard-personalize-modal .modal-dialog::before { content: none !important; display: none !important; }
    #modale-quadro.aa-giftcard-personalize-modal .modal-content { position: relative !important; width: 100% !important; height: auto !important; min-height: 0 !important; overflow: hidden !important; border-radius: 24px !important; background: #fffdfc !important; }
    #modale-quadro.aa-giftcard-personalize-modal .modal-content > .modal-body { border-radius: 0 !important; background: transparent !important; }

    /* Themes intro: presentation-only mobile composition, retaining the CMS copy and existing theme links. */
    .aa-themes-intro-mobile__backbar { padding: 0 !important; background: #fff !important; }
    .aa-themes-intro-mobile__backbar .text-center { padding: 20px 18px 18px; text-align: left !important; }
    .aa-themes-intro-mobile__backbar h1 { margin: 0; color: var(--aa-mobile-text); font-size: 28px; font-weight: 800; line-height: 1.12; text-transform: none; }
    .aa-themes-intro-mobile { padding: 0 18px 22px !important; background: #fff; }
    .aa-themes-intro-mobile > .container { padding: 0 !important; }
    .aa-themes-intro-mobile .text-center { padding: 0; text-align: left !important; }
    .aa-themes-intro-mobile .row { margin: 0; }
    .aa-themes-intro-mobile .col-11 { width: 100%; max-width: none; padding: 0; }
    .aa-themes-intro-mobile h5 { margin: 0 !important; color: var(--aa-mobile-red) !important; font-family: inherit !important; font-size: 12px; font-weight: 800; letter-spacing: .08em; line-height: 1.25; text-transform: uppercase; }
    .aa-themes-intro-mobile .lead { margin: 12px 0 0 !important; color: #655d5a; font-size: 15px; font-weight: 400; line-height: 1.55; }
    .aa-themes-intro-mobile__themes { padding: 0 18px 26px; background: #fff; }
    .aa-themes-intro-mobile__themes .collection-row.collection-row-4 { margin: 0 !important; padding-right: 0 !important; padding-left: 0 !important; }
    .aa-themes-intro-mobile__themes .container { width: 100% !important; max-width: none !important; padding: 0 !important; }
    .aa-themes-intro-mobile__themes .container > .my-3 { min-height: 34px; margin: 0 0 13px !important; }
    .aa-themes-intro-mobile__themes .container > .my-3 h3 { display: none; }
    .aa-themes-intro-mobile__themes .view-all { margin: 0 0 0 auto; }
    .aa-themes-intro-mobile__themes .view-all a { color: var(--aa-mobile-red) !important; font-size: 11px; font-weight: 800; letter-spacing: .03em; text-decoration: none; text-transform: uppercase; }
    .aa-themes-intro-mobile__themes .row { display: grid !important; width: 100% !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; margin: 0 !important; }
    .aa-themes-intro-mobile__themes .row > .col { width: 100% !important; max-width: none !important; min-width: 0; padding: 0 !important; }
    .aa-themes-intro-mobile__themes .contenitore { position: relative; display: flex !important; width: 100% !important; min-height: 0 !important; height: auto !important; flex-direction: column; overflow: hidden; border: 1px solid #eee1dc; border-radius: 18px; background: #fff; box-shadow: 0 5px 14px rgba(69, 43, 37, .045); }
    .aa-themes-intro-mobile__themes .contenitore::before { content: none !important; display: none !important; }
    .aa-themes-intro-mobile__themes .contenitore > img.contenitore--img { position: relative !important; top: auto !important; left: auto !important; z-index: 1; display: block !important; width: 100% !important; min-width: 0; height: 180px !important; min-height: 0 !important; max-height: none !important; flex: 0 0 180px !important; object-fit: cover; }
    .aa-themes-intro-mobile__themes .textPanel { position: relative !important; z-index: 2; display: block; width: 100% !important; min-height: 76px !important; height: auto !important; flex: 1 0 auto; margin: 0 !important; padding: 12px; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
    .aa-themes-intro-mobile__themes .textPanel h5 { margin: 0 0 5px !important; color: var(--aa-mobile-text); font-size: 14px; font-weight: 800; line-height: 1.2; }
    .aa-themes-intro-mobile__themes .textPanel h5 a { color: inherit; text-decoration: none; }
    .aa-themes-intro-mobile__themes .textPanel p { margin: 0; color: #786f6c; font-size: 11px; line-height: 1.3; }
    .aa-themes-intro-mobile__themes .full-size-link { z-index: 3; }
    .aa-themes-intro-mobile__closing { padding: 0 18px calc(28px + var(--aa-mobile-bottom-nav-height)) !important; background: #fff; }
    .aa-themes-intro-mobile__closing .container { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
    .aa-themes-intro-mobile__closing .container > .my-3 { margin: 0 !important; padding: 20px 0 0 !important; }
    .aa-themes-intro-mobile__closing .text-center.mb-5 { margin: 0 0 22px !important; }
    .aa-themes-intro-mobile__closing .like-button { min-height: 48px; padding: 14px 20px; border: 1px solid var(--aa-mobile-red); border-radius: 999px; background: var(--aa-mobile-red); color: #fff !important; font-size: 13px; font-weight: 800; line-height: 1.2; text-decoration: none; }
    .aa-themes-intro-mobile__closing .row { display: block !important; width: 100% !important; margin: 0 !important; }
    .aa-themes-intro-mobile__closing .col-10 { display: block !important; width: 100% !important; max-width: none !important; flex: 0 0 100% !important; padding: 0 !important; }
    .aa-themes-intro-mobile__closing .border-top { width: 100% !important; padding: 18px !important; border: 1px solid #eee1dc !important; border-radius: 18px; background: #fffaf8; }
    .aa-themes-intro-mobile__closing .text-light-grey { width: 100% !important; max-width: none !important; color: #655d5a !important; font-size: 13px; line-height: 1.55; text-align: left !important; }

    /* Shared collection cards: the red collection entry and real theme cards retain their legacy links and Owl scroll. */
    @supports selector(body:has(*)) {
        body:has(.aa-themes-intro-mobile) section#footer { width: 100vw !important; max-width: none !important; margin-right: calc(50% - 50vw) !important; margin-left: calc(50% - 50vw) !important; }
    }
    .aa-collections-mobile { padding: 0 18px 24px !important; background: #fff; }
    .aa-collections-mobile > .container { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
    .aa-collections-mobile:not(.aa-collections-mobile--grid) .collection-row { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 !important; padding: 0 !important; overflow: hidden; }
    .aa-collections-mobile:not(.aa-collections-mobile--grid) .collection-row > div { width: 100% !important; max-width: none !important; min-width: 0; flex: 1 1 0 !important; padding-right: 0 !important; }
    .aa-collections-mobile:not(.aa-collections-mobile--grid) .collection-row > div > div { width: 100% !important; max-width: none !important; }
    .aa-collections-mobile .primo-contenitore { position: relative !important; display: block !important; min-height: 248px !important; height: 248px !important; overflow: hidden; border-radius: 18px; box-shadow: 0 5px 14px rgba(69,43,37,.06); }
    .aa-collections-mobile .primo-contenitore .btn { position: absolute !important; top: 50% !important; left: 50% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; transform: translate(-50%, -50%); }
    .aa-collections-mobile .primo-contenitore .btn a.link { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 0 22px !important; border: 1px solid rgba(255,255,255,.9); color: #fff; font-size: 11px; font-weight: 800; text-decoration: none; }
    .aa-collections-mobile .primo-contenitore .btn p { margin: 0; color: inherit; font-size: inherit; font-weight: inherit; }
    .aa-collections-mobile .primo-contenitore .textBottom { position: absolute; right: 14px; bottom: 12px; left: 14px; }
    .aa-collections-mobile .primo-contenitore .textBottom p { margin: 0; color: #fff; font-size: 11px; font-weight: 600; line-height: 1.35; }
    .aa-collections-mobile .carousel-collezioni { display: block !important; }
    .aa-collections-mobile .carousel-collezioni .owl-stage-outer { overflow: visible !important; }
    .aa-collections-mobile .carousel-collezioni .contenitore { position: relative; display: flex !important; min-height: 248px !important; height: 248px !important; flex-direction: column; overflow: hidden; border: 1px solid #eee1dc; border-radius: 18px; background: #fff; box-shadow: 0 5px 14px rgba(69,43,37,.06); }
    .aa-collections-mobile .carousel-collezioni .contenitore::before { content: none !important; display: none !important; }
    .aa-collections-mobile .carousel-collezioni .contenitore > img.contenitore--img { position: relative !important; top: auto !important; left: auto !important; z-index: 1; display: block !important; width: 100% !important; height: 180px !important; min-height: 0 !important; flex: 0 0 180px !important; object-fit: cover; }
    .aa-collections-mobile .carousel-collezioni .textPanel { position: relative !important; z-index: 2; width: 100% !important; min-height: 68px; flex: 1 0 auto; margin: 0 !important; padding: 10px 11px; border: 0 !important; border-radius: 0 !important; background: #fff !important; }
    .aa-collections-mobile .carousel-collezioni .textPanel h5 { margin: 0 0 4px !important; color: var(--aa-mobile-text); font-size: 13px; font-weight: 800; line-height: 1.2; }
    .aa-collections-mobile .carousel-collezioni .textPanel h5 a { color: inherit; text-decoration: none; }
    .aa-collections-mobile .carousel-collezioni .textPanel p { margin: 0; color: #786f6c; font-size: 11px; line-height: 1.25; }
    .aa-collections-mobile .carousel-collezioni .full-size-link { z-index: 3; }
    .aa-collections-mobile .carousel-collezioni .contenitore { height: 248px !important; }
    .aa-collections-mobile .carousel-collezioni .contenitore::after { position: absolute; right: 0; bottom: 0; left: 0; z-index: 2; height: 42%; pointer-events: none; background: linear-gradient(0deg, rgba(31,25,23,.72), rgba(31,25,23,0)); content: ''; }
    .aa-collections-mobile .carousel-collezioni .contenitore > img.contenitore--img { height: 248px !important; flex-basis: 248px !important; }
    .aa-collections-mobile .carousel-collezioni .textPanel { position: absolute !important; right: 0; bottom: 0; left: 0; z-index: 3; min-height: 0; padding: 13px 12px !important; background: transparent !important; }
    .aa-collections-mobile .carousel-collezioni .textPanel h5 { color: #fff; }
    .aa-collections-mobile .carousel-collezioni .textPanel h5 a { color: inherit; }
    .aa-collections-mobile .carousel-collezioni .textPanel p { color: rgba(255,255,255,.94); }
    .aa-collections-mobile .carousel-collezioni .full-size-link { z-index: 4; }
    .aa-collections-mobile--grid { padding-top: 0 !important; }
    .aa-collections-mobile--grid .collection-row { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
    .aa-collections-mobile--grid .collection-row > .row { display: grid !important; width: 100% !important; max-width: none !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 !important; }
    .aa-collections-mobile--grid .collection-row > .row > .col { position: relative !important; width: 100% !important; max-width: 100% !important; min-width: 0; flex: 0 0 100% !important; margin: 0 !important; padding: 0 !important; overflow: hidden; border: 1px solid #eee1dc; border-radius: 18px; background: #fff; box-shadow: 0 5px 14px rgba(69,43,37,.06); }
    .aa-collections-mobile--grid .collection-row > .row > .col > img.contenitore--img { position: relative !important; top: auto !important; left: auto !important; display: block !important; width: 100% !important; height: 180px !important; object-fit: cover; }
    .aa-collections-mobile--grid .textPanel { position: relative !important; display: block !important; width: 100% !important; min-height: 76px; margin: 0 !important; padding: 12px !important; border: 0 !important; border-radius: 0 !important; background: #fff !important; }
    .aa-collections-mobile--grid .textPanel > div { min-width: 0; }
    .aa-collections-mobile--grid .textPanel h5 { margin: 0 0 5px !important; overflow: hidden; color: var(--aa-mobile-text); font-size: 13px; font-weight: 800; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
    .aa-collections-mobile--grid .textPanel h5 a { color: inherit; text-decoration: none; }
    .aa-collections-mobile--grid .textPanel p { margin: 0; color: #786f6c; font-size: 11px; line-height: 1.25; }
    .aa-collections-mobile--grid .full-size-link { z-index: 3; }
}
