/* GOOGLE FONT */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700;800&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:
    radial-gradient(circle at top,#163b8c 0%,#0a1028 40%,#050814 100%);
    color:white;
    line-height:1.6;
}

/* HEADER */

header{
    text-align:center;
    padding:120px 20px;
    min-height:80vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    background:
    linear-gradient(
        rgba(0,0,0,.30),
        rgba(0,0,0,.50)
    ),
    url("images/image.jpeg");

    background-size:cover;
    background-position:center;
}

header h1{
    font-size:4rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:3px;
    margin-bottom:20px;

    text-shadow:
    0 0 10px #fff,
    0 0 20px #00bfff,
    0 0 40px #00bfff;
}

header p{
    max-width:700px;
    font-size:1.2rem;
    margin-bottom:30px;
    opacity:.95;
}

/* BUTTONS */

.btn{
    display:inline-block;
    padding:15px 35px;
    border-radius:50px;

    background:
    linear-gradient(
        135deg,
        #ff004f,
        #ff8c00
    );

    color:white;
    text-decoration:none;
    font-weight:700;

    transition:.3s;
}

.btn:hover{
    transform:translateY(-4px) scale(1.05);
    box-shadow:0 10px 25px rgba(255,100,0,.4);
}

/* SECTIONS */

section{
    padding:80px 8%;
}

h2{
    text-align:center;
    font-size:2.3rem;
    margin-bottom:40px;
    color:#ffffff;
}

/* ABOUT */

.about{
    max-width:900px;
    margin:auto;
    text-align:center;
    background:rgba(255,255,255,.05);
    padding:30px;
    border-radius:20px;
    backdrop-filter:blur(10px);
}

/* PRODUCTS */

.products{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.card{
    background:rgba(255,255,255,.05);

    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.08);

    border-radius:20px;
    overflow:hidden;

    transition:.4s;
}

.card:hover{
    transform:translateY(-10px);
    box-shadow:
    0 0 25px rgba(0,170,255,.3),
    0 0 60px rgba(0,170,255,.15);
}

.card img{
    width:100%;
    height:320px;
    object-fit:cover;
}

.card-content{
    padding:20px;
    text-align:center;
}

.card h3{
    margin-bottom:10px;
}

.price{
    font-size:1.4rem;
    color:#ffd700;
    font-weight:700;
    margin-bottom:20px;
}

/* FEATURES */

.features{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
}

.feature-box{
    background:rgba(255,255,255,.05);
    padding:30px;
    border-radius:20px;
    text-align:center;

    transition:.3s;
}

.feature-box:hover{
    transform:translateY(-5px);
    background:rgba(255,255,255,.08);
}

/* PROMO */

.promo{
    text-align:center;
    padding:60px;

    border-radius:30px;

    background:
    linear-gradient(
        135deg,
        #003cff,
        #7b00ff,
        #ff0055
    );

    box-shadow:
    0 0 40px rgba(123,0,255,.4);
}

.promo p{
    margin:20px 0;
}

/* TESTIMONIALS */

.testimonials{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
}

.testimonial{
    background:rgba(255,255,255,.05);
    padding:25px;
    border-radius:20px;
    text-align:center;
}

/* NEWSLETTER */

.newsletter{
    max-width:700px;
    margin:auto;
    text-align:center;

    background:rgba(255,255,255,.05);

    padding:40px;
    border-radius:25px;
}

.newsletter form{
    margin-top:20px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:center;
}

.newsletter input{
    padding:15px;
    border:none;
    border-radius:50px;
    width:300px;
}

.newsletter button{
    padding:15px 30px;
    border:none;
    border-radius:50px;

    background:#ff004f;
    color:white;
    font-weight:bold;
    cursor:pointer;
}

/* FOOTER */

footer{
    text-align:center;
    padding:30px;
    margin-top:50px;

    background:rgba(0,0,0,.3);
}

/* RESPONSIVE */

@media(max-width:768px){

    header h1{
        font-size:2.5rem;
    }

    h2{
        font-size:1.8rem;
    }
}
/* ==========================================================================
   STYLES SPECIFIQUES - PAGE MAILLOT FRANCE
   ========================================================================== */

