/* ===== RESET ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    cursor: url('https://cybersandbox.ca/resources/elden/er-cur.png'), auto;
}

/* ===== PAGE ===== */
body {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #001b5e;
    color: white;
}

/* ===== HEADER ===== */
.site-header {
    width: 100%;
    background-color: #5a3a22;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 30px;
    border-bottom: 3px solid #3c2514;
}

.site-header {
    position: relative;
    z-index: 9999;
}

/* LEFT */
.header-left {
    display: flex;
    align-items: center;
    gap: 15px;
}

.logo {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 1px;
}

.logo-link {
    text-decoration: none;
    color: white;
}

.logo-link:hover {
    opacity: 0.8;
}

.home-icon-link {
    font-size: 1.8rem;
    text-decoration: none;
    color: white;
}

/* NAV */
.main-nav {
    display: flex;
    gap: 30px;
}

.main-nav a {
    text-decoration: none;
    color: white;
    font-weight: bold;
}

.main-nav a:hover {
    color: #d4af37;
}

/* RIGHT */
.header-right {
    display: flex;
    align-items: center;
    gap: 15px;
    overflow: visible;
}

/* ===== CURRENCY ===== */
.currency-group {
    display: flex;
    gap: 10px;
    font-weight: bold;
    align-items: center;
}

.currency {
    display: flex;
    align-items: center;
    gap: 4px;
}

.gold {
    color: #d4af37;
}

.silver {
    color: #c0c0c0;
}

.copper {
    color: #b87333;
}

/* ===== ICON BUTTON ===== */
.icon-btn {
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background-color: #1f1f1f;
    color: white;
    font-size: 1.2rem;
    cursor: pointer;
    transition: 0.2s;
}

.icon-btn:hover {
    background-color: #3a3a3a;
}

/* ===== ICON LINKS ===== */
.icon-link {
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    border-radius: 50%;
    background-color: #1f1f1f;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-decoration: none;
    font-size: 1.2rem;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid #2b2b2b;
    padding: 0;
}

.icon-link:hover {
    background-color: #3a3a3a;
}

/* IMAGE PROFIL HEADER */
.header-profile-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

/* ===== PLUS POPUP MENU ===== */
.plus-menu-container {
    position: relative;
}

.plus-dropdown {
    display: none;
    position: absolute;
    top: 50px;
    right: 0;
    background-color: #2f2f2f;
    border: 2px solid gold;
    border-radius: 10px;
    min-width: 200px;
    overflow: hidden;
    z-index: 1000;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.35);
}

.plus-dropdown a {
    display: block;
    padding: 12px;
    color: white;
    text-decoration: none;
    border-bottom: 1px solid #444;
    font-weight: bold;
}

.plus-dropdown a:last-child {
    border-bottom: none;
}

.plus-dropdown a:hover {
    background-color: #444;
    color: #d4af37;
}

.plus-dropdown.show {
    display: block;
}

.plus-dropdown {
    z-index: 10000;
}

/* ===== PAGE BOUTIQUE ===== */
.shop-page {
    padding: 30px;
}

/* CONTAINER */
.shop-container {
    max-width: 1200px;
    margin: auto;
    background-color: #002c8c;
    border: 3px solid #0c1f63;
    padding: 25px;
    display: flex;
    gap: 30px;
}

/* ===== FILTRE ===== */
.filters {
    width: 250px;
    background-color: #151526;
    padding: 20px;
    border: 2px solid #22223a;
}

.filters h2 {
    margin-bottom: 25px;
    font-size: 1.6rem;
}

.filter-block {
    margin-bottom: 25px;
}

.filter-block label {
    display: block;
    margin-bottom: 10px;
    font-weight: bold;
}

.filter-block select,
.filter-block input {
    width: 100%;
    padding: 8px;
    border-radius: 15px;
    border: none;
    outline: none;
}

/* CHECKBOXES */
.filters input[type="checkbox"] {
    width: auto;
    margin-right: 8px;
}

.filters .filter-block div {
    margin-bottom: 8px;
}

/* BOUTONS FILTRES */
.filter-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.filter-btn,
.reset-btn {
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 18px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    display: inline-block;
}

