@import url(https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap);


body.account main :is(h1, h2, h3) {
    padding-inline: 0;
    background: none;

    small {
        font-size: 1rem;
        display: block;
        font-weight: 300;
        margin-block-start: .5rem;
    }
}


.account {

    .newuser {
        @media (width > 36rem) {
            display: grid;
            grid-template-columns: max-content 1fr;
            gap: 0 3rem;
        }


        line-height: 1.75;
        margin-block: 0 3rem;

        dt, dd {
            padding-block-end: .5rem;
            margin: 0;
        }

         
       @media (width <= 36rem) {
            dd {
                margin-block-end: 1rem ;
            } 
        }

        dt {
            font-weight: 400;
        }

        dd {
             font-weight: 300;
        }
    }

    .nav__filters.tagsfilter {
        display: none;
    }

    #progress-stroke,
    #claim-mask {
       animation: none;
    }

    .shortcuts {
        display: flex;
        flex-wrap: wrap;
        justify-content: start;
        gap: 1rem;
        padding-block-end: 2rem;
        margin-block-end: 2rem;
        border-bottom: 3px solid var(--color-border);

        a {
            flex: 0 0 3rem;
            display: flex;
            white-space: nowrap;
            block-size: 3rem;
            border-radius: 5px;
            padding: .5rem;
            background:  transparent;
            box-shadow: var(--shadow-small);
            border: 1px var(--color-border) solid;
            text-decoration: none;
               
            border-block-end-color: var(--color-border-dark);
            border-inline-end-color: var(--color-border-dark);

            
            align-self: center;
            transition: all .05s ease-in 0s;
            cursor: pointer;
            color:  var(--color-lightblue);

            @media (width > 48rem) {
                align-self: flex-end;
            }

            svg {
                max-inline-size: 2rem;
                max-block-size: 100%;
                fill: currentColor;

                &:has(+ span) {
                    margin-inline-end: .5rem; 
                }
            }


            &:focus:not(:focus-visible) {
                outline: none;
            }

        }

        a[aria-current="location"] {      
            box-shadow: none;
            background:  var(--color-white);
            transform: translateY(2px);
            box-shadow: none;
            border: 1px var(--color-border) solid;
            border-left-width: 2px;
            border-top-width: 2px;
            border-block-start-color: var(--color-border-dark);
            border-inline-start-color: var(--color-border-dark);
           
        }

    }


    .formgen {
        inline-size: 100%;
        border-radius: 10px;
        
         padding: 1.5rem;
        margin: 0 auto;
        background: linear-gradient(135deg, var(--color-palegreen), var(--color-paleblue));
        box-shadow: var(--shadow);

        @media (width >= 54rem) {
            flex-direction: row;
            
        }


        &:has(> .estrattoconto) {
            background: none;
            box-shadow: none;
        }



        li {
            gap: .5rem 0;
        }


        @container consegne (width > 48rem) {

            ul {
                grid-template-columns: min-content 2rem auto;
                gap: 2rem 0;
            }

       
            li {
                grid-column: span 3;
                grid-template-columns: subgrid; 
                /* grid-template-rows: auto; */
                
            
                > label { grid-column: 1; }
                > :not(label)  { grid-column: 3; }
            }


        }


        &.loading {
            position: relative;
            &::after {
                content: "";
                position: absolute;
                z-index: 10;
                inset: 0;
                background-color: rgba(240, 242, 250, .75);
                background-image: url(/images/loader-blue.png);
                background-position: center;
                background-size: auto 10rem;
                background-repeat: no-repeat;
            }
        }

        p {
            flex: 1 0 100%;
            color: var(--color-text);
            
        }

        fieldset {
            flex:1;
            position: relative;

            &:focus-within {
                z-index: 2;
            }
        }

        label {
            text-align: left;
            white-space: nowrap;
        }


        > div {
            align-self: end;
        }



        .combina11y {

            --list-size           : 10;
            --base-zindex         : 1;
            --bgcolor-listbox     : var(--color-white);
            --bgcolor-button      : hsl(260, 12%, 90%);
            --fgcolor-combobox    : var(--color-text);
            --fgcolor-listbox     : var(--fgcolor-combobox);
            --items-padding       : .25rem;

            @media (width <= 48rem) {
                --list-size        : 7;     
            }


            position: relative;
            z-index: var(--base-zindex);


            > div {
                position: relative;
            }
        

            .combina11y__group {

                display: flex;
                border-radius: 5px;
                border: 1px solid var(--color-border-dark);
                overflow: hidden;
                color: var(--fgcolor-combobox);
                position: relative;

                &::after {
                    content: "";
                    inline-size: 3rem;
                    z-index: 2;
                    inset: 0 3rem 0 auto;
                    position: absolute;
                    background: linear-gradient(to right, #fff0, #fff 80%, #fff);
                }

                &:focus-within {
                    outline: 2px solid var(--color-lightblue);
                    outline-offset: 2px;

                }

                :where(input, button, svg) {
                    border: 0;
                    color: inherit;
                }

                svg {
                    fill: none;
                    stroke: currentColor;
                    inline-size: 1.25rem;
                    transition: transform .25s 0s;
                }

                input { 
                    padding: .75rem .5rem;
                    inline-size: calc(100% - 3rem);
                    color: var(--color-lightblue);
                    
                    &:not(:placeholder-shown) {
                        text-transform: none;             
                    }  

                    &:focus {
                        outline: none;
                    }
                }

                button {
                    inline-size: 3rem;
                    cursor: pointer;
                    background-color: var(--bgcolor-button);

                    &:focus {
                        outline: 0;
                    }

                }

            }   


            [role="listbox"] {
                text-transform: uppercase;
                position: absolute;
                z-index: 10;
                top: calc(100% - .25rem);
                max-inline-size: 100%;
                overflow: auto;
                border-radius: 0;
                max-block-size: calc(
                var(--list-size) * calc((var(--items-padding) * 2) + 1lh)
                );

                inline-size: max-content;
                min-inline-size: 100%;
                margin: 0;
                padding: 0;
                border: 1px solid var(--color-border-dark);
                list-style-type: '';
                background-color: var(--bgcolor-listbox);
                color: var(--fgcolor-combobox);
                display: none;

                [role="option"] {
                    padding: var(--items-padding) .25rem;
                    cursor: pointer;
                    display: block;
                    position: relative;
                    background-color: var(--bgcolor-listbox);

                    border-bottom: 1px dotted #e2e2e6;


                    /* &:nth-child(2n + 1) {
                        background-color: #fdfeff;
                    } */

                    small {
                        font-size: 82%;
                        vertical-align: text-top;
                    }
                }

                [aria-selected="true"] {
                    background: #dde;
                }
            }


            &:has([aria-expanded="true"]) {

                z-index: calc(var(--base-zindex) + 1);  

                [role="listbox"] {
                    display: block;
                }


                svg {
                    transform: rotate(180deg);
                    transform-origin: center;
                }
            }

        }


        fieldset:has([inert]) label,
        [inert] {
            transition: opacity .33s 0s;
            opacity: .5;
            pointer-events: none;
        }

    }

    .estrattoconto  {

        container: ec / inline-size;
        

       
        table {

            border-collapse: collapse;
            border-radius: 5px;
            inline-size: 100%;

            caption {
                margin-block-end: 1rem;;
                text-align: left;
                font-style: italic;

                @container ec (width > 60rem) {
                    padding-inline: 0rem;
                }
            }

        }

        th, td b {
            text-align: left;
            font-weight: normal;          
            color: var(--color-lightblue);            
        }

        td b {
            color: var(--color-lightblue)
        }

        td,  tbody th {
            font-size: 92%;
            vertical-align: bottom;
        }

        thead th {
            padding: 1.5rem 0rem;
            border-bottom: 3px solid var(--color-border);
        }

        tbody th {
            font-weight: 500;
        }

        tr:not(:last-child) :is(td, th) {
            border-bottom: 1px solid var(--color-border);
        }

        :is(td, th) {
            text-align: left;

            span { display: none; }

            @container ec (width > 60rem) {
                padding: .75rem 0rem;
                border-collapse: collapse;

                /* &:nth-child(-n + 2) {
                    max-inline-size: 12rem;
                    min-inline-size: 12rem;
                    white-space: nowrap;
                } */
                &:nth-last-child(-n + 4) {
                    text-align: right;
                    b { 
                        text-align: right;
                        display: block;
                        padding-inline: .5rem;

                    }
                }

                &:nth-last-child(-n + 3) {
                    max-inline-size: 9rem;
                    min-inline-size: 9rem;
                    white-space: nowrap;
                }

                
            }
        }

    
        @container ec (width <= 60rem) {

            col { display: none }

            tr {
                margin-block-end : 2rem;
                border-bottom: 1px solid var(--color-border);
                display: block;
            }

            td, tbody th {
                display: grid;
                grid-template-columns: 10rem 1fr;
                padding: .25rem 1rem;
                gap: 1.5rem;
                background: var(--color-white);
                border-bottom: 0 !important;
                text-align: right;
                border-top: 1px dotted var(--color-border) !important;

                &::before {
                    color: var(--color-text);
                    content: attr(data-label);   
                    text-align: left;
                    border-right: 1px dotted var(--color-border) !important;    
                }

                b {
                    text-align: right;
                }


            }

            tbody th {
                br { display: none; }
            }

            thead {
                border: none;
                clip: rect(0 0 0 0);
                height: 1px;
                margin: -1px;
                overflow: hidden;
                padding: 0;
                position: absolute;
                width: 1px;
            }

            

        }
    }


    dt {
        @container ec (width > 60rem) {
            position: absolute;
            clip-path: inset(50%);
            inline-size: 1px;
            block-size: 1px;
            overflow: hidden;
        }
    }

    .estrattoconto__link {
        margin-top: 3rem;
    }


    .estrattoconto__totali {
        display: grid;
        grid-template-columns: 1fr 27rem;
        margin-block-start: 2rem;
        padding: 0 0 1rem 0;
        background: linear-gradient(135deg, var(--color-palegreen), var(--color-paleblue));
        box-shadow: var(--shadow);

        @container ec (width <= 60rem) {
            margin-block-start: 0;
            padding: 1rem 0;
            grid-rows: 1fr 1fr;
            grid-template-columns: 1fr;
        }

        > * {
            padding-top: 1rem;
        }

        p {
            grid-column: 1 / 2; 
            margin: 0;
            text-align: right;
            border-top: 3px solid transparent;

            @container ec (width <= 60rem) {
                text-align: left; 
                padding-block-start: 0;
                padding-inline: 1rem 3rem;
            }
        }

        dl {
            display: grid;
            margin: 0;
            grid-column: 1 / 2; 
            grid-row: 2 / 3;
            gap: .5rem;
            grid-template-columns: repeat(3, 1fr);
            color: var(--color-darkblue);

            @container ec (width > 60rem) { 
                gap: 0;
                grid-template-columns: repeat(3, 9rem);
                grid-column: 2 / 3;   
                grid-row: 1 / 2;
                border-top: 0;
            }
        }

        dd {
    
            margin: 0;
            padding-inline: .5rem;
            text-align: right;
            font-weight: 400;
            border-left: 0;
        }
    
        @container ec (width > 60rem) { 
            dd:nth-of-type(1) { grid-column: 1 / 2;  }
            dd:nth-of-type(2) { grid-column: 2 / 3;  }
            dd:nth-of-type(3) { grid-column: 3 / 4;  }
        }

        @container ec (width <= 60rem) { 
            dt { grid-column: 1 / 3;  padding-inline: 1rem;}
            dd { grid-column: 3 / 4; padding-inline: 1rem; }
        }
    }


}

