#main .page-content.card{
    padding: 0px;
}
.sc-category-back{
    height:58px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: start;
    border-bottom: 1px solid #d9d1d1;
}
.sc-category-back .btn-back{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-weight:400;
    font-size: 14px;
    text-transform: uppercase;
    line-height: 24px;
    color: #041E42;
    cursor: pointer;
}
.sc-category{
    margin-top: 20px;
}
.sc-category h1{
    font-weight: 500;
    font-size:34px;
    letter-spacing:3.4px;
    text-align:center;
    color: #041E42;
    line-height:50px;
    margin:0px;
}
.sc-category h2{
    font-weight: 500;
    font-size:28px;
    letter-spacing:2.4px;
    text-align:center;
    color: #041E42;
    line-height:50px;
    margin-bottom:10px;
}
.sc-category .text{
    margin-bottom:40px;
}
.sc-category .text p{
    font-weight:400;
    font-size:20px;
    text-align:center;
    color: #041E42;
    line-height:24px;
}
.sc-category .text p.muted {
    color: rgba(4, 30, 66, 0.5);
}
.sc-category .muted a {
    color: rgba(4, 30, 66, 0.5);
    text-decoration: underline;
}

.sc-fiche .process,
.sc-category .process{
    background-color:#FFF4F2;
    padding:10px 30px;
    border-radius:20px;
    margin-bottom:25px;
}
.sc-fiche .process ul,
.sc-category .process ul{
    margin-bottom: 0px;
}
.sc-fiche .process li,
.sc-category .process li{
    font-weight:400;
    font-size:18px;
    line-height:24px;
    color:#041E42;
    display: flex;
    align-items: center;
    justify-content: start;
    border-top: 1px solid #d9d1d1;
    padding:12px 0px;
}
.sc-fiche .process li img,
.sc-category .process li img{
    margin-right: 10px;
}
.sc-fiche .process li:first-child,
.sc-category .process li:first-child{
    border-top: none;
}
.sc-category .process li strong{
    font-weight:700;
    color: #A26D59;
}
.sc-category .search{
    background-color: #F6F3F0;
    padding:10px 40px;
    margin-bottom: 30px;
}
.sc-category .form .submit{
    text-align: center;
}
.sc-category .search label{
    text-align: left;
    width:100%;
    font-size:16px;
    font-weight:400;
    color:#161616;
}
.sc-category .search input[name="sc_filter_search"]{
    width:100%;
    border-top:none;
    border-left: none;
    border-right: none;
    border-bottom: solid #c7c5c3 2px;
    margin-bottom:0px;
    background-color: #F6F3F0;
    height:40px;
}
.sc-image-thumbnails{
    margin-top: 15px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}
