.store-header {
  position: sticky; top: 0; z-index: 50; height: 96px; padding: 0 clamp(1rem,5vw,5rem);
  display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 1rem;
  background: transparent; border-bottom: 0;
  backdrop-filter: none;
}
.store-header a,.store-footer a { color: rgba(var(--theme-accent-rgb),.7); transition: color .2s; }
.store-header a:hover,.store-footer a:hover { color: var(--theme-accent); }
.store-header > a { color: var(--theme-accent); }
.store-brand { justify-self: start; }
.store-brand img { width: auto; height: 4.5rem; object-fit: contain; }
.store-brand span { white-space: nowrap; }
.store-nav {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: .35rem;
  padding: .45rem .55rem;
  border: 1px solid rgba(var(--theme-accent-rgb),.12);
  border-radius: 999px;
  background: rgba(var(--theme-accent-rgb),.075);
  box-shadow: inset 0 1px 1px rgba(var(--theme-accent-rgb),.12),0 12px 34px rgba(var(--theme-shadow-rgb),.28);
  backdrop-filter: blur(16px);
  overflow: visible;
}
.store-nav-link { position: relative; display: inline-flex; align-items: center; gap: .45rem; padding: .55rem 1rem; border-radius: 999px; font-size: .875rem; line-height: 1; transition: color .2s,background .2s,transform .2s; }
.store-nav-link:hover { color: var(--theme-accent); background: rgba(var(--theme-accent-rgb),.055); transform: translateY(-1px); }
.store-nav-link svg { width: 1.05rem; height: 1.05rem; stroke-width: 1.8; flex: none; }
.store-nav-form { margin: 0; }
.store-nav-button { color: rgba(var(--theme-accent-rgb),.7); font-weight: 700; }
.store-header-actions { grid-column: 4; justify-self: end; display: flex; align-items: center; gap: .6rem; }
.store-menu-button { display: none; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(var(--theme-accent-rgb),.12); border-radius: 999px; background: rgba(var(--theme-accent-rgb),.075); box-shadow: inset 0 1px 1px rgba(var(--theme-accent-rgb),.12),0 12px 34px rgba(var(--theme-shadow-rgb),.28); backdrop-filter: blur(16px); color: rgba(var(--theme-accent-rgb),.78); transition: color .2s,background .2s,transform .2s; }
.store-menu-button:hover { color: var(--theme-accent); background: rgba(var(--theme-accent-rgb),.12); transform: translateY(-1px); }
.store-menu-button svg { width: 1.2rem; height: 1.2rem; }
.store-mobile-menu { position: sticky; top: 96px; z-index: 45; margin: 0 clamp(1rem,5vw,5rem); padding: .45rem; border: 1px solid rgba(var(--theme-accent-rgb),.14); border-radius: 1rem; background: rgba(var(--theme-shadow-rgb),.96); box-shadow: 0 18px 40px rgba(var(--theme-shadow-rgb),.42); backdrop-filter: blur(16px); }
.store-mobile-menu[hidden] { display: none; }
.store-mobile-link { width: 100%; display: flex; align-items: center; gap: .7rem; padding: .85rem .95rem; border-radius: .75rem; color: rgba(var(--theme-accent-rgb),.78); font-size: .95rem; font-weight: 700; }
.store-mobile-link:hover { color: var(--theme-accent); background: rgba(var(--theme-accent-rgb),.07); }
.store-mobile-link svg { width: 1.1rem; height: 1.1rem; flex: none; }
.store-mobile-count { margin-left: auto; min-width: 1.45rem; height: 1.45rem; padding: 0 .35rem; display: grid; place-items: center; border-radius: 999px; background: var(--theme-accent); color: var(--theme-black); font-size: .72rem; font-weight: 800; }
.store-mobile-logout-form { margin: .25rem 0 0; padding-top: .25rem; border-top: 1px solid rgba(var(--theme-accent-rgb),.1); }
.store-main { min-height: calc(100vh - 180px); }
.store-wrap { width: min(1180px,calc(100% - 2rem)); margin: auto; padding: 4rem 0 6rem; }
.store-narrow { width: min(760px,calc(100% - 2rem)); margin: auto; padding: 4rem 0 6rem; }
.store-eyebrow { color: rgba(var(--theme-accent-rgb),.68); font-size: .72rem; letter-spacing: .25em; text-transform: uppercase; font-weight: 700; }
.store-title { font-size: clamp(2.5rem,7vw,5.5rem); line-height: .98; letter-spacing: -.04em; margin: 1rem 0; }
.store-title em { font-family: "Instrument Serif",serif; font-weight: 400; }
.store-subtitle { color: rgba(var(--theme-accent-rgb),.68); max-width: 650px; line-height: 1.8; }
.store-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; margin-top: 3.5rem; }
.product-card { border-radius: 1.25rem; padding: 1.25rem; transition: transform .3s,box-shadow .3s,background .3s; }
.product-card:hover { transform: translateY(-7px); background: rgba(var(--theme-accent-rgb),.025); box-shadow: 0 20px 50px rgba(var(--theme-shadow-rgb),.5),0 0 24px rgba(var(--theme-accent-rgb),.08); }
.product-art { height: 240px; border-radius: 1rem; display: grid; place-items: center; margin-bottom: 1.25rem; overflow: hidden; background: radial-gradient(circle,rgba(var(--theme-accent-rgb),.11),rgba(var(--theme-accent-rgb),.015) 58%,transparent); border: 1px solid rgba(var(--theme-accent-rgb),.08); }
.product-art img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease, filter .5s ease; }
.product-card:hover .product-art img { transform: scale(1.045); filter: brightness(1.08) contrast(1.04); }
.product-detail-wrap { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2.5rem,5vw,4rem); align-items: center; }
.product-detail-art { height: min(500px,58vh); margin-bottom: 0; }
.product-image-button { width: 100%; height: 100%; display: grid; place-items: center; cursor: zoom-in; }
.product-detail-art img { width: 100%; height: 100%; margin: auto; object-fit: contain; }
.product-image-lightbox { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: clamp(1rem,4vw,2rem); background: rgba(var(--theme-shadow-rgb),.86); backdrop-filter: blur(10px); }
.product-image-lightbox-open { overflow: hidden; }
.product-image-lightbox[hidden] { display: none; }
.product-image-lightbox__backdrop { position: absolute; inset: 0; cursor: zoom-out; }
.product-image-lightbox__panel { position: relative; z-index: 1; width: min(1100px,100%); height: min(820px,92vh); display: grid; place-items: center; }
.product-image-lightbox__panel img { max-width: 100%; max-height: 100%; object-fit: contain; }
.product-image-lightbox__close { position: absolute; top: 0; right: 0; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(var(--theme-accent-rgb),.18); border-radius: 99px; background: rgba(var(--theme-accent-rgb),.08); color: var(--theme-accent); }
.product-image-lightbox__close svg { width: 1.15rem; height: 1.15rem; }
.product-back-wrap { width: min(1180px,calc(100% - 2rem)); margin: 0 auto -2rem; padding-top: 2rem; }
.product-back-button { display: inline-flex; align-items: center; gap: .65rem; padding: .75rem 1rem; border: 1px solid rgba(255,255,255,.18); border-radius: .7rem; background: rgba(var(--theme-accent-rgb),.055); box-shadow: inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(var(--theme-accent-rgb),.16); color: var(--theme-accent); font-size: .72rem; font-weight: 800; letter-spacing: .1em; transition: color .2s,background .2s,border-color .2s,transform .2s; }
.product-back-button:hover { color: var(--theme-black); background: var(--theme-accent); border-color: var(--theme-accent); transform: translateY(-2px); }
.product-back-button svg { width: 1rem; height: 1rem; }
.shop-back-button { margin-bottom: 2rem; }
.product-meta { color: rgba(var(--theme-accent-rgb),.6); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
.product-name { font-size: 1.15rem; font-weight: 600; margin: .45rem 0; }
.product-description { color: rgba(var(--theme-accent-rgb),.68); font-size: .875rem; line-height: 1.65; min-height: 4.3em; }
.product-bottom { display: grid; gap: 1rem; margin-top: 1.2rem; }
.product-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.product-card-actions .store-button { width: 100%; min-height: 52px; padding-inline: .85rem; white-space: nowrap; }
.price { font-size: 1.1rem; font-weight: 700; }
.store-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid rgba(255,255,255,.18); border-radius: .7rem; padding: .8rem 1.2rem; background: var(--theme-accent); color: var(--theme-black); box-shadow: inset 0 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(var(--theme-accent-rgb),.24); font-size: .78rem; font-weight: 700; transition: transform .2s,box-shadow .2s,opacity .2s,border-color .2s; }
.store-button:hover { transform: scale(1.025); box-shadow: 0 0 26px rgba(var(--theme-accent-rgb),.17); }
.store-button:disabled { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }
.store-button-dark { background: rgba(var(--theme-accent-rgb),.05); color: var(--theme-accent); border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(var(--theme-accent-rgb),.18); }
.shop-filter-form { width: min(920px,100%); display: grid; grid-template-columns: minmax(260px,1fr) minmax(190px,260px) auto auto; align-items: end; gap: .75rem; margin-top: 2rem; }
.shop-filter-form label { display: grid; gap: .45rem; color: rgba(var(--theme-accent-rgb),.58); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.shop-filter-form > .store-button { box-sizing: border-box; height: 52px; min-height: 52px; align-self: end; padding-top: 0; padding-bottom: 0; }
.shop-search-field > div { display: grid; grid-template-columns: 1rem minmax(0,1fr); align-items: center; gap: .7rem; min-height: 52px; padding: 0 1rem; border: 1px solid rgba(var(--theme-accent-rgb),.16); border-radius: .8rem; background: rgba(var(--theme-accent-rgb),.045); }
.shop-search-field svg { width: 1rem; height: 1rem; color: rgba(var(--theme-accent-rgb),.58); }
.shop-search-field input,.shop-category-field select { box-sizing: border-box; width: 100%; height: 52px; min-height: 52px; color: var(--theme-accent); outline: none; }
.shop-search-field input { background: transparent; letter-spacing: 0; font-weight: 600; }
.shop-search-field input::placeholder { color: rgba(var(--theme-accent-rgb),.34); letter-spacing: 0; font-weight: 600; }
.shop-category-field select { padding: 0 1rem; border: 1px solid rgba(var(--theme-accent-rgb),.16); border-radius: .8rem; background: var(--theme-black); letter-spacing: 0; font-weight: 600; }
.shop-empty-message { grid-column: 1/-1; padding: 2rem; border: 1px solid rgba(var(--theme-accent-rgb),.14); border-radius: 1rem; color: rgba(var(--theme-accent-rgb),.62); background: rgba(var(--theme-accent-rgb),.035); }
.store-panel { border-radius: 1.4rem; padding: clamp(1.25rem,4vw,2.25rem); }
.store-form { display: grid; gap: 1rem; }
.store-form label { display: grid; gap: .45rem; font-size: .8rem; color: rgba(var(--theme-accent-rgb),.74); }
.store-form input,.store-form select,.store-form textarea {
  width: 100%; border: 1px solid rgba(var(--theme-accent-rgb),.13); background: rgba(var(--theme-accent-rgb),.04);
  border-radius: .7rem; padding: .85rem 1rem; color: var(--theme-accent); outline: none;
}
.store-form input:focus,.store-form select:focus,.store-form textarea:focus { border-color: rgba(var(--theme-accent-rgb),.45); }
.store-form option { background: var(--theme-midnight); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.stepper { display: flex; gap: .75rem; margin-bottom: 2rem; }
.step { flex: 1; color: rgba(var(--theme-accent-rgb),.45); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; border-top: 2px solid rgba(var(--theme-accent-rgb),.28); padding-top: .7rem; }
.step.active { color: var(--theme-accent); border-color: var(--theme-accent); }
.summary-row { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid rgba(var(--theme-accent-rgb),.08); }
.summary-row.total { font-size: 1.2rem; font-weight: 700; border-bottom: 0; }
.cart-link { display: inline-flex; gap: .45rem; align-items: center; }
.cart-icon-wrap { position: relative; display: inline-flex; }
.cart-count { position: absolute; top: -.65rem; right: -.7rem; min-width: 1.15rem; height: 1.15rem; padding: 0 .2rem; border-radius: 99px; background: var(--theme-accent); color: var(--theme-black); display: grid; place-items: center; font-size: .62rem; line-height: 1; font-weight: 800; box-shadow: 0 0 14px rgba(var(--theme-accent-rgb),.2); }
.cart-count.is-popping,.store-mobile-count.is-popping { animation: cart-badge-pop .45s cubic-bezier(.2,1.7,.35,1); }
@keyframes cart-badge-pop { 0% { transform: scale(1); } 45% { transform: scale(1.55); } 100% { transform: scale(1); } }
.summary-layout { display: grid; gap: 2.5rem; align-items: start; }
.summary-layout > :first-child { align-self: start; }
.summary-panel { position: sticky; top: 96px; align-self: start; margin: 0; }
.cart-layout { grid-template-columns: minmax(0,1fr) 360px; }
.checkout-layout { grid-template-columns: minmax(0,1fr) 380px; }
.cart-items-panel { align-self: start; }
.cart-item { display: grid; grid-template-columns: 104px minmax(0,1fr) auto; gap: 1.4rem; align-items: center; padding: 1.5rem 0; border-bottom: 1px solid rgba(var(--theme-accent-rgb),.1); }
.cart-item:first-child { padding-top: 0; }
.cart-item:last-child { border-bottom: 0; padding-bottom: 0; }
.cart-product-image { width: 104px; height: 104px; border-radius: .85rem; overflow: hidden; display: block; background: rgba(var(--theme-accent-rgb),.04); border: 1px solid rgba(var(--theme-accent-rgb),.1); }
.cart-product-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.cart-product-image:hover img { transform: scale(1.06); }
.cart-product-info { min-width: 0; }
.cart-item-actions { display: flex; align-items: center; justify-content: flex-end; gap: .65rem; }
.cart-delete-button { width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(248,113,113,.26); border-radius: .8rem; color: #fecaca; background: rgba(127,29,29,.16); transition: color .2s,background .2s,border-color .2s,transform .2s; }
.cart-delete-button:hover { color: var(--theme-accent); background: rgba(127,29,29,.32); border-color: rgba(248,113,113,.48); transform: translateY(-1px); }
.cart-delete-button svg { width: .95rem; height: .95rem; }
.cart-line-price { display: block; margin-top: 1rem; font-size: 1rem; }
.quantity-stepper { display: inline-grid; grid-template-columns: 44px 54px 44px; align-items: center; height: 52px; border: 1px solid rgba(var(--theme-accent-rgb),.16); border-radius: .8rem; overflow: hidden; background: rgba(var(--theme-accent-rgb),.035); }
.quantity-button { height: 100%; display: grid; place-items: center; font-size: 1.35rem; color: var(--theme-accent); transition: background .2s,color .2s; }
.quantity-button:hover:not(:disabled) { background: var(--theme-accent); color: var(--theme-black); }
.quantity-button:disabled { color: rgba(var(--theme-accent-rgb),.2); cursor: not-allowed; }
.quantity-value { display: grid; place-items: center; height: 100%; border-left: 1px solid rgba(var(--theme-accent-rgb),.1); border-right: 1px solid rgba(var(--theme-accent-rgb),.1); font-weight: 600; }
.quantity-stepper.is-updating { pointer-events: none; opacity: .65; }
.product-purchase-form { display: grid; gap: .9rem; }
.product-quantity-stepper { display: grid; grid-template-columns: 52px 64px 52px; width: max-content; height: 54px; border: 1px solid rgba(var(--theme-accent-rgb),.16); border-radius: .8rem; overflow: hidden; background: rgba(var(--theme-accent-rgb),.035); }
.product-price-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .6rem; }
.product-detail-price { font-size: 1.875rem; line-height: 1.1; font-weight: 800; }
.product-stock-note { margin-top: .4rem; color: rgba(var(--theme-accent-rgb),.5); font-size: .875rem; }
.product-purchase-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: .55rem; }
.product-purchase-form[aria-busy="true"] { opacity: .7; }
.store-flash { position: fixed; z-index: 80; top: 94px; left: 50%; transform: translateX(-50%); padding: .8rem 1.1rem; border-radius: .7rem; color: var(--theme-accent); background: var(--theme-midnight); border: 1px solid rgba(var(--theme-accent-rgb),.2); box-shadow: 0 10px 30px var(--theme-black); opacity: 1; transition: opacity .3s ease,transform .3s ease; }
.store-flash.is-hiding { opacity: 0; transform: translate(-50%,-8px); }
.store-flash-error { background: #310e0e; }
.store-form.is-submitting { pointer-events: none; }
.button-spinner { width: 1rem; height: 1rem; border: 2px solid rgba(var(--theme-shadow-rgb),.25); border-top-color: var(--theme-black); border-radius: 999px; animation: button-spin .75s linear infinite; }
@keyframes button-spin { to { transform: rotate(360deg); } }
.store-footer { border-top: 1px solid rgba(var(--theme-accent-rgb),.1); padding: 2.5rem clamp(1rem,5vw,5rem); display: flex; justify-content: space-between; gap: 2rem; color: rgba(var(--theme-accent-rgb),.55); font-size: .8rem; }
.marketing-navbar { background: rgba(var(--theme-shadow-rgb),.72); border-bottom: 1px solid rgba(var(--theme-accent-rgb),.08); backdrop-filter: blur(16px); }
.service-detail { width: min(1240px,calc(100% - 2rem)); margin: auto; padding: 9rem 0 7rem; }
.service-detail__hero { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(2rem,5vw,5rem); align-items: center; }
.service-detail__visual { min-width: 0; }
.service-detail__image { position: relative; overflow: hidden; min-height: 580px; border: 1px solid rgba(var(--theme-accent-rgb),.14); border-radius: 1.5rem; background: var(--theme-black); }
.service-detail__image::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg,transparent 50%,rgba(var(--theme-shadow-rgb),.42)); }
.service-detail__image img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.service-detail__back { display: inline-flex; align-items: center; gap: .65rem; margin-bottom: 1.25rem; padding: .8rem 1.05rem; border: 1px solid rgba(255,255,255,.18); border-radius: .75rem; color: var(--theme-accent); background: rgba(var(--theme-accent-rgb),.075); box-shadow: inset 0 1px 0 rgba(255,255,255,.06),0 8px 24px rgba(var(--theme-shadow-rgb),.3),0 0 0 1px rgba(var(--theme-accent-rgb),.16); font-size: .72rem; font-weight: 800; letter-spacing: .12em; transition: color .2s,background .2s,border-color .2s,transform .2s; }
.service-detail__back:hover { color: var(--theme-black); background: var(--theme-accent); border-color: var(--theme-accent); transform: translateY(-2px); }
.service-detail__back svg { width: 1rem; height: 1rem; }
.service-detail__icon { width: 4.5rem; height: 4.5rem; display: grid; place-items: center; margin-bottom: 2rem; border: 1px solid rgba(var(--theme-accent-rgb),.16); border-radius: 1.25rem; background: rgba(var(--theme-accent-rgb),.05); }
.service-detail__icon svg { width: 2rem; height: 2rem; }
.service-detail__intro h1 { margin: 1rem 0 1.5rem; font-size: clamp(3rem,6vw,5.8rem); font-weight: 500; line-height: .94; letter-spacing: -.045em; }
.service-detail__summary { max-width: 580px; color: rgba(var(--theme-accent-rgb),.68); font-size: clamp(1rem,1.6vw,1.2rem); line-height: 1.8; }
.service-detail__content { width: 100%; max-width: none; margin: 5rem 0 0; padding: clamp(1.75rem,5vw,4.5rem); border-radius: 1.5rem; }
.service-detail__content > p:not(.store-eyebrow) { margin-top: 1.5rem; color: rgba(var(--theme-accent-rgb),.74); font-size: 1.05rem; line-height: 1.95; }
.service-detail__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid rgba(var(--theme-accent-rgb),.1); }
.tarot-readings-menu { margin-top: 3rem; padding-top: 3rem; border-top: 1px solid rgba(var(--theme-accent-rgb),.1); }
.tarot-readings-menu__heading { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: .9rem; margin-bottom: 1.5rem; text-align: left; }
.tarot-readings-menu__heading h2 { font-size: clamp(2rem,4vw,3.5rem); font-weight: 500; line-height: 1; letter-spacing: -.035em; }
.tarot-readings-menu__heading em { font-family: "Instrument Serif",serif; font-weight: 400; }
.tarot-spread-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.tarot-spread-card { position: relative; overflow: hidden; display: grid; grid-template-columns: 170px minmax(0,1fr); gap: clamp(1.25rem,2vw,2rem); min-height: 280px; padding: clamp(1.25rem,2vw,1.65rem); border: 1px solid rgba(var(--theme-accent-rgb),.13); border-radius: 1.25rem; background: linear-gradient(135deg,rgba(var(--theme-accent-rgb),.075),rgba(var(--theme-accent-rgb),.018) 44%,rgba(var(--theme-accent-rgb),.04)),var(--theme-black); box-shadow: inset 0 1px 0 rgba(var(--theme-accent-rgb),.08),0 18px 42px rgba(var(--theme-shadow-rgb),.32); transition: transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease; }
.tarot-spread-card::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(120deg,rgba(var(--theme-accent-rgb),.12),transparent 32%,transparent 68%,rgba(var(--theme-accent-rgb),.045)); opacity: .5; }
.tarot-spread-card:hover { transform: translateY(-4px); border-color: rgba(var(--theme-accent-rgb),.28); background: linear-gradient(135deg,rgba(var(--theme-accent-rgb),.1),rgba(var(--theme-accent-rgb),.026) 44%,rgba(var(--theme-accent-rgb),.055)),var(--theme-black); box-shadow: inset 0 1px 0 rgba(var(--theme-accent-rgb),.1),0 22px 52px rgba(var(--theme-shadow-rgb),.42); }
.tarot-spread-card__visual { position: relative; z-index: 1; width: 100%; aspect-ratio: 2/3; display: grid; place-items: center; align-self: center; border: 1px solid rgba(var(--theme-accent-rgb),.16); border-radius: 1rem; background: linear-gradient(160deg,rgba(var(--theme-accent-rgb),.13),rgba(var(--theme-accent-rgb),.045) 48%,rgba(var(--theme-accent-rgb),.02)); color: var(--theme-accent); box-shadow: inset 0 1px 0 rgba(var(--theme-accent-rgb),.14),0 18px 34px rgba(var(--theme-shadow-rgb),.28); }
.tarot-spread-card__visual img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.tarot-spread-card__visual svg { width: 2.8rem; height: 2.8rem; stroke-width: 1.65; filter: drop-shadow(0 0 14px rgba(var(--theme-accent-rgb),.18)); }
.tarot-spread-card__body { position: relative; z-index: 1; display: flex; flex-direction: column; min-width: 0; padding: .35rem 0; }
.tarot-spread-card__body h3 { margin-bottom: .75rem; font-size: 1.15rem; font-weight: 700; }
.tarot-spread-card__body p { color: rgba(var(--theme-accent-rgb),.68); font-size: .92rem; line-height: 1.7; }
.tarot-spread-card__price { margin-top: auto; padding-top: 1rem; color: rgba(var(--theme-accent-rgb),.5); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.tarot-spread-card__price span { color: var(--theme-accent); }
.tarot-spread-card__select { width: max-content; margin-top: .85rem; padding: .75rem 1rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(var(--theme-accent-rgb),.07); box-shadow: inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(var(--theme-accent-rgb),.16); color: var(--theme-accent); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; transition: transform .2s ease,background .2s ease,border-color .2s ease; }
.tarot-spread-card__select:hover { transform: translateY(-1px); background: var(--theme-accent); color: var(--theme-black); border-color: var(--theme-accent); }
.tarot-booking-panel { margin-top: 3rem; padding-top: 3rem; border-top: 1px solid rgba(var(--theme-accent-rgb),.1); }
.tarot-booking-panel__heading { max-width: 760px; margin-bottom: 1.75rem; }
.tarot-booking-panel__heading h2 { margin: .75rem 0 1rem; font-size: clamp(2rem,4vw,3.5rem); font-weight: 500; line-height: 1; letter-spacing: -.035em; }
.tarot-booking-panel__heading em { font-family: "Instrument Serif",serif; font-weight: 400; }
.tarot-booking-panel__heading p:last-child { color: rgba(var(--theme-accent-rgb),.68); line-height: 1.75; }
.tarot-booking-form { display: grid; gap: 1rem; padding: clamp(1.25rem,3vw,2rem); border: 1px solid rgba(var(--theme-accent-rgb),.12); border-radius: 1.25rem; background: radial-gradient(circle at 100% 0,rgba(var(--theme-accent-rgb),.09),transparent 42%),rgba(var(--theme-accent-rgb),.025); }
.tarot-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.tarot-form-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.tarot-booking-form label { display: grid; gap: .45rem; color: rgba(var(--theme-accent-rgb),.68); font-size: .8rem; font-weight: 700; letter-spacing: .02em; }
.tarot-booking-form input,.tarot-booking-form select,.tarot-booking-form textarea { width: 100%; border: 1px solid rgba(var(--theme-accent-rgb),.13); border-radius: .75rem; background: rgba(var(--theme-accent-rgb),.045); color: var(--theme-accent); padding: .9rem 1rem; outline: none; font-weight: 500; letter-spacing: 0; }
.tarot-booking-form textarea { resize: vertical; min-height: 120px; line-height: 1.6; }
.tarot-booking-form input:focus,.tarot-booking-form select:focus,.tarot-booking-form textarea:focus { border-color: rgba(var(--theme-accent-rgb),.42); background: rgba(var(--theme-accent-rgb),.065); }
.tarot-booking-form option { background: var(--theme-midnight); }
.tarot-permission-grid { display: grid; gap: .75rem; margin: .5rem 0; }
.tarot-permission-grid label,.tarot-terms-row label { display: flex; align-items: flex-start; gap: .65rem; color: rgba(var(--theme-accent-rgb),.78); line-height: 1.5; }
.tarot-permission-grid input,.tarot-terms-row input { width: 1rem; height: 1rem; flex: 0 0 1rem; margin-top: .15rem; accent-color: var(--theme-accent); }
.tarot-terms-row { display: flex !important; align-items: flex-start; gap: .65rem; padding: 1rem 0; border-top: 1px solid rgba(var(--theme-accent-rgb),.1); cursor: pointer; }
.tarot-submit-button { width: max-content; }
.tarot-terms-modal { position: fixed; inset: 0; z-index: 999; display: grid; place-items: center; padding: 1rem; background: rgba(var(--theme-shadow-rgb),.72); backdrop-filter: blur(12px); }
.tarot-terms-modal[hidden] { display: none; }
.tarot-terms-modal__dialog { width: min(720px,100%); max-height: min(720px,86vh); display: grid; grid-template-rows: auto minmax(0,1fr) auto; border: 1px solid rgba(var(--theme-accent-rgb),.18); border-radius: 1.25rem; background: var(--theme-black); box-shadow: 0 28px 80px rgba(var(--theme-shadow-rgb),.65); overflow: hidden; }
.tarot-terms-modal__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.4rem; border-bottom: 1px solid rgba(var(--theme-accent-rgb),.1); }
.tarot-terms-modal__header h3 { font-size: 1.25rem; font-weight: 700; }
.tarot-terms-modal__header button { width: 2.25rem; height: 2.25rem; border-radius: 999px; background: rgba(var(--theme-accent-rgb),.08); color: var(--theme-accent); font-size: 1.5rem; line-height: 1; }
.tarot-terms-modal__body { overflow: auto; padding: 1.4rem; }
.tarot-terms-modal__body ul { display: grid; gap: .9rem; padding-left: 1.1rem; color: rgba(var(--theme-accent-rgb),.74); line-height: 1.65; list-style: disc; }
.tarot-terms-modal__actions { display: flex; justify-content: flex-end; gap: .75rem; padding: 1rem 1.4rem; border-top: 1px solid rgba(var(--theme-accent-rgb),.1); }
.tarot-terms-modal__actions button { padding: .85rem 1.15rem; border-radius: 999px; border: 1px solid rgba(var(--theme-accent-rgb),.18); color: var(--theme-accent); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; transition: transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease; }
.tarot-terms-modal__actions button:hover { transform: translateY(-1px); border-color: rgba(var(--theme-accent-rgb),.4); background: rgba(var(--theme-accent-rgb),.08); }
.tarot-terms-modal__actions [data-accept-terms] { border-color: var(--theme-accent); background: var(--theme-accent); color: var(--theme-black); }
.tarot-terms-modal__actions [data-accept-terms]:hover { background: rgba(var(--theme-accent-rgb),.92); }
@media(max-width:850px){.service-detail__hero{grid-template-columns:1fr}.service-detail__image{min-height:420px}.service-detail__back{margin-bottom:2.5rem}}
@media(max-width:820px){.tarot-spread-grid,.tarot-form-grid,.tarot-form-grid--three{grid-template-columns:1fr}.tarot-readings-menu__heading{align-items:flex-start;flex-direction:column}.tarot-spread-card{min-height:0}.tarot-terms-row{align-items:flex-start;flex-direction:row}.tarot-submit-button{width:100%}}
@media(max-width:560px){.service-detail{padding-top:7.5rem}.service-detail__image{min-height:320px}.service-detail__actions{display:grid}.service-detail__actions .store-button{width:100%}.tarot-spread-card{grid-template-columns:1fr;gap:1.35rem;padding:1.55rem;border-radius:1.15rem}.tarot-spread-card__visual{width:min(245px,72vw);aspect-ratio:2/3;min-height:0;justify-self:center}.tarot-spread-card__body{padding:0}.tarot-spread-card__select{width:100%;justify-content:center;text-align:center}}
.success-mark { width: 80px; height: 80px; border: 1px solid rgba(var(--theme-accent-rgb),.3); border-radius: 99px; display: grid; place-items: center; margin: auto; box-shadow: 0 0 35px rgba(var(--theme-accent-rgb),.1); }
body.order-dialog-open { overflow: hidden; }
body.order-dialog-open .store-header { opacity: 0; pointer-events: none; }
body.order-dialog-open .store-main { content-visibility: visible; contain: none; }
.account-title-row { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; gap: 1.25rem; }
.account-title-row > div { min-width: 0; }
.customer-orders { display: grid; gap: 1.5rem; }
.customer-order-card { border: 1px solid rgba(var(--theme-accent-rgb),.16); border-radius: 1.2rem; overflow: hidden; }
.customer-order-summary { display: grid; width: 100%; grid-template-columns: 86px minmax(0,1fr) auto 24px; align-items: center; gap: 1rem; padding: 1rem; cursor: pointer; text-align: left; background: transparent; color: inherit; }
.customer-order-thumb { width: 86px; height: 86px; border-radius: .85rem; overflow: hidden; border: 1px solid rgba(var(--theme-accent-rgb),.12); background: rgba(var(--theme-accent-rgb),.045); }
.customer-order-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.customer-order-main { display: grid; gap: .25rem; min-width: 0; }
.customer-order-product { color: var(--theme-accent); font-size: 1rem; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.customer-order-reference { color: rgba(var(--theme-accent-rgb),.82); font-size: 1.05rem; font-weight: 700; }
.customer-order-date { color: rgba(var(--theme-accent-rgb),.45); font-size: .82rem; }
.customer-order-chevron { color: rgba(var(--theme-accent-rgb),.65); transition: transform .2s; }
.customer-order-summary:hover .customer-order-chevron { transform: translateX(2px); }
.order-dialog { position: fixed; inset: 0; z-index: 1000; display: none; padding: clamp(1rem,3vw,2rem); place-items: center; }
.order-dialog.is-open { display: grid; }
.order-dialog-backdrop { position: absolute; inset: 0; background: rgba(var(--theme-shadow-rgb),.72); backdrop-filter: blur(12px); }
.order-dialog-panel { position: relative; z-index: 1; width: min(1040px,100%); max-height: min(82vh,820px); overflow: auto; padding: clamp(1.25rem,3vw,2rem); border: 1px solid rgba(var(--theme-accent-rgb),.22); border-radius: 1.25rem; background: var(--theme-black); box-shadow: 0 28px 90px rgba(var(--theme-shadow-rgb),.72), inset 0 1px rgba(var(--theme-accent-rgb),.06); scrollbar-color: rgba(var(--theme-accent-rgb),.45) transparent; }
.order-dialog-close { position: absolute; top: 1rem; right: 1rem; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border: 1px solid rgba(var(--theme-accent-rgb),.16); border-radius: 999px; color: var(--theme-accent); background: rgba(var(--theme-accent-rgb),.07); }
.order-dialog-close svg { width: 1.05rem; height: 1.05rem; }
.order-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 3rem; padding-right: 3rem; margin-bottom: 1.25rem; }
.order-dialog-header > div { min-width: 0; }
.order-dialog-header h2 { color: var(--theme-accent); font-size: clamp(1.35rem,3vw,2rem); font-weight: 800; }
.order-dialog-header p:not(.product-meta) { color: rgba(var(--theme-accent-rgb),.48); margin-top: .25rem; }
.customer-order-detail-box { margin-top: 1.5rem; border: 1px solid rgba(var(--theme-accent-rgb),.1); border-radius: 1rem; padding: 1rem; background: rgba(var(--theme-accent-rgb),.018); }
.customer-order-detail-grid { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(300px,.82fr); gap: 1.5rem; align-items: start; }
.customer-order-detail-grid h2,.customer-order-meta h2,.order-progress-card h3 { color: var(--theme-accent); font-size: .95rem; font-weight: 800; margin-bottom: 1rem; }
.customer-order-detail-grid > section { min-width: 0; }
.customer-order-item { display: grid; grid-template-columns: 72px minmax(0,1fr) auto; gap: .9rem; align-items: center; padding: .85rem 0; border-bottom: 1px solid rgba(var(--theme-accent-rgb),.08); }
.customer-order-item img { width: 72px; height: 72px; object-fit: cover; border-radius: .7rem; border: 1px solid rgba(var(--theme-accent-rgb),.1); background: rgba(var(--theme-accent-rgb),.04); }
.customer-order-item strong { display: block; color: var(--theme-accent); }
.customer-order-item span { display: block; color: rgba(var(--theme-accent-rgb),.48); font-size: .8rem; margin-top: .2rem; }
.customer-order-item b { color: var(--theme-accent); white-space: nowrap; }
.customer-order-meta { border: 0; border-left: 1px solid rgba(var(--theme-accent-rgb),.1); border-radius: 0; padding: .25rem 0 .25rem 1.5rem; background: transparent; }
.customer-order-meta dl { display: grid; gap: .8rem; margin-bottom: 1.3rem; }
.customer-order-meta dl div { display: grid; grid-template-columns: 92px minmax(0,1fr); gap: .8rem; }
.customer-order-meta dt { color: rgba(var(--theme-accent-rgb),.45); font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; }
.customer-order-meta dd { color: rgba(var(--theme-accent-rgb),.84); min-width: 0; overflow-wrap: anywhere; }
.order-status { display: inline-flex; padding: .5rem .75rem; border: 1px solid rgba(var(--theme-accent-rgb),.18); border-radius: 99px; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.order-status-new { background: rgba(var(--theme-accent-rgb),.035); border-color: rgba(var(--theme-accent-rgb),.22); }
.order-status-confirmed { background: rgba(34,197,94,.14); border-color: rgba(74,222,128,.4); color: #bbf7d0; }
.order-status-packed,.order-status-shipped { background: rgba(59,130,246,.15); border-color: rgba(96,165,250,.35); color: #bfdbfe; }
.order-status-delivered { background: rgba(34,197,94,.15); border-color: rgba(74,222,128,.35); }
.order-status-cancelled { background: rgba(239,68,68,.15); border-color: rgba(248,113,113,.35); color: #fecaca; }
.order-address { color: rgba(var(--theme-accent-rgb),.68); line-height: 1.7; font-size: .875rem; overflow-wrap: anywhere; }
.order-address strong { color: var(--theme-accent); }
.order-progress-card { margin-top: 1.5rem; padding: 1.35rem 1.1rem 1.2rem; border: 1px solid rgba(var(--theme-accent-rgb),.12); border-radius: 1rem; background: rgba(var(--theme-accent-rgb),.025); }
.order-progress-steps { --progress-percent: min(calc((var(--order-progress) + .5) / 3 * 100%),100%); position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .5rem; padding-top: .2rem; }
.order-progress-steps::before,.order-progress-steps::after { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: .85rem; height: 3px; border-radius: 99px; background: rgba(var(--theme-accent-rgb),.28); }
.order-progress-steps::after { right: auto; width: calc(var(--progress-percent) * .75); background: var(--theme-accent); box-shadow: 0 0 18px rgba(var(--theme-accent-rgb),.24); }
.order-progress-step { position: relative; z-index: 1; display: grid; justify-items: center; gap: .55rem; color: rgba(var(--theme-accent-rgb),.54); font-size: .75rem; text-align: center; }
.order-progress-step > span { width: 1.45rem; height: 1.45rem; display: grid; place-items: center; border: 2px solid rgba(var(--theme-accent-rgb),.72); border-radius: 99px; background: var(--theme-midnight); color: var(--theme-black); }
.order-progress-step > span svg { width: .85rem; height: .85rem; stroke-width: 3; }
.order-progress-step.is-complete > span { border-color: var(--theme-accent); background: var(--theme-accent); }
.order-progress-step.is-current > span { box-shadow: 0 0 0 5px rgba(var(--theme-accent-rgb),.08),0 0 20px rgba(var(--theme-accent-rgb),.22); }
.order-progress-step strong { font-weight: 800; line-height: 1.2; }
.order-progress-step.is-complete strong,.order-progress-step.is-current strong { color: var(--theme-accent); }
.order-progress-cancelled { display: inline-flex; align-items: center; gap: .55rem; padding: .7rem .9rem; border: 1px solid rgba(248,113,113,.35); border-radius: 99px; color: #fecaca; background: rgba(127,29,29,.2); font-weight: 800; }
.order-progress-cancelled svg { width: 1rem; height: 1rem; }
.otp-boxes { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .65rem; }
.store-form .otp-boxes input { height: 58px; padding: 0; text-align: center; font-size: 1.35rem; font-weight: 800; }
@media(max-width:900px){.order-dialog-panel{width:min(720px,100%)}.customer-order-detail-grid{grid-template-columns:1fr}.customer-order-meta{border-left:0;border-top:1px solid rgba(var(--theme-accent-rgb),.1);padding:1rem 0 0}}
@media(max-width:760px){.account-title-row{gap:1.5rem}.account-title-row>div{grid-column:1/-1}.customer-orders{gap:1rem}.customer-order-summary{grid-template-columns:90px minmax(0,1fr) auto;gap:.8rem;padding:1rem}.customer-order-thumb{width:90px;height:90px}.customer-order-product{white-space:normal;line-height:1.15}.customer-order-reference{font-size:1rem;overflow-wrap:anywhere}.customer-order-date{font-size:.78rem}.customer-order-chevron{display:none}.order-dialog{padding:.75rem;align-items:end}.order-dialog-panel{width:100%;max-height:88vh;border-radius:1rem;padding:1rem}.order-dialog-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(88px,max-content);align-items:center;gap:.75rem;padding-right:3.25rem}.order-dialog-header .order-status{justify-self:end;align-self:center;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.customer-order-detail-box{padding:.85rem}.customer-order-detail-grid{gap:1.1rem}.customer-order-item{grid-template-columns:58px minmax(0,1fr);}.customer-order-item img{width:58px;height:58px}.customer-order-item b{grid-column:2}.customer-order-meta dl div{grid-template-columns:1fr}.order-progress-card{margin-top:1.2rem;padding:1rem .6rem}.order-progress-step{font-size:.62rem}.order-progress-step > span{width:1.25rem;height:1.25rem}.order-progress-steps::before,.order-progress-steps::after{top:.72rem}.order-status{font-size:.62rem;padding:.42rem .55rem}.otp-boxes{gap:.42rem}.store-form .otp-boxes input{height:52px;font-size:1.15rem}}
.admin-product-name { display: flex; align-items: center; gap: .8rem; min-width: 220px; }
.admin-product-name img { width: 56px; height: 56px; border-radius: .65rem; object-fit: cover; border: 1px solid rgba(var(--theme-accent-rgb),.12); }
.admin-product-name small { display: block; color: rgba(var(--theme-accent-rgb),.4); margin-top: .2rem; }
.admin-product-actions { display: flex; align-items: center; gap: .5rem; }
.admin-action-button { display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .7rem; border: 1px solid rgba(var(--theme-accent-rgb),.18); border-radius: .55rem; color: rgba(var(--theme-accent-rgb),.8); background: rgba(var(--theme-accent-rgb),.045); font-size: .75rem; font-weight: 700; transition: .2s; }
.admin-action-button:hover { color: var(--theme-accent); border-color: rgba(var(--theme-accent-rgb),.45); background: rgba(var(--theme-accent-rgb),.1); }
.admin-action-button svg { width: .9rem; height: .9rem; }
.admin-action-danger:hover { color: #fecaca; border-color: rgba(248,113,113,.45); background: rgba(127,29,29,.25); }
.admin-product-form { max-width: 900px; }
.admin-product-form input[type="file"] { padding: .65rem; }
.admin-product-form small { color: rgba(var(--theme-accent-rgb),.4); }
.admin-active-toggle { display: flex !important; grid-template-columns: auto 1fr; align-items: center; width: max-content; }
.admin-active-toggle input { width: 1rem; height: 1rem; }
.admin-current-image { display: flex; align-items: center; gap: 1rem; color: rgba(var(--theme-accent-rgb),.5); font-size: .8rem; }
.admin-current-image img { width: 80px; height: 80px; border-radius: .75rem; object-fit: cover; border: 1px solid rgba(var(--theme-accent-rgb),.12); }
.admin-dashboard-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 1.25rem; padding: .75rem .4rem 1.5rem; }
.admin-dashboard-card { position: relative; min-height: 390px; display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; padding: clamp(1.5rem,3vw,2.25rem); border: 1px solid rgba(var(--theme-accent-rgb),.16); border-radius: 1.5rem; overflow: hidden; background: radial-gradient(circle at 100% 0,rgba(var(--theme-accent-rgb),.08),transparent 38%),rgba(var(--theme-accent-rgb),.018); transition: transform .3s,border-color .3s,box-shadow .3s,background .3s; }
.admin-dashboard-card::before { content: ""; position: absolute; width: 180px; height: 180px; right: -90px; top: -90px; border: 1px solid rgba(var(--theme-accent-rgb),.09); border-radius: 50%; transition: transform .5s; }
.admin-dashboard-card:hover { transform: translateY(-5px); border-color: rgba(var(--theme-accent-rgb),.42); background: radial-gradient(circle at 100% 0,rgba(var(--theme-accent-rgb),.12),transparent 42%),rgba(var(--theme-accent-rgb),.03); box-shadow: 0 20px 45px rgba(var(--theme-shadow-rgb),.42),0 0 0 1px rgba(var(--theme-accent-rgb),.06) inset; }
.admin-dashboard-card:hover::before { transform: scale(1.18); }
.admin-dashboard-card-top { display: flex; align-items: center; justify-content: space-between; }
.admin-dashboard-icon { width: 3.5rem; height: 3.5rem; display: grid; place-items: center; border: 1px solid rgba(var(--theme-accent-rgb),.2); border-radius: 1rem; background: rgba(var(--theme-accent-rgb),.06); }
.admin-dashboard-icon svg { width: 1.65rem; height: 1.65rem; }
.admin-dashboard-count { min-width: 2.25rem; height: 2.25rem; padding: 0 .55rem; display: grid; place-items: center; border-radius: 99px; background: var(--theme-accent); color: var(--theme-black); font-weight: 800; font-size: .8rem; }
.admin-dashboard-card h2 { margin: .65rem 0 1rem; font-size: clamp(1.65rem,2.4vw,2.35rem); line-height: 1; letter-spacing: -.03em; }
.admin-dashboard-card h2 em { font-family: "Instrument Serif",serif; font-weight: 400; }
.admin-dashboard-card p:not(.store-eyebrow) { color: rgba(var(--theme-accent-rgb),.52); line-height: 1.75; }
.admin-dashboard-card .store-button { align-self: flex-start; }
.admin-dashboard-card .store-button svg { width: 1rem; transition: transform .2s; }
.admin-dashboard-card .store-button:hover svg { transform: translateX(4px); }
.admin-header-link { position: relative; display: inline-flex; align-items: center; gap: .45rem; padding: .55rem 1rem; border-radius: 999px; color: rgba(var(--theme-accent-rgb),.7); font-size: .875rem; font-weight: 700; line-height: 1; transition: color .2s,background .2s,transform .2s; }
.admin-header-link:hover { color: var(--theme-accent); background: rgba(var(--theme-accent-rgb),.055); transform: translateY(-1px); }
.admin-header-link svg { width: 1.05rem; height: 1.05rem; stroke-width: 1.8; flex: none; }
.admin-header { grid-template-columns: 1fr auto; background: rgba(var(--theme-shadow-rgb),.88); border-bottom: 1px solid rgba(var(--theme-accent-rgb),.08); backdrop-filter: blur(16px); }
.admin-header-actions { grid-column: 2; justify-self: end; display: flex; align-items: center; gap: .35rem; padding: .45rem .55rem; border: 1px solid rgba(var(--theme-accent-rgb),.12); border-radius: 999px; background: rgba(var(--theme-accent-rgb),.075); box-shadow: inset 0 1px 1px rgba(var(--theme-accent-rgb),.12),0 12px 34px rgba(var(--theme-shadow-rgb),.28); backdrop-filter: blur(16px); }
.admin-header-actions form { margin: 0; }
.admin-brand { display: inline-flex; align-items: center; gap: .65rem; }
.admin-brand img { width: auto; height: 3.75rem; object-fit: contain; }
.admin-main { width: min(1280px,calc(100% - 2rem)); padding-top: 2.25rem; }
.admin-main .store-title { font-size: clamp(3rem,5.4vw,5.25rem); line-height: .9; margin: .65rem 0 0; letter-spacing: -.03em; }
.admin-main > section.mt-10 { margin-top: 2.25rem; }
.admin-title-row { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 210px; }
.admin-title-row > div { min-width: 0; }
.admin-page-back { width: max-content; flex: none; display: inline-flex; align-items: center; gap: .65rem; padding: .75rem 1rem; border: 1px solid rgba(255,255,255,.18); border-radius: .75rem; background: linear-gradient(135deg,rgba(var(--theme-accent-rgb),.11),rgba(var(--theme-accent-rgb),.035)); color: rgba(var(--theme-accent-rgb),.82); font-size: .72rem; font-weight: 800; letter-spacing: .08em; box-shadow: inset 0 1px rgba(255,255,255,.06),0 10px 30px rgba(var(--theme-shadow-rgb),.25),0 0 0 1px rgba(var(--theme-accent-rgb),.14); transition: transform .2s,border-color .2s,background .2s,color .2s; margin-top: 2.25rem; }
.admin-page-back:hover { color: var(--theme-black); border-color: var(--theme-accent); background: var(--theme-accent); transform: translateX(-4px); }
.admin-page-back svg { width: 1rem; height: 1rem; transition: transform .2s; }
.admin-page-back:hover svg { transform: translateX(-2px); }
.admin-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.admin-section-actions-only { justify-content: flex-end; }
.admin-download-button { width: auto; padding: .65rem .9rem; font-size: .72rem; }
.admin-download-button svg { width: .95rem; height: .95rem; }
.admin-results-count { margin: 1.15rem 0 1rem; padding-left: .25rem; color: rgba(var(--theme-accent-rgb),.45); font-size: .8rem; line-height: 1.4; }
.admin-dialog-open { overflow: hidden; scrollbar-gutter: stable; }
.admin-dialog { width: min(920px,calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; border: 1px solid rgba(var(--theme-accent-rgb),.2); border-radius: 1.25rem; background: var(--theme-black); color: var(--theme-accent); box-shadow: 0 30px 100px rgba(var(--theme-shadow-rgb),.8); overflow: hidden; }
.admin-dialog::backdrop { background: rgba(var(--theme-shadow-rgb),.78); backdrop-filter: blur(8px); }
.admin-dialog-card { padding: clamp(1.25rem,4vw,2rem); overflow-y: auto; max-height: calc(100dvh - 2rem); overscroll-behavior: contain; scrollbar-gutter: stable; }
.admin-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.admin-dialog-header > button { width: 2.25rem; height: 2.25rem; border-radius: 99px; font-size: 1.5rem; color: rgba(var(--theme-accent-rgb),.6); background: rgba(var(--theme-accent-rgb),.07); }
.admin-dialog-actions { display: flex; justify-content: flex-end; gap: .75rem; }
.admin-confirm-dialog { width: min(520px,calc(100% - 2rem)); }
.admin-confirm-dialog .admin-dialog-card { padding: 2rem; }
.admin-confirm-icon { width: 3.25rem; height: 3.25rem; display: grid; place-items: center; margin-bottom: 1.5rem; border: 1px solid rgba(248,113,113,.35); border-radius: 1rem; color: #fca5a5; background: rgba(127,29,29,.2); }
.admin-confirm-icon.is-restore { color: #86efac; border-color: rgba(74,222,128,.35); background: rgba(20,83,45,.22); }
.admin-confirm-icon svg { width: 1.35rem; height: 1.35rem; }
.admin-confirm-message { color: rgba(var(--theme-accent-rgb),.58); line-height: 1.7; }
.admin-confirm-dialog .admin-dialog-actions { padding-top: 1.25rem; border-top: 1px solid rgba(var(--theme-accent-rgb),.1); }
.admin-order-filters { display: grid; grid-template-columns: minmax(110px,.75fr) minmax(110px,.75fr) minmax(135px,.9fr) minmax(155px,1fr) minmax(190px,1.05fr) minmax(100px,auto) minmax(100px,auto) minmax(160px,auto); gap: .75rem; align-items: end; padding: .95rem 1.15rem; border-radius: 1rem; overflow: hidden; }
.admin-order-filters label,.admin-order-status-form label { display: grid; gap: .4rem; color: rgba(var(--theme-accent-rgb),.55); font-size: .75rem; }
.admin-order-filters input,.admin-order-filters select,.admin-order-status-form select { width: 100%; border: 1px solid rgba(var(--theme-accent-rgb),.15); border-radius: .65rem; background: var(--theme-black); color: var(--theme-accent); padding: .75rem; }
.admin-order-filters .store-button { min-height: 52px; padding-inline: 1rem; white-space: nowrap; }
.admin-order-filters .admin-download-button { width: 100%; padding-inline: .95rem; }
.admin-order-list { display: grid; gap: .9rem; }
.admin-order-card { border-radius: 1rem; overflow: hidden; border: 1px solid rgba(var(--theme-accent-rgb),.16); }
.admin-order-card summary { list-style: none; display: grid; grid-template-columns: minmax(360px,.95fr) 240px 130px 150px 24px; align-items: center; gap: 1.25rem; padding: .9rem 1.25rem; min-height: 96px; cursor: pointer; }
.admin-order-card summary::-webkit-details-marker { display: none; }
.admin-order-card summary small { display: block; color: rgba(var(--theme-accent-rgb),.4); margin-top: .25rem; }
.admin-order-card summary svg { width: 1.1rem; transition: transform .2s; }
.admin-order-card[open] summary svg { transform: rotate(180deg); }
.admin-order-card summary > div:nth-child(2) { justify-self: center; width: 240px; }
.admin-order-card summary > strong { text-align: right; white-space: nowrap; }
.admin-order-card summary .order-status { justify-self: center; }
.admin-order-product-summary { display: grid; grid-template-columns: 68px minmax(0,1fr); align-items: center; gap: .9rem; min-width: 0; }
.admin-order-product-summary strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.admin-order-thumb { width: 68px; height: 68px; border-radius: .75rem; overflow: hidden; border: 1px solid rgba(var(--theme-accent-rgb),.12); background: rgba(var(--theme-accent-rgb),.04); }
.admin-order-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.admin-order-details { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; padding: 1.25rem 1.5rem; border-top: 1px solid rgba(var(--theme-accent-rgb),.1); color: rgba(var(--theme-accent-rgb),.65); font-size: .875rem; line-height: 1.7; }
.admin-order-details h3 { color: var(--theme-accent); font-weight: 700; margin-bottom: .5rem; }
.admin-order-items,.admin-order-notes,.admin-order-status-form { grid-column: 1/-1; }
.admin-order-status-form { display: flex; align-items: end; justify-content: flex-end; gap: .75rem; border-top: 1px solid rgba(var(--theme-accent-rgb),.1); padding-top: 1rem; }
.admin-order-status-form label { width: min(240px,100%); }
.admin-enquiry-filters { display: grid; grid-template-columns: 160px 160px minmax(260px,1fr) auto auto auto; gap: .75rem; align-items: end; padding: 1rem; border-radius: 1rem; }
.admin-enquiry-filters label { display: grid; gap: .4rem; color: rgba(var(--theme-accent-rgb),.55); font-size: .75rem; }
.admin-enquiry-filters input { width: 100%; border: 1px solid rgba(var(--theme-accent-rgb),.15); border-radius: .65rem; background: var(--theme-black); color: var(--theme-accent); padding: .75rem; }
.admin-enquiry-list { display: grid; gap: 1rem; }
.admin-enquiry-card { padding: 1.35rem; border-radius: 1rem; }
.admin-enquiry-header { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(var(--theme-accent-rgb),.1); }
.admin-enquiry-header a,.admin-enquiry-header time { display: block; color: rgba(var(--theme-accent-rgb),.45); font-size: .8rem; margin-top: .2rem; }
.admin-enquiry-card > p { color: rgba(var(--theme-accent-rgb),.72); line-height: 1.75; margin: 1.15rem 0; white-space: normal; }
.admin-service-enquiry-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin-bottom: 1rem; padding-top: .35rem; }
.admin-service-enquiry-card { display: flex; align-items: center; gap: 1rem; padding: 1rem; border-radius: 1rem; border: 1px solid rgba(var(--theme-accent-rgb),.12); color: rgba(var(--theme-accent-rgb),.82); transition: transform .2s,border-color .2s,background .2s,color .2s; }
.admin-service-enquiry-card:hover,.admin-service-enquiry-card.is-active { color: var(--theme-accent); border-color: rgba(var(--theme-accent-rgb),.42); background: rgba(var(--theme-accent-rgb),.055); transform: translateY(-2px); }
.admin-service-enquiry-card.is-active { transform: none; box-shadow: 0 0 0 1px rgba(var(--theme-accent-rgb),.18),0 16px 34px rgba(var(--theme-shadow-rgb),.34); }
.admin-service-enquiry-card .admin-dashboard-icon { width: 3rem; height: 3rem; border-radius: .9rem; flex: none; }
.admin-service-enquiry-card strong { display: block; font-size: .95rem; }
.admin-service-enquiry-card small { display: block; margin-top: .2rem; color: rgba(var(--theme-accent-rgb),.45); font-size: .78rem; }
@media(max-width:1000px){.admin-main .store-title{font-size:clamp(2.6rem,10vw,4.4rem)}.admin-title-row{min-height:0}.admin-order-filters{grid-template-columns:repeat(2,1fr)}.admin-order-card summary{grid-template-columns:1fr auto}.admin-order-card summary>div:nth-child(2),.admin-order-card summary>strong{display:none}.admin-order-details{grid-template-columns:1fr 1fr}}
@media(max-width:1280px){.admin-order-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-order-filters label:nth-of-type(5){grid-column:span 2}.admin-order-filters .admin-download-button{grid-column:span 2}}
@media(max-width:1000px){.admin-order-filters{grid-template-columns:repeat(2,1fr)}.admin-order-filters label:nth-of-type(5),.admin-order-filters .admin-download-button{grid-column:span 2}.admin-enquiry-filters{grid-template-columns:repeat(2,1fr)}.admin-service-enquiry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.admin-dashboard-grid{grid-template-columns:1fr}.admin-dashboard-card{min-height:320px}}
@media(max-width:620px){.admin-order-filters,.admin-enquiry-filters,.admin-service-enquiry-grid{grid-template-columns:1fr}.admin-order-filters label:nth-of-type(5),.admin-order-filters .admin-download-button{grid-column:auto}.admin-order-details{grid-template-columns:1fr}.admin-dialog-actions,.admin-order-status-form{flex-direction:column}.admin-dialog-actions .store-button,.admin-order-status-form .store-button,.admin-order-status-form label{width:100%}.admin-enquiry-header{flex-direction:column}.admin-dashboard-card{min-height:350px}.admin-dashboard-card .store-button{width:100%}.admin-section-heading,.admin-title-row{align-items:flex-start;flex-direction:column}.admin-header-link span{display:none}}
@media(max-width:1023px){.checkout-layout{grid-template-columns:1fr}.summary-panel{position:static}.product-detail-wrap{grid-template-columns:1fr;gap:1.25rem;padding-top:2.25rem}.product-back-wrap{margin-bottom:0;padding-top:1rem}.product-detail-art{height:clamp(360px,56vh,560px)}.product-detail-info .store-title{margin:.6rem 0;font-size:clamp(2rem,9vw,3rem)!important}.product-detail-info .store-subtitle{font-size:.95rem;line-height:1.55}.product-detail-price{font-size:1.55rem}.product-purchase-form{margin-top:1rem!important}.product-purchase-actions{grid-template-columns:1fr 1fr}.product-detail-info .mt-10{margin-top:1.25rem}}
@media(max-width:900px){.store-grid{grid-template-columns:repeat(2,1fr)}.cart-layout{grid-template-columns:1fr}.cart-item{grid-template-columns:88px minmax(0,1fr) auto}.cart-product-image{width:88px;height:88px}}
@media(max-width:760px){.shop-filter-form{grid-template-columns:1fr}.shop-filter-form .store-button{width:100%}}
@media(max-width:1023px){.store-header{grid-template-columns:minmax(0,1fr) auto;padding:0 1.25rem}.store-brand{min-width:0}.store-brand span{display:block!important;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}.store-nav{display:none}.store-header-actions{grid-column:2}.store-menu-button{display:grid}.store-mobile-menu{margin:0 1.25rem}.cart-count{top:-.8rem;right:-.55rem;z-index:2}}
@media(max-width:580px){.store-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.store-footer{flex-direction:column}.cart-item{grid-template-columns:72px 1fr;gap:1rem}.cart-product-image{width:72px;height:72px}.cart-item-actions{grid-column:1/-1;justify-content:flex-end;flex-wrap:wrap}.cart-line-price{margin-top:.7rem}.product-detail-wrap{padding-top:1.75rem}.product-detail-art{height:clamp(360px,58vh,520px)}.product-image-lightbox__panel{height:86vh}.product-price-row{align-items:flex-end}.product-quantity-stepper{height:46px;grid-template-columns:46px 56px 46px}.product-purchase-form{gap:1.15rem}.product-purchase-actions{margin-top:.8rem}.product-purchase-actions .store-button{min-height:48px;padding-inline:.75rem;font-size:.72rem}}

.store-button,
.store-mobile-count,
.cart-count,
.admin-dashboard-count,
.product-back-button:hover,
.quantity-button:hover:not(:disabled),
.service-detail__back:hover,
.tarot-spread-card__select:hover,
.tarot-terms-modal__actions [data-accept-terms],
.order-progress-step > span,
.order-progress-step.is-complete > span,
.admin-page-back:hover {
  color: var(--theme-text);
}
.shop-search-field input,
.shop-category-field select,
.store-form input,
.store-form select,
.store-form textarea,
.tarot-booking-form input,
.tarot-booking-form select,
.tarot-booking-form textarea,
.admin-order-filters input,
.admin-order-filters select,
.admin-order-status-form select,
.admin-enquiry-filters input,
.form-control {
  color: var(--theme-text);
}
.shop-search-field input::placeholder,
.store-form input::placeholder,
.store-form textarea::placeholder,
.tarot-booking-form input::placeholder,
.tarot-booking-form textarea::placeholder,
.form-control::placeholder {
  color: rgba(233,226,255,.52);
}
.store-button {
  box-shadow: 0 16px 36px rgba(var(--theme-accent-rgb),.28);
}
.store-button:hover {
  box-shadow: 0 18px 40px rgba(var(--theme-accent-rgb),.34);
}
.store-button-dark,
.product-back-button,
.service-detail__back,
.tarot-spread-card__select,
.admin-page-back {
  color: var(--theme-text-soft);
}
.store-eyebrow,
.shop-filter-form label,
.store-form label,
.tarot-booking-form label,
.admin-order-filters label,
.admin-order-status-form label,
.admin-enquiry-filters label,
.admin-results-count,
.admin-product-name small,
.admin-current-image,
.admin-enquiry-header a,
.admin-enquiry-header time,
.customer-order-date,
.customer-order-item span,
.customer-order-meta dt,
.order-progress-step,
.store-footer,
.shop-search-field svg {
  color: rgba(233,226,255,.72);
}
.store-subtitle,
.product-meta,
.product-description,
.shop-empty-message,
.service-detail__summary,
.service-detail__content > p:not(.store-eyebrow),
.tarot-spread-card__body p,
.tarot-spread-card__price,
.tarot-booking-panel__heading p:last-child,
.tarot-permission-grid label,
.tarot-terms-row label,
.tarot-terms-modal__body ul,
.customer-order-reference,
.customer-order-meta dd,
.order-address,
.admin-dashboard-card p:not(.store-eyebrow),
.admin-confirm-message,
.admin-order-details,
.admin-enquiry-card > p,
.admin-service-enquiry-card,
.admin-service-enquiry-card small {
  color: rgba(247,244,255,.86);
}
.store-header a,
.store-footer a,
.store-nav-button,
.store-mobile-link,
.product-image-lightbox__close,
.customer-order-product,
.order-dialog-header h2,
.customer-order-detail-grid h2,
.customer-order-meta h2,
.order-progress-card h3,
.customer-order-item strong,
.customer-order-item b,
.order-address strong,
.admin-action-button,
.admin-header-link,
.admin-dialog,
.admin-order-details h3 {
  color: var(--theme-text);
}
.store-footer a:hover,
.store-header a:hover,
.store-nav-link:hover,
.store-mobile-link:hover,
.admin-action-button:hover,
.admin-header-link:hover {
  color: #fff;
}
.store-flash {
  color: var(--theme-text);
  background: rgba(var(--theme-deep-rgb),.92);
}
