/* Customer journey v1: quiet botanical surfaces, readable facts and honest feedback.
   Opt-in only: never changes staff CRM or general storefront pages. */
html[data-customer-experience] {
  --cx-bg:#FBF9FE; --cx-tint:#F1EBF8; --cx-line:#DDD4E8;
  --cx-ink:#2E2740; --cx-muted:#655B75; --cx-action:#5D4B7E;
  --cx-success:#356447; --cx-success-bg:#EFF6F0;
  --cx-warning:#785027; --cx-warning-bg:#FCF3E7;
  --cx-error:#8C393E; --cx-error-bg:#FBEFF0;
  --cx-radius:20px; --cx-shadow:0 4px 20px -12px rgba(46,39,64,.18);
  --cx-press:90ms; --cx-release:220ms; --cx-ease:cubic-bezier(.2,.7,.2,1);
  --ink:var(--cx-ink); --ink2:var(--cx-ink); --bg:var(--cx-bg);
  --soft:var(--cx-muted); --muted:var(--cx-muted); --muted2:var(--cx-muted);
  --sec:var(--cx-muted); --cream:var(--cx-bg); --line:var(--cx-line);
  --rose:var(--cx-action); --rose-deep:var(--cx-action);
  --blush-soft:var(--cx-tint); --cream2:var(--cx-tint);
  color-scheme:light;
}
html[data-customer-experience][data-brand="adorable_stuff"] {
  --cx-bg:#FBF6F1; --cx-tint:#F8ECE8; --cx-line:#DFCFC7;
  --cx-muted:#6D5B59; --cx-action:#80526A;
}
html[data-customer-experience] body {
  background:var(--cx-bg); color:var(--cx-ink);
  font-family:"Karla",system-ui,-apple-system,sans-serif;
  font-size:16px; line-height:1.65; text-rendering:optimizeLegibility;
}
html[data-customer-experience] .pt,
html[data-customer-experience] .pt-scope {
  --pt-cream:var(--cx-bg); --pt-card:#fff; --pt-ink:var(--cx-ink);
  --pt-ink2:var(--cx-ink); --pt-sec:var(--cx-muted);
  --pt-muted:var(--cx-muted); --pt-muted2:var(--cx-muted);
  --pt-rose-deep:var(--cx-action); --pt-rose:var(--cx-action);
  --pt-rose-lt:var(--cx-line); --pt-peach:var(--cx-tint);
  --pt-peach-line:var(--cx-line); --pt-line:var(--cx-line);
  --pt-soft:var(--cx-muted); --pt-r:var(--cx-radius);
}
html[data-customer-experience] .pt::before { opacity:.12; }
html[data-customer-experience] :is(.garland,.pt-garland,.pt-curl,.pt-curl path,.bloom svg,.pt-bloom svg,.pt-halo) {
  animation:none; transition:none;
}
html[data-customer-experience] .pt-curl { opacity:.18; }
html[data-customer-experience] :is(.bar-fill,.pt-bar-f,.pt-mini .fl) { transition:none; background:var(--cx-action); }
html[data-customer-experience] :is(.bar-track,.pt-bar-t,.pt-mini .tk) { background:var(--cx-line); }
html[data-customer-experience] :is(.greet,.pt-greet) { animation:cx-arrive 220ms var(--cx-ease) both; }
@keyframes cx-arrive { from { opacity:.7; transform:translateY(4px); } to { opacity:1; transform:none; } }