@media (max-width: 767px) {
    .sc-image-thumbnails{
        margin-bottom: 30px;
        justify-content: start;
        width: 100%;
        overflow-x: scroll;
        flex-wrap: nowrap;
        padding-bottom:15px;
    }
}
.btn-swyty-filter{
    display: none;
    align-items: center;
    justify-content: start;
    gap: 4px;
    font-weight:700;
    font-size: 16px;
    text-transform: uppercase;
    line-height: 24px;
    color: #041E42;
    cursor: pointer;
    margin-bottom: 30px;
}
.btn-swyty-filter i,
.sc-category .menu{
    transition: all 0.7s ease 0s;
}
.btn-swyty-filter.open i{
    transform: rotate(-180deg);
}
.sc-category .search .input-search{
    position: relative;
}
.sc-category .search .input-search button{
    position: absolute;
    right: 0px;
    color:#323231;
    padding:0px;
    top: 50%;
    transform: translateY(-50%);
}
.sc-category .menu ul li a,
.sc-category .menu ul li span{
    display:flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #ccc;
    cursor: pointer;
    padding-top: 12px;
    padding-bottom: 12px;
}
.sc-category .menu ul li a.selected,
.sc-category .menu ul li span.selected{
    background: linear-gradient(237.49deg, #F2BC52 0%, #ED2A8C 103.54%);
    background-clip: border-box;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.sc-category .products .miniature{
    margin-bottom:40px;
}
.sc-category .products .miniature .image {
    border-radius:20px;
    overflow: hidden;
}
.sc-category .products .miniature .image img {
    width:100%;
    height:100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transition: all 0.7s ease 0s;
}
.sc-category .products .miniature:hover .image img{
    transform: scale(1.05);
}
.sc-category .products .miniature .info_top{
    position: relative;
}
.sc-category .products .info_top .pdf_info{
    position: absolute;
    background-image: url("../img/info.svg");
    background-size: 20px 20px;
    background-position: center;
    background-repeat: no-repeat;
    right: 0px;
    top: 0px;
    width: 40px;
    height: 40px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background-color: #FFFFFF;
}
.sc-category .products .info .name{
    text-align:center;
    font-weight:400;
    font-size:18px;
    line-height:20px;
    color:#041E42;
    line-height:42px;
    height: 42px;
    margin:10px 0px 0px 0px;
    overflow: hidden;
}
.sc-category .products .info .product-colors{
    margin: 0px auto 10px auto;
    text-align: center;
    min-height: 28px;
    height: 28px;
    overflow-x: scroll;
    width: 100%;
    display: flex; 
    scrollbar-width: thin;
}
.sc-category .products .info .product-colors .product-color{
    display:inline-block;
    width:22px;
    height:22px;
    border-radius:50%;
    border:solid #FFFFFF 3px;
}
.sc-category .products .info .product-colors .border{
    display: inline-block;
    width: 24px;
    height: 24px;
    border:solid #d6d6d6 1px;
    border-radius: 50%;
    margin:0px 4px;
}

.card-cream{
    background-color: #F6F3F0;
    padding: 20px;
}

.card-cream p{
    line-height: 26px;
}

.sc-fiche h1{
    text-align: left;
    font-weight: 400;
    font-size: 28.8px;
    line-height: 43.2px;
    letter-spacing: 2.88px;
    text-transform: uppercase;
    margin-bottom: 5px;
    margin-top: 0px;
}

.sc-fiche .subtitle{
    font-weight: 400;
    font-size: 17.6px;
    line-height: 26.4px;
    letter-spacing: 1.76px;
    margin-bottom: 30px;
}

.sc-fiche .fiche-infos{
    margin-bottom: 10px;
}

.sc-fiche .product_cta{
    margin-top: 30px;
}

.sc-fiche .product-colors{
    margin: 0px auto 10px auto;
    min-height: 28px;
    margin-bottom: 30px;
}
.sc-fiche .product-colors .product-color{
    display:inline-block;
    width:22px;
    height:22px;
    border-radius:50%;
    border:solid #FFFFFF 3px;
}
.sc-fiche .product-colors .border{
    display: inline-block;
    width: 24px;
    height: 24px;
    border:solid #d6d6d6 1px;
    border-radius: 50%;
    margin:0px 5px;
}

.sc-category .products .info .description{
    display:flex;
    align-items: center;
    justify-content: center;
    width:100%;
    height: 36px;
    text-align:center;
    background-color:#F6F3F0;
}
.sc-category .products .info .description p{
    font-weight:400;
    font-size:12px;
    line-height:20px;
    color:#041E42;
    margin-bottom:0px;
}
/* Type product */
.sc-type h1{
    font-weight: 500;
    font-size: 20px;
    line-height:1.4;
    letter-spacing: 2.88px;
    text-transform: uppercase;
    color: #041E42;
    display: flex;
    justify-content: center;
    align-items: center;
    gap:15px;
    margin-bottom:10px;
}
.sc-type h1 .pdf_info{
    background-image: url("../img/info.svg");
    background-size: 20px 20px;
    background-position: center;
    background-repeat: no-repeat;
    width: 40px;
    height: 40px;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.sc-type .subtitle{
    font-weight: 400;
    font-size: 20px;
    line-height: 19.5px;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
    text-transform: capitalize;
    color: #041E42;
    margin-bottom:40px;
}
.sc-type .process{
    background-color:#FFF4F2;
    padding:5px 30px;
    border-radius:20px;
    margin-top:40px;
    margin-bottom:50px;
}
.sc-type .process ul{
    margin-bottom: 0px;
}
.sc-type .process li{
    padding: 6px 0px;
    font-weight:400;
    font-size:18px;
    line-height:24px;
    color:#041E42;
    display: flex;
    align-items: center;
    justify-content: start;
    border-top: 1px solid #d9d1d1;
}
.sc-type .process li p{
    margin-bottom: 0px;
}
.sc-type .process li img{
    margin-right: 10px;
}
.sc-type .process li:first-child{
    border-top: none;
}
.sc-type .process li strong{
    font-weight:700;
    color: #041E42;
}
.sc-type .product_types{
    max-width:1088px;
    margin:0px auto;
    display: flex;
    flex-wrap: wrap;
    gap:40px;
}
.sc-type .product_types .miniature{
    margin-bottom:10px;
    width: calc((100% - 80px) / 3);
}
.sc-type .product_types .miniature:hover .image img{
    transform: scale(1.05);
}
.sc-type .product_types .miniature .image {
    border-radius:20px;
    overflow: hidden;
}
.sc-type .product_types .miniature .image img {
    width:100%;
    height:100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transition: all 0.7s ease 0s;
}
.sc-type .product_types .miniature .info {
    padding:10px;
}
.sc-type .product_types .miniature .info .name{
    font-weight:600;
    font-size:18px;
    line-height:27px;
    letter-spacing: 2.88px;
    color:#041E42;
    margin:10px 0px;
    overflow: hidden;
    text-align: center;
}
.sc-type .product_types .miniature .info .description{
    display:flex;
    align-items: center;
    justify-content: center;
    width:100%;
    min-height: 36px;
    text-align:center;
    background-color:#F6F3F0;
    padding: 5px;
}
.sc-type .product_types .miniature .info .description p{
    font-weight:500;
    font-size:18px;
    line-height:20px;
    color:#041E42;
    margin-bottom:0px;
}
/* Configurator */
.sc-config .main-content{
    display: flex;
    flex-wrap: wrap;
}
.sc-config .main-content .left .image{
    position: sticky;
    top: 100px;
}
.sc-config h1 .pdf_info {
    background-image: url("../img/info.svg");
    background-size: 20px 20px;
    background-position: center;
    background-repeat: no-repeat;
    width: 40px;
    height: 40px;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.sc-config h2{
    display: flex;
    align-items: center;
    justify-content: start;
}
.sc-config .modal_design{
    background-image: url("../img/info.svg");
    background-size: 20px 20px;
    background-position: center;
    background-repeat: no-repeat;
    width: 40px;
    height: 40px;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.sc-config .subtitle{
    font-weight: 400;
    font-size: 17.6px;
    line-height: 26.4px;
    letter-spacing: 1.76px;
    vertical-align: middle;
    color:#041E42;
    margin-bottom: 10px;
}
.sc-config .process{
    background-color:#FFF4F2;
    padding:5px 30px;
    border-radius:20px;
    margin-top:40px;
    margin-bottom:50px;
}
.sc-config .process ul{
    margin-bottom: 0px;
}
.sc-config .process li{
    font-weight:400;
    font-size:18px;
    line-height:24px;
    color:#041E42;
    padding:12px 0px;
    display: flex;
    align-items: center;
    justify-content: start;
    border-top: 1px solid #d9d1d1;
}
.sc-config .process li p{
    margin-bottom: 0px;
}
.sc-config .process li img{
    margin-right: 10px;
}
.sc-config .process li:first-child{
    border-top: none;
}
.sc-config .process li strong{
    font-weight:700;
    color: #041E42;
}

.sc-config h1{
    text-align:left;
    font-weight:500;
    font-size:28px;
    letter-spacing:2.4px;
    color:#041E42;
    line-height:1.4;
    text-transform: uppercase;
    margin-top:0px;
    margin-bottom:5px;
    display: flex;
    align-items: center;
}
.sc-config .description p{
    font-weight:500;
    font-size:18px;
    line-height:26px;
    color:#041E42;
    letter-spacing: 1.8px;
    margin-bottom:0px;
}
.sc-config .right h2{
    font-weight:500;
    font-size:26px;
    text-align: center;
    display: flex;
    justify-content: center;
    gap: 20px;
    align-items: center;
    line-height:42px;
    letter-spacing: 2.8px;
    color:#041E42;
    text-transform: uppercase;
    margin-bottom:0px;
}
.sc-config .design_infos{
    margin-bottom:20px;
}
.sc-config .design_infos p{
    font-weight:400;
    font-size:17px;
    line-height:24px;
    color:#041E42;
    margin-bottom:0px;
}
.sc-config .design_infos p strong{
    font-weight:500;
}
.sc-config .conf{
    background-color: #F6F3F0;
    padding:20px;
    margin-top:10px;
}
.sc-config .conf p{
    font-size:18px;
}
.sc-config .space{
    height: 40px;
}
.sc-config .list_colors ul{
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom:0px;
}
.sc-config .list_colors li{
    cursor: pointer;
    width:34px;
    height:34px;
    border-radius: 50%;
    display:inline-block;
    margin-right:6px;
    margin-bottom:0px;
    position: relative;
    border: solid 3px #FFFFFF;
    box-shadow: 0 0 0 1px #aaa;
    transition: all 0.2s ease;
}
.sc-config .list_colors li.selected{
    transform: scale(1.1);
}
.sc-config .list_colors li.selected::after{
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    text-shadow: 0px 0px 2px rgba(0,0,0,0.8);
    font-size: 18px;
    font-weight: bold;
}
.sc-config .right input[type="text"]{
    width:100%;
    height:40px;
    border: solid 1px #041E42;
}
.sc-config .right textarea{
    width:100%;
    height:100px;
    border: solid 1px #041E42;
}
.sc-config .product_price{
    margin-top:20px;
}
.sc-config #product_price,
.sc-config #product_price_old{
    width: 60px;
    text-align: center;
}
.sc-config .product_price table{
    width:100%;
}
.sc-config .product_price table td{
    padding: 14px 0px;
}
.sc-config .product_price table tr{
    border-bottom: 1px solid #d9d1d1;
}
.sc-config .product_price table td.right{
    text-align: right;
}
.sc-config .product_price table tfoot td{
    font-weight: 500;
    font-size: 18px;
}
.sc-config .align-flex,
.sc-summary .align-flex{
    display: flex;
    align-items: center;
}
.sc-config .align-flex span{
    margin-right: 15px;
    white-space: nowrap;
}


.sc-config .product_cta .btn{
    width:100%;
    border-radius:26px;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 1.6px;
}
.sc-config .product_cta .btn:hover{
    border-radius:26px !important;
    background-image: none !important;
    background-color: #041E42 !important;
}
.sc-config .up_img{
    border:dotted #041E42 1px;
    min-height: 200px;
    display:flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size:19px;
    font-weight:500;
    color:#041E42;
    line-height:25px;
    cursor: pointer;
    margin-top:10px;
}
.sc-config .up_img img{
    margin-bottom: 20px;
}
.sc-config .list_designs .design h3{
    font-weight:600;
    font-size:26px;
    line-height:40px;
    color:#041E42;
    margin-bottom:5px;
    letter-spacing: 2.6px;
    text-align: center;
    text-transform: uppercase;
}
.sc-config .list_designs .design p{ 
    font-weight:400;
    font-size:22px;
    line-height:30px;
    color:#041E42;
    margin-bottom:0px;
    letter-spacing: 2.4px;
    text-align: left;
}
.sc-config .list_designs .design p strong{ 
    font-weight:500;
}
.sc-summary .number,
.sc-config .list_designs .design .number{
    display:inline-flex;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color:#FECC66;
    font-weight:600;
    font-size:19px;
    color:#FF2F00;
    text-transform: uppercase;
    align-items: center;
    justify-content: center;
}
.sc-summary .item_design{
    margin-bottom: 15px;
    display: block;
}
.sc-summary .item_design .number{
    margin-right: 15px;
}
.sc-summary .top{
    margin-bottom:30px;
}
.sc-summary .top .bloc{
    display:flex;
    align-items:center;
    gap: 30px;
}
.sc-summary .top .bloc > div{
    width:50%;
    margin-bottom:0px;
}
.sc-summary .main-content{
    display: flex;
    align-items: stretch;
}
.sc-summary .bloc{
    background-color: #F6F3F0;
    padding:20px;
    height:100%;
    border: solid rgba(4, 30, 66, 0.5) 1px;
    overflow: hidden;
}
.sc-summary .left .bloc{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.sc-config .conf h3{
    font-weight: 400;
    font-size: 26px;
    line-height: 40px;
    color:#041E42;
    margin-bottom:5px;
    letter-spacing: 2.6px;
    text-align: center;
    text-transform: uppercase;
}
.sc-config .conf p.center{
    text-align: center;
    line-height: 24px;
}

.sc-config .swyty_configurator_guide{
    margin-top:40px;
    padding:40px;
    background-color: #F6F3F0;
}
.sc-config .swyty_configurator_guide ul{
    list-style-type: disc;
    list-style-position: inside;
}
.sc-config .right .swyty_configurator_guide h2{
    font-weight: 500;
    font-size: 25px;
    line-height: 24px;
    letter-spacing: 1.6px;
    vertical-align: middle;
    margin-bottom:40px;
    text-transform:none !important;
}

/* Styles pour les zones d'upload de fichiers */
.sc-config .up_img {
    cursor: pointer;
    background-color: #F6F3F0;
    border-radius: 8px;
    padding: 15px 10px;
    margin-top: 10px;
    text-align: center;
    transition: all 0.3s ease;
}

.sc-config .up_img:hover {
    background-color: #EFE9E4;
}

.sc-config .up_img .file-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    width: 100%;
}

.sc-config .up_img .upload-icon {
    margin-bottom: 8px;
}

.sc-config .up_img .upload-text,
.sc-config .up_img .file-selected {
    font-weight: 500;
    font-size: 16px;
    color: #041E42;
    text-align: center;
    word-break: break-word;
}

.sc-config .up_img .file-selected {
    color: #2a9d8f;
    font-weight: 600;
}

.sc-config .up_img.file-chosen {
    background-color: #e8f4f3;
    border: 1px solid #2a9d8f;
}

.sc-summary .item_color{
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 6px;
    margin-left: 6px;
    margin-bottom: 0px;
    position: relative;
    border: solid 3px #FFFFFF;
    box-shadow: 0 0 0 1px #aaa;
    transition: all 0.2s ease;
}
.sc-summary .product_cta{
    display: flex;
    justify-content: end;
}
.sc-summary .product_cta .btn{
    justify-content: space-between;
    align-items: center;
    padding:0px 20px 0px 30px;
}
.sc-summary .product_cta .btn i{
    margin-right:0px;
    margin-left:15px;
}
.sc-summary{
    margin-top: 40px;
}
.sc-summary .bottom{
    margin-top: 40px;
}
.swyty_crea_cat_bottom{
    border-radius: 40px;
}
.swyty-confirmation{
    max-width: 800px;
    padding:40px;
    margin:40px auto;
    border-radius:40px;
    background-color: #F6F3F0;
}
.swyty-confirmation h1{
    margin-top:0px;
    color: #F07D68;
    font-weight:700;
    font-size: 24px;
    text-transform: none;
}
.swyty-confirmation h2{
    font-weight:500;
    font-size:20px;
    line-height:28px;
    letter-spacing: 1.6px;
    color:#161616;
    text-transform: none;
    margin-bottom: 20px;
    text-align: center;
}
.swyty-confirmation h3{
    font-weight:400;
    font-size:18px;
    line-height:22px;
    letter-spacing: 0.2px;
    color:#7d8899;
    text-transform: none;
    margin-bottom: 20px;
    text-align: center;
}
.swyty-confirmation .center{
    text-align: center;
}
.swyty-confirmation .btn{
    margin:0px auto 40px auto;
}
.swyty-confirmation .nb{
    color:#161616;
    font-weight:400;
    font-style: italic;
    font-size: 18px;
}

/* Amélioration du style du span PDF Info */
/*
.pdf_info {
display: inline-block;
width: 20px;
height: 20px;
background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwIDJINGMtMS4xIDAtMiAuOS0yIDJ2MTZjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0yem0tNSA5SDE0Vjl2Mmgtdi0yYzAtMS4xLS45LTItMi0ySDljLTEuMSAwLTIgLjktMiAydjEwYzAgMS4xLjkgMiAyIDJoNmMxLjEgMCAyLS45IDItMnptMCA4SDl2LThoNnY4eiIgZmlsbD0iIzA0MUU0MiIvPgo8L3N2Zz4K');
background-size: contain;
background-repeat: no-repeat;
background-position: center;
cursor: pointer;
margin-left: 10px;
opacity: 0.7;
transition: opacity 0.3s ease;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    margin-left: 10px;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}*/

.pdf_info:hover {
    opacity: 1;
}

/* Styles pour la modale PDF */
.pdf-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.pdf-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
}

.pdf-modal-content {
    position: relative;
    width: 90%;
    height: 90%;
    max-width: 1000px;
    margin: 2.5% auto;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
}

.pdf-modal-header {
    display: flex;
    justify-content: end;
    align-items: center;
    padding: 15px 20px;
    border-radius: 8px 8px 0 0;
    position: absolute;
    right:0px;
    top:0px;
}

.pdf-modal-title {
    display: none;
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #041E42;
}

.pdf-modal-close {
    background: none;
    border: none;
    font-size: 24px;
    color: #666;
    cursor: pointer;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.pdf-modal-close:hover {
    background-color: #e9ecef;
    color: #041E42;
}

.pdf-modal-body {
    padding: 0;
    overflow: auto;
    background-color: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pdf-container {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0;
    overflow: auto;
}

#pdfCanvas {
    width: 100%;
    height: auto;
    display: block;
    background: white;
}

.pdf-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #666;
    font-size: 16px;
}

/* Empêcher le scroll du body quand la modale est ouverte */
body.modal-open {
    overflow: hidden;
}

/* Responsive */
@media (max-width: 768px) {
    .pdf-modal-content {
        width: 95%;
        height: 95%;
        margin: 2.5% auto;
    }
    
    .pdf-modal-header {
        padding: 10px 15px;
    }
    
    .pdf-modal-title {
        font-size: 16px;
    }
}

/* ===========================
   PAGINATION PRODUITS
   =========================== */

#loadMoreProducts {
    background-color: transparent;
    border: 2px solid #041E42;
    color: #041E42;
    padding: 12px 30px;
    font-weight: 600;
    border-radius: 25px;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 14px;
    display: block;
    margin: 0px auto 80px auto;
}

#loadMoreProducts:hover {
    background-color: #041E42;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(4, 30, 66, 0.3);
}

#loadMoreProducts:active {
    transform: translateY(0);
}

