:root{
  --color-primary:#a33f6b!important;
  --color-primary-dark:#712b4c!important;
  --color-primary-soft:#f1d6e1!important;
  --color-accent:#d98b47!important;
  --color-bg:#f1e2df!important;
  --color-surface:#fffaf8!important;
  --color-surface-soft:#f6e8e4!important;
  --color-text:#342327!important;
  --color-muted:#755f65!important;
  --color-border:#e7ced0!important;
  --shadow-soft:0 22px 60px rgba(112,42,72,.13)!important;
  --shadow-card:0 12px 34px rgba(112,42,72,.10)!important;
}

*{box-sizing:border-box}
html{background:#ead8d5;overflow-x:hidden;scroll-behavior:smooth}
body{
  min-height:100vh;
  overflow-x:hidden;
  color:var(--color-text)!important;
  background:
    radial-gradient(circle at 10% 8%,rgba(209,86,128,.15),transparent 28%),
    radial-gradient(circle at 90% 24%,rgba(224,147,77,.13),transparent 24%),
    linear-gradient(180deg,#f2e4e1 0%,#f7ece9 45%,#ecdcda 100%)!important;
}
body::before,body::after{content:"";position:fixed;z-index:-1;border-radius:999px;pointer-events:none;opacity:.45}
body::before{width:220px;height:220px;right:-90px;top:22vh;background:radial-gradient(circle,rgba(193,70,111,.20),transparent 68%);animation:aliceFloat 10s ease-in-out infinite}
body::after{width:250px;height:250px;left:-110px;bottom:10vh;background:radial-gradient(circle,rgba(221,151,75,.16),transparent 70%);animation:aliceFloat 12s ease-in-out infinite reverse}

img,video{max-width:100%;height:auto}
main,section,.container{min-width:0}
.container{margin-inline:auto}

.site-header{background:rgba(248,238,235,.92)!important;border-color:rgba(159,63,103,.08)!important;box-shadow:0 8px 28px rgba(83,35,54,.05);backdrop-filter:blur(16px) saturate(1.08)}
.site-header.scrolled{background:rgba(249,241,238,.97)!important;box-shadow:0 14px 36px rgba(89,39,58,.12)!important}
.announcement-bar{background:linear-gradient(90deg,#702846,#a34369,#c47753)!important;color:#fff!important}

.button,.btn-primary,.primary-button,.checkout-button,.add-to-cart,.submit-button,button[type="submit"]{
  border-radius:999px!important;
}
.btn-primary,.primary-button,.checkout-button,.add-to-cart,.submit-button,button[type="submit"]{
  background:linear-gradient(135deg,#9f3f67,#c15a7d 58%,#d58b48)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(159,63,103,.22)!important;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease!important;
}
.btn-primary:hover,.primary-button:hover,.checkout-button:hover,.add-to-cart:hover,.submit-button:hover,button[type="submit"]:hover{transform:translateY(-2px);filter:saturate(1.06);box-shadow:0 18px 34px rgba(159,63,103,.27)!important}

.card,.product-card,.review-card,.category-card,.feature-card,.account-content-card,.summary-card,.cart-item,.checkout-card,.gift-card,.routine-card,.gallery-card,.article-card,.faq-item,.content-card{
  background:linear-gradient(145deg,rgba(255,252,250,.99),rgba(250,237,234,.96))!important;
  color:var(--color-text)!important;
  border-color:rgba(159,63,103,.13)!important;
  box-shadow:var(--shadow-card)!important;
}
.card *,.product-card *,.review-card *,.category-card *,.feature-card *,.content-card *{text-shadow:none}
.card p,.card small,.card label,.card span,.product-card p,.product-card small,.review-card p,.review-card small{color:inherit}
.muted{color:var(--color-muted)!important}

.section-title,.section-heading h2,.page-hero h1,.hero-copy h1,.hero h1{
  background:linear-gradient(90deg,#6f2948,#a74369,#d58b48);
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
}

.product-card,.review-card,.category-card,.gallery-card,.article-card{transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease!important}
@media(hover:hover){
  .product-card:hover,.review-card:hover,.category-card:hover,.gallery-card:hover,.article-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(111,41,72,.15)!important;border-color:rgba(159,63,103,.24)!important}
  .product-card img,.gallery-card img{transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .32s ease!important}
  .product-card:hover img,.gallery-card:hover img{transform:scale(1.035);filter:saturate(1.07)}
}

.alice-reveal{opacity:0;filter:blur(3px);transform:translate3d(0,30px,0) scale(.988);transition:opacity .68s ease,transform .78s cubic-bezier(.18,.78,.2,1),filter .62s ease;transition-delay:var(--alice-delay,0ms)}
.alice-reveal[data-alice-dir="right"]{transform:translate3d(42px,0,0) scale(.992)}
.alice-reveal[data-alice-dir="left"]{transform:translate3d(-42px,0,0) scale(.992)}
.alice-reveal[data-alice-dir="zoom"]{transform:scale(.93)}
.alice-reveal.is-visible{opacity:1;filter:none;transform:none}
.alice-stagger>*{opacity:0;transform:translateY(20px);transition:opacity .56s ease,transform .66s cubic-bezier(.18,.78,.2,1);transition-delay:calc(var(--alice-index,0) * 70ms)}
.alice-stagger.is-visible>*{opacity:1;transform:none}

html.alice-page-enter body{opacity:0;transform:translate3d(0,8px,0) scale(.998)}
html.alice-page-enter.alice-page-ready body{opacity:1;transform:none;transition:opacity .38s ease,transform .48s cubic-bezier(.2,.8,.2,1)}
html.alice-page-leaving body{opacity:0!important;transform:translate3d(0,-6px,0) scale(.998)!important;transition:opacity .24s ease,transform .28s ease!important;pointer-events:none}
html::after{content:"";position:fixed;inset:0;z-index:999999;pointer-events:none;opacity:0;background:linear-gradient(135deg,rgba(159,63,103,.08),rgba(213,139,72,.06));transition:opacity .24s ease}
html.alice-page-leaving::after{opacity:1}

@keyframes aliceFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-14px,0)}}

/* Desktop polish */
@media(min-width:769px){
  .product-grid{gap:22px!important}
  .reviews-grid,.reviews-horizontal-track{gap:18px!important}
  .story-grid,.hero-grid,.gift-layout,.review-layout,.checkout-layout,.cart-layout{align-items:start}
}

/* Full mobile responsive pass */
@media(max-width:768px){
  :root{--radius-large:22px;--radius-medium:17px}
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .container{width:calc(100% - 24px)!important;max-width:none!important;padding-inline:0!important}
  .announcement-bar{font-size:11px!important;line-height:1.4!important;padding:7px 12px!important;min-height:30px!important}

  .header-inner{min-height:64px!important;padding:8px 0!important;gap:6px!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important}
  .brand-logo,.header-centered-logo{width:46px!important;height:46px!important;min-width:46px!important;justify-self:center!important}
  .brand-logo img,.header-centered-logo img{width:46px!important;height:46px!important;object-fit:cover!important}
  .header-actions{gap:4px!important;min-width:0!important}
  .icon-button,.cart-button,.mobile-menu-button{width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;border-radius:50%!important}

  .hero-section,.hero,.page-hero{padding:34px 0 38px!important;min-height:auto!important}
  .hero-grid,.story-grid,.gift-layout,.review-layout,.product-detail-grid,.product-detail,.checkout-layout,.cart-layout,.routine-layout,.contact-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
  .hero-copy,.story-copy{text-align:right!important}
  .hero-copy h1,.hero h1,.page-hero h1{font-size:clamp(30px,9vw,42px)!important;line-height:1.17!important;margin-bottom:14px!important}
  .hero-copy p,.hero p,.page-hero p{font-size:14px!important;line-height:1.85!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .hero-actions .button{width:100%!important;justify-content:center!important}
  .hero-visual{min-height:auto!important}
  .hero-image-card{width:100%!important;max-width:100%!important;min-height:0!important;padding:10px!important;border-radius:24px!important}
  .hero-image-card img,.image-placeholder{width:100%!important;max-height:420px!important;object-fit:cover!important;border-radius:18px!important}
  .floating-note{position:static!important;display:inline-flex!important;margin-top:8px!important;max-width:100%!important}

  section,.section,.page-section{padding:42px 0!important}
  .section-heading,.section-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:12px!important;margin-bottom:20px!important}
  .section-heading h2,.section-title,.section-head h2{font-size:clamp(24px,7vw,31px)!important;line-height:1.25!important}
  .section-heading .text-link,.section-head .text-link{font-size:12px!important;white-space:nowrap!important}

  /* Home trust cards */
  .trust-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .trust-grid article{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;padding:16px!important;border:1px solid rgba(159,63,103,.12)!important;border-radius:18px!important;background:rgba(255,250,248,.92)!important;box-shadow:0 10px 26px rgba(112,42,72,.07)!important}
  .trust-grid article+article{border-inline-start:1px solid rgba(159,63,103,.12)!important}
  .trust-icon{width:42px!important;height:42px!important;display:grid!important;place-items:center!important;border-radius:14px!important;background:var(--color-primary-soft)!important;color:var(--color-primary-dark)!important}
  .trust-grid h3{font-size:15px!important;margin:0 0 4px!important}
  .trust-grid p{font-size:12px!important;line-height:1.7!important;margin:0!important}

  /* Home categories */
  .category-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .category-card{min-height:150px!important;border-radius:18px!important;overflow:hidden!important}

  /* Product grids */
  body[data-page="products"] .product-grid,
  body[data-page="wishlist"] .product-grid,
  body[data-page="product"] .product-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important}
  body:not([data-page]) .featured-section .product-grid,
  body[data-page="gift"] .product-grid,
  body[data-page="cart"] .empty-cart-products{
    display:flex!important;flex-wrap:nowrap!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;padding:4px 2px 14px!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;direction:rtl!important;
  }
  body:not([data-page]) .featured-section .product-grid::-webkit-scrollbar,
  body[data-page="gift"] .product-grid::-webkit-scrollbar,
  body[data-page="cart"] .empty-cart-products::-webkit-scrollbar{display:none}
  body:not([data-page]) .featured-section .product-grid>.product-card,
  body[data-page="gift"] .product-grid>.product-card,
  body[data-page="cart"] .empty-cart-products>.product-card{flex:0 0 min(74vw,280px)!important;max-width:280px!important;scroll-snap-align:start!important}

  .product-card{min-width:0!important;border-radius:18px!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
  .product-card img,.product-card .product-image img{width:100%!important;aspect-ratio:1/1!important;object-fit:cover!important}
  .product-card .product-info,.product-card .product-content,.product-card-content,.card-content{padding:12px!important;min-width:0!important}
  .product-card h3,.product-title{font-size:14px!important;line-height:1.45!important;min-height:40px!important;overflow-wrap:anywhere!important}
  .product-card p{font-size:12px!important;line-height:1.55!important}
  .product-price,.price-row{font-size:14px!important;gap:5px!important;flex-wrap:wrap!important}
  .product-actions{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;margin-top:auto!important}
  .product-actions .button,.product-actions button,.product-actions a{width:100%!important;min-width:0!important;padding:10px 8px!important;font-size:11px!important;justify-content:center!important}

  /* Story and routine */
  .story-grid{gap:16px!important}
  .story-visual,.story-placeholder{width:100%!important;min-height:0!important;border-radius:22px!important;overflow:hidden!important}
  .story-placeholder img,.story-visual img{width:100%!important;max-height:360px!important;object-fit:cover!important}
  .story-copy{padding:4px 2px!important}
  .story-copy h2{font-size:28px!important;line-height:1.3!important}
  .story-copy p{font-size:14px!important;line-height:1.9!important}
  .routine-card{padding:22px 18px!important;border-radius:22px!important;text-align:right!important;min-height:0!important}
  .routine-card h2{font-size:26px!important;line-height:1.35!important;color:var(--color-text)!important}
  .routine-card p{font-size:14px!important;line-height:1.85!important;color:var(--color-muted)!important}
  .routine-card .button{width:100%!important;justify-content:center!important}

  /* Reviews */
  .reviews-grid,.reviews-horizontal-track{
    display:flex!important;flex-wrap:nowrap!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;padding:4px 2px 14px!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;direction:rtl!important;animation:none!important;transform:none!important;
  }
  .reviews-grid::-webkit-scrollbar,.reviews-horizontal-track::-webkit-scrollbar{display:none}
  .reviews-grid>article,.reviews-horizontal-track>article,.reviews-horizontal-track .public-review{
    flex:0 0 min(82vw,310px)!important;max-width:310px!important;min-height:230px!important;aspect-ratio:auto!important;scroll-snap-align:start!important;border-radius:20px!important;padding:18px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;overflow:hidden!important;color:var(--color-text)!important;
  }
  .review-stars{font-size:15px!important;letter-spacing:1px!important;white-space:nowrap!important}
  .public-review p,.review-card p{font-size:14px!important;line-height:1.8!important;overflow-wrap:anywhere!important;color:var(--color-text)!important}
  .public-review strong,.review-card strong{font-size:14px!important;color:var(--color-text)!important}
  body[data-page="reviews"] .review-layout{gap:16px!important}
  body[data-page="reviews"] .review-summary,body[data-page="reviews"] .review-form-card{padding:20px!important;border-radius:20px!important}
  body[data-page="reviews"] .public-reviews{overflow:visible!important}

  /* Newsletter */
  .newsletter-card{padding:22px 18px!important;border-radius:22px!important}
  .newsletter-card h2{font-size:27px!important;line-height:1.25!important}
  .newsletter-form{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .newsletter-form input,.newsletter-form .button{width:100%!important}

  /* Routine page */
  body[data-page="routine"] .page-section{padding-top:24px!important}
  body[data-page="routine"] .quiz-shell{padding:20px 16px!important;border-radius:22px!important;width:100%!important}
  body[data-page="routine"] .form-grid{display:grid!important;grid-template-columns:1fr!important;gap:13px!important}
  body[data-page="routine"] .field{min-width:0!important}

  /* Gift page */
  body[data-page="gift"] .gift-layout{gap:18px!important}
  body[data-page="gift"] .gift-summary{position:static!important;width:100%!important;padding:18px 16px!important;border-radius:22px!important}
  body[data-page="gift"] .gift-wrap-image{width:100%!important;max-height:240px!important;object-fit:contain!important;border-radius:18px!important}
  body[data-page="gift"] .selected-products{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  body[data-page="gift"] .selected-product{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:10px!important;align-items:center!important}
  body[data-page="gift"] .field,body[data-page="gift"] input,body[data-page="gift"] select,body[data-page="gift"] textarea{width:100%!important;max-width:100%!important;min-width:0!important}

  /* Cart / checkout */
  .cart-layout,.checkout-layout{gap:16px!important}
  .cart-item{display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;gap:12px!important;padding:12px!important;border-radius:18px!important}
  .cart-item img{width:82px!important;height:94px!important;object-fit:cover!important;border-radius:14px!important}
  .summary-card,.checkout-card,.content-card{width:100%!important;min-width:0!important;padding:18px 15px!important;border-radius:20px!important}
  .summary-row{gap:12px!important;font-size:13px!important}
  .checkout-items{max-width:100%!important;overflow:hidden!important}
  .form-grid,.checkout-form-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .field,.field.full{grid-column:auto!important;min-width:0!important}
  input,select,textarea{width:100%!important;max-width:100%!important;min-width:0!important;font-size:16px!important}
  .delivery-choice-panel,.points-payment-box{padding:14px!important;border-radius:18px!important}
  .delivery-choice-head,.points-payment-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .delivery-choice-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .delivery-choice-actions .button{width:100%!important;padding-inline:8px!important}

  /* Product detail */
  body[data-page="product"] .product-detail{gap:18px!important}
  body[data-page="product"] .product-gallery,body[data-page="product"] .product-info{width:100%!important;min-width:0!important}
  body[data-page="product"] .detail-actions{display:grid!important;grid-template-columns:1fr 48px 48px!important;gap:8px!important;align-items:stretch!important}
  body[data-page="product"] .detail-actions>*{min-width:0!important}

  /* Toolbar */
  .toolbar,.filter-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .filter-chip{width:100%!important;min-width:0!important}

  /* Footer */
  .site-footer{padding:34px 0 18px!important}
  .footer-grid{display:grid!important;grid-template-columns:1fr!important;gap:20px!important;text-align:right!important}
  .footer-grid>div{min-width:0!important}
  .footer-brand{justify-content:flex-start!important}
  .footer-grid h3,.footer-grid h4{font-size:14px!important;margin-bottom:8px!important}
  .footer-grid a,.footer-grid p{font-size:12px!important;line-height:1.7!important}
  .footer-bottom{display:flex!important;flex-direction:column!important;gap:8px!important;text-align:center!important;padding-top:14px!important}

  /* Dialogs and drawers */
  .modal,.dialog,.search-panel,.drawer,.side-menu,.mobile-menu,.admin-modal,.account-search-card{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;margin:auto!important;border-radius:20px!important}
  .main-navigation{width:min(330px,88vw)!important;max-width:88vw!important}

  /* Account */
  .account-main,.account-stage{width:100%!important;max-width:100%!important;min-width:0!important}
  .account-content-card,.account-panel,.account-order{width:100%!important;min-width:0!important}
  .account-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}

  /* Mobile animation distance only — no layout changes */
  .alice-reveal{filter:blur(1.5px);transform:translate3d(0,20px,0) scale(.994);transition-duration:.56s,.66s,.5s}
  .alice-reveal[data-alice-dir="right"]{transform:translate3d(22px,0,0) scale(.995)}
  .alice-reveal[data-alice-dir="left"]{transform:translate3d(-22px,0,0) scale(.995)}
  .alice-reveal[data-alice-dir="zoom"]{transform:scale(.96)}
}

@media(max-width:420px){
  .container{width:calc(100% - 18px)!important}
  body[data-page="products"] .product-grid,body[data-page="wishlist"] .product-grid,body[data-page="product"] .product-grid{gap:8px!important}
  .product-card .product-info,.product-card .product-content,.product-card-content{padding:10px!important}
  .product-card h3,.product-title{font-size:13px!important;min-height:38px!important}
  .product-actions .button,.product-actions button,.product-actions a{font-size:10.5px!important;padding:9px 6px!important}
  .reviews-grid>article,.reviews-horizontal-track>article,.reviews-horizontal-track .public-review{flex-basis:86vw!important;min-height:220px!important}
  .hero-copy h1,.hero h1,.page-hero h1{font-size:31px!important}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .alice-reveal,.alice-stagger>*{opacity:1!important;transform:none!important;filter:none!important}
  html.alice-page-enter body,html.alice-page-enter.alice-page-ready body,html.alice-page-leaving body{opacity:1!important;transform:none!important}
  html::after{display:none!important}
}
