/* A cohesive visual refresh for the customer storefront. */
:root{--store-accent-wash:rgba(183,62,59,.11);--store-shadow:0 22px 70px rgba(22,20,18,.1)}
:root[data-theme="dark"]{--store-accent-wash:rgba(236,130,121,.13);--store-shadow:0 22px 70px rgba(0,0,0,.28)}
:root[data-theme="member"]{--store-accent-wash:rgba(152,104,209,.15);--store-shadow:0 22px 70px rgba(0,0,0,.3)}

.home-page:not(.admin-editing) .announcement,.shop-page .announcement,.product-page .announcement{height:34px;letter-spacing:.16em;font-size:8px}
.home-page:not(.admin-editing) .site-header,.shop-page .site-header,.product-page .site-header{position:sticky;top:0;background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:color-mix(in srgb,var(--line) 76%,transparent)}
.home-page:not(.admin-editing) .brand,.shop-page .brand,.product-page .brand{transition:transform .25s ease}
.home-page:not(.admin-editing) .brand:hover,.shop-page .brand:hover,.product-page .brand:hover{transform:translateY(-1px)}
.home-page:not(.admin-editing) .main-nav a,.shop-page .main-nav a,.product-page .main-nav a{position:relative;padding:9px 0}
.home-page:not(.admin-editing) .main-nav a::after,.shop-page .main-nav a::after,.product-page .main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--ruby);transition:right .22s ease}
.home-page:not(.admin-editing) .main-nav a:hover::after,.shop-page .main-nav a:hover::after,.product-page .main-nav a:hover::after{right:0}
.home-page:not(.admin-editing) .header-actions,.shop-page .header-actions,.product-page .header-actions{gap:clamp(11px,1.8vw,23px)}
.home-page:not(.admin-editing) .search-trigger,.home-page:not(.admin-editing) .cart-trigger,.shop-page .search-trigger,.shop-page .cart-trigger,.product-page .cart-trigger{padding:8px 10px;border:1px solid transparent;border-radius:999px;transition:background .2s,border-color .2s,color .2s}
.home-page:not(.admin-editing) .search-trigger:hover,.home-page:not(.admin-editing) .cart-trigger:hover,.shop-page .search-trigger:hover,.shop-page .cart-trigger:hover,.product-page .cart-trigger:hover{background:var(--white);border-color:var(--line)}