.account--servizi main ul {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
    list-style-type: "";
    align-items: center;
    grid-auto-rows: min-content;
    margin: 0;
    padding: 0;


    li {
        border: 1px var(--color-border) solid;
        border-radius: 10px;
        padding: 2rem;
        block-size: 100%;
        transition: transform .33s 0s;
        box-shadow: var(--shadow);

        span {
            text-align: left;
            position: relative;
            margin: auto;
            color: var(--color-lightblue);
            &::before {
                content: "";
                inset: -.5rem;
                position: absolute;
                border: 1px transparent solid;
                border-radius: 5px;
                z-index: -1;
                background: var(--color-lightblue);
                clip-path: inset(50%);
                opacity: 0;
                transition: all .33s 0s;
            }
        }



        &:hover, &:focus-within {
            &:has(a) {
                background: linear-gradient(135deg, var(--color-paleblue), transparent);
                transform: scale(1.03);
            
                span {
                    color: var(--color-darkblue);
                }
            }
        }

        &:focus-within {
            outline: 2px solid var(--color-lightblue);
            outline-offset: -2px;
        }
    }



    .box {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        align-items: center;
        gap: 2.5rem;
        text-transform: uppercase;
        letter-spacing: 1px;
        font-size: 1rem;
        font-weight: 400;
        text-decoration: none;
        
        &:focus {
            outline: none;
        }
    }


    @media (width >= 42rem) {
         grid-template-columns: repeat(2, 1fr);

         span {
            text-align: center;
         }
    }
    
    @media (width >= 96rem) {
        grid-template-columns: repeat(3, 1fr);
    }

    
    img {
        max-inline-size: 50%;
        margin: 0 auto;
        align-self: center;
    }


    @media (width >= 40rem) {
        li {
            span {
                margin: auto 0;
            }
            img {
                margin-inline: 0 auto;
                max-inline-size: 85%;
            }
            .box {
                grid-template-columns: 1fr 2fr;
                gap: 2.5rem;
            }
        }
    }
       
}


