/* ============================================
   WOMANITY — Global Styles
   Updated: 2026-05-28 19:30
   Apple-style minimalism. Liquid glass + rotating light.
   ============================================ */

@font-face{font-family:'Cormorant Garamond';src:url('/fonts/cormorant-garamond-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/fonts/cormorant-garamond-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/fonts/cormorant-garamond-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/fonts/dm-sans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/fonts/dm-sans-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/fonts/dm-sans-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --blush:#b76e79;--blush-light:#f5e0e3;--blush-deep:#8f4a55;
  --cream:#f8f5f2;--charcoal:#0a0a0a;--gold:#b76e79;--gold-light:#e8c8b0;--white:#fff;
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'DM Sans',system-ui,-apple-system,sans-serif;
  --ease-out:cubic-bezier(0.16,1,0.3,1);
  --section-padding:120px;--section-padding-mobile:80px;
  --container-max:1280px;--container-padding:48px;--container-padding-mobile:24px;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--charcoal);background:var(--cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none}

/* ===== ACCESSIBILITY ===== */
.skip-to-content{position:absolute;top:-100px;left:16px;background:var(--charcoal);color:var(--white);padding:12px 24px;border-radius:0 0 8px 8px;z-index:10000;font-size:14px;font-weight:500;transition:top 0.2s ease}
.skip-to-content:focus{top:0;outline:2px solid var(--gold);outline-offset:2px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
:focus:not(:focus-visible){outline:none}

/* ===== TYPOGRAPHY ===== */
.display-xl{font-family:var(--font-display);font-size:clamp(40px,5vw,72px);font-weight:300;line-height:1.1;letter-spacing:-0.02em}
.display-lg{font-family:var(--font-display);font-size:clamp(32px,4vw,56px);font-weight:300;line-height:1.15}
.display-md{font-family:var(--font-display);font-size:clamp(28px,3.5vw,48px);font-weight:300;line-height:1.2}
.display-sm{font-family:var(--font-display);font-size:clamp(24px,2.5vw,36px);font-weight:400;line-height:1.25}
.section-label{font-size:12px;text-transform:uppercase;letter-spacing:0.15em;color:var(--gold);font-weight:500;margin-bottom:16px}
.body-lg{font-size:18px;line-height:1.7}
.body-sm{font-size:14px;line-height:1.6}
.text-muted{color:#888}
.container{max-width:var(--container-max);margin:0 auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}
.section{padding-top:var(--section-padding);padding-bottom:var(--section-padding)}

/* ===== SECTION LABEL GLASS PILL ===== */
.section-label-pill{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,rgba(183,110,121,0.12),rgba(183,110,121,0.04));backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(183,110,121,0.2);border-radius:100px;padding:8px 22px;margin-bottom:20px;font-size:11px;text-transform:uppercase;letter-spacing:0.15em;color:#b76e79;font-weight:500;box-shadow:0 4px 16px rgba(183,110,121,0.06),inset 0 1px 0 rgba(255,255,255,0.6)}
.section-label-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:#b76e79;box-shadow:0 0 12px rgba(183,110,121,0.5)}

/* ===== ROTATING LIGHT GLASS SYSTEM ===== */
@keyframes glowSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

.glass-glow{position:relative;border-radius:32px;overflow:hidden}
.glass-glow::before{content:'';position:absolute;inset:-2px;z-index:0;border-radius:inherit;background:conic-gradient(from 0deg,transparent 0%,transparent 65%,rgba(255,255,255,0.7) 78%,rgba(255,255,255,0.95) 82%,rgba(255,255,255,0.7) 86%,transparent 95%,transparent 100%);animation:glowSpin 4s linear infinite}
.glass-glow::after{content:'';position:absolute;inset:1.5px;z-index:1;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,0.28),rgba(255,255,255,0.12));backdrop-filter:blur(60px) saturate(200%) brightness(1.1);-webkit-backdrop-filter:blur(60px) saturate(200%) brightness(1.1)}
.glass-glow>*{position:relative;z-index:2}

.glass-glow-dark::before{background:conic-gradient(from 0deg,transparent 0%,transparent 60%,rgba(183,110,121,0.45) 72%,rgba(255,255,255,0.6) 78%,rgba(255,255,255,0.85) 82%,rgba(255,255,255,0.6) 86%,rgba(183,110,121,0.45) 90%,transparent 98%,transparent 100%);animation:glowSpin 5s linear infinite}
.glass-glow-dark::after{background:linear-gradient(135deg,rgba(183,110,121,0.12),rgba(255,255,255,0.04));backdrop-filter:blur(60px) saturate(200%) brightness(1.05);-webkit-backdrop-filter:blur(60px) saturate(200%) brightness(1.05)}

.glass-glow-light::before{background:conic-gradient(from 0deg,transparent 0%,transparent 60%,rgba(183,110,121,0.2) 72%,rgba(255,255,255,0.8) 78%,rgba(255,255,255,1) 82%,rgba(255,255,255,0.8) 86%,rgba(183,110,121,0.2) 90%,transparent 98%,transparent 100%);animation:glowSpin 6s linear infinite}
.glass-glow-light::after{background:linear-gradient(135deg,rgba(255,255,255,0.75),rgba(255,255,255,0.5));backdrop-filter:blur(40px) saturate(200%) brightness(1.05);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(1.05)}

.glass-glow-light:nth-child(2)::before{animation-delay:-2s}
.glass-glow-light:nth-child(3)::before{animation-delay:-4s}

/* Static glass (no animation) */
.glass-3d{background:linear-gradient(135deg,rgba(255,255,255,0.28),rgba(255,255,255,0.12));backdrop-filter:blur(60px) saturate(200%) brightness(1.1);-webkit-backdrop-filter:blur(60px) saturate(200%) brightness(1.1);border:1px solid rgba(255,255,255,0.5);border-top-color:rgba(255,255,255,0.8);box-shadow:0 20px 80px rgba(0,0,0,0.3),0 8px 32px rgba(0,0,0,0.2),inset 0 2px 0 rgba(255,255,255,0.7),inset 0 -2px 4px rgba(0,0,0,0.05)}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;padding:16px 36px;border-radius:100px;transition:all 0.4s var(--ease-out);white-space:nowrap}
.btn-primary{background:var(--charcoal);color:var(--white)}
.btn-primary:hover{background:#333;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.15)}
.btn-primary:active{transform:translateY(0)}

.btn-glow{position:relative;overflow:hidden;border-radius:100px;padding:18px 44px;color:var(--white);background:transparent;z-index:0}
.btn-glow::before{content:'';position:absolute;inset:-2px;z-index:-2;border-radius:inherit;background:conic-gradient(from 0deg,transparent 0%,transparent 60%,rgba(255,255,255,0.6) 76%,rgba(255,255,255,0.95) 82%,rgba(255,255,255,0.6) 88%,transparent 96%,transparent 100%);animation:glowSpin 3s linear infinite}
.btn-glow::after{content:'';position:absolute;inset:1.5px;z-index:-1;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,0.25),rgba(255,255,255,0.08));backdrop-filter:blur(40px) saturate(200%);-webkit-backdrop-filter:blur(40px) saturate(200%)}
.btn-glow:hover{transform:translateY(-3px)}