/* Section Retour à l'accueil */
.back-section {
    padding: 40px 8% 10px 8%;
}

.btn-back {
    padding: 10px 20px;
}

/* Structure de la section Produit (About) */
.about {
    display: flex; 
    flex-wrap: wrap; 
    gap: 40px;
    align-items: center; 
    text-align: left;
    max-width: 900px;
    margin: auto;
    background: rgba(255,255,255,.05);
    padding: 30px;
    border-radius: 20px;
    backdrop-filter: blur(10px);
}

/* Conteneur et Image du produit */
.product-image-container {
    flex: 1; 
    min-width: 280px; 
    text-align: center;
}

.product-image {
    max-width: 100%; 
    height: auto; 
    border-radius: 15px; 
    box-shadow: 0 0 20px rgba(0,170,255,0.2);
}

/* Détails du produit (Texte, titre, prix) */
.product-details {
    flex: 1; 
    min-width: 280px;
}

.product-title {
    text-align: left; 
    margin-bottom: 10px;
}

.price {
    font-size: 2rem; /* Mis à jour de 1.4rem à 2rem pour cette page */
    margin-bottom: 20px;
}

.product-description {
    margin-bottom: 30px; 
    opacity: 0.9;
}

/* Menu de sélection des tailles */
.size-selector {
    margin-bottom: 30px;
}

.size-selector label {
    display: block; 
    margin-bottom: 10px; 
    font-weight: bold;
}

.size-selector select {
    padding: 10px; 
    border-radius: 5px; 
    width: 100px; 
    background: rgba(255,255,255,0.1); 
    color: white; 
    border: 1px solid rgba(255,255,255,0.2);
}

/* Options du Select (Couleurs du texte) */
.opt-s {
    color: lab(0% 0 0);
}

.opt-dark {
    color: black;
}

/*flocage*/

.flocage { 
    border: 1px solid #e0e0e0; 
    border-radius: 8px;        
    padding: 20px;            
    margin: 20px 0;           
}

.flocage label {
    display: block;           
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 8px;

}

.flocage input {
    width: 100%;              
    padding: 10px;
    margin-bottom: 15px;       
    border: 1px solid #ccc;
    border-radius: 4px;        
    font-size: 16px;
    box-sizing: border-box;    
    transition: border-color 0.3s ease;
}

.flocage input:focus {
    border-color: #007bff;     
    outline: none;            
}


.flocage input[type="number"] {
    width: 80px;    
}     



/* On donne de l'espace pour la pagination en bas */
.swiper {
    width: 100%;
    padding-top: 10px;
    padding-bottom: 45px; /* Évite que les puces coupent le bas des cartes */
}

/* On s'assure que les cartes prennent bien toute la hauteur disponible dans le slider */
.swiper-slide {
    height: auto; 
    display: flex;
    flex-direction: column;
}

/* Optionnel : Personnaliser la couleur des flèches et puces pour coller à ton thème */
:root {
    --swiper-theme-color: #ffcc00; /* Mets la couleur que tu veux ici (ex: de l'or pour l'étoile) */
}

.navbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: #111;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 30px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
.navbar .logo {
    color: #fff;
    font-weight: bold;
    font-size: 1.2rem;
}
.nav-links {
    display: flex;
    list-style: none;
    gap: 20px;
}
.nav-links a {
    color: #ccc;
    text-decoration: none;
    transition: color 0.3s;
}
.nav-links a:hover {
    color: #ffcc00; /* Ta couleur thème */
}

.top-announcement {
    background-color: #ffcc00; /* Jaune or */
    color: #000;
    text-align: center;
    padding: 8px 0;
    font-size: 0.85rem;
    font-weight: bold;
    letter-spacing: 1px;
}

.btn {
    display: inline-block;
    padding: 10px 20px;
    background-color: #111;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    transition: all 0.3s ease; /* Rend l'animation fluide */
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.btn:hover {
    background-color: #ffcc00; /* Le bouton passe au jaune */
    color: #111;               /* Le texte passe au noir */
    transform: translateY(-3px); /* Le bouton monte de 3 pixels */
    box-shadow: 0 6px 12px rgba(0,0,0,0.2); /* L'ombre s'agrandit */
}