/* =============== */
/* Mes abonnements */
/* =============== */

:root{
    --eyc-primary: var(--bs-primary, #0d6efd);
    --eyc-success: var(--bs-success, #198754);
    --eyc-warning: var(--bs-warning, #ffc107);
    --eyc-danger:  var(--bs-danger,  #dc3545);
    --eyc-muted:   #6c757d;
    --eyc-soft-bg: var(--bs-light,   #f8f9fa);
}

.eyc-subscription-box {
    border-top:#e3eae9 1px solid;
    border-bottom:#e3eae9 1px solid;
}
.eyc-subs-empty.card.card--soft{
    border: 1px dashed rgba(0,0,0,.12);
    border-radius: .75rem;
    background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,0));
}

.eyc-subs-empty__icon i{
    opacity: .55;
}

/* --- Carte abonnement --- */
.eyc-sub.card{
    border: 1px solid rgba(0,0,0,.08);
    border-radius: .75rem;
    box-shadow: 0 2px 10px rgba(0,0,0,.04);
    overflow: hidden;
}
.eyc-sub__header.card-header{
    background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,0));
    border-bottom: 1px solid rgba(0,0,0,.06);
}
.eyc-sub__title{
    font-weight: 600;
}
.eyc-sub__order-link{
    text-decoration: none;
}
.eyc-sub__order-link:hover{
    text-decoration: underline;
}


.eyc-badge{
    display: inline-block;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .02em;
    padding: .35rem .6rem;
    line-height: 1;
    border-radius: 10rem;
    border: 1px solid transparent;
    background: rgba(0,0,0,.06);
    color: var(--eyc-muted);
}
.eyc-badge--success{
    background: rgba(25, 135, 84, .12);
    color: #198754;
    border-color: rgba(25, 135, 84, .25);
}
.eyc-badge--warning{
    background: rgba(255, 193, 7, .16);
    color: #7a5b00; /* lisible sur jaune */
    border-color: rgba(255, 193, 7, .35);
}
.eyc-badge--danger{
    background: rgba(220, 53, 69, .12);
    color: #dc3545;
    border-color: rgba(220, 53, 69, .25);
}
.eyc-badge--neutral{
    background: var(--eyc-soft-bg);
    color: var(--eyc-muted);
    border-color: rgba(0,0,0,.08);
}

/* --- Grille méta (prix, fréquence, dates) --- */
.grid{
    display: grid;
    gap: .75rem 1rem;
}
.grid--2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 576px){
    .grid--2{ grid-template-columns: 1fr; }
}
.eyc-sub__meta-label{
    font-size: .75rem;
    text-transform: uppercase;
    color: var(--eyc-muted);
    letter-spacing: .04em;
    margin-bottom: .15rem;
}
.eyc-sub__meta-value{
    font-weight: 600;
}

/* --- Liste des produits --- */
.eyc-sub__section-title{
    font-weight: 600;
    font-size: .95rem;
    text-transform: none;
    margin-bottom: .5rem;
}
.eyc-items{
    margin: 0;
    padding: 0;
}
.eyc-items--empty .alert{
    border: 1px dashed rgba(0,0,0,.12);
    background: #fff;
}

.eyc-item{
    padding: .6rem 0;
    border-bottom: 1px dashed rgba(0,0,0,.08);
}
.eyc-item:last-child{
    border-bottom: 0;
}
.eyc-item__img{
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    margin-right: .75rem;
}
.eyc-item__img img{
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: .5rem;
    box-shadow: 0 1px 2px rgba(0,0,0,.06);
}
.eyc-item__title{
    font-weight: 600;
    line-height: 1.3;
}
.eyc-item__attrs{
    font-weight: 400;
}
.eyc-item__meta{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem .75rem;
    margin-top: .25rem;
}
.eyc-item__price{
    font-weight: 600;
}
.eyc-item__total{
    font-weight: 700;
}


.eyc-chip{
    display: inline-flex;
    align-items: center;
    padding: .15rem .55rem;
    border-radius: 999px;
    font-size: .75rem;
    background: var(--eyc-soft-bg);
    color: var(--eyc-muted);
    border: 1px solid rgba(0,0,0,.06);
}


.eyc-sub__footer{
    background: linear-gradient(0deg, rgba(0,0,0,.02), rgba(0,0,0,0));
    border-top: 1px solid rgba(0,0,0,.06);
    gap: .5rem;
}


.eyc-toast{
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1050;
    min-width: 240px;
    border-radius: .5rem;
    box-shadow: 0 10px 24px rgba(0,0,0,.15);
    border: 1px solid rgba(0,0,0,.08);
}


.eyc_bg_light{
    background: #eefcff;
}

.eyc_price {
    color: #1a7d91;
    font-weight: 600;
    transition: color 0.2s ease;
    font-size: 24px;
}

.custom-control-input:checked + .custom-control-label .eyc_price {
    color: inherit !important;
}
.custom-control-input:checked + .custom-control-label .eyc-freq-chip{
    color: white;
}