.account--maxsize main {
    max-inline-size: 64rem;
}

.account--agente main {

    textarea {
        min-block-size: max(25cqi, 20rem);
        inline-size: 100%;
        resize:vertical;
        padding: .5rem;
        scroll-padding-block-end: .5rem;

        line-height: 1.6;

    }

    dl {
        display: grid;
        grid-template-columns: 10rem auto;
        line-height: 1.66;
    }


    dd {
        margin-inline-start: 0;
        font-weight: 400;
        color: var(--color-darkblue);
    }

    a:any-link {
        color: var(--color-darkblue);
    }


    #msgagente {
        gap: 0;
        border: 0;
    }

    #msgagente div:last-child {
        flex: 1 1 100%;
    }
}


.account--consegne main {

    container: consegne / inline-size;
    
    p:not(.cnt__actions) a:any-link {
        color: var(--color-darkblue);
    }

    h1 br {
        @media (min-width: 42rem) {
            /* display: none; */
        }
    }

    /* .paginazione:first-of-type {
        padding-block-start: 0rem;
    } */

    #toggle-search-filter {
        flex: 0 0 3rem;
        inline-size: 3rem;
        block-size: 3rem;
        border-radius: 5px;
        background:  transparent;
        box-shadow: var(--shadow-small);
        border: 1px var(--color-border) solid;


        border-block-end-color: var(--color-border-dark);
        border-inline-end-color: var(--color-border-dark);

        
        align-self: center;
        transition: all .05s ease-in 0s;
        cursor: pointer;
        color:  var(--color-lightblue);

        @media (width > 48rem) {
            align-self: end;
        }

        svg {
            max-inline-size: 100%;
            fill: currentColor;
        }


        &:focus:not(:focus-visible) {
            outline: none;
        }

    }

    &:has(form[aria-hidden="false"]) {

        #toggle-search-filter {
            box-shadow: none;
            background:  var(--color-white);
            transform: translateY(2px);
            box-shadow: none;
            border: 1px var(--color-border) solid;

            border-block-start-color: var(--color-border-dark);
            border-inline-start-color: var(--color-border-dark);
           
        }

    }

    .exceedsresults {
        margin-block-start: 3rem;

        strong {
            color: var(--color-lightblue);
        }
    }

    .cnt--filterstatus {
        background:  var(--color-white);
        
        padding: 1rem;
        z-index: 3;
        border-radius: 10px;
        padding-block-end: 1.5rem;
        margin-block-end: 1.5rem;

        > section {
            display: flex;
            justify-content: space-between;
            flex-direction: column;
            align-items: center;
            gap: 1.5rem;
            @media (width > 48rem) {
                flex-direction: row;
            }

            @media (width <= 48rem) {
                text-align: center;
            }

        }

        

        h2 {
            margin-block-start: 0;
        }


        
        gap: 3rem;   

       
        p {
            padding: 0;
        }

        ul {
            margin-block: 1.5rem 0 ;
            padding-inline: 1rem 0;
            list-style-type: none;
        }

        @media (width > 48rem) {
            li::marker {
                content: "â ";          
            }
        }

        li {
            padding-inline-start: .5rem;
           
        }


        strong {
            color: var(--color-lightblue);
            @media (width <= 48rem) {
                display: block;
            }
        }
    }

    [aria-labelledby="currentfilter-title"] +  .cnt--filter {
        &:has([aria-hidden="false"]) {
            margin-block-start: 1.5rem;
        }
    }

    .cnt--filter {

        display: grid; 
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.33s, margin-block-start 0.33s;
        margin-inline: 0;
        margin-block-start: 0;
        --spacer: 0;
        will-change: grid-template-rows;

        &:has([aria-hidden="false"]) {
            grid-template-rows: 1fr;
            --spacer: 4;
        }
      
        ul {
            margin: 0;
            padding: 0;
        }

        form  {
            &[aria-hidden="true"] {
                overflow: hidden; 
            }
            opacity: 0;
            padding-block: 0;
            transition: all .3s 0s;
            will-change: opacity;
            position: relative;
            z-index: 1;
            

            &:focus {
                outline: 2px solid var(--color-lightblue);
                outline-offset: -5px;
            }

            fieldset {
                padding: 3rem 0 ;
                margin: 0 !important;
            }

            &[aria-hidden="false"] {
                transition: opacity .2s .1s;
                padding-block: 1.5rem;
                opacity: 1;
            }

            h2 {
                padding-block: 0;
                position: static;
                transform: none;
            }

            
            .closebutton {
                position: absolute;
                top: 1rem;
                right: 1.5rem;
                inline-size: 3rem;
                block-size: 3rem;
                background: transparent;
                border: 0;


                svg {
                    inline-size: 100%;
                    aspect-ratio: 1;
                    stroke: var(--color-lightblue);
                    stroke-width: 4px;
                }
            }

        }


    }

    .combina11y {
        --list-size: 8 !important;
    }

    .combina11y__group {
        color: var(--color-lightblue) !important;
    }

    .accordion {
        margin-block-start: 3rem;
        border: 1px dotted var(--color-border);
        border-radius: 10px;
        overflow: hidden;
        box-shadow: var(--shadow);
    }



    .accordioncnt__element {
        margin: 0;
        border: 0;

        &:not(:last-child) {
            border-bottom: 1px var(--color-border) dotted;

            &:has([aria-expanded]):hover:not(:focus) {
                border-bottom: 1px var(--color-border) dotted;
            }
        }


        &:nth-child(2n + 1) {
            background: var(--color-white);
        }

          
    }

    .accordioncnt__button {

        &:is(:hover, :focus) {
            
            _background: var(--color-palegreen);
            
            
        }

        &:focus {
            outline: none;
        }

        svg {
            align-self: center;
            inline-size: 4rem;
            stroke: var(--color-lightblue);
        }


        /* &::before {
            content: "";
            inset: 0;
            position: absolute;
            z-index: 1;
        } */

        background: transparent;

        span {
            padding: .75rem 1rem;
            color: var(--color-lightblue);
            font-weight: 400; 
            font-size: 1.75rem;
            display: flex;
            justify-content: space-between;
            align-items: center;

            @media (width < 42rem) {
                flex-direction: column;
                 align-items: flex-start
            }

            small {
                font-size: .87rem;
                white-space: nowrap;
                font-weight: 400;
            }
        }
    }

    .accordioncnt__title {
        position: relative;

        &:has(:focus) {
            outline: 2px var(--color-lightblue) solid;
            outline-offset: -3px;
        }
        
    }

    .consegna__detail {
        color: var(--color-lightblue);
        font-size: 1.5rem;
        margin: 1rem;
        display: block;
        font-weight: 400;

        :any-link, span {
            color: inherit;
        }

        small {
            padding-inline-start: 1rem;
            display: inline;
        }
    }

    #budgetutente {
        .accordioncnt__button span {
            font-size: 1rem;

            @media (width < 40rem) {
                br {
                    display: none;
                }
            }

            @media (width >= 40rem) {

                small {
                    min-inline-size: 10rem;
                    text-align: right;

                    
                }

            }
        }
    }

    .consegne__links {
        .cta {
            margin-inline-start: auto;
            margin-block-start: 1rem;
            text-align: center;
            min-inline-size: 17rem;
            inline-size: 100%;
            display: flex;
            justify-content: space-between;
            gap: .5rem;


            &::after {
                inline-size: 1.6rem;
                background-size: cover;
                aspect-ratio: 1;
            }
            &.cta--pdf::after {
                content: "";
                background-image: url(/icons/pdf.png);
            }
            &.cta--jpg::after {
                content: "";
                background-image: url(/icons/jpg.png);
            }

            &:not(.cta--pdf):not(.cta--jpg) {
                text-align: center;
                justify-content: center;
            }

        } 

        ul {
            list-style-type: '';
            padding: 0;
            margin: 0;

            li:not(.fail):empty {
                min-inline-size: 10rem;
                background: url(../images/loader-blue.png) center center no-repeat;
                background-size: 3rem auto;
                block-size: 1rem;
                inline-size: 100%;
            }
        }
    }

    .consegna__info {
        padding: .75rem 1rem 1rem;
        display: flex;
        flex-direction: column;
        gap: 1.5rem 3rem;
        
        @container consegne (width > 48rem) {
            flex-direction: row;
            align-items: flex-end;
        }


        dl {
            font-size: .88rem;
            display: grid;
            gap: 0 1rem;
            margin: 0;
            grid-template-columns: min-content auto;
            flex: 999;
        }

        dt {
            font-weight: 400;
            white-space: nowrap;
            padding-inline-end: 1rem;
            min-inline-size: 9rem;
        }

        dd {
            margin: 0;
            /* white-space: nowrap;
            font-family: "Roboto Mono", serif; */

            * {
                font-family: inherit;
            }
        }

        :is(dt, dd):last-of-type {
            /* margin-block-start: 1rem;     */   
        }


        > div {

            @container consegne (width > 48rem) {
                flex: 1;
            }
            display: flex;
            gap: 0;
            flex-direction: column;
            align-self: end;
            justify-content: space-between;

            @container consegne (width <= 48rem) {
                inline-size: 100%;
                display: flex;
                flex-wrap: wrap;

                justify-content: flex-end;
            }
        }

        .consegne__links {
            padding-block-start: 0;
            margin-inline: 0;
            .cta { color: var(--color-white) !important; inline-size: fit-content; }
        }
    }

    .consegna__statuslavorazione {
        flex: 555 !important;
        inline-size: min(20rem, 100%);


        figure {
            margin: 0;

            ul {
                display: flex;
                flex-wrap: nowrap;
                gap: 1.5rem;
                list-style: none;
                justify-content: end;
            }

            

            svg {

                inline-size: 2.5rem;
                fill: transparent; 
                stroke: currentColor;
                stroke-width:4; 
                stroke-linejoin: round;
                stroke-linecap: round;
                aspect-ratio: 1;
                display: block;
                color: inherit;

                &:has([href="#icon-forklift"]) {
                    stroke-width: 2; 
                    transform: scale(-1, 1) translateY(.375rem);
                }

                &:has([href="#icon-truck"]) {
                    stroke-width: 2; 
                    transform: scale(-.86, .86) translateY(.25rem);
                }

                &:has([href="#icon-package"]) {
                    transform: scale(1.02) translateY(-.0625rem);
                }
            }



            li {
                position: relative;
                color:  var(--color-border);
            }

            li:not(:first-child)::before {
                content: "\21A6" / "";
                position: absolute;
                inline-size: 1rem;
                top: 0;
                font-size: 1.5rem;
                block-size: 100%;
                transform: translate(-1.33rem , -1px);
                color: currentColor;
            }

            li:has(~ .current), li:is(.current) { 
                color: #49a010;
               
            }
        }


        figcaption {
            display: block;
            margin-block-end: 1rem;
            font-size: 86%;
            
            text-align: right;

            b {
                color: var(--color-lightblue);
                text-transform: lowercase;
            }
        }

    }

    .accordioncnt__content {
        &:empty {
            background-image: url(/images/loader-blue.png);
            background-position: center;
            background-size: auto 100%;
            background-repeat: no-repeat;
        }
    }

    div:has(> .combina11y__group) {
        position: relative;

        [role="option"]:first-child {
            padding-block: 1rem;
        }
    }


    form h2 {
        margin-block: 0;
    }





    [role="option"]:first-child {
        padding-block: .75rem;
    }
}