#noMoreProducts {
    margin-bottom: 60px;
    font-style: italic;
    color: #6c757d;
}

/* =============================================
   STYLES POUR LA VALIDATION DES CHAMPS OBLIGATOIRES
   ============================================= */

/* Mise en évidence des champs en erreur */
.error-highlight {
    border: 2px solid #dc3545 !important;
    border-radius: 4px !important;
    box-shadow: 0 0 5px rgba(220, 53, 69, 0.3) !important;
}

/* Styles pour les inputs en erreur */
input.error-highlight,
textarea.error-highlight {
    background-color: #fff5f5 !important;
    border-color: #dc3545 !important;
}

/* Styles pour les containers en erreur (couleurs et designs) */
.list_colors.error-highlight,
.list_designs.error-highlight {
    border: 2px solid #dc3545;
    border-radius: 8px;
    padding: 15px;
    background-color: rgba(220, 53, 69, 0.05);
}

/* Messages d'erreur spécifiques aux champs */
.field-error {
    color: #dc3545 !important;
    font-size: 12px !important;
    margin-top: 5px !important;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Animation pour attirer l'attention */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

.error-highlight {
    animation: shake 0.5s ease-in-out;
}

/* Styles pour le message d'erreur global */
#form-error-message {
    margin-bottom: 15px;
    padding: 12px 15px;
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.4;
}

