/* Shared location accordion (Contact + Partner Global Reach) */
.contact-accordion {
    width: 100%;
    border: 0;
    background: transparent;
}

.contact-accordion-summary {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    width: 100%;
    padding: 0 0 15px;
    border: 0;
    background: transparent;
    cursor: pointer;
    list-style: none;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-md);
    line-height: var(--line-height-tight);
    color: var(--color-primary);
    text-align: left;
    text-transform: none;
    outline: none;
}

.contact-accordion-summary::-webkit-details-marker {
    display: none;
}

.contact-accordion-summary::marker {
    content: "";
}

.contact-accordion-summary:focus,
.contact-accordion-summary:focus-visible {
    outline: none;
    box-shadow: none;
}

.contact-accordion-caret {
    width: clamp(13px, 0.781vw, 15px);
    height: clamp(13px, 0.781vw, 15px);
    flex-shrink: 0;
    object-fit: contain;
    transition: transform 0.2s ease;
}

.contact-accordion[open] > .contact-accordion-summary > .contact-accordion-caret {
    transform: rotate(180deg);
}

.contact-accordion-label {
    flex: 1 1 auto;
    min-width: 0;
    white-space: normal;
    overflow-wrap: break-word;
    text-decoration: none;
}

.contact-accordion-panel {
    padding: 12px 0 4px;
}

.contact-accordion-children {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-left: 28px;
}

.contact-accordion--nested {
    border: 0;
    background: transparent;
}

.contact-accordion--nested > .contact-accordion-summary {
    gap: 10px;
    padding: 0 0 12px;
    border: 0;
    outline: none;
    color: var(--color-primary);
    text-transform: none;
    font-size: var(--font-size-sm);
}

.contact-accordion--nested > .contact-accordion-summary:focus,
.contact-accordion--nested > .contact-accordion-summary:focus-visible {
    outline: none;
    box-shadow: none;
}

.contact-accordion--nested > .contact-accordion-summary .contact-accordion-label {
    text-decoration: none;
}

.contact-accordion--nested > .contact-accordion-summary > .contact-accordion-caret {
    width: 12px;
    height: 8px;
    transform: none;
}

.contact-accordion--nested[open] > .contact-accordion-summary > .contact-accordion-caret {
    transform: rotate(180deg);
}

.contact-accordion--nested > .contact-accordion-panel {
    padding: 12px 0 8px 24px;
    border-top: 0;
}

.contact-accordion-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 4px 0 8px 24px;
}

.contact-accordion--nested .contact-accordion-body {
    padding: 4px 0 8px 0;
}

.contact-accordion-block {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.contact-accordion-line {
    margin: 0;
    font-family: var(--font-family-base);
    font-size: var(--font-size-sm);
    line-height: 1.45;
    color: var(--color-black);
    text-transform: none;
}

.contact-accordion-line--bold,
.contact-accordion-line strong {
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.contact-accordion-line a {
    color: var(--color-primary);
    text-decoration: none;
}

.contact-accordion-line a:hover,
.contact-accordion-line a:focus-visible {
    text-decoration: underline;
}

.contact-accordion--static > .contact-accordion-summary {
    cursor: default;
}

/* Offices listed open under their region (expand_children) instead of nested accordions */
.contact-accordion .contact-accordion-children--expanded {
    gap: 16px;
}

.contact-accordion .contact-accordion-children--expanded > .contact-accordion--office > .contact-accordion-office-label {
    margin: 0;
    padding: 0 0 4px;
    cursor: default;
}

.contact-accordion .contact-accordion-children--expanded > .contact-accordion--office > .contact-accordion-body {
    padding: 0;
}
