.floorplan {
    background-color: unset!important;
}

.break-line {
    height: 2px;
    background: var(--clr-primary);
    margin: 0 auto 30px auto;
    width: 100%;
}
.floorplan .company-info {
    max-width: 1000px;
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: space-around;
    gap: 30px;

    @media (min-width: 768px) {
        flex-wrap: nowrap;
    }
}
.floorplan .company-info__descr {
    display: grid;
    gap: 18px;
    max-width: 680px;
}
.floorplan .company-info__descr a {
    width: fit-content;
}
.floorplan .company-info__descr h2 {
    font-size: 28px;
    line-height: 1.2;
    margin: 0 0 8px;
}
.floorplan .company-info__descr div {
    font-size: 16px;
    line-height: 1.6;
}
.floorplan .company-info__descr .primary {
    margin-top: 8px;
}
.floorplan .company-info__logo {
    width: 220px;
    flex: 0 0 auto;
    padding: 12px;
}
.floorplan .company-info__logo img {
    width: 100%;
    height: auto;
    display: block;
}
.floorplan__tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 20px;
}
.floorplan__tabs span {
    padding: 16px 20px;
    color: var(--clr-font-dark);
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    cursor: pointer;
}
.floorplan__tabs span.active {
    border-bottom: 2px solid var(--clr-primary);
}
.floorplan__descr {
    padding-top: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}
.floorplan__descr > div {
    width: fit-content;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.floorplan__descr > div div {
    width: 16px;
    height: 16px;
    background-color: #CBDEA7;
}
.floorplan__descr > div span {
    color: var(--clr-font-dark);
    text-align: center;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%; /* 13.2px */
}
.floorplan__floorplan {
    padding: 10px 0 60px;
}

/* Ensure the embedded SVG (top-level only) never overflows the container */
.floorplan__floorplan > svg {
    max-width: 800px; /* cap the floorplan width */
    width: 100%;
    height: auto;
    display: block; /* avoid extra inline spacing and honor centering */
    margin: 0 auto;
}

/* Safety: if any inner image uses intrinsic width, constrain it too */
.floorplan__floorplan > svg image,
.floorplan__floorplan > svg img {
    max-width: 100%;
    height: auto;
}


/* In case some browsers still calculate horizontal scroll due to shadows, hide it */
.floorplan__floorplan {
    overflow-x: auto; /* allow scroll if an edge case still exceeds, but usually scales to fit */
}

/* Clickable SVG elements */
.floorplan svg g.triggerSelector,
.floorplan svg rect[data-stand-id],
.floorplan svg image.triggerSelector {
    cursor: pointer;
}

/* Exhibitor list under the floorplan */
.company-standlist {
    margin: 24px 0 48px;
}
.company-standlist__title {
    margin: 0 0 12px;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
    text-align: center;
}
.company-standlist__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}
.company-standlist__item {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 10px 16px;
    padding: 10px 12px;
    cursor: pointer;
}
.company-standlist__info {
    display: flex;
    gap: 10px 16px;
    align-items: center;
}
.company-standlist__logo {
    width: 100px;
    padding: 5px;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid var(--clr-border);
}
.company-standlist__logo img {
    width: 100px;
    max-width: 100%;
    max-height: 100%;
    display: block;
}
.company-standlist__item:hover {
    background: #fafafa;
}
.company-standlist__name {
    font-weight: 700;
    margin-right: 8px;
}
.company-standlist__stands {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.stand-badge {
    display: inline-block;
    padding: 2px 6px;
    font-size: 12px;
    line-height: 1.2;
    background: #eee;
    border-radius: 4px;
}
.stand-badge__count {
    opacity: 0.8;
    margin-left: 4px;
}
