/*
 * Coffee Alchemist — Grimoar (account document only: body.ca-grimoar).
 * Same tokens as the Atelier cart and checkout. Motion is transform/opacity; prefers-reduced-motion stops it.
 */
body.ca-grimoar{
  --gr-bg:#050403;--gr-panel:#0c0907;--gr-panel-2:#120e0a;--gr-field:#0e0b08;
  --gr-line:rgba(215,169,78,.13);--gr-line-2:rgba(215,169,78,.26);--gr-line-3:rgba(227,185,97,.5);
  --gr-text:#f2ebdf;--gr-soft:#d6cbb9;--gr-muted:#a99b85;--gr-dim:#998a74;
  --gr-gold:#d9aa52;--gr-gold-hi:#f0d58c;--gr-ink:#130c04;--gr-danger:#ec9a84;--gr-ok:#b9cf95;
  --gr-grad:linear-gradient(105deg,#986526 0%,#d5a34d 36%,#efd188 60%,#a97029 100%);
  --gr-serif:Georgia,"Times New Roman",Times,serif;
  --gr-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --gr-r:3px;--gr-ease:cubic-bezier(.2,.8,.2,1);--gr-gutter:clamp(16px,4vw,40px);
  margin:0!important;padding:0!important;background:var(--gr-bg)!important;color:var(--gr-text)!important;
  font:400 15px/1.6 var(--gr-sans)!important;min-width:320px;color-scheme:dark;
  -webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden;
}
body.ca-grimoar *,body.ca-grimoar *::before,body.ca-grimoar *::after{box-sizing:border-box}
.ca-grimoar a{color:var(--gr-gold);text-decoration:underline;text-decoration-color:rgba(217,170,82,.4);text-underline-offset:4px}
.ca-grimoar a:hover{color:var(--gr-gold-hi);text-decoration-color:currentColor}
.ca-grimoar :focus-visible{outline:2px solid var(--gr-gold)!important;outline-offset:3px!important}
.ca-grimoar img{max-width:100%;height:auto}
.ca-grimoar h1,.ca-grimoar h2,.ca-grimoar h3{font-family:var(--gr-serif)!important;font-weight:400!important;letter-spacing:-.015em!important;text-transform:none!important;color:var(--gr-text)!important;margin:0}
.gr-skip{position:absolute;left:-9999px;top:8px;z-index:100;padding:10px 14px;background:var(--gr-panel);color:var(--gr-text)}
.gr-skip:focus{left:12px}
.gr-muted{color:var(--gr-muted)}
.gr-fine{margin:10px 0 0;font-size:12.5px;color:var(--gr-dim);text-align:center}
.gr-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px}

/* ---------- shell ---------- */
.gr-top{display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px;padding:0 var(--gr-gutter);border-bottom:1px solid var(--gr-line);max-width:1180px;margin:0 auto}
.ca-grimoar .gr-brand{display:inline-flex;align-items:center;gap:10px;color:var(--gr-text);text-decoration:none}
.gr-brand span{font:400 15px/1 var(--gr-serif);letter-spacing:.16em;text-transform:uppercase;background:var(--gr-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.gr-top-nav{display:flex;align-items:center;gap:6px}
.ca-grimoar .gr-top-nav a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 8px;color:var(--gr-soft);text-decoration:none;font-size:14px}
.gr-top-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--gr-gold);color:var(--gr-ink);font-size:11.5px;font-weight:700}
.ca-grimoar .gr-top-nav .gr-top-stage{width:40px;justify-content:center;padding:0;border:1px solid var(--gr-edge,var(--gr-line-2));border-radius:50%;min-height:40px;margin-left:2px;box-shadow:0 0 14px var(--gr-glow,transparent)}
.gr-preview{max-width:1180px;margin:14px auto 0;padding:12px var(--gr-gutter)}
.gr-preview p{margin:0;padding:0;font-size:13px;color:var(--gr-gold-hi)}
.gr-preview{border:1px dashed var(--gr-line-3);border-radius:var(--gr-r);background:rgba(217,170,82,.05);width:calc(100% - 2*var(--gr-gutter))}
.gr-preview-stages{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px!important}
.gr-preview-stages a{display:inline-flex;align-items:center;min-height:36px}
.gr-main{max-width:1180px;margin:0 auto;padding:22px var(--gr-gutter) 40px}
.gr-foot{max-width:1180px;margin:0 auto;padding:26px var(--gr-gutter) 46px;border-top:1px solid var(--gr-line);font-size:13px;color:var(--gr-dim)}
.gr-foot p{margin:0 0 8px}
.gr-foot-links{display:flex;flex-wrap:wrap;gap:6px 18px}

