:root {
    --color-body: #fdfafa;
}

* {
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
}

body {
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 0;
    background-color: white;
    color: rgb(3, 3, 78); /* couleur globale du texte */
}



/* Navbar desktop */
.navbar {
    background-color: rgb(3, 3, 78) !important;
    padding: 0.5rem 1rem;
}

/* Logo */
.navbar-brand {
    padding-left: 30px;
    display: flex;
    align-items: center;
}

.navbar-brand img {
    max-width: 80px;
    height: auto;
}

/* Liens desktop */
.navbar .nav-link {
    color: white !important;
    font-weight: 500;
    margin: 0 10px;
}

.navbar .nav-link:hover {
    color: #e96fdf !important;
}

/* Icônes sociales desktop */
.social-icons {
    display: flex;
    align-items: center;
    margin-left: 20px;
    list-style: none;
    padding: 0;
}

.icon-social {
    color: white;
    font-size: 1.8rem;
    margin: 0 6px;
    cursor: pointer;
}

.icon-social:hover {
    color: #dcdcdc;
}

/* Hamburger bouton */
.navbar-toggler {
    border-color: white;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
@media (max-width: 991px) {
    /* Supprimer padding de la navbar et du container */
    .navbar,
    .navbar .container-fluid {
        padding-left: 0px !important;
        padding-right: 0px !important;
        margin: 0 !important;
        width: 100%;
    }

    /* Fond blanc pour le menu mobile */
    .navbar-collapse {
        background-color: white;
        width: 100%;
        padding: 0;
    }

    /* Empiler les liens verticalement */
    .navbar-collapse .navbar-nav {
        flex-direction: column !important;
        padding: 0;
        margin: 0;
        width: 100%;
    }

    /* Supprimer padding/margin des li */
    .navbar-collapse .nav-item {
        width: 100%;
        padding: 5px;
        margin: 0;
    }
    

    /* Liens mobiles : bloc, fond blanc, traits visibles */
    .navbar-collapse .nav-link {
        display: block;
        width: 100%;
        padding: 1rem 0; /* vertical only */
        margin: 0;
        color: rgb(3, 3, 78) !important;
        background-color: white;
        border-bottom: 1px solid #333 !important;
    }

    /* Dernier lien sans bordure */
    .navbar-collapse .nav-link:last-child {
        border-bottom: none;
    }
}
@media (max-width: 991px) {
    .navbar-toggler {
        margin-left: 1rem;
        margin-right: 1rem;
    }
}

/* section main */
/* 
.main {
    background-image: url('../img/background.jpg'); 
    background-size: cover;        
    background-repeat: no-repeat;  
    background-position: center;   
    color: rgb(249, 244, 244);                  
    min-height: 100vh;             
    display: flex;                 
    align-items: center;           
    justify-content: center;       
    text-align: center;
    position: relative;
} */



/* Overlay sombre pour mieux voir le texte */
.main::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
     background-color: rgba(0,0,0,0.3); /* 0.3 = 30% d'opacité */
    z-index: 0;
}
.main {
    padding-top: 100px; /* espace entre navbar et le contenu */
    padding-bottom: 50px;
}

.main h1 {
    font-size: 100px;
}

/* Sur petits écrans */
@media (max-width: 768px) {
    .main {
        padding-top: 120px; /* un peu plus pour mobile si navbar est plus haute */
    }
    .main h1 {
        font-size: 50px; /* réduit la taille du texte pour mobile */
    }
}

/* Le contenu doit être au-dessus de l'overlay */
.main .container {
    position: relative;
    z-index: 1;
}
.main h1 {
    font-size: 90px;
    color: white;
    position: relative;
    top: -100px;
    margin-bottom: 0; 
    line-height: 1;
}

.main b {
    display: block;
    position: relative;
    top: -30px; /* remonte le b de 20px */
    font-size: 60px;
    font-family: "Momo Signature", cursive;
  font-weight: 400;
  font-style: normal;
}


.btn{
width: 200px;
border:1px solid #dcdcdc;
border-radius: 30px;
color: white;
padding: 10px;
margin-top:20px;
font-size: 15px;
background-color: rgb(3, 3, 78);
}