.account--profilo {

    .formgen { 
        background: transparent; 
        box-shadow: none;
        border-radius: 0;
        padding: 0;
    }

    label {
        white-space: normal !important;
    }


    /* #progress-stroke {
       stroke-dasharray: 0;

    }

    #claim-mask {
        inline-size: 100%;
    } */


}

.account--nuovo {
}

.account--logo {

    main {
        container: uploadlogo / inline-size;
    }
    
    .formgen { 
        background: transparent; 
        box-shadow: none;
        border-radius: 0;
        
        padding: 1rem;
        border: 1px solid var(--color-border);
        border-radius: 10px;
        margin-block: 2.5rem 5rem;

        ul {
            grid-template-columns: repeat(1, 1fr) !important;
        }
    }

    input[type="file"] {
        padding: .75rem;
        font-size: 1rem;
        border-radius: 5px;
        border: 1px solid var(--color-border);
        font-weight: 400;
        line-height: inherit;
        color: var(--color-lightblue);

        &:focus {
            outline-color: var(--color-lightblue);
        }

        &::file-selector-button {
            display: none;
        } 

    }

     .cropper-view-box {
        outline-color: var(--color-white);
    }

    .cropper-crop-box:focus-within .cropper-view-box {
        outline: 4px solid var(--color-white);
        outline-offset: -1px;
    }

    .cropper-bg {
        background-position: 0px 0px, 10px 10px;
        background-size: 20px 20px;
        background-image: 
            linear-gradient(45deg, #f2f4f2 25%, transparent 25%, transparent 75%, #f2f4f2 75%, #f2f4f2 100%),
            linear-gradient(45deg, #f2f4f2 25%, var(--color-white) 25%, var(--color-white) 75%, #f2f4f2 75%, #f2f4f2 100%);
    
        @container uploadlogo (width <= 56rem) {
            width: 100cqi !important;
            border-radius: 10px;
            overflow: hidden;
        }
    }

    .cropper-modal {
        background-color: #233026;
    }

    button:has(kbd) {
        border: 1px solid var(--color-border);
        background: none;
        inline-size: 3rem;
        padding: 0;
        display: inline-grid;
        align-items: center;
        cursor: pointer;
    }

     .drop-area {
        padding: 1rem;
        border: 1px solid var(--color-border);
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        cursor: pointer;
        border-radius: 10px;
        grid-area: 1/1;

        @container uploadlogo (width <= 56rem) {
            min-block-size: 15rem;
        }

        &.highlight {
            background: #ebf0f6;
            border: 1px dashed var(--color-border-dark);
        }

        &:has(+ input:focus) {
            outline: 2px solid var(--color-lightblue);
            outline-offset: 2px;
        }
    }


    .controls {
        display: flex;
        justify-content: space-around;
        margin-top: 10px;
    }

    .uploadsteps {
        margin-block-start: 3rem;
        container: uploadsteps / inline-size;

        @container uploadlogo (width <= 56rem) {
            display: flex;
            flex-direction: column;
            gap: 3rem;
        }

        [aria-labelledby="upload-step2"],
        [aria-labelledby="upload-step3"] {
            opacity: 1;
            transition: opacity .33s 0s;
        }

        &:has(img:not([src])),
        &:has(img[src=""])  {
            [aria-labelledby="upload-step2"],
            [aria-labelledby="upload-step3"] {
                pointer-events: none;
                opacity: .35;
            }

        }

        @container uploadlogo (width > 56rem) {
            display: grid;
            gap: 0 5rem;
            grid-template-areas: "s1 s2" "s1 s3";
            grid-template-columns: min(100%, 25rem) 1fr;

            [aria-labelledby="upload-step1"] { 
                grid-area: s1; 
            }

            [aria-labelledby="upload-step2"] { 
                grid-area: s2 
            }
            
            [aria-labelledby="upload-step3"] { 
                grid-area: s3; 
                align-self: end; 
            }
        }

        max-inline-size: 100%;
        border-radius: 10px;
        overflow: hidden;
        border: 1px var(--color-border) solid;
        padding: var(--cntpadding);
        background: linear-gradient(135deg, var(--color-palegreen), var(--color-paleblue));

        [aria-labelledby="upload-step1"] { 
            display: flex; 
            flex-direction: column; 

            fieldset {
                display: grid;
                flex: 1;         
                position: relative;     
                grid: 1fr / 25rem;

                @container uploadsteps (width <= 56rem) {
                    grid-template-columns: 100%;
                    max-inline-size: 100% !important;
                    inline-size: 100% !important;
                }
            }

            #cropcontainer {
                grid-area: 1/1;
                max-inline-size: 100%;
                border-radius: 10px;

                &:has(img:not([src])),
                &:has(img[src=""])  {
                    display: none;

                }

            
                container: drag-area / inline-size;
                display: grid;
                background: repeating-conic-gradient(#bbb 0% 25%, #eee 0% 50%) 50% / 10px 10px;
                place-content: center;
            }

            #imagecontainer {
                position: relative;
                margin-block: 1rem;

                img {
                    user-drag: none; /* Prevent image dragging */
                    user-select: none; /* Prevent text selection */
                    display: block;
                    object-fit: cover;
                    max-inline-size: 100%;
                }
            }

            #croparea {
                position: absolute;
                top: 0;
                left: 0;
                z-index: 1;
                inline-size: min(256px, 100cqi);

                aspect-ratio: 256 / 96;
                border: 4px var(--color-lightblue) dashed;
                border-radius: 0;
                cursor: grab;
                will-change: transform;
                transform: translate(
                    var(--x, 0), var(--y, 0)
                );
                    
                &.grabbing {
                    cursor: grabbing
                }
            }
                


        }
       

        .cnt__actions {
            margin-block-start: 2rem;
        }

        #cropreset {
            border: 2px solid var(--color-lightblue);

            &:focus {
                outline-color: var(--color-lightblue);
            }
        }

        h2 {
            margin-block-start: 0;
        }
    }

    #uploadstatus {
        padding: .5rem 0;
        font-size: 1rem;
        color: var(--color-error);

        &.ok {
            color: var(--color-pass);
        }

        &:empty {
            display: none;
        } 

        @container uploadlogo (width <= 56rem) {
            order: -1;
        }

        
    }
  
     button:has(kbd) {
        font-size:1.5rem;
        color: var(--color-lightblue);
        border-radius: 10px;
        background: linear-gradient(to bottom, #f2f2f2 0%, #e9e9e9 80%, #d2d2d2 100%);
        font-family: sans-serif;
        display: inline-block;
        transition: box-shadow 0.3s ease, transform 0.15s ease;
        box-shadow: 0 0 1px #888,0 1px 0 #fff, 
            0 6px 0 #C0C0C0, 0 8px 17px rgba(#444, 0.4), 
            2px 1px 4px rgba(#444, 0.25), 
            -2px 1px 4px rgba(#444, 0.25), 
            0 9px 16px rgba(#444, 0.1);
        
        &:hover,
        &:focus {
            box-shadow: 0 0 1px #888,0 1px 0 #fff, 
            0 4px 0 #C0C0C0, 0 2px 35px rgba(#444, 0.3), 
            2px 2px 4px rgba(#444, 0.25),
             -2px 2px 4px rgba(#444, 0.25), 
             0 7px 4px rgba(#444, 0.1);
            transform: translateY(1px);
        }
        
        &:active {
            box-shadow: 0 0 1px #888,0 1px 0 #fff, 0 0 0 #C0C0C0, 0 0px 30px rgba(#444, 0.15), 2px 2px 4px rgba(#444, 0.25), -2px 2px 4px rgba(#444, 0.25), 0 0px 4px rgba(#444, 0.25);
            transform: translateY(4px); 
        }
    }

    kbd {
        font-size: 1.5rem;
        font-weight: 300;
        block-size: 1rem;
        line-height: .65rem;
        pointer-events: none;
        user-select: none;
    }


    [aria-labelledby="upload-step2"] > fieldset {
        display: flex;
        gap: 1rem;
        margin-block-start: 2rem;
        @container uploadlogo (width > 56rem) {
            margin-block-end: 2rem;
        }
    }

    .movecrop {
        display: grid;
        gap: .5rem;
        grid-template-areas: 
            ".u." 
            "l.r" 
            ".d.";
        grid-template-rows: repeat(3, 3rem);
        grid-template-columns: repeat(3, 3rem);

        #btt-crop-up { grid-area: u;  }
        #btt-crop-down { grid-area: d; }
        #btt-crop-left { grid-area: l;   }
        #btt-crop-right { grid-area: r;   }

    }

    .zoomcrop {
        display: grid;
        gap: .5rem;
        place-content: center;
        grid-template-areas: 
            ".p."
            ".x."
            ".m.";
        grid-template-rows: repeat(3, 3rem);
        grid-template-columns: repeat(3, 3rem);

        #btt-zoom-up { grid-area: p;  }
        #btt-zoom-down { grid-area: m;  }
     

    }

}


.download__section {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(30ch, 1fr));
    

    .download__item {
        display: grid;
        gap: 0;
        grid-row: span 3;
        grid-template-rows: subgrid;
        padding: 1rem;
        border-radius: 10px;
        border: 1px solid var(--color-border);
        box-shadow: var(--shadow-small);
        transition: all .33s 0s;
        small {
            font-style: italic;
            margin-block: .25rem 3rem;
        }

        &:hover, &:focus-within {
            background: linear-gradient(135deg, var(--color-paleblue), transparent);
            transform: scale(1.03);
        }


        > :last-child {
            padding-block-end : 0;
            display: flex;
            justify-content: end;

            p {
                inline-size: fit-content;
                padding: 0;
            }
        }
    }

    .download__title {
        margin-block: 0;
        padding-block: 0;
    }

    [data-type] { display: flex; gap: .5rem; }

    [data-type="pdf" i]::after {
        content: "";
        background-size: cover;
        inline-size: 1.6rem;
        aspect-ratio: 1;
    }

    [data-type^="pdf" i]::after {  background-image: url(/icons/pdf.png); }
    [data-type^="xls" i]::after {  background-image: url(/icons/xls.png); }
    [data-type^="txt" i]::after {  background-image: url(/icons/txt.png); }
    [data-type^="doc" i]::after {  background-image: url(/icons/doc.png); }
   
}


section:has(.download__section) {
    margin-block-start: 3rem;

    &:not(:last-child) {
        padding-block-end: 5rem;
        border-bottom: 2px solid var(--color-border);
    }
}



.budget svg:has(symbol) {
    inline-size: 1px;
    block-size: 1px;
    position: absolute;
    clip-path: inset(50%);
    overflow: clip;
}



.budget__entities {

    label {
        font-size: 1rem;
        font-weight: 500;
        color: var(--color-lightblue);
        flex: 1;
        cursor: pointer;
    }

    a svg {
        block-size: 2rem;
        aspect-ratio: 1;
        fill: var(--color-lightblue);
    }


    form {
        .budget__row div {
            display: flex;
            justify-content: space-between;
            align-items: center;

            

            @media (width < 40rem) {
                flex-direction: column;
                align-items: start;
            }
        }

        ul {
            list-style: none;
            display: flex;
            padding: 0;
            margin: 0 1rem 0 auto;
            gap: 1rem;
            

            a {
                display: flex;
                padding: .5rem;
                align-items: flex-end;
                border-radius: 5px;
            }

            @media (width < 40rem) {
                display: inline-flex;
                margin-inline-start: 0;
            }

        }

        :any-link {
            color: var(--color-lightblue);
        }

    }

    fieldset {
        overflow: clip;
        border: 1px solid var(--color-border);
        border-radius: 10px;

        &:not(:first-child) {
            margin-block: 3rem 0;
        }
    }


    > section:not(:first-child) {
        margin-block: 6rem 0;
    }


    .budget__row:not(.budget__users) > div {
        margin-block: 1rem;
    }

    .budget__row {
        display: flex;
        flex-direction: column;
        gap: 0;

        > *:not(.budget__users) {
            padding: 0 1.5rem;
        }
        .budget__users {
            padding: 1rem 0;
            position: relative;
            padding-inline-start: 3rem;
            background: #f1f2f7;

            &::before {
                content: "";
                position: absolute;
                left: 1.5rem;
                top:  0;
                inline-size: 1.5rem;
                height: 50%;
                border-left: 1px solid;
                border-bottom: 1px solid;
                
            }

            + .budget__users {
                &::before {
                    height: calc(100% + .75rem);
                    top: 0;
                    transform: translateY(calc(-50% - .375rem));
                }
            }
        }
    }

    .budget__rowtitle {
        padding: 0;
        margin: 0;
        font-size: 1rem;
        font-weight: 400;
        color: var(--color-text);
        text-transform: initial;
        letter-spacing: initial;
    }

    div:has(> input[type="checkbox"]) {
        @media (width < 40rem) {
            position: relative;
        }
    }

    input[type="checkbox"] {
        flex: 0 0 auto;
        position: relative;

        color: var(--color-lightblue);
        inline-size: 4rem;
        block-size: 2rem;
        -webkit-appearance: none;
        background: #d8d8d8;
        border-radius: 2rem;
        box-shadow: inset 0 0 .25rem rgba(30, 32, 39, 0.1);
        transition: background, opacity 0.33s;
        opacity: .75;
        cursor: pointer;

        @media (width < 40rem) {
            margin: .75rem 0;
            position: absolute;
            bottom: 0;
            right: 1.5rem;
        }


        &::before {
            content: '';
            position: absolute;
            width: 2rem;
            aspect-ratio: 1;
            border-radius: 50%;
            top: -1px;
            left: 0;
            transform: scale(1.1);
            background: var(--color-white);
            box-shadow: var(--shadow-small);
            transition: transform .33s;
        }

        &:checked {
            background: var(--color-lightblue);
            opacity: 1;
            &::before {
                transform: translateX(2rem);
            }
        }
    }


    .budget__users {

        > div {
            opacity: 1;
            transition: all .33s; 
            [inert] {
                opacity: .25;      
                cursor: not-allowed;
                
            }
        }
    } 
}


.budget--settings {

    svg:has(symbol) {
        block-size: 0;
        inline-size: 0;
        position: absolute;
    }

    h1 small {
        font-size: 48%;
        display: block;
    }

    .fld {
        ul {
            gap: 1.5rem 5rem;
        }
    }

    #lbl-tipoGestione {
        margin-block-end: 1rem;
        display: block;
    }

    caption {
        text-align: left;
    }

    th {
        font-weight: 500;
    }

    :is(th, td) {
        color: var(--color-lightblue);
    }

    tbody :is(th, td) {
        border-top: 1px solid var(--color-border);
        padding-block: .5rem;
    }

    .formgen fieldset.fld:has(+ div) {
        margin-block-end: 2rem;
    }

    table {
        inline-size: 100%;
        padding: 0;
        margin: 0;
        border-collapse: collapse;

        input {
            inline-size:8rem;
        }

        thead th {
            padding-block: 1rem;   
        }

        thead th:not(:first-child), td:not(.left), input {
            text-align: right;
        }

        th:first-child {
            text-align: left;
        }
    }

    form .periodi {
        margin-block-end: 2rem;
    }

    .periodi {
        
        @media (width > 40rem) {
            table {
                border-bottom: 1px solid var(--color-border);
            }
        }

        @media (width <= 40rem) {

            margin-block-end: 2rem;

            tr {
                border-bottom: 1px solid var(--color-border);
                display: block;
                margin-block-end: 2rem;
            }

            td, tbody th {
                display: flex;
                align-items: center;
                padding: .5rem 1rem;
                background: var(--color-white);
                
                &[data-label]::before {
                    flex: 1;
                    color: var(--color-text);
                    text-align: left;
                    content: attr(data-label);       
                }
            }

            tbody th {
                background: var(--color-palegreen);
            }
                        

            thead {
                border: none;
                clip: rect(0 0 0 0);
                height: 1px;
                margin: -1px;
                overflow: hidden;
                padding: 0;
                position: absolute;
                width: 1px;
            }
        }
    }

    &:has(option[value="M"]:checked) {
        .periodo:not(#periodoM) {
            display: none;
        }
    }
    &:has(option[value="T"]:checked) {
        .periodo:not(#periodoT) {
            display: none;
        }
    }
    &:has(option[value="Q"]:checked) {
        .periodo:not(#periodoQ) {
            display: none;
        }
    }
    &:has(option[value="S"]:checked) {
        .periodo:not(#periodoS) {
            display: none;
        }
    }
    &:has(option[value="A"]:checked) {
        .periodo  {
            display: none;
        }
    }

    .grid path:first-child.domain {
        display: none;
    }


    #chart {
        margin-block-start: 5rem;
        position: relative;

        svg {
            max-inline-size: 100%;

            .x-axis text {
                font-family: "Roboto Mono";
                font-size: .85rem;
                display: block;

                &.monthly {
                    transform: rotate(-45deg) translateX(-20px);
                }
            }
        }
    }




   

}
.accordioncnt__button i {
    font-style: normal
}

.request__pending [type="submit"] {
    background-image: url(/images/loader-transp.png);
    background-position: center;
    background-size: auto 80%;
    background-repeat: no-repeat;
    opacity: 0.4;
    pointer-events: none;
}

.noupdate {
    opacity: 0.4;
    pointer-events: none;
}

.request__pending button span {
    visibility: hidden;
} 


.bdg__usertable {
    inline-size: 100%;

    th, td {
        text-align: start;
        padding-block-end: 1.5rem;

        font-weight: 500;
        color: var(--color-lightblue);
        

        &:last-child {
            padding-inline-start: 3rem;
        }
    }

    input {
        text-align: right;
        inline-size: 100%;
    }

    .request__pending {
        background-image: url(/images/loader-blue.png);
        background-position: center left;
        background-size: 2rem auto;
        background-repeat: no-repeat;
        opacity: 0.6;
        pointer-events: none;
    }

    tbody {
        th {
            font-weight: normal;
        }

        th, td {
            padding-block-end: .25rem;
            font-weight: normal;
            
        }
    }


    col {
        inline-size: 33%; 
    }
}

[name="gruppo-utente"] {
    text-align: center;
    inline-size: 3rem;
}

.cnt:has(.products__stamp) {
    padding: 0 !important;
    margin-block-start: 0 !important;
}

.products:has(.products__stamp) {
    grid-template-columns: 1fr;

    .products__photo {
        /* background-color: var(--color-white) !important; */
    }

    .products__item.products__stamp {
        @media (width >= 36rem) {
            grid-template-columns: 1fr 1fr;
        }

        &:hover::before {
            display: none;
        }
       
    }

    .products__stamp__delete {
        position: absolute; 
        z-index: 1;
        left: 1rem;
        top: 1rem;
        background: var(--color-white);
        border: 1px solid var(--color-border-dark);
        inline-size: 3rem;
        aspect-ratio: 1;
        border-radius: .5rem;
        cursor: pointer;
        outline-color:  var(--color-lightblue);
        stroke: var(--color-lightblue);
        svg {
            display: block;
            inline-size: 100%;
            max-block-size: 100%;
        }
       
    }



    dl {
        display: grid;
        gap: 0 2rem;
        grid-template-columns: auto 1fr;
    }

    dt {
        font-weight: 500;
        color: var(--color-lightblue);
    }

    dd {
        margin-inline: 0;
    }

    dt:last-of-type {
        margin-block-start: 1rem;
    }
 
    dd:last-of-type {
        grid-column: 1/3
    }


    img {
        inline-size: min(75%, 18rem);
        aspect-ratio: auto;
        border-radius: .5rem;
        border: 1px dashed var(--color-border);
    }


    .products__body {
        grid-row : span 2;

        &.noaddtocart {
           grid-row : span 1; 

            dl {
                margin-block: 0
            }
        }
    }

    form {
        justify-content: end;
        gap: 1rem;
    }

    dl {
        margin-block: 0 1.5rem;
    }

    .products__item.imgerror {
        .products__photo {
            background-position: 50%;
            min-block-size: 15rem;
        }
    }
}

#confirm-dialog {
    padding: 1.5rem;
    border-radius: 1rem;
    background: var(--color-bg-menu);
    border: 2px solid var(--color-lightblue);
    inline-size: min(95%, 40rem);

    &::backdrop {
        background: rgba(25, 25, 30, .75);
    }

    h2 {
        position: static;
        transform: none;
        padding: .5rem;
        color: var(--color-lightblue);
    }

    .formgen {
        background: none;
        box-shadow: none;
        border: none;
        padding-inline: 0;

        div {
            display: flex;
            margin-block-start: 3rem;
            justify-content: end;
            gap: 1.5rem;
        }
    }

    .cta[type="button"] {
        &:is(:hover, :focus) {
            color: var(--color-lightblue);
            background: var(--color-white)
        }

        &:focus {
            outline: 2px solid;
            outline-offset: 0;
        }
    }

    svg {
        stroke: var(--color-white);
        display: block;
        inline-size: 2rem;
        aspect-ratio: 1;
    }

    .cta:has(svg) {
        inline-size: auto;
    }

}

.consegna__header {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;

    @container (width > 60rem) {
        flex-direction: row;
        justify-content: space-between;
        align-items: end;
    }

    

    margin-block: 3rem;


}


main:has(.consegne__links--sticky) {
    padding-block-end: 0;
}

.consegne__links--sticky {
    position: sticky;
    z-index: 1;
    bottom: 0;
    border-top: 2px dotted var(--color-border);
    background: var(--color-palegreen);
    padding: 1rem;

    ul {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        justify-content: end;
    }

    li {
        @media (width < 40rem) {
            inline-size: 100%;
        }
    }

    .cta {
        inline-size: min(100%, 17rem) !important;
        margin-block: 0 !important;

        @media (width < 40rem) {
            inline-size: 100% !important;
        }
    }
}



.consegna__detinfo {
    display: grid;
    grid-template-columns: max-content auto;
    margin-block: 0;

    dt {
        font-weight: 500;
    }
}

.consegna__detordine {
    background: var(--color-white);
    border-radius: 1rem;
    padding: 1.5rem;

    h2 {
        margin-block-start: 0;
        display: flex;
        gap: 1rem;
        border-radius: .5rem;
        align-items: center;
        padding-inline: 1rem  !important;
        background: var(--color-bg-menu) !important;
        @container (width <= 40rem) {
            inline-size: 100%;
            flex-direction: column;
        }

        small {
            display: inline !important;
            margin-block-start: 0 !important;
            @container (width <= 40rem) {
                display: block !important;
                text-align: center;
            }
        }

        svg {
            --close: block;
            --open: none;
            inline-size: 2.5rem;
            aspect-ratio: 1;
            stroke-width: 4px;
            stroke-linecap: round;
            stroke-linejoin: round;
        }
    }

    col:first-child {
        inline-size: 65%;
    }

    &.consegna__detordine--small {
        col:first-child {
            inline-size: 50%;
        }

        col:nth-last-child(-n + 5) {
            inline-size: 5rem;
        }
        
        @media (width >= 48rem) {
            :is(td, th):last-child {
                text-align: center !important;
            }
        }
    }

    .list-items-data {
        :any-link {
            text-decoration: none;
            display: block;
            margin-block: 2px;
            inline-size: fit-content;
            border-radius: 2px;

            small {
                text-decoration: underline;
            }
        
            span {
                color: var(--color-lightblue);
            }

            &:focus, &:visited {
                outline-color: var(--color-lightblue);
            }
        }


    }

    td:first-child  { text-transform: lowercase;}

     @media only screen and (width >= 48rem) {

        table.list-items-data :is(td, th) {
            text-align: center;
            &:first-child { text-align: left; }
            &:last-child { text-align: right;}
        }
    }
}

body:is(.account) {
    position: relative;
    .iubenda-tp-btn {
        position:absolute !important;

    }
}

#tree {

    border: 1px solid var(--color-border);
    overflow: hidden;
    border-radius: .5rem;
    --gap: .5rem;
        
    [role="treeitem"] {
        cursor: pointer;
        border-top: 2px dotted var(--color-border);
        padding-block: .5rem;

        p {
            min-block-size: 3rem;
            color:  var(--color-lightblue);
        }

        &:focus {
            outline-color: var(--color-lightblue);
            outline-offset: -2px;

        }
    }

    [aria-expanded="true"] {
        > p:has(+ [role="group"]) {
            margin-block-end: .5rem;
        }
    }

    .folder {
        > p {
            display: flex;
            align-items: center;
            font-weight: 500;
            text-transform: uppercase;
            gap: var(--gap);
            padding-block: 0;
            margin-inline-start: calc(1.5rem * var(--indent));
    
            &::before {
                content: "";
                background: url(data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 12"><path d="M2 2L 10 10L18 2" fill="none" stroke="%231b335f"></path></svg>);
                background-repeat: no-repeat;
                background-size: 1rem auto;
                background-position: center ;
                inline-size: 1rem;
                block-size: 3rem;
                margin-inline-start: 1rem;
                transition: transform .25s 0s;
            }
        }

        .leaf {
            > p {
                display: flex;
                align-items: center;
                gap: var(--gap);
                margin-inline-start: calc(1.5rem * (var(--indent) + 0));
                &::before {
                    content: "";
                    inline-size: 3rem;
                    aspect-ratio: 1;
                    background-repeat: no-repeat;
                    background-size: cover;
                    margin-inline : 1rem .5rem;
                }
            }

            :any-link {
                text-decoration: none;
                font-weight: 400;
                color: var(--color-lightblue);
            }

            small {
                display: block;
                font-weight: 300;
                color: var(--color-darkblue);
            }

            &[data-type="mp4"] p::before { background-image: url(/icons/mp4.png); }
            &[data-type="zip"] p::before { background-image: url(/icons/zip.png); }
            &[data-type^="doc"] p::before { background-image: url(/icons/doc.png); }
            &[data-type^="xls"] p::before { background-image: url(/icons/xls.png); }
            &[data-type="txt"] p::before { background-image: url(/icons/txt.png); }
            &[data-type="pdf"] p::before { background-image: url(/icons/pdf.png); }
            &[data-type="link"] p::before { background-image: url(data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5v2H5v12h12v-5h2Zm-.003-7.586-7.293 7.293-1.414-1.414L17.583 5h-4.586V3h8v8h-2V6.414Z" fill="%231b335f" stroke="none" /></svg>); }


        }

        &[aria-expanded="false"] > p::before {
            transform: rotateZ(-90deg);
        }

    }

    > [role="treeitem"]:first-child {
        border-top: 0;
    }

    [role="group"] { --indent: 1; }
    [role="group"] [role="group"] { --indent: 2; }
    [role="group"] [role="group"] [role="group"] { --indent: 3; }
    [role="group"] [role="group"] [role="group"] [role="group"] { --indent: 4; }

}