/* DLP Design System v0.9.0 — shared by all plugin-native dealer themes. */
*,*::before,*::after{box-sizing:border-box}
:where(html){-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
:where(body){margin:0}
:where(img,svg,video,canvas){display:block;max-width:100%}
:where(button,input,select,textarea){font:inherit}
:where(a){text-underline-offset:.18em}

:root{
 --dlp-color-black:#000;
 --dlp-color-white:#fff;
 --dlp-color-primary-hover:color-mix(in srgb,var(--dlp-color-primary) 84%,var(--dlp-color-black));
 --dlp-color-primary-soft:color-mix(in srgb,var(--dlp-color-primary) 10%,var(--dlp-color-white));
 --dlp-color-secondary-hover:color-mix(in srgb,var(--dlp-color-secondary) 84%,var(--dlp-color-black));
 --dlp-color-secondary-soft:color-mix(in srgb,var(--dlp-color-secondary) 9%,var(--dlp-color-white));
 --dlp-color-accent-hover:color-mix(in srgb,var(--dlp-color-accent) 84%,var(--dlp-color-black));
 --dlp-color-accent-soft:color-mix(in srgb,var(--dlp-color-accent) 12%,var(--dlp-color-white));
 --dlp-color-text-muted:color-mix(in srgb,var(--dlp-color-text) 62%,var(--dlp-color-white));
 --dlp-color-text-subtle:color-mix(in srgb,var(--dlp-color-text) 42%,var(--dlp-color-white));
 --dlp-color-surface:var(--dlp-color-white);
 --dlp-color-surface-muted:color-mix(in srgb,var(--dlp-color-text) 4%,var(--dlp-color-white));
 --dlp-color-border:color-mix(in srgb,var(--dlp-color-text) 13%,var(--dlp-color-white));
 --dlp-color-focus:color-mix(in srgb,var(--dlp-color-primary) 30%,transparent);
 --dlp-transition-fast:150ms ease;
 --dlp-transition-base:220ms ease;
}

/* Boxed layout: 2000px maximum, 3rem / 2rem / 1rem responsive gutters. */
.dlp-container,.dlp-container-wide{width:min(calc(100% - 6rem),var(--dlp-layout-content,2000px));margin-inline:auto}
.dlp-container-narrow{width:min(calc(100% - 6rem),var(--dlp-layout-narrow,960px));margin-inline:auto}
@media(max-width:1024px){.dlp-container,.dlp-container-wide,.dlp-container-narrow{width:min(calc(100% - 4rem),var(--dlp-layout-content,2000px))}}
@media(max-width:640px){.dlp-container,.dlp-container-wide,.dlp-container-narrow{width:min(calc(100% - 2rem),var(--dlp-layout-content,2000px))}}

/* Typography */
.dlp-display-xl{font:var(--dlp-type-display-xl);letter-spacing:var(--dlp-letter-display)}
.dlp-display-lg{font:var(--dlp-type-display-lg);letter-spacing:var(--dlp-letter-display)}
.dlp-h1{font:var(--dlp-type-h1);letter-spacing:var(--dlp-letter-heading)}
.dlp-h2{font:var(--dlp-type-h2);letter-spacing:var(--dlp-letter-heading)}
.dlp-h3{font:var(--dlp-type-h3);letter-spacing:var(--dlp-letter-heading)}
.dlp-h4{font:var(--dlp-type-h4);letter-spacing:var(--dlp-letter-heading)}
.dlp-h5{font:var(--dlp-type-h5);letter-spacing:var(--dlp-letter-heading)}
.dlp-h6{font:var(--dlp-type-h6);letter-spacing:var(--dlp-letter-heading)}
.dlp-body-lg{font:var(--dlp-type-body-lg)}.dlp-body{font:var(--dlp-type-body)}.dlp-body-sm{font:var(--dlp-type-body-sm)}
.dlp-label{font:var(--dlp-type-label)}.dlp-caption{font:var(--dlp-type-caption)}
.dlp-overline{font:var(--dlp-type-overline);letter-spacing:.14em;text-transform:uppercase}

/* Buttons */
.dlp-button{--_bg:var(--dlp-color-primary);--_fg:var(--dlp-color-white);--_border:transparent;display:inline-flex;align-items:center;justify-content:center;gap:var(--dlp-space-2,8px);min-height:44px;padding:0 var(--dlp-space-5,24px);border:1px solid var(--_border);border-radius:var(--dlp-radius-pill);background:var(--_bg);color:var(--_fg)!important;font-weight:800;line-height:1;text-decoration:none;cursor:pointer;box-shadow:var(--dlp-shadow-none);transition:transform var(--dlp-transition-fast),box-shadow var(--dlp-transition-base),background var(--dlp-transition-fast),border-color var(--dlp-transition-fast),color var(--dlp-transition-fast)}
.dlp-button:hover{transform:translateY(-1px);box-shadow:var(--dlp-shadow-sm)}.dlp-button:active{transform:translateY(0)}
.dlp-button:focus-visible{outline:3px solid var(--dlp-color-focus);outline-offset:3px}
.dlp-button--primary{--_bg:var(--dlp-color-primary);--_fg:var(--dlp-color-white)}.dlp-button--primary:hover{--_bg:var(--dlp-color-primary-hover)}
.dlp-button--secondary{--_bg:var(--dlp-color-secondary);--_fg:var(--dlp-color-white)}.dlp-button--secondary:hover{--_bg:var(--dlp-color-secondary-hover)}
.dlp-button--accent{--_bg:var(--dlp-color-accent);--_fg:var(--dlp-color-text)}.dlp-button--accent:hover{--_bg:var(--dlp-color-accent-hover)}
.dlp-button--outline{--_bg:transparent;--_fg:var(--dlp-color-text);--_border:var(--dlp-color-border)}.dlp-button--outline:hover{--_bg:var(--dlp-color-surface-muted);--_border:color-mix(in srgb,var(--dlp-color-text) 25%,var(--dlp-color-white))}
.dlp-button--ghost{--_bg:transparent;--_fg:var(--dlp-color-primary)}.dlp-button--ghost:hover{--_bg:var(--dlp-color-primary-soft)}
.dlp-button--text{min-height:auto;padding:0;border-radius:0;--_bg:transparent;--_fg:var(--dlp-color-primary)}.dlp-button--text:hover{box-shadow:none;transform:none;text-decoration:underline}
.dlp-button--icon{width:44px;padding:0;border-radius:50%}
.dlp-button--xs{min-height:32px;padding-inline:12px;font-size:.75rem}.dlp-button--sm{min-height:38px;padding-inline:16px;font-size:.8125rem}.dlp-button--md{min-height:44px}.dlp-button--lg{min-height:52px;padding-inline:28px;font-size:1rem}.dlp-button--xl{min-height:60px;padding-inline:34px;font-size:1.0625rem}
.dlp-button__icon{display:inline-grid;place-items:center}.dlp-button__icon :where(svg){width:1.15em;height:1.15em}

/* Cards */
.dlp-card{background:var(--dlp-color-surface);color:var(--dlp-color-text);border:1px solid transparent;border-radius:var(--dlp-radius-lg);box-shadow:var(--dlp-shadow-none)}
.dlp-card--default{border-color:var(--dlp-color-border)}.dlp-card--elevated{box-shadow:var(--dlp-shadow-md)}.dlp-card--outlined{border-color:var(--dlp-color-border);box-shadow:none}.dlp-card--minimal{background:transparent}.dlp-card--glass{background:color-mix(in srgb,var(--dlp-color-white) 78%,transparent);border-color:color-mix(in srgb,var(--dlp-color-white) 55%,transparent);backdrop-filter:blur(18px);box-shadow:var(--dlp-shadow-sm)}
.dlp-card--sm{padding:var(--dlp-space-4,16px)}.dlp-card--md{padding:var(--dlp-space-6,32px)}.dlp-card--lg{padding:var(--dlp-space-8,48px)}.dlp-card--none{padding:0}

/* Forms */
.dlp-field{display:grid;gap:var(--dlp-space-2,8px)}
.dlp-field label,.dlp-form-label{color:var(--dlp-color-text);font:var(--dlp-type-label)}
.dlp-field-help{color:var(--dlp-color-text-muted);font:var(--dlp-type-caption)}
.dlp-field-error{color:#b42318;font:var(--dlp-type-caption)}
.dlp-input,.dlp-select,.dlp-textarea,.dlp-form :where(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea),body.dlp-modern :where(form input:not([type=checkbox]):not([type=radio]):not([type=submit]),form select,form textarea){width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--dlp-color-border);border-radius:var(--dlp-radius-md);background:var(--dlp-color-white);color:var(--dlp-color-text);font-size:16px;line-height:1.4;box-shadow:var(--dlp-shadow-xs);transition:border-color var(--dlp-transition-fast),box-shadow var(--dlp-transition-fast),background var(--dlp-transition-fast)}
.dlp-textarea,body.dlp-modern :where(form textarea){min-height:132px;resize:vertical}
.dlp-input::placeholder,.dlp-textarea::placeholder,body.dlp-modern :where(form input,form textarea)::placeholder{color:var(--dlp-color-text-subtle)}
.dlp-input:focus,.dlp-select:focus,.dlp-textarea:focus,body.dlp-modern :where(form input,form select,form textarea):focus{outline:0;border-color:var(--dlp-color-primary);box-shadow:0 0 0 4px var(--dlp-color-focus)}
.dlp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dlp-space-4,16px)}.dlp-form-grid>.is-full{grid-column:1/-1}
@media(max-width:640px){.dlp-form-grid{grid-template-columns:1fr}}

/* Icons, badges, surfaces and utilities */
.dlp-icon{display:inline-grid;place-items:center;flex:0 0 auto}.dlp-icon--16{width:16px;height:16px}.dlp-icon--20{width:20px;height:20px}.dlp-icon--24{width:24px;height:24px}.dlp-icon--32{width:32px;height:32px}.dlp-icon--48{width:48px;height:48px}.dlp-icon :where(svg){width:100%;height:100%;stroke-width:2}
.dlp-badge{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:4px 10px;border-radius:var(--dlp-radius-pill);background:var(--dlp-color-primary-soft);color:var(--dlp-color-primary);font:var(--dlp-type-caption);font-weight:800}
.dlp-surface-muted{background:var(--dlp-color-surface-muted)}.dlp-text-muted{color:var(--dlp-color-text-muted)}
.dlp-shadow-xs{box-shadow:var(--dlp-shadow-xs)}.dlp-shadow-sm{box-shadow:var(--dlp-shadow-sm)}.dlp-shadow-md{box-shadow:var(--dlp-shadow-md)}.dlp-shadow-lg{box-shadow:var(--dlp-shadow-lg)}.dlp-shadow-xl{box-shadow:var(--dlp-shadow-xl)}
