:root{
  /* Brand palette (canonical - matches existing usage) */
  --green-950:#0a1f0e; --green-900:#1a3d1f; --green-700:#2e5b36;
  --green-500:#3a9954; --green-300:#7dd09a; --gold:#c8a96e;
  --ink:#1a1a1a; --muted:#6b7280; --paper:#f5f5f5; --card:#ffffff;

  /* Radii - use ONLY these (plus 50% for avatars) */
  --radius-sm:8px; --radius-md:14px; --radius-pill:100px;

  /* Elevation */
  --shadow-1:0 1px 3px rgba(10,31,14,.08);
  --shadow-2:0 6px 24px rgba(10,31,14,.10);
  --shadow-3:0 16px 48px rgba(10,31,14,.16);

  /* Spacing scale */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px;

  /* Motion */
  --ease:cubic-bezier(.2,.7,.2,1); --t-fast:.15s; --t-med:.3s;

  /* Type scale (Phase 2 uses these; defined once here) */
  --fs-1:13px; --fs-2:15px; --fs-3:17px; --fs-4:22px;
  --fs-5:28px; --fs-6:38px; --fs-7:52px;
  --font-display:'Cormorant Garamond',serif; --font-body:'DM Sans',sans-serif;

  /* Focus ring (gold @ 40%) */
  --focus-ring:0 0 0 3px rgba(200,169,110,.4);
}
/* Global finishing rules that are safe everywhere */
h1,h2,h3,h4{text-wrap:balance;}
:where(button,a.btn,.btn,.btn-primary,.btn-ghost):focus-visible{outline:3px solid rgba(200,169,110,.4);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}
:root :where(.wp-element-button,.wp-block-button__link){border-radius:var(--radius-md)!important;}
/* Phase 2: type discipline */
h1,h2,h3{line-height:1.15;}
h1,h2{letter-spacing:-0.01em;}
p,li{line-height:1.6;}
/* Token overrides for read-only plugin auth modal */
.db-auth-modal{border-radius:var(--radius-md)!important;}
.db-auth-field input{border-radius:var(--radius-sm)!important;}
.db-auth-btn,.db-google-btn{border-radius:var(--radius-pill)!important;}
.db-auth-message{border-radius:var(--radius-sm)!important;}
@media(max-width:480px){.db-auth-modal{border-radius:var(--radius-md) var(--radius-md) 0 0!important;}}
/* Phase 4: micro-interactions - identical physics on every card, site-wide */
:where(.listing-card,.blog-card,.blog-card-featured,.person-card,.cat-card,.plan-card,.db-hp-card,.db-hp-rec){
  transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease);
}
@media(hover:hover){
  :where(.listing-card,.blog-card,.blog-card-featured,.person-card,.cat-card,.plan-card,.db-hp-card,.db-hp-rec):hover{
    transform:translateY(-3px);box-shadow:var(--shadow-3);
  }
}
:where(.btn,.btn-primary,.btn-ghost){transition:transform var(--t-fast) var(--ease),filter var(--t-fast) var(--ease),background var(--t-fast) var(--ease);}
@media(hover:hover){:where(.btn,.btn-primary,.btn-ghost):hover{filter:brightness(1.06);}}
:where(.btn,.btn-primary,.btn-ghost,button):active{transform:scale(.98);}

/* Phase 4: skeleton shimmer for AJAX-loaded surfaces (order tracking, dashboards) */
.db-skeleton{position:relative;overflow:hidden;background:#e9efe9;border-radius:var(--radius-sm);color:transparent!important;pointer-events:none;}
.db-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  animation:dbShimmer 1.3s infinite;}
@keyframes dbShimmer{to{transform:translateX(100%)}}

