.utility-strap-shadow {
    position: absolute;
    inset: 0;

    z-index: 5;
    pointer-events: none;

    background-color: rgba(0, 0, 0, 0.22);

    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size:
        var(--utility-main-mask-size)
        var(--utility-main-mask-size);
    -webkit-mask-mode: luminance;

    mask-position: center;
    mask-repeat: no-repeat;
    mask-size:
        var(--utility-main-mask-size)
        var(--utility-main-mask-size);
    mask-mode: luminance;

    filter: blur(5px);
    transform: translate(0, 4px);

    opacity: 0;
    transition: opacity 0.2s ease;
}

.utility-strap-preview.has-model .utility-strap-shadow {
    opacity: 1;
}	
		
    .utility-strap-front,
    .utility-strap-lining {
        position: absolute;
        inset: 0;

        background-color: transparent;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;

        -webkit-mask-position: center;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size:
            var(--utility-main-mask-size)
            var(--utility-main-mask-size);
        -webkit-mask-mode: luminance;

        mask-position: center;
        mask-repeat: no-repeat;
        mask-size:
            var(--utility-main-mask-size)
            var(--utility-main-mask-size);
        mask-mode: luminance;

        transition:
            background-color 0.2s ease,
            background-image 0.2s ease;
    }

    .utility-strap-front {
        z-index: var(--utility-z-front-leather);
    }

    .utility-strap-lining {
        z-index: var(--utility-z-lining);
    }

    /* Regole comuni per tutti i layer SVG configurati nel Blocco 1. */
    .utility-strap-svg-layer {
        position: absolute;
        inset: 0;

        display: none;
        pointer-events: none;

        background-position: center;
        background-repeat: no-repeat;
        --utility-layer-size: var(--utility-svg-default-size);

        background-size:
            var(--utility-layer-size)
            var(--utility-layer-size);

        -webkit-mask-position: center;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size:
            var(--utility-layer-size)
            var(--utility-layer-size);
        -webkit-mask-mode: luminance;

        mask-position: center;
        mask-repeat: no-repeat;
        mask-size:
            var(--utility-layer-size)
            var(--utility-layer-size);
        mask-mode: luminance;
    }

    .utility-strap-svg-layer.is-visible {
        display: block;
    }

    /* Layer SVG delle quote. */
    .utility-strap-measurement-layer {
        position: absolute;
        inset: 0;
        display: none;
        pointer-events: none;
        background-position: center;
        background-repeat: no-repeat;
        --utility-measurement-size: 102.14%;
        background-size:
            var(--utility-measurement-size)
            var(--utility-measurement-size);
    }

    .utility-strap-measurement-layer.is-visible {
        display: block;
    }

    .utility-strap-measurement-text {
        position: absolute;
        z-index: 2;
        transform: translate(-50%, -50%);
        white-space: nowrap;
        line-height: 1;
        font-family: Arial, Helvetica, sans-serif;
        font-weight: 500;
        color: #111111;
        text-align: center;
        pointer-events: none;
        font-size: var(--utility-measurement-font-size, 12px);
    }

    .utility-strap-measurement-text.is-empty {
        display: none;
    }

    .utility-strap-measurement-text.is-debug::before,
    .utility-strap-measurement-text.is-debug::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        background: #e00000;
        transform: translate(-50%, -50%);
        pointer-events: none;
    }

    .utility-strap-measurement-text.is-debug::before {
        width: 12px;
        height: 1px;
    }

    .utility-strap-measurement-text.is-debug::after {
        width: 1px;
        height: 12px;
    }


    .utility-strap-preview.has-model .utility-strap-front,
    .utility-strap-preview.has-model .utility-strap-lining {
        background-color: #dedede;
    }

    .utility-strap-preview.has-front-leather .utility-strap-front,
    .utility-strap-preview.has-lining-leather .utility-strap-lining {
        background-color: transparent;
    }

    .utility-strap-preview-message {
        z-index: var(--utility-z-message);
    }

    /* Comandi discreti sotto l'anteprima */
    .utility-config-share-wrap {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;

        margin: -10px 0 0;
        position: relative;
        z-index: 30;
    }

    .utility-config-share-button,
    .utility-config-restart-button,
    .utility-config-png-button,
    .utility-config-pdf-button {
        appearance: none;

        min-height: 28px;
        padding: 4px 9px;

        border: 1px solid #d8d2cc;
        border-radius: 4px;

        background: rgba(255, 255, 255, 0.88);
        color: #625a53;

        font-family: Arial, Helvetica, sans-serif;
        font-size: 10px;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: 0.25px;

        cursor: pointer;

        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);

        transition:
            color 0.18s ease,
            background-color 0.18s ease,
            border-color 0.18s ease,
            transform 0.18s ease;
    }

    .utility-config-share-button:hover,
    .utility-config-restart-button:hover,
    .utility-config-png-button:hover,
    .utility-config-pdf-button:hover {
        color: #2f2924;
        background: #ffffff;
        border-color: #9f978f;
        transform: translateY(-1px);
    }

    .utility-config-share-button.is-copied {
        color: #ffffff;
        background: #47725a;
        border-color: #47725a;
    }


    .utility-config-share-wrap.is-busy button {
        pointer-events: none;
        opacity: 0.55;
    }

    @media (max-width: 767px) {

        .utility-config-share-wrap {
            margin-top: 0;
        }

        .utility-config-share-button,
        .utility-config-restart-button,
        .utility-config-png-button,
        .utility-config-pdf-button {
            min-height: 30px;
            padding: 5px 9px;
            font-size: 10px;
        }
    }

/* =========================================================
   SAFARI / iPadOS — FIX MASCHERE CONFIGURATORE
   ========================================================= */

html.utility-ios-mask-fix .utility-strap-front,
html.utility-ios-mask-fix .utility-strap-lining,
html.utility-ios-mask-fix .utility-strap-shadow,
html.utility-ios-mask-fix .utility-strap-svg-layer {
    -webkit-mask-mode: alpha !important;
    mask-mode: alpha !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

html.utility-ios-mask-fix .utility-strap-shadow {
    filter: none !important;
    opacity: 0.16;
}

