/* Shopify-specific additions on top of base.css */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;padding:10px 16px}
.skip:focus{left:16px;top:16px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ph{width:100%;height:100%;background:var(--tint);fill:#d8c3c9}
.ph.circle{border-radius:50%;aspect-ratio:1}
.slider .ph,.stl-img .ph,.look .big .ph,.col .ph{position:absolute;inset:0;z-index:-1}
.slider .h1{font-size:clamp(52px,8.4vw,132px);line-height:.88;letter-spacing:-.02em}
.slider .slide>img{z-index:0}
.slide-copy{z-index:2}
.slide:after{z-index:1}
.th-link{position:absolute;inset:0;display:block}
.add{display:block;text-align:center}
.nav a[aria-current]{border-color:var(--ink)}
.pay{display:flex;gap:6px;flex-wrap:wrap}
.pay-icon{height:22px;width:auto}

/* ===== eye-catching touches ===== */
/* shimmering sale / new tags */
.tag{background:linear-gradient(110deg,#fff 30%,#fbe3ec 45%,#fff 60%);background-size:250% 100%;animation:shine 3.2s linear infinite;color:var(--berry);font-weight:600}
@keyframes shine{to{background-position:-150% 0}}
/* card lift + glow */
.card .th{transition:box-shadow .4s,transform .4s}
.card:hover .th{box-shadow:0 22px 40px -22px rgba(168,37,90,.55);transform:translateY(-3px)}
.cat img{box-shadow:0 0 0 0 rgba(168,37,90,0);transition:transform .3s,box-shadow .3s}
.cat:hover img{box-shadow:0 0 0 4px var(--bg),0 0 0 6px var(--berry)}
/* buttons */
.btn.dark{position:relative;overflow:hidden}
.btn.dark:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-100%);transition:transform .7s}
.btn.dark:hover:after{transform:translateX(100%)}
/* promo band */
.promo{position:relative;overflow:hidden;background:linear-gradient(120deg,#5e1435,#a8255a 55%,#d4547f);color:#fff;padding-block:84px;isolation:isolate;text-align:center}
.promo-glow{position:absolute;inset:-40%;z-index:-1;background:radial-gradient(circle at 20% 30%,rgba(255,214,231,.45),transparent 28%),radial-gradient(circle at 80% 70%,rgba(255,231,180,.35),transparent 26%);animation:drift 14s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(6%,-4%) rotate(8deg)}}
.promo-in{display:grid;gap:14px;justify-items:center}
.promo .eyebrow{color:#ffd6e7}
.promo h2{font-size:clamp(40px,6vw,86px);line-height:.95}
.promo h2 em{font-style:italic;color:#ffe3a8}
.promo p{margin:0;max-width:46ch;opacity:.92;font-size:17px}
.promo .btn{margin-top:8px}
.promo .btn.light:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
/* sparkle cursor-trail on hero headings */
.slide-copy h1 em,.slide-copy .h1 em{background:linear-gradient(90deg,#f2bfd0,#ffe3a8,#f2bfd0);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
@media (prefers-reduced-motion:reduce){.tag,.promo-glow,.slide-copy h1 em,.slide-copy .h1 em{animation:none}}

/* product page */
.pgal .ph{aspect-ratio:2/3}
.opt{border:0;padding:0;margin:0;display:grid;gap:8px}
.opt legend{margin-bottom:8px}
.sizes label{position:relative}
.sizes input{position:absolute;opacity:0;inset:0;cursor:pointer}
.sizes span{display:inline-block;min-width:46px;padding:9px 12px;border:1px solid var(--line);text-align:center;font-size:13px;background:#fff}
.sizes input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.sizes input:focus-visible+span{outline:2px solid var(--berry);outline-offset:2px}
.pbtns{grid-template-columns:90px 1fr}
.qty-field input{width:100%;height:100%;min-height:46px;border:1px solid var(--line);text-align:center;font:inherit;border-radius:999px;background:#fff}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.perr{color:var(--berry);font-size:14px}
.pinfo .price s{color:var(--muted);font-size:16px;margin-left:6px}
.rte{color:var(--muted);font-size:15px}
.rte p{margin:10px 0}
.rte img{height:auto}
.rte a{text-decoration:underline}

/* collection / search / pages */
.coll-head{padding-block:36px 10px;display:grid;gap:10px}
.coll-head h1{font-size:clamp(36px,5vw,64px);line-height:1}
.coll-desc{max-width:62ch}
.pagination{margin-top:40px;text-align:center;font-size:14px;letter-spacing:.08em}
.pagination .page,.pagination .next,.pagination .prev{display:inline-block;margin:0 4px}
.pagination a,.pagination span{display:inline-block;padding:8px 12px}
.pagination .current{background:var(--ink);color:#fff;border-radius:999px}
.lc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-bottom:56px}
.lc-grid .col{aspect-ratio:4/5}
.search-page-form{display:flex;gap:8px;max-width:620px}
.search-page-form input{flex:1;min-width:0;padding:13px 18px;border:1px solid var(--line);border-radius:999px;font:inherit;background:#fff}
.page-body{max-width:820px;padding-bottom:56px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-bottom:56px}
.post{display:grid;gap:8px}
.post img{aspect-ratio:4/3;object-fit:cover;width:100%}
.post p{margin:0;color:var(--muted);font-size:14px}
.art-img{margin-bottom:24px}

/* cart page */
.cart-lines{display:grid;border-top:1px solid var(--line)}
.cline{display:grid;grid-template-columns:110px 1fr 90px 110px;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.cline img{width:110px;aspect-ratio:2/3;object-fit:cover}
.cline h3{font-family:var(--body);font-size:16px;font-weight:500}
.cqty{width:80px;padding:10px;border:1px solid var(--line);border-radius:999px;text-align:center;font:inherit}
.ctotal,.cprice{font-variant-numeric:tabular-nums}
.ctotal{text-align:right}
.cart-foot{display:grid;gap:12px;max-width:420px;margin:26px 0 56px auto}
.cart-foot textarea{width:100%;border:1px solid var(--line);padding:12px;font:inherit;background:#fff}
.cart-foot .row{display:flex;justify-content:space-between;font-size:18px;font-variant-numeric:tabular-nums}
.cart-btns{display:flex;gap:8px;flex-wrap:wrap}
.cart-btns .btn{flex:1}
.drawer .df a.btn{text-align:center}
.drawer .df a.note{text-decoration:underline}

/* accounts */
.acct{padding-bottom:56px}
.acct h2{font-size:28px;margin:30px 0 12px}
.acct-form{display:grid;gap:10px;max-width:440px}
.acct-form label{display:grid;gap:4px;font-size:13px;color:var(--muted)}
.acct-form input[type=text],.acct-form input[type=email],.acct-form input[type=password],.acct-form input[type=tel]{padding:12px 14px;border:1px solid var(--line);font:inherit;background:#fff;border-radius:4px}
.acct-form .chk{display:flex;gap:8px;align-items:center}
.acct-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.addr{border:1px solid var(--line);padding:18px;background:#fff}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}
.tbl th{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400}
.errors{color:var(--berry);font-size:14px}
.errors ul{margin:0;padding-left:18px}
.news form{position:relative;flex-wrap:wrap}
.news .msg{width:100%}

@media (max-width:860px){
  .lc-grid,.blog-grid,.acct-cols{grid-template-columns:1fr}
  .cline{grid-template-columns:80px 1fr;gap:12px}
  .cline img{width:80px}
  .cline label,.ctotal{grid-column:2}
  .ctotal{text-align:left}
  .cart-foot{margin-left:0}
  .promo{padding-block:60px}
}
