/* ============ Fleuriste Capucine — styles boutique & fiches produits ============ */
:root{
  --turquoise:#2AC6D5; --sarcelle:#0096AA; --aqua:#51B7C5;
  --sauge:#9CAF88; --corail:#E8855B; --creme:#F2FAFB;
  --blanc:#FFFFFF; --encre:#0B3A40; --gris:#5C6B6E;
  --font-display:'Poppins',sans-serif;
  --font-script:'Parisienne',cursive;
  --font-body:'Inter',sans-serif;
  --tracking-cap:0.12em; --tracking-wide:0.18em;
  --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px;
  --container:1180px; --radius:0px;
  --ease:cubic-bezier(.16,1,.3,1); --fast:160ms; --base:300ms;
  --shadow-sm:0 2px 14px rgba(0,150,170,.08);
  --shadow-md:0 10px 34px rgba(0,150,170,.12);
}
*{box-sizing:border-box;margin:0;padding:0;min-width:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--encre);background:var(--blanc);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--turquoise);outline-offset:3px;}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--s-5);}
.script{font-family:var(--font-script);font-weight:400;}
.eyebrow{font-family:var(--font-display);font-size:.74rem;font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--turquoise);margin-bottom:var(--s-3);}

/* Boutons */
.btn{font-family:var(--font-display);font-weight:600;letter-spacing:var(--tracking-cap);text-transform:uppercase;font-size:.78rem;padding:15px 30px;border-radius:0;display:inline-flex;align-items:center;gap:8px;border:2px solid transparent;cursor:pointer;transition:all var(--fast) var(--ease);}
.btn-primary{background:var(--turquoise);color:#fff;box-shadow:0 6px 18px rgba(42,198,213,.35);}
.btn-primary:hover{background:var(--sarcelle);transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--sarcelle);border-color:var(--turquoise);}
.btn-outline:hover{background:var(--turquoise);color:#fff;}

/* Header */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,150,170,.10);}
header.site .bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) 0;}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{width:48px;height:48px;border-radius:0;}
.brand .name{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-cap);font-size:.9rem;line-height:1;color:var(--sarcelle);}
.brand .name .script{display:block;font-size:1.35rem;text-transform:none;letter-spacing:0;color:var(--turquoise);margin-top:-2px;}
nav.main{display:flex;gap:var(--s-6);font-family:var(--font-display);font-size:.78rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;}
nav.main a{color:var(--encre);opacity:.8;transition:opacity var(--fast) var(--ease);padding-bottom:3px;border-bottom:2px solid transparent;}
nav.main a:hover,nav.main a.active{opacity:1;border-bottom-color:var(--turquoise);}
.header-cta{display:flex;align-items:center;gap:var(--s-4);}
.header-tel{font-family:var(--font-display);font-weight:600;color:var(--sarcelle);font-size:.85rem;white-space:nowrap;}
@media(max-width:900px){nav.main{display:none;}.header-tel{display:none;}}

