:root {
    --purple-primary:#5F2C70;
    --purple-secondary:#250831;
    --beige:#EDE3CF;
    --white:#F9F8F6;
    --radius:12px;
}

body {
    font-family: "Raleway", serif;
    background-color:var(--white);
    color:var(--purple-secondary);
}

.template{
    display:none;
}

@media only screen and (max-width:1440px){
    .container{
        max-width:1320px;
    }
}
@media only screen and (max-width:1200px){
    .container{
        max-width:1200px;
    }
}
@media only screen and (max-width:992px){
    .container{
        max-width:960px;
    }
}
@media only screen and (max-width:768px){
    .container{
        padding:0px 30px;
    }
}
@media only screen and (max-width:576px){
}
@media only screen and (max-width:480px){
}
@media only screen and (max-width:320px){
}

h1{
    font-weight:600;
    font-size:48px;
    line-height:56px;
    margin-bottom:1em;
}

h2, h3, h4, h5, h6{
    color:var(--purple-secondary);
    font-weight:600;
}
h2{
    font-size:32px;
    line-height:42px;
}
h3{
    font-size:32px;
    line-height:38px;
}

.spacer{
    background-color:var(--purple-secondary);
    width:250px;
    height:5px;
    margin-bottom:50px;
}

.clear{
    clear:both;
}

a{
    color:var(--purple-secondary);
}

.rounded{
    border-radius:var(--radius)!important;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
    h1{
        font-weight:600;
        font-size:32px;
        line-height:38px;
        margin-bottom:1.5em;
    }
    h2{
        font-size:28px;
        line-height:32px;
    }
    h3{
        font-size:28px;
        line-height:32px;
    }
}
@media only screen and (max-width:992px){
    .spacer{
        margin-bottom:40px;
    }
}
@media only screen and (max-width:768px){
    h1{
        font-weight:600;
        font-size:26px;
        line-height:32px;
        margin-bottom:1.5em;
    }
    h2{
        font-size:24px;
        line-height:28px;
    }
    h3{
        font-size:24px;
        line-height:26px;
    }
    .spacer{
        margin-bottom:30px;
    }
}
@media only screen and (max-width:576px){
}
@media only screen and (min-width:480px){
}
@media only screen and (max-width:320px){
}

.form-check-input:checked{
    border-color:var(--purple-primary);
    background-color:var(--purple-primary);
}
.form-control,
.form-select{
    border-radius:var(--radius);
}
.form-control:focus {   
    border-color: rgba(95, 44, 112, 0.8);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(95, 44, 112, 0.6);
    outline: 0 none;
}