/* ---------- notices (WooCommerce + the theme's notice markup) ---------- */
.ca-grimoar .woocommerce-notices-wrapper:empty{display:none}
.ca-grimoar .woocommerce-message,.ca-grimoar .woocommerce-info,.ca-grimoar .woocommerce-error,.ca-grimoar .alert{
  display:flex;align-items:flex-start;gap:12px;margin:0 0 16px!important;padding:13px 16px!important;list-style:none!important;
  border:1px solid var(--gr-line-2)!important;border-left:2px solid var(--gr-gold)!important;border-radius:var(--gr-r)!important;
  background:rgba(217,170,82,.05)!important;color:var(--gr-text)!important;font:400 14px/1.55 var(--gr-sans)!important;box-shadow:none!important}
.ca-grimoar .woocommerce-error,.ca-grimoar .alert.-danger{border-left-color:var(--gr-danger)!important;background:rgba(236,154,132,.06)!important}
.ca-grimoar .woocommerce-message::before,.ca-grimoar .woocommerce-info::before,.ca-grimoar .woocommerce-error::before{display:none!important}
.ca-grimoar .alert p,.ca-grimoar .alert ul{margin:0;padding:0;list-style:none}
.ca-grimoar .alert [data-js="close-alert"]{flex:none;margin-left:auto;width:32px;height:32px;padding:0;border:0;background:none;color:var(--gr-muted);cursor:pointer;display:grid;place-items:center}
.ca-grimoar .alert [data-js="close-alert"] svg{fill:currentColor}
.ca-grimoar .woocommerce-message .button,.ca-grimoar .woocommerce-info .button{order:2;margin-left:auto;background:none!important;border:0!important;padding:0!important;color:var(--gr-gold)!important;font-weight:600}

/* ---------- buttons ---------- */
.ca-grimoar .gr-btn,.ca-grimoar .gr-content .button,.ca-grimoar .gr-content button[type="submit"]{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--gr-r)!important;
  font:600 14.5px/1 var(--gr-sans)!important;letter-spacing:.02em!important;text-transform:none!important;text-decoration:none!important;cursor:pointer;
  border:1px solid var(--gr-line-3)!important;background:transparent!important;color:var(--gr-gold)!important;box-shadow:none!important;transition:transform .2s var(--gr-ease),border-color .2s,color .2s}
.ca-grimoar .gr-btn-gold,.ca-grimoar .gr-content button[type="submit"],.ca-grimoar .gr-content .button.alt{border:0!important;background:var(--gr-grad)!important;color:var(--gr-ink)!important;font-weight:700!important}
.ca-grimoar .gr-btn-quiet{border-color:var(--gr-line)!important;color:var(--gr-soft)!important}
.ca-grimoar .gr-btn:active,.ca-grimoar .gr-content .button:active{transform:scale(.985)}
@media (hover:hover){.ca-grimoar .gr-btn:hover{transform:translateY(-1px)}}