/* Home: cinematic banner, more breathing room, and tactile find cards. */
.home-page:not(.admin-editing) .hero-banner{width:calc(100% - 28px);height:clamp(500px,66vw,690px);min-height:0;margin:14px auto 0;border:1px solid rgba(255,255,255,.16);border-radius:28px;box-shadow:0 28px 90px rgba(0,0,0,.19);isolation:isolate}
.home-page:not(.admin-editing) .hero-art-layer{border-radius:inherit;transform:scale(1.015)}
.home-page:not(.admin-editing) .hero-banner::before{background:linear-gradient(90deg,rgba(4,4,6,.72),rgba(4,4,6,.14) 78%),linear-gradient(0deg,rgba(4,4,6,.54),transparent 62%)}
.home-page:not(.admin-editing) .hero-banner::after{content:"";position:absolute;z-index:1;inset:12px;border:1px solid rgba(255,255,255,.23);border-radius:20px;pointer-events:none}
.home-page:not(.admin-editing) .hero-content{width:min(780px,80%);max-width:780px;padding:0 0 clamp(42px,7vw,76px) clamp(28px,7vw,88px);animation:store-hero-rise .8s .08s both}
.home-page:not(.admin-editing) .hero-content .eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:9px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(10,10,12,.28);backdrop-filter:blur(8px);font-size:8px;letter-spacing:.17em}
.home-page:not(.admin-editing) .hero-content .eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:#f08a80;box-shadow:0 0 14px #f08a80}
.home-page:not(.admin-editing) .hero-banner h1{max-width:800px;font-size:clamp(56px,9vw,112px);line-height:.88;letter-spacing:-.09em;font-weight:620;text-wrap:balance;text-shadow:0 7px 38px rgba(0,0,0,.22)}
.home-page:not(.admin-editing) .hero-banner h1 em{display:inline-block;margin-top:7px;color:#f2a39b;font-style:normal}
.home-page:not(.admin-editing) .hero-banner .button-light{height:49px;min-width:220px;padding:0 19px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:rgba(248,247,243,.96);box-shadow:0 10px 28px rgba(0,0,0,.18);font-size:10px}
.home-page:not(.admin-editing) .hero-banner .button-light:hover{background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.12),0 14px 36px rgba(0,0,0,.25)}
.home-page:not(.admin-editing) .hero-index{top:30px;right:30px;padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(8,8,10,.3);backdrop-filter:blur(8px)}
.home-page:not(.admin-editing) .intro-row{max-width:1450px;margin:auto;padding:clamp(58px,8vw,104px) 8%;align-items:center}
.home-page:not(.admin-editing) .intro-row .eyebrow,.home-page:not(.admin-editing) .section-heading .eyebrow{color:var(--ruby)}
.home-page:not(.admin-editing) .intro-row h2{font-size:clamp(37px,5.3vw,66px);letter-spacing:-.075em}
.home-page:not(.admin-editing) .intro-row>p{max-width:430px;padding-left:21px;border-left:2px solid var(--ruby);font-size:13px;line-height:1.9}
.home-page:not(.admin-editing) .shop-section{padding:clamp(54px,7vw,86px) clamp(20px,6vw,90px) 80px;background:var(--white)}
.home-page:not(.admin-editing) .shop-section>.section-heading,.home-page:not(.admin-editing) .shop-section>.shop-controls,.home-page:not(.admin-editing) .shop-section>.product-grid,.home-page:not(.admin-editing) .shop-section>.empty-state,.home-page:not(.admin-editing) .shop-section>.shop-footnote{max-width:1320px;margin-left:auto;margin-right:auto}
.home-page:not(.admin-editing) .section-heading{margin-bottom:27px}
.home-page:not(.admin-editing) .section-heading h2{font-size:clamp(31px,4vw,48px)}
.home-page:not(.admin-editing) .drop-note{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:8px}
.home-page:not(.admin-editing) .shop-controls{padding:12px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}
.home-page:not(.admin-editing) .product-grid{gap:clamp(13px,2vw,24px)}
.home-page:not(.admin-editing) .product-card,.shop-page .product-card,.product-page .recommendation-card{padding:8px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:19px;background:var(--white);box-shadow:0 7px 24px rgba(18,19,17,.035);transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s,border-color .28s}
.home-page:not(.admin-editing) .product-card:hover,.shop-page .product-card:hover,.product-page .recommendation-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--ruby) 40%,var(--line));box-shadow:var(--store-shadow)}
.home-page:not(.admin-editing) .product-image,.shop-page .product-image,.product-page .recommendation-image{border-radius:13px}
.home-page:not(.admin-editing) .product-meta,.shop-page .product-meta,.product-page .recommendation-card .product-meta{padding:13px 6px 8px}
.home-page:not(.admin-editing) .product-title,.shop-page .product-title{font-size:12px;letter-spacing:-.015em}
.home-page:not(.admin-editing) .product-color,.shop-page .product-color{font-size:9px}
.home-page:not(.admin-editing) .product-badge,.shop-page .product-badge,.product-page .recommendation-image .product-badge{top:13px;left:13px;border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:7px 10px;box-shadow:0 5px 16px rgba(0,0,0,.08);font-size:7px}
.home-page:not(.admin-editing) .quick-add,.shop-page .quick-add{right:12px;bottom:12px;width:42px;height:42px;border:1px solid rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(0,0,0,.12);font-size:21px}
.home-page:not(.admin-editing) .style-file{position:relative;min-height:360px;overflow:hidden;border-block:1px solid var(--line)}
.home-page:not(.admin-editing) .style-copy h2{font-size:clamp(42px,6vw,70px)}
.home-page:not(.admin-editing) .style-signature{padding-top:12px;border-top:1px solid var(--line)}
.home-page:not(.admin-editing) .values-row{min-height:76px;gap:15px}