.btn-glow-light{position:relative;overflow:hidden;border-radius:100px;padding:16px 40px;color:var(--charcoal);background:transparent;z-index:0}
.btn-glow-light::before{content:'';position:absolute;inset:-2px;z-index:-2;border-radius:inherit;background:conic-gradient(from 0deg,transparent 0%,transparent 55%,rgba(183,110,121,0.4) 70%,rgba(255,255,255,0.9) 78%,rgba(255,255,255,1) 82%,rgba(255,255,255,0.9) 86%,rgba(183,110,121,0.4) 92%,transparent 100%);animation:glowSpin 5s linear infinite}
.btn-glow-light::after{content:'';position:absolute;inset:1.5px;z-index:-1;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,0.7),rgba(255,255,255,0.4));backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%)}
.btn-glow-light:hover{transform:translateY(-3px)}

.link-arrow{font-size:13px;text-transform:uppercase;letter-spacing:0.08em;color:var(--gold);font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:gap 0.4s var(--ease-out)}
.link-arrow::after{content:'→';transition:transform 0.4s var(--ease-out)}
.link-arrow:hover{gap:12px}

/* ===== SCROLL REVEAL ===== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.7s var(--ease-out),transform 0.7s var(--ease-out)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-children>*{opacity:0;transform:translateY(24px);transition:opacity 0.7s var(--ease-out),transform 0.7s var(--ease-out)}
.reveal-children.visible>*:nth-child(1){transition-delay:0s}
.reveal-children.visible>*:nth-child(2){transition-delay:.1s}
.reveal-children.visible>*:nth-child(3){transition-delay:.2s}
.reveal-children.visible>*:nth-child(4){transition-delay:.3s}
.reveal-children.visible>*:nth-child(5){transition-delay:.4s}
.reveal-children.visible>*:nth-child(6){transition-delay:.5s}
.reveal-children.visible>*{opacity:1;transform:translateY(0)}

/* ===== COOKIE BANNER ===== */
.cookie-banner{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:9999;background:rgba(26,26,26,0.9);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid rgba(255,255,255,0.15);border-radius:20px;padding:24px 32px;max-width:520px;width:calc(100% - 48px);color:var(--white);box-shadow:0 16px 64px rgba(0,0,0,0.3)}
.cookie-banner[hidden]{display:none}
.cookie-banner__text{font-size:14px;line-height:1.6;color:rgba(255,255,255,0.8);margin-bottom:20px}
.cookie-banner__text a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
.cookie-banner__actions{display:flex;gap:12px}
.cookie-banner__btn{flex:1;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:500;text-align:center;transition:all 0.2s var(--ease-out)}
.cookie-banner__accept{background:var(--white);color:var(--charcoal)}
.cookie-banner__accept:hover{background:var(--cream)}
.cookie-banner__reject{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.8);border:1px solid rgba(255,255,255,0.15)}
.cookie-banner__reject:hover{background:rgba(255,255,255,0.15);color:var(--white)}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
  :root{--section-padding:var(--section-padding-mobile);--container-padding:var(--container-padding-mobile)}
  .cookie-banner{bottom:16px;padding:20px 24px;border-radius:16px}
  .cookie-banner__actions{flex-direction:column}
}