/* ---------- holo (banner, stage cards, ceremony) ---------- */
@keyframes gr-spin{to{transform:rotate(360deg)}}
@keyframes gr-sheen{0%{transform:translateX(-140%) skewX(-18deg)}55%,100%{transform:translateX(330%) skewX(-18deg)}}
@keyframes gr-hue{to{background-position:200% 50%}}
@keyframes gr-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.gr-holo{position:relative;overflow:hidden;isolation:isolate}
.gr-foil{position:absolute;left:-60%;top:-60%;width:220%;height:220%;background:var(--gr-foil);filter:blur(26px);opacity:.34;mix-blend-mode:screen;animation:gr-spin 16s linear infinite;z-index:-1;pointer-events:none}
.gr-grain{position:absolute;inset:0;background:repeating-linear-gradient(125deg,rgba(255,255,255,.045) 0 2px,transparent 2px 7px);z-index:-1;pointer-events:none}
.gr-sheen{position:absolute;top:-10%;bottom:-10%;left:0;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);animation:gr-sheen 6.5s ease-in-out infinite;z-index:-1;pointer-events:none}
.gr-holo-text{background-image:var(--gr-text);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;animation:gr-hue 7s linear infinite}
.gr-medal{position:relative;width:132px;height:132px;flex:none;animation:gr-float 6s ease-in-out infinite;filter:drop-shadow(0 0 24px var(--gr-glow))}
.gr-medal-ring{position:absolute;inset:0;border-radius:50%;background:var(--gr-ring);animation:gr-spin 9s linear infinite}
.gr-medal-disc{position:absolute;inset:3px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#24211d,#0b0a09 72%)}
.gr-medal-s{width:64px;height:64px;filter:drop-shadow(0 0 14px var(--gr-glow))}
.gr-medal-xl{width:176px;height:176px}
.gr-medal.is-locked{filter:none;animation:none}
.gr-medal.is-locked .gr-medal-ring{background:none;border:1px dashed rgba(169,155,133,.5);animation:none}

/* ---------- dashboard ---------- */
.gr-hello{margin:0 0 14px;font:italic 400 16px/1.4 var(--gr-serif);color:var(--gr-muted)}
.gr-top-grid{display:grid;gap:16px}
.gr-banner{min-height:470px;border-radius:20px;border:1px solid var(--gr-edge);background:radial-gradient(120% 90% at 50% 0%,var(--gr-ground) 0%,#0a0908 72%);box-shadow:0 26px 70px -34px var(--gr-glow)}
.gr-banner-in{display:flex;flex-direction:column;align-items:center;height:100%;min-height:470px;padding:26px 22px 24px;text-align:center}
.gr-banner-kicker{margin:0;font-size:12.5px;letter-spacing:.08em;color:#dcd9d2}
.gr-banner .gr-medal{margin-top:22px}
.gr-banner-name{margin:22px 0 0!important;font-size:clamp(46px,9vw,64px)!important;line-height:1!important}
.gr-banner-word{margin:10px 0 0;max-width:34ch;font:italic 400 16px/1.5 var(--gr-serif);color:#e2ded6}
.gr-banner-gift{margin:auto 0 0;display:inline-flex;align-items:baseline;gap:8px;padding:10px 18px;border:1px solid var(--gr-edge);border-radius:999px;background:rgba(10,9,8,.55)}
.gr-banner-gift strong{font:400 24px/1 var(--gr-serif);color:#fff}
.gr-banner-gift span{font-size:14px;color:#e4e1da}
.gr-banner.gr-locked{border-style:dashed;border-color:rgba(169,155,133,.35);background:radial-gradient(120% 90% at 50% 0%,#141210 0%,#080706 72%);box-shadow:none}
.gr-locked .gr-banner-name{color:var(--gr-soft)!important;font-size:clamp(36px,7vw,50px)!important}
.gr-locked .gr-btn{margin-top:auto;width:100%;max-width:320px}
.gr-side{display:grid;gap:16px;align-content:start}
.gr-card{padding:20px 18px;border:1px solid var(--gr-line);border-radius:var(--gr-r);background:var(--gr-panel)}
.gr-card-kicker{margin:0;font-size:13px;color:var(--gr-muted)}
.gr-card-title{margin:6px 0 0!important;font-size:24px!important;line-height:1.2!important}
.gr-progress p{margin:0}
.gr-progress-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px}
.gr-progress-final{font:400 18px/1.4 var(--gr-serif)}
.gr-progress-lead{font-size:15px;color:var(--gr-soft)}
.gr-progress-lead strong{color:var(--gr-text)}
.gr-meter{margin:14px 0 12px}
.gr-meter-row{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:12.5px;color:var(--gr-muted)}
.gr-meter .gr-bar{margin:6px 0 4px}
.gr-bar{position:relative;height:6px;margin:10px 0;border-radius:3px;background:var(--gr-line)}
.gr-bar span{position:absolute;left:0;top:0;bottom:0;border-radius:3px}
.gr-progress > p:not(.gr-progress-final){font-size:14px;color:var(--gr-soft)}
.gr-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:20px 0 0;padding:0;list-style:none}
.gr-strip li{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.gr-strip-seal{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px dashed var(--gr-line-2)}
.gr-strip li.is-locked .gr-strip-seal svg{opacity:.45}
.gr-strip li.is-done .gr-strip-seal{border:1px solid var(--gr-edge)}
.gr-strip li.is-now .gr-strip-seal{border:1.5px solid var(--gr-sig);box-shadow:0 0 16px var(--gr-glow)}
.gr-strip-name{font:400 12.5px/1.2 var(--gr-serif);color:var(--gr-soft)}
.gr-strip li.is-now .gr-strip-name,.gr-strip li.is-now .gr-strip-note{color:var(--gr-sig)}
.gr-strip-note{font-size:11.5px;color:var(--gr-dim)}
.gr-ritual.is-due{border-color:var(--gr-line-3)}
.gr-ritual .gr-btn-gold{width:100%;margin-top:18px;min-height:54px}
.gr-ritual-items,.gr-order-items{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}
.gr-ritual-items li,.gr-order-items li{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--gr-soft)}
.gr-ritual-items em,.gr-order-items em{font-style:normal;color:var(--gr-dim)}
.gr-thumb{flex:none;width:48px;height:48px;border-radius:var(--gr-r);overflow:hidden;border:1px solid var(--gr-line);background:#000}
.gr-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gr-mini-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0 4px;padding:0;list-style:none;font-size:11.5px;color:var(--gr-dim)}
.gr-mini-steps li{display:flex;flex-direction:column;gap:8px}
.gr-mini-steps li span{display:block;height:3px;margin-right:3px;background:var(--gr-line)}
.gr-mini-steps li.is-done span{background:var(--gr-gold)}
.gr-mini-steps li.is-done{color:var(--gr-soft)}
.gr-ritual .gr-btn-line{margin-top:14px}

.gr-section{margin-top:40px}
.gr-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px}
.gr-section-head h2,.gr-section-title{font-size:28px!important}
.gr-section-title{margin-bottom:12px!important}
.gr-section-head p{margin:0;font-size:13px;color:var(--gr-muted)}
.gr-lede{margin:0 0 18px;max-width:62ch;font:400 16px/1.6 var(--gr-serif);color:var(--gr-soft)}
.gr-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.gr-collection a{display:flex;flex-direction:column;gap:6px;height:100%;padding:10px 10px 14px;border:1px solid var(--gr-line-2);border-radius:var(--gr-r);background:var(--gr-panel);color:var(--gr-text);text-decoration:none}
.gr-col-img{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:2px;background:#000}
.gr-col-img img{width:100%;height:100%;object-fit:cover;display:block}
.gr-col-name{margin-top:6px;font:400 16px/1.25 var(--gr-serif)}
.gr-col-note{font-size:12.5px;color:var(--gr-muted)}
.gr-collection li.is-new a{border-style:dashed;background:transparent}
.gr-collection li.is-new .gr-col-img{opacity:.55;filter:grayscale(.5)}
.gr-collection li.is-new .gr-col-note{color:var(--gr-gold)}
.gr-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.gr-badges li{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;text-align:center;border:1px solid var(--gr-line);border-radius:var(--gr-r);background:var(--gr-panel)}
.gr-badge-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px dashed var(--gr-line-2);color:var(--gr-dim)}
.gr-badges li.is-got .gr-badge-icon{border:1px solid var(--gr-line-3);color:var(--gr-gold-hi);background:radial-gradient(circle,rgba(217,170,82,.18),transparent 70%);box-shadow:0 0 18px rgba(217,170,82,.25)}
.gr-badge-name{font:400 14px/1.25 var(--gr-serif);color:var(--gr-soft)}
.gr-badges li.is-got .gr-badge-name{color:var(--gr-text)}
.gr-badge-how{font-size:11.5px;color:var(--gr-dim)}
.gr-badges li.is-got .gr-badge-how{color:var(--gr-gold)}
.gr-menu{display:flex;flex-direction:column;border-top:1px solid var(--gr-line)}
.ca-grimoar .gr-menu a{display:flex;align-items:center;justify-content:space-between;min-height:58px;border-bottom:1px solid var(--gr-line);color:var(--gr-text);text-decoration:none}
.ca-grimoar .gr-menu a.is-out{color:var(--gr-muted)}
.gr-menu-end{display:flex;align-items:center;gap:10px;color:var(--gr-gold)}
.gr-menu-count{color:var(--gr-dim);font-size:14px}
.gr-stage-cards{display:grid;gap:14px}
.gr-stage-card{padding:18px 18px 4px;border-radius:16px;border:1px solid var(--gr-edge);background:radial-gradient(120% 90% at 50% 0%,var(--gr-ground) 0%,#0a0908 72%)}
.gr-stage-card.is-locked .gr-foil{opacity:.18}
.gr-stage-top{display:flex;align-items:center;gap:16px}
.gr-chip{display:inline-block;padding:3px 10px;border:1px solid var(--gr-edge);border-radius:999px;font-size:11.5px;color:var(--gr-sig)}
.gr-stage-card h3{margin-top:6px!important;font-size:30px!important;line-height:1!important}
.gr-stage-word{margin:4px 0 0;font:italic 400 14.5px/1.4 var(--gr-serif);color:#ddd8cf}
.gr-facts{display:grid;gap:12px;margin:16px -18px 0;padding:16px 18px 18px;background:rgba(5,4,3,.72);border-top:1px solid var(--gr-line)}
.gr-facts dt{font-size:12px;letter-spacing:.06em;color:var(--gr-muted)}
.gr-facts dd{margin:3px 0 0;font-size:14px;line-height:1.5;color:#e9e1d3}
.gr-rules{display:grid;gap:8px;margin:20px 0 0;padding:0 0 0 18px;font-size:14px;color:var(--gr-soft)}

/* ---------- ceremony ---------- */
@keyframes gr-cer-in{from{opacity:0}to{opacity:1}}
@keyframes gr-cer-rise{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@keyframes gr-cer-rays{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes gr-cer-medal{0%{transform:scale(.4) rotate(-90deg);opacity:0}60%{transform:scale(1.08) rotate(8deg);opacity:1}100%{transform:scale(1) rotate(0)}}
.gr-ceremony{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px;background:#040302;animation:gr-cer-in .5s ease both;overflow:hidden}
.gr-cer-glow{position:absolute;left:50%;top:42%;width:520px;height:520px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,var(--gr-glow),transparent 62%);opacity:.7}
.gr-cer-rays{position:absolute;left:50%;top:42%;width:900px;height:900px;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.06) 0deg 3deg,transparent 3deg 18deg);border-radius:50%;animation:gr-cer-rays 40s linear infinite;mask:radial-gradient(circle,#000 20%,transparent 65%);-webkit-mask:radial-gradient(circle,#000 20%,transparent 65%)}
.gr-cer-inner{position:relative;display:flex;flex-direction:column;align-items:center;max-width:420px;text-align:center;animation:gr-cer-rise .7s var(--gr-ease) .15s both}
.gr-cer-kicker{margin:0 0 22px;font-size:13px;letter-spacing:.12em;color:#ddd8cf}
.gr-ceremony .gr-medal{animation:gr-cer-medal 1.1s var(--gr-ease) .3s both}
.gr-ceremony h2{margin:34px 0 0!important;font-size:clamp(38px,9vw,54px)!important;line-height:1.02!important}
.gr-cer-line{margin:12px 0 0;font:italic 400 17px/1.5 var(--gr-serif);color:#e4e1da}
.gr-cer-gift{margin:16px 0 0;font-size:15px;color:var(--gr-soft)}
.gr-cer-gift strong{color:#fff;font:400 20px/1 var(--gr-serif)}
.gr-ceremony .gr-btn{margin-top:28px;min-width:240px;min-height:54px}
html.gr-lock,html.gr-lock body{overflow:hidden}

/* ---------- orders ---------- */
.gr-page-head{margin:0 0 20px}
.ca-grimoar .gr-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14px;text-decoration:none}
.gr-page-title{margin-top:4px!important;font-size:clamp(32px,6vw,44px)!important;line-height:1.05!important}
.gr-orders{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.gr-order-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.gr-order-head h2{font-size:28px!important}
.ca-grimoar .gr-order-head h2 a{color:var(--gr-text);text-decoration:none}
.gr-status{flex:none;padding:4px 10px;border:1px solid var(--gr-line-2);border-radius:999px;font-size:12.5px;color:var(--gr-gold-hi)}
.is-completed .gr-status,.gr-order-hero .gr-status{color:var(--gr-ok);border-color:rgba(185,207,149,.45)}
.is-cancelled .gr-status,.is-failed .gr-status,.is-refunded .gr-status{color:var(--gr-danger);border-color:rgba(236,154,132,.45)}
.gr-order-meta{margin:6px 0 0;font-size:13.5px;color:var(--gr-muted)}
.gr-order-meta strong{color:var(--gr-text)}
.gr-terminal{margin:14px 0 0;padding:10px 12px;border:1px solid rgba(236,154,132,.35);border-radius:var(--gr-r);color:var(--gr-danger);font-size:13.5px}
.gr-order-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.gr-order-actions .gr-btn{flex:1 1 150px}
.gr-pages{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;font-size:14px}
.gr-pages a{display:inline-flex;align-items:center;min-height:44px}
.gr-order-hero .gr-order-head{align-items:baseline}
.gr-timeline{display:flex;flex-direction:column;margin:18px 0 6px;padding:0;list-style:none}
.gr-timeline li{position:relative;display:flex;gap:14px;padding-bottom:16px}
.gr-timeline li:not(:last-child)::after{content:"";position:absolute;left:5.5px;top:18px;bottom:0;width:1.5px;background:var(--gr-line-2)}
.gr-timeline li.is-done:not(:last-child)::after{background:rgba(217,170,82,.6)}
.gr-dot{flex:none;width:12px;height:12px;margin-top:5px;border-radius:50%;border:1.5px solid var(--gr-line-3);background:var(--gr-bg)}
.gr-timeline li.is-done .gr-dot{background:var(--gr-gold);border-color:var(--gr-gold)}
.gr-timeline p{margin:0;font-size:15px}
.gr-timeline .gr-muted{font-size:13px}
.gr-notes{margin-top:14px}
.gr-notes ol{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.gr-notes p{margin:0}
.gr-order-details{margin-top:26px}

/* ---------- WooCommerce content (order details, addresses, forms, tables) ---------- */
.ca-grimoar .gr-content h2,.ca-grimoar .gr-content h3{font-size:22px!important;margin:0 0 12px!important}
.ca-grimoar .gr-content table.shop_table,.ca-grimoar .gr-content .woocommerce-table{width:100%;border-collapse:collapse;margin:0 0 22px;border:1px solid var(--gr-line)!important;border-radius:var(--gr-r);background:var(--gr-panel);font-size:14.5px}
.ca-grimoar .gr-content table th,.ca-grimoar .gr-content table td{padding:12px 14px!important;border:0!important;border-bottom:1px solid var(--gr-line)!important;text-align:left;vertical-align:top;color:var(--gr-text);background:none!important}
.ca-grimoar .gr-content table thead th{font:600 12px/1.3 var(--gr-sans);letter-spacing:.06em;color:var(--gr-muted)}
.ca-grimoar .gr-content table tfoot th{font-weight:400;color:var(--gr-soft)}
.ca-grimoar .gr-content table tfoot tr:last-child td,.ca-grimoar .gr-content table tfoot tr:last-child th{font-size:16px}
.ca-grimoar .gr-content .wc-item-meta{margin:4px 0 0;padding:0;list-style:none;font-size:12.5px;color:var(--gr-muted)}
.ca-grimoar .gr-content .wc-item-meta p{display:inline;margin:0}
.ca-grimoar .gr-content address{padding:16px 18px;border:1px solid var(--gr-line);border-radius:var(--gr-r);background:var(--gr-panel);font-style:normal;line-height:1.7;color:var(--gr-soft)}
.ca-grimoar .gr-content .woocommerce-customer-details .col2-set,.ca-grimoar .gr-content .woocommerce-Addresses{display:grid;gap:16px}
.ca-grimoar .gr-content .col-1,.ca-grimoar .gr-content .col-2,.ca-grimoar .gr-content .woocommerce-column{float:none!important;width:auto!important;max-width:none!important;padding:0!important}
.ca-grimoar .gr-content .woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.ca-grimoar .gr-content .woocommerce-Address-title .edit{font-size:14px}
.ca-grimoar .gr-content > p:first-child,.ca-grimoar .gr-content .woocommerce-Addresses + p{color:var(--gr-soft)}
.ca-grimoar .gr-content form .form-row,.ca-grimoar .gr-content .gr-field,.ca-grimoar .gr-form .gr-field,.ca-grimoar .gr-form .form-row{display:flex;flex-direction:column;gap:6px;width:100%!important;float:none!important;margin:0 0 16px!important;padding:0!important}
.ca-grimoar .gr-content label{font-size:13.5px;color:var(--gr-soft);font-weight:400}
.ca-grimoar .gr-content .required{color:var(--gr-gold);text-decoration:none;border:0}
.ca-grimoar .gr-content input.input-text,.ca-grimoar .gr-content input[type="text"],.ca-grimoar .gr-content input[type="email"],.ca-grimoar .gr-content input[type="password"],.ca-grimoar .gr-content input[type="tel"],.ca-grimoar .gr-content select,.ca-grimoar .gr-content textarea,
.ca-grimoar .gr-form input.input-text,.ca-grimoar .gr-form input[type="text"],.ca-grimoar .gr-form input[type="email"],.ca-grimoar .gr-form input[type="password"]{
  width:100%!important;max-width:none!important;min-height:52px;padding:0 14px;border:1px solid var(--gr-line-2)!important;border-radius:var(--gr-r)!important;background:var(--gr-field)!important;color:var(--gr-text)!important;font:400 16px/1.4 var(--gr-sans)!important;box-shadow:none!important}
.ca-grimoar .gr-content textarea{padding:12px 14px;min-height:110px}
.ca-grimoar .gr-content input:focus,.ca-grimoar .gr-content select:focus,.ca-grimoar .gr-content textarea:focus,.ca-grimoar .gr-form input:focus{border-color:var(--gr-gold)!important;outline:none!important}
.ca-grimoar .gr-content fieldset{margin:10px 0 18px;padding:16px;border:1px solid var(--gr-line);border-radius:var(--gr-r)}
.ca-grimoar .gr-content legend{padding:0 6px;font:400 18px/1 var(--gr-serif)}
.ca-grimoar .gr-content .select2-container .select2-selection--single{height:52px;border:1px solid var(--gr-line-2);border-radius:var(--gr-r);background:var(--gr-field)}
.ca-grimoar .gr-content .select2-container .select2-selection__rendered{line-height:50px;color:var(--gr-text);padding-left:14px}
.ca-grimoar .gr-content .select2-container .select2-selection__arrow{height:50px}
.ca-grimoar .select2-dropdown{background:var(--gr-panel-2);border-color:var(--gr-line-2);color:var(--gr-text)}
.ca-grimoar .select2-results__option--highlighted{background:rgba(217,170,82,.18)!important;color:var(--gr-text)!important}
.ca-grimoar .gr-content .woocommerce-PaymentMethods,.ca-grimoar .gr-content .woocommerce-MyAccount-paymentMethods{width:100%}

/* ---------- login ---------- */
.gr-login{display:grid;gap:16px;max-width:520px;margin:0 auto}
.gr-reg-first .gr-register{order:-1}.gr-reg-first .gr-login-hero{order:-2}
.gr-login-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 0 6px}
.gr-login-hero .gr-medal{width:104px;height:104px;margin-bottom:18px}
.gr-login-hero h1{font-size:clamp(36px,8vw,48px)!important;line-height:1.02!important}
.gr-login-hero p{margin:12px 0 0;max-width:42ch;font:400 16px/1.55 var(--gr-serif);color:var(--gr-soft)}
.gr-login-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;margin:22px 0 0;padding:0;list-style:none}
.gr-login-stages li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border:1px solid var(--gr-edge);border-radius:var(--gr-r);font-size:12px;color:var(--gr-soft)}
.gr-login-stages span{font-family:var(--gr-serif);font-size:12.5px}
.gr-login-stages em{font-style:normal;color:var(--gr-sig)}
.ca-grimoar form.gr-form{margin:16px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;text-align:left}
.ca-grimoar .gr-form label{font-size:13.5px;color:var(--gr-soft);font-weight:400}
.ca-grimoar .password-input{display:block!important;position:relative;width:100%}
.ca-grimoar .password-input input{padding-right:52px!important}
.ca-grimoar form .show-password-input,.ca-grimoar form .show-password-input:hover{position:absolute!important;right:4px!important;top:50%!important;transform:translateY(-50%)!important;display:grid!important;place-items:center;width:44px!important;height:44px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important}
.ca-grimoar form .show-password-input::before{filter:invert(.86) sepia(.25)}
.ca-grimoar form .show-password-input::after{display:none!important}
.gr-field-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.gr-field-row a{font-size:13px}
.gr-check{display:flex;align-items:center;gap:10px;margin:0 0 18px}
.ca-grimoar .gr-check input[type=checkbox]{-webkit-appearance:checkbox!important;appearance:auto!important;flex:none;width:20px!important;height:20px!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;accent-color:var(--gr-gold)}
.ca-grimoar .gr-form .gr-btn{width:100%;min-height:54px}
.gr-register summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;cursor:pointer;list-style:none;font-size:15px;color:var(--gr-soft)}
.gr-register summary::-webkit-details-marker{display:none}
.gr-register summary strong{color:var(--gr-gold);font-weight:600}
.gr-register[open] summary{margin-bottom:4px}
.gr-register .gr-fine{text-align:left}
.ca-grimoar .woocommerce-privacy-policy-text p{font-size:12.5px;color:var(--gr-dim)}

/* ---------- favourites + empty states ---------- */
.gr-favs{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.gr-favs li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start}
.gr-fav-img{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:2px;background:#000}
.gr-fav-img img{width:100%;height:100%;object-fit:cover;display:block}
.gr-fav-text h2{font-size:20px!important;line-height:1.2!important}
.ca-grimoar .gr-fav-text h2 a{color:var(--gr-text);text-decoration:none}
.gr-fav-price{margin-top:6px;color:var(--gr-gold-hi);font-size:14.5px}
.gr-fav-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.gr-fav-actions .gr-btn{min-height:44px;padding:0 14px;font-size:13.5px!important}
.gr-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 16px;text-align:center;border:1px dashed var(--gr-line-2);border-radius:var(--gr-r)}
.gr-empty h2{font-size:28px!important}
.gr-empty p{margin:0;max-width:40ch;color:var(--gr-soft);font:400 15.5px/1.55 var(--gr-serif)}
.gr-empty .gr-btn{margin-top:6px}

/* ---------- personal price note (also used on the site) ---------- */
.ca-gr-row-sigil{display:inline-flex;vertical-align:-3px;margin-right:6px}

/* ---------- the stage's aura (logged-in customers, every page) ---------- */
@keyframes ca-gr-aura-in{from{opacity:0}to{opacity:1}}
.ca-gr-aura-layer{position:fixed;inset:0;z-index:9989;pointer-events:none;opacity:0;animation:ca-gr-aura-in 1.4s ease .2s forwards}
.ca-gr-aura-layer.is-nigredo{background:radial-gradient(140% 95% at 50% 45%,transparent 58%,rgba(0,0,0,.42) 100%),radial-gradient(120% 55% at 50% 100%,rgba(120,110,140,.12),transparent 62%),radial-gradient(90% 40% at 50% 0%,rgba(80,74,92,.10),transparent 70%)}
.ca-gr-aura-layer.is-albedo{background:radial-gradient(120% 70% at 50% 0%,rgba(236,240,250,.11),transparent 58%),radial-gradient(140% 95% at 50% 45%,transparent 62%,rgba(214,224,245,.10) 100%)}
.ca-gr-aura-layer.is-citrinitas{background:radial-gradient(120% 70% at 50% 0%,rgba(242,207,104,.12),transparent 58%),radial-gradient(140% 95% at 50% 45%,transparent 60%,rgba(229,189,79,.13) 100%)}
.ca-gr-aura-layer.is-rubedo{background:radial-gradient(120% 70% at 50% 0%,rgba(240,110,90,.12),transparent 58%),radial-gradient(140% 95% at 50% 45%,transparent 58%,rgba(184,35,58,.17) 100%)}
html.ca-gr-aura-nigredo ::selection{background:rgba(120,110,140,.45);color:#fff}
html.ca-gr-aura-albedo ::selection{background:rgba(214,224,245,.4);color:#050403}
html.ca-gr-aura-citrinitas ::selection{background:rgba(229,189,79,.45);color:#050403}
html.ca-gr-aura-rubedo ::selection{background:rgba(224,116,93,.45);color:#fff}


/* ---------- wider screens ---------- */
@media (min-width:900px){
  .gr-top-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}
  .gr-banner,.gr-banner-in{min-height:560px}
  .gr-collection{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gr-badges{grid-template-columns:repeat(6,minmax(0,1fr))}
  .gr-stage-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gr-orders{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gr-favs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gr-account.is-endpoint{max-width:860px;margin:0 auto}
  .gr-account.gr-ep-orders,.gr-account.gr-ep-favoritele-mele{max-width:none}
  .ca-grimoar .gr-content .woocommerce-customer-details .col2-set,.ca-grimoar .gr-content .woocommerce-Addresses{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:380px){
  .gr-badges{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gr-strip-name{font-size:11.5px}
}
@media (prefers-reduced-motion:reduce){
  .gr-foil,.gr-sheen,.gr-holo-text,.gr-medal,.gr-medal-ring,.gr-cer-rays,.gr-ceremony,.gr-cer-inner,.gr-ceremony .gr-medal{animation:none!important}
  .ca-gr-aura-layer{animation:none!important;opacity:1}
}