.form-floating{
    position:relative;
}
.form-floating.calendar::after {
    content: "";
    position: absolute;
    right: 25px;
    top: 50%;
    z-index:2;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M9 1.25C9.41421 1.25 9.75 1.58579 9.75 2V3.26061C10.4192 3.25 11.1628 3.25 11.9889 3.25H12.0111C12.8372 3.25 13.5808 3.25 14.25 3.26061V2C14.25 1.58579 14.5858 1.25 15 1.25C15.4142 1.25 15.75 1.58579 15.75 2V3.31358C17.2619 3.40837 18.4234 3.65335 19.3798 4.34815C19.8679 4.70281 20.2972 5.13209 20.6518 5.62023C21.2377 6.42656 21.5 7.37094 21.6263 8.53648C21.75 9.67861 21.75 11.1182 21.75 12.9547V13.0115C21.75 14.1713 21.75 15.1686 21.7206 16.0257C21.6564 17.8991 21.4537 19.2761 20.6518 20.3798C20.2972 20.8679 19.8679 21.2972 19.3798 21.6518C18.2761 22.4537 16.8991 22.6564 15.0257 22.7206C14.1684 22.75 13.171 22.75 12.0108 22.75H11.9547C10.1182 22.75 8.67861 22.75 7.53648 22.6263C6.37094 22.5 5.42656 22.2377 4.62024 21.6518C4.13209 21.2972 3.70281 20.8679 3.34815 20.3798C2.76232 19.5734 2.50001 18.6291 2.37373 17.4635C2.24999 16.3214 2.24999 14.8818 2.25 13.0452V12.9548C2.24999 11.1182 2.24999 9.67861 2.37373 8.53648C2.50001 7.37094 2.76232 6.42656 3.34815 5.62023C3.70281 5.13209 4.13209 4.70281 4.62024 4.34815C5.57655 3.65335 6.73808 3.40837 8.25 3.31358V2C8.25 1.58579 8.58579 1.25 9 1.25ZM8.25 4.81725C6.88795 4.91092 6.10177 5.12585 5.50191 5.56168C5.14111 5.82382 4.82382 6.14111 4.56168 6.50191C4.19259 7.00992 3.97745 7.66013 3.865 8.69804C3.75103 9.74999 3.75 11.1084 3.75 13C3.75 14.8916 3.75103 16.25 3.865 17.302C3.97745 18.3399 4.19259 18.9901 4.56168 19.4981C4.82382 19.8589 5.14111 20.1762 5.50191 20.4383C6.00992 20.8074 6.66013 21.0225 7.69805 21.135C8.74999 21.249 10.1084 21.25 12 21.25C12.8483 21.25 13.5918 21.2499 14.2518 21.2392C14.2562 20.7645 14.271 20.4151 14.3208 20.1005C14.7105 17.6401 16.6401 15.7105 19.1005 15.3208C19.4151 15.271 19.7645 15.2562 20.2392 15.2518C20.25 14.5918 20.25 13.8483 20.25 13C20.25 11.1084 20.249 9.74999 20.135 8.69804C20.0225 7.66013 19.8074 7.00992 19.4383 6.50191C19.1762 6.14111 18.8589 5.82382 18.4981 5.56168C17.8982 5.12585 17.1121 4.91092 15.75 4.81725V5C15.75 5.41421 15.4142 5.75 15 5.75C14.5858 5.75 14.25 5.41421 14.25 5V4.76079C13.5904 4.75005 12.8476 4.75 12 4.75C11.1524 4.75 10.4096 4.75005 9.75 4.76079V5C9.75 5.41421 9.41421 5.75 9 5.75C8.58579 5.75 8.25 5.41421 8.25 5V4.81725ZM20.1826 16.7528C19.7776 16.7575 19.5402 16.7699 19.3352 16.8023C17.5166 17.0904 16.0904 18.5166 15.8023 20.3352C15.7699 20.5402 15.7575 20.7776 15.7528 21.1826C17.1131 21.0888 17.8986 20.8738 18.4981 20.4383C18.8589 20.1762 19.1762 19.8589 19.4383 19.4981C19.8739 18.8986 20.0888 18.1131 20.1826 16.7528Z" fill="%235F2C70"/><path d="M8 9C8 9.55228 7.55229 10 7 10C6.44772 10 6 9.55228 6 9C6 8.44772 6.44772 8 7 8C7.55229 8 8 8.44772 8 9Z" fill="%235F2C70"/><path d="M8 13C8 13.5523 7.55229 14 7 14C6.44772 14 6 13.5523 6 13C6 12.4477 6.44772 12 7 12C7.55229 12 8 12.4477 8 13Z" fill="%235F2C70"/><path d="M13 9C13 9.55228 12.5523 10 12 10C11.4477 10 11 9.55228 11 9C11 8.44772 11.4477 8 12 8C12.5523 8 13 8.44772 13 9Z" fill="%235F2C70"/><path d="M13 13C13 13.5523 12.5523 14 12 14C11.4477 14 11 13.5523 11 13C11 12.4477 11.4477 12 12 12C12.5523 12 13 12.4477 13 13Z" fill="%235F2C70"/><path d="M13 17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17C11 16.4477 11.4477 16 12 16C12.5523 16 13 16.4477 13 17Z" fill="%235F2C70"/><path d="M18 9C18 9.55228 17.5523 10 17 10C16.4477 10 16 9.55228 16 9C16 8.44772 16.4477 8 17 8C17.5523 8 18 8.44772 18 9Z" fill="%235F2C70"/><path d="M18 13C18 13.5523 17.5523 14 17 14C16.4477 14 16 13.5523 16 13C16 12.4477 16.4477 12 17 12C17.5523 12 18 12.4477 18 13Z" fill="%235F2C70"/><path d="M8 17C8 17.5523 7.55229 18 7 18C6.44772 18 6 17.5523 6 17C6 16.4477 6.44772 16 7 16C7.55229 16 8 16.4477 8 17Z" fill="%235F2C70"/></svg>');
    pointer-events: none;
}
.form-floating.persons::after {
    content: "";
    position: absolute;
    right: 25px;
    top: 50%;
    z-index:2;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17 7.75C17 8.99264 15.9926 10 14.75 10V11.5C16.8211 11.5 18.5 9.82107 18.5 7.75H17ZM14.75 10C13.5074 10 12.5 8.99264 12.5 7.75H11C11 9.82107 12.6789 11.5 14.75 11.5V10ZM12.5 7.75C12.5 6.50736 13.5074 5.5 14.75 5.5V4C12.6789 4 11 5.67893 11 7.75H12.5ZM14.75 5.5C15.9926 5.5 17 6.50736 17 7.75H18.5C18.5 5.67893 16.8211 4 14.75 4V5.5ZM11.75 14.5H17.75V13H11.75V14.5ZM17.75 19H11.75V20.5H17.75V19ZM11.75 19C10.5074 19 9.5 17.9926 9.5 16.75H8C8 18.8211 9.67893 20.5 11.75 20.5V19ZM20 16.75C20 17.9926 18.9926 19 17.75 19V20.5C19.8211 20.5 21.5 18.8211 21.5 16.75H20ZM17.75 14.5C18.9926 14.5 20 15.5074 20 16.75H21.5C21.5 14.6789 19.8211 13 17.75 13V14.5ZM11.75 13C9.67893 13 8 14.6789 8 16.75H9.5C9.5 15.5074 10.5074 14.5 11.75 14.5V13Z" fill="%235F2C70"/><path d="M10.5021 10.3887C10.3444 10.1353 10.0485 10 9.75 10C8.50736 10 7.5 8.99264 7.5 7.75C7.5 6.50736 8.50736 5.5 9.75 5.5C10.0485 5.5 10.3444 5.36473 10.5021 5.11135C10.5091 5.10014 10.5161 5.08896 10.5232 5.07782C10.7858 4.66331 10.6527 4.0764 10.165 4.0227C10.0287 4.0077 9.89027 4 9.75 4C7.67893 4 6 5.67893 6 7.75C6 9.82107 7.67893 11.5 9.75 11.5C9.89027 11.5 10.0287 11.4923 10.165 11.4773C10.6527 11.4236 10.7858 10.8367 10.5232 10.4222C10.5161 10.411 10.5091 10.3999 10.5021 10.3887Z" fill="%235F2C70"/><path d="M7.45829 18.3169C7.34477 18.1275 7.14439 18 6.92359 18H6.75C5.50736 18 4.5 16.9926 4.5 15.75C4.5 14.5074 5.50736 13.5 6.75 13.5H6.92359C7.14439 13.5 7.34477 13.3725 7.45829 13.1831C7.73539 12.7208 7.43468 12 6.89569 12H6.75C4.67893 12 3 13.6789 3 15.75C3 17.8211 4.67893 19.5 6.75 19.5H6.89569C7.43469 19.5 7.73539 18.7792 7.45829 18.3169Z" fill="%235F2C70"/></svg>');
    pointer-events: none;
}

