/* KadiCréations — Homepage specific styles */

/* HERO */
.hero{position:relative;min-height:90vh;display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:80px max(40px,calc((100vw - 1320px) / 2));align-items:center}
.hero::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:var(--rose);border-radius:50%;opacity:0.4;filter:blur(60px);z-index:0}
.hero::after{content:'';position:absolute;bottom:-150px;left:-100px;width:350px;height:350px;background:var(--gold-light);border-radius:50%;opacity:0.5;filter:blur(80px);z-index:0}
.hero-content{position:relative;z-index:2}
.hero-tag{font-family:'Caveat',cursive;color:var(--rose-dust);font-size:1.5rem;margin-bottom:15px;display:inline-block}
.hero h1{font-size:clamp(2.8rem,5vw,4.5rem);font-weight:400;font-style:italic;line-height:1.05;margin-bottom:25px}
.hero h1 em{font-style:normal;background:var(--gold-shimmer);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero p{font-size:1.1rem;color:var(--ink-soft);max-width:480px;margin-bottom:35px}
.hero-ctas{display:flex;gap:15px;flex-wrap:wrap;align-items:center}
.word-cycle{display:inline-block;position:relative;vertical-align:baseline}
.word-anim{display:inline-block;background:var(--gold-shimmer);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-style:normal}
@keyframes wordOut{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-24px) scale(0.92)}}
@keyframes wordIn{0%{opacity:0;transform:translateY(24px) scale(0.92)}100%{opacity:1;transform:translateY(0) scale(1)}}
.word-anim.out{animation:wordOut 0.35s cubic-bezier(0.4,0,1,1) forwards}
.word-anim.in{animation:wordIn 0.35s cubic-bezier(0,0,0.2,1) forwards}
.hero-visual{position:relative;aspect-ratio:4/5;z-index:2}
.hero-visual .main-photo{width:100%;height:100%;background-image:url('https://images.unsplash.com/photo-1519689680058-324335c77eba?w=1000&q=80');background-size:cover;background-position:center;border-radius:24px;box-shadow:0 30px 60px rgba(74,57,56,0.15)}
.floating-card{position:absolute;background:#fff;padding:18px 22px;border-radius:18px;box-shadow:0 12px 32px rgba(74,57,56,0.12);display:flex;align-items:center;gap:14px}
.floating-card.fc1{top:8%;left:-10%;animation:float 4s ease-in-out infinite}
.floating-card.fc2{bottom:10%;right:-10%;animation:float 4s ease-in-out infinite 2s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.floating-card .ico{width:42px;height:42px;background:var(--rose);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.floating-card.fc2 .ico{background:var(--gold-gradient);position:relative;overflow:hidden}
.floating-card .meta{font-family:'Caveat',cursive;font-size:1rem;color:var(--ink-soft);line-height:1.1}
.floating-card .val{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:500}

/* SECTIONS */
section.block{padding:100px 40px;max-width:1400px;margin:0 auto}
.section-head{text-align:center;margin-bottom:60px}
.section-desc{color:var(--ink-soft);max-width:600px;margin:0 auto;font-size:1.05rem}

/* CATEGORIES */
.cats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.cat-card{position:relative;aspect-ratio:3/4;border-radius:20px;overflow:hidden;cursor:pointer;box-shadow:0 12px 30px rgba(74,57,56,0.08);transition:all 0.5s cubic-bezier(.2,.8,.2,1)}
.cat-card:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(74,57,56,0.15)}
.cat-card .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.8s cubic-bezier(.2,.8,.2,1)}
.cat-card:hover .bg{transform:scale(1.08)}
.cat-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(74,57,56,0.7))}
.cat-card .info{position:absolute;bottom:25px;left:25px;right:25px;color:#fff;z-index:2}
.cat-card .info span{font-family:'Caveat',cursive;font-size:1.2rem;color:var(--rose);display:block;margin-bottom:2px}
.cat-card .info h3{font-size:1.6rem;font-style:italic;font-weight:500;margin-bottom:8px}
.cat-card .info .arrow{font-size:0.85rem;letter-spacing:0.1em;text-transform:uppercase;border-bottom:1.5px solid var(--gold);padding-bottom:2px;display:inline-block}
.cat-bodies .bg{background-image:url('https://images.unsplash.com/photo-1492725764893-90b379c2b6e7?w=800&q=80')}
.cat-pyjamas .bg{background-image:url('https://images.unsplash.com/photo-1515488042361-ee00e0ddd4e4?w=800&q=80')}
.cat-ensembles .bg{background-image:url('https://images.unsplash.com/photo-1503454537195-1dcabb73ffb9?w=800&q=80')}
.cat-coffrets .bg{background-image:url('https://images.unsplash.com/photo-1607344645866-009c320b63e0?w=800&q=80')}

/* OCCASIONS */
.occasions-section{background:linear-gradient(180deg,var(--cream) 0%,var(--cream-dark) 100%)}
.occasions-section .block{max-width:1400px;margin:0 auto}
.occasions-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:20px;height:600px}
.occ{position:relative;border-radius:22px;overflow:hidden;padding:35px;display:flex;flex-direction:column;justify-content:flex-end;color:var(--ink);cursor:pointer;transition:transform 0.5s cubic-bezier(.2,.8,.2,1)}
.occ:hover{transform:translateY(-6px)}
.occ .occ-emoji{position:absolute;top:25px;right:25px;font-size:2.5rem;z-index:2}
.occ .occ-tag{font-family:'Caveat',cursive;color:var(--rose-dust);font-size:1.2rem;margin-bottom:5px}
.occ h3{font-style:italic;font-size:1.8rem;margin-bottom:8px}
.occ p{color:var(--ink-soft);font-size:0.9rem;margin-bottom:14px;max-width:90%}
.occ .occ-link{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.1em;border-bottom:1.5px solid var(--gold);padding-bottom:2px;align-self:flex-start;font-weight:500}
.occ-1{grid-column:1;grid-row:1/3;background:var(--rose)}
.occ-1::before{content:'';position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1555252333-9f8e92e65df9?w=900&q=80');background-size:cover;background-position:center;opacity:0.35;mix-blend-mode:multiply}
.occ-2{background:var(--cream-dark)}
.occ-3{background:var(--rose-deep);color:#fff}
.occ-3 .occ-tag{color:var(--rose)}
.occ-3 p{color:rgba(255,255,255,0.85)}
.occ-4{background:var(--cream)}
.occ-5{background:var(--gold-shimmer);color:#fff;overflow:hidden}
.occ-5 .occ-tag{color:rgba(255,255,255,0.9)}
.occ-5 p{color:rgba(255,255,255,0.9)}

/* PERSONALIZATION DEMO */
.perso{background:var(--ink);color:var(--cream);padding:100px 40px;position:relative;overflow:hidden}
.perso::before{content:'';position:absolute;top:-2px;left:0;right:0;height:2px;background:var(--gold-shimmer)}
.perso-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.perso-text .section-tag{color:var(--rose)}
.perso-text .section-title{color:var(--cream);text-align:left}
.perso-text p{color:rgba(251,246,238,0.7);max-width:480px;margin-bottom:30px}
.perso-steps{display:flex;flex-direction:column;gap:18px;margin-bottom:35px}
.perso-step{display:flex;gap:18px;align-items:flex-start}
.perso-step .num{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--gold-gradient);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:1.1rem}
.perso-step .txt{flex:1;padding-top:6px}
.perso-step .txt strong{display:block;color:var(--cream);font-family:'Fraunces',serif;font-size:1.1rem;margin-bottom:4px;font-style:italic}
.perso-step .txt span{color:rgba(251,246,238,0.6);font-size:0.9rem}
.perso-mockup{background:var(--cream);border-radius:24px;padding:50px 30px;text-align:center;color:var(--ink);position:relative}
.perso-mockup .body-shape{width:280px;height:340px;margin:0 auto 25px;background:var(--rose);border-radius:50% 50% 30% 30% / 30% 30% 60% 60%;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -20px 40px rgba(217,166,166,0.4)}
.perso-mockup .body-shape::before{content:'';position:absolute;top:-15px;left:50%;transform:translateX(-50%);width:100px;height:50px;background:var(--cream);border-radius:0 0 50% 50%}
.perso-mockup .printed-name{font-family:'Caveat',cursive;font-size:3rem;background:var(--gold-shimmer);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700;transform:rotate(-3deg);margin-top:30px}
.perso-input-row{display:flex;gap:10px;max-width:340px;margin:0 auto}
.perso-input{flex:1;padding:14px 20px;border-radius:50px;border:1.5px solid var(--cream-dark);background:#fff;font-family:'Inter',sans-serif;font-size:0.95rem;color:var(--ink);outline:none;transition:border-color 0.3s}
.perso-input:focus{border-color:var(--gold)}
.perso-input-btn{padding:14px 24px;background:var(--ink);color:var(--cream);border:none;border-radius:50px;cursor:pointer;font-size:0.85rem;letter-spacing:0.05em;transition:background 0.3s}
.perso-input-btn:hover{background:var(--gold-deep)}
.perso-tag{font-family:'Caveat',cursive;color:var(--rose-dust);font-size:1.2rem;margin-bottom:5px}

/* BEST SELLERS */
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.product-img.pi1{background-image:url('https://images.unsplash.com/photo-1492725764893-90b379c2b6e7?w=600&q=80')}
.product-img.pi2{background-image:url('https://images.unsplash.com/photo-1519689680058-324335c77eba?w=600&q=80')}
.product-img.pi3{background-image:url('https://images.unsplash.com/photo-1515488042361-ee00e0ddd4e4?w=600&q=80')}
.product-img.pi4{background-image:url('https://images.unsplash.com/photo-1503454537195-1dcabb73ffb9?w=600&q=80')}
.all-products-cta{text-align:center;margin-top:50px}

/* GIFT */
.gift-section{padding:100px 40px;max-width:1400px;margin:0 auto}
.gift-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.gift-visual{position:relative;aspect-ratio:1/1;border-radius:24px;background-image:url('https://images.unsplash.com/photo-1544126592-807ade215a0b?w=900&q=80');background-size:cover;background-position:center;overflow:hidden}
.gift-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 50%,rgba(232,204,133,0.25))}
.gift-content .section-tag{color:var(--gold-deep)}
.gift-features{display:flex;flex-direction:column;gap:18px;margin:30px 0 35px}
.gift-feat{display:flex;gap:16px;align-items:flex-start}
.gift-feat .check{width:32px;height:32px;border-radius:50%;background:var(--gold-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.9rem;flex-shrink:0}
.gift-feat .ftxt strong{display:block;font-family:'Fraunces',serif;font-style:italic;font-size:1.05rem;margin-bottom:2px}
.gift-feat .ftxt span{color:var(--ink-soft);font-size:0.9rem}

/* STORY */
.story{background:var(--rose);padding:100px 40px;position:relative;overflow:hidden}
.story-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center}
.story-photo{aspect-ratio:4/5;border-radius:20px;background-image:url('https://images.unsplash.com/photo-1492725764893-90b379c2b6e7?w=800&q=80');background-size:cover;background-position:center;box-shadow:0 24px 50px rgba(74,57,56,0.15)}
.story h2{font-size:clamp(2rem,4vw,2.8rem);font-style:italic;margin-bottom:20px;line-height:1.1}
.story h2 em{font-style:normal;background:var(--gold-shimmer);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.story-quote{font-family:'Fraunces',serif;font-style:italic;font-size:1.2rem;color:var(--ink);margin-bottom:25px;line-height:1.5;padding-left:20px;border-left:3px solid var(--gold)}
.story p{color:var(--ink-soft);margin-bottom:20px}
.story-sig{font-family:'Caveat',cursive;font-size:2rem;color:var(--ink);margin-top:25px}

/* REVIEWS */
.reviews{padding:100px 40px;max-width:1400px;margin:0 auto}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.review{background:#fff;border-radius:20px;padding:30px;box-shadow:0 8px 22px rgba(74,57,56,0.05);position:relative}
.review .stars{color:var(--gold);margin-bottom:14px;font-size:0.95rem}
.review-text{font-family:'Fraunces',serif;font-style:italic;font-size:1.05rem;line-height:1.5;color:var(--ink);margin-bottom:20px}
.review-author{display:flex;gap:14px;align-items:center}
.review-avatar{width:48px;height:48px;border-radius:50%;background-size:cover;background-position:center}
.review-meta strong{display:block;font-weight:500;font-size:0.95rem}
.review-meta span{font-size:0.8rem;color:var(--ink-soft);font-family:'Caveat',cursive;font-size:1rem}
.google-rating{display:inline-flex;align-items:center;gap:10px;margin-top:25px;padding:10px 22px;background:#fff;border-radius:50px;box-shadow:0 6px 18px rgba(74,57,56,0.06);font-size:0.85rem;color:var(--ink);transition:all 0.3s}
.google-rating:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(74,57,56,0.1)}
.google-rating .g-stars{color:var(--gold);font-size:0.95rem}
.google-rating strong{font-family:'Fraunces',serif;font-size:1rem;font-weight:600}
.google-rating .g-meta{color:var(--ink-soft);font-size:0.8rem}
.social-cta{text-align:center;margin-top:50px;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;font-size:0.95rem;color:var(--ink-soft)}
.social-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:50px;background:#fff;color:var(--ink);font-weight:500;font-size:0.9rem;box-shadow:0 6px 18px rgba(74,57,56,0.06);transition:all 0.3s}
.social-pill:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(74,57,56,0.12)}
.social-pill.instagram:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff}
.social-pill.tiktok:hover{background:#000;color:#fff}

/* RESPONSIVE */
@media(max-width:1024px){
  .hero{grid-template-columns:1fr;min-height:auto;padding:50px 20px}
  .hero-visual{max-width:500px;margin:0 auto}
  .cats-grid,.products-grid,.reviews-grid{grid-template-columns:repeat(2,1fr)}
  .occasions-grid{grid-template-columns:1fr;grid-template-rows:auto;height:auto}
  .occ-1{grid-row:auto;min-height:300px}
  .occ{min-height:200px}
  .perso-inner,.gift-grid,.story-inner{grid-template-columns:1fr;gap:40px}
}
@media(max-width:600px){
  section.block,.gift-section,.reviews{padding:70px 20px}
  .perso,.story{padding:70px 20px}
  .cats-grid,.products-grid,.reviews-grid{grid-template-columns:1fr}
  .floating-card{display:none}
}