html[data-customer-experience] :is(.card,.pt-c,.ac-card,.cx-next,.cx-payments,.cx-parcel,.pt-proof) {
  border:1px solid var(--cx-line); border-radius:var(--cx-radius);
  box-shadow:var(--cx-shadow); background:#fff;
}
html[data-customer-experience] :is(h1,h2,h3,.sec-t,.jr-now,.pt-bname) {
  color:var(--cx-ink); font-family:"Playfair Display",Georgia,serif;
  font-weight:600; line-height:1.3; text-wrap:balance;
}
html[data-customer-experience] :is(.pt-code,.ocode,.kicker,.pt-kicker,.pt-btag,.bubble .m,.pt-note .w,.pt-mini .n,.pt-pill) {
  color:var(--cx-muted); font-size:13px; line-height:1.5;
}
html[data-customer-experience] :is(.pt-step .wn,.pt-jr .dt,.pt-now-count,.jr-count) { font-size:13px; color:var(--cx-muted); }
html[data-customer-experience] :is(.pt-hint,.pt-lbl em,.pt-act small,.pt-keep .mt .spec,.pt-c .pt-now-note,.ftr p,.pt-keep .mt small,.ac-card .note,.ac-ord summary small) {
  font-size:14px; color:var(--cx-muted); line-height:1.6;
}
html[data-customer-experience] :is(label.f span,.ac-money span,.pt-keep .mt .owe) { font-size:13px; }
html[data-customer-experience] :is(.sec-sub,.ac-sub,.muted,.pt-spec,.pt-greet p,.greet p) { color:var(--cx-muted); line-height:1.65; }
/* Storefront marketing subtitles can stay collapsed; account/access instructions cannot. */
html[data-customer-experience] .sec-sub { display:block; margin-left:0; margin-right:0; }
html[data-customer-experience] :is(.pt-stack,.ac-wrap) { width:100%; }
html[data-customer-experience] :is(.pt-stack,.wrap) { overflow-wrap:anywhere; }
html[data-customer-experience] :is(.pt-row,.cx-price-lines li) { gap:1rem; align-items:baseline; }
html[data-customer-experience] :is(.pt-num,.cx-amount) { font-variant-numeric:tabular-nums; font-family:var(--font-price,system-ui,sans-serif); }

