@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Jost:wght@300;400;500&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{--rose:#F2C4CE;--rose-pale:#FAF0F2;--rose-deep:#E8A0B0;--rose-hover:#d4889a;--blanc:#FDFCFC;--creme:#F9F5F3;--texte:#3a2c2e;--texte-doux:#8a7075;}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;background:var(--blanc);color:var(--texte);overflow-x:hidden;}

/* CURSOR */
.cursor{position:fixed;width:12px;height:12px;border-radius:50%;background:var(--rose-deep);pointer-events:none;z-index:99999;transform:translate(-50%,-50%);transition:width 0.3s,height 0.3s,opacity 0.3s;opacity:0;mix-blend-mode:multiply;}
.cursor.active{width:40px;height:40px;opacity:0.25;}
.cursor.visible{opacity:0.7;}
@media(max-width:900px){.cursor{display:none;}}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:1rem 4rem;background:rgba(253,252,252,0.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(242,196,206,0.2);transition:padding 0.4s;}
nav.scrolled{padding:0.75rem 4rem;}
.logo{display:inline-flex;align-items:center;text-decoration:none;flex-shrink:0;}
.logo img{height:46px;width:auto;display:block;transition:opacity 0.3s;}
.logo img:hover{opacity:0.75;}
nav.scrolled .logo img{height:38px;}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-links a{font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;text-decoration:none;color:var(--texte-doux);transition:color 0.3s;position:relative;white-space:nowrap;}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--rose-deep);transform:scaleX(0);transform-origin:left;transition:transform 0.3s;}
.nav-links a:hover,.nav-links a.active{color:var(--rose-deep);}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}
.nav-right{display:flex;align-items:center;gap:1.4rem;flex-shrink:0;}
.nav-cart,.nav-wishlist{position:relative;opacity:0.65;transition:opacity 0.3s;text-decoration:none;color:var(--texte);cursor:pointer;}
.nav-cart:hover,.nav-wishlist:hover{opacity:1;}
.cart-badge,.wishlist-badge{position:absolute;top:-7px;right:-7px;min-width:15px;height:15px;border-radius:8px;background:var(--rose-deep);color:white;font-size:8px;display:flex;align-items:center;justify-content:center;font-weight:500;padding:0 3px;transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1);}
.cart-badge.pop,.wishlist-badge.pop{transform:scale(1.5);}

/* MOBILE BURGER */
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.nav-burger span{display:block;width:22px;height:1.5px;background:var(--texte);transition:all 0.3s;}
.nav-drawer{display:none;position:fixed;inset:0;background:var(--blanc);z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:2rem;}
.nav-drawer.open{display:flex;animation:drawerIn 0.3s ease;}
@keyframes drawerIn{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}
.nav-drawer a{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;text-decoration:none;color:var(--texte);letter-spacing:0.1em;}
.nav-drawer a em{font-style:italic;color:var(--rose-deep);}
.nav-drawer-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;font-size:1.4rem;color:var(--texte-doux);cursor:pointer;}
.nav-drawer-badge{display:inline-block;background:var(--rose-deep);color:white;border-radius:8px;font-size:0.7rem;padding:0 6px;margin-left:6px;vertical-align:middle;}

/* MARQUEE */
.marquee-wrap{overflow:hidden;background:var(--rose);padding:0.85rem 0;}
.marquee-track{display:flex;width:max-content;animation:marquee 22s linear infinite;}
.marquee-item{font-size:0.6rem;letter-spacing:0.28em;text-transform:uppercase;color:white;white-space:nowrap;padding:0 2.2rem;}
.marquee-sep{opacity:0.5;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* PARALLAX */
.parallax-band{height:120px;background:var(--rose);overflow:hidden;display:flex;align-items:center;}
.parallax-inner{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,3.5rem);font-weight:300;font-style:italic;color:rgba(255,255,255,0.3);white-space:nowrap;letter-spacing:0.1em;will-change:transform;user-select:none;}

/* REVEAL */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 0.85s ease,transform 0.85s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity 0.85s ease,transform 0.85s ease;}
.reveal-left.in{opacity:1;transform:translateX(0);}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity 0.85s ease,transform 0.85s ease;}
.reveal-right.in{opacity:1;transform:translateX(0);}