/* Shop: make the catalog opener and controls feel like a designed collection. */
.shop-page .catalog-intro{position:relative;isolation:isolate;overflow:hidden;padding:clamp(66px,8vw,104px) clamp(24px,8vw,120px) 55px;border-radius:0 0 30px 30px;background:radial-gradient(ellipse at 84% 24%,var(--store-accent-wash),transparent 38%),linear-gradient(145deg,var(--paper),color-mix(in srgb,var(--sand) 58%,var(--paper)));}
.shop-page .catalog-intro::before{content:"";position:absolute;z-index:0;right:7%;top:5%;width:clamp(210px,29vw,360px);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--ruby) 18%,transparent);border-radius:50%;box-shadow:0 0 0 24px color-mix(in srgb,var(--ruby) 3%,transparent),0 0 0 52px color-mix(in srgb,var(--ruby) 2%,transparent);pointer-events:none}
.shop-page .catalog-intro::after{content:none}
.shop-page .catalog-intro>*:not(.catalog-hero-star){position:relative;z-index:1}
.shop-page .catalog-hero-star{position:absolute!important;z-index:1!important;right:clamp(76px,13vw,175px);top:clamp(46px,8vw,92px);width:clamp(112px,16vw,196px);aspect-ratio:1;clip-path:polygon(50% 0%,61% 34%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 34%);background:linear-gradient(145deg,#fff5c3 0%,#f1bd77 24%,#e78992 48%,#b67be8 72%,#7565ee 100%);filter:drop-shadow(0 0 12px rgba(235,190,255,.65)) drop-shadow(0 12px 24px rgba(99,71,169,.28));transform:rotate(9deg);animation:catalog-star-float 5.5s ease-in-out infinite;pointer-events:none}
.shop-page .catalog-intro .eyebrow{color:var(--ruby);font-size:8px;letter-spacing:.2em}
.shop-page .catalog-intro h1{font-size:clamp(58px,9vw,106px);line-height:.87;letter-spacing:-.095em}
.shop-page .catalog-intro h1 em{color:var(--ruby);font-style:normal}
.shop-page .catalog-summary{position:relative;z-index:1;margin-top:26px}
.shop-page .catalog-summary p{font-size:12px;line-height:1.8}
.shop-page .catalog-summary strong{padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:8px;letter-spacing:.12em}
.shop-page .catalog-shop{max-width:1540px;margin:0 auto;padding:46px clamp(20px,6vw,90px) 88px;background:var(--paper)}
.shop-page .catalog-shop .section-heading h2{font-size:clamp(31px,4vw,46px)}
.shop-page .catalog-shop .shop-controls{padding:10px 12px;border:1px solid var(--line);border-radius:999px;background:var(--white)}
.shop-page .category{padding:9px 14px;border-radius:999px}
.shop-page .category.active{background:var(--ink);box-shadow:0 5px 15px rgba(0,0,0,.12)}
.shop-page .filters{padding-right:9px}
.shop-page .sort-label select{padding:5px 4px}
.shop-page .product-grid{gap:clamp(13px,2vw,24px)}
.shop-page .shop-footnote{padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--white)}

/* Product: a framed gallery and focused purchase panel. */
.product-page .product-detail-main{max-width:1380px;padding:clamp(27px,5vw,64px) clamp(20px,6vw,88px) 86px;background:radial-gradient(ellipse at 13% 27%,var(--store-accent-wash),transparent 34%)}
.product-page .product-breadcrumb{width:max-content;max-width:100%;margin-bottom:25px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:9px}
.product-page .product-detail{grid-template-columns:minmax(0,1.05fr) minmax(320px,.82fr);gap:clamp(30px,6vw,86px)}
.product-page .product-photo-panel{border:1px solid color-mix(in srgb,var(--line) 74%,transparent);border-radius:25px;box-shadow:0 20px 64px rgba(0,0,0,.11);isolation:isolate}
.product-page .product-photo-panel::before{width:68%;border-width:1px;opacity:.12}
.product-page .product-photo-panel img{padding:9%;filter:drop-shadow(0 20px 24px rgba(0,0,0,.14))}
.product-page .gallery-arrow{width:43px;height:43px;border:1px solid rgba(255,255,255,.65);background:color-mix(in srgb,var(--paper) 88%,transparent);box-shadow:0 7px 23px rgba(0,0,0,.11);backdrop-filter:blur(8px);transition:transform .2s,background .2s,color .2s}
.product-page .gallery-arrow:hover{transform:scale(1.08);background:var(--ruby);color:white}
.product-page .gallery-counter{right:17px;bottom:17px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(8px)}
.product-page .gallery-pagination{gap:8px;margin-top:14px}
.product-page .gallery-dot{width:8px;height:8px;border:1px solid var(--ruby);background:transparent;transition:width .2s,background .2s}
.product-page .gallery-dot.active{width:24px;border-radius:999px;background:var(--ruby)}
.product-page .gallery-caption{padding-left:3px;font-size:7px;letter-spacing:.16em}
.product-page .product-information{padding:clamp(23px,4vw,42px);border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--white) 94%,transparent);box-shadow:0 15px 50px rgba(18,19,17,.055)}
.product-page .product-information .eyebrow{display:inline-flex;margin:0 0 15px;padding:8px 10px;border-radius:999px;background:var(--store-accent-wash);color:var(--ruby);font-size:8px}
.product-page .product-information h1{font-size:clamp(40px,5.5vw,68px);letter-spacing:-.085em}
.product-page .product-detail-price{display:flex;align-items:center;gap:11px;margin:19px 0 16px;font-size:23px}
.product-page .product-description{font-size:12px;line-height:1.9}
.product-page .product-stock-note{margin:19px 0;padding:13px 2px;font-size:9px}
.product-page .product-variant-selectors{max-width:none;gap:12px;margin:18px 0 6px}
.product-page .product-variant-selectors select{height:44px;border-radius:10px;padding-inline:12px}
.product-page .product-quantity-control{border-radius:11px;background:var(--paper);overflow:hidden}
.product-page .product-quantity-control button{border-radius:8px}
.product-page .product-add-button{width:100%;height:54px;border-radius:12px;background:linear-gradient(110deg,var(--ink),color-mix(in srgb,var(--ink) 76%,var(--ruby)));box-shadow:0 9px 25px rgba(0,0,0,.12)}
.product-page .product-add-button:hover{background:var(--ruby)}
.product-page .product-detail-note{font-size:8px}
.product-page .recommendation-section{max-width:1250px;margin:70px auto 0;padding:30px clamp(20px,5vw,54px) 0}
.product-page .recommendation-card{padding:7px}
.product-page .recommendation-image{border-radius:14px}