.eyc_sub_quantity {
    display: flex;
    max-width: 250px;
    margin: auto;
    border: 1px solid rgba(0, 0, 0, 0.25);
}
.eyc_sub_quantity .form-control {
    border-color: transparent;
}
.eyc_sub_quantity .form-control:focus{
    outline: none !important;
}
.eyc_sub_frenquency {
    max-width: 450px;
    margin: auto;
}
#eycSubModal .modal-title{font-size: 1.8rem; font-weight: 600;}
#eycSubModal p,
#eycSubModal h5,
.eyc_sub_frenquency,
.eyc_sub_label,
.eyc_sub_quantity .form-control,
.eyc_sub_frenquency select option,
.eycSubModalLabel,
.eyc_sub_add{
    text-align: center;
}

#subscription-cart-details {
    display: flex;
    background-color: #fff;
    padding: 20px 10px;
    justify-content: space-between;
}
#subscription-cart-details>div{
    padding: 5px;
}

/* ===== Boutons d’action EYC ===== */
.eyc-actions { display:flex; flex-wrap:wrap; gap:.5rem .6rem; }

.eyc-btn{
    --eyc-btn-bg:#fff;
    --eyc-btn-bd:rgba(0,0,0,.12);
    --eyc-btn-fg:inherit;
    display:inline-flex; align-items:center; gap:.5rem;
    border:1px solid var(--eyc-btn-bd); background:var(--eyc-btn-bg); color:var(--eyc-btn-fg);
    padding:.5rem .8rem; border-radius:.65rem; font-weight:600; line-height:1;
    box-shadow:0 1px 2px rgba(0,0,0,.06);
    transition:transform .08s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease;
    cursor:pointer;
}
.eyc-btn:focus{ outline:0; box-shadow:0 0 0 .2rem rgba(13,110,253,.15); }
.eyc-btn:hover{ transform:translateY(-1px); box-shadow:0 4px 16px rgba(0,0,0,.08); }
.eyc-btn:active{ transform:translateY(0); box-shadow:0 1px 2px rgba(0,0,0,.06); }
.eyc-btn[disabled], .eyc-btn.is-loading{ opacity:.65; pointer-events:none; }

.eyc-btn svg{ width:18px; height:18px; display:block; }
.eyc-btn--sm{ padding:.4rem .7rem; font-size:.875rem; border-radius:.55rem; }

/* Variantes */
.eyc-btn--ghost-warning{
    --eyc-btn-bg: rgba(255,193,7,.10);
    --eyc-btn-bd: rgba(255,193,7,.35);
    --eyc-btn-fg: #7a5b00;
}
.eyc-btn--ghost-warning:hover{ --eyc-btn-bg: rgba(255,193,7,.18); }

.eyc-btn--success{
    --eyc-btn-bg: linear-gradient(180deg, #1aa06b, #168a5b);
    --eyc-btn-bd: rgba(0,0,0,.0);
    --eyc-btn-fg: #fff;
}
.eyc-btn--success:hover{ filter:brightness(1.03); }

/* Danger (plein) — ultra soft, discret */
.eyc-btn--danger{
    --eyc-btn-bg: linear-gradient(180deg, #f5e6e8, #f1dadd); /* rose très pâle */
    --eyc-btn-bd: rgba(179, 38, 51, .15);                    /* léger liseré */
    --eyc-btn-fg: #7a2e36;                                   /* rouge brun doux (texte/icônes) */
}
.eyc-btn--danger:hover{
    filter: none;
    --eyc-btn-bg: linear-gradient(180deg, #f3e1e4, #efd2d7);
}

/* Danger (outline/ghost) — encore plus discret */
.eyc-btn--danger-outline{
    --eyc-btn-bg: rgba(179, 38, 51, .06);
    --eyc-btn-bd: rgba(179, 38, 51, .18);
    --eyc-btn-fg: #7a2e36;
}
.eyc-btn--danger-outline:hover{
    --eyc-btn-bg: rgba(179, 38, 51, .10);
}


.eyc-btn.is-loading{ position:relative; }
.eyc-btn.is-loading::after{
    content:"";
    width:14px; height:14px;
    border:2px solid currentColor; border-right-color: transparent;
    border-radius:50%;
    position:absolute; right:.55rem; top:50%; transform:translateY(-50%);
    animation:eyc-spin .6s linear infinite;
    opacity:.85;
}
@keyframes eyc-spin { to { transform:translateY(-50%) rotate(360deg); } }

.eyc-drop .dropdown-menu{
    border-radius:.6rem; border:1px solid rgba(0,0,0,.08); box-shadow:0 10px 24px rgba(0,0,0,.15);
    overflow:hidden;
}
.eyc-drop .dropdown-item svg{ width:16px; height:16px; margin-right:.5rem; position:relative; top:-1px; }

.eyc-subscription-box input{opacity: 1;z-index: 2; width: 18px; height: 18px;}
.eyc-label-discount{top: -20px; right: 0; background-color: #00cdb2;}

.eyc-sub-label{
    font-weight: 500;
    color: #7e950f;
}