
/* Direct Democracy Suite global visual normalization.
   Loaded last so it also affects still-active standalone modules. */

/* Shared section alignment */
.ddmv__inner,
.dda-about__inner {
    width: min(1240px, calc(100% - 48px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Mission & Vision: full-width background, aligned inner content */
.ddmv {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.ddmv__title,
.dda-about__title {
    font-size: clamp(28px, 3vw, 42px) !important;
    line-height: 1.12 !important;
    font-weight: 750 !important;
    letter-spacing: -.01em !important;
    text-transform: none !important;
}

.ddmv__intro-text,
.dda-about__copy {
    font-size: 16px !important;
    line-height: 1.62 !important;
}

.dda-about__copy {
    max-width: 650px !important;
}

/* About label and general rhythm */
.dda-about__label,
.ddmv__eyebrow {
    font-size: 13px !important;
    line-height: 1.3 !important;
}

/* Prevent X Theme heading defaults from inflating the About heading */
.x-main .dda-about__title,
.entry-content .dda-about__title,
.x-main .ddmv__title,
.entry-content .ddmv__title {
    font-size: clamp(28px, 3vw, 42px) !important;
    line-height: 1.12 !important;
    margin-top: 0 !important;
}

/* Mission/Vision cards aligned with site width and slightly tighter */
.ddmv__grid {
    width: 100% !important;
}

@media (max-width: 900px) {
    .ddmv__inner,
    .dda-about__inner {
        width: min(1240px, calc(100% - 36px)) !important;
    }
}

@media (max-width: 600px) {
    .ddmv__inner,
    .dda-about__inner {
        width: min(1240px, calc(100% - 28px)) !important;
    }

    .ddmv__title,
    .dda-about__title {
        font-size: 30px !important;
    }

    .ddmv__intro-text,
    .dda-about__copy {
        font-size: 15px !important;
    }
}


/* === Unified typography and spacing system === */
:root {
    --dd-site-width: 1240px;
    --dd-section-title: clamp(28px, 3vw, 42px);
    --dd-card-title: 18px;
    --dd-body: 16px;
    --dd-small: 13px;
    --dd-line: 1.62;
}

/* All modules use the same theme font family */
.dd-hero-slider,
.dda-about,
.ddp-principles,
.ddmv,
.ddpub,
.ddcta,
.ddpartners,
.dd-team,
.ddp-wrap,
.ddp-single-page,
.ddf-footer {
    font-family: inherit !important;
}

/* One shared content grid */
.dd-hero-slide__inner,
.dda-about__inner,
.ddp-principles__inner,
.ddmv__inner,
.ddpub__inner,
.ddcta__inner,
.ddpartners__inner,
.dd-team__inner {
    width: min(var(--dd-site-width), calc(100% - 48px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Main section headings */
.dda-about__title,
.ddmv__title,
.ddpub__heading,
.ddpartners__title,
.dd-team__heading h2,
.ddcta__heading {
    font-size: var(--dd-section-title) !important;
    line-height: 1.12 !important;
    font-weight: 750 !important;
    letter-spacing: -.01em !important;
    text-transform: none !important;
}

/* Eyebrows / small labels */
.dda-about__eyebrow,
.ddmv__eyebrow,
.ddpub__eyebrow,
.dd-team__eyebrow,
.dd-hero-slide__eyebrow {
    font-size: var(--dd-small) !important;
    font-weight: 700 !important;
}

/* Body copy */
.dda-about__copy,
.ddmv__intro-text,
.ddmv-card__text,
.ddcta__text,
.dd-team__heading p,
.ddp-principle__text {
    font-size: var(--dd-body) !important;
    line-height: var(--dd-line) !important;
}

/* Standard card titles */
.ddpub-card__title,
.dd-team-card h3,
.ddp-principle .ddp-principle__title {
    font-size: var(--dd-card-title) !important;
    line-height: 1.3 !important;
    font-weight: 750 !important;
    letter-spacing: -.01em !important;
}

/* Mission / Vision card titles */
.ddmv-card h3 {
    font-size: clamp(22px, 2vw, 28px) !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    letter-spacing: -.01em !important;
}

.ddpub-card__excerpt {
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.dda-about__button,
.ddcta__button,
.dd-hero-btn,
.ddpub__all,
.ddpartners__more {
    font-family: inherit !important;
    font-weight: 700 !important;
}

/* Normalize widths that previously differed */
.ddp-principles__inner,
.dd-team__inner,
.ddpub__inner {
    width: min(var(--dd-site-width), calc(100% - 48px)) !important;
}

/* Hero keeps its larger hierarchy, but same visual language */
.dd-hero-slide__title {
    font-weight: 750 !important;
    letter-spacing: -.015em !important;
}
.dd-hero-slide__text {
    line-height: 1.62 !important;
}

/* Footer typography */
.ddf-column h3 {
    font-weight: 750 !important;
    letter-spacing: -.005em !important;
}
.ddf-tagline,
.ddf-about-text,
.ddf-contact-row {
    line-height: 1.62 !important;
}

/* Projects typography */
.ddp-hero h1,
.ddp-single-hero h1,
.ddp-section-heading h2,
.ddp-info-card > h2,
.ddp-single-content h2,
.ddp-single-content h3 {
    font-family: inherit !important;
    letter-spacing: -.01em !important;
    text-transform: none !important;
}
.ddp-single-content,
.ddp-card-body,
.ddp-info-list {
    font-family: inherit !important;
}

@media (max-width: 900px) {
    .dd-hero-slide__inner,
    .dda-about__inner,
    .ddp-principles__inner,
    .ddmv__inner,
    .ddpub__inner,
    .ddcta__inner,
    .ddpartners__inner,
    .dd-team__inner {
        width: min(var(--dd-site-width), calc(100% - 36px)) !important;
    }
}

@media (max-width: 600px) {
    .dd-hero-slide__inner,
    .dda-about__inner,
    .ddp-principles__inner,
    .ddmv__inner,
    .ddpub__inner,
    .ddcta__inner,
    .ddpartners__inner,
    .dd-team__inner {
        width: min(var(--dd-site-width), calc(100% - 28px)) !important;
    }

    .dda-about__title,
    .ddmv__title,
    .ddpub__heading,
    .ddpartners__title,
    .dd-team__heading h2,
    .ddcta__heading {
        font-size: 30px !important;
    }

    .dda-about__copy,
    .ddmv__intro-text,
    .ddmv-card__text,
    .ddcta__text,
    .dd-team__heading p,
    .ddp-principle__text {
        font-size: 15px !important;
    }
}


/* Media module follows the same suite typography/grid system */
.dd-media{font-family:inherit!important}
.dd-media__hero-inner,
.dd-media__inner{
  width:min(1240px,calc(100% - 48px))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.dd-media-card h2{
  font-family:inherit!important;
  font-weight:750!important;
  letter-spacing:-.005em!important;
  text-transform:none!important;
}
@media(max-width:900px){
  .dd-media__hero-inner,.dd-media__inner{width:min(1240px,calc(100% - 36px))!important}
}
@media(max-width:600px){
  .dd-media__hero-inner,.dd-media__inner{width:min(1240px,calc(100% - 28px))!important}
}

.dd-contact{font-family:inherit!important}.dd-contact__hero-inner,.dd-contact__shell{width:min(1240px,calc(100% - 48px))!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
@media(max-width:900px){.dd-contact__hero-inner,.dd-contact__shell{width:min(1240px,calc(100% - 36px))!important}}@media(max-width:600px){.dd-contact__hero-inner,.dd-contact__shell{width:min(1240px,calc(100% - 28px))!important}}


/* Font Awesome normalization across the whole Direct Democracy Suite */
.ddmv-card__icon i,
.ddp-principle__icon i{
    display:block;
    font-size:30px;
    line-height:1;
}
.ddp-principle__icon i{font-size:31px}
.ddf-icon i,
.ddf-socials i{line-height:1}
.dd-team-card__links i{font-size:14px;line-height:1}
.dd-hero-slider__arrow i{font-size:18px;line-height:1}
.ddhs-search-trigger i,
.ddhs-search-field button i{font-size:15px;line-height:1}
.ddhs-search-close i{font-size:17px;line-height:1}
.ddpub-card__placeholder i{font-size:42px;line-height:1}
.ddp-info-icon i{font-size:15px;line-height:1}
.dd-media-card__play i{font-size:13px;line-height:1}
.dd-media-card__format i{font-size:13px;line-height:1}
