.nav-tabs {
    border: none;
}

.nav-tabs .nav-item a.nav-link {
    color: #004B9B;
    font-size: 16px;
    font-weight: 700;
    display: inline-block;
    text-decoration: none;
    margin-bottom: 0;
    margin-right: 10px;
    border: 2px solid #F0B400;
    border-radius: 22px;
    background-color: #FFFFFF;
}

.nav-tabs .nav-item a.nav-link:hover {
    color: #004B9B;
    background-color: #ffd350e5;
    border-color: #ffd350e5;
}

.nav-tabs .nav-item a.nav-link.active{
    background-color: #ffd350e5;
    border-color: #ffd350e5;
}
.doc-wrapper {
	padding: 20px;
	background-color: #FFFFFF;
	border-radius: 0px;
	box-shadow: #E3E3E380 0 5px 16px;
	height: 100%;
  position: relative
}
.doc {
    background-color: #F4F4F4;
    border-radius: 0px;
    padding: 5px 10px;
    position: relative;
    height: 222px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.doc.carrello{ height: auto; padding:10px}

.preferito {
    background-color: #D7E9FF;
    border-radius: 8px 0 8px 0;
    color: white;
    font-size: 20px;
    text-align: center;
    line-height: 22px;
    padding: 7px;
    position: absolute;
    z-index: 5;
    width: 36px;
    height: 36px;
  left:-2px;
}

.preferito.attivo {
    background: rgba(255, 210, 80);
    background: -moz-linear-gradient(180deg, rgba(255, 210, 80, 1) 0%, rgba(240, 180, 0, 1) 100%);
    background: -webkit-linear-gradient(180deg, rgba(255, 210, 80, 1) 0%, rgba(240, 180, 0, 1) 100%);
    background: linear-gradient(180deg, rgba(255, 210, 80, 1) 0%, rgba(240, 180, 0, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFD250", endColorstr="#F0B400", GradientType=1);
    color: #004B9B;
}

.preferito a {
    color: inherit;
    text-decoration: none;
}
/*#galleryCampagna{display:none}*/
.small{font-size:14px!important}
.variant-tag {
        display: inline-block;
        background: #dfb582;
        color: #fff;
        padding: 4px 10px;
        border-radius: 4px;
        font-size: 12px;
        margin-right: 5px;
        margin-bottom: 5px;
    }
.product-info-label {
        font-weight: 600;
        color: #60564a;
        font-size: 13px;
        text-transform: uppercase;
        margin-bottom: 5px;
    }
 .product-info-value {
        color: #666;
        font-size: 14px;
    }
.alert-info-box {
        background: #e8f4f8;
        border-left: 4px solid #17a2b8;
        padding: 15px;
        margin-bottom: 20px;
        border-radius: 4px;
    }

/* Styles extracted from tpl/tpl_store_configurazione_catalogo.php */
/* Sidebar hover effects */
/*.sidebar a:hover {
    transform: translateX(5px);
    transition: all 0.3s ease;
}*/

/* Table hover */
.table tbody tr {
    transition: background-color 0.2s ease;
}

.table tbody tr:hover {
    background-color: rgba(223, 181, 130, 0.1);
}

/* Stats cards hover */
/*
.card:hover {
    transform: translateY(-5px);
    transition: transform 0.3s ease;
}
*/
.workflow-container{background-color: #FFF; padding-left:300px;}


.opt-text-alternate {
    color: #004B9B !important;
    &:hover {
        color: #004B9B !important;
    }
}
.opt-text-primary {
    color: #C49C82;
}

.bg-primary,
.opt-bg-primary {
    background-color: #C49C82 !important;
}

.opt-text-secondary {
    color: #60564A !important; 
    /*&:hover {
        color: white !important;
    }*/
}

.opt-text-link {
    color: #60564A !important; 
    &:hover {
        color: #60564A !important; 
    }
    font-weight: 600;
}

.opt-text-link {
    color: #C19562 !important; 
    &:hover {
        color: #C19562 !important; 
    }
    font-weight: 600;
}

.opt-text-chiaro {
    color: #6F7376 !important;
}

.opt-bg-grigio {
    background-color: #E1E5E5 !important;
}

.opt-bg-grigio-scuro {
    background-color: #8C9799 !important;
}

.opt-bg-arancio {
    background-color:#FF9300!important
}

table.td-noborder {
    td {
        border: none !important;
    }
}

table.tr-separator {
    tr {
        border-bottom: 1px solid #E1E5E5;
    }
}

.opt-checkbox {
    border-color: #C49C82;
}

.opt-checkbox:checked {
    background-color: #C49C82;
    border-color: #C49C82;
}

.quotation-entry table,
.quotation-entry table td,
.quotation-entry table th,
.quotation-entry table tr {
    border: none;
}
.quotation-entry .table > :not(:first-child) {
    border-top: none;
}
.quotation-entry th:first-child {
   /* max-width: 300px;
    width: 300px;*/
    overflow: hidden;
    /* text-overflow: ellipsis; */
    white-space: nowrap;
    /*padding-left: 16px;*/
    font-weight: bold;
}
.quotation-entry td:first-child {
    padding-left: 0;
}
.quotation-entry th:last-child,.quotation-entry td:last-child {
    /*max-width: 230px;
    width: 230px;*/
    text-align: left;
    /*padding-left: 16px;*/
}
.quotation-entry thead th:not(:first-child) {
    font-weight: normal;
}
.quotation-entry th:not(:first-child):not(:last-child) {
    /*text-align: center;
    max-width: 150px;
    width: 150px;*/
}
.quotation-entry thead th:not(:first-child) {
    font-weight: normal;
}
.quotation-entry table tbody tr:hover {
    background-color: transparent;
}
.quotation-entry table td,
.quotation-entry table th {
    /*padding-top: 12px;
    padding-bottom: 12px;*/
  padding:12px;
}
.quotation-entry td{ font-weight: 700}
.quotation-entry td:not(:first-child):not(:last-child) {
    /*text-align: center;*/
}


.form-check-input{
    width: 20px;
    height: 20px;
    border: 2px solid #C49C82;
}
.form-check-input:focus{
    box-shadow: 0 0 0;border-color:#C49C82;
}
.form-check-input:checked{
    background-color: #C49C82;
      border-color: #C49C82;
}
.retroplanning{color:#8C9799;}
.retroplanning th{text-align: left!important}
.retroplanning td{text-align: left!important; font-size: 16px; font-weight: 400}
.retroplanning tr.select{ background-color: #FFF4E5; font-weight: 700; color:#323232}
.retroplanning tr.select td{font-weight: 700}
.retroplanning .btn{background-color: #FF9300; color:#FFF; border:0}
.retroplanning .rp-drag-cell{width:1%; vertical-align:middle}
.retroplanning .handle{cursor:grab; color:#8C9799; padding:0 6px; user-select:none; display:inline-block}
.retroplanning .handle:active{cursor:grabbing}
.retroplanning tr.rp-dragging{opacity:.45}
.retroplanning tr.rp-drag-over{background:#f3f5f5}
.retroplanning .rp-icon-action{background:none;border:0;padding:0;color:#8C9799;cursor:pointer;line-height:1}
.retroplanning .rp-icon-action.text-danger{color:#dc3545}
.retroplanning .rp-complete-link{background:none;border:0;padding:0;color:#5a6a6e;text-decoration:underline;cursor:pointer;font-size:13px;font-weight:600}
.retroplanning .rp-add-voice{background:none;border:0;padding:0;color:#5a6a6e;text-decoration:underline;cursor:pointer;font-size:14px;font-weight:600}
.danger-tooltip .tooltip-inner {
  background-color: #dc3545; /* Bootstrap danger red */
  color: #fff;
  border: none !important;
  box-shadow: none !important;
}
/* Style the little arrow to match */
.danger-tooltip .tooltip-arrow::before {
  border-bottom-color: #dc3545; /* Change based on tooltip placement (top/bottom/left/right) */
  border: none !important;
  box-shadow: none !important;
}

.tooltip-inner {
    padding: 0 !important;
    background-color: transparent !important;
    /* Remove default dark border lines or shadows */
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.validation-error {
    display: none;
}

.dt-column-header {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    box-sizing: border-box !important;
    align-items: center !important;
}

.dt-column-header:has(input) {
    flex-direction: column !important;
    align-items: stretch !important;
}

.dt-column-header > .dt-column-title-row {
    display: flex !important;
    align-items: center;
    flex-shrink: 0;
}

.dt-column-header > .dt-column-title-row > .dt-column-title {
    padding-right: 4px;
}

.dt-column-header .dt-column-order {
    margin-left: auto !important;
}

.dt-column-header > .dt-column-order {
    margin-left: auto !important;
}

.dt-column-header > input {
    display: block !important;
    width: 100% !important;
    flex-shrink: 0;
    margin-top: 4px;
    box-sizing: border-box;
}

.brief-project {

    dialog {
        border: 0;
        padding: 50px;
    }

    .progress-brief {
        background-color: #f4f4f4;
        padding: 20px 0;
    }

    .main-container {
        margin-bottom: 24px;
        scroll-margin-top: 100px;
    }

    .progress-brief.step1 .fa-clipboard-list,
    .progress-brief.step2 .fa-ruler-combined,
    .progress-brief.step3 .fa-palette,
    .progress-brief.step4 .fa-dolly,
    .progress-brief.step5 .fa-cube,
    .progress-brief.step6 .fa-circle-check {
        color: #0B0A09;
    }

    .progress-brief.step2 .fa-clipboard-list,
    .progress-brief.step3 .fa-clipboard-list,
    .progress-brief.step4 .fa-clipboard-list,
    .progress-brief.step5 .fa-clipboard-list,
    .progress-brief.step6 .fa-clipboard-list,
    .progress-brief.step3 .fa-ruler-combined,
    .progress-brief.step4 .fa-ruler-combined,
    .progress-brief.step5 .fa-ruler-combined,
    .progress-brief.step6 .fa-ruler-combined,
    .progress-brief.step4 .fa-palette,
    .progress-brief.step5 .fa-palette,
    .progress-brief.step6 .fa-palette,
    .progress-brief.step5 .fa-dolly,
    .progress-brief.step6 .fa-dolly,
    .progress-brief.step6 .fa-cube {
        color: #C19562;
    }

    .progress-brief .progress-row {
        display: flex;
        justify-content: space-between;
        flex-direction: row;
        width: 50%;
        margin: 0 auto;
    }

    .progress-brief .bespoke-icon {
        font-size: 24px;
        color: #e3e3e3;
    }

    form input:not([type="checkbox"]):not([type="radio"]) {
        height: 39px;
    }

    form .bordato {
        font-weight: bold;
        font-size: 16px;
        color: #323232;
        padding-left: 20px;
        padding-right: 20px;
    }

    #footer-buttons {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 20;
        padding: 30px 0;
        background-color: #f4f4f4;
    }

    #footer-buttons .container {
        display: flex;
        flex-direction: row;
        justify-content: space-between
    }

    #footer-buttons .container a.step0 {
        visibility: hidden;
    }

    /* Step 2 */
    .form-grid {
        display: grid;
        gap: 20px 25px;
        max-width: 1200px;
        margin: 20px auto;
    }

    .block-allegati-tecnici,
    .block-benchmark-tecnici,
    .block-note {
        margin-left: 40px;
        margin-right: 40px;
    }

    .form-grid.step2 {
        grid-template-columns: repeat(3, 1fr);
    }

    .form-grid.step2 > .form-group {
        min-width: 0;
    }

    .form-grid.step2 select.select {
        min-width: 0;
        max-width: 100%;
    }

    /* bootstrap-select copies select/bordato/full onto its wrapper and renders a .btn */
    .form-grid.step2 .bootstrap-select.bordato {
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
        padding: 0;
        border: 0;
        background: transparent;
        height: auto;
    }

    .form-grid.step2 .bootstrap-select > .dropdown-toggle {
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
        height: 39px;
        margin: 0;
        padding: 4px 36px 4px 20px;
        background: #F4F4F4;
        border: 2px solid #E1E5E5;
        border-radius: 4px;
        color: #323232;
        font-weight: 700;
        font-size: 16px;
        line-height: 1.2;
        box-shadow: none;
    }

    .form-grid.step2 .bootstrap-select > .dropdown-toggle:hover,
    .form-grid.step2 .bootstrap-select > .dropdown-toggle:focus,
    .form-grid.step2 .bootstrap-select.show > .dropdown-toggle {
        background: #F4F4F4;
        color: #323232;
        border-color: #E1E5E5;
        outline: none;
        box-shadow: none;
    }

    .form-grid.step2 .bootstrap-select > .dropdown-toggle::after {
        position: absolute;
        right: 14px;
        top: 50%;
        margin: 0;
        transform: translateY(-50%);
    }

    .form-grid.step2 .bootstrap-select .filter-option {
        overflow: hidden;
        height: auto;
        line-height: 1.2;
    }

    .form-grid.step2 .bootstrap-select .filter-option-inner-inner {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .form-group {
        display: flex;
        flex-direction: column;
    }

    .form-group label {
        font-size: 14px;
        color: #888;
        margin-bottom: 8px;
        font-weight: 400;
    }

    .form-note {
        grid-column: 1 / -1;
        margin: 10px 0 5px 0;
        font-size: 14px;
        line-height: 1.5;
        color: #222;
    }

    input.bordato,
    textarea.bordato {
        background-color: #fff;
    }

    h2 {
        margin: 16px auto 0;
        font-size: 14px;
        text-transform: uppercase;
    }

    .product-block-title {
        font-size: 16px;
        font-weight: bold;
        text-transform: uppercase;
        background: #E1E5E5 0% 0% no-repeat padding-box;
        display: flex;
    }

    .product-block-title p {
        padding: 20px;
        margin: 0;
    }

    .briefFormstep2 {
        padding: 0px;
    }

    .briefFormstep4 {
        padding: 8px;
    }

    /* Step 4 */
    .form-grid.step4,
    .form-grid.step6 {
        grid-template-columns: repeat(2, 1fr);
    }

    .container-double {
        justify-content: space-between;
    }

    .container-double .form-group {
        width: 48%;
    }

    /* Step 6 */
    .briefFormstep6 + h1 + .container-sm {

        .macro-block {
            margin-bottom: 20px;
            background: #fff;

            .form-grid {
                margin: 0;
            }
        }

        .product-block-title {
            display: flex;
            justify-content: space-between;
        }

        .form-grid {
            gap: 0;
            max-width: 100%;
            grid-template-columns: 30% 70%;

            .form-group {
                border-bottom: 2px solid #e1e5e5;
                padding: 10px 20px;

                .form-title {
                    font-size: 14px;
                    color: #8C9799;
                }

                .form-data {
                    font-weight: bold;
                    font-size: 16px;

                    a {
                        i.fa-solid {
                            margin-right: 8px;
                        }
                    }
                }
            }
        }
    }
}

.brief-project {
    .upload-modal {
        max-width: 1112px;
        margin: 0 auto;
        background-color: #ffffff;
        border-radius: 4px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
        overflow: hidden;
    }

    /* Titolo della modale */
    .modal-header {
        padding: 20px;
        text-align: center;
        border-bottom: 1px solid #f0f0f0;
    }

    .modal-header h2 {
        margin: 0;
        font-size: 16px;
        font-weight: 700;
        letter-spacing: 0.5px;
        color: #000;
        text-transform: uppercase;
    }

    .modal-body {
        padding: 25px 30px;
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .modal-subtitle {
        text-align: center;
        font-size: 13.5px;
        color: #555;
        margin: 0 0 10px 0;
        line-height: 1.4;
    }

    .modal-field {
        width: 100%;
        height: 46px;
        box-sizing: border-box;
        border-radius: 2px;
        font-size: 16px;
        outline: none;
    }

    select.modal-field {
        background-color: #f7f7f7;
        border: 1px solid #e2e2e2;
        color: #111;
        font-weight: 700;
        padding: 0 15px;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        background-image: url("data:image/svg+xml;utf8,<svg fill='%23be9464' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
        background-repeat: no-repeat;
        background-position: right 12px center;
        background-size: 20px;
    }

    /* Input Cerca con Icona Lente */
    .search-wrapper {
        position: relative;
        width: 100%;
    }

    .search-wrapper input {
        padding: 0 40px 0 15px;
        border: 1px solid #e0e0e0;
        background-color: #fff;
        color: #333;
        font-size: 16px;
    }

    .search-wrapper input::placeholder {
        color: #999;
        font-weight: 700;
    }

    .search-wrapper .search-icon {
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        color: #be9464;
        font-size: 16px;
        pointer-events: none;
        z-index: 2;
    }

    .repo-search-results {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        margin-top: 4px;
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 2px;
        max-height: 240px;
        overflow-y: auto;
        z-index: 20;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    }

    .repo-search-results[hidden] {
        display: none !important;
    }

    .repo-search-item {
        display: block;
        width: 100%;
        text-align: left;
        border: 0;
        background: #fff;
        padding: 10px 14px;
        cursor: pointer;
        border-bottom: 1px solid #f0f0f0;
    }

    .repo-search-item:hover,
    .repo-search-item:focus {
        background: #fcf9f5;
        outline: none;
    }

    .repo-search-item-name {
        display: block;
        color: #111;
        font-weight: 700;
        font-size: 14px;
    }

    .repo-search-item-meta {
        display: block;
        color: #777;
        font-size: 12px;
        margin-top: 2px;
    }

    .repo-search-empty,
    .repo-search-loading {
        padding: 12px 14px;
        color: #777;
        font-size: 13px;
    }

    .upload-dropzone {
        border: 1px dashed #cccccc;
        background-color: #ffffff;
        padding: 25px 20px;
        text-align: center;
        border-radius: 2px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 12px;
    }

    .upload-dropzone p {
        margin: 0;
        font-size: 13px;
        color: #444;
    }

    .btn-upload-file {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        border: 1.5px solid #be9464;
        background-color: #ffffff;
        color: #be9464;
        padding: 8px 18px;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
        border-radius: 2px;
        transition: all 0.2s ease;
    }

    .btn-upload-file:hover {
        background-color: #fcf9f5;
    }

    .uploaded-file-bar {
        background-color: #f5f5f5;
        padding: 12px 18px;
        border-radius: 2px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .uploaded-file-name {
        color: #be9464;
        font-weight: 700;
        font-size: 14px;
        text-decoration: underline;
        cursor: pointer;
    }

    .btn-delete-file {
        background: none;
        border: none;
        color: #be9464;
        font-size: 16px;
        cursor: pointer;
        padding: 4px;
        transition: color 0.2s ease;
    }

    .btn-delete-file:hover {
        color: #a0784c;
    }

    .modal-footer {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        padding: 20px 30px 30px 30px;
        background-color: #ffffff;
    }

    .btn-action {
        min-width: 130px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
        border-radius: 2px;
        transition: all 0.2s ease;
        box-sizing: border-box;
    }

    .btn-cancel {
        border: 1.5px solid #be9464;
        background-color: #ffffff;
        color: #be9464;
    }

    .btn-cancel:hover {
        background-color: #fcf9f5;
    }

    /* Bottone Conferma (Pieno con spunta invertita) */
    .btn-confirm {
        border: none;
        background-color: #be9464;
        color: #ffffff;
    }

    .btn-confirm:hover {
        background-color: #a0784c;
    }

    button.similar-product {
        background-color: #2B9F00;
        border-radius: 20px;
        color: #fff;
        border: 2px solid #2B9F00;
        height: 38px;
        align-self: center;
        white-space: nowrap;
        margin-right: 8px;
    }

    .similar-buttons {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px;
        margin-left: 12px;
        margin-right: auto;
    }

    .similar-buttons .btn-open-similar.hidden {
        display: none !important;
    }

    #modalSimilarProducts {
        .similar-empty {
            text-align: center;
            color: #666;
            margin: 24px 0 0;
        }

        .similar-product-image {
            width: 100%;
            height: 160px;
            object-fit: cover;
            background-color: #849296;
        }

        .btn-apri {
            text-decoration: none;
            display: inline-block;
            text-align: center;
        }

        .modal-dialog {
            max-width: 1100px;
        }

        .modal-content.benchmark-modal {
            border: none;
            border-radius: 0;
        }
    }

    div.fa {
        padding: 20px;
        color: #C19562;
        text-transform: capitalize;
        text-decoration: none;
        margin-left: auto;

        a,
        button {
            text-decoration: underline;
            font-family: 'Montserrat';
            font-weight: 600;
            margin-left: 8px;
            line-height: 24px;
            border: 0;
            background: transparent;
        }
    }


    /* Responsive Mobile */
    @media (max-width: 600px) {
        .modal-body {
            padding: 15px;
        }

        .modal-footer {
            flex-direction: column;
            width: 100%;
        }

        .btn-action {
            width: 100%;
        }
    }

    /* Modal Prodotti Simili */
    #modalSimilarProducts {
        .modal-header {
            background-color: #ffffff;
            padding: 16px;
            text-align: center;
            border-bottom: 1px solid #e5e5e5;

            h2 {
                margin: 0;
                font-size: 14px;
                font-weight: 700;
                letter-spacing: 0.5px;
                color: #000;
                text-transform: uppercase;
            }
        }

        .modal-body {
            padding: 24px;
            max-height: 75vh;
            overflow-y: auto;

            .products-grid {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 20px;

                @media (max-width: 992px) {
                    grid-template-columns: repeat(2, 1fr);
                }

                @media (max-width: 576px) {
                    grid-template-columns: 1fr;
                }
            }

            .briefs-list {
                display: flex;
                flex-direction: column;
                gap: 16px;
                max-width: 720px;
                margin: 0 auto;
            }

            .similar-brief-card {
                background-color: #ffffff;
                border-radius: 4px;
                padding: 24px 28px;
                box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
                text-align: center;

                .similar-brief-number {
                    font-size: 12px;
                    color: #8a8a8a;
                    margin-bottom: 8px;
                }

                .similar-brief-title {
                    font-size: 18px;
                    font-weight: 700;
                    color: #0b0a09;
                    margin: 0 0 12px;
                    line-height: 1.3;
                }

                .similar-brief-dates {
                    font-size: 13px;
                    margin-bottom: 20px;
                    color: #666;
                }

                .similar-brief-sent {
                    color: #666;
                }

                .similar-brief-approved {
                    color: #2B9F00;
                    font-weight: 600;
                }

                .similar-brief-actions {
                    display: flex;
                    justify-content: center;
                    gap: 12px;
                    flex-wrap: wrap;

                    .btn-apri {
                        background-color: #be9464;
                        color: #ffffff;
                        border: none;
                        padding: 10px 28px;
                        font-size: 13px;
                        font-weight: 700;
                        border-radius: 2px;
                        text-decoration: none;
                        display: inline-block;
                        min-width: 120px;

                        &:hover {
                            background-color: #a0784c;
                            color: #ffffff;
                        }
                    }

                    .btn-import {
                        width: auto;
                        min-width: 180px;
                        border: 1.5px solid #be9464;
                        background-color: #ffffff;
                        color: #be9464;
                        padding: 10px 20px;
                        font-size: 13px;
                        font-weight: 700;
                        border-radius: 2px;

                        &:disabled {
                            opacity: 0.65;
                            cursor: not-allowed;
                        }
                    }
                }
            }
        }

        .product-card {
            background-color: #ffffff;
            border-radius: 4px;
            padding: 16px;
            position: relative;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
            display: flex;
            flex-direction: column;

            /* Icona stella in alto a sinistra */
            .favorite-badge {
                position: absolute;
                top: 0;
                left: 0;
                background-color: #d9d9d9;
                color: #ffffff;
                width: 32px;
                height: 32px;
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 14px;
            }

            /* Immagine / Placeholder */
            .product-image-container {
                background-color: #f0f0f0;
                padding: 16px;
                margin-bottom: 16px;
                display: flex;
                align-items: center;
                justify-content: center;

                .image-placeholder {
                    width: 100%;
                    height: 160px;
                    background-color: #849296;
                    /* Grigio come da mockup */
                }
            }

            .product-info {
                display: flex;
                flex-direction: column;
                flex-grow: 1;

                .category-tag {
                    font-size: 11px;
                    color: #777;
                    margin-bottom: 4px;
                }

                .product-title {
                    font-size: 15px;
                    font-weight: 700;
                    color: #000;
                    margin: 0 0 2px 0;
                    line-height: 1.2;
                }

                .product-subtitle {
                    font-size: 15px;
                    font-weight: 700;
                    color: #000;
                    margin: 0 0 8px 0;
                }

                .brand-name {
                    font-size: 13px;
                    font-weight: 700;
                    color: #be9464;
                    margin-bottom: 2px;
                }

                .campaign-name {
                    font-size: 13px;
                    font-weight: 700;
                    color: #be9464;
                    margin-bottom: 16px;
                }
            }

            .card-row-actions {
                display: flex;
                justify-content: space-between;
                align-items: flex-end;
                margin-bottom: 12px;

                .cpd-meta {
                    font-size: 11px;
                    color: #555;
                    line-height: 1.3;

                    span {
                        display: block;
                    }
                }

                .btn-apri {
                    background-color: #be9464;
                    color: #ffffff;
                    border: none;
                    padding: 8px 24px;
                    font-size: 13px;
                    font-weight: 700;
                    border-radius: 2px;
                    cursor: pointer;
                    transition: background 0.2s;

                    &:hover {
                        background-color: #a0784c;
                    }
                }
            }

            .btn-import {
                width: 100%;
                border: 1.5px solid #be9464;
                background-color: #ffffff;
                color: #be9464;
                padding: 8px 0;
                font-size: 13px;
                font-weight: 700;
                border-radius: 2px;
                cursor: pointer;
                transition: background 0.2s;

                &:hover {
                    background-color: #fcf9f5;
                }
            }
        }

        .modal-footer {
            background-color: #ffffff;
            padding: 16px;
            display: flex;
            justify-content: center;
            border-top: 1px solid #e5e5e5;

            .btn-close-modal {
                border: 1.5px solid #be9464;
                background-color: #ffffff;
                color: #be9464;
                padding: 8px 24px;
                font-size: 14px;
                font-weight: 700;
                cursor: pointer;
                border-radius: 2px;
                display: inline-flex;
                align-items: center;
                gap: 8px;
                transition: background 0.2s;

                &:hover {
                    background-color: #fcf9f5;
                }
            }
        }
    }

    .main-allegati-summary {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-top: 15px;

        .allegati-group {
            display: flex;
            flex-direction: column;
            gap: 6px;

            .group-title {
                font-size: 13px;
                color: #888888;
                font-weight: 500;
                margin: 0;
            }

            .file-item-bar {
                background-color: #f5f5f5;
                padding: 12px 16px;
                border-radius: 2px;
                display: flex;
                justify-content: space-between;
                align-items: center;

                .file-name {
                    color: #be9464;
                    font-size: 14px;
                    font-weight: 700;
                    text-decoration: underline;
                    cursor: pointer;
                }

                .btn-remove-tecnico-file, .btn-remove-benchmark-file {
                    background: transparent;
                    border: none;
                    color: #be9464;
                    font-size: 16px;
                    cursor: pointer;
                    padding: 0;
                    transition: opacity 0.2s;

                    &:hover {
                        opacity: 0.7;
                    }
                }
            }
        }
    }
}

/* ========================================================
   ORDINE STORE — PROVE DI STAMPA / ESECUTIVI DI STAMPA
   ======================================================== */

/* --- Product Card --- */
.product-card {
    border: 1px solid #e1e5e5;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.product-card:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.10);
}
.product-card .product-meta {
    font-size: 13px;
    color: #8c9799;
    font-weight: 500;
}
.product-card .product-meta strong {
    color: #60564a;
}

/* --- Section Headers --- */
.section-header {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #e1e5e5;
    padding: 12px 20px;
    border-radius: 4px 4px 0 0;
}
.section-header .section-title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #60564a;
    margin: 0;
}

/* --- Upload Drop Zone --- */
.upload-drop-zone {
    border: 2px dashed #c49c82;
    border-radius: 4px;
    background: #faf8f6;
    padding: 20px 16px 16px;
    text-align: center;
    transition: border-color 0.2s, background 0.2s;
}
.upload-drop-zone:hover {
    border-color: #a0784c;
    background: #f5ede3;
}
.upload-drop-zone .upload-hint {
    font-size: 13px;
    color: #8c9799;
    margin: 0 0 12px;
}
.upload-drop-zone .upload-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 100%;
}
.upload-drop-zone .upload-campagna {
    display: block;
    text-align: center;
    width: 100%;
    max-width: 280px;
}
.upload-drop-zone .upload-campagna-label {
    display: block;
    width: 100%;
    font-size: 13px;
    font-weight: 700;
    color: #6c757d;
    margin: 0 0 8px;
}
.upload-drop-zone .upload-campagna-select,
.upload-drop-zone .upload-campagna select {
    display: block;
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
    float: none;
}

/* --- File Item (uploaded file row) --- */
.file-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #f4f4f4;
    border-radius: 4px;
    margin-bottom: 6px;
}
.file-item .file-name {
    flex: 1;
    font-size: 13px;
    font-weight: 600;
    color: #60564a;
    word-break: break-all;
}
.file-item .file-remove {
    color: #ff0000;
    cursor: pointer;
    font-size: 14px;
    transition: color 0.2s;
    background: none;
    border: none;
    padding: 0;
    line-height: 1;
}
.file-item .file-remove:hover {
    color: #cc0000;
}

/* --- File Row (approved/revision row) --- */
.esecutivi-step,
.esecutivi-boxes,
.esecutivi-boxes .upload-drop-zone,
.esecutivi-boxes .file-row,
.esecutivi-upload-form {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.esecutivi-boxes {
    padding: 1rem;
}
.esecutivi-upload-form {
    margin-left: 0;
    margin-right: 0;
}
.file-row {
    border: 1px solid #e1e5e5;
    border-radius: 4px;
    padding: 14px 16px;
    background: #fff;
    transition: background 0.2s;
}
.file-row:hover {
    background: #fafafa;
}
.file-row .file-link {
    font-weight: 700;
    color: #60564a;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.file-row .file-link:hover {
    color: #c49c82;
    text-decoration: underline;
}
.file-row .file-meta {
    font-size: 12px;
    color: #8c9799;
}

/* --- Status Badges --- */
.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 20px;
    margin: 18px 0 0;
    line-height: 1.3;
}
.status-badge.status-approved {
    background: #e8f5e9;
    color: #2b9f00;
}
.status-badge.status-pending {
    background: #fff3e0;
    color: #e8973a;
}
.status-badge.status-revision {
    background: #fce4ec;
    color: #c62828;
}
.status-badge.status-waiting {
    background: #e1e5e5;
    color: #60564a;
}
.badge {
    padding: 6px;
}

/* --- Revision Box --- */
.revisione-box {
    background: #fafafa;
    border: 1px solid #e1e5e5;
    border-radius: 4px;
    padding: 16px;
    margin-top: 12px;
}
.revisione-box textarea {
    font-size: 13px;
}

/* --- Form Controls --- */
select.select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c49c82' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 28px;
    padding-top: 5px;
    padding-bottom: 5px;
}

#ricercaProdotto select.select:has(option[value=""]:not(:checked)) {
    border: 2px solid #2B9F00;
}

#toastr-container {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 10000;
	display: flex;
	flex-direction: column;
	gap: 8px;
	pointer-events: none;
}
.toastr {
	min-width: 280px;
	padding: 16px 24px;
	border-radius: 8px;
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	box-shadow: 0 4px 20px rgba(0,0,0,.2);
	pointer-events: auto;
	animation: toastrIn 0.3s ease-out;
}
.toastr.success { background: #2B9F00; }
.toastr.error { background: #dc3545; }
.toastr.warning { background: #ffc107; color: #333; }
.toastr.info { background: #17a2b8; }
.toastr.hiding {
	animation: toastrOut 0.3s ease-in forwards;
}
@keyframes toastrIn {
	from { transform: translateX(400px); opacity: 0; }
	to { transform: translateX(0); opacity: 1; }
}
@keyframes toastrOut {
	from { transform: translateX(0); opacity: 1; }
	to { transform: translateX(400px); opacity: 0; }
}

.current-ordine-info { width: 100%; }
.current-ordine-info .fornitore-header {
    font-weight: 600;
    color: #333;
    padding: 12px 0 8px;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 0;
}
.current-ordine-info .info-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    margin-bottom: 1.5rem;
}
.current-ordine-info .info-table col:nth-child(1) { width: 34%; } /* Prodotto */
.current-ordine-info .info-table col:nth-child(2) { width: 10%; } /* Quantità */
.current-ordine-info .info-table col:nth-child(3) { width: 14%; } /* Prezzo unitario */
.current-ordine-info .info-table col:nth-child(4) { width: 14%; } /* Prezzo totale */
.current-ordine-info .info-table col:nth-child(5) { width: 28%; } /* Varianti */
.current-ordine-info .info-table th,
.current-ordine-info .info-table td {
    padding: 12px 8px;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: middle;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.current-ordine-info .info-table th:nth-child(2),
.current-ordine-info .info-table th:nth-child(3),
.current-ordine-info .info-table th:nth-child(4),
.current-ordine-info .info-table td:nth-child(2),
.current-ordine-info .info-table td:nth-child(3),
.current-ordine-info .info-table td:nth-child(4) {
    text-align: center;
}
.current-ordine-info .info-table th {
    font-weight: 500;
    color: #888;
    font-size: 0.9rem;
}
.current-ordine-info .info-table td {
    font-weight: 600;
    color: #333;
}
.current-ordine-info .info-table tr:last-child td { border-bottom: none; }
.current-ordine-info .varianti-sintesi {
    font-size: 0.8rem;
    font-weight: 400;
    color: #666;
}
.current-ordine-info .text-end { text-align: right; }

.oda-importo-group {
    flex-wrap: nowrap;
    align-items: stretch;
    max-width: 11rem;
    margin-inline: auto;
}
.oda-importo-group .input-group-text {
    font-size: 0.95rem;
    font-weight: 700;
    background: #f4f4f4;
    border: 2px solid #E1E5E5;
    color: #60564A;
    padding: 0.25rem 0.55rem;
}
form .oda-importo-group .form-control,
.oda-importo-group .form-control {
    font-size: 0.95rem;
    font-weight: 700;
    height: auto;
    min-height: 34px;
    padding: 0.25rem 0.5rem;
    margin-bottom: 0;
    width: auto;
    flex: 1 1 auto;
    background: #f4f4f4;
    border: 2px solid #E1E5E5;
    color: #323232;
    text-align: center;
}

/* Retroplanning stepper (Slick carousel) */
.retro-stepper {
    display: block;
	padding: 20px 40px;
	overflow: visible;
    .retro-stepper-inner {
        display: block;
        width: 100%;
        flex-direction: unset;
        .slick-disabled {
            display: none !important;
        }
    }
    .retro-stepper-inner:not(.slick-initialized) {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }
    .slick-list {
        overflow: hidden;
    }
    .slick-track {
        display: flex !important;
        align-items: flex-start;
    }
    .slick-slide {
        float: none;
        height: auto;
        display: flex !important;
        flex-direction: column;
        align-items: center;
    }
    .slick-prev {
        left: -40px;
    }
    .slick-next {
        right: -40px;
    }
    .slick-prev,
    .slick-next {
        background-color: #f8f8f8;
        width: 36px;
        height: 36px;
        border-radius: 4px;
        border: 2px solid #c19562;
    }
    .slick-prev:hover,
    .slick-next:hover {
        background-color: #f8f8f8;
    }
    .retro-step {
        min-width: 0;
        box-sizing: border-box;
    }
    .slick-prev::before,
    .slick-next::before {
        color: #c19562;
    }
}

.pagination .page-ellipsis { display: flex; align-items: center; list-style: none; }
.pagination .page-ellipsis .page-link {
	cursor: default;
	pointer-events: none;
	letter-spacing: 1px;
}
#budgetContent.listaVsm tr.audit-row { cursor: pointer; }
#budgetContent.listaVsm tr.audit-row:hover td { background-color: #f7f3ee; }
#budgetContent:has(#auditTable) .dt-layout-end { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
#budgetContent .audit-csv { margin: 0; }