/* Harthwyn Portrait Studio 2027 design-system foundation.
 * All selectors are Portrait Studio-scoped. This file intentionally does not style Harthwyn/Portal navigation. */
:where(.hps-wrap,.hps-shortcode-card--studio,.hps-studio-root){
  --hps-space-1:4px;--hps-space-2:8px;--hps-space-3:12px;--hps-space-4:16px;--hps-space-5:20px;--hps-space-6:24px;--hps-space-8:32px;--hps-space-10:40px;
  --hps-radius-sm:12px;--hps-radius-md:16px;--hps-radius-lg:22px;--hps-radius-xl:28px;
  --hps-border:#dbe3ef;--hps-border-strong:#c7d2e2;--hps-surface:#fff;--hps-surface-soft:#f7f9fc;--hps-text:#142033;--hps-muted:#607086;
  --hps-primary:#2447b8;--hps-primary-soft:#edf2ff;--hps-accent:#b88618;--hps-success:#17643a;--hps-warning:#8a4b08;--hps-danger:#9f1d2d;
  --hps-shadow-sm:0 1px 2px rgba(15,23,42,.05);--hps-shadow-md:0 12px 30px rgba(15,23,42,.08);
  --hps-content:1360px;--hps-control-height:48px;
  color:var(--hps-text);font-family:inherit;line-height:1.5;
}
.hps-icon{width:24px;height:24px;display:inline-block;flex:0 0 auto;vertical-align:middle}
.hps-icon--sm{width:20px;height:20px}.hps-icon--lg{width:30px;height:30px}
.hps-ui-card{background:var(--hps-surface);border:1px solid var(--hps-border);border-radius:var(--hps-radius-lg);padding:var(--hps-space-5);box-shadow:var(--hps-shadow-sm);min-width:0}
.hps-ui-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--hps-space-4)}
.hps-ui-grid>*{min-width:0}.hps-ui-grid--cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:stretch}
.hps-ui-stack{display:grid;gap:var(--hps-space-4)}
.hps-ui-actions{display:flex;flex-wrap:wrap;gap:var(--hps-space-3);align-items:center}
.hps-ui-action{min-height:var(--hps-control-height);display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;padding:0 18px;font-weight:800;text-decoration:none;border:1px solid transparent;cursor:pointer}
.hps-ui-action--primary{background:var(--hps-primary);color:#fff}.hps-ui-action--secondary{background:#fff;color:var(--hps-primary);border-color:var(--hps-border-strong)}
.hps-ui-field{display:grid;gap:7px;min-width:0}.hps-ui-field label{font-weight:750;color:var(--hps-text)}
.hps-ui-field :is(input[type=text],input[type=url],input[type=email],input[type=number],input[type=password],select,textarea){width:100%;max-width:100%;min-width:0;min-height:var(--hps-control-height);border:1px solid var(--hps-border-strong);border-radius:13px;padding:10px 13px;background:#fff;color:var(--hps-text);box-sizing:border-box}
.hps-ui-field textarea{min-height:120px;resize:vertical}.hps-ui-field small{color:var(--hps-muted)}
.hps-ui-card:focus-within,.hps-ui-action:focus-visible,.hps-frontend-tab:focus-visible,.hps-admin-nav__item:focus-visible{outline:3px solid rgba(36,71,184,.25);outline-offset:3px}
@media(max-width:1024px){.hps-ui-grid--cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.hps-ui-grid--cards{grid-template-columns:1fr}.hps-ui-actions{display:grid}.hps-ui-action{width:100%;box-sizing:border-box}.hps-ui-card{padding:var(--hps-space-4)}}
@media(prefers-reduced-motion:reduce){.hps-wrap *,.hps-shortcode-card--studio *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