.btn:hover{
    background-color: rgb(213, 134, 154);
    color: black;
}

.btn i {
    border: 1px solid #dcdcdc;
    border-radius: 50%;
    margin-left: 10px;
    padding: 8px;
    background-color: white;
    color: black;
    transition: all 0.3s;
}

.btn i:hover {
    background-color: rgb(3, 3, 78);
    color: white;
    border:1px solid rgb(3, 3, 78);
}


/* a propos */
.about{
    display: flex;
color:  rgb(3, 3, 78);
}

.about i{
    border: 1px solid  #dcdcdc;
    border-radius:50%;
    margin-left:10px;
    padding:8px;
    background-color: white;
    color: black;
}
 
.about i:hover{
     background-color:  rgb(3, 3, 78) ;
    color: white;
    border:1px solid  rgb(3, 3, 78) ;
}
.about h2 {
    margin-top: 0;
    margin-bottom: 3rem; /* équivalent à mb-5 */
    font-size: 50px;
}
.about h3{
    font-family: "Momo Signature", cursive;
    margin-bottom:30px;
}


@media (max-width: 768px) {
    .about .col-md-6 + .col-md-6 {
        margin-top: 20px; /* espace vertical entre image et texte */
    }
}
/* SECTION SERVICES */
/* Triangle bleu clair derrière la section service */
#service {
  position: relative;
  background: #fff;
  overflow: hidden; /* évite que le triangle déborde */
  color:rgb(3, 3, 78) ;
}

#service::before {
  content: "";
  position: absolute;
  top: 100px;
  left: 0;
  width: 100%;
  height: 50vh; /* un peu plus haut pour accentuer l'effet */
  background: #d4e1f6;
 clip-path: polygon(0% 20%, 0% 100%, 100% 70%);
  z-index: 0;
}
#service h2{
    margin-top:150px;
    font-size: 50px;
}
#service h3{
 font-family: "Momo Signature", cursive;
    font-size: 3rem;
}


.my-line {
  width: 80px;         /* largeur souhaitée */
  margin: 50px auto;      /* centrer horizontalement */
  border: none;        /* supprimer le style par défaut */
  height: 3px;         /* épaisseur */
  background-color:rgb(221, 19, 167); /* couleur que tu veux */
  border-radius: 5px;  /* coins arrondis optionnel */
}



/* tarif */

.tarif{
    color:rgb(3, 3, 78) ;
    margin: 50px;
}


.tab-btn {
  display: inline-block;
  padding: 14px 40px;
  margin: 5px;
  font-size: 1.8rem;
  font-weight: 600;
  color:white;
  background-color:rgb(3, 3, 78) !important;
   border-radius: 999px;
  text-decoration: none;
  border: 1px solid #555;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(51, 51, 51, 0.4);
}

