/* ============================================
   SEMI-CIRCLE (2 TAB) SEGMENTED CONTROL (SVG)
   Perfect match to reference image:
   - half-donut (flat bottom)
   - black outline (outer + inner)
   - center divider line
   - only tabs 1 & 2
   ============================================ */

.segment-control {
    --seg-width: 260px;     /* visual width of the half control */
    --seg-stroke: 3;        /* stroke width used in SVG */
    --seg-fill: #d8d8d8;    /* ring fill */
    --seg-outline: #111111; /* outline/divider */
    --seg-hole-fill: #ffffff;

    position: fixed;
    left: 50%;
    bottom: calc(env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
    z-index: 100;

    width: var(--seg-width);
    height: calc(var(--seg-width) / 2);
    overflow: hidden;
    pointer-events: none;
}

/* Legacy elements (if still present in HTML) */
.segment-control .segment-circle,
.segment-control .segment-center {
    display: none !important;
}

.segment-control .segment-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: none;
}

/* Active-fill layers inside the SVG */
.segment-control .seg-fill {
    opacity: 0;
    transition: opacity 160ms ease-in-out;
}

.segment-control[data-active-tab="1"] .seg-fill-left { opacity: 0.35; }
.segment-control[data-active-tab="2"] .seg-fill-right { opacity: 0.35; }

/* Tabs */
.segment-control .segment-btn {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
    height: 100%;
    transform: none;

    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;

    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 30px; /* place number comfortably inside ring */

    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 30px;
    line-height: 1;
    font-weight: 600;
    color: var(--seg-outline);

    z-index: 4;
    cursor: pointer;
    pointer-events: auto;
}

.segment-control .segment-btn:nth-of-type(1) { left: 0; }
.segment-control .segment-btn:nth-of-type(2) { left: 50%; }

/* Only allow 2 tabs */
.segment-control .segment-btn:nth-of-type(n+3) { display: none !important; }

.segment-control .segment-btn.active { font-weight: 800; }

/* Place numbers nicely inside each half (closer to center, away from edges) */
.segment-control .segment-btn:nth-of-type(1) {
    justify-content: flex-end;
    padding-right: 44px;
}

.segment-control .segment-btn:nth-of-type(2) {
    justify-content: flex-start;
    padding-left: 44px;
}

/* Segment Content Areas */
.segment-content {
    display: none;
    width: 100%;
    height: auto;
    /* margin: 0 auto; */
}

.segment-content.active {
    display: block;
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive */
@media (max-width: 768px) {
    .segment-control {
        --seg-width: 230px;
    }

    .segment-control .segment-btn {
        font-size: 28px;
        padding-top: 28px;
    }

    .segment-control .segment-btn:nth-of-type(1) { padding-right: 38px; }
    .segment-control .segment-btn:nth-of-type(2) { padding-left: 38px; }
}
