/*
Theme Name: Kerady
Theme URI: https://kerady.com
Author: Kerady
Description: Thème sur mesure pour Kerady — boutique de gaines sculptantes pour toutes les tailles et toutes les formes. Palette rose bébé, mise en avant de l'inclusivité des tailles, compatible WooCommerce.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: kerady
Tags: e-commerce, woocommerce, custom-colors, custom-logo, custom-menu, translation-ready, feminine
*/

:root{
  --cream:#FFF9F7;
  --blush:#F7E1E6;
  --blush-soft:#FBEEF1;
  --rose:#E8A9B8;
  --rose-deep:#C97B90;
  --plum:#4A2E35;
  --plum-soft:#7A5560;
  --gold:#D9B48C;
  --white:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Outfit',sans-serif;
  background:var(--cream);
  color:var(--plum);
  overflow-x:hidden;
}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;}
a{text-decoration:none;color:inherit;}
img,svg{display:block;max-width:100%;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer; border:none; background:none;}
.container{max-width:1240px; margin:0 auto; padding:0 28px;}
.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in-view{opacity:1; transform:translateY(0);}
.screen-reader-text{position:absolute; left:-9999px;}

/* ---------- ANNOUNCE BAR ---------- */
.announce-bar{
  background:var(--plum); color:var(--blush-soft);
  text-align:center; padding:10px 16px; font-size:13.5px; letter-spacing:.02em;
}
.announce-bar strong{color:var(--gold);}

/* ---------- HEADER ---------- */
header.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,249,247,.75);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(74,46,53,.06);
  transition:padding .3s ease, box-shadow .3s ease;
}
header.site-header.scrolled{box-shadow:0 6px 24px rgba(74,46,53,.06);}
nav.main-nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 28px; max-width:1240px; margin:0 auto;
  transition:padding .3s ease;
}
header.site-header.scrolled nav.main-nav{padding:13px 28px;}
.logo{font-family:'Cormorant Garamond',serif; font-size:30px; font-weight:600; color:var(--plum); letter-spacing:.01em;}
.logo em{font-style:italic; color:var(--rose-deep); font-weight:500;}
.logo img{max-height:52px;}
.nav-links{display:flex; gap:34px; font-size:14.5px; font-weight:500;}
.nav-links li{display:inline-block;}
.nav-links a{position:relative; padding:4px 0; transition:color .2s ease;}
.nav-links a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1.5px; background:var(--rose-deep);
  transition:width .25s ease;
}
.nav-links a:hover{color:var(--rose-deep);}
.nav-links a:hover::after{width:100%;}
.nav-actions{display:flex; align-items:center; gap:18px;}
.icon-btn{position:relative; width:22px; height:22px; color:var(--plum);}
.icon-btn svg{width:100%;height:100%;}
.cart-count{
  position:absolute; top:-9px; right:-11px;
  background:var(--rose-deep); color:#fff; font-size:10px; font-weight:600;
  width:17px; height:17px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  transition:transform .25s ease;
}
.cart-count.bump{animation:bump .35s ease;}
@keyframes bump{0%{transform:scale(1);}50%{transform:scale(1.4);}100%{transform:scale(1);}}
.burger{display:none; flex-direction:column; gap:5px; width:24px;}
.burger span{height:2px; background:var(--plum); border-radius:2px;}
.mobile-nav{display:none; flex-direction:column; gap:2px; padding:0 28px 20px;}
.mobile-nav.open{display:flex;}
.mobile-nav a{padding:12px 0; border-bottom:1px solid rgba(74,46,53,.08); font-size:15px; font-weight:500;}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  padding:70px 0 60px;
  background:radial-gradient(circle at 85% 20%, var(--blush) 0%, var(--cream) 55%);
  overflow:hidden;
}
.hero-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; position:relative; z-index:2;}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--rose-deep); font-weight:600; margin-bottom:16px;
}
.eyebrow::before{content:""; width:24px; height:1px; background:var(--rose-deep);}
.hero h1{font-size:54px; line-height:1.06; font-weight:600; color:var(--plum); margin-bottom:20px;}
.hero h1 em{font-style:italic; color:var(--rose-deep); font-weight:500;}
.hero p.lead{font-size:16.5px; color:var(--plum-soft); max-width:440px; margin-bottom:30px;}
.cta-row{display:flex; gap:16px; flex-wrap:wrap;}
.btn-primary{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--plum); color:var(--cream);
  padding:15px 30px; border-radius:40px; font-weight:500; font-size:14.5px;
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.btn-primary:hover{background:var(--rose-deep); transform:translateY(-2px); box-shadow:0 10px 24px rgba(201,123,144,.35);}
.btn-outline{
  display:inline-flex; align-items:center; gap:10px;
  border:1.5px solid var(--plum); color:var(--plum);
  padding:14px 28px; border-radius:40px; font-weight:500; font-size:14.5px;
  transition:all .25s ease;
}
.btn-outline:hover{background:var(--plum); color:var(--cream);}
.hero-visual{position:relative; aspect-ratio:4/5; border-radius:24px; overflow:hidden; background:linear-gradient(155deg,var(--rose) 0%, var(--blush) 100%); display:flex; align-items:center; justify-content:center;}
.hero-visual svg{width:58%;}
.hero-badge{
  position:absolute; bottom:20px; left:20px;
  background:rgba(255,255,255,.92); padding:12px 18px; border-radius:14px;
  font-size:13px; font-weight:600; color:var(--plum); box-shadow:0 8px 20px rgba(74,46,53,.12);
}
.float-dot{position:absolute; border-radius:50%; opacity:.5;}
.fd1{width:90px;height:90px; background:var(--rose); top:6%; left:2%; animation:kerady-float 7s ease-in-out infinite;}
.fd2{width:50px;height:50px; background:var(--gold); bottom:10%; right:4%; animation:kerady-float 9s ease-in-out infinite reverse;}
@keyframes kerady-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-18px);}}