/* ===== FLOATING WHATSAPP BUTTON ===== */
.whatsapp-float{position:fixed;bottom:28px;right:28px;z-index:8000;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(37,211,102,0.4),0 2px 8px rgba(0,0,0,0.15);transition:all 0.3s var(--ease-out);text-decoration:none;}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 32px rgba(37,211,102,0.5),0 4px 12px rgba(0,0,0,0.2);}
.whatsapp-float:active{transform:translateY(-2px) scale(1.02);}
.whatsapp-float::before{content:'';position:absolute;inset:-4px;border-radius:50%;background:rgba(37,211,102,0.3);animation:whatsappPulse 2.5s ease-out infinite;}
@keyframes whatsappPulse{0%{transform:scale(1);opacity:0.8;}100%{transform:scale(1.6);opacity:0;}}
@media(max-width:768px){
  .whatsapp-float{bottom:20px;right:20px;width:52px;height:52px;}
}

/* ===== TAP RIPPLE EFFECT ===== */
.btn, .nav__cta{position:relative;overflow:hidden;}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,0.3);transform:scale(0);animation:rippleAnim 0.6s linear;pointer-events:none;}
@keyframes rippleAnim{to{transform:scale(4);opacity:0;}}

/* ===== CTA BLOCK (global — used on all pages) ===== */
.cta-block{background:#0a0a0a;color:var(--white);position:relative;overflow:hidden;padding:var(--section-padding) var(--container-padding)}
.cta-block::before{content:'';position:absolute;width:700px;height:700px;background:radial-gradient(circle,rgba(183,110,121,0.3),transparent 60%);top:-300px;left:50%;transform:translateX(-50%);pointer-events:none;filter:blur(15px)}
.cta-block::after{content:'';position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(232,200,176,0.15),transparent 60%);bottom:-250px;right:-100px;pointer-events:none;filter:blur(12px)}
.cta-glass-card{position:relative;z-index:1;max-width:660px;margin:0 auto;text-align:center;border-radius:36px;padding:64px 52px;transform:perspective(800px) rotateX(1deg);transition:transform 0.6s var(--ease-out)}
.cta-glass-card:hover{transform:perspective(800px) rotateX(0)}
@media(max-width:768px){
  .cta-glass-card{padding:44px 28px;border-radius:28px;transform:none}
}

/* ===== REDUCED MOTION SUPPORT ===== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}
  .reveal,.reveal-children>*{opacity:1;transform:none;}
  .glass-glow::before,.glass-glow-dark::before,.glass-glow-light::before,.btn-glow::before,.btn-glow-light::before,.nav__cta::before{animation:none;}
  .whatsapp-float::before{animation:none;}
  #scroll-progress{display:none;}
}
