/*******************************
 *        Miscellaneous        *
 *******************************/

#cookiesck_options {
    display: none !important;
}

.formError {
    color:#EB573E !important;
    font-weight:normal !important;
    font-size:14px;
    display:block;
}
/*******************************
 *          Slidenav           *
 *******************************/

.uk-slidenav > svg {
    width:20px;
    height:20px;
}

.uk-slidenav-large > svg {
    width:24px;
    height:24px;
}

/*******************************
 *           Navbar            *
 *******************************/

/* Hide default dialog menu toggle */
.tm-header .uk-navbar-right > :last-child {
    display:none;
}

.tm-header .uk-navbar-left {
    gap: 15px;
}

@media(max-width:1599px) {
    .tm-header-mobile .uk-navbar-left {
        gap: 10px !important;
    }
    
    .tm-header .uk-navbar-center > .uk-button {
        font-size:12px;
        line-height:32px;
        padding:0 10px;
    }
    .tm-header .uk-navbar-left, .tm-header .uk-navbar-right, .tm-header [class*="uk-navbar-center"] {
        gap: 10px;
    }
    .tm-header-mobile .uk-navbar-left, .tm-header-mobile .uk-navbar-right, .tm-header-mobile [class*="uk-navbar-center"] {
        gap: 20px;
    }
    .tm-header .uk-navbar-nav {
        gap: 12px;
    }
    
    .tm-header .uk-navbar-nav > li > a {
        font-size:12px
    }
}

.uk-tooltip {
    box-shadow:0 0 20px rgba(0,0,0,.2);
}

/******************************
 *       Mobile bottom        *
 ******************************/

#mobile-bottom {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    background-color:#C56E60;
    display:flex;
    justify-content: center;
    z-index:9999;
    box-shadow:0 0 20px rgba(0,0,0,.15);
}

#mobile-bottom button {
    border-radius:0;
}

/*************************
 *        J2Store        *
 *************************/

.j2error {
    color: #d75743;
}

.sale-price {
    font-weight: bold;
}

.outofstock {
    color: #fff;
    background-color: #d75743;
    text-transform: uppercase;
    font-family: 'Open Sans';
    font-size: 12px;
    border-radius: 4px;
    padding: 3px 10px;
}

.strike {
    text-decoration: line-through;
}

.hide-price-per .product-price-per-container {
    display:none;
}

/******************************
 *      Product Switcher      *
 ******************************/

.product-switcher .el-nav {
    margin-bottom:0;
}
.product-switcher .uk-subnav-pill {
    margin-left:-5px;
}
.product-switcher .uk-subnav-pill > * {
    padding-left: 5px;
}
.product-switcher .el-nav > li > a {
    padding:15px;
    color:#fff;
    background-color:#C56E60;
    /*text-transform:uppercase;*/
    font-weight:600;
}
.product-switcher .el-nav > li.uk-active > a {
    background-color:#F9F4ED;
    color:#3E493F;
}
.product-switcher > div > .el-item {
    background-color:#F9F4ED;
    padding:30px;
}

/*******************************
 *           Wihlist           *
 *******************************/

.product-list .wishlist-text {
    display: none;
}

.product-list .product-wishlist {
    position: absolute;
    display: flex;
    bottom: -29px;
    right: -29px;
    background-color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 500px;
    align-items: center;
    justify-content: center;
}

.product-details .product-wishlist {
    margin-top:15px;
}
/*******************************
 *       Product options       *
 *******************************/

/* Style 1 : Squares */

.kg-container-chooser .option {
  position: relative; /* nécessaire pour positionner l'outline */
  display: flex;
  flex-wrap: wrap;
  grid-template-columns: repeat(auto-fit, minmax(40px, 1fr));
  gap: 5px;
}

.kg-container-chooser .option label > span {
    font-size: 12px;
}

.kg-container-chooser .option > .uk-h4 {
  flex: 0 0 100%;                 /* 100% de largeur sur sa propre ligne */
  margin: 0 0 6px 0;
}

/* ——— Radios invisibles, clic sur le label ——— */
.kg-container-chooser .option input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* ——— Boutons (labels) ——— */

.kg-container-chooser {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.kg-container-chooser .option label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  min-width:40px;
  line-height: 40px;
  border: 1px solid #A2A096;     /* inactif */
  background: #F9F4ED;           /* fond du bouton (pas du span) */
  color: #C56E60;                 /* inactif: texte */
  border-radius: 0;
  padding: 0 5px;
  cursor: pointer;
  position: relative;
  transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease;
}

/* Texte dans le span : transparent (aucun fond) */
.kg-container-chooser .option label > span {
  display: inline-block;
  font-weight: 600;
  position: relative;
  z-index: 1;    /* au-dessus de l'outline */
  background: transparent; /* => fond du texte reste transparent */
}