.tab-btn:hover {
  transform: translateY(-3px);
  background: linear-gradient(135deg, #d56b7d);
  box-shadow: 0 8px 20px rgb(80, 13, 223);
  color:white;
}
.tab-btn.active {
  background-color: #d56b7d !important;
  color: white !important;
  transform: none;
  box-shadow: 0 4px 15px rgba(213, 107, 125, 0.5);
}


.tab-btn.active:hover {
  background-color: #c25f70 !important;
  color: white !important;
  transform: translateY(-2px);
}

/* a propos */
.a_propos{
    color:rgb(3, 3, 78) ;
}
.a_propos h1{
    font-size: 50px;
    margin-top: 50px;
}    
.a_propos_couture {
    background-color: rgb(3, 3, 78);
}

.a_propos_couture h1 {
    font-size: 50px;
    color: white;
}

.a_propos_couture h2 {
    font-family: "Momo Signature", cursive;
    font-size: 3rem;
    color: white;
}

/* Optionnel : ajouter un petit espace au-dessous de l'image */
.a_propos_couture img {
    margin-top: 20px;
    margin-bottom: 20px;
}

.description{
    color:rgb(3, 3, 78) ;
    margin: 20px;
}
.passion h1{
    font-size: 50px;
    margin: 30px;
}
.bas_de_page h1{
font-size: 50px;
color: white;
}
/* .bas_de_page{
    background-image: url(../img/foto4.jpg);
    background-size: cover;        
    background-repeat: no-repeat;  
    background-position: center;   
    height: 400px;
    
} */
.footer{
    background-color:rgb(3, 3, 78) ;
    color: white;
    margin: 30px 0;
}

/* nos tarifs */

.retouches{
    background-color:rgb(3, 3, 78) ;
    color: white;
    font-family: "Momo Signature", cursive;
    font-size: 3rem;
}
/* Wrapper global centré avec marges */
.prix-wrapper {
  max-width: 1100px;    /* largeur limitée comme sur ton image */
  margin: 0 auto; 
  padding: 0 auto;      /* centre le tableau */
  padding: 20px 30px;   /* marges autour */
}

/* Flex des deux colonnes */
.prix-container {
  display: flex;
  gap: 15px;
  align-items: flex-start;
  
}


/* Colonne catégories */
.categories {
  width: 220px;
  flex-shrink: 0; /* empêche de se rétrécir */
  
}

/* Boutons */
.tab-btn {
  width: 100%;
  padding: 12px 10px;
  text-align: left;
  border: none;
  background: none;
  font-size: 18px;
  cursor: pointer;
  border-left: 3px solid transparent;
}

.tab-btn.active {
  color: #d56b7d;
  border-left: 3px solid #d56b7d;
  font-weight: bold;
}

/* Cadre bleu côté droit */
.tab-content-wrapper {
  flex: 1;
  /* background: #dce7fa;*/
  background: #dce7fa;
  padding: 30px;
  border: 1px solid #d56b7d;
  border-radius: 5px;
  min-height: 300px;
  
  
}


.tab-content {
  display: none;
}

.tab-content.active {
  display: block;
}

@media (max-width: 768px) {

  .categories {
    width: 160px;          /* réduit un peu la colonne pour qu’elle tienne */
  }

  .tab-content-wrapper {
    min-width: 0;          /* permet au bloc bleu de rétrécir dans le container */
    width: 100%;
  }

  .prix-container {
    flex-wrap: nowrap;     /* garde les deux colonnes côte à côte */
    overflow: hidden;      /* empêche tout débordement */
  }
}

 
/* 
slider */
.slider-two-auto {
  max-width: 900px;
  margin: 50px auto;
  overflow: hidden;
  border-radius: 10px;
}

.slides-container {
  overflow: hidden;
}

.slides {
  display: flex;
  transition: transform 0.8s ease-in-out;
}

.slide {
  display: flex;
  min-width: 100%;
  gap: 10px;
}

.slide img {
  width: 50%; /* deux images côte à côte */
  height: 400px;
  object-fit: cover;
  border-radius: 8px;
}
.back-to-top {
  position: fixed;
  bottom: 20px;
  right: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  background: #d56b7d;
  color: white;
  border-radius: 50%;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 999;
}

/* Affiche uniquement sur petit écran */
@media (min-width: 768px) {
  .back-to-top {
    display: none;
  }
}
.horaire h1{
 font-family: "Momo Signature", cursive;}

 /* parti admin */
/* --- Sidebar --- */
.sidebar {
    position: fixed;
    top: -15;
    left: 0;
    width: 220px;
    height: 100%;
    background: #498ad4ff!important;
    padding-top: 60px;
    box-shadow: 2px 0 5px rgba(0,0,0,0.1);
    z-index: 1000;
    transition: 0.3s;
    color: white;
}
.sidebar h2 {
    color:white;
    text-align:center;
    margin-bottom:30px;
    font-size:24px;
}
.sidebar a {
    display:block;
    color:white;
    padding:12px 20px;
    text-decoration:none;
    font-weight:bold;
    transition:0.3s;
}
.sidebar a:hover { background:#004a9f; }

/* --- Container général admin --- */
.container-admin {
    margin-left: 240px;
    padding:20px;
    margin-top: 150px;
    width: calc(100% - 240px);
    font-family:Arial,sans-serif;
}
.container-admin h2.section-title {
    background:#eee;
    padding:40px;
    font-size:20px;
    margin-top:70px;
    text-align:center;
}

/* --- Table admin / formulaires --- */
.table-wrapper {
    overflow-x: auto;
    margin-bottom: 25px;
}
.table-admin {
    width: 100%;
    border-collapse: collapse;
    background:#fff;
    box-shadow:0 2px 6px rgba(0,0,0,0.1);
    min-width: 600px;
}
.table-admin th, .table-admin td {
    border:1px solid #ddd;
    padding:12px;
    min-width:150px;
}
.table-admin th { 
    background:#002b5c; 
    color:#fff; 
    text-align:left; 
}

textarea, input[type=text], input[type=number], select {
    width:100%; 
    padding:8px; 
    border-radius:6px; 
    border:1px solid #ccc; 
    font-family:Arial,sans-serif;
    box-sizing:border-box;
    margin:5px 0;
}
textarea { min-height:120px; }

.btn-save { 
    background:#0066cc;
    color:#fff;
    border:none;
    padding:8px 12px;
    border-radius:5px; 
    cursor:pointer; 
    margin-top:5px;
}
.btn-save:hover { background:#004a9f; }

.btn-delete { 
    background:#b30000;
    color:white;
    padding:8px 12px;
    border:none;
    border-radius:5px; 
    cursor:pointer; 
    margin-top:5px;
}
.btn-delete:hover { background:#800000; }

.preview { 
    max-width:180px;
    border-radius:6px;
    border:1px solid #ccc; 
    margin-top:5px;
}

/* --- Messages --- */
.msg, .confirmation {
    position: fixed;
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2000;
    padding: 12px 20px;
    border-left: 5px solid #218838;
    background: #d4edda;
    border-radius: 5px;
}

/* --- Sections Admin Tarif --- */
.section-admin-tarif {
    margin-bottom:40px;
    padding:20px;
    background:#f9f9f9;
    border-radius:8px;
    box-shadow:0 2px 4px rgba(0,0,0,0.1);
}

/* Tabs pour tarif */
.tab-btn {
    display:block;
    padding:8px 12px;
    margin-bottom:5px;
    cursor:pointer;
    background:#eee;
    border:none;
    width:100%;
    text-align:left;
    border-radius:4px;
}
.tab-btn.active { background:#498ad4; color:#fff; }
.tab-content-wrapper {
    padding:10px;
    background:#fff;
    border:1px solid #ccc;
    border-radius:6px;
    margin-top:10px;
}
.tab-content { display:none; }
.tab-content.active { display:block; }

/* Prévisualisation */
.preview-tarif {
    border:2px solid #3498db;
    padding:15px;
    background:#f9f9f9;
    margin-top:10px;
    border-radius:6px;
}

/* --- Responsive --- */
@media (max-width:1024px){
    .container-admin { margin-left:220px; width: calc(100% - 220px); padding:15px; }
    .table-admin th, .table-admin td { min-width:120px; }
}

@media (max-width:768px){
    .sidebar { position: relative; width:100%; height:auto; padding-top:0; }
    .container-admin { margin-left:0; width:100%; padding:10px 5px; }
    .table-wrapper { overflow-x:auto; }
    .table-admin th, .table-admin td { padding:8px; font-size:14px; min-width:120px; }
    textarea, input[type=text], select, input[type=number] { font-size:14px; }
    .btn-save, .btn-delete { padding:6px 10px; font-size:13px; }
}

@media (max-width:480px){
    .section-title { font-size:18px; padding:8px; }
    .sidebar h2 { font-size:20px; }
    .btn-save, .btn-delete { padding:5px 8px; font-size:12px; }
    textarea { min-height:100px; }
    .table-admin th, .table-admin td { padding:6px; font-size:12px; }
}
/* =========================
   Admin Slider
============================= */
/* =========================
   Admin Slider
============================= */
.slider-images-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.slider-img-card {
    border: 1px solid #ddd;
    border-radius: 8px;
    width: 150px;
    overflow: hidden;
    text-align: center;
    background: #fff;
    transition: transform 0.2s;
}

.slider-img-card:hover {
    transform: translateY(-3px);
}

.slider-img-card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    display: block;
}

.slider-img-card form button.btn-delete {
    margin-top: 5px;
    width: 90%;
    padding: 6px;
    background: #e74c3c;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
    transition: background 0.2s;
}

.slider-img-card form button.btn-delete:hover {
    background: #c0392b;}