/* ---------- VALUES ---------- */
.values{padding:44px 0; border-top:1px solid rgba(74,46,53,.07); border-bottom:1px solid rgba(74,46,53,.07);}
.values-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
.value-item{padding:14px; border-radius:16px; transition:background .25s ease, transform .25s ease;}
.value-item:hover{background:var(--blush-soft); transform:translateY(-4px);}
.value-item svg{width:28px; height:28px; color:var(--rose-deep); margin-bottom:10px;}
.value-item h4{font-size:14.5px; font-weight:600; margin-bottom:3px;}
.value-item p{font-size:12.5px; color:var(--plum-soft);}

/* ---------- SHOP SECTION ---------- */
.shop{padding:90px 0 60px;}
.section-head{text-align:center; max-width:600px; margin:0 auto 20px;}
.section-head .eyebrow{justify-content:center;}
.section-head h2{font-size:38px; font-weight:600;}
.section-head h2 em{font-style:italic; color:var(--rose-deep); font-weight:500;}
.section-head p{color:var(--plum-soft); font-size:15px; margin-top:12px;}

.filter-row{display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin:36px 0 44px;}
.filter-pill{
  padding:10px 22px; border-radius:30px; border:1.5px solid var(--plum); font-size:13.5px; font-weight:500;
  transition:all .25s ease;
}
.filter-pill.active, .filter-pill:hover{background:var(--plum); color:var(--cream);}

.product-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
.product-card{
  background:var(--white); border-radius:18px; overflow:hidden;
  box-shadow:0 10px 26px -18px rgba(74,46,53,.35);
  transition:transform .35s ease, box-shadow .35s ease;
  display:flex; flex-direction:column;
}
.product-card.hidden-card{display:none;}
.product-card:hover{transform:translateY(-8px); box-shadow:0 22px 36px -18px rgba(74,46,53,.28);}
.product-thumb{
  aspect-ratio:1/1.1; display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden; background:linear-gradient(155deg,var(--blush) 0%, var(--blush-soft) 100%);
}
.product-thumb img{width:100%; height:100%; object-fit:cover;}
.product-thumb svg{width:46%; transition:transform .4s ease;}
.product-card:hover .product-thumb svg,
.product-card:hover .product-thumb img{transform:scale(1.08);}
.ribbon{
  position:absolute; top:12px; left:12px; background:var(--plum); color:var(--cream);
  font-size:10.5px; font-weight:600; letter-spacing:.03em; padding:5px 10px; border-radius:20px;
}
.quick-add{
  position:absolute; bottom:-50px; left:12px; right:12px;
  background:var(--plum); color:var(--cream); text-align:center;
  padding:11px; border-radius:12px; font-size:13px; font-weight:500;
  transition:bottom .3s ease, background .25s ease; display:block;
}
.product-card:hover .quick-add{bottom:12px;}
.quick-add:hover{background:var(--rose-deep); color:var(--cream);}
.product-info{padding:16px 18px 20px;}
.product-info h3{font-size:16.5px; font-weight:600; font-family:'Outfit',sans-serif; margin-bottom:4px;}
.product-info .price{color:var(--rose-deep); font-weight:600; font-size:14.5px;}
.product-info .sizes{font-size:11.5px; color:var(--plum-soft); margin-top:6px;}

