.contribution-hub-page {
    min-width: 0;
    background:
        radial-gradient(circle at 10% 5%, rgba(99, 102, 241, .12), transparent 30rem),
        radial-gradient(circle at 92% 28%, rgba(16, 185, 129, .09), transparent 28rem),
        #f7f9fc;
    color: #172033;
}

.contribution-hub-main {
    padding: clamp(1.5rem, 5vw, 4rem) 0 1rem;
}

.contribution-hub-shell {
    width: min(100% - 24px, 980px);
    margin: 0 auto;
}

.contribution-hub-hero {
    max-width: 760px;
    margin: 0 auto 1.5rem;
    text-align: center;
}

.contribution-hub-kicker {
    display: block;
    margin-bottom: .4rem;
    color: #574bdb;
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.contribution-hub-hero h1 {
    margin: 0;
    color: #111827;
    font-size: clamp(2rem, 7vw, 3.55rem);
    font-weight: 900;
    letter-spacing: -.05em;
    line-height: 1.03;
}

.contribution-hub-hero p {
    max-width: 700px;
    margin: 1rem auto 0;
    color: #64748b;
    font-size: clamp(.98rem, 2.5vw, 1.1rem);
    line-height: 1.65;
}

/* Desktop: formularul urmează aceeași coloană de 1100px și același spațiu
   de 12px sub meniul global ca restul suprafețelor publice ale site-ului. */
@media (min-width: 992px) {
    body.contribution-hub-page {
        background:
            radial-gradient(circle at 92% 28%, rgba(16, 185, 129, .09), transparent 28rem),
            #f7f9fc;
    }

    body.contribution-hub-page .contribution-hub-main {
        padding: 12px 0 24px;
    }

    body.contribution-hub-page .contribution-hub-shell {
        width: calc(100% - clamp(32px, 4vw, 64px));
        max-width: 1100px;
    }

    body.contribution-hub-page .contribution-hub-hero {
        max-width: 900px;
        margin-bottom: 12px;
    }

    body.contribution-hub-page .contribution-hub-hero h1 {
        font-size: clamp(1.8rem, 2.1vw, 2.15rem);
        letter-spacing: -.035em;
        line-height: 1.12;
    }

    body.contribution-hub-page .contribution-hub-hero p {
        max-width: 760px;
        margin-top: .55rem;
        font-size: 1rem;
        line-height: 1.5;
    }

    body.contribution-hub-page .contribution-hub-step {
        padding: 1.25rem 1.5rem;
    }

    body.contribution-hub-page .contribution-hub-step__heading {
        margin-bottom: .9rem;
    }

    body.contribution-hub-page .contribution-hub-step__heading h2 {
        font-size: 1.8rem;
    }

    body.contribution-hub-page .contribution-hub-step__heading p {
        margin-top: .35rem;
    }

    body.contribution-hub-page .contribution-hub-choice {
        min-height: 92px;
        padding: .8rem 1rem;
    }
}

.contribution-hub-summary,
.contribution-hub-step,
.contribution-hub-trust {
    border: 1px solid rgba(99, 102, 241, .17);
    border-radius: 24px;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 20px 52px rgba(30, 41, 59, .08);
}

.contribution-hub-progress {
    position: relative;
    padding: .45rem;
    border: 1px solid rgba(99, 102, 241, .17);
    border-radius: 18px;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 12px 34px rgba(30, 41, 59, .07);
}

.contribution-hub-progress ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.contribution-hub-progress li {
    min-width: 0;
    min-height: 48px;
    border-radius: 13px;
    color: #778196;
}

.contribution-hub-progress__item,
.contribution-hub-progress li > a {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    align-items: center;
    gap: .55rem;
    padding: .4rem .6rem;
    border-radius: inherit;
    color: inherit;
    text-decoration: none;
}

.contribution-hub-progress li > a:hover {
    background: rgba(8, 127, 91, .07);
}

.contribution-hub-progress__marker {
    display: grid;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 1px solid #dce1eb;
    border-radius: 50%;
    background: #fff;
    font-size: .74rem;
    font-weight: 900;
}

.contribution-hub-progress__marker svg {
    width: 15px;
    height: 15px;
    stroke-width: 2.4;
}

.contribution-hub-progress__copy {
    display: grid;
    min-width: 0;
    gap: .08rem;
}

.contribution-hub-progress__copy small {
    overflow: hidden;
    color: #8b93a5;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .045em;
    line-height: 1.1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.contribution-hub-progress__copy strong {
    overflow: hidden;
    font-size: .82rem;
    font-weight: 850;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.contribution-hub-progress__edit {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .2rem;
    margin-left: auto;
    color: #087f5b;
    font-size: .66rem;
    font-weight: 850;
}

.contribution-hub-progress__edit svg {
    width: 14px;
    height: 14px;
}

.contribution-hub-progress li.is-current {
    background: #f0efff;
    color: #5145d8;
}

.contribution-hub-progress li.is-current .contribution-hub-progress__marker {
    border-color: #7165ef;
    background: #6256e8;
    color: #fff;
}

.contribution-hub-progress li.is-complete {
    color: #087f5b;
}

.contribution-hub-progress li.is-complete .contribution-hub-progress__marker {
    border-color: #9fe0c4;
    background: #e8fbf2;
    color: #087f5b;
}

.contribution-hub-progress__reset {
    position: absolute;
    top: 50%;
    right: .75rem;
    z-index: 1;
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: .4rem .7rem;
    border-radius: 999px;
    background: #fff;
    color: #5b4fe9;
    font-size: .74rem;
    font-weight: 850;
    text-decoration: none;
    transform: translateY(-50%);
}

.contribution-hub-progress:has(.contribution-hub-progress__reset) li:last-child {
    padding-right: 4.4rem;
}

.contribution-hub-summary {
    overflow: hidden;
    padding: 0;
}

.contribution-hub-summary__toggle {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto 20px;
    align-items: center;
    gap: .8rem;
    min-height: 72px;
    padding: .8rem 1rem;
    cursor: pointer;
    list-style: none;
}

.contribution-hub-summary__toggle::-webkit-details-marker {
    display: none;
}

.contribution-hub-summary__icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    background: #f0efff;
    color: #5b4fe9;
}

.contribution-hub-summary__icon svg,
.contribution-hub-summary__chevron {
    width: 19px;
    height: 19px;
}

.contribution-hub-summary__copy {
    min-width: 0;
}

.contribution-hub-summary__copy small,
.contribution-hub-summary__copy strong {
    display: block;
}

.contribution-hub-summary__copy small {
    margin-bottom: .16rem;
    color: #6d6691;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.contribution-hub-summary__copy strong {
    overflow: hidden;
    color: #172033;
    font-size: .9rem;
    font-weight: 850;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.contribution-hub-summary__count {
    padding: .38rem .55rem;
    border-radius: 999px;
    background: #f3f4f8;
    color: #5c6678;
    font-size: .7rem;
    font-weight: 800;
    white-space: nowrap;
}

.contribution-hub-summary__chevron {
    color: #6259c9;
    transition: transform 160ms ease;
}

.contribution-hub-summary[open] .contribution-hub-summary__chevron {
    transform: rotate(180deg);
}

.contribution-hub-summary__panel {
    padding: .9rem 1rem 1rem;
    border-top: 1px solid #e7e8ef;
}

.contribution-hub-summary__panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .8rem;
}

.contribution-hub-summary__panel-heading p {
    margin: 0;
    color: #6b778b;
    font-size: .78rem;
}

.contribution-hub-summary__panel-heading a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: .6rem .75rem;
    border-radius: 10px;
    color: #6b4dd8;
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.contribution-hub-summary__items {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.contribution-hub-summary__items li {
    min-width: 0;
    min-height: 74px;
    padding: .65rem;
    border: 1px solid #e3e7ef;
    border-radius: 12px;
    background: #f8fafc;
}

.contribution-hub-summary__items li.is-current {
    border-color: #a79cf3;
    background: #f2f0ff;
}

.contribution-hub-summary__items li.is-complete {
    border-color: #b9e4ce;
    background: #effbf5;
}

.contribution-hub-summary__items span,
.contribution-hub-summary__items strong,
.contribution-hub-summary__items a {
    display: block;
    overflow-wrap: anywhere;
}

.contribution-hub-summary__items span {
    margin-bottom: .25rem;
    color: #718096;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.contribution-hub-summary__items strong,
.contribution-hub-summary__items a {
    color: #29364d;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none;
}

.contribution-hub-summary__items a {
    min-height: 40px;
}

.contribution-hub-summary__items a svg {
    width: 12px;
    height: 12px;
}

.contribution-hub-summary--flow .contribution-hub-summary__toggle {
    min-height: 62px;
    padding-block: .55rem;
}

.contribution-hub-summary--flow .contribution-hub-summary__panel {
    padding-top: .65rem;
}

.contribution-hub-summary--flow .contribution-hub-summary__panel-heading {
    margin-bottom: .55rem;
}

.contribution-hub-summary__items--flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.contribution-hub-summary__items--flow li {
    min-height: 58px;
    padding: .55rem .65rem;
}

.contribution-hub-step {
    margin-top: .75rem;
    padding: clamp(1rem, 4vw, 2rem);
}

.contribution-hub-step--form {
    margin-top: .75rem;
    padding: clamp(.8rem, 2vw, 1.25rem);
}

.contribution-hub-step__heading {
    max-width: 690px;
    margin-bottom: 1.25rem;
}

.contribution-hub-step__heading h2 {
    margin: 0;
    color: #111827;
    font-size: clamp(1.5rem, 4vw, 2.2rem);
    font-weight: 900;
    letter-spacing: -.035em;
    scroll-margin-top: 88px;
}

.contribution-hub-step__heading h2:focus {
    outline: none;
}

.contribution-hub-step__heading p {
    margin: .55rem 0 0;
    color: #66758c;
    line-height: 1.55;
}

.contribution-hub-choices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.contribution-hub-choices--stacked {
    grid-template-columns: 1fr;
    max-width: 720px;
    margin-inline: auto;
}

.contribution-hub-choice {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 20px;
    gap: .8rem;
    align-items: center;
    min-height: 104px;
    padding: 1rem;
    border: 1px solid #dce2ec;
    border-radius: 17px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.contribution-hub-choice:hover,
.contribution-hub-choice:focus-visible {
    border-color: #8174e8;
    box-shadow: 0 14px 32px rgba(76, 67, 190, .13);
    color: inherit;
    transform: translateY(-2px);
}

.contribution-hub-choice:focus-visible,
.contribution-hub-summary a:focus-visible,
.contribution-hub-search input:focus-visible,
.contribution-hub-search button:focus-visible,
.contribution-hub-results a:focus-visible {
    outline: 3px solid rgba(91, 79, 233, .3);
    outline-offset: 3px;
}

.contribution-hub-choice__icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 15px;
    background: linear-gradient(135deg, #5b4fe9, #7c3aed);
    color: #fff;
}

.contribution-hub-choice--assisted .contribution-hub-choice__icon {
    background: linear-gradient(135deg, #7c3aed, #db2777);
}

.contribution-hub-choice--has-draft {
    border-color: #9bd3b8;
    background: linear-gradient(135deg, #fff, #f2fbf6);
}

.contribution-hub-choice__icon svg {
    width: 23px;
    height: 23px;
}

.contribution-hub-choice > span:nth-child(2) {
    min-width: 0;
}

.contribution-hub-choice strong,
.contribution-hub-choice b,
.contribution-hub-choice small {
    display: block;
    overflow-wrap: anywhere;
}

.contribution-hub-choice strong {
    color: #172033;
    font-size: 1rem;
    font-weight: 850;
}

.contribution-hub-choice b {
    margin-top: .2rem;
    color: #b4236f;
    font-size: .78rem;
}

.contribution-hub-choice--has-draft b {
    display: flex;
    gap: .3rem;
    align-items: center;
    color: #177048;
}

.contribution-hub-choice--has-draft b svg {
    width: 14px;
    height: 14px;
}

.contribution-hub-choice small {
    margin-top: .3rem;
    color: #6b778b;
    font-size: .8rem;
    line-height: 1.45;
}

.contribution-hub-choice > svg {
    width: 19px;
    height: 19px;
    color: #6658de;
}

.contribution-hub-choice--compact {
    grid-template-columns: minmax(0, 1fr) 20px;
    min-height: 70px;
}

.contribution-hub-guard,
.contribution-hub-complete__guard {
    display: flex;
    gap: .55rem;
    align-items: flex-start;
    margin: 1rem 0 0;
    padding: .8rem .9rem;
    border-radius: 12px;
    background: #fff6df;
    color: #74470c;
    font-size: .85rem;
    line-height: 1.5;
}

.contribution-hub-draft-notice {
    display: flex;
    gap: .7rem;
    align-items: flex-start;
    margin-bottom: 1rem;
    padding: .85rem .95rem;
    border: 1px solid #b9e4ce;
    border-radius: 13px;
    background: #effbf5;
    color: #195c3a;
}

.contribution-hub-draft-notice > svg {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
}

.contribution-hub-draft-notice strong,
.contribution-hub-draft-notice small {
    display: block;
}

.contribution-hub-draft-notice small {
    margin-top: .15rem;
    line-height: 1.45;
}

.contribution-hub-guard svg,
.contribution-hub-complete__guard svg {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: .1rem;
}

.contribution-hub-representative {
    display: flex;
    gap: .7rem;
    align-items: flex-start;
    margin: 0 0 1rem;
    padding: .85rem .9rem;
    border: 1px solid #c7d2fe;
    border-radius: 13px;
    background: #eef2ff;
    color: #29364d;
}

.contribution-hub-representative > svg {
    flex: 0 0 auto;
    width: 21px;
    height: 21px;
    color: #4f46e5;
}

.contribution-hub-representative strong {
    font-size: .84rem;
}

.contribution-hub-representative p {
    margin: .2rem 0 .45rem;
    color: #58677d;
    font-size: .78rem;
    line-height: 1.45;
}

.contribution-hub-representative a {
    display: inline-flex;
    gap: .3rem;
    align-items: center;
    min-height: 44px;
    color: #4338ca;
    font-size: .8rem;
    font-weight: 850;
}

.contribution-hub-representative a svg {
    width: 16px;
    height: 16px;
}

.contribution-hub-search {
    display: grid;
    gap: .45rem;
    padding: 1rem;
    border: 1px solid #dce2ec;
    border-radius: 16px;
    background: #f8fafc;
}

.contribution-hub-search label {
    font-size: .82rem;
    font-weight: 850;
}

.contribution-hub-search > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem;
}

.contribution-hub-search input,
.contribution-hub-search button {
    min-height: 48px;
    border-radius: 11px;
}

.contribution-hub-search input {
    min-width: 0;
    padding: .75rem .85rem;
    border: 1px solid #b9c3d1;
    background: #fff;
}

.contribution-hub-search button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .75rem 1rem;
    border: 0;
    background: #584ad6;
    color: #fff;
    font-weight: 850;
}

.contribution-hub-search button svg {
    width: 18px;
    height: 18px;
}

.contribution-hub-search > small {
    color: #718096;
}

.contribution-hub-alert,
.contribution-hub-results {
    margin-top: .8rem;
}

.contribution-hub-alert {
    padding: .85rem;
    border: 1px solid #fecaca;
    border-radius: 12px;
    background: #fef2f2;
    color: #991b1b;
}

.contribution-hub-results > p {
    color: #66758c;
}

.contribution-hub-results ul {
    display: grid;
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.contribution-hub-results a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 62px;
    padding: .8rem .9rem;
    border: 1px solid #dce2ec;
    border-radius: 12px;
    background: #fff;
    color: inherit;
    text-decoration: none;
}

.contribution-hub-results strong,
.contribution-hub-results small {
    display: block;
    overflow-wrap: anywhere;
}

.contribution-hub-results small {
    margin-top: .15rem;
    color: #718096;
}

.contribution-hub-results svg {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    color: #6658de;
}

.contribution-hub-target-confirmed {
    display: flex;
    gap: .7rem;
    align-items: center;
    margin-bottom: .8rem;
    padding: .9rem;
    border-radius: 13px;
    background: #effbf5;
    color: #195c3a;
}

.contribution-hub-target-confirmed > svg {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
}

.contribution-hub-target-confirmed small,
.contribution-hub-target-confirmed strong,
.contribution-hub-target-confirmed b {
    display: block;
}

.contribution-hub-target-confirmed small,
.contribution-hub-target-confirmed b {
    font-size: .75rem;
}

.contribution-hub-target-confirmed b {
    color: #4f6d5e;
    font-weight: 600;
}

.contribution-hub-complete {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 1rem;
    padding: clamp(1rem, 4vw, 1.5rem);
    border-radius: 18px;
    background: linear-gradient(135deg, #f0fdf4, #eef2ff);
}

.contribution-hub-complete__icon {
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    border-radius: 20px;
    background: #fff;
    color: #4f46c8;
}

.contribution-hub-complete h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 900;
}

.contribution-hub-complete p {
    color: #58677d;
    line-height: 1.55;
}

.contribution-hub-complete button {
    min-height: 46px;
    padding: .75rem 1rem;
    border: 0;
    border-radius: 11px;
    background: #cfd5df;
    color: #667085;
    font-weight: 850;
    cursor: not-allowed;
}

.contribution-hub-complete > div > small {
    display: block;
    margin-top: .45rem;
    color: #718096;
}

.contribution-assisted {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.contribution-assisted__notice {
    display: flex;
    gap: .7rem;
    align-items: flex-start;
    padding: .9rem;
    border: 1px solid #c7d2fe;
    border-radius: 14px;
    background: #eef2ff;
    color: #3730a3;
}

.contribution-assisted__notice > svg {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
}

.contribution-assisted__notice strong,
.contribution-assisted__notice small {
    display: block;
}

.contribution-assisted__notice small {
    margin-top: .2rem;
    color: #565b8d;
    line-height: 1.45;
}

.contribution-assisted__section {
    min-width: 0;
    padding: clamp(.9rem, 3vw, 1.25rem);
    border: 1px solid #dce2ec;
    border-radius: 18px;
    background: #fff;
}

.contribution-assisted__section > header {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: .7rem;
    align-items: start;
    margin-bottom: 1rem;
}

.contribution-assisted__section > header > span {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(135deg, #5b4fe9, #a21caf);
    color: #fff;
    font-size: .84rem;
    font-weight: 900;
}

.contribution-assisted__section h3,
.contribution-assisted__section p {
    margin: 0;
}

.contribution-assisted__section h3 {
    color: #172033;
    font-size: 1.05rem;
    font-weight: 900;
}

.contribution-assisted__section header p {
    margin-top: .2rem;
    color: #718096;
    font-size: .8rem;
    line-height: 1.45;
}

.contribution-assisted__section header > b {
    padding: .35rem .55rem;
    border-radius: 999px;
    background: #eef2ff;
    color: #4338ca;
    font-size: .75rem;
    white-space: nowrap;
}

.contribution-assisted__section header > b.is-over-limit {
    background: #fef2f2;
    color: #b91c1c;
}

.contribution-assisted__fields,
.contribution-assisted__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.contribution-assisted__links {
    margin-top: .9rem;
}

.contribution-assisted__optional {
    margin-top: .85rem;
    border: 1px solid #dce2ec;
    border-radius: 13px;
    background: #f8fafc;
}

.contribution-assisted__optional summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 48px;
    padding: .72rem .8rem;
    color: #29364d;
    cursor: pointer;
    list-style: none;
}

.contribution-assisted__optional summary::-webkit-details-marker {
    display: none;
}

.contribution-assisted__optional summary span,
.contribution-assisted__optional summary strong,
.contribution-assisted__optional summary small {
    display: block;
}

.contribution-assisted__optional summary strong {
    font-size: .82rem;
}

.contribution-assisted__optional summary small {
    margin-top: .12rem;
    color: #718096;
    font-size: .7rem;
    font-weight: 600;
}

.contribution-assisted__optional summary svg {
    width: 18px;
    height: 18px;
    transition: transform .2s ease;
}

.contribution-assisted__optional[open] summary svg {
    transform: rotate(180deg);
}

.contribution-assisted__optional > .contribution-assisted__fields {
    padding: 0 .8rem .8rem;
}

.contribution-assisted__field {
    display: grid;
    align-content: start;
    min-width: 0;
}

.contribution-assisted__field--wide {
    grid-column: 1 / -1;
}

.contribution-assisted__field label,
.contribution-material-slot__options label {
    margin-bottom: .32rem;
    color: #29364d;
    font-size: .8rem;
    font-weight: 850;
}

.contribution-assisted__field input,
.contribution-assisted__field select,
.contribution-assisted__field textarea,
.contribution-material-slot > select,
.contribution-material-slot__options select {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: .7rem .78rem;
    border: 1px solid #b9c3d1;
    border-radius: 11px;
    background: #fff;
    color: #172033;
    font: inherit;
}

.contribution-assisted__field textarea {
    min-height: 104px;
    resize: vertical;
}

.contribution-assisted__field input:focus-visible,
.contribution-assisted__field select:focus-visible,
.contribution-assisted__field textarea:focus-visible,
.contribution-material-slot > select:focus-visible,
.contribution-material-slot__options select:focus-visible,
.contribution-material-slot__remove:focus-visible,
.contribution-assisted__add-material:focus-visible,
.contribution-assisted__review button:focus-visible,
.contribution-assisted__representation input:focus-visible,
.contribution-assisted__consent input:focus-visible {
    outline: 3px solid rgba(91, 79, 233, .3);
    outline-offset: 2px;
    border-color: #6557dc;
}

.contribution-assisted__field [aria-invalid="true"] {
    border-color: #dc2626;
    background: #fffafa;
}

.contribution-assisted__field > small {
    margin-top: .3rem;
    color: #718096;
    font-size: .72rem;
    line-height: 1.4;
}

.contribution-assisted__error,
.contribution-assisted__section-error {
    color: #b42318;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1.4;
}

.contribution-assisted__error:not(:empty) {
    display: block;
    margin-top: .28rem;
}

.contribution-assisted__section-error {
    margin-top: .75rem;
}

.contribution-assisted__section-error:empty {
    display: none;
}

.contribution-assisted__materials {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
}

.contribution-material-slot {
    display: grid;
    gap: .65rem;
    min-width: 0;
    padding: .8rem;
    border: 1px solid #dce2ec;
    border-radius: 15px;
    background: #f8fafc;
}

.contribution-material-slot[hidden],
.contribution-material-slot__file[hidden],
.contribution-material-slot__url[hidden],
.contribution-assisted__add-material[hidden] {
    display: none;
}

.contribution-material-slot__heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: .6rem;
}

.contribution-material-slot__heading strong,
.contribution-material-slot__heading small {
    overflow-wrap: anywhere;
}

.contribution-material-slot__heading strong {
    color: #29364d;
    font-size: .84rem;
}

.contribution-material-slot__type {
    color: #29364d;
    font-size: .8rem;
    font-weight: 850;
}

.contribution-material-slot > select {
    width: 100%;
    min-height: 46px;
    padding: .7rem .78rem;
    border: 1px solid #b9c3d1;
    border-radius: 11px;
    background: #fff;
    color: #172033;
    font: inherit;
}

.contribution-material-slot__file {
    display: grid;
    gap: .65rem;
}

.contribution-material-slot__drop {
    display: flex;
    gap: .65rem;
    align-items: center;
    justify-content: center;
    min-height: 82px;
    padding: .8rem;
    border: 1.5px dashed #aab4c4;
    border-radius: 13px;
    background: #fff;
    color: #4f46c8;
    cursor: pointer;
    text-align: left;
}

.contribution-material-slot:focus-within .contribution-material-slot__drop,
.contribution-material-slot__drop.is-dragging {
    border-color: #5b4fe9;
    outline: 3px solid rgba(91, 79, 233, .18);
    background: #f1f0ff;
}

.contribution-material-slot__drop svg {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
}

.contribution-material-slot__drop span,
.contribution-material-slot__drop small {
    display: block;
}

.contribution-material-slot__drop span {
    font-size: .8rem;
    font-weight: 850;
}

.contribution-material-slot__drop small {
    margin-top: .15rem;
    color: #718096;
    font-size: .7rem;
    font-weight: 600;
}

.contribution-material-slot__preview {
    display: flex;
    gap: .6rem;
    align-items: center;
    min-width: 0;
    padding: .55rem;
    border-radius: 11px;
    background: #eef2ff;
}

.contribution-material-slot__preview[hidden] {
    display: none;
}

.contribution-material-slot__preview img {
    width: 54px;
    height: 54px;
    flex: 0 0 auto;
    border-radius: 9px;
    object-fit: cover;
}

.contribution-material-slot__preview span {
    min-width: 0;
}

.contribution-material-slot__preview strong,
.contribution-material-slot__preview small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.contribution-material-slot__preview strong {
    font-size: .76rem;
}

.contribution-material-slot__preview small {
    margin-top: .15rem;
    color: #66758c;
    font-size: .68rem;
}

.contribution-material-slot__options {
    display: grid;
    gap: .55rem;
}

.contribution-material-slot__options label {
    display: grid;
    gap: .3rem;
    margin: 0;
}

.contribution-material-slot__options select {
    min-height: 44px;
    font-size: .76rem;
}

.contribution-material-slot__primary {
    display: flex !important;
    align-items: center;
    min-height: 44px;
    padding: .55rem;
    border-radius: 10px;
    background: #fff;
    color: #4338ca !important;
}

.contribution-material-slot__primary input,
.contribution-assisted__representation input,
.contribution-assisted__consent input {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    margin: 0 .5rem 0 0;
    accent-color: #5b4fe9;
}

.contribution-material-slot__remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 40px;
    padding: .45rem .55rem;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #9f1239;
    font-size: .76rem;
    font-weight: 800;
}

.contribution-material-slot__remove span {
    display: none;
}

.contribution-material-slot__remove:disabled {
    color: #94a3b8;
    cursor: not-allowed;
}

.contribution-material-slot__remove svg {
    width: 16px;
    height: 16px;
}

.contribution-assisted__add-material {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    width: 100%;
    min-height: 48px;
    margin-top: .75rem;
    padding: .7rem .85rem;
    border: 1px dashed #9da8ba;
    border-radius: 12px;
    background: #fff;
    color: #4338ca;
    font: inherit;
    font-size: .8rem;
    font-weight: 850;
}

.contribution-assisted__add-material span {
    color: #718096;
    font-size: .72rem;
    font-weight: 650;
}

.contribution-assisted__add-material svg {
    width: 18px;
    height: 18px;
}

.contribution-assisted__consent,
.contribution-assisted__representation {
    display: flex;
    align-items: flex-start;
    min-height: 48px;
    margin-top: .85rem;
    padding: .75rem;
    border: 1px solid #dce2ec;
    border-radius: 12px;
    background: #f8fafc;
    color: #29364d;
    font-size: .82rem;
    font-weight: 750;
    line-height: 1.45;
}
.contribution-assisted__representation span { display: grid; gap: .15rem; }
.contribution-assisted__representation strong { color: #29364d; font-size: 1rem; }
.contribution-assisted__representation small { color: #718096; font-size: .82rem; font-weight: 650; }

.contribution-assisted__review {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-radius: 16px;
    background: linear-gradient(135deg, #172033, #312e81);
    color: #fff;
}

.contribution-assisted__review strong,
.contribution-assisted__review small {
    display: block;
}

.contribution-assisted__review small {
    max-width: 560px;
    margin-top: .2rem;
    color: #dbe3f3;
    font-size: .74rem;
    line-height: 1.4;
}

.contribution-assisted__review button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    min-height: 46px;
    padding: .7rem .9rem;
    border: 0;
    border-radius: 11px;
    background: #fff;
    color: #312e81;
    font-size: .8rem;
    font-weight: 900;
    white-space: nowrap;
}

.contribution-assisted__review button:disabled {
    opacity: .62;
    cursor: not-allowed;
}

.contribution-assisted__review button svg {
    width: 17px;
    height: 17px;
}

.contribution-assisted__validation,
.contribution-assisted__noscript {
    padding: .85rem .95rem;
    border: 1px solid #dce2ec;
    border-radius: 13px;
    background: #f8fafc;
    color: #58677d;
    font-size: .8rem;
    line-height: 1.45;
}

.contribution-assisted__validation.is-invalid {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.contribution-assisted__validation.is-valid {
    border-color: #b9e4ce;
    background: #effbf5;
    color: #166534;
}

.contribution-hub-trust {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1rem;
    padding: 1rem;
}

.contribution-hub-trust > div {
    display: flex;
    gap: .65rem;
    align-items: flex-start;
    min-width: 0;
}

.contribution-hub-trust svg {
    flex: 0 0 auto;
    width: 21px;
    height: 21px;
    color: #5b4fe9;
}

.contribution-hub-trust strong,
.contribution-hub-trust small {
    display: block;
    overflow-wrap: anywhere;
}

.contribution-hub-trust strong {
    font-size: .84rem;
}

.contribution-hub-trust small {
    margin-top: .2rem;
    color: #718096;
    font-size: .76rem;
    line-height: 1.4;
}

@media (max-width: 760px) {
    .contribution-hub-summary__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contribution-hub-summary__items li:last-child {
        grid-column: 1 / -1;
    }

    .contribution-hub-trust {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .contribution-hub-main {
        padding-top: 1.15rem;
    }

    .contribution-hub-hero {
        margin-bottom: 1rem;
        text-align: left;
    }

    .contribution-hub-hero h1 {
        font-size: clamp(1.85rem, 9vw, 2.3rem);
    }

    .contribution-hub-hero p {
        margin-top: .65rem;
        font-size: .9rem;
        line-height: 1.5;
    }

    .contribution-hub-main--in-progress .contribution-hub-hero {
        margin-bottom: .65rem;
    }

    .contribution-hub-main--in-progress .contribution-hub-kicker,
    .contribution-hub-main--in-progress .contribution-hub-hero p {
        display: none;
    }

    .contribution-hub-main--in-progress .contribution-hub-hero h1 {
        font-size: 1.2rem;
        letter-spacing: -.025em;
        line-height: 1.2;
    }

    .contribution-hub-progress {
        padding: .35rem;
        border-radius: 15px;
    }

    .contribution-hub-progress ol {
        gap: .2rem;
    }

    .contribution-hub-progress li {
        min-height: 44px;
    }

    .contribution-hub-progress__item,
    .contribution-hub-progress li > a {
        min-height: 44px;
        gap: .35rem;
        padding: .3rem .35rem;
    }

    .contribution-hub-progress__marker {
        width: 24px;
        height: 24px;
    }

    .contribution-hub-progress__copy small {
        display: none;
    }

    .contribution-hub-progress__copy strong {
        font-size: .66rem;
        line-height: 1.12;
        white-space: normal;
    }

    .contribution-hub-progress__edit span {
        display: none;
    }

    .contribution-hub-progress__edit svg {
        width: 12px;
        height: 12px;
    }

    .contribution-hub-progress__reset {
        position: static;
        justify-content: center;
        margin-top: .25rem;
        transform: none;
    }

    .contribution-hub-progress:has(.contribution-hub-progress__reset) li:last-child {
        padding-right: .4rem;
    }

    .contribution-hub-summary,
    .contribution-hub-step,
    .contribution-hub-trust {
        border-radius: 18px;
    }

    .contribution-hub-summary {
        border-radius: 15px;
        box-shadow: 0 10px 30px rgba(30, 41, 59, .07);
    }

    .contribution-hub-summary__toggle {
        grid-template-columns: 38px minmax(0, 1fr) 18px;
        gap: .65rem;
        min-height: 64px;
        padding: .65rem .75rem;
    }

    .contribution-hub-summary__icon {
        width: 38px;
        height: 38px;
        border-radius: 12px;
    }

    .contribution-hub-summary__count {
        display: none;
    }

    .contribution-hub-summary__copy strong {
        font-size: .84rem;
    }

    .contribution-hub-summary__panel {
        padding: .65rem .75rem .75rem;
    }

    .contribution-hub-summary__panel-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: .35rem;
        margin-bottom: .35rem;
    }

    .contribution-hub-summary__panel-heading a {
        min-height: 40px;
        padding: .45rem 0;
    }

    .contribution-hub-choices,
    .contribution-hub-summary__items {
        grid-template-columns: 1fr;
    }

    .contribution-hub-summary__items {
        gap: 0;
        border-top: 1px solid #eceef3;
    }

    .contribution-hub-summary__items li,
    .contribution-hub-summary__items li.is-current,
    .contribution-hub-summary__items li.is-complete {
        display: grid;
        grid-template-columns: 76px minmax(0, 1fr);
        min-height: 50px;
        align-items: center;
        padding: .28rem .15rem;
        border: 0;
        border-bottom: 1px solid #eceef3;
        border-radius: 0;
        background: transparent;
    }

    .contribution-hub-summary__items span {
        margin: 0;
    }

    .contribution-hub-summary__items strong,
    .contribution-hub-summary__items a {
        display: flex;
        min-height: 44px;
        align-items: center;
        justify-content: space-between;
        gap: .45rem;
    }

    .contribution-hub-summary__items a {
        color: #5145c7;
    }

    .contribution-hub-summary__items li:last-child {
        grid-column: auto;
    }

    .contribution-hub-choice {
        min-height: 108px;
        padding: .85rem;
    }

    .contribution-hub-search > div {
        grid-template-columns: 1fr;
    }

    .contribution-hub-complete {
        grid-template-columns: 1fr;
    }

    .contribution-assisted__fields,
    .contribution-assisted__links,
    .contribution-assisted__materials {
        grid-template-columns: 1fr;
    }

    .contribution-assisted__field--wide {
        grid-column: auto;
    }

    .contribution-assisted__section > header {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .contribution-assisted__section header > b {
        grid-column: 2;
        justify-self: start;
    }

    .contribution-assisted__review {
        align-items: stretch;
        flex-direction: column;
    }

    .contribution-assisted__review button {
        width: 100%;
        white-space: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    .contribution-hub-choice {
        transition: none;
    }
}

/* F5.7b-final — formularul gratuit folosește aceleași carduri pe toate ramurile. */
.contribution-self {
    display: grid;
    gap: 1rem;
}

.contribution-self__section {
    overflow: hidden;
    padding: clamp(.9rem, 3vw, 1.35rem);
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #fff;
}

.contribution-self__section > header {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
    margin-bottom: 1rem;
}

.contribution-self__section > header > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: #ede9fe;
    color: #5b21b6;
    font-weight: 900;
}

.contribution-self h3,
.contribution-self p {
    margin: 0;
}

.contribution-self__section header h3 {
    color: #172033;
    font-size: 1.12rem;
    font-weight: 900;
}

.contribution-self--place .contribution-self__section header h3 small {
    color: #64748b;
    font-size: .68em;
    font-weight: 750;
}

.contribution-self__section header p {
    margin-top: .25rem;
    color: #64748b;
    font-size: .86rem;
    line-height: 1.5;
}

.contribution-self__grid,
.contribution-self__source-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.contribution-self__field.is-wide {
    grid-column: 1 / -1;
}

.contribution-self__help {
    margin: -.05rem 0 .25rem !important;
    color: #64748b;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.45;
}

.contribution-self__draft-tools {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: center;
    margin-bottom: 0;
    padding: .75rem;
    border: 1px solid #c7d2fe;
    border-radius: 13px;
    background: #f5f7ff;
    color: #3730a3;
}
.contribution-self__draft-tools > svg { width: 20px; }
.contribution-self__draft-tools > span { display: grid; gap: .12rem; }
.contribution-self__draft-copy > strong {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .38rem;
    white-space: nowrap;
}
.contribution-self__draft-copy > strong > i {
    color: #8b87ad;
    font-style: normal;
}
.contribution-self__draft-tools.is-restored {
    border-color: #b9e4ce;
    background: linear-gradient(135deg, #effbf5, #f5f7ff);
    color: #195c3a;
}
.contribution-self__draft-tools strong { font-size: .78rem; }
.contribution-self__draft-tools small { color: #63698b; font-size: .67rem; font-weight: 650; line-height: 1.4; }
.contribution-self__draft-tools button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .55rem .7rem;
    border: 1px solid #c7d2fe;
    border-radius: 10px;
    background: #fff;
    color: #4338ca;
    font-size: .72rem;
    font-weight: 850;
}
.contribution-self__draft-tools button svg { width: 15px; }

body.contribution-clear-dialog-open { overflow: hidden; }
.contribution-self__clear-dialog {
    position: fixed;
    z-index: 1095;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
}
.contribution-self__clear-dialog[hidden] { display: none; }
.contribution-self__clear-dialog-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgba(15, 23, 42, .54);
    backdrop-filter: blur(4px);
}
.contribution-self__clear-dialog > section {
    position: relative;
    display: grid;
    width: min(440px, calc(100vw - 32px));
    grid-template-columns: 44px minmax(0, 1fr);
    gap: .8rem;
    padding: 1.15rem;
    border: 1px solid #fecaca;
    border-radius: 18px;
    outline: none;
    background: #fff;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .32);
}
.contribution-self__clear-dialog-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 13px;
    background: #fff1f2;
    color: #be123c;
}
.contribution-self__clear-dialog-icon svg { width: 21px; height: 21px; }
.contribution-self__clear-dialog h3 { margin: 0; color: #172033; font-size: 1rem; font-weight: 900; }
.contribution-self__clear-dialog p { margin: .35rem 0 0; color: #64748b; font-size: .78rem; font-weight: 600; line-height: 1.5; }
.contribution-self__clear-dialog .contribution-self__clear-dialog-error { color: #b91c1c; font-weight: 750; }
.contribution-self__clear-dialog footer {
    display: flex;
    grid-column: 1 / -1;
    justify-content: flex-end;
    gap: .55rem;
    margin-top: .2rem;
}
.contribution-self__clear-dialog footer button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .6rem .85rem;
    border: 1px solid #dbe3ef;
    border-radius: 11px;
    background: #fff;
    color: #475569;
    font-size: .76rem;
    font-weight: 850;
}
.contribution-self__clear-dialog footer button.is-danger { border-color: #e11d48; background: #e11d48; color: #fff; }
.contribution-self__clear-dialog footer button:focus-visible { outline: 3px solid rgba(225, 29, 72, .22); outline-offset: 2px; }
.contribution-self__clear-dialog footer button svg { width: 16px; height: 16px; }

.contribution-self__toast {
    position: fixed;
    z-index: 1090;
    right: clamp(12px, 2vw, 28px);
    bottom: clamp(18px, 2vw, 28px);
    display: grid;
    width: min(390px, calc(100vw - 24px));
    grid-template-columns: 24px minmax(0, 1fr) 32px;
    gap: .7rem;
    align-items: center;
    padding: .85rem .9rem;
    border: 1px solid #86d6aa;
    border-radius: 15px;
    background: #f0fdf4;
    color: #166534;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .2);
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity 180ms ease, transform 180ms ease;
}

.contribution-self__toast[hidden] { display: none; }
.contribution-self__toast.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.contribution-self__toast > svg { width: 24px; height: 24px; }
.contribution-self__toast > span { display: grid; min-width: 0; gap: .12rem; }
.contribution-self__toast strong { color: inherit; font-size: .86rem; font-weight: 900; }
.contribution-self__toast small { color: #3f6f53; font-size: .72rem; font-weight: 650; line-height: 1.35; }
.contribution-self__toast button {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    cursor: pointer;
}
.contribution-self__toast button:hover { background: rgba(22, 101, 52, .08); }
.contribution-self__toast button:focus-visible { outline: 3px solid rgba(22, 101, 52, .2); outline-offset: 2px; }
.contribution-self__toast button svg { width: 17px; height: 17px; }

@media (max-width: 575.98px) {
    .contribution-self__clear-dialog { align-items: end; padding: 12px 12px calc(76px + env(safe-area-inset-bottom, 0px)); }
    .contribution-self__clear-dialog > section { width: 100%; padding: 1rem; border-radius: 17px; }
    .contribution-self__clear-dialog footer { display: grid; grid-template-columns: 1fr 1fr; }
    .contribution-self__toast {
        right: 12px;
        bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    }
}

.contribution-self__checklist {
    margin-top: -.4rem;
    margin-bottom: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}
.contribution-self__checklist summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 18px;
    gap: .55rem;
    min-height: 46px;
    align-items: center;
    padding: .65rem .75rem;
    color: #334155;
    cursor: pointer;
    list-style: none;
}
.contribution-self__checklist summary::-webkit-details-marker { display: none; }
.contribution-self__checklist summary > span { display: flex; align-items: center; gap: .42rem; }
.contribution-self__checklist summary svg { width: 16px; }
.contribution-self__checklist summary > span svg { color: #7c3aed; }
.contribution-self__checklist summary strong { font-size: .75rem; }
.contribution-self__checklist summary b { color: #7c3aed; font-size: .68rem; }
.contribution-self__checklist summary > svg { transition: transform .18s ease; }
.contribution-self__checklist[open] summary > svg { transform: rotate(180deg); }
.contribution-self__checklist ul { display: grid; gap: .35rem; margin: 0; padding: 0 .8rem .8rem 2rem; color: #64748b; font-size: .72rem; }
.contribution-self__checklist li.is-complete { color: #15803d; }

.contribution-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.contribution-choice-grid--types {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.contribution-place-types .contribution-choice-grid--types {
    gap: .45rem;
}

.contribution-field-choice {
    min-width: 0;
    cursor: pointer;
}

.contribution-field-choice > input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.contribution-field-choice > span {
    display: grid;
    min-height: 86px;
    grid-template-columns: 30px minmax(0, 1fr);
    column-gap: .55rem;
    align-content: center;
    padding: .75rem;
    border: 1px solid #dbe3ef;
    border-radius: 15px;
    background: #fff;
    color: #334155;
    box-shadow: 0 4px 12px rgba(30, 41, 59, .04);
    transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.contribution-field-choice svg {
    grid-row: 1 / span 2;
    width: 22px;
    color: #7c3aed;
}

.contribution-field-choice strong {
    align-self: end;
    font-size: .83rem;
    line-height: 1.25;
}

.contribution-field-choice small {
    color: #64748b;
    font-size: .68rem;
    font-weight: 650;
}

.contribution-field-choice > input:checked + span {
    border-color: #8b5cf6;
    background: linear-gradient(135deg, #f5f3ff, #fff7fd);
    box-shadow: 0 0 0 3px rgba(124, 58, 237, .12), 0 8px 20px rgba(91, 33, 182, .08);
}

.contribution-field-choice > input:focus-visible + span {
    outline: 3px solid rgba(124, 58, 237, .18);
    outline-offset: 2px;
}

.contribution-field-choice:active > span {
    transform: scale(.985);
}

.contribution-place-picker {
    position: relative;
    display: grid;
    gap: .55rem;
}

.contribution-place-picker__search {
    position: relative;
}

.contribution-place-picker__search > svg {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: .85rem;
    width: 19px;
    color: #7c3aed;
    transform: translateY(-50%);
    pointer-events: none;
}

.contribution-place-picker__search input {
    width: 100%;
    min-height: 50px;
    padding: .75rem .85rem .75rem 2.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 13px;
    background: #fff;
    color: #172033;
    font-size: 16px;
}

.contribution-place-picker__search input:focus {
    border-color: #7c3aed;
    outline: 3px solid rgba(124, 58, 237, .14);
}

.contribution-place-picker.is-enhanced > select {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

.contribution-place-picker__results {
    position: absolute;
    z-index: 20;
    top: 54px;
    right: 0;
    left: 0;
    overflow-y: auto;
    max-height: 280px;
    padding: .4rem;
    border: 1px solid #ddd6fe;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(30, 41, 59, .16);
}

.contribution-place-picker__result {
    display: grid;
    width: 100%;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: .55rem;
    padding: .65rem;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #334155;
    cursor: pointer;
    text-align: left;
}

.contribution-place-picker__result:hover,
.contribution-place-picker__result:focus-visible {
    background: #f5f3ff;
    outline: none;
}

.contribution-place-picker__result > span:first-child,
.contribution-place-picker__selected > span:first-child {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: #ede9fe;
    color: #6d28d9;
}

.contribution-place-picker__result svg,
.contribution-place-picker__selected svg { width: 17px; }
.contribution-place-picker__result > span:last-child,
.contribution-place-picker__selected > span:nth-child(2) { display: grid; min-width: 0; gap: .1rem; }
.contribution-place-picker__result strong,
.contribution-place-picker__selected strong { font-size: .82rem; }
.contribution-place-picker__result small,
.contribution-place-picker__selected small { overflow: hidden; color: #64748b; font-size: .7rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }

.contribution-place-picker__selected {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 36px;
    gap: .6rem;
    align-items: center;
    padding: .7rem;
    border: 1px solid #a7f3d0;
    border-radius: 13px;
    background: #f0fdf4;
    color: #14532d;
}

.contribution-place-picker__selected[hidden] { display: none; }
.contribution-place-picker__selected button { display: grid; width: 36px; height: 36px; place-items: center; border: 0; border-radius: 50%; background: #fff; color: #64748b; cursor: pointer; }

.contribution-tags {
    display: grid;
    gap: .65rem;
}

.contribution-tags__editor {
    display: flex;
    min-height: 52px;
    flex-wrap: wrap;
    gap: .4rem;
    align-items: center;
    padding: .45rem .55rem;
    border: 1px solid #cbd5e1;
    border-radius: 13px;
    background: #fff;
}

.contribution-tags__editor:focus-within {
    border-color: #7c3aed;
    outline: 3px solid rgba(124, 58, 237, .14);
}

.contribution-tags__chips { display: contents; }
.contribution-tags__editor > input { min-width: 150px; flex: 1; padding: .4rem .3rem; border: 0; outline: 0; color: #172033; font-size: 16px; }
.contribution-tags__chip,
.contribution-tags__suggestions button {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: .35rem;
    padding: .35rem .6rem;
    border: 1px solid #ddd6fe;
    border-radius: 999px;
    background: #f5f3ff;
    color: #5b21b6;
    font-size: .73rem;
    font-weight: 800;
}
.contribution-tags__chip button { display: grid; width: 20px; height: 20px; place-items: center; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; }
.contribution-tags__chip button svg { width: 14px; }
.contribution-tags__actions { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.contribution-tags__actions > button { display: inline-flex; min-height: 42px; align-items: center; gap: .4rem; padding: .55rem .8rem; border: 1px solid #c4b5fd; border-radius: 999px; background: #fff; color: #6d28d9; font-size: .76rem; font-weight: 850; cursor: pointer; }
.contribution-tags__actions > button svg { width: 17px; }
.contribution-tags__actions > span { color: #64748b; font-size: .72rem; font-weight: 650; }
.contribution-tags__suggestions { padding: .7rem; border: 1px solid #e2e8f0; border-radius: 12px; background: #f8fafc; }
.contribution-tags__suggestions > strong { display: block; margin-bottom: .5rem; color: #475569; font-size: .72rem; text-transform: uppercase; }
.contribution-tags__suggestions > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.contribution-tags__suggestions button { background: #fff; cursor: pointer; }
.contribution-tags__suggestions button.is-added { border-color: #a7f3d0; background: #ecfdf5; color: #166534; cursor: default; }

.contribution-self__field,
.contribution-self__source-grid label {
    display: grid;
    min-width: 0;
    gap: .35rem;
    color: #334155;
    font-size: 1rem;
    font-weight: 800;
}

.contribution-self__field > label,
.contribution-self__field > legend {
    color: #242c40;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.25;
}

@media (min-width: 768px) {
    .contribution-self--place [data-contribution-field="name"] .contribution-self__help {
        white-space: nowrap;
    }
}

.contribution-self__field label b,
.contribution-self__source legend b {
    margin-left: .25rem;
    color: #6d28d9;
    font-size: .65rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.contribution-self__control,
.contribution-self__source input,
.contribution-self__source select {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: .72rem .78rem;
    border: 1px solid #cbd5e1;
    border-radius: 11px;
    background: #fff;
    color: #172033;
    font: inherit;
    font-size: 16px;
}

textarea.contribution-self__control {
    min-height: 130px;
    resize: vertical;
    line-height: 1.5;
}

.contribution-self__control[type="datetime-local"],
.contribution-self__control[type="date"],
.contribution-self__control[type="time"] {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    inline-size: 100%;
}

.contribution-self__control::-webkit-date-and-time-value {
    min-width: 0;
    text-align: left;
}

.contribution-native-date-control {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 11px;
    background: #fff;
}

.contribution-native-date-control > .contribution-self__control {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding-right: 3rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    outline: 0;
}

.contribution-native-date-control > svg {
    position: absolute;
    display: none;
    top: 50%;
    right: .8rem;
    width: 20px;
    height: 20px;
    color: #7c3aed;
    pointer-events: none;
    transform: translateY(-50%);
}

.contribution-native-date-control:focus-within {
    border-color: #7c3aed;
    outline: 3px solid rgba(124, 58, 237, .14);
}

.contribution-self__field.has-error .contribution-native-date-control {
    border-color: #dc2626;
}

.contribution-self__control:focus,
.contribution-self__source input:focus,
.contribution-self__source select:focus {
    border-color: #7c3aed;
    outline: 3px solid rgba(124, 58, 237, .14);
}

.contribution-link-control {
    display: grid;
    min-width: 0;
    grid-template-columns: 50px minmax(0, 1fr);
    border: 1px solid #cbd5e1;
    border-radius: 11px;
    background: #fff;
    overflow: hidden;
}

.contribution-link-control > span:first-child {
    display: grid;
    min-height: 48px;
    place-items: center;
    border-right: 1px solid #dbe3ef;
    background: #f1f5f9;
    color: var(--contribution-link-color, #6366f1);
}

.contribution-link-control > span:first-child svg {
    width: 18px;
    height: 18px;
}

.contribution-link-control > .contribution-self__control {
    border: 0;
    border-radius: 0;
    outline: 0;
}

.contribution-link-control:focus-within {
    border-color: #7c3aed;
    outline: 3px solid rgba(124, 58, 237, .14);
}

.contribution-self__field.has-error .contribution-link-control,
.contribution-link-control:has(> .contribution-self__control[aria-invalid="true"]) {
    border-color: #dc2626;
}

.contribution-self__field.has-error .contribution-self__control {
    border-color: #dc2626;
}

.contribution-self__baseline {
    color: #64748b;
    font-size: .74rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.contribution-self__error {
    display: block;
    color: #b91c1c;
    font-size: .78rem;
    font-weight: 750;
    line-height: 1.4;
}

.contribution-self__optional {
    margin-top: 1rem;
    border-top: 1px solid #e2e8f0;
}

.contribution-self__optional summary {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #5b21b6;
    cursor: pointer;
    font-size: .86rem;
    font-weight: 850;
    list-style: none;
}

.contribution-self__optional summary > span { display: grid; gap: .1rem; }
.contribution-self__optional summary strong { font-size: .86rem; }
.contribution-self__optional summary small { color: #64748b; font-size: .7rem; font-weight: 650; }

.contribution-self__optional summary::-webkit-details-marker { display: none; }
.contribution-self__optional summary svg { width: 18px; }
.contribution-self__optional[open] summary svg { transform: rotate(180deg); }
.contribution-self__optional > .contribution-self__grid { padding-top: .35rem; }

.contribution-self__diff-note,
.contribution-self__policy,
.contribution-self__saved,
.contribution-self__submit > p {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding: .75rem;
    border-radius: 12px;
    background: #f5f3ff;
    color: #4c1d95;
    font-size: .82rem;
    line-height: 1.45;
}

.contribution-self__diff-note { margin-bottom: 1rem; }
.contribution-self__policy { margin-bottom: 1rem; background: #fff7ed; color: #9a3412; }
.contribution-self__diff-note svg,
.contribution-self__policy svg,
.contribution-self__saved svg,
.contribution-self__submit svg { width: 19px; min-width: 19px; }
.contribution-self__diff-note span,
.contribution-self__saved span,
.contribution-self__submit span { display: grid; gap: .1rem; }
.contribution-self__diff-note small,
.contribution-self__saved small,
.contribution-self__submit small { color: inherit; font-size: .75rem; font-weight: 600; }

.contribution-self__sources { display: grid; gap: .75rem; }
.contribution-self__more-sources > summary {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: 0 .2rem;
    color: #5b21b6;
    cursor: pointer;
    font-size: .84rem;
    font-weight: 850;
    list-style: none;
}
.contribution-self__more-sources > summary::-webkit-details-marker { display: none; }
.contribution-self__more-sources > summary svg { width: 18px; }
.contribution-self__more-sources[open] > summary svg { transform: rotate(45deg); }
.contribution-self__more-sources > .contribution-self__sources { padding-top: .45rem; }
.contribution-self__source {
    min-width: 0;
    margin: 0;
    padding: .8rem;
    border: 1px solid #dbe3ef;
    border-radius: 14px;
    background: #f8fafc;
}
.contribution-self__source.has-existing { border-color: #86d6aa; background: #f2fbf6; }
.contribution-self__source legend { padding: 0 .25rem; color: #334155; font-size: .82rem; font-weight: 900; }
.contribution-self__source-grid label small { color: #64748b; font-size: .7rem; font-weight: 600; }
.contribution-self__saved { margin-bottom: .7rem !important; background: #dcfce7; color: #166534; }
.contribution-self__remove,
.contribution-self__representation,
.contribution-self__consent {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    margin-top: .75rem;
    color: #475569;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.45;
}
.contribution-self__remove input,
.contribution-self__representation input,
.contribution-self__consent input { width: 20px; min-width: 20px; min-height: 20px; margin: 0; }
.contribution-self__representation {
    padding: .8rem;
    border: 1px solid #dbe3ef;
    border-radius: 14px;
    background: #f8fafc;
}
.contribution-self__representation span { display: grid; gap: .15rem; }
.contribution-self__representation strong { color: #1e293b; font-size: 1rem; }
.contribution-self__representation small { color: #64748b; font-size: .82rem; font-weight: 650; }

.contribution-self__alert {
    display: grid;
    gap: .2rem;
    padding: .9rem;
    border: 1px solid #fecaca;
    border-radius: 14px;
    background: #fef2f2;
    color: #991b1b;
    font-size: .85rem;
    line-height: 1.45;
}

.contribution-self__submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem;
    border-radius: 16px;
    background: #111827;
}
.contribution-self__submit > p { max-width: 540px; padding: 0; background: transparent; color: #dbeafe; }
.contribution-self__submit button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .75rem 1rem;
    border: 0;
    border-radius: 12px;
    background: #7c3aed;
    color: #fff;
    font-size: .88rem;
    font-weight: 900;
    cursor: pointer;
    white-space: nowrap;
}
.contribution-self__submit button:disabled { opacity: .65; cursor: wait; }
.contribution-self__submit button svg { width: 18px; }

/* Formularul unificat păstrează ierarhia formularelor editoriale mature. */
.contribution-self__form-sections {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.contribution-self__form-section {
    padding: clamp(.8rem, 2vw, 1.1rem);
    border: 1px solid #dbe3ef;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .045);
}

.contribution-self__form-section > header {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: .7rem;
    align-items: start;
    margin-bottom: .9rem;
}

.contribution-self__form-section > header > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    background: #ede9fe;
    color: #6d28d9;
}

.contribution-self__form-section > header svg { width: 19px; }
.contribution-self__form-section > header h4 { margin: 0; color: #172033; font-size: 1rem; font-weight: 900; }
.contribution-self__form-section > header p { margin: .15rem 0 0; color: #64748b; font-size: .76rem; font-weight: 600; line-height: 1.45; }

.contribution-self__responsive-disclosure > summary {
    list-style: none;
}

.contribution-self__responsive-disclosure > summary::-webkit-details-marker {
    display: none;
}

.contribution-self__form-disclosure > summary {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 22px;
    gap: .7rem;
    min-height: 42px;
    align-items: start;
    color: #172033;
}

.contribution-self__form-disclosure > summary > span:first-child {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    background: #ede9fe;
    color: #6d28d9;
}

.contribution-self__form-disclosure > summary > span:nth-child(2) {
    display: grid;
    align-self: center;
    gap: .15rem;
}

.contribution-self__form-disclosure > summary strong {
    font-size: 1rem;
    font-weight: 900;
}

.contribution-self__form-disclosure > summary small {
    color: #64748b;
    font-size: .76rem;
    font-weight: 600;
    line-height: 1.45;
}

.contribution-self__form-disclosure > summary > svg {
    width: 19px;
    align-self: center;
    color: #7c3aed;
    transition: transform .18s ease;
}

.contribution-self__form-disclosure[open] > summary {
    margin-bottom: .9rem;
}

.contribution-self__form-disclosure[open] > summary > svg {
    transform: rotate(180deg);
}

.contribution-self__step-disclosure > summary {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 22px;
    gap: .75rem;
    align-items: start;
    color: #172033;
}

.contribution-self__step-disclosure > summary > span:first-child {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: #ede9fe;
    color: #5b21b6;
    font-weight: 900;
}

.contribution-self__step-disclosure > summary > span:nth-child(2) {
    display: grid;
    gap: .25rem;
}

.contribution-self__step-disclosure > summary strong {
    font-size: 1.12rem;
    font-weight: 900;
}

.contribution-self__step-disclosure > summary small {
    color: #64748b;
    font-size: .86rem;
    font-weight: 400;
    line-height: 1.5;
}

.contribution-self__step-disclosure > summary > svg {
    width: 19px;
    align-self: center;
    color: #7c3aed;
    transition: transform .18s ease;
}

.contribution-self__step-disclosure[open] > summary {
    margin-bottom: 1rem;
}

.contribution-self__step-disclosure[open] > summary > svg {
    transform: rotate(180deg);
}

@media (min-width: 576px) {
    .contribution-self__responsive-disclosure[data-mobile-disclosure] > summary {
        cursor: default;
        pointer-events: none;
    }

    .contribution-self__responsive-disclosure[data-mobile-disclosure] > summary > svg {
        display: none;
    }
}

.contribution-self--event .event-required-card .contribution-choice-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.contribution-hub-page .contribution-self--event .event-required-card [data-contribution-field="title"],
body.contribution-hub-page .contribution-self--place .place-required-card [data-contribution-field="name"] {
    grid-column: 1 / -1;
}

body.contribution-hub-page .contribution-self--event .event-required-card [data-contribution-field="title"] > .contribution-self__control,
body.contribution-hub-page .contribution-self--place .place-required-card [data-contribution-field="name"] > .contribution-self__control {
    width: 100%;
    max-width: none;
}

.contribution-self__optional.event-optional-card,
.contribution-self__optional.place-optional-card {
    margin-top: 0;
    border-top: 1px solid #dbe3ef;
}

.contribution-self__optional.event-optional-card {
    overflow: visible;
    margin-top: 1rem;
    padding: 1rem 0 0;
    border: 0;
    border-top: 1px solid #dbe3ef;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.contribution-self__optional.place-optional-card {
    overflow: visible;
    margin-top: 1rem;
    padding: 1rem 0 0;
    border: 0;
    border-top: 1px solid #dbe3ef;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.contribution-self__optional.place-optional-card:hover {
    border-top-color: #dbe3ef;
    box-shadow: none;
}

.contribution-self__optional.event-optional-card:hover {
    border-top-color: #dbe3ef;
    box-shadow: none;
}

.contribution-self__optional.place-optional-card:has(> summary:focus-visible) {
    border-top-color: #8b5cf6;
    box-shadow: none;
}

.contribution-self__optional.event-optional-card:has(> summary:focus-visible) {
    border-top-color: #8b5cf6;
    box-shadow: none;
}

.contribution-self__optional.place-optional-card > summary:focus-visible {
    border-radius: 12px;
    outline: 3px solid rgba(124, 58, 237, .17);
    outline-offset: 4px;
}

.contribution-self__optional.event-optional-card > summary:focus-visible {
    border-radius: 12px;
    outline: 3px solid rgba(124, 58, 237, .17);
    outline-offset: 4px;
}

.contribution-self__optional.event-optional-card > summary,
.contribution-self__optional.place-optional-card > summary {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 22px;
    gap: .7rem;
    min-height: 58px;
}


.contribution-self__optional.event-optional-card > summary {
    grid-template-columns: 42px minmax(0, 1fr) 22px;
    gap: .75rem;
    min-height: 58px;
    color: #172033;
}

.contribution-self__optional.place-optional-card > summary {
    grid-template-columns: 42px minmax(0, 1fr) 22px;
    gap: .75rem;
    min-height: 58px;
    color: #172033;
}

.contribution-self__optional.event-optional-card > summary > span:first-child,
.contribution-self__optional.place-optional-card > summary > span:first-child {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    background: #ede9fe;
}

.contribution-self__optional.event-optional-card > summary > span:first-child {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #ede9fe;
    color: #5b21b6;
    box-shadow: none;
    font-weight: 900;
}

.contribution-self__optional.place-optional-card > summary > span:first-child {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #ede9fe;
    color: #5b21b6;
    box-shadow: none;
}

.contribution-self__optional.event-optional-card > summary > span:nth-child(2),
.contribution-self__optional.place-optional-card > summary > span:nth-child(2) {
    align-self: center;
}

.contribution-self__optional.event-optional-card > summary strong,
.contribution-self__optional.place-optional-card > summary strong { font-size: 1rem; }
.contribution-self__optional.event-optional-card > summary small,
.contribution-self__optional.place-optional-card > summary small { font-size: .76rem; line-height: 1.45; }
.contribution-self__optional.place-optional-card > summary strong { color: #172033; font-size: 1.12rem; }
.contribution-self__optional.place-optional-card > summary small { color: #475569; }
.contribution-self__optional.event-optional-card > summary strong { color: #172033; font-size: 1.12rem; }
.contribution-self__optional.event-optional-card > summary small { color: #475569; }
.contribution-self__optional.event-optional-card[open] > summary,
.contribution-self__optional.place-optional-card[open] > summary { margin-bottom: 1rem; }
.contribution-self__optional.place-optional-card[open] {
    border-top-color: #dbe3ef;
    background: transparent;
}
.contribution-self__optional.event-optional-card[open] {
    border-top-color: #dbe3ef;
    background: transparent;
}
.contribution-self__field.is-inherited-place { display: none; }

.contribution-self__form-section.ticket-card {
    border-color: #c4b5fd;
    background: linear-gradient(180deg, #faf8ff, #fff);
}

.contribution-self__form-section.ticket-card > header > span {
    background: #7c3aed;
    color: #fff;
}

.contribution-self__field[data-contribution-field="ticket_url"] {
    padding: .8rem;
    border: 1px solid #ddd6fe;
    border-radius: 13px;
    background: #f5f3ff;
}

.contribution-address-picker { display: grid; gap: .55rem; }
.contribution-address-picker__search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
}
.contribution-address-picker__search input {
    min-width: 0;
    min-height: 50px;
    padding: .7rem .8rem;
    border: 1px solid #cbd5e1;
    border-right: 0;
    border-radius: 12px 0 0 12px;
    color: #172033;
    font-size: 16px;
}
.contribution-address-picker__search input:focus { z-index: 1; border-color: #7c3aed; outline: 3px solid rgba(124, 58, 237, .14); }
.contribution-address-picker__search button {
    display: inline-flex;
    min-width: 104px;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border: 0;
    border-radius: 0 12px 12px 0;
    background: #6d28d9;
    color: #fff;
    font-size: .8rem;
    font-weight: 850;
}
.contribution-address-picker__search button svg { width: 17px; }
.contribution-address-picker__status { margin: 0; color: #64748b; font-size: .73rem; font-weight: 650; }
.contribution-address-picker__google-attribution {
    margin: -.2rem 0 0;
    color: #5f6368;
    font-size: .72rem;
    line-height: 1.3;
    text-align: right;
}
.contribution-address-picker__google-attribution[hidden] { display: none; }
.contribution-address-picker__google-attribution strong { color: #3c4043; font-weight: 700; }
.contribution-address-picker__results {
    display: grid;
    gap: .45rem;
    margin: 0;
    padding: .4rem;
    list-style: none;
    border: 1px solid #dbe3ef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .1);
}
.contribution-address-picker__results[hidden] { display: none; }
.contribution-address-result {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    padding: .72rem .8rem;
    border: 0;
    border-radius: 12px;
    background: #f8fafc;
    color: #172033;
    text-align: left;
    cursor: pointer;
}
.contribution-address-result:hover,
.contribution-address-result:focus-visible { background: #f1efff; outline: 2px solid #7c3aed; }
.contribution-address-result > span { min-width: 0; display: grid; gap: .18rem; }
.contribution-address-result strong,
.contribution-address-result > span > span { overflow-wrap: anywhere; }
.contribution-address-result > span > span { color: #64748b; font-size: .78rem; line-height: 1.35; }
.contribution-address-result small { white-space: nowrap; color: #92400e; font-size: .68rem; font-weight: 800; }
.contribution-address-result small.is-exact { color: #047857; }
.contribution-self__evidence-satisfied {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    margin: 0 0 .8rem;
    padding: .7rem .8rem;
    border: 1px solid #a7f3d0;
    border-radius: 12px;
    background: #ecfdf5;
    color: #047857;
    font-size: .82rem;
    font-weight: 750;
    line-height: 1.45;
}
.contribution-self__evidence-satisfied[hidden] { display: none; }
.contribution-self__evidence-satisfied svg { width: 19px; min-width: 19px; }
.contribution-address-picker__map {
    z-index: 1;
    width: 100%;
    height: 390px;
    overflow: hidden;
    border: 1px solid #dbe3ef;
    border-radius: 15px;
    background: #eef2f7;
}
.contribution-address-picker > small { color: #64748b; font-size: .72rem; font-weight: 650; line-height: 1.45; }

.contribution-self .rich-description-editor {
    overflow: visible;
    border: 1px solid #cbd5e1;
    border-radius: 14px;
    background: #fff;
}
.contribution-self .rich-description-editor .editor-toolbar { border-radius: 13px 13px 0 0; }
.contribution-self .rich-description-editor .editor-content {
    min-height: 210px;
    padding: .9rem;
}
.contribution-self [data-description-default-format="plain"] .editor-content strong,
.contribution-self [data-description-default-format="plain"] .editor-content b { font-weight: 700; }
.contribution-self :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]), select, textarea, [contenteditable="true"]) {
    font-weight: 400 !important;
}
body.contribution-hub-page .contribution-self--event input[name="fields[title]"],
body.contribution-hub-page .contribution-self--place input[name="fields[name]"] {
    font-weight: 800 !important;
}
.contribution-self .rich-description-editor .editor-content:empty::before {
    color: #94a3b8;
    content: attr(data-placeholder);
    pointer-events: none;
}

.contribution-self__media-note {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    padding: .7rem;
    border-radius: 12px;
    background: #f5f3ff;
    color: #5b21b6;
}
.contribution-self__media-note svg { width: 18px; min-width: 18px; }
.contribution-self__media-note span { display: grid; gap: .1rem; }
.contribution-self__media-note strong { font-size: .78rem; }
.contribution-self__media-note small { color: #6b7280; font-size: .7rem; font-weight: 650; line-height: 1.45; }

.contribution-facilities { display: flex; flex-wrap: wrap; gap: .45rem; }
.contribution-facilities__context { width: 100%; margin: 0 0 .15rem !important; color: #64748b; font-size: .72rem; font-weight: 650; line-height: 1.45; }
.contribution-facilities > button {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    gap: .35rem;
    padding: .5rem .7rem;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #fff;
    color: #475569;
    font-size: .76rem;
    font-weight: 800;
}
.contribution-facilities > button svg { width: 15px; opacity: .35; }
.contribution-facilities > button.is-selected { border-color: #8b5cf6; background: #ede9fe; color: #5b21b6; }
.contribution-facilities > button.is-selected svg { opacity: 1; }
.contribution-facilities > button.is-selected-exception { border-style: dashed; }
.contribution-facilities > button.is-context-hidden { display: none; }
.contribution-facilities > button.contribution-facilities__show-all {
    width: 100%;
    justify-content: center;
    border-style: dashed;
    border-radius: 12px;
    background: #f8fafc;
}
.contribution-place-types .contribution-field-choice.is-primary > span { box-shadow: inset 0 0 0 2px #7c3aed; }
.contribution-place-types .contribution-field-choice > span {
    min-height: 54px;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    align-content: center;
    column-gap: .5rem;
    padding: .5rem .65rem;
    border-radius: 13px;
}
.contribution-place-types .contribution-field-choice svg {
    grid-row: auto;
    width: 20px;
}
.contribution-place-types .contribution-field-choice strong {
    align-self: center;
    font-size: .79rem;
}
.contribution-place-types [data-place-type-role] {
    display: inline-flex;
    width: max-content;
    align-items: center;
    gap: .24rem;
    margin-top: 0;
    padding: .15rem .38rem;
    border-radius: 999px;
    background: #f1efff;
    color: #6d28d9;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .02em;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
}
.contribution-place-types [data-place-type-role] [data-place-type-role-copy] {
    display: inline !important;
    overflow: visible !important;
    color: inherit !important;
    font: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
    white-space: nowrap !important;
    -webkit-text-fill-color: currentColor !important;
}
.contribution-place-types [data-place-type-role] > i {
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}
.contribution-place-types [data-place-type-role][hidden] { display: none; }
.contribution-place-types .contribution-field-choice.is-primary [data-place-type-role] {
    background: #6d28d9;
    color: #fff;
}
.contribution-place-types .contribution-field-choice.is-primary [data-place-type-role-copy] {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
.contribution-place-types .contribution-field-choice.is-secondary [data-place-type-role-copy] {
    color: #6d28d9 !important;
    -webkit-text-fill-color: #6d28d9 !important;
}
.contribution-place-types .is-primary [data-place-type-role] > i {
    width: auto;
    height: auto;
    background: transparent;
}
.contribution-place-types .is-primary [data-place-type-role] > i::before {
    content: "★";
    font-size: .66rem;
    line-height: 1;
}
.contribution-place-types__show-all {
    display: none;
    width: 100%;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    margin-top: .65rem;
    padding: .65rem .8rem;
    border: 1px solid #c4b5fd;
    border-radius: 12px;
    background: #f5f3ff;
    color: #6d28d9;
    font: inherit;
    font-size: .82rem;
    font-weight: 850;
}
.contribution-place-types__show-all svg { width: 18px; }
.contribution-facilities > label { display: grid; width: 100%; gap: .35rem; margin-top: .25rem; }
.contribution-facilities > label input { min-height: 48px; padding: .7rem .8rem; border: 1px solid #cbd5e1; border-radius: 11px; font-size: 16px; }

.contribution-self__toggle { display: block !important; }
.contribution-self__toggle > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.contribution-self__toggle > span {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: .65rem;
    padding: .65rem .75rem;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #fff;
    color: #475569;
}
.contribution-self__toggle > span > i { width: 40px; height: 24px; border-radius: 999px; background: #cbd5e1; box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .08); }
.contribution-self__toggle > span > i::after { display: block; width: 18px; height: 18px; margin: 3px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(15, 23, 42, .25); content: ''; transition: transform .18s ease; }
.contribution-self__toggle > input:checked + span { border-color: #8b5cf6; background: #f5f3ff; color: #5b21b6; }
.contribution-self__toggle > input:checked + span > i { background: #7c3aed; }
.contribution-self__toggle > input:checked + span > i::after { transform: translateX(16px); }
.contribution-self__toggle > input:focus-visible + span { outline: 3px solid rgba(124, 58, 237, .2); }

.contribution-place-optional-context {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: .8rem 0 0;
    padding: .65rem .75rem;
    border-radius: 12px;
    background: #f5f3ff;
    color: #5b21b6;
    font-size: .75rem;
    font-weight: 750;
}
.contribution-place-optional-context svg { width: 17px; flex: 0 0 auto; }

.contribution-organizer-from-place[hidden] { display: none; }
.contribution-organizer-from-place {
    display: grid;
    grid-column: 1 / -1;
    gap: .35rem;
    margin: .2rem 0 .35rem;
    padding: .75rem .8rem;
    border: 1px solid #c4b5fd;
    border-radius: 12px;
    background: #faf8ff;
}
.contribution-organizer-from-place label {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    color: #312e81;
    cursor: pointer;
    font-size: .82rem;
    line-height: 1.4;
}
.contribution-organizer-from-place input {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    margin-top: .05rem;
    accent-color: #7c3aed;
}
.contribution-organizer-from-place p {
    margin: 0 0 0 1.85rem;
    color: #64748b;
    font-size: .7rem;
    line-height: 1.45;
}
.contribution-organizer-from-place.is-active {
    border-color: #86efac;
    background: #f0fdf4;
}
.contribution-organizer-from-place.is-active label { color: #166534; }
.contribution-self__control[data-organizer-autofilled="true"] {
    border-color: #86efac;
    background: #f0fdf4;
}

.contribution-schedule { display: grid; gap: .75rem; }
.contribution-schedule__presets { display: flex; flex-wrap: wrap; gap: .45rem; }
.contribution-schedule__presets button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: .35rem;
    padding: .45rem .65rem;
    border: 1px solid #c4b5fd;
    border-radius: 999px;
    background: #fff;
    color: #5b21b6;
    font: inherit;
    font-size: .72rem;
    font-weight: 850;
    cursor: pointer;
}
.contribution-schedule__presets button svg { width: 15px; }
.contribution-schedule__days { display: grid; gap: .4rem; }
.contribution-schedule__day {
    display: grid;
    grid-template-columns: minmax(110px, .65fr) minmax(0, 1fr);
    gap: .65rem;
    align-items: center;
    padding: .55rem .65rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
}
.contribution-schedule__day > label { display: flex; align-items: center; gap: .5rem; font-size: .78rem; font-weight: 850; }
.contribution-schedule__day > label input { width: 19px; height: 19px; accent-color: #7c3aed; }
.contribution-schedule__day > div { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: .35rem; }
.contribution-schedule__day input[type="time"] {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: .45rem .55rem;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    color: #27304a;
    font-size: 16px;
}
.contribution-schedule__day input:disabled { background: #f8fafc; color: #94a3b8; }
.contribution-schedule__exceptions { display: grid !important; gap: .35rem; }
.contribution-schedule__exceptions > span { font-size: .78rem; font-weight: 850; }
.contribution-schedule__exceptions small { color: #7c859d; }
.contribution-schedule__exceptions textarea { min-height: 88px; padding: .7rem; border: 1px solid #cbd5e1; border-radius: 12px; font-size: 16px; resize: vertical; }
.contribution-schedule__status { min-height: 1em; margin: 0; color: #64748b; font-size: .7rem; font-weight: 650; }

.contribution-media-card { border-color: #ddd6fe; background: linear-gradient(180deg, #fff, #faf9ff); }
.contribution-promotion-mode { margin: 0; padding: 0; border: 0; }
.contribution-promotion-mode > legend {
  margin: 0 0 .25rem;
  color: #25213a;
  font-size: .82rem;
  font-weight: 800;
}
.contribution-promotion-mode > legend b {
  color: #7c3aed;
  font-size: .64rem;
  text-transform: uppercase;
}
.contribution-choice-grid--promotion-mode .contribution-field-choice > span {
  min-height: 88px;
  align-content: center;
}
.contribution-choice-grid--promotion-mode .contribution-field-choice small {
  display: block;
  margin-top: .15rem;
  color: #737087;
  font-size: .68rem;
  line-height: 1.35;
}
.contribution-media-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.contribution-media-upload { min-width: 0; }
.contribution-media-upload.is-wide { grid-column: 1 / -1; }
.contribution-media-upload > label:first-child {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .45rem;
    color: #27304a;
    font-size: .82rem;
    font-weight: 850;
}
.contribution-media-upload > label span { color: #7c859d; font-size: .7rem; font-weight: 700; }
.contribution-media-upload > label b { color: #7c3aed; font-size: .64rem; text-transform: uppercase; }
.contribution-media-drop {
    position: relative;
    display: grid;
    min-height: 180px;
    place-items: center;
    overflow: hidden;
    border: 2px dashed #c4b5fd;
    border-radius: 16px;
    background: #fff;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.contribution-media-drop.is-dragging { border-color: #6d28d9; background: #f5f3ff; transform: translateY(-1px); }
.contribution-media-drop.is-preparing::after {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(255, 255, 255, .92);
    color: #5b21b6;
    content: 'Optimizăm fotografia…';
    font-size: .82rem;
    font-weight: 900;
    text-align: center;
}
.contribution-media-drop > input { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; cursor: pointer; opacity: 0; }
.contribution-media-drop > div { display: grid; max-width: 300px; place-items: center; gap: .35rem; padding: 1rem; text-align: center; pointer-events: none; }
.contribution-media-drop > [hidden] { display: none; }
.contribution-media-drop > div svg { width: 30px; height: 30px; color: #7c3aed; }
.contribution-media-drop > div strong { color: #312e81; font-size: .86rem; }
.contribution-media-drop > div small { color: #7c859d; font-size: .7rem; line-height: 1.45; }
.contribution-media-drop > img { width: 100%; height: 100%; min-height: 180px; object-fit: cover; }
.contribution-media-drop > img:not([hidden]) + * { display: none; }
.contribution-media-drop--logo { min-height: 150px; }
.contribution-media-drop--logo > img { width: 112px; height: 112px; min-height: 0; border-radius: 50%; object-fit: contain; object-position: center; padding: 0; background: #fff; box-sizing: border-box; }
.contribution-media-drop--multiple { min-height: 128px; }
.contribution-media-extras {
    grid-column: 1 / -1;
    border-top: 1px solid #e2e8f0;
}
.contribution-media-extras > summary {
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .75rem 0;
    color: #312e81;
    cursor: pointer;
    list-style: none;
}
.contribution-media-extras > summary::-webkit-details-marker { display: none; }
.contribution-media-extras > summary > span { display: grid; grid-template-columns: 22px minmax(0, 1fr); column-gap: .5rem; align-items: center; }
.contribution-media-extras > summary > span > svg { grid-row: 1 / span 2; width: 19px; }
.contribution-media-extras > summary strong { font-size: .82rem; }
.contribution-media-extras > summary small { color: #7c859d; font-size: .7rem; font-weight: 650; }
.contribution-media-extras > summary > svg { width: 18px; transition: transform .18s ease; }
.contribution-media-extras[open] > summary > svg { transform: rotate(180deg); }
.contribution-media-extras[open] > summary { margin-bottom: .5rem; }
.contribution-media-previews { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: .45rem; margin-top: .55rem; }
.contribution-media-previews figure { position: relative; min-width: 0; margin: 0; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 11px; background: #fff; }
.contribution-media-previews img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.contribution-media-previews figcaption { position: absolute; right: .3rem; bottom: .3rem; padding: .16rem .35rem; border-radius: 999px; background: rgba(15, 23, 42, .72); color: #fff; font-size: .58rem; font-weight: 800; }
.contribution-media-actions {
    position: absolute;
    inset: auto .25rem .25rem .25rem;
    display: flex;
    justify-content: center;
    gap: .2rem;
    padding: .22rem;
    border-radius: 9px;
    background: rgba(15, 23, 42, .82);
}
.contribution-media-actions button {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: rgba(255,255,255,.14);
    color: #fff;
    cursor: pointer;
}
.contribution-media-actions button:hover,
.contribution-media-actions button:focus-visible { background: #fff; color: #5b21b6; }
.contribution-media-actions button:disabled { opacity: .35; cursor: default; }
.contribution-media-actions svg { width: 15px; height: 15px; }
.contribution-media-actions button span { display: none; }
.contribution-media-previews figure.is-selected figcaption { top: .3rem; right: .3rem; bottom: auto; }
.contribution-media-organize-help { display: flex; gap: .4rem; align-items: center; margin: .55rem 0 0; color: #64748b; font-size: .72rem; font-weight: 700; }
.contribution-media-organize-help svg { width: 16px; flex: 0 0 auto; }
.contribution-media-clear {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    gap: .4rem;
    margin-top: .45rem;
    padding: .45rem .65rem;
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fff;
    color: #dc2626;
    font-size: .72rem;
    font-weight: 850;
}
.contribution-media-clear[hidden] { display: none; }
.contribution-media-clear svg { width: 16px; }
.contribution-media-remove { display: flex !important; justify-content: flex-start !important; gap: .4rem !important; margin-top: .45rem; color: #64748b !important; font-size: .7rem !important; font-weight: 700 !important; }
.contribution-media-rights-wrap[hidden] { display: none; }
.contribution-media-rights { display: flex; gap: .7rem; align-items: flex-start; margin-top: 1rem; padding: .8rem; border: 1px solid #d8b4fe; border-radius: 13px; background: #faf5ff; }
.contribution-media-rights.has-error { border-color: #ef4444; background: #fff7f7; }
.contribution-media-rights input { width: 19px; height: 19px; flex: 0 0 auto; margin-top: .08rem; accent-color: #7c3aed; }
.contribution-media-rights span { display: grid; gap: .2rem; }
.contribution-media-rights strong { color: #4c1d95; font-size: .78rem; }
.contribution-media-rights small { color: #6b7280; font-size: .68rem; line-height: 1.45; }

body.contribution-media-viewer-open { overflow: hidden; }
.contribution-media-viewer[hidden] { display: none; }
.contribution-media-viewer { position: fixed; z-index: 1100; inset: 0; display: grid; place-items: center; padding: 1rem; }
.contribution-media-viewer__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(15,23,42,.76); backdrop-filter: blur(5px); }
.contribution-media-viewer__dialog { position: relative; z-index: 1; width: min(920px, 100%); max-height: calc(100dvh - 2rem); }
.contribution-media-viewer__dialog > button { position: absolute; z-index: 2; top: .6rem; right: .6rem; display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 50%; background: rgba(15,23,42,.82); color: #fff; }
.contribution-media-viewer__dialog > button svg { width: 21px; }
.contribution-media-viewer__dialog img { display: block; width: 100%; max-height: calc(100dvh - 2rem); border-radius: 18px; object-fit: contain; }

.contribution-live-preview { display: grid; gap: .5rem; margin-top: .9rem; padding: .85rem; border: 1px solid #ddd6fe; border-radius: 15px; background: #faf9ff; }
.contribution-live-preview__heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.contribution-live-preview__eyebrow { color: #7c3aed; font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.contribution-live-preview__heading button {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .45rem .65rem;
    border: 1px solid #c4b5fd;
    border-radius: 10px;
    background: #fff;
    color: #6d28d9;
    font-size: .68rem;
    font-weight: 850;
}
.contribution-live-preview__heading button svg { width: 15px; }
.contribution-live-preview__heading .contribution-live-preview__open {
    min-height: 44px;
    padding: .55rem .85rem;
    border-color: #6d28d9;
    background: linear-gradient(135deg, #7c3aed, #635bff);
    color: #fff;
    font-size: .74rem;
    box-shadow: 0 7px 18px rgba(109, 40, 217, .2);
}
.contribution-live-preview__heading .contribution-live-preview__open:hover { background: linear-gradient(135deg, #6d28d9, #554be8); }
.contribution-live-preview__heading .contribution-live-preview__open:focus-visible { outline: 3px solid rgba(99, 102, 241, .42); outline-offset: 2px; }
.contribution-live-preview__card { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: .8rem; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; }
.contribution-live-preview__image { display: grid; min-height: 150px; place-items: center; overflow: hidden; background: #ede9fe; color: #7c3aed; }
.contribution-live-preview__image img { width: 100%; height: 100%; object-fit: cover; }
.contribution-live-preview__card > div:last-child { min-width: 0; padding: .8rem .8rem .8rem 0; }
.contribution-live-preview__card small { color: #7c3aed; font-size: .62rem; font-weight: 850; text-transform: uppercase; }
.contribution-live-preview__card h4 { margin: .2rem 0 .35rem; color: #172033; font-size: 1rem; line-height: 1.2; }
.contribution-live-preview__card p { margin: 0 0 .4rem; color: #64748b; font-size: .7rem; }
.contribution-live-preview__card [data-live-preview-description] { color: #4b5563; font-size: .72rem; line-height: 1.45; }

body.contribution-preview-open { overflow: hidden; }
.contribution-full-preview[hidden] { display: none; }
.contribution-full-preview { position: fixed; z-index: 1085; inset: 0; display: grid; place-items: center; padding: clamp(.7rem, 3vw, 1.5rem); }
.contribution-full-preview__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(15, 23, 42, .64); backdrop-filter: blur(5px); }
.contribution-full-preview__dialog {
    position: relative;
    display: grid;
    width: min(760px, 100%);
    max-height: min(900px, calc(100dvh - 1.4rem));
    overflow: auto;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(15, 23, 42, .3);
}
.contribution-full-preview__dialog > header {
    position: sticky;
    z-index: 2;
    top: 0;
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem .8rem;
    border-bottom: 1px solid #e2e8f0;
    background: rgba(255, 255, 255, .96);
    color: #475569;
    font-size: .72rem;
    font-weight: 850;
}
.contribution-full-preview__dialog > header button { display: grid; width: 40px; height: 40px; place-items: center; border: 0; border-radius: 50%; background: #f1f5f9; color: #334155; }
.contribution-full-preview__dialog > header button svg { width: 19px; }
.contribution-full-preview__hero { display: grid; min-height: 290px; place-items: center; overflow: hidden; background: linear-gradient(135deg, #ede9fe, #e0e7ff); color: #7c3aed; }
.contribution-full-preview__hero > svg { width: 44px; height: 44px; }
.contribution-full-preview__hero img { width: 100%; height: 100%; max-height: 430px; object-fit: cover; }
.contribution-full-preview__body { padding: clamp(1rem, 4vw, 1.6rem); }
.contribution-full-preview__body > small { color: #7c3aed; font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.contribution-full-preview__body h2 { margin: .3rem 0 .8rem; color: #111827; font-size: clamp(1.5rem, 5vw, 2.25rem); font-weight: 950; line-height: 1.08; }
.contribution-full-preview__facts { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.contribution-full-preview__facts > span { display: grid; gap: .08rem; max-width: 100%; padding: .55rem .7rem; border: 1px solid #e2e8f0; border-radius: 11px; background: #f8fafc; }
.contribution-full-preview__facts small { color: #64748b; font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.contribution-full-preview__facts strong { overflow-wrap: anywhere; color: #334155; font-size: .75rem; white-space: pre-line; }
.contribution-full-preview__description { color: #374151; font-size: .95rem; line-height: 1.72; white-space: normal; }
.contribution-full-preview__gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; margin-top: 1rem; }
.contribution-full-preview__gallery img { width: 100%; aspect-ratio: 1; border-radius: 12px; object-fit: cover; }
.contribution-full-preview__notice { display: flex; gap: .55rem; align-items: flex-start; margin: 1rem 0 0; padding: .75rem; border-radius: 12px; background: #eff6ff; color: #1e40af; font-size: .72rem; font-weight: 700; line-height: 1.45; }
.contribution-full-preview__notice svg { width: 18px; min-width: 18px; }
.contribution-full-preview__dialog--place {
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: min(500px, 100%);
    overflow: hidden;
    background: #f8fafc;
}
.contribution-place-preview__mode-switcher {
    z-index: 4;
    display: none;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .45rem 3.25rem .45rem .75rem;
    border-bottom: 1px solid #e2e8f0;
    background: rgba(255, 255, 255, .98);
}
.contribution-place-preview__mode-switcher > span {
    margin-right: .25rem;
    color: #64748b;
    font-size: .7rem;
    font-weight: 800;
}
.contribution-place-preview__mode-switcher button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    padding: .42rem .75rem;
    border: 1px solid #d8deea;
    border-radius: 999px;
    background: #fff;
    color: #475569;
    font-size: .72rem;
    font-weight: 850;
}
.contribution-place-preview__mode-switcher button[aria-pressed="true"] {
    border-color: #8b5cf6;
    background: #f2edff;
    color: #6d28d9;
    box-shadow: 0 4px 14px rgba(109, 40, 217, .12);
}
.contribution-place-preview__mode-switcher button:focus-visible { outline: 3px solid rgba(99, 102, 241, .42); outline-offset: 2px; }
.contribution-place-preview__mode-switcher svg { width: 16px; height: 16px; }
.contribution-place-preview__close {
    position: absolute;
    z-index: 6;
    top: max(.5rem, env(safe-area-inset-top, 0px));
    right: max(
        calc(.5rem + env(safe-area-inset-right, 0px)),
        calc((100% - 390px) / 2 + .5rem)
    );
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(98, 82, 232, .2);
    border-radius: 50%;
    background: rgba(255, 255, 255, .97);
    color: #242039;
    box-shadow: 0 8px 24px rgba(33, 25, 72, .16), 0 1px 3px rgba(33, 25, 72, .08);
    backdrop-filter: blur(16px) saturate(160%);
    -webkit-backdrop-filter: blur(16px) saturate(160%);
}
.contribution-place-preview__close svg { width: 20px; height: 20px; }
.contribution-place-preview__close:focus-visible { outline: 3px solid rgba(99, 102, 241, .55); outline-offset: 3px; }
.contribution-full-preview__title-copy { display: grid; gap: .12rem; }
.contribution-full-preview__title-copy strong { color: #172033; font-size: .8rem; }
.contribution-full-preview__title-copy small { color: #64748b; font-size: .64rem; font-weight: 650; }
.contribution-place-preview__device-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    min-height: 36px;
    padding: .35rem .75rem;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
    color: #64748b;
    font-size: .66rem;
    font-weight: 750;
}
.contribution-place-preview__device-label svg { width: 14px; height: 14px; }
.contribution-place-preview__frame-shell {
    min-height: 0;
    display: flex;
    justify-content: center;
    overflow: hidden;
    background: #dce3ed;
}
.contribution-place-preview__frame-shell iframe {
    width: min(390px, 100%);
    height: 100%;
    min-height: 560px;
    border: 0;
    background: #f8fafc;
}
.contribution-place-preview__notice {
    z-index: 3;
    margin: 0;
    border-radius: 0;
    border-top: 1px solid #bfdbfe;
}

@media (min-width: 992px) {
    .contribution-full-preview__dialog--place {
        width: min(1240px, calc(100% - 1rem));
        height: min(940px, calc(100dvh - 1.4rem));
    }
    .contribution-place-preview__frame-shell {
        background: #f6f7fb;
    }
    .contribution-place-preview__mode-switcher { display: flex; }
    .contribution-place-preview__frame-shell iframe {
        width: 100%;
        min-height: 0;
    }
    .contribution-place-preview__close {
        top: .5rem;
        right: .5rem;
    }
    .contribution-full-preview__dialog--place.is-mobile-preview {
        width: min(520px, calc(100% - 1rem));
        height: min(1100px, calc(100dvh - 1rem));
        max-height: min(1100px, calc(100dvh - 1rem));
    }
    .contribution-full-preview__dialog--place.is-mobile-preview .contribution-place-preview__frame-shell {
        background: #dce3ed;
    }
    .contribution-full-preview__dialog--place.is-mobile-preview .contribution-place-preview__frame-shell iframe {
        width: min(390px, 100%);
    }
}

.contribution-self-success {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    padding: clamp(1rem, 4vw, 1.5rem);
    border: 1px solid #86d6aa;
    border-radius: 18px;
    background: #f0fdf4;
}
.contribution-self-success > span { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 50%; background: #dcfce7; color: #15803d; }
.contribution-self-success > span svg { width: 28px; height: 28px; }
.contribution-self-success h3 { margin: 0; color: #14532d; font-size: 1.2rem; }
.contribution-self-success p { margin: .5rem 0 0; color: #365f45; line-height: 1.55; }
.contribution-self-success a { display: inline-flex; min-height: 44px; align-items: center; margin-top: .75rem; color: #166534; font-weight: 850; }

.contribution-self__validation-summary {
    padding: .9rem 1rem;
    border: 1px solid #fca5a5;
    border-radius: 14px;
    background: #fff7f7;
    color: #991b1b;
}
.contribution-self__validation-summary[hidden] { display: none; }
.contribution-self__validation-summary strong { font-size: .9rem; }
.contribution-self__validation-summary ul { display: grid; gap: .25rem; margin: .5rem 0 0; padding-left: 1.2rem; }
.contribution-self__validation-summary button { padding: .12rem 0; border: 0; background: transparent; color: #b91c1c; font: inherit; font-size: .8rem; font-weight: 750; text-align: left; text-decoration: underline; cursor: pointer; }
.contribution-self__alert ul { display: grid; gap: .3rem; margin: .55rem 0 0; padding-left: 1.15rem; }
.contribution-self__alert [data-server-error-code] { padding: .08rem 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: 800; text-align: left; text-decoration: underline; cursor: pointer; }
.contribution-self__field.has-client-error,
.contribution-media-upload.has-client-error,
.contribution-media-rights.has-client-error,
.contribution-self__consent.has-client-error { scroll-margin-top: 120px; }
.contribution-self__field.has-client-error > .contribution-self__control,
.contribution-self__field.has-client-error .contribution-address-picker__search,
.contribution-self__field.has-client-error .rich-description-editor,
.contribution-self__field.has-client-error .contribution-choice-grid,
.contribution-media-upload.has-client-error .contribution-media-drop,
.contribution-media-rights.has-client-error,
.contribution-self__consent.has-client-error { border-color: #ef4444; box-shadow: 0 0 0 3px rgba(239,68,68,.1); }
.contribution-self__client-error { display: block; margin-top: .15rem; color: #b91c1c; font-size: .78rem; font-weight: 800; }

.contribution-self__optional > summary,
.contribution-self__form-disclosure > summary,
.contribution-self__step-disclosure > summary,
.contribution-self__optional > summary > span:nth-child(2),
.contribution-self__form-disclosure > summary > span:nth-child(2),
.contribution-self__step-disclosure > summary > span:nth-child(2) { text-align: left; }

@media (max-width: 575.98px) {
    .contribution-self { gap: .7rem; }
    .contribution-hub-step { padding: .85rem; }
    .contribution-native-date-control > .contribution-self__control {
        -webkit-appearance: none;
        appearance: none;
    }
    .contribution-native-date-control > svg { display: block; }
    .contribution-self__grid,
    .contribution-self__source-grid { grid-template-columns: 1fr; }
    .contribution-self__submit { align-items: stretch; flex-direction: column; }
    .contribution-self__submit button { width: 100%; white-space: normal; }
    .contribution-self-success { grid-template-columns: 1fr; }
    .contribution-self__section {
        overflow: visible;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }
    .contribution-self > .contribution-self__section:not(:first-of-type) {
        padding-top: .9rem;
        border-top: 1px solid #e2e8f0;
    }
    .contribution-self__section > header {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: .65rem;
        margin-bottom: .75rem;
    }
    .contribution-self__section > header > span {
        width: 38px;
        height: 38px;
    }
    .contribution-self__section header h3 { font-size: 18px; }
    .contribution-self__section header p { font-size: 14px; line-height: 1.4; }
    .contribution-self__step-disclosure > summary {
        grid-template-columns: 38px minmax(0, 1fr) 20px;
        gap: .65rem;
        min-height: 44px;
        align-items: center;
        cursor: pointer;
    }
    .contribution-self__step-disclosure > summary > span:first-child {
        width: 38px;
        height: 38px;
    }
    .contribution-self__step-disclosure > summary strong { font-size: 17px; }
    .contribution-self__step-disclosure > summary small { font-size: 14px; line-height: 1.4; }
    .contribution-self__step-disclosure[open] > summary { margin-bottom: .8rem; }
    .contribution-hub-summary__items--flow { grid-template-columns: 1fr; }
    .contribution-choice-grid,
    .contribution-choice-grid--types { grid-template-columns: 1fr 1fr; }
    .contribution-self--event .event-required-card .contribution-choice-grid { grid-template-columns: 1fr 1fr; }
    .contribution-field-choice > span { min-height: 82px; padding: .65rem; }
    .contribution-field-choice strong { font-size: 16px; }
    .contribution-self--event .event-required-card [data-contribution-field="category"] .contribution-choice-grid {
        grid-template-columns: 1fr;
        gap: .5rem;
    }
    .contribution-self--event [data-contribution-field="category"] .contribution-field-choice > span {
        min-height: 58px;
        grid-template-columns: 26px minmax(0, 1fr);
        align-items: center;
        align-content: center;
        padding: .6rem .75rem;
    }
    .contribution-self--event [data-contribution-field="category"] .contribution-field-choice svg {
        grid-row: auto;
        width: 21px;
    }
    .contribution-self--event [data-contribution-field="category"] .contribution-field-choice strong {
        align-self: center;
        line-height: 1.25;
    }
    .contribution-self__field,
    .contribution-self__field > label { font-size: 16px; }
    .contribution-self__help,
    .contribution-address-picker__status,
    .contribution-address-picker > small { font-size: 14px; }
    .contribution-self__optional.event-optional-card > summary strong { font-size: 16px; }
    .contribution-self__optional.event-optional-card > summary small { font-size: 14px; }
    .contribution-self__form-sections { gap: 0; margin-top: .5rem; }
    .contribution-self__form-section {
        padding: .85rem 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    .contribution-self__form-section + .contribution-self__form-section {
        border-top: 1px solid #e2e8f0;
    }
    .contribution-self__form-section.place-optional-card {
        margin-top: .65rem;
        padding: .85rem 0 0;
        border: 0;
        border-top: 1px solid #dbe3ef;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    .contribution-self__optional.place-optional-card > summary {
        min-height: 58px;
        align-items: start;
    }
    .contribution-self__optional.place-optional-card > summary > span:first-child,
    .contribution-self__optional.place-optional-card > summary > svg { margin-top: .12rem; }
    .contribution-self__optional.place-optional-card > summary strong { font-size: 17px; }
    .contribution-self__optional.place-optional-card > summary small { font-size: 14px; }
    .contribution-self--event .event-required-card {
        padding-top: 0;
    }
    .contribution-self--place .place-required-card {
        padding-top: 0;
    }
    .contribution-self--event .event-required-card > header,
    .contribution-self--place .place-required-card > header {
        display: none;
    }
    .contribution-self--place .place-required-card [data-contribution-field="type"] .contribution-choice-grid {
        grid-template-columns: 1fr;
        gap: .35rem;
    }
    .contribution-self--place [data-contribution-field="type"] .contribution-field-choice > span {
        min-height: 52px;
        grid-template-columns: 22px minmax(0, 1fr);
        align-items: center;
        align-content: center;
        gap: .4rem;
        padding: .45rem .6rem;
    }
    .contribution-self--place [data-contribution-field="type"] .contribution-field-choice svg {
        grid-row: 1 / span 2;
        width: 19px;
    }
    .contribution-self--place [data-contribution-field="type"] .contribution-field-choice strong {
        align-self: center;
        font-size: 15px;
        line-height: 1.2;
    }
    .contribution-self--place [data-contribution-field="type"] [data-place-type-role] {
        grid-column: 2;
        justify-self: start;
        font-size: 10px;
    }
    .contribution-self--place [data-contribution-field="type"] .is-secondary [data-place-type-role] { display: inline-flex; }
    .contribution-self__field,
    .contribution-self__field.is-wide {
        width: 100%;
        max-width: 100%;
    }
    .contribution-self__form-disclosure > summary {
        grid-template-columns: 36px minmax(0, 1fr) 20px;
        gap: .6rem;
        min-height: 44px;
        align-items: center;
        cursor: pointer;
    }
    .contribution-self__form-disclosure > summary > span:first-child {
        width: 36px;
        height: 36px;
    }
    .contribution-self__form-disclosure > summary strong { font-size: 16px; }
    .contribution-self__form-disclosure > summary small { font-size: 14px; line-height: 1.35; }
    .contribution-self__form-disclosure[open] > summary { margin-bottom: .7rem; }
    .contribution-place-types__show-all:not([hidden]) { display: flex; }
    .contribution-media-grid { grid-template-columns: 1fr; }
    .contribution-media-upload.is-wide { grid-column: auto; }
    .contribution-media-drop { min-height: 150px; }
    .contribution-live-preview__card { grid-template-columns: 105px minmax(0, 1fr); }
    .contribution-address-picker__search button { min-width: 52px; }
    .contribution-address-picker__search button span { display: none; }
    .contribution-address-picker__map { height: 240px; }
    .contribution-schedule__day { grid-template-columns: 1fr; gap: .45rem; }
    .contribution-schedule__day > div { width: 100%; }
    .contribution-schedule__presets button { flex: 1 1 calc(50% - .45rem); justify-content: center; font-size: 14px; }
    .contribution-place-optional-context { font-size: 14px; }
    .contribution-self .description-structure-tools__actions { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .25rem; }
    .contribution-self--place [data-contribution-field="name"] .contribution-self__help { white-space: normal; }
    .contribution-self__draft-tools { grid-template-columns: 20px minmax(0, 1fr) auto; }
    .contribution-self__draft-copy > strong { flex-wrap: wrap; white-space: normal; }
    .contribution-self__draft-tools button { grid-column: 3; grid-row: 1; width: auto; }
    .contribution-live-preview__heading { align-items: stretch; flex-direction: column; }
    .contribution-live-preview__heading button { width: 100%; }
    .contribution-full-preview { padding: 0; }
    .contribution-full-preview__dialog { width: 100%; height: 100dvh; max-height: none; border-radius: 0; }
    .contribution-full-preview__dialog--place { grid-template-rows: minmax(0, 1fr) auto; }
    .contribution-place-preview__frame-shell iframe { min-height: 0; }
    .contribution-full-preview__hero { min-height: 235px; }
    .contribution-full-preview__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 350px) {
    .contribution-choice-grid,
    .contribution-choice-grid--types { grid-template-columns: 1fr; }
    .contribution-self__form-section.place-optional-card { padding: .8rem 0 0; }
    .contribution-self__optional.place-optional-card > summary {
        grid-template-columns: 36px minmax(0, 1fr) 18px;
        gap: .4rem;
    }
    .contribution-self__optional.place-optional-card > summary > span:first-child {
        width: 36px;
        height: 36px;
    }
    .contribution-self__optional.place-optional-card > summary strong { font-size: 16px; }
    .contribution-self__optional.place-optional-card > summary small { font-size: 13px; }
}

/* Formularul de contribuție are trei stări responsive explicite. Regulile
   rămân la final pentru a neutraliza breakpointurile istorice ale hubului. */
@media (max-width: 991.98px) {
    body.contribution-hub-page {
        padding-top: calc(61px + env(safe-area-inset-top, 0px));
    }
    body.contribution-hub-page .contribution-hub-main { padding: 4px 0 18px; }
    body.contribution-hub-page .contribution-hub-main--in-progress { padding-top: 2px; }
    body.contribution-hub-page .contribution-hub-shell { width: calc(100% - 24px); }

    body.contribution-hub-page .contribution-hub-hero {
        max-width: none;
        margin: 0 0 8px;
        text-align: left;
    }
    body.contribution-hub-page .contribution-hub-kicker {
        margin-bottom: 2px;
        font-size: .62rem;
    }
    body.contribution-hub-page .contribution-hub-hero h1 {
        font-size: clamp(1.15rem, 3vw, 1.45rem);
        letter-spacing: -.03em;
        line-height: 1.15;
    }
    body.contribution-hub-page .contribution-hub-hero p {
        margin: 3px 0 0;
        font-size: .8rem;
        line-height: 1.35;
    }
    body.contribution-hub-page .contribution-hub-main--in-progress .contribution-hub-hero {
        display: flex;
        min-height: 40px;
        align-items: center;
        margin-bottom: 2px;
        padding: 2px 8px;
    }
    body.contribution-hub-page .contribution-hub-main--in-progress .contribution-hub-kicker,
    body.contribution-hub-page .contribution-hub-main--in-progress .contribution-hub-hero p {
        display: none;
    }
    body.contribution-hub-page .contribution-hub-main--in-progress .contribution-hub-hero h1 {
        display: flex;
        width: 100%;
        align-items: center;
        gap: 8px;
        font-size: 1rem;
        line-height: 1.2;
    }
    body.contribution-hub-page .contribution-hub-hero__icon {
        display: none;
    }
    body.contribution-hub-page .contribution-hub-main--in-progress .contribution-hub-hero__icon {
        display: inline-flex;
        width: 30px;
        height: 30px;
        flex: 0 0 30px;
        align-items: center;
        justify-content: center;
        border-radius: 9px;
        background: #ede9fe;
        color: #6d4aff;
    }
    body.contribution-hub-page .contribution-hub-main--in-progress .contribution-hub-hero__icon svg {
        width: 21px;
        height: 21px;
        stroke-width: 2.2;
    }

    body.contribution-hub-page .contribution-hub-progress {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .3rem;
        align-items: stretch;
        padding: .3rem;
        border-radius: 15px;
    }
    body.contribution-hub-page .contribution-hub-progress ol {
        min-width: 0;
        gap: .18rem;
    }
    body.contribution-hub-page .contribution-hub-progress li,
    body.contribution-hub-page .contribution-hub-progress__item,
    body.contribution-hub-page .contribution-hub-progress li > a {
        min-height: 42px;
    }
    body.contribution-hub-page .contribution-hub-progress__item,
    body.contribution-hub-page .contribution-hub-progress li > a {
        gap: .28rem;
        padding: .28rem .32rem;
    }
    body.contribution-hub-page .contribution-hub-progress__marker {
        width: 23px;
        height: 23px;
    }
    body.contribution-hub-page .contribution-hub-progress__marker svg {
        width: 13px;
        height: 13px;
    }
    body.contribution-hub-page .contribution-hub-progress__copy small {
        overflow: visible;
        font-size: .5rem;
        letter-spacing: .025em;
        text-overflow: clip;
    }
    body.contribution-hub-page .contribution-hub-progress__copy strong {
        display: -webkit-box;
        overflow: hidden;
        font-size: .66rem;
        line-height: 1.12;
        text-overflow: clip;
        white-space: normal;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    body.contribution-hub-page .contribution-hub-progress__edit span { display: none; }
    body.contribution-hub-page .contribution-hub-progress__edit svg { width: 12px; height: 12px; }
    body.contribution-hub-page .contribution-hub-progress__reset {
        position: static;
        min-width: 52px;
        justify-content: center;
        margin: 0;
        padding: .32rem .5rem;
        transform: none;
    }
    body.contribution-hub-page .contribution-hub-progress:has(.contribution-hub-progress__reset) li:last-child {
        padding-right: 0;
    }

    body.contribution-hub-page .contribution-self--place .place-required-card [data-contribution-field="type"] .contribution-choice-grid,
    body.contribution-hub-page .contribution-place-types .contribution-choice-grid--types {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .35rem;
    }
    body.contribution-hub-page .contribution-self--place [data-contribution-field="type"] .contribution-field-choice > span {
        min-height: 58px;
        grid-template-columns: 20px minmax(0, 1fr) auto;
        grid-template-rows: auto;
        align-content: center;
        gap: .3rem .4rem;
        padding: .38rem .5rem;
    }
    body.contribution-hub-page .contribution-self--place [data-contribution-field="type"] .contribution-field-choice svg {
        grid-row: auto;
        width: 18px;
    }
    body.contribution-hub-page .contribution-self--place [data-contribution-field="type"] .contribution-field-choice strong {
        min-width: 0;
        font-size: .76rem;
        line-height: 1.12;
        overflow-wrap: anywhere;
    }
    body.contribution-hub-page .contribution-self--place [data-contribution-field="type"] [data-place-type-role] {
        display: inline-flex;
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        padding: .12rem .3rem;
        font-size: .5rem;
        line-height: 1.05;
    }
    body.contribution-hub-page .contribution-self--place [data-contribution-field="type"] [data-place-type-role][hidden] {
        display: none;
    }
}

@media (max-width: 575.98px) {
    /* Păstrăm același gutter de 12px ca paginile principale, inclusiv pe telefoane. */
    body.contribution-hub-page .contribution-hub-shell { width: calc(100% - 24px); }

    body.contribution-hub-page .contribution-hub-progress {
        display: grid;
        grid-template-columns: 1fr;
    }
    body.contribution-hub-page .contribution-hub-progress ol {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    body.contribution-hub-page .contribution-hub-progress__item,
    body.contribution-hub-page .contribution-hub-progress li > a {
        align-items: center;
        justify-content: center;
        padding: .25rem .2rem;
    }
    body.contribution-hub-page .contribution-hub-progress__copy small {
        display: none;
    }
    body.contribution-hub-page .contribution-hub-progress__copy strong {
        font-size: .58rem;
        text-align: left;
        -webkit-line-clamp: 2;
    }
    body.contribution-hub-page .contribution-hub-progress__reset {
        min-height: 32px;
        justify-self: end;
        padding: .25rem .7rem;
    }

    body.contribution-hub-page .contribution-self--place [data-contribution-field="type"] .contribution-field-choice > span {
        min-height: 62px;
        grid-template-columns: 18px minmax(0, 1fr);
        grid-template-rows: auto auto;
        gap: .16rem .38rem;
        padding: .38rem .45rem;
    }
    body.contribution-hub-page .contribution-self--place [data-contribution-field="type"] .contribution-field-choice svg {
        grid-row: 1 / span 2;
        width: 17px;
    }
    body.contribution-hub-page .contribution-self--place [data-contribution-field="type"] .contribution-field-choice strong {
        grid-column: 2;
        grid-row: 1;
        font-size: .72rem;
    }
    body.contribution-hub-page .contribution-self--place [data-contribution-field="type"] [data-place-type-role] {
        grid-column: 2;
        grid-row: 2;
        justify-self: start;
        font-size: .46rem;
    }
}

/* Între mobil și desktop, formularul urmează exact coloana folosită de
   paginile principale și de antet: 540px pe ecrane mici, 640px pe tablete. */
@media (min-width: 576px) and (max-width: 767.98px) {
    body.contribution-hub-page .contribution-hub-shell { max-width: 540px; }
}

/* Pragul intermediar este același cu cel al paginilor principale: sub 768px
   folosim antetul compact și o bară de etape care nu comprimă conținutul. */
@media (max-width: 767.98px) {
    body.contribution-hub-page .contribution-hub-progress {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    body.contribution-hub-page .contribution-hub-progress ol {
        display: contents;
    }
    body.contribution-hub-page .contribution-hub-progress:not(:has(.contribution-hub-progress__reset)) li:last-child {
        grid-column: 1 / -1;
    }
    body.contribution-hub-page .contribution-hub-progress__copy small,
    body.contribution-hub-page .contribution-hub-progress__edit {
        display: none;
    }
    body.contribution-hub-page .contribution-hub-progress__copy strong {
        font-size: .62rem;
        -webkit-line-clamp: 2;
    }
    body.contribution-hub-page .contribution-hub-progress__reset {
        width: 100%;
        min-height: 42px;
        justify-self: stretch;
        padding: .22rem .65rem;
    }
}

/* Pe tabletele late încape din nou eticheta completă, fără varianta tăiată. */
@media (min-width: 768px) and (max-width: 991.98px) {
    body.contribution-hub-page .contribution-hub-shell { max-width: 640px; }
}

/* Tableta păstrează un singur container principal, ca mobilul, fără
   succesiunea vizuală card în card în card din formular. */
@media (min-width: 576px) and (max-width: 991.98px) {
    body.contribution-hub-page .contribution-self__section {
        overflow: visible;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    body.contribution-hub-page .contribution-self > .contribution-self__section:not(:first-of-type) {
        padding-top: 1rem;
        border-top: 1px solid #e2e8f0;
    }

    body.contribution-hub-page .contribution-self__form-sections {
        gap: 0;
        margin-top: .65rem;
    }

    body.contribution-hub-page .contribution-self__form-section {
        padding: .9rem 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    body.contribution-hub-page .contribution-self__form-section + .contribution-self__form-section {
        border-top: 1px solid #e2e8f0;
    }

    body.contribution-hub-page .contribution-self--event .event-required-card,
    body.contribution-hub-page .contribution-self--place .place-required-card {
        padding-top: 0;
    }

    body.contribution-hub-page .contribution-self--event .event-required-card > header,
    body.contribution-hub-page .contribution-self--place .place-required-card > header {
        display: none;
    }

    body.contribution-hub-page .contribution-self__form-section.place-optional-card,
    body.contribution-hub-page .contribution-self__form-section.event-optional-card {
        margin-top: .75rem;
        padding: .9rem 0 0;
        border: 0;
        border-top: 1px solid #dbe3ef;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
}

@media (max-width: 359.98px) {
    body.contribution-hub-page .contribution-self--place .place-required-card [data-contribution-field="type"] .contribution-choice-grid,
    body.contribution-hub-page .contribution-place-types .contribution-choice-grid--types {
        grid-template-columns: 1fr;
    }
}

/* Formularul final are o singură suprafață vizuală pe secțiune. Banda ciornei
   rămâne separată, iar grupurile interne nu reconstruiesc carduri imbricate. */
body.contribution-hub-page .contribution-hub-step--form {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.contribution-hub-page .contribution-self.contribution-self--place > .contribution-self__section,
body.contribution-hub-page .contribution-self.contribution-self--event > .contribution-self__section,
body.contribution-hub-page .contribution-self.contribution-self--promotion > .contribution-self__section {
    overflow: hidden;
    padding: clamp(.9rem, 3vw, 1.35rem);
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #fff;
}

body.contribution-hub-page .contribution-self--place .contribution-self__form-sections,
body.contribution-hub-page .contribution-self--event .contribution-self__form-sections,
body.contribution-hub-page .contribution-self--promotion .contribution-self__form-sections {
    gap: 0;
    margin-top: .65rem;
}

body.contribution-hub-page .contribution-self--place .contribution-self__form-section,
body.contribution-hub-page .contribution-self--event .contribution-self__form-section,
body.contribution-hub-page .contribution-self--promotion .contribution-self__form-section {
    padding: .9rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.contribution-hub-page .contribution-self--place .contribution-self__form-section + .contribution-self__form-section,
body.contribution-hub-page .contribution-self--event .contribution-self__form-section + .contribution-self__form-section,
body.contribution-hub-page .contribution-self--promotion .contribution-self__form-section + .contribution-self__form-section {
    border-top: 1px solid #e2e8f0;
}

body.contribution-hub-page .contribution-self--place .place-required-card,
body.contribution-hub-page .contribution-self--event .event-required-card,
body.contribution-hub-page .contribution-self--promotion .promotion-required-card {
    padding-top: 0;
}

body.contribution-hub-page .contribution-self--place .place-required-card > header,
body.contribution-hub-page .contribution-self--event .event-required-card > header,
body.contribution-hub-page .contribution-self--promotion .promotion-required-card > header {
    display: none;
}

body.contribution-hub-page .contribution-self--place .contribution-self__form-section.place-optional-card,
body.contribution-hub-page .contribution-self--event .contribution-self__form-section.event-optional-card {
    margin-top: .75rem;
    padding: .9rem 0 0;
    border: 0;
    border-top: 1px solid #dbe3ef;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

/* Categoriile evenimentului și ale locației folosesc aceeași înălțime
   compactă la fiecare prag responsive. */
body.contribution-hub-page .contribution-self--place [data-contribution-field="type"] .contribution-field-choice > span,
body.contribution-hub-page .contribution-self--event [data-contribution-field="category"] .contribution-field-choice > span {
    height: 54px;
    min-height: 54px;
}

body.contribution-hub-page .contribution-self--event [data-contribution-field="category"] .contribution-field-choice > span {
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    align-content: center;
    column-gap: .5rem;
    padding: .5rem .65rem;
    border-radius: 13px;
}

body.contribution-hub-page .contribution-self--event [data-contribution-field="category"] .contribution-field-choice svg {
    grid-row: auto;
    width: 20px;
}

body.contribution-hub-page .contribution-self--event [data-contribution-field="category"] .contribution-field-choice strong {
    align-self: center;
    font-size: .79rem;
}

@media (max-width: 991.98px) {
    body.contribution-hub-page .contribution-self--place [data-contribution-field="type"] .contribution-field-choice > span,
    body.contribution-hub-page .contribution-self--event [data-contribution-field="category"] .contribution-field-choice > span {
        height: 58px;
        min-height: 58px;
    }

    body.contribution-hub-page .contribution-self--event [data-contribution-field="category"] .contribution-field-choice > span {
        grid-template-columns: 20px minmax(0, 1fr);
        gap: .3rem .4rem;
        padding: .38rem .5rem;
    }

    body.contribution-hub-page .contribution-self--event [data-contribution-field="category"] .contribution-field-choice svg {
        width: 18px;
    }

    body.contribution-hub-page .contribution-self--event [data-contribution-field="category"] .contribution-field-choice strong {
        font-size: .76rem;
        line-height: 1.12;
    }
}

@media (max-width: 575.98px) {
    body.contribution-hub-page .contribution-self--place [data-contribution-field="type"] .contribution-field-choice > span,
    body.contribution-hub-page .contribution-self--event [data-contribution-field="category"] .contribution-field-choice > span {
        height: 62px;
        min-height: 62px;
    }

    body.contribution-hub-page .contribution-self--event [data-contribution-field="category"] .contribution-field-choice > span {
        grid-template-columns: 18px minmax(0, 1fr);
        gap: .16rem .38rem;
        padding: .38rem .45rem;
    }

    body.contribution-hub-page .contribution-self--event [data-contribution-field="category"] .contribution-field-choice svg {
        width: 17px;
    }

    body.contribution-hub-page .contribution-self--event [data-contribution-field="category"] .contribution-field-choice strong {
        font-size: .72rem;
    }
}