html[data-customer-experience] :is(a,button,input,textarea,select,summary):focus-visible {
  outline:3px solid var(--cx-action); outline-offset:3px;
}
html[data-customer-experience] :is(input,textarea,select) {
  font:inherit; font-size:16px; color:var(--cx-ink);
}
html[data-customer-experience] :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea) {
  min-height:48px; min-width:0; border-color:var(--cx-line);
}
html[data-customer-experience] :is(input,textarea,select)::placeholder { color:var(--cx-muted); opacity:1; }
html[data-customer-experience] :is(label,.pt-agree) { color:var(--cx-ink); }
html[data-customer-experience] :is(input[type="checkbox"],input[type="radio"]) { accent-color:var(--cx-action); width:20px; height:20px; flex:none; }
html[data-customer-experience] .pt-agree { min-height:44px; align-items:flex-start; padding:10px 0; }
html[data-customer-experience] .pt-agree input { margin-top:3px; }
html[data-customer-experience] .pt-names > label { display:flex; flex-direction:column; gap:.4rem; width:100%; min-width:0; font-size:14px; font-weight:700; }
html[data-customer-experience] :is(.btn,.pt-btn,.ac-btn,.send,.cx-action,.btn-yes,.pt-skip,.xl-btn) {
  min-height:48px; padding:.75rem 1.2rem; font-family:inherit; font-size:16px;
  font-weight:700; line-height:1.4; border-radius:14px; text-align:center;
  transition:transform var(--cx-release) var(--cx-ease),background-color var(--cx-release) ease,box-shadow var(--cx-release) ease;
}
html[data-customer-experience] :is(.btn-p,.btn:not(.btn-alt):not(.btn-o):not(.btn-g):not(.btn-glass):not(.cx-secondary),.pt-btn.p,.pt-frame > .pt-btn,.btn-yes,.ac-btn,.send,.cx-action) {
  background:var(--cx-action); color:#fff; border:1px solid var(--cx-action);
  box-shadow:0 3px 12px -7px rgba(46,39,64,.28);
}
html[data-customer-experience] :is(.btn-alt,.btn-o,.pt-btn.g,.cx-secondary) {
  background:#fff; color:var(--cx-action); border:1px solid var(--cx-action); box-shadow:none;
}
html[data-customer-experience] .pt-btn { width:auto; margin-top:0; }
html[data-customer-experience] .pt-btn.full,
html[data-customer-experience] .pt-frame > .pt-btn { width:100%; margin-top:1.2rem; }
html[data-customer-experience] .pt-skip { background:transparent; color:var(--cx-muted); font-size:14px; border:none; }
html[data-customer-experience] :is(.btn,.pt-btn,.ac-btn,.send,.cx-action,.btn-yes):is(:active,.is-pressed) {
  transform:scale(.985); transition-duration:var(--cx-press);
}
html[data-customer-experience] :is(button,[role="button"]):is(:disabled,[aria-disabled="true"]) {
  opacity:.65; cursor:wait; transform:none; box-shadow:none; pointer-events:none;
}
html[data-customer-experience] :is(.pt-btn,.btn,.ac-btn,.cx-action):hover { transform:none; filter:none; }
html[data-customer-experience] :is(summary,.pt-langsw,.langsw,.ac-links a,.hd-nav a,.pt-ship a) {
  min-height:44px; display:inline-flex; align-items:center;
}
html[data-customer-experience] :is(.pt-jr > summary,.pt-journey > summary,.pt-faq summary,.faq summary,.ac-ord summary) { display:flex; }
html[data-customer-experience] .pt-ask { flex-wrap:wrap; align-items:stretch; gap:.65rem; }
html[data-customer-experience] .pt-ask input { flex:1 1 220px; border-radius:12px; background:#fff; }
html[data-customer-experience] .pt-ask textarea { flex:1 1 220px; width:100%; border-radius:12px; padding:.7rem .85rem; background:#fff; resize:vertical; }
html[data-customer-experience] .pt-ask .pt-btn { flex:0 0 auto; width:auto; margin-top:0; }
html[data-customer-experience] .pt-ask .cx-form-feedback { flex-basis:100%; }
html[data-customer-experience] textarea.reply { width:100%; min-height:90px; resize:vertical; background:#fff; }
html[data-customer-experience] .photo-slot { position:relative; height:250px; overflow:hidden; background:var(--cx-tint); display:flex; align-items:center; justify-content:center; }
html[data-customer-experience] .photo-slot img { max-height:250px; width:100%; height:100%; object-fit:contain; }
html[data-customer-experience] .photo-pill { color:var(--cx-action); font-size:13px; }
html[data-customer-experience] :is(.bubble,.ship,.pt-ship,.addr,.pt-about) { background:var(--cx-tint); border-color:var(--cx-line); }
html[data-customer-experience] .bubble .b { color:var(--cx-ink); font-size:16px; }

html[data-customer-experience] .cx-next { padding:1.25rem; margin:1rem 0; border-color:var(--cx-action); }
html[data-customer-experience] .cx-next h2 { margin:0 0 .4rem; font-size:1.35rem; }
html[data-customer-experience] .cx-next p { color:var(--cx-muted); margin:.5rem 0; }
html[data-customer-experience] :is(.cx-next-actions,.cx-actions) { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; align-items:center; }
html[data-customer-experience] .cx-action { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
html[data-customer-experience] .cx-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:48px; border-radius:14px; padding:.65rem 1rem; font-weight:700; }
html[data-customer-experience] .cx-meta { display:block; font-size:14px; color:var(--cx-muted); }
html[data-customer-experience] :is(.cx-status,.pt-ok,.ac-ok,.sent-ok) { color:var(--cx-success); background:var(--cx-success-bg); border-color:#B5CBB9; font-size:15px; line-height:1.6; }
html[data-customer-experience] .cx-status { padding:.75rem .9rem; border:1px solid #B5CBB9; border-radius:12px; margin:.75rem 0; }
html[data-customer-experience] :is(.pt-ok.pt-bad,.ac-warn,.cx-error) { color:var(--cx-error); background:var(--cx-error-bg); border-color:#D6ABB0; }
html[data-customer-experience] :is(.pt-fee,.cx-warning) { color:var(--cx-warning); background:var(--cx-warning-bg); border-color:#D9C39F; }
html[data-customer-experience] :is(.pt-fee b,.pt-feeamt) { color:var(--cx-warning); }
html[data-customer-experience] :is(.cx-form-feedback,.cx-help) { margin-top:.75rem; color:var(--cx-muted); font-size:14px; line-height:1.6; }
html[data-customer-experience] .cx-form-feedback:empty { display:none; }
html[data-customer-experience] .cx-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:1rem 0; }
html[data-customer-experience] .cx-summary-grid > * { padding:1rem; border-radius:14px; background:var(--cx-tint); }
html[data-customer-experience] .cx-summary-grid :is(span,strong) { display:block; }
html[data-customer-experience] .cx-summary-grid span { font-size:14px; color:var(--cx-muted); }
html[data-customer-experience] .cx-summary-grid strong { font-size:24px; line-height:1.35; margin-top:.25rem; font-family:var(--font-price,system-ui,sans-serif); font-variant-numeric:tabular-nums; }
html[data-customer-experience] :is(.cx-payments,.cx-parcel) { padding:1.25rem; margin:1rem 0; }
html[data-customer-experience] :is(.cx-payments,.cx-parcel) h2 { margin:0 0 .75rem; font-size:1.35rem; }
html[data-customer-experience] .cx-parcel-leg { background:var(--cx-tint); border-radius:14px; padding:1rem; margin:.75rem 0; }
html[data-customer-experience] .cx-parcel-leg h3 { font-size:18px; margin-bottom:.5rem; }
html[data-customer-experience] .cx-price-lines { list-style:none; padding:0; margin:.6rem 0; }
html[data-customer-experience] .cx-price-lines li { display:flex; justify-content:space-between; padding:.55rem 0; border-bottom:1px solid var(--cx-line); }
html[data-customer-experience] .cx-price-lines li:last-child { border-bottom:0; }
html[data-customer-experience] .cx-price-lines > .pt-row { padding:.55rem 0; border-bottom:1px solid var(--cx-line); }
html[data-customer-experience] .cx-price-lines > .pt-row:last-child { border-bottom:0; }
html[data-customer-experience] .cx-payment-history { margin:1rem 0; border-top:1px solid var(--cx-line); border-bottom:1px solid var(--cx-line); }
html[data-customer-experience] .cx-payment-history > summary { display:flex; align-items:center; min-height:48px; cursor:pointer; font-weight:700; color:var(--cx-action); padding:.5rem 0; }
html[data-customer-experience] .pt-proof { padding:1rem; margin-bottom:1rem; }
html[data-customer-experience] .pt-proof-line { display:flex; justify-content:space-between; gap:1rem; margin:.4rem 0; }
html[data-customer-experience] .pt-proof-preview { background:var(--cx-tint); border-radius:12px; padding:1rem; margin:.7rem 0; text-align:center; font-weight:700; font-size:18px; overflow-wrap:anywhere; }
html[data-customer-experience] .pt-proof-preview .pt-hint { font-size:14px; font-weight:400; }
html[data-customer-experience] .cx-parcel + .cx-parcel { margin-top:1rem; }
html[data-customer-experience] .hd-in { flex-wrap:wrap; justify-content:space-between; }
html[data-customer-experience] .hd-nav { gap:.85rem; font-size:14px; }
html[data-customer-experience] .hd-brand { white-space:normal; }
html[data-customer-experience] .hd-brand small { font-size:12px; }
/* Account pages already carry a wordmark in the main header. Keep language
   access, but do not make customers scroll past a second decorative masthead. */
html[data-customer-experience] .hd ~ :is(.pt,.ac-wrap) .pt-brand { padding:8px 1rem; max-width:640px; margin:0 auto; align-items:flex-end; }
html[data-customer-experience] .hd ~ :is(.pt,.ac-wrap) .pt-brand :is(.pt-garland,.pt-bname,.pt-btag) { display:none; }
html[data-customer-experience] .hd ~ :is(.pt,.ac-wrap) .pt-langsw { margin-top:0; }
html[data-customer-experience] .ft { background:var(--cx-ink); }
html[data-customer-experience] .ft h2 { color:#fff; font-size:18px; margin-bottom:.6rem; }
html[data-customer-experience] :is(.ft a,.ft .brandcol p,.ft-bot,.xl-note) { color:#E2D9EC; font-size:14px; }
html[data-customer-experience] .ft a { min-height:44px; display:flex; align-items:center; }
html[data-customer-experience] .ft-bot a { display:inline; }
html[data-customer-experience] .tabbar { grid-template-columns:repeat(3,1fr); }
html[data-customer-experience] .tabbar a { min-height:52px; font-size:13px; color:var(--cx-muted); }
html[data-customer-experience] .tabbar a.on { color:var(--cx-action); }
html[data-customer-experience] .pt-photo-empty .ph { color:var(--cx-muted); opacity:1; }
html[data-customer-experience] .pt-keep.done { opacity:1; }
html[data-customer-experience] :is(.pt-act,.pt-q,.pt-keep):hover { transform:none; }
/* Receipts have their own small-label stylesheet: do not inherit its old faint ink. */
html[data-customer-experience] .sheet :is(.lab,.cap,th) { color:var(--cx-muted); font-size:13px; }
html[data-customer-experience] .sheet :is(.brand small,.rtitle .when,td .sub,.foot) { color:var(--cx-muted); font-size:14px; }
html[data-customer-experience] .printbtn { position:static; display:flex; width:fit-content; margin:0 auto 1rem; min-height:48px; font-size:16px; border-radius:14px; background:var(--cx-action); }
html[data-customer-experience] .sheet .track { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
html[data-customer-experience] .foot a { color:var(--cx-action); }
@media(max-width:760px) {
  html[data-customer-experience] .hd-nav .hide-m { display:none; }
}
@media(max-width:430px) {
  html[data-customer-experience] header.brandbar { padding:14px 0 16px; }
  html[data-customer-experience] .garland { width:176px; height:48px; }
  html[data-customer-experience] .greet { margin-bottom:20px; }
  html[data-customer-experience] .ocode { margin-top:8px; }
  html[data-customer-experience] :is(.cx-summary-grid,.pt-quad,.pt-acts) { grid-template-columns:1fr; }
  html[data-customer-experience] .pt-acts .pt-act:last-child { grid-column:auto; }
  html[data-customer-experience] .pt-ask :is(input,textarea) { flex-basis:100%; width:100%; }
  html[data-customer-experience] .pt-ask .pt-btn { width:100%; }
  html[data-customer-experience] .pt-stack { padding:1rem 1rem 2.5rem; }
  html[data-customer-experience] .card { padding:1.2rem; }
  html[data-customer-experience] .pt-proof-line { flex-wrap:wrap; gap:.3rem; }
  html[data-customer-experience] .cx-next-actions > *,
  html[data-customer-experience] .cx-actions > * { width:100%; }
  html[data-customer-experience] .pt-step .wn { display:block; white-space:normal; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-customer-experience] { scroll-behavior:auto !important; }
  html[data-customer-experience] *, html[data-customer-experience] *::before,
  html[data-customer-experience] *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  html[data-customer-experience] :is(.btn,.pt-btn,.ac-btn,.send,.cx-action,.btn-yes):is(:active,.is-pressed) { transform:none; }
}
@media print {
  html[data-customer-experience] :is(.hd,.ft,.tabbar,.cx-form-feedback) { display:none; }
  html[data-customer-experience] body { background:#fff; }
  html[data-customer-experience] :is(.card,.pt-c,.cx-next,.pt-proof) { box-shadow:none; break-inside:avoid; }
}