/* Account: a warmer welcome and a clearer sign-in card. */
.account-page{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 7% 19%,var(--store-accent-wash),transparent 34%),var(--paper)}
.account-page::before{content:"";position:absolute;z-index:-1;top:80px;left:max(-130px,calc((100vw - 1250px)/2 - 150px));width:340px;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--ruby) 19%,transparent);border-radius:50%;box-shadow:0 0 0 28px color-mix(in srgb,var(--ruby) 3%,transparent),0 0 0 60px color-mix(in srgb,var(--ruby) 2%,transparent);pointer-events:none}
.account-page .account-header{position:relative;z-index:1;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(14px);border-bottom-color:color-mix(in srgb,var(--line) 80%,transparent)}
.account-page .account-main{position:relative;z-index:1;max-width:1240px;padding-top:clamp(55px,9vw,108px);padding-bottom:clamp(64px,10vw,120px);gap:clamp(40px,8vw,120px)}
.account-page .account-intro .eyebrow{display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:.2em}
.account-page .account-intro .eyebrow::before{content:"✳";display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--store-accent-wash);font-size:14px}
.account-page .account-intro h1{font-size:clamp(51px,7vw,88px);line-height:.91;letter-spacing:-.095em}
.account-page .account-intro h1 em{display:inline-block;margin-top:6px}
.account-page .account-intro>p:last-child{max-width:355px;font-size:12px;line-height:1.9}
.account-page .account-card{position:relative;overflow:hidden;padding:clamp(25px,4vw,44px);border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:22px;background:color-mix(in srgb,var(--white) 95%,transparent);box-shadow:var(--store-shadow)}
.account-page .account-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,var(--ruby),color-mix(in srgb,var(--ruby) 18%,white),var(--ruby),transparent)}
.account-page .account-card-heading .eyebrow{color:var(--ruby);font-size:8px;letter-spacing:.18em}
.account-page .account-card-heading h2{font-size:clamp(27px,3.4vw,39px);letter-spacing:-.075em}
.account-page .account-card-heading>p:last-child{font-size:10px;line-height:1.8}
.account-page .auth-tabs{gap:28px}
.account-page .auth-tab{font-size:10px}
.account-page .account-form input{height:48px;padding-inline:13px;border-radius:10px;background:var(--paper);transition:border-color .2s,box-shadow .2s,background .2s}
.account-page .account-form input:focus{border-color:var(--ruby);box-shadow:0 0 0 4px var(--store-accent-wash);background:var(--white)}
.account-page .account-form>.button{height:51px;border-radius:11px;background:linear-gradient(105deg,var(--ink),color-mix(in srgb,var(--ink) 77%,var(--ruby)));box-shadow:0 9px 24px rgba(0,0,0,.12)}
.account-page .account-form>.button:hover{background:var(--ruby);box-shadow:0 12px 30px var(--store-accent-wash)}
.account-page .forgot-panel{padding:20px 17px 2px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--paper) 70%,transparent)}
.account-page .policy-footer{position:relative;z-index:1;background:transparent}