.toast{
  position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px);
  background:var(--plum); color:var(--cream); padding:14px 26px; border-radius:30px;
  font-size:14px; font-weight:500; opacity:0; pointer-events:none; transition:all .35s ease; z-index:1000;
  display:flex; align-items:center; gap:10px;
}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}
.toast svg{width:16px;height:16px; color:var(--gold);}

/* ---------- INCLUSIVITY BANNER ---------- */
.inclusivity{background:var(--plum); color:var(--cream); padding:90px 0; text-align:center; position:relative; overflow:hidden;}
.inclusivity .section-head h2{color:var(--cream);}
.inclusivity .section-head h2 em{color:var(--rose);}
.inclusivity .section-head p{color:#d9c3c9;}
.shapes-row{display:flex; justify-content:center; gap:34px; margin-top:50px; flex-wrap:wrap;}
.shape-item{text-align:center; width:120px;}
.shape-item svg{width:64px; height:64px; margin:0 auto 12px; color:var(--rose); transition:transform .3s ease;}
.shape-item:hover svg{transform:scale(1.12) translateY(-4px); color:var(--gold);}
.shape-item span{font-size:13px; font-weight:500;}

/* ---------- TESTIMONIALS ---------- */
.testimonials{padding:90px 0;}
.testi-wrap{max-width:680px; margin:0 auto; text-align:center; position:relative; min-height:200px;}
.testi-slide{position:absolute; inset:0; opacity:0; transition:opacity .5s ease; display:flex; flex-direction:column; align-items:center; justify-content:center;}
.testi-slide.active{position:relative; opacity:1;}
.testi-slide p{font-family:'Cormorant Garamond',serif; font-size:24px; font-style:italic; color:var(--plum); line-height:1.5; margin-bottom:18px;}
.testi-slide .stars{color:var(--gold); font-size:16px; margin-bottom:14px; letter-spacing:2px;}
.testi-slide .author{font-size:13.5px; font-weight:600; color:var(--rose-deep);}
.testi-dots{display:flex; justify-content:center; gap:9px; margin-top:30px;}
.testi-dot{width:8px; height:8px; border-radius:50%; background:var(--blush); transition:all .3s ease; cursor:pointer;}
.testi-dot.active{background:var(--rose-deep); width:22px; border-radius:4px;}

/* ---------- NEWSLETTER ---------- */
.newsletter{background:var(--blush-soft); padding:80px 0; text-align:center;}
.newsletter h2{font-size:32px; margin-bottom:12px;}
.newsletter h2 em{font-style:italic; color:var(--rose-deep); font-weight:500;}
.newsletter p{color:var(--plum-soft); margin-bottom:32px; font-size:15px;}
.nl-form{display:flex; justify-content:center; gap:12px; max-width:460px; margin:0 auto; flex-wrap:wrap;}
.nl-field{position:relative; flex:1; min-width:220px;}
.nl-field input{
  width:100%; padding:16px 18px 10px; border:1.5px solid rgba(74,46,53,.2); border-radius:14px;
  font-family:inherit; font-size:14.5px; background:var(--white); outline:none; transition:border-color .25s ease;
}
.nl-field input:focus{border-color:var(--rose-deep);}
.nl-field label{
  position:absolute; left:18px; top:15px; font-size:14.5px; color:var(--plum-soft);
  pointer-events:none; transition:all .2s ease;
}
.nl-field input:focus + label, .nl-field input:not(:placeholder-shown) + label{
  top:5px; font-size:10.5px; color:var(--rose-deep); font-weight:600;
}
.nl-form button{
  background:var(--plum); color:var(--cream); padding:0 28px; border-radius:14px; font-weight:500; font-size:14.5px;
  transition:background .25s ease;
}
.nl-form button:hover{background:var(--rose-deep);}
.nl-success{margin-top:18px; font-size:13.5px; color:var(--rose-deep); font-weight:600; opacity:0; transition:opacity .3s ease;}
.nl-success.show{opacity:1;}
.nl-error{margin-top:18px; font-size:13.5px; color:#a33; font-weight:600; opacity:0; transition:opacity .3s ease;}
.nl-error.show{opacity:1;}

/* ---------- GENERIC PAGE / SINGLE CONTENT ---------- */
.site-content{padding:70px 0; max-width:820px; margin:0 auto;}
.site-content h1{font-size:38px; margin-bottom:20px;}
.site-content p{margin-bottom:16px; color:var(--plum-soft); line-height:1.7;}

/* ---------- WOOCOMMERCE BASE OVERRIDES ---------- */
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:26px !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.woocommerce ul.products li.product{
  background:var(--white); border-radius:18px; overflow:hidden; padding:0 !important;
  box-shadow:0 10px 26px -18px rgba(74,46,53,.35); transition:transform .35s ease, box-shadow .35s ease;
  width:100% !important;
  float:none !important;
  margin:0 !important;
  clear:none !important;
  display:flex !important;
  flex-direction:column;
  position:relative;
}
.woocommerce ul.products li.product:hover{transform:translateY(-8px); box-shadow:0 22px 36px -18px rgba(74,46,53,.28);}
.woocommerce ul.products li.product a{display:flex; flex-direction:column; flex:1; color:inherit;}
.woocommerce ul.products li.product a img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1/1.1;
  object-fit:cover;
  border-radius:0;
  margin:0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:16px 18px 0; font-size:16.5px; font-weight:600; font-family:'Outfit',sans-serif;
  overflow-wrap:break-word; line-height:1.35;
}
.woocommerce ul.products li.product .price{padding:6px 18px 0; color:var(--rose-deep); font-weight:600; font-size:14.5px; display:block;}
.woocommerce ul.products li.product .button{
  margin:14px 18px 20px !important; display:inline-block; background:var(--plum); color:var(--cream) !important;
  padding:11px 20px; border-radius:12px; font-size:13px; font-weight:500; transition:background .25s ease;
  text-align:center; white-space:normal;
}
.woocommerce ul.products li.product .button:hover{background:var(--rose-deep);}
.woocommerce .price ins{color:var(--rose-deep); text-decoration:none;}
.woocommerce .price del{opacity:.5;}
.woocommerce span.onsale{
  background:var(--rose-deep); color:#fff; position:absolute; top:12px; left:12px;
  border-radius:20px; min-height:auto; min-width:auto; padding:5px 12px; font-size:10.5px; font-weight:600;
  line-height:1; display:flex; align-items:center;
}
.woocommerce div.product form.cart .button{
  background:var(--plum); color:var(--cream); padding:15px 30px; border-radius:40px; font-weight:500;
}
.woocommerce div.product form.cart .button:hover{background:var(--rose-deep);}

/* ---------- FOOTER ---------- */
footer.site-footer{background:var(--plum); color:#d9c3c9; padding:56px 0 24px; font-size:13.5px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px; margin-bottom:40px;}
.footer-grid h5{color:var(--cream); font-size:14.5px; font-weight:600; margin-bottom:16px;}
.footer-grid ul li{margin-bottom:10px;}
.footer-grid ul li a:hover{color:var(--cream);}
.footer-logo{font-family:'Cormorant Garamond',serif; font-size:26px; color:var(--cream); margin-bottom:12px;}
.footer-logo em{font-style:italic; color:var(--rose);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); padding-top:20px; text-align:center; font-size:12.5px;}
.widget{margin-bottom:0;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;}
  .hero h1{font-size:38px;}
  .values-grid{grid-template-columns:repeat(2,1fr);}
  .product-grid, .woocommerce ul.products{grid-template-columns:repeat(2,1fr) !important;}
  .nav-links{display:none;}
  .burger{display:flex;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:520px){
  .product-grid, .woocommerce ul.products{grid-template-columns:1fr 1fr !important; gap:14px !important;}
  .shapes-row{gap:18px;}
  .footer-grid{grid-template-columns:1fr;}
}