/* Bandeau de page */
.page-head{background:linear-gradient(110deg,var(--sarcelle),var(--turquoise));color:#fff;padding:var(--s-9) 0 var(--s-8);}
.page-head .eyebrow{color:#cdeff3;}
.page-head h1{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,5vw,3.2rem);letter-spacing:var(--tracking-cap);text-transform:uppercase;line-height:1.05;}
.page-head h1 .script{text-transform:none;letter-spacing:0;font-weight:400;color:#eafafb;}
.page-head p{margin-top:var(--s-4);max-width:60ch;opacity:.92;font-weight:300;}
.breadcrumb{font-family:var(--font-display);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85;margin-bottom:var(--s-5);}
.breadcrumb a:hover{text-decoration:underline;}

/* Filtres */
.filters{position:sticky;top:74px;z-index:40;background:var(--blanc);border-bottom:1px solid rgba(0,150,170,.12);padding:var(--s-4) 0;}
.filters .row{display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:center;justify-content:space-between;}
.chips{display:flex;gap:var(--s-2);flex-wrap:wrap;}
.chip{font-family:var(--font-display);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:9px 16px;border:1px solid rgba(0,150,170,.25);background:#fff;color:var(--encre);cursor:pointer;transition:all var(--fast) var(--ease);}
.chip:hover{border-color:var(--turquoise);color:var(--sarcelle);}
.chip.active{background:var(--sarcelle);color:#fff;border-color:var(--sarcelle);}
.count{font-family:var(--font-body);font-size:.82rem;color:var(--gris);white-space:nowrap;}

/* Grille produits */
.shop{padding:var(--s-8) 0 var(--s-9);}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5);}
.card{background:#fff;border:1px solid rgba(0,150,170,.10);display:flex;flex-direction:column;transition:transform var(--base) var(--ease),box-shadow var(--base) var(--ease);}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.card .ph{aspect-ratio:1;overflow:hidden;background:var(--creme);position:relative;}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform var(--base) var(--ease);}
.card:hover .ph img{transform:scale(1.06);}
.card .tag{position:absolute;top:0;left:0;background:rgba(255,255,255,.92);color:var(--sarcelle);font-family:var(--font-display);font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;}
.card .stock{position:absolute;top:0;right:0;background:var(--corail);color:#fff;font-family:var(--font-display);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;}
.card .body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-2);flex:1;}
.card h3{font-family:var(--font-display);font-weight:600;font-size:.98rem;color:var(--encre);line-height:1.25;}
.card .price{font-family:var(--font-display);font-weight:700;color:var(--sarcelle);font-size:1.05rem;}
.card .more{margin-top:auto;font-family:var(--font-display);font-weight:600;font-size:.7rem;letter-spacing:var(--tracking-cap);text-transform:uppercase;color:var(--turquoise);display:inline-flex;align-items:center;gap:7px;transition:gap var(--fast) var(--ease);}
.card:hover .more{gap:12px;}
.empty{text-align:center;color:var(--gris);padding:var(--s-9) 0;font-size:1.1rem;}
@media(max-width:980px){.grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:760px){.grid{grid-template-columns:repeat(2,1fr);gap:var(--s-4);}}
@media(max-width:430px){.grid{grid-template-columns:repeat(2,1fr);gap:10px;}.card .body{padding:var(--s-4);}}

/* Fiche produit */
.product-detail{padding:var(--s-8) 0 var(--s-9);}
.pd-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--s-9);align-items:start;}
.pd-media{border:1px solid rgba(0,150,170,.12);background:var(--creme);}
.pd-media img{width:100%;height:auto;display:block;aspect-ratio:1;object-fit:cover;}
.pd-info .cat{font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--turquoise);}
.pd-info h1{font-family:var(--font-display);font-weight:700;font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.1;color:var(--sarcelle);margin:var(--s-3) 0 var(--s-4);text-transform:uppercase;letter-spacing:.02em;}
.pd-price{font-family:var(--font-display);font-weight:700;font-size:2rem;color:var(--encre);}
.pd-stock{display:inline-block;margin-left:var(--s-3);font-family:var(--font-display);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--corail);border:1px solid var(--corail);padding:4px 10px;vertical-align:middle;}
.pd-desc{margin:var(--s-5) 0 var(--s-6);color:var(--gris);font-size:1.05rem;max-width:54ch;}
.pd-divider{height:1px;background:rgba(0,150,170,.14);margin:var(--s-6) 0;}
.pd-cta{display:flex;gap:var(--s-4);flex-wrap:wrap;align-items:center;}
.pd-note{margin-top:var(--s-5);font-size:.85rem;color:var(--gris);background:var(--creme);border-left:3px solid var(--turquoise);padding:var(--s-4) var(--s-5);}
.pd-meta{margin-top:var(--s-6);font-size:.85rem;color:var(--gris);}
.pd-meta div{display:flex;gap:var(--s-3);padding:8px 0;border-bottom:1px solid rgba(0,150,170,.09);}
.pd-meta .k{font-family:var(--font-display);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sarcelle);min-width:120px;}
@media(max-width:860px){.pd-grid{grid-template-columns:1fr;gap:var(--s-6);}}

/* Suggestions */
.related{background:var(--creme);padding:var(--s-9) 0;}
.related h2{font-family:var(--font-display);font-weight:700;font-size:1.5rem;text-transform:uppercase;letter-spacing:var(--tracking-cap);color:var(--sarcelle);margin-bottom:var(--s-6);}
.related .grid{grid-template-columns:repeat(4,1fr);}
@media(max-width:760px){.related .grid{grid-template-columns:repeat(2,1fr);}}

/* Footer */
footer.site{background:#062a2f;color:rgba(255,255,255,.8);padding:var(--s-8) 0 var(--s-6);}
footer.site .top{display:flex;justify-content:space-between;gap:var(--s-6);flex-wrap:wrap;align-items:center;margin-bottom:var(--s-6);}
footer.site .brand .name{color:#fff;}
footer.site .links{display:flex;gap:var(--s-6);flex-wrap:wrap;font-family:var(--font-display);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;}
footer.site .links a{opacity:.8;}footer.site .links a:hover{opacity:1;color:var(--turquoise);}
footer.site .legal{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--s-5);font-size:.78rem;display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;opacity:.65;}
@media(max-width:560px){footer.site .links a{display:inline-block;padding:5px 0;}}

/* Bouton appel flottant mobile */
.fab{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--corail);color:#fff;text-align:center;padding:16px;font-family:var(--font-display);font-weight:600;font-size:.8rem;letter-spacing:var(--tracking-cap);text-transform:uppercase;}
@media(max-width:900px){.fab{display:block;}body{padding-bottom:54px;}.filters{top:0;}}