@keyframes store-hero-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes catalog-star-float{0%,100%{transform:translateY(0) rotate(9deg)}50%{transform:translateY(-9px) rotate(17deg)}}
@media(max-width:760px){
  .home-page:not(.admin-editing) .hero-banner{width:calc(100% - 18px);height:min(68svh,570px);min-height:430px;margin-top:9px;border-radius:21px}
  .home-page:not(.admin-editing) .hero-banner::after{inset:8px;border-radius:15px}
  .home-page:not(.admin-editing) .hero-content{width:92%;padding:0 0 36px 7%}
  .home-page:not(.admin-editing) .hero-banner h1{font-size:clamp(54px,12vw,82px)}
  .home-page:not(.admin-editing) .intro-row{gap:20px;padding:55px 7%}
  .home-page:not(.admin-editing) .intro-row>p{font-size:12px}
  .home-page:not(.admin-editing) .shop-section{padding:52px 5% 61px}
  .shop-page .catalog-intro{padding:57px 7% 38px;border-radius:0 0 23px 23px}
  .shop-page .catalog-intro h1{font-size:clamp(54px,11vw,82px)}
  .shop-page .catalog-hero-star{right:9%;top:15%;width:clamp(88px,17vw,132px)}
  .shop-page .catalog-shop{padding:34px 5% 60px}
  .shop-page .catalog-shop .shop-controls{border-radius:18px}
  .product-page .product-detail-main{padding:24px 5% 62px}
  .product-page .product-detail{grid-template-columns:1fr;gap:19px}
  .product-page .product-photo-panel{aspect-ratio:.92}
  .product-page .product-information{padding:25px 21px}
  .product-page .product-information h1{font-size:clamp(40px,10vw,58px)}
  .product-page .recommendation-section{margin-top:50px;padding-inline:0}
  .account-page .account-main{padding-top:43px;gap:25px}
  .account-page .account-intro h1{font-size:clamp(49px,11vw,72px)}
}
@media(max-width:600px){
  .home-page:not(.admin-editing) .hero-banner{min-height:390px;height:70svh;max-height:520px}
  .home-page:not(.admin-editing) .hero-content{padding-bottom:29px}
  .home-page:not(.admin-editing) .hero-content .eyebrow{font-size:7px;letter-spacing:.12em;padding:8px 10px}
  .home-page:not(.admin-editing) .hero-banner h1{font-size:clamp(48px,12.5vw,70px)}
  .home-page:not(.admin-editing) .hero-banner .button-light{min-width:194px;height:45px}
  .home-page:not(.admin-editing) .hero-index{right:17px;top:16px;font-size:7px}
  .home-page:not(.admin-editing) .intro-row h2{font-size:39px}
  .home-page:not(.admin-editing) .shop-section>.shop-controls{border-radius:16px;align-items:stretch}
  .home-page:not(.admin-editing) .drop-note{max-width:100%;font-size:7px}
  .home-page:not(.admin-editing) .style-file{min-height:320px;padding:44px 7%}
  .home-page:not(.admin-editing) .values-row{min-height:70px}
  .shop-page .catalog-summary strong{font-size:7px}
  .shop-page .catalog-shop .section-heading{align-items:flex-start}
  .shop-page .catalog-shop .shop-controls{border-radius:16px}
  .product-page .product-information{border-radius:18px}
  .account-page .account-main{padding:37px 5% 59px}
  .account-page .account-card{padding:26px 19px;border-radius:18px}
}
@media(prefers-reduced-motion:reduce){.home-page:not(.admin-editing) .hero-content,.shop-page .catalog-hero-star{animation:none}.home-page:not(.admin-editing) .product-card,.shop-page .product-card,.product-page .recommendation-card,.home-page:not(.admin-editing) .brand,.shop-page .brand,.product-page .brand{transition:none}}