/* État actif: juste la couleur du texte change */
.kg-container-chooser .option input[type="radio"]:checked + span {
  color: #3E493F;
}

/* ——— Outline mobile (élément HTML séparé) ——— */
.kg-container-chooser .option .kg-active-outline {
  position: absolute;
  top: 0; left: 0;
  width: 0; height: 0;
  pointer-events: none;
  border: 3px solid #C56E60;     /* bordure active */
  /* Anneau intérieur blanc (marge intérieure) */
  box-shadow: inset 0 0 0 4px #ffffff;
  border-radius: 0;
  opacity: 0;                     /* masqué tant qu’aucune sélection */
  z-index: 0;                     /* sous le texte, au-dessus du fond du label */
}

.kg-container-name {
    margin-top: 4px;
    font-size: 14px;
    font-weight: 600;
}

.product-details .kg-container-chooser .option label > span {
    font-size: 16px;
}

.product-details .kg-container-chooser .option label {
    min-height: 54px;
    min-width: 54px;
}

.product-list .kg-container-chooser .option {
    justify-content: center;
    position: absolute;
    right: 0;
    left: 0;
    z-index: 1;
}

.product-list .kg-container-chooser .option > .uk-h4 {
    display: none;
}

.product-list .kg-container-chooser {
    margin:0 !important;
}

.product-list .kg-container-name {
    display: none;
}

/* Style 2 : Nice Radio Buttons */

.kg-radio .options *,
.kg-radio .options *:after,
.kg-radio .options *:before {
    box-sizing: border-box;
}
 
.kg-radio .option label {
    display:flex;
    cursor:pointer;
    position:relative;
    overflow:hidden;
    margin-bottom:0.375em;
    
    input {
        position:absolute;
        left:-9999px;
        &:checked + span {
            background-color: #F9F4ED;
            &:before {
                box-shadow: inset 0 0 0 0.4375em #C56E60;
            }
        }
    }
    span {
        display:flex;
        align-items: center;
        padding: 0.375em 0.75em 0.375em 0.375em;
        border-radius: 99em;
        transition: 0.25s ease;
        &:hover {
            background-color: #F9F4ED;
        }
        &:before {
            display: flex;
            flex-shrink: 0;
            content: "";
            background-color: #fff;
            width: 1.5em;
            height: 1.5em;
            border-radius: 50%;
            margin-right: 0.375em;
            transition: 0.25s ease;
            box-shadow: inset 0 0 0 0.125em #C56E60;
        }
    }
}

.product-list .kg-radio .option label {
    justify-content: center;
}

/* Style 3 : Dernière chance */

.kg-radio.kg-lastchance label {
    overflow: visible;
    margin-top:2px;
}

.product-list .kg-radio.kg-lastchance .option {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.toggle-slot {
    font-size: 10px;
    position: relative;
    height: 3.5em;
    width: 7em;
    outline: 1px solid #C56E60;
    border-radius: 10em;
    background-color: #F9F4ED;
    transition: background-color 250ms;
}

.toggle-checkbox:checked ~ .toggle-slot {
    background-color: #C56E60;
}

.toggle-button {
    transform: translate(0.3em, 0.25em);
    position: absolute;
    height: 3em;
    width: 3em;
    border-radius: 50%;
    background-color: white;
    box-shadow: inset 0px 0px 0px 0.75em #C56E60;
    transition: background-color 250ms, border-color 250ms, transform 500ms cubic-bezier(.26,1.8,.46,.71);
}

.toggle-checkbox:checked ~ .toggle-slot .toggle-button {
    background-color: #C56E60;
    box-shadow: inset 0px 0px 0px 0.75em white;
    transform: translate(3.65em, 0.25em);
}

.product-list .toggle-slot {
    height: 2.5em;
    width: 5em;
}

.product-list .toggle-button {
    height: 2em;
    width: 2em;
    box-shadow: inset 0px 0px 0px 0.5em #C56E60;
}

.product-list .toggle-checkbox:checked ~ .toggle-slot .toggle-button {
    box-shadow: inset 0px 0px 0px 0.5em white;
    transform: translate(2.65em, 0.25em);
}

/**************************************
 *    Product add to cart quantity    *
 **************************************/

.product-qty {
    position: relative;
    display: inline-block;
    user-select: none;
}

.product-qty input[type="number"] {
    text-align: center;
    padding: 0;
    -moz-appearance: textfield;
    position: relative;
    background: transparent;
    min-width:90px;
    border:solid 1px #000;
    border-radius:7px 0 0 7px;
    border-right:none;
    background-color: #fff;
}

.j2store-cart-button {
    border-radius:0 7px 7px 0;
    height: 40px;
    line-height: 36px;
}

.product-qty input::-webkit-outer-spin-button,
.product-qty input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.product-qty::before {
    content: "-";
    left: 2px;
}

.product-qty::after {
    content: "+";
    right: 2px;
}

.product-qty::after,
.product-qty::before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2em;
    font-weight: bold;
    cursor: pointer;
    color: #666;
    user-select: none;
    z-index: 1;
    width:24px;
    height:36px;
    line-height:36px;
    text-align:center;
}
.product-list {
    .j2store-cart-button {
        /*border-radius:7px;*/
        font-size:14px;
        padding:0 18px;
        height: 40px;
        line-height: 36px;
    }
    .j2store-add-to-cart {
        display: flex;
        justify-content: center;
    }
    .product-qty input[type="number"] {
        min-width: 75px;
        font-size:12px;
    }

    .product-qty::after,
    .product-qty::before {
        width:20px;
    }
    .sale-price {
        color:#C56E60;
        font-weight:bold;
        font-size:20px;
    }
}