#form-error-message strong {
    font-weight: 600;
}

/* Styles responsifs pour les messages d'erreur */
@media (max-width: 768px) {
    .field-error {
        font-size: 11px !important;
    }
    
    #form-error-message {
        padding: 10px 12px;
        font-size: 13px;
    }
}

/* Focus sur les champs corrigés */
input:focus,
textarea:focus {
    border-color: #041E42 !important;
    box-shadow: 0 0 5px rgba(4, 30, 66, 0.3) !important;
}

/* Styles pour les couleurs sélectionnées avec erreur */
.color-option.selected {
    border: 3px solid #041E42;
    transform: scale(1.1);
}

.list_colors.error-highlight .color-option {
    border-color: #dc3545;
}

.list_colors.error-highlight .color-option.selected {
    border-color: #041E42;
}

/* Animation douce pour les transitions */
.color-option,
input,
textarea {
    transition: all 0.3s ease;
}

/* Amélioration de l'upload de fichiers en cas d'erreur */
.list_designs.error-highlight .up_img {
    border-color: #dc3545;
    background-color: rgba(220, 53, 69, 0.05);
}

.list_designs.error-highlight .file-label {
    color: #dc3545;
}

/* Styles pour les designs individuels en erreur */
.design.error-highlight {
    border: 2px solid #dc3545;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
    background-color: rgba(220, 53, 69, 0.05);
}