/* High contrast product gallery controls in every storefront theme. */
body.product-page .product-photo-panel .gallery-arrow{width:46px;height:46px;border:2px solid #fff!important;background:#fff!important;color:#17131d!important;box-shadow:0 0 0 3px rgba(18,14,24,.58),0 9px 25px rgba(0,0,0,.28)!important;opacity:1!important;font-size:30px;font-weight:650;text-shadow:none!important;backdrop-filter:none;transition:transform .2s,background-color .2s,color .2s,box-shadow .2s}
body.product-page .product-photo-panel .gallery-arrow:hover{transform:translateY(-50%) scale(1.09);border-color:#fff!important;background:var(--ruby)!important;color:#fff!important;box-shadow:0 0 0 4px rgba(255,255,255,.65),0 10px 28px rgba(0,0,0,.32)!important}
body.product-page .product-photo-panel .gallery-arrow:focus-visible{outline:3px solid var(--ruby);outline-offset:5px}
body.product-page .product-photo-panel .gallery-arrow:disabled{opacity:.72!important}
body.product-page .product-photo-panel .gallery-counter{right:17px;bottom:17px;min-width:68px;padding:9px 12px;border:2px solid #fff!important;border-radius:999px;background:rgba(18,14,24,.96)!important;color:#fff!important;box-shadow:0 0 0 3px rgba(18,14,24,.6),0 7px 21px rgba(0,0,0,.3);font-size:10px;font-weight:750;letter-spacing:.13em;text-align:center;text-shadow:none!important;backdrop-filter:none}

/* Profile: a more polished account dashboard that follows the active theme. */
.profile-page{background:radial-gradient(ellipse at 9% 10%,var(--store-accent-wash),transparent 34%),var(--paper)}
.profile-page .account-header{position:sticky;top:0;z-index:8;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom-color:color-mix(in srgb,var(--line) 78%,transparent)}
.profile-main{max-width:1320px;padding-top:clamp(38px,6vw,72px);padding-bottom:clamp(60px,8vw,100px)}
.profile-welcome{position:relative;isolation:isolate;overflow:hidden;min-height:214px;margin-bottom:30px;padding:clamp(27px,4.8vw,52px);border:1px solid color-mix(in srgb,var(--ruby) 25%,var(--line));border-radius:24px;background:linear-gradient(118deg,color-mix(in srgb,var(--white) 96%,var(--ruby)),color-mix(in srgb,var(--paper) 87%,var(--ruby)));box-shadow:var(--store-shadow)}
.profile-welcome::before{content:"";position:absolute;z-index:-1;right:7%;top:50%;width:150px;aspect-ratio:1;transform:translateY(-50%);border:1px solid color-mix(in srgb,var(--ruby) 24%,transparent);border-radius:50%;box-shadow:0 0 0 17px color-mix(in srgb,var(--ruby) 5%,transparent),0 0 0 35px color-mix(in srgb,var(--ruby) 4%,transparent),inset 0 0 40px color-mix(in srgb,var(--ruby) 8%,transparent)}
.profile-welcome::after{content:"✦";position:absolute;right:calc(7% + 52px);top:50%;transform:translateY(-55%) rotate(-10deg);color:var(--ruby);font-size:48px;line-height:1;text-shadow:0 0 28px color-mix(in srgb,var(--ruby) 42%,transparent);animation:profile-mark-float 4.5s ease-in-out infinite}
.profile-welcome .eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 15px;color:var(--ruby);font-size:8px;font-weight:750;letter-spacing:.2em}
.profile-welcome .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ruby);box-shadow:0 0 13px color-mix(in srgb,var(--ruby) 65%,transparent)}
.profile-welcome h1{max-width:760px;font-size:clamp(42px,7vw,76px);line-height:.96;letter-spacing:-.09em;font-weight:620}
.profile-welcome>p:last-child{position:relative;z-index:1;font-size:12px;line-height:1.7;margin-top:13px}
.profile-layout{grid-template-columns:minmax(190px,235px) minmax(0,1fr);gap:clamp(20px,3vw,42px)}
.profile-sidebar{top:98px;padding:17px 13px 13px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--white) 94%,transparent);box-shadow:0 12px 35px rgba(15,14,13,.055)}
.profile-sidebar>.eyebrow{padding:0 9px;font-size:8px;font-weight:750;letter-spacing:.17em}
.profile-sidebar nav{gap:5px}
.profile-tab{position:relative;min-height:46px;padding:0 12px;border-radius:11px;font-size:10px}
.profile-tab::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--ruby);transform:scaleY(0);transition:transform .2s}
.profile-tab:hover,.profile-tab.active{background:var(--store-accent-wash);color:var(--ink)}
.profile-tab.active::before{transform:scaleY(1)}
.profile-signout{width:calc(100% - 8px);margin:13px 4px 0;padding:15px 9px 3px;text-align:left}
.profile-content{display:grid;gap:18px}
.profile-panel{position:relative;isolation:isolate;overflow:hidden;min-height:370px;padding:clamp(23px,3.2vw,38px);border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--white) 95%,transparent);box-shadow:0 14px 42px rgba(15,14,13,.055)}
.profile-panel::before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,var(--ruby),color-mix(in srgb,var(--ruby) 24%,var(--white)),transparent)}
.profile-panel>.eyebrow{font-size:8px;font-weight:750;letter-spacing:.17em}
.profile-panel h2{margin-bottom:20px;font-size:clamp(30px,4.2vw,42px);font-weight:620}
.profile-empty{min-height:235px;align-items:flex-start;justify-content:center;padding:27px;border:1px dashed color-mix(in srgb,var(--ruby) 34%,var(--line));border-radius:15px;background:linear-gradient(135deg,var(--store-accent-wash),transparent 70%)}
.profile-empty>span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:17px;border:1px solid color-mix(in srgb,var(--ruby) 32%,var(--line));border-radius:50%;background:var(--white);font-size:18px;box-shadow:0 5px 18px var(--store-accent-wash)}
.profile-empty h3{font-size:21px;font-weight:620}
.profile-empty p{font-size:11px}
.profile-empty .text-button{display:inline-flex;align-items:center;gap:16px;padding:12px 15px;border:1px solid var(--line);border-radius:10px;background:var(--white);text-decoration:none}
.profile-order-list{display:grid;gap:10px}
.profile-order-list>*{border:1px solid var(--line);border-radius:13px;background:var(--paper)}
.rewards-dashboard{gap:15px}
.rewards-card{position:relative;overflow:hidden;padding:22px;border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:0 8px 24px rgba(15,14,13,.035)}
.rewards-card>.eyebrow{font-size:8px;font-weight:750;letter-spacing:.16em}
.rewards-points-card{background:linear-gradient(145deg,color-mix(in srgb,var(--white) 78%,var(--ruby)),var(--paper) 78%)}
.rewards-points-card::after{content:"✦";position:absolute;right:18px;top:16px;color:color-mix(in srgb,var(--ruby) 55%,transparent);font-size:24px}
.rewards-points-total{font-size:clamp(46px,6vw,68px);line-height:1;letter-spacing:-.07em}
.rewards-member-card{border-color:color-mix(in srgb,var(--ruby) 33%,var(--line));background:linear-gradient(145deg,var(--store-accent-wash),var(--paper) 72%)}
.rewards-card h3{font-size:19px;letter-spacing:-.045em}
.rewards-card .button{min-height:45px;border-radius:10px}
.rewards-card select{min-height:43px;border-radius:9px;background:var(--white)}
.rewards-rule,.membership-status,.rewards-redemption-status{line-height:1.7}
.rewards-theme-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(110deg,var(--paper),var(--store-accent-wash))}
.profile-page .account-form input{min-height:45px;border-radius:9px;background:var(--paper)}
.profile-page .account-form input:focus{border-color:var(--ruby);box-shadow:0 0 0 4px var(--store-accent-wash)}
.profile-page .account-form .button,.profile-page .payment-add-button{min-height:44px;border-radius:10px}
.profile-page .payment-methods{max-width:none;padding:22px 0 0}
.profile-page .sample-card,.profile-page .card-entry-preview,.profile-page .payment-empty{border-radius:12px}
.profile-page .policy-footer{background:transparent}
@keyframes profile-mark-float{0%,100%{transform:translateY(-55%) rotate(-10deg)}50%{transform:translateY(-68%) rotate(8deg)}}
@media(max-width:760px){.profile-layout{grid-template-columns:1fr;gap:17px}.profile-sidebar{top:auto;padding:12px;border-radius:15px}.profile-sidebar>.eyebrow{margin:0 0 9px}.profile-sidebar nav{gap:6px}.profile-tab{min-height:42px}.profile-signout{width:auto;min-height:40px;padding:10px 9px 0;margin:8px 4px 0}.profile-content{gap:14px}.profile-welcome{min-height:190px}.profile-welcome::before{right:-16px;width:120px}.profile-welcome::after{right:27px;font-size:38px}}
@media(max-width:600px){.profile-welcome{min-height:174px;padding:25px 21px;border-radius:19px}.profile-welcome h1{max-width:82%;font-size:clamp(42px,11vw,59px)}.profile-welcome>p:last-child{max-width:78%;font-size:10px}.profile-welcome::before{right:-42px;width:105px}.profile-welcome::after{right:9px;font-size:31px}.profile-sidebar{padding:10px}.profile-sidebar nav{gap:3px}.profile-tab{min-height:39px;padding:0 9px;font-size:9px}.profile-panel{min-height:300px;padding:23px 18px;border-radius:17px}.profile-panel h2{font-size:31px}.profile-empty{padding:21px}.rewards-card{padding:19px;border-radius:14px}.rewards-dashboard{gap:11px}}
@media(prefers-reduced-motion:reduce){.profile-welcome::after{animation:none}.profile-tab,.profile-tab::before{transition:none}}

