@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

:root{--gc-rose:#91514e;--gc-dusty:#cf938f;--gc-espresso:#362012;--gc-cream:#fcf4f2;--gc-line:#eadbd5;--gc-white:#fff;--gc-shadow:0 24px 70px rgba(77,41,27,.12)}

/* ===== base section rhythm (matches gracefulcrowns.com) ===== */
.gc-section{padding:96px 24px;color:var(--gc-espresso);font-family:"DM Sans",sans-serif}
.gc-shell{width:min(1200px,100%);margin-inline:auto}

/* ===== announcement marquee (motion) ===== */
.gc-marquee{background:var(--gc-espresso);overflow:hidden}
.gc-marquee-inner{overflow:hidden}
.gc-marquee-track{display:flex;width:max-content;white-space:nowrap;margin:0;padding:11px 0;color:#fdece9;font:600 12px/1 "DM Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;animation:gcMarquee 20s linear infinite}
.gc-marquee-track span{padding-right:8px}
@keyframes gcMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.gc-marquee-track{animation:none}}

/* ===== hero ===== */
.gc-hero{padding-top:56px;background:radial-gradient(circle at 80% 20%,#f5ded9 0,transparent 35%),linear-gradient(135deg,#fff 0%,var(--gc-cream) 100%);overflow:hidden}
.gc-hero-grid,.gc-nail-grid,.gc-story-grid{display:flex;align-items:center;gap:64px}
.gc-hero-copy,.gc-hero-visual,.gc-nail-copy,.gc-nail-gallery,.gc-story-copy,.gc-story-visual{flex:1;min-width:0}
.gc-eyebrow .elementor-heading-title{font:600 13px/1.3 "DM Sans",sans-serif!important;letter-spacing:.22em;text-transform:uppercase;color:var(--gc-rose)!important}
.gc-hero-title .elementor-heading-title{font:600 clamp(45px,5.6vw,78px)/1.02 "Playfair Display",serif!important;color:var(--gc-espresso)!important;letter-spacing:-.035em}
.gc-section-title .elementor-heading-title{font:600 clamp(36px,4vw,58px)/1.08 "Playfair Display",serif!important;color:var(--gc-espresso)!important;letter-spacing:-.025em}
.gc-lead,.gc-section-intro,.gc-story-text{font-size:18px;line-height:1.8;color:#765f54}
.gc-story-text p+p{margin-top:20px}
.gc-actions{display:flex!important;gap:14px;margin-top:26px;flex-wrap:wrap}

/* ===== buttons: shine sweep + lift on hover ===== */
.gc-btn-primary .elementor-button,.gc-btn-outline .elementor-button,.gc-btn-light .elementor-button{position:relative;overflow:hidden;padding:16px 25px!important;border-radius:999px!important;font-weight:700!important;transition:transform .25s ease,box-shadow .25s ease!important;isolation:isolate}
.gc-btn-primary .elementor-button{background:var(--gc-rose)!important;color:#fff!important;border:1px solid var(--gc-rose)!important}
.gc-btn-outline .elementor-button{background:transparent!important;color:var(--gc-rose)!important;border:1px solid var(--gc-rose)!important}
.gc-btn-light .elementor-button{background:#fff!important;color:var(--gc-rose)!important}
.gc-btn-primary .elementor-button:hover,.gc-btn-outline .elementor-button:hover,.gc-btn-light .elementor-button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(145,81,78,.25)}
.gc-btn-primary .elementor-button::after,.gc-btn-outline .elementor-button::after,.gc-btn-light .elementor-button::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .55s ease;z-index:1}
.gc-btn-primary .elementor-button:hover::after,.gc-btn-outline .elementor-button:hover::after,.gc-btn-light .elementor-button:hover::after{left:120%}

.gc-stats{display:flex!important;gap:28px;margin-top:34px;padding-top:28px;border-top:1px solid var(--gc-line)}
.gc-stat p{margin:0}.gc-stat strong{display:block;font:700 21px "Playfair Display",serif;color:var(--gc-espresso)}.gc-stat span{display:block;font-size:12px;color:#8d7468;margin-top:4px}

/* ===== hero image + floating rating badge (motion) ===== */
.gc-hero-visual{position:relative}
.gc-hero-image img{width:100%;height:min(650px,68vw);object-fit:cover;border-radius:48% 48% 24px 24px;box-shadow:var(--gc-shadow);border:10px solid rgba(255,255,255,.88);transition:transform .5s ease}
.gc-hero-visual:hover .gc-hero-image img{transform:scale(1.02) rotate(.4deg)}
.gc-float-badge{position:absolute;left:-18px;bottom:56px;background:#fff;padding:14px 20px;border-radius:16px;box-shadow:var(--gc-shadow);animation:gcFloat 4.5s ease-in-out infinite;max-width:190px}
.gc-float-badge p{margin:0}.gc-float-badge strong{display:block;font:700 18px "Playfair Display",serif;color:var(--gc-rose)}.gc-float-badge span{display:block;font-size:11.5px;color:#8d7468;margin-top:2px}
@keyframes gcFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media(max-width:900px){.gc-float-badge{left:12px;bottom:16px}}

/* ===== usp strip ===== */
.gc-usp-section{padding-block:28px;background:#fff;border-block:1px solid var(--gc-line)}
.gc-usp-grid{display:flex!important;gap:18px}.gc-usp{flex:1;transition:transform .25s ease}.gc-usp:hover{transform:translateY(-4px)}.gc-usp p{margin:0;padding:18px}.gc-usp strong{display:block;font-family:"Playfair Display",serif;font-size:18px}.gc-usp span{display:block;color:#8a7468;font-size:13px;margin-top:6px;line-height:1.5}

/* ===== shop grid ===== */
.gc-shop,.gc-reviews{background:#fff;text-align:center}.gc-section-intro{max-width:720px;margin:0 auto 42px}.gc-products{text-align:left;margin-top:36px}.gc-centered-btn{margin-top:34px}
.gc-products ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.gc-products ul.products:before,.gc-products ul.products:after{display:none!important}
.gc-products ul.products li.product{width:auto!important;margin:0!important;padding:0 0 20px!important;border:1px solid var(--gc-line);border-radius:20px;overflow:hidden;background:#fff;transition:transform .3s ease,box-shadow .3s ease}
.gc-products ul.products li.product:hover{transform:translateY(-6px);box-shadow:var(--gc-shadow)}
.gc-products ul.products li.product img{aspect-ratio:1/1.12;object-fit:cover;margin:0 0 18px!important;transition:transform .5s ease}
.gc-products ul.products li.product:hover img{transform:scale(1.06)}
.gc-products .woocommerce-loop-product__title,.gc-products .price,.gc-products .button{margin-left:18px!important;margin-right:18px!important}
.gc-products .woocommerce-loop-product__title{font-family:"Playfair Display",serif!important;color:var(--gc-espresso)!important}
.gc-products .price{color:var(--gc-rose)!important}
.gc-products .button{border-radius:999px!important;background:var(--gc-rose)!important;color:#fff!important;transition:transform .2s ease,box-shadow .2s ease!important}
.gc-products .button:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(145,81,78,.3)}

/* ===== nail art ===== */
.gc-nails{background:var(--gc-cream)}.gc-nail-gallery{display:grid!important;grid-template-columns:1fr 1fr;gap:16px}.gc-nail-img-main{grid-column:1/-1}
.gc-nail-img{overflow:hidden;border-radius:20px}
.gc-nail-img img{width:100%;height:230px;object-fit:cover;border-radius:20px;transition:transform .5s ease}
.gc-nail-img:hover img{transform:scale(1.07)}
.gc-nail-img-main img{height:330px}

/* ===== our story ===== */
.gc-story{background:#fff}.gc-story-img{overflow:hidden;border-radius:28px 48% 28px 48%}
.gc-story-img img{width:100%;height:650px;object-fit:cover;border-radius:28px 48% 28px 48%;box-shadow:var(--gc-shadow);transition:transform .6s ease}
.gc-story-img:hover img{transform:scale(1.04)}

/* ===== reviews ===== */
.gc-reviews-grid{display:flex!important;gap:22px;margin-top:42px}
.gc-review{flex:1;text-align:left;padding:30px;border:1px solid var(--gc-line);border-radius:20px;background:var(--gc-cream);transition:transform .3s ease,box-shadow .3s ease}
.gc-review:hover{transform:translateY(-6px);box-shadow:var(--gc-shadow)}
.gc-review blockquote{margin:0 0 24px;font:italic 600 20px/1.55 "Playfair Display",serif;color:var(--gc-espresso)}

/* ===== final CTA ===== */
.gc-cta{padding-block:74px;background:var(--gc-rose);text-align:center;color:#fff}
.gc-cta-inner{align-items:center}
.gc-cta-title .elementor-heading-title{font:600 clamp(36px,4vw,58px)/1.1 "Playfair Display",serif!important;color:#fff!important}
.gc-cta-text{font-size:18px;color:#f8eae7;margin-bottom:20px}

/* ===== scroll-reveal (JS adds .gc-reveal then .gc-visible) ===== */
.gc-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.gc-reveal.gc-visible{opacity:1;transform:none}

/* ===== responsive ===== */
@media(max-width:900px){
  .gc-section{padding:72px 20px}
  .gc-hero-grid,.gc-nail-grid,.gc-story-grid{flex-direction:column!important;gap:40px}
  .gc-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gc-usp-grid,.gc-reviews-grid{flex-wrap:wrap}
  .gc-usp,.gc-review{flex:1 1 45%}
  .gc-story-img img{height:520px}
}
@media(max-width:600px){
  .gc-section{padding:58px 16px}
  .gc-hero-title .elementor-heading-title{font-size:43px!important}
  .gc-actions,.gc-stats,.gc-usp-grid,.gc-reviews-grid{flex-direction:column!important}
  .gc-products ul.products{grid-template-columns:1fr}
  .gc-nail-gallery{grid-template-columns:1fr}
  .gc-nail-img-main{grid-column:auto}
  .gc-nail-img img,.gc-nail-img-main img{height:300px}
  .gc-story-img img{height:460px}
  .gc-hero-image img{height:520px}
  .gc-review{width:100%}
}

/* ===== respect reduced-motion preference ===== */
@media(prefers-reduced-motion:reduce){
  .gc-float-badge{animation:none}
  .gc-hero-visual:hover .gc-hero-image img,.gc-products ul.products li.product:hover img,.gc-nail-img:hover img,.gc-story-img:hover img{transform:none}
}
