/* ====================================
   DJAM'S RONDEUR
   STYLE LUXE PREMIUM
==================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&display=swap');

:root{

--green:#0b7d35;
--green-dark:#065d25;

--black:#000000;
--white:#ffffff;

--gold:#caa45f;

--gray:#f5f5f5;
--gray-dark:#777777;

--shadow:
0 10px 25px rgba(0,0,0,.08);

}

/* ========================
   RESET
======================== */

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

html{
scroll-behavior:smooth;
}

body{

font-family:
'Cormorant Garamond',
Georgia,
serif;

background:var(--white);

color:#111;

line-height:1.7;

overflow-x:hidden;

}

/* ========================
   TITRES
======================== */

h1,
h2,
h3,
h4,
h5,
h6{

font-weight:700;
letter-spacing:1px;

}

h1{
font-size:3.5rem;
}

h2{
font-size:2.5rem;
}

h3{
font-size:1.8rem;
}

p{
font-size:1.1rem;
}

/* ========================
   HEADER
======================== */

header{

background:var(--black);

padding:15px 50px;

display:flex;

justify-content:space-between;

align-items:center;

position:sticky;

top:0;

z-index:999;

box-shadow:var(--shadow);

}

.logo{

height:85px;

transition:.4s;

}

.logo:hover{

transform:scale(1.05);

}

nav{

display:flex;

align-items:center;

gap:25px;

}

nav a{

color:white;

text-decoration:none;

font-size:1.2rem;

font-weight:600;

position:relative;

transition:.3s;

}

nav a:hover{

color:var(--gold);

}

nav a::after{

content:"";

position:absolute;

bottom:-5px;

left:0;

width:0;

height:2px;

background:var(--gold);

transition:.3s;

}

nav a:hover::after{

width:100%;

}

/* ========================
   BANNIÈRE
======================== */

.slider{

position:relative;

width:100%;

height:650px;

overflow:hidden;

}

.slide{

position:absolute;

width:100%;

height:100%;

opacity:0;

transition:1s ease;

}

.slide.active{

opacity:1;

}

.slide img{

width:100%;

height:100%;

object-fit:cover;

}

/* ========================
   HERO
======================== */

.hero{

padding:100px 20px;

text-align:center;

background:
linear-gradient(
135deg,
#ffffff,
#f4fff7
);

}

.hero h1{

margin-bottom:20px;

color:var(--black);

}

.hero p{

max-width:900px;

margin:auto;

font-size:1.4rem;

color:#333;

}

/* ========================
   BOUTONS
======================== */

.btn,
button{

display:inline-flex;

align-items:center;

justify-content:center;

gap:8px;

padding:14px 28px;

border:none;

border-radius:10px;

cursor:pointer;

text-decoration:none;

font-size:1rem;

font-weight:600;

transition:.3s;

}

.btn-primary{

background:var(--green);

color:white;

}

.btn-primary:hover{

background:var(--green-dark);

transform:translateY(-2px);

}

.btn-dark{

background:var(--black);

color:white;

}

.btn-dark:hover{

background:#222;

}

.btn-gold{

background:var(--gold);

color:white;

}

.btn-gold:hover{

opacity:.9;

}

/* ========================
   PRODUITS
======================== */

.products{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:30px;

padding:60px;

}

.product{

background:white;

border-radius:18px;

overflow:hidden;

box-shadow:var(--shadow);

transition:.35s;

}

.product:hover{

transform:translateY(-8px);

}

.product img{

width:100%;

height:320px;

object-fit:cover;

}

.product-content{

padding:20px;

text-align:center;

}

.product-content h3{

margin-bottom:10px;

}

.price{

font-size:1.6rem;

font-weight:bold;

color:var(--green);

margin-bottom:5px;

}

.price-euro{

color:var(--gray-dark);

margin-bottom:20px;

}

/* ========================
   FICHE PRODUIT
======================== */

.product-detail{

display:grid;

grid-template-columns:
1fr 1fr;

gap:60px;

padding:60px;

align-items:start;

}

.product-detail img{

width:100%;

border-radius:20px;

box-shadow:var(--shadow);

}

.description{

background:var(--gray);

padding:25px;

border-radius:12px;

margin:25px 0;

}

/* ========================
   QUANTITÉ
======================== */

.quantity{

display:flex;

align-items:center;

gap:10px;

margin:25px 0;

}

.quantity button{

width:45px;

height:45px;

padding:0;

font-size:1.3rem;

background:var(--green);

color:white;

}

.quantity input{

width:80px;

height:45px;

text-align:center;

border:1px solid #ddd;

font-size:1rem;

}

/* ========================
   PANIER
======================== */

.cart-item{

display:flex;

gap:20px;

align-items:center;

padding:20px;

background:white;

border-radius:12px;

box-shadow:var(--shadow);

margin-bottom:20px;

}

.cart-item img{

width:120px;

height:120px;

object-fit:cover;

border-radius:12px;

}

.summary{

background:white;

padding:30px;

border-radius:15px;

box-shadow:var(--shadow);

}

.total{

font-size:2rem;

font-weight:bold;

color:var(--green);

}

/* ========================
   FORMULAIRES
======================== */

input,
textarea,
select{

width:100%;

padding:14px;

border:1px solid #ddd;

border-radius:10px;

font-size:1rem;

font-family:inherit;

outline:none;

transition:.3s;

}

input:focus,
textarea:focus,
select:focus{

border-color:var(--green);

box-shadow:
0 0 0 3px rgba(11,125,53,.15);

}

label{

display:block;

margin-bottom:8px;

font-weight:600;

}

/* ========================
   PAIEMENT
======================== */

.payment-methods{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(140px,1fr));

gap:20px;

margin-top:25px;

}

.payment-card{

background:white;

padding:20px;

border-radius:15px;

border:2px solid #eee;

text-align:center;

cursor:pointer;

transition:.3s;

}

.payment-card:hover{

border-color:var(--green);

transform:translateY(-4px);

}

.payment-card img{

max-width:90px;

margin-bottom:10px;

}

/* ========================
   ADMIN
======================== */

table{

width:100%;

border-collapse:collapse;

background:white;

box-shadow:var(--shadow);

}

table th{

background:black;

color:white;

padding:15px;

}

table td{

padding:15px;

border-bottom:1px solid #eee;

text-align:center;

}

table tr:hover{

background:#fafafa;

}

/* ========================
   RÉSEAUX SOCIAUX
======================== */

.social{

text-align:center;

padding:50px 20px;

}

.social a{

display:inline-block;

margin:10px;

padding:12px 25px;

background:black;

color:white;

text-decoration:none;

border-radius:10px;

transition:.3s;

}

.social a:hover{

background:var(--green);

}

/* ========================
   FOOTER
======================== */

footer{

background:black;

color:white;

padding:40px 20px;

text-align:center;

margin-top:60px;

}

footer p{

margin-top:10px;

}

/* ========================
   RESPONSIVE
======================== */

@media(max-width:992px){

header{

flex-direction:column;

gap:20px;

padding:20px;

}

.product-detail{

grid-template-columns:1fr;

}

.products{

padding:30px;

}

}

@media(max-width:768px){

.slider{

height:350px;

}

h1{

font-size:2.3rem;

}

h2{

font-size:1.8rem;

}

nav{

flex-wrap:wrap;

justify-content:center;

}

.cart-item{

flex-direction:column;

text-align:center;

}

}