/* Brief confirmation when points are exchanged for a discount. */
.rewards-points-card.is-redeeming,.rewards-redemption-card.is-redeeming{border-color:var(--ruby);box-shadow:0 0 0 4px var(--store-accent-wash),0 15px 42px rgba(15,14,13,.12);animation:reward-card-confirm .9s ease both}
.rewards-points-card.is-redeeming .rewards-points-total{animation:reward-points-confirm .8s cubic-bezier(.2,.8,.25,1) both}
.rewards-points-card.is-redeeming::after{animation:reward-star-confirm 1s ease both}
.rewards-redemption-card.is-redeeming::after{content:"✓";position:absolute;top:17px;right:18px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ruby);color:#fff;font-size:17px;font-weight:750;box-shadow:0 0 0 5px var(--store-accent-wash),0 0 24px color-mix(in srgb,var(--ruby) 45%,transparent);animation:reward-check-confirm .65s cubic-bezier(.2,1.5,.4,1) both}
@keyframes reward-card-confirm{0%{transform:scale(1)}35%{transform:scale(1.012)}100%{transform:scale(1)}}
@keyframes reward-points-confirm{0%{transform:scale(1);filter:brightness(1)}35%{transform:scale(1.12);filter:brightness(1.28)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes reward-star-confirm{0%{transform:scale(.5) rotate(-40deg);opacity:.35}45%{transform:scale(1.5) rotate(18deg);opacity:1}100%{transform:scale(1) rotate(0);opacity:.9}}
@keyframes reward-check-confirm{0%{transform:scale(.1) rotate(-30deg);opacity:0}70%{transform:scale(1.18) rotate(6deg);opacity:1}100%{transform:scale(1) rotate(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.rewards-points-card.is-redeeming,.rewards-redemption-card.is-redeeming,.rewards-points-card.is-redeeming .rewards-points-total,.rewards-points-card.is-redeeming::after,.rewards-redemption-card.is-redeeming::after{animation:none}}