/***************************
 *        Mini cart        *
 ***************************/

.cart-item-info > a.link {
    text-decoration:none;
}

.cart-item-info .cart-item-count {
    margin-left:5px;
    background-color:#C56E60;
}


/*******************************
 *       Product filters       *
 *******************************/

.jlcontentfieldsfilter > .jlmf-section:not(:last-child) {
    border-bottom:solid 1px rgba(0,0,0,.15);
}

.jlcontentfieldsfilter .uk-form-label {
    font-size:16px;
}

.jlmf-list-1 {
    margin-bottom:10px;
}

.jlmf-boolean .uk-form-label {
    margin-bottom:0;
}

/*********************************
 *        Wishlist Module        *
 *********************************/

.j2store_wishlist_module .uk-icon {
    color:#3e493f;
}

.j2store_wishlist_module .wishlist-item-count {
    background: #C56E60 none repeat scroll 0 0;
    border-radius: 20px;
    color: #fff;
    display: inline-block;
    font-size: 11px;
    height: 20px;
    line-height: 19px;
    text-align: center;
    width: 20px;
}

/********************
 *       Cart       *
 ********************/

.cart-thumb-image img {
    border-radius:5px;
}

table.cart-footer > tbody > tr:last-child {
    th,td {
        font-weight:bold;
    }
}

.cart-line-quantity .uk-button-danger {
    border-radius:0 5px 5px 0;
}

/****************************
 *       UIkit Tables       *
 ****************************/

table {
    border-color:#eee;
}

@media (max-width: 959px) {
    .uk-table-responsive,
    .uk-table-responsive th:not(:last-child):not(.uk-table-link),
    .uk-table-responsive td:not(:last-child):not(.uk-table-link),
    .uk-table-responsive .uk-table-link:not(:last-child) > a {
        border: none;
    }
    
    .uk-table-responsive td {
        padding-left:0;
        padding-right:0;
    }
    
    .uk-table-responsive th:not(:first-child):not(.uk-table-link),
    .uk-table-responsive td:not(:first-child):not(.uk-table-link),
    .uk-table-responsive .uk-table-link:not(:first-child) > a {
        border:none;
    }
    
    td.cart-line-subtotal {
        display: inline-block !important;
        width: calc(45%) !important;
    }
    td.cart-line-quantity {
        display: inline-block !important;
        width: calc(55% - 5px) !important;
    }
}

/********************************
*     Image Smooth Rotation     *
*********************************/

.rotate-stepped-smooth {
  transform-origin: 50% 50%;
  animation: rotate-stepped-smooth 18s ease-in-out infinite;
  will-change: transform;
}

@keyframes rotate-stepped-smooth {
  0%    { transform: rotate( 0deg) }
  20%   { transform: rotate( 0deg); }
  25%   { transform: rotate(-90deg); }
  45%   { transform: rotate(-90deg); }
  50%   { transform: rotate(-180deg); }
  70%   { transform: rotate(-180deg); }
  75%   { transform: rotate(-270deg); }
  95%   { transform: rotate(-270deg); }
  100%  { transform: rotate(-360deg); }
}

/* Accessibilité : coupe l’anim si l’utilisateur préfère moins d’effets */
@media (prefers-reduced-motion: reduce) {
  .rotate-stepped-smooth { animation: none; }
}

/**************************************
 *       Kilogram Custom Design       *
 **************************************/

.uk-divider-small {
    border-radius: 5px;
    width: 300px;
    background: #C56E60;
}

.kg-underline {
    position:relative;
    display:inline-block;
}
.kg-underline:after {
    content:"";
    position:absolute;
    height:10px;
    /*min-width:200px;*/
    bottom:0;
    left:0;
    right:0;
    background-color:#000;
    border-radius:5px;
    top:1.5em;
}

.kg-underline-primary:after {
    background-color:#C56E60;
}

.kg-underline-secondary:after {
    background-color:#A2A096;
}

.kg-underline-tertiary:after {
    background-color:#FCEDA4;
}