.design.error-highlight .up_img {
    border-color: #dc3545 !important;
    background-color: rgba(220, 53, 69, 0.1) !important;
}

.design.error-highlight .file-label {
    color: #dc3545 !important;
}

.design.error-highlight h3 {
    color: #dc3545;
    font-weight: 600;
}


@media (max-width: 991px) {
    .sc-type .product_types .miniature{
        width: calc((100% - 40px) / 2);
    }
}
@media (max-width: 768px) {
    .btn-swyty-filter{
        display: flex;
    }
    .sc-category .menu{
        display:none;
    }
    .sc-category .menu.open{
        display: block;
    }
    .sc-type .product_types{
        gap: 20px;
    }
    .sc-type .product_types .miniature{
        width: calc((100% - 20px) / 2);
    }
    .sc-config .main-content .left .image{
        margin-bottom:40px;
    }
    .sc-summary .image{
        margin-bottom:40px;
    }
    .sc-summary .top .bloc{
        flex-direction: column;
    }
    .sc-summary .main-content{
        flex-direction: column;
    }
    .sc-summary .image{
        margin-bottom: 0px;
    }
    .sc-summary .left{
        margin-bottom:30px;
    }
}
@media (max-width: 575px) {
    .sc-summary .top .bloc > div {
        width: 100%;
    }
}