/* Phase 4: empty states - never a bare "no results" */
.db-empty{padding:var(--space-7) var(--space-5);text-align:center;color:var(--muted);}
.db-empty .db-empty-icon{font-size:34px;display:block;margin-bottom:var(--space-3);}
.db-empty .db-empty-title{font-weight:700;color:var(--ink);font-size:var(--fs-3);margin:0 0 var(--space-2);}
.db-empty .btn,.db-empty a.btn{margin-top:var(--space-3);}
/* Phase 5: homepage utility classes (extracted from inline styles; !important preserves inline-level specificity) */
.db-u1{flex:1!important;min-width:0!important;}
.db-u2{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.db-u3{display:flex!important;align-items:center!important;gap:8px!important;text-decoration:none!important;}
.db-u4{flex-shrink:0!important;margin-bottom:1px!important;}
.db-u5{display:flex!important;align-items:baseline!important;border-bottom:1px solid rgba(125,208,154,0.3)!important;padding-bottom:2px!important;}
.db-u6{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:var(--fs-3)!important;font-weight:300!important;color:rgba(255,255,255,0.92)!important;letter-spacing:-0.02em!important;line-height:1!important;}
.db-u7{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:var(--fs-3)!important;font-weight:600!important;color:#7dd09a!important;letter-spacing:-0.02em!important;line-height:1!important;}
.db-u8{display:none!important;text-decoration:none!important;position:relative!important;}
.db-u9{display:none!important;position:absolute!important;top:-6px!important;right:-6px!important;background:#ef4444!important;color:#fff!important;font-size:10px!important;font-weight:800!important;min-width:18px!important;height:18px!important;border-radius:var(--radius-pill)!important;align-items:center!important;justify-content:center!important;padding:0 4px!important;box-shadow:var(--shadow-1)!important;}
.db-u10{background:none!important;border:none!important;outline:none!important;color:rgba(255,255,255,0.8)!important;font-size:var(--fs-2)!important;font-family:inherit!important;flex:1!important;width:100%!important;}
.db-u11{cursor:pointer!important;}
.db-u12{background:#dceede!important;}
.db-u13{padding:0 18px!important;}
.db-u15{padding-bottom:14px!important;}
.db-u16{background:#eef2ee!important;color:#5a7a62!important;}
/* Phase 5: post-content utilities */
.db-u17{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;z-index:9999!important;background:var(--green-700)!important;color:white!important;padding:12px 20px!important;border-radius:0 0 var(--radius-sm) var(--radius-sm)!important;font-family:var(--font-body)!important;font-size:var(--fs-2)!important;font-weight:600!important;}
.db-u18{width:100%!important;overflow-x:hidden!important;}
.db-u19{width:100%!important;position:relative!important;}
.db-u20{display:flex!important;background:#fff!important;overflow:hidden!important;box-shadow:var(--shadow-3)!important;}
.db-u21{border:none!important;outline:none!important;font-family:var(--font-body)!important;font-size:var(--fs-2)!important;color:#1a1a1a!important;width:100%!important;background:none!important;}
.db-u22{border:none!important;outline:none!important;font-family:var(--font-body)!important;font-size:var(--fs-2)!important;color:#8aaa92!important;background:none!important;cursor:pointer!important;width:100%!important;}
.db-u23{width:100%!important;box-sizing:border-box!important;}
.db-u24{padding:80px 0!important;background:var(--white,#fff)!important;}
.db-u25{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:var(--fs-6)!important;font-weight:600!important;color:var(--text-dark,#0f1f13)!important;margin:8px 0 12px!important;}
.db-u26{font-size:var(--fs-2)!important;color:var(--text-muted,#8aaa92)!important;}
.db-u27{width:100%!important;}
.db-u28{text-decoration:none!important;display:block!important;}
.db-u29{position:absolute!important;top:14px!important;right:14px!important;background:rgba(255,255,255,0.15)!important;border:none!important;color:#fff!important;width:32px!important;height:32px!important;border-radius:50%!important;cursor:pointer!important;font-size:var(--fs-2)!important;z-index:1!important;}
.db-u30{width:100%!important;height:240px!important;object-fit:cover!important;border-radius:var(--radius-md) var(--radius-md) 0 0!important;display:block!important;}
.db-u31{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:var(--fs-5)!important;color:#fff!important;margin:12px 0 4px!important;}
.db-u32{font-style:italic!important;color:rgba(255,255,255,0.7)!important;border-left:3px solid #c8a96e!important;padding-left:14px!important;margin:0!important;line-height:1.7!important;}
.db-u33{flex-shrink:0!important;margin-bottom:1px!important;}
/* Phase 5: module utilities */
.db-u34{flex-shrink:0!important;margin-bottom:1px!important;}
.db-u35{margin-top:18px!important;display:flex!important;flex-direction:column!important;gap:8px!important;}
.db-u36{font-size:var(--fs-1)!important;color:rgba(255,255,255,0.5)!important;text-decoration:none!important;display:flex!important;align-items:center!important;gap:6px!important;}
.db-u37{font-size:var(--fs-1)!important;color:rgba(255,255,255,0.5)!important;display:flex!important;align-items:center!important;gap:6px!important;}
.db-u38{margin-bottom:8px!important;}
.db-u39{font-size:var(--fs-1)!important;margin-top:6px!important;}
.db-u40{display:flex!important;align-items:center!important;gap:8px!important;}
.db-u41{position:relative!important;}
.db-u42{display:none;}
.db-u43{font-weight:400!important;color:#aaa!important;}
.db-u44{margin:12px 0!important;}
.db-u45{display:none!important;position:absolute!important;top:2px!important;right:calc(50% - 18px)!important;background:#ef4444!important;color:#fff!important;font-size:9px!important;font-weight:800!important;border-radius:var(--radius-pill)!important;padding:1px 5px!important;line-height:1.4!important;}
.db-u46{color:#3a9954!important;font-weight:600!important;}