.form-success,
.form-error{
    display:none;
}

.input-group-text{
    border-radius:var(--radius);
}

/****** Table ******/
.table-purple td,
.table-purple th{
    background-color:rgba(95, 44, 112, 0.3);
    border-color:var(--purple-primary);
}
.table td,
.table th{
    color:var(--purple-secondary);
}

/****** Search Form ********/
.search-form{
    border:1px solid var(--beige);
    border-radius:50px;
    padding:12px;
}
.search-form input{
    background:transparent!important;
    border:none;
    border-right:4px solid #D9D9D9!important;
    border-radius:0px;
    color:var(--purple-primary);
    font-weight:bold;
}
.search-form input:focus{
    box-shadow:none;
}
.search-form .form-floating>label{
    font-weight:bold;
    color:var(--purple-primary);
}
.search-form .form-floating>.form-control:not(:placeholder-shown)~label::after{
    background:transparent!important;
}
.search-form .btn{
    border-radius:50px;
    height:58px;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:992px){
    .search-form .btn{
        padding-left:20px;
        padding-right:20px;
    }
    
}
@media only screen and (max-width:768px){
    .search-form{
        background-color:var(--white);
    }
    .search-form input{
        border:none;
    }
}
@media only screen and (max-width:576px){
}
@media only screen and (max-width:480px){
}
@media only screen and (max-width:320px){
}

/******* Carrousel *********/
.carousel .carousel-indicators [data-bs-target]{
    width:25px;
    height:25px;
    border-radius:50%;
    border:2px solid var(--white);
    background-color:var(--white);
    opacity:1;
    background-clip:unset;
}
.carousel .carousel-indicators [data-bs-target].active{
    background-color:var(--purple-primary);
}
.carousel .carousel-inner{
    border-radius:var(--radius);
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:992px){
    .carousel .carousel-indicators [data-bs-target]{
        width:20px;
        height:20px;
    }
}
@media only screen and (max-width:768px){
    .carousel .carousel-indicators [data-bs-target]{
        width:15px;
        height:15px;
    }
}
@media only screen and (max-width:576px){
}
@media only screen and (max-width:480px){
}
@media only screen and (max-width:320px){
}

/********* Cards ***********/
.card{
    border-color:#D9D9D9;
    background:var(--white);
    border-radius:var(--radius);
}