.filter-btn {
    background-color: gold;
    color: black;
}

.filter-btn:hover {
    background-color: #e0b800;
}

.reset-btn {
    background-color: #444;
    color: white;
}

.reset-btn:hover {
    background-color: #666;
}

/* ===== PRODUITS GRID ===== */
.products-grid {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

/* ===== PRODUIT ===== */
.product-card {
    background-color: #4a4a4a;
    border: 3px solid gold;
    padding: 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: 0.2s;
}

.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.35);
}

/* IMAGE */
.product-image {
    width: 100%;
    height: 140px;
    background-color: #5a5a5a;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* TEXTE */
.product-card h3 {
    font-size: 1.2rem;
    margin-bottom: 5px;
}

.price {
    font-weight: bold;
    margin-bottom: 5px;
}

.stars {
    color: #ffd95a;
    font-size: 0.95rem;
    margin-bottom: 8px;
}

.stock {
    font-size: 0.9rem;
    color: #dddddd;
    margin-bottom: 10px;
}

.no-product {
    grid-column: 1 / -1;
    font-size: 1.2rem;
    font-weight: bold;
    color: white;
    text-align: center;
    padding: 30px 10px;
}

/* ACTIONS */
.product-actions {
    display: flex;
    justify-content: space-between;
}

.product-actions a {
    text-decoration: none;
    color: white;
    font-weight: bold;
}

.add-link {
    color: #58d14b;
}

.product-actions a:hover {
    text-decoration: underline;
}

/* ===== À PROPOS ===== */
.about-page {
    padding: 30px;
}

.about-container {
    max-width: 1100px;
    margin: 0 auto;
    background-color: #002c8c;
    border: 3px solid #0c1f63;
    padding: 30px;
    border-radius: 10px;
}

.about-container h1 {
    font-size: 2.2rem;
    margin-bottom: 25px;
    color: white;
}

.about-block {
    background-color: #4a4a4a;
    border: 2px solid gold;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.about-block h2 {
    margin-bottom: 12px;
    color: #ffd95a;
}

.about-block p {
    margin-bottom: 10px;
    line-height: 1.6;
    color: white;
}

.about-block ul {
    padding-left: 20px;
}

.about-block li {
    margin-bottom: 8px;
    color: white;
}

/* ===== MESSAGES ===== */
.message-info {
    margin-top: 15px;
    color: #ffd95a;
    font-weight: bold;
}

.message-erreur {
    margin-top: 15px;
    color: #ff6b6b;
    font-weight: bold;
}

/* ===== CONNEXION / INSCRIPTION ===== */
.connect-page {
    padding: 30px;
}

.connect-container {
    max-width: 600px;
    margin: 0 auto;
    background-color: #002c8c;
    border: 3px solid #0c1f63;
    padding: 30px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
}

.connect {
    font-size: 30px;
    font-family: "Lucida Console", monospace;
    background-image: linear-gradient(to bottom left, teal, lime);
    color: whitesmoke;
}

/* ===== PAGE DETAIL ===== */
.detail-page {
    padding: 30px;
}

.detail-container {
    max-width: 800px;
    margin: 0 auto;
    background-color: #002c8c;
    border: 3px solid #0c1f63;
    padding: 30px;
    border-radius: 10px;
}

.detail-card {
    background-color: #4a4a4a;
    border: 3px solid gold;
    border-radius: 10px;
    padding: 25px;
}

.detail-card h2 {
    font-size: 2rem;
    margin-bottom: 15px;
    color: white;
}

.detail-card p {
    margin-bottom: 10px;
    color: white;
    line-height: 1.5;
}

.detail-image {
    width: 100%;
    max-width: 320px;
    height: 320px;
    margin: 0 auto 20px auto;
    background-color: #5a5a5a;
    border: 2px solid gold;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.detail-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.detail-separator {
    margin: 20px 0;
    border: none;
    border-top: 2px solid gold;
}

.detail-actions {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.detail-back-link {
    text-decoration: none;
    color: white;
    font-weight: bold;
}

.detail-back-link:hover {
    text-decoration: underline;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1000px) {
    .shop-container {
        flex-direction: column;
    }

    .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 650px) {
    .products-grid {
        grid-template-columns: 1fr;
    }

    .site-header {
        flex-direction: column;
        gap: 15px;
    }

    .header-right {
        flex-wrap: wrap;
        justify-content: center;
    }

    .main-nav {
        flex-wrap: wrap;
        justify-content: center;
    }
}
.logout-btn{
display:inline-block;
margin-top:20px;
padding:10px 20px;
background-color:#ff4d4d;
color:white;
text-decoration:none;
font-weight:bold;
border-radius:20px;
transition:0.2s;
}

.logout-btn:hover{
background-color:#cc0000;
}
/* ===== BACKGROUND IMAGE SUR LES PAGES NORMALES ===== */
body{
    background-image: url("../image/BackgroundImage.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/* ===== PAS D'IMAGE DE BACKGROUND SUR PROFIL ===== */
body.profile-page{
    background-image: none;
    background-color: #001b5e;
}

/* ===== BLEU PLUS PÂLE ET TRANSPARENT ===== */
.shop-container,
.about-container,
.connect-container,
.detail-container,
.profile-card{
    background-color: rgba(40, 95, 200, 0.72);
}

/* ===== PANNEAU FILTRES PLUS TRANSPARENT ===== */
.filters{
    background-color: rgba(10, 10, 35, 0.78);
}

/* ===== HEADER BRUN PLUS TRANSPARENT ===== */
.site-header{
    background-color: rgba(90, 58, 34, 0.78);
    backdrop-filter: blur(3px);
}
/* ===== PAGE PROFIL ===== */

body.profile-page{
    background-image:none;
    background-color:#001b5e;
}

/* HEADER PROFIL */
body.profile-page .site-header{
    background-color:rgba(90,58,34,0.78);
    backdrop-filter:blur(3px);
}

/* WRAPPER */
.profile-wrapper{
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:320px 1fr;
    gap:30px;
    align-items:start;
}

/* CARTES EXTERNES */
.profile-card{
    background-color:rgba(90,58,34,0.82);
    border-radius:22px;
    padding:26px 28px;
    border:none;
    box-shadow:0 10px 28px rgba(0,0,0,0.35);
}

/* TITRES */
.profile-card h1,
.profile-card h2{
    color:#000;
    font-size:2.2rem;
    font-weight:700;
    margin-bottom:24px;
}

/* BLOCS INTERNES */
.profile-box,
.profile-form{
    background-color:rgba(35,78,165,0.88);
    border-radius:18px;
    padding:22px;
    border:none;
}

/* IMAGE */
.profile-image-box{
    display:flex;
    justify-content:center;
    margin-bottom:18px;
}

.profile-image{
    width:160px;
    height:160px;
    object-fit:cover;
    border-radius:50%;
    border:4px solid #d4af37;
    display:block;
    box-shadow:0 6px 18px rgba(0,0,0,0.35);
}

.profile-image-placeholder{
    width:160px;
    height:160px;
    border-radius:50%;
    border:4px solid #d4af37;
    background-color:#222;
    color:white;
    font-size:3rem;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 6px 18px rgba(0,0,0,0.35);
}

/* TEXTE INFOS */
.profile-box p{
    color:#111;
    font-size:1rem;
    margin-bottom:12px;
    line-height:1.45;
}

.profile-box strong{
    color:#111;
}

/* LIEN INVENTAIRE */
.profile-inventory-link{
    margin-top:16px;
}

/* FORMULAIRE */
.profile-form{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.profile-form label{
    color:#111;
    font-size:0.95rem;
    font-weight:600;
    margin-bottom:2px;
}

.profile-form input{
    width:100%;
    padding:12px 14px;
    border:none;
    outline:none;
    border-radius:14px;
    background-color:#f3f3f3;
    color:#111;
    font-size:1rem;
}

.profile-form input::placeholder{
    color:#666;
}

/* BOUTON SAVE */
.profile-form .filter-btn,
.profile-form button{
    width:100%;
    padding:12px 18px;
    border:none;
    border-radius:22px;
    background-color:#d4af37;
    color:#000;
    font-weight:700;
    cursor:pointer;
    margin-top:8px;
}

.profile-form .filter-btn:hover,
.profile-form button:hover{
    background-color:#bf9a2d;
}

/* LOGOUT */
.logout-btn{
    display:inline-block;
    padding:12px 22px;
    border-radius:22px;
    background-color:#ff5252;
    color:white;
    text-decoration:none;
    font-weight:700;
    margin-bottom:10px;
}

.logout-btn:hover{
    background-color:#d93f3f;
}

/* MESSAGES */
.profile-card .message-info{
    margin-bottom:12px;
    color:#ffe082;
    font-weight:700;
}

.profile-card .message-erreur{
    margin-bottom:12px;
    color:#ffb3b3;
    font-weight:700;
}

/* RESPONSIVE */
@media(max-width:900px){
    .profile-wrapper{
        grid-template-columns:1fr;
    }

    .profile-card h1,
    .profile-card h2{
        font-size:1.9rem;
    }
}
.pagination{
    width:100%;
    margin-top:30px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
}

/* CENTRAGE GLOBAL */
.shop-page{
    display:flex;
    flex-direction:column;
}

/* BOUTONS */
.page-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    width:45px;
    height:45px;
    border-radius:50%;
    background-color:#1f1f1f;
    color:white;
    text-decoration:none;
    font-size:1.3rem;
    font-weight:bold;
    border:2px solid gold;
}

.page-arrow:hover{
    background-color:#3a3a3a;
}

.page-arrow.disabled{
    opacity:0.4;
    pointer-events:none;
}

/* NUMERO */
.page-number{
    font-weight:bold;
    font-size:1.1rem;
    color:white;
}

.products-grid {
    position: relative;
    isolation: isolate;
}


/* Carte sans bordure */
.product-card {
    position: relative;
    padding: 15px;
    border-radius: 8px;
    background-color: #4a4a4a;
    box-sizing: border-box; /* <= ICI */
    width: 100%;            /* <= ICI */
    overflow: visible;
}

/* Bordure jaune */
.product-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
}

/* Bordure électrique */
.product-card::after {
    content: "";
    position: absolute;
    border-radius: 8px;
    inset: 0;
    border: 3px solid #dd8448;
    filter: url(#electric-border);
    pointer-events: none;
    z-index: 3;
}
.icon-link.cart-icon-container{
    position: relative;
    display: inline-block;
    width: 40px;
    height: 40px;
    padding: 0;
    overflow: visible;
}

.cart-img{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    object-fit: contain;
    transform: translate(-50%, -50%);
}

.cart-count{
    position: absolute;
    top: -6px;
    right: -6px;
    z-index: 10;

    background: red;
    color: white;

    font-size: 0.7rem;
    font-weight: bold;
    line-height: 1;

    border-radius: 50%;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;

    display: flex;
    align-items: center;
    justify-content: center;

    box-shadow: 0 0 6px rgba(0,0,0,0.5);
}
/* ===== CACHER SCROLLBAR PAGE COMPLETE ===== */

html, body {
    overflow-y: scroll; /* garde le scroll actif */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge ancien */
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    width: 0;
    height: 0;
}
/* ===== BOUTONS QUANTITÉ (VENDRE) ===== */

.number {
    display: flex;
    align-items: center;
    gap: 10px;
}

.number button {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    border: none;
    background: linear-gradient(145deg, gold, #c9a500);
    color: black;
    font-size: 1.5rem;
    font-weight: bold;
    cursor: pointer;
    transition: 0.2s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

/* Hover */
.number button:hover {
    transform: translateY(-2px) scale(1.05);
    background: linear-gradient(145deg, #ffd700, #e6b800);
}

/* Click */
.number button:active {
    transform: scale(0.95);
}

/* INPUT */
.cart-qty-input {
    width: 70px;
    height: 42px;
    text-align: center;
    border-radius: 10px;
    border: none;
    font-weight: bold;
    font-size: 1.2rem;
    background-color: #f4f4f4;
    color: black;
    box-shadow: inset 0 2px 5px rgba(0,0,0,0.2);
}
.effect-list{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.effect-line{
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:rgba(74,74,74,0.9);
    border:1px solid gold;
    border-radius:8px;
    padding:10px 12px;
    color:white;
}

.effect-name{
    font-weight:bold;
}

.effect-time{
    font-family:monospace;
    font-size:1rem;
}
/* Pour la deuxième animation*/
.fly-plus {
    position: absolute;
    color: gold;
    font-weight: bold;
    font-size: 20px;
    pointer-events: none;
    opacity: 1;
    transform: translate(-50%, -50%);
    transition: transform 1.3s ease-out, opacity 1.3s ease-out;
    z-index: 999999;

    /* Pour la trainée (actuellement plus chiant que juste la transition du +1 oui oui*/
    text-shadow:
        0 0 6px rgba(255, 215, 0, 0.9),
        0 0 12px rgba(255, 215, 0, 0.7),
        0 0 18px rgba(255, 215, 0, 0.5);
    animation: trailGlow 0.6s infinite alternate;
}

@keyframes trailGlow {
    from {
        text-shadow:
            0 0 4px rgba(255, 215, 0, 0.6),
            0 0 10px rgba(255, 215, 0, 0.4),
            0 0 14px rgba(255, 215, 0, 0.2);
    }
    to {
        text-shadow:
            0 0 10px rgba(255, 215, 0, 1),
            0 0 18px rgba(255, 215, 0, 0.8),
            0 0 26px rgba(255, 215, 0, 0.6);
    }
}
.comments-card{
    background-color:rgba(74,74,74,0.95);
}

.comment-form{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.comment-form select,
.comment-form textarea{
    width:100%;
    padding:10px;
    border-radius:10px;
    border:none;
    font-size:1rem;
}

.comment-form textarea{
    min-height:100px;
    resize:vertical;
}

.comment-box{
    background:rgba(20,20,40,0.75);
    border:1px solid gold;
    border-radius:10px;
    padding:12px;
    margin-bottom:12px;
}
.comments-scroll{
    max-height: 300px;
    overflow-y: auto;
    padding-right: 8px;
}

/* Scroll stylé */
.comments-scroll::-webkit-scrollbar {
    width: 8px;
}

.comments-scroll::-webkit-scrollbar-thumb {
    background: gold;
    border-radius: 10px;
}

.comments-scroll::-webkit-scrollbar-thumb:hover {
    background: #ffd700;
}
.comments-scroll {
    mask-image: linear-gradient(to bottom, black 85%, transparent);
}
.delete-btn{
    margin-top:8px;
    background:#ff4d4d;
    border:none;
    padding:6px 12px;
    border-radius:8px;
    color:white;
    cursor:pointer;
    font-size:0.9rem;
}

.delete-btn:hover{
    background:#cc0000;
}
.comments-scroll{
    max-height:300px;
    overflow-y:auto;
    padding-right:8px;
}

.comments-scroll::-webkit-scrollbar{
    width:8px;
}

.comments-scroll::-webkit-scrollbar-thumb{
    background:gold;
    border-radius:10px;
}

.comment-form{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.comment-form select,
.comment-form textarea{
    width:100%;
    padding:10px;
    border-radius:10px;
    border:none;
    font-size:1rem;
}

.comment-form textarea{
    min-height:100px;
    resize:vertical;
}

.comment-box{
    background:rgba(20,20,40,0.75);
    border:1px solid gold;
    border-radius:10px;
    padding:12px;
    margin-bottom:12px;
}

.delete-btn{
    background:#ff4d4d;
    border:none;
    padding:6px 12px;
    border-radius:8px;
    color:white;
    cursor:pointer;
}

.delete-btn:hover{
    background:#cc0000;
}
.disabled-link{
    color: gray !important;
    cursor: not-allowed;
    text-decoration: none;
    opacity: 0.6;
}
.profile-form select{
    width:100%;
    padding:12px 14px;
    border-radius:12px;
    border:none;
    font-size:1rem;
}

.header-profile-image,
.profile-image{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50%;
}

.confirm-message {
    font-size: 1.3rem;
    margin-bottom: 20px;
    color: white;
}

.confirm-btn {
    display: inline-block;
    padding: 12px 24px;
    background: #d4af37;
    color: black;
    font-weight: bold;
    border-radius: 10px;
    text-decoration: none;
    transition: 0.2s;
}

.confirm-btn:hover {
    background: #bf9a2d;
}