/* NAILS */
.nail{border-radius:50% 50% 8% 8%/55% 55% 8% 8%;position:relative;flex-shrink:0;}
.nail::after{content:'';position:absolute;top:8%;left:15%;width:30%;height:35%;background:rgba(255,255,255,0.5);border-radius:50%;filter:blur(2px);}
.nail-display{display:flex;gap:7px;align-items:flex-end;}
.n-xs{width:16px;height:34px;}.n-sm{width:20px;height:44px;}.n-md{width:24px;height:54px;}.n-lg{width:28px;height:62px;}.n-xl{width:30px;height:68px;}
.c-blush{background:linear-gradient(150deg,#fce4ea,#f2b8c6,#e8a0b0);box-shadow:0 6px 20px rgba(232,160,176,0.35);}
.c-white{background:linear-gradient(150deg,#ffffff,#f5f0f1,#ede6e8);box-shadow:0 6px 20px rgba(200,180,185,0.2);}
.c-french{background:linear-gradient(180deg,#fff 0%,#fff 32%,rgba(242,196,206,0.4) 32%,#f9e8ec 100%);box-shadow:0 6px 20px rgba(200,180,185,0.2);}
.c-deep{background:linear-gradient(150deg,#f2b8c6,#d4889a,#c07080);box-shadow:0 6px 20px rgba(210,130,155,0.35);}
@keyframes nailFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}

/* SECTION */
.section-label{font-size:0.62rem;letter-spacing:0.32em;text-transform:uppercase;color:var(--rose-deep);margin-bottom:0.8rem;}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:300;line-height:1.15;color:var(--texte);}
.section-title em{font-style:italic;color:var(--rose-deep);}

/* TOAST */
.toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--texte);color:white;padding:0.9rem 1.4rem;font-size:0.76rem;letter-spacing:0.05em;z-index:9998;transform:translateY(20px);opacity:0;transition:all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);border-left:3px solid var(--rose-deep);pointer-events:none;max-width:280px;}
.toast.show{transform:translateY(0);opacity:1;}

/* FOOTER */
footer{background:var(--texte);border-top:1px solid rgba(255,255,255,0.06);padding:2.5rem 4rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;}
.footer-logo{display:inline-flex;align-items:center;text-decoration:none;}
.footer-logo img{height:34px;width:auto;filter:brightness(0) invert(1);opacity:0.65;transition:opacity 0.3s;}
.footer-logo img:hover{opacity:1;}
.footer-logo img{height:34px;width:auto;filter:brightness(0) invert(0.7);}
.footer-nav{display:flex;gap:2rem;list-style:none;flex-wrap:wrap;}
.footer-nav a{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.3);text-decoration:none;transition:color 0.3s;}
.footer-nav a:hover{color:var(--rose);}
.footer-copy{font-size:0.62rem;color:rgba(255,255,255,0.2);letter-spacing:0.1em;}

/* RESPONSIVE */
@media(max-width:900px){
  nav{padding:1rem 1.5rem;}nav.scrolled{padding:0.8rem 1.5rem;}
  .nav-links{display:none;}.nav-burger{display:flex;}
  footer{flex-direction:column;align-items:flex-start;padding:2rem 1.5rem;gap:1.2rem;}
  .footer-nav{gap:1.2rem;}
  .toast{bottom:1rem;right:1rem;left:1rem;max-width:none;}
}
/* PHOTO GALLERY (replaces CSS nail-display in product-gallery) */
.photo-gallery-main{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;}
.photo-main-img{max-width:88%;max-height:88%;object-fit:contain;border-radius:4px;}
.photo-thumbs{position:absolute;bottom:1.2rem;left:0;right:0;display:flex;gap:0.5rem;justify-content:center;z-index:4;}
.photo-thumb-btn{width:48px;height:48px;border-radius:4px;overflow:hidden;border:2px solid transparent;cursor:pointer;background:white;padding:0;transition:border-color 0.3s;}
.photo-thumb-btn.active{border-color:var(--rose-deep);}
.photo-thumb-btn img{width:100%;height:100%;object-fit:cover;display:block;}

/* CARD PHOTO (index grid) */
.card-visual-photo{height:240px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--rose-pale);position:relative;}
.card-visual-photo img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);}
.product-card:hover .card-visual-photo img{transform:scale(1.06);}

/* RELATED CARD PHOTO */
.related-card-photo{width:100%;height:140px;overflow:hidden;border-radius:2px;}
.related-card-photo img{width:100%;height:100%;object-fit:cover;}

@media(max-width:600px){
  .photo-thumb-btn{width:38px;height:38px;}
}