/********* BUTTONS *********/
.btn{
    position:relative;
    border-radius:var(--radius);
}
.btn-primary{
    background-color:var(--purple-primary);
    border-color:var(--purple-primary);
    font-weight:600;
    font-size:18px;
    padding:12px 48px;
}
.btn-primary.active,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:active:focus{
    background-color:var(--purple-secondary);
    border-color:var(--purple-secondary);
}

.btn-outline-primary{
    border-color:var(--purple-primary);
    color:var(--purple-primary);
    border-radius:var(--radius);
    font-weight:600;
    font-size:18px;
    padding:12px 48px;
}
.btn-outline-primary.active,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary:active:focus{
    background-color:var(--purple-primary);
    border-color:var(--purple-primary);
    color:var(--white);
}
.btn-outline-primary:hover svg *,
.btn-outline-primary:focus svg *,
.btn-outline-primary:active svg *,
.btn-outline-primary:active:focus svg * {
    fill: #fff !important;
    stroke: #fff !important;
}
.btn.disabled, .btn:disabled, fieldset:disabled .btn{
    background-color:#786180;
    border-color:#786180;
}

.btn-outline-danger,
.btn-outline-warning,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-info{
    height:42px;
}

.btn.right{
    padding-right:62px;
}
.btn.right svg{
    position:absolute;
    top:16px;
    right:15px;
}

.btn.rounded{
    border-radius:50px!important;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:992px){
    
}
@media only screen and (max-width:768px){
    
}
@media only screen and (max-width:576px){

}
@media only screen and (max-width:480px){
    .btn.right{
        padding-left:25px;
        padding-right:47px;
    }
    .btn.right svg{
        position:absolute;
        top:16px;
        right:15px;
    }
}
@media only screen and (max-width:320px){
}

/********* QTY INPUT ******/
.qty-wrapper{
    width:100%;
    border:1px solid #DDCBEE;
    box-shadow:0px 0px 4px rgba(134, 85, 180, 0.06);
    background-color:#FAF5FF;
    border-radius:var(--radius);
}
.qty-wrapper .qty-btn{
    box-shadow:none;
    color:#A94EFF;
    width:20%;
    border:none;
    margin:0;
    background:transparent;
    height:48px;
    font-size:22px;
}
.qty-wrapper input{
    height:48px;
    width:55%;
    border:none;
    margin:0;
    text-align:center;
}
.qty-wrapper input[type="text" i] {
    padding-block: 0px;
    padding-inline: 0px;
}

.qty-wrapper input[type="number"]::-webkit-inner-spin-button,
.qty-wrapper input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.qty-wrapper input[type="number"] {
    -moz-appearance: textfield;
}

/********* ALERTS *********/
.alert{
    border-radius:var(--radius);
    border: 0px;
    border-left: 4px solid;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}
.alert svg,
.alert i{
    width: 20px;
    height: 20px;
    min-width: 20px;
    flex-shrink: 0;
}

/* Success - Vert #689b67 */
.alert-success{
    background-color: rgba(104, 155, 103, 0.1);
    border-left-color: #689b67;
    color: #4a6e49!important;
}
.alert-success h5{
    color: #4a6e49!important;
}
.alert-success .fas,
.alert-success .fa-solid,
.alert-success i{
    color: #689b67;
}

/* Info - Violet clair #a273da */
.alert-info{
    background-color: rgba(162, 115, 218, 0.1);
    border-left-color: #a273da;
    color: #5f2c70;
}
.alert-info .fas,
.alert-info .fa-solid,
.alert-info i{
    color: #a273da;
}

/* Warning - Beige/jaune #ebce95 */
.alert-warning{
    background-color: rgba(235, 206, 149, 0.15);
    border-left-color: #d4a574;
    color: #8b6914;
}
.alert-warning .fas,
.alert-warning .fa-solid,
.alert-warning i{
    color: #d4a574;
}

/* Danger/Error - Violet foncé #5f2c70 */
.alert-danger{
    background-color: rgba(95, 44, 112, 0.1);
    border-left-color: #5f2c70;
    color: #250831;
}
.alert-danger .fas,
.alert-danger .fa-solid,
.alert-danger i{
    color: #5f2c70;
}
.form-password{
    display:none;
    background-color:#fff;
    border-color:var(--purple-primary);
}
.form-password ul{
    margin-bottom:0px;
}
.alert.alert-success svg{
    fill:#0a3622;
}
.alert a{
    /* position:absolute; */
}
.alert.alert-add-to-cart {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 0;
}
.alert.alert-add-to-cart a {
    margin-left: auto;
}

/****** Button Loader ******/
.button-loader {
    position:relative;
    top:3px;
    margin-left:10px;
    width: 16px;
    height: 16px;
    border: 3px solid #FFF;
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
} 