/* =============================================
   STYLES POUR LA MODALE DESIGN
   ============================================= */

.design-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.design-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    cursor: pointer;
}

.design-modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    border-radius: 10px;
    max-width: 90%;
    max-height: 90%;
    overflow: auto;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.design-modal-body {
    padding: 30px;
    color: #041E42;
    line-height: 1.6;
    background-color: #FCEFE2;
}

.design-modal-body h1,
.design-modal-body h2,
.design-modal-body h3 {
    color: #041E42;
    margin-bottom: 15px;
}

.design-modal-body p {
    margin-bottom: 15px;
    font-size: 16px;
}

.design-modal-body ul,
.design-modal-body ol {
    margin-bottom: 15px;
    padding-left: 20px;
}

.design-modal-body li {
    margin-bottom: 8px;
}

/* Styles pour le span modal_design */
.modal_design {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url("../img/info.svg");
    background-size: 20px 20px;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
    margin-left: 10px;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.modal_design:hover {
    opacity: 1;
}

/* Responsive pour la modale design */
@media (max-width: 768px) {
    .design-modal-content {
        max-width: 95%;
        max-height: 95%;
    }
    
    .design-modal-body {
        padding: 20px;
    }
    
    .design-modal-body p {
        font-size: 14px;
    }
}

/* =============================================
   STYLES GÉNÉRIQUES POUR LES INFOBULLES
   ============================================= */

.generic-tooltip {
    display: none;
    position: absolute;
    background-color: #041E42;
    color: white;
    padding: 12px 15px;
    border-radius: 6px;
    font-size: 13px;
    line-height: 1.4;
    max-width: 300px;
    z-index: 10000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    text-align: left;
}

.generic-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #041E42;
}

.tooltip-info {
    position: relative;
    cursor: help;
}

.tooltip-info svg {
    margin-left: 8px;
    vertical-align: middle;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.tooltip-info:hover svg {
    opacity: 1;
}

/* Responsive pour les infobulles */
@media (max-width: 768px) {
    .generic-tooltip {
        max-width: 250px;
        font-size: 12px;
        padding: 10px 12px;
    }
}