@layer ahds.components {
:where(.ahds-shell){width:min(calc(100% - 2 * var(--ahds-gutter)),var(--ahds-content-width));margin-inline:auto}
:where(.ahds-section){padding-block:var(--ahds-section-space)}
:where(.ahds-reading){max-width:var(--ahds-reading-width)}
:where(.ahds-stack > * + *){margin-block-start:var(--ahds-space-5)}
:where(.ahds-card){background:var(--ahds-white);border:1px solid var(--ahds-border);border-radius:var(--ahds-radius-card);padding:var(--ahds-space-5);box-shadow:none}
:where(.ahds-card-title,.ahds-card-title .elementor-heading-title){font-family:var(--ahds-font-heading);font-size:var(--ahds-card-title);font-weight:400;line-height:1.2;color:var(--ahds-heading-color)}
:where(.ahds-card--raised){box-shadow:var(--ahds-shadow-card)}
:where(.ahds-button:not(.elementor-widget),.ahds-button .elementor-button){display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:44px;padding:.75rem 1.3rem;border:1px solid transparent;border-radius:var(--ahds-radius-button);background:var(--ahds-blue);color:var(--ahds-white);font-family:var(--ahds-font-body);font-size:var(--ahds-button);font-weight:700;line-height:1.2;letter-spacing:var(--ahds-tracking-button);text-decoration:none;white-space:normal;text-align:center;cursor:pointer;transition:background var(--ahds-duration),color var(--ahds-duration)}
:where(.ahds-button:not(.elementor-widget):hover,.ahds-button .elementor-button:hover){background:var(--ahds-deep);color:var(--ahds-white)}
:where(.ahds-button--secondary:not(.elementor-widget),.ahds-button--secondary .elementor-button){background:var(--ahds-white);color:var(--ahds-blue);border-color:var(--ahds-blue)}
:where(.ahds-button--secondary:not(.elementor-widget):hover,.ahds-button--secondary .elementor-button:hover){background:var(--ahds-mist);color:var(--ahds-deep)}
:where(.ahds-button--light:not(.elementor-widget),.ahds-button--light .elementor-button){background:var(--ahds-white);color:var(--ahds-deep)}
:where(.ahds-button--light:not(.elementor-widget):hover,.ahds-button--light .elementor-button:hover){background:var(--ahds-mist);color:var(--ahds-deep)}
:where(.ahds-actions){display:flex;flex-wrap:wrap;align-items:center;gap:var(--ahds-space-4)}
:where(.ahds-icon){display:inline-flex;align-items:center;justify-content:center;width:var(--ahds-icon-size);height:var(--ahds-icon-size);color:var(--ahds-blue);flex-shrink:0}
:where(.ahds-icon svg){width:100%;height:100%}
/* Add ahds-icon--outline only to purpose-built stroked SVGs, never filled library icons. */
:where(.ahds-icon--outline svg){fill:none;stroke:currentColor;stroke-width:var(--ahds-icon-stroke);stroke-linecap:round;stroke-linejoin:round}
@media(prefers-reduced-motion:reduce){:where(.ahds-button:not(.elementor-widget),.ahds-button .elementor-button){transition:none}}
}
