/* Custom Helper Colors for Bootstrap to match original design */
.text-purple { color: #8b5cf6 !important; }
.text-indigo { color: #6366f1 !important; }
.text-amber { color: #f59e0b !important; }
.text-orange { color: #f97316 !important; }
.text-cyan { color: #06b6d4 !important; }
.text-emerald { color: #10b981 !important; }
.text-rose { color: #e11d48 !important; }
.text-violet { color: #7c3aed !important; }

/* Pricing page styles */

/* Custom Scrollbar */
.pricing-scroll::-webkit-scrollbar {
    height: 8px;
}
.pricing-scroll::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 4px;
}
.pricing-scroll::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
.pricing-scroll::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

.pricing-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
}
.pricing-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -5px rgba(0, 0, 0, 0.1) !important;
    z-index: 10;
}
select:disabled {
    background-color: #f1f5f9;
    cursor: not-allowed;
    opacity: 0.7;
}

/* Main Segment Switch */
.segment-switch {
    background: #e2e8f0;
    padding: 3px;
    border-radius: 10px;
    display: inline-flex;
    position: relative;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.06);
}
.segment-switch button {
    padding: 8px 18px;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    transition: all 0.3s;
    position: relative;
    z-index: 2;
    min-width: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: none;
}
.segment-switch button.active {
    background: white;
    color: #0d6efd; /* Bootstrap primary */
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.segment-switch button:not(.active) {
    color: #6c757d; /* Bootstrap muted */
    background: transparent;
}

/* Period Toggle (Annual/Monthly) */
.period-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #6c757d;
    background: white;
    padding: 8px 16px;
    border-radius: 99px;
    border: 1px solid #dee2e6;
}
.switch-toggle {
    position: relative;
    width: 44px;
    height: 24px;
    margin: 0;
}
.switch-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #cbd5e1;
    transition: .4s;
    border-radius: 34px;
}
.slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}
input:checked + .slider {
    background-color: #0d6efd; /* Bootstrap primary */
}
input:checked + .slider:before {
    transform: translateX(20px);
}

.badge-discount {
    background: #d1e7dd; /* Bootstrap success bg */
    color: #0f5132;
    font-size: 0.7rem;
    padding: 2px 8px;
    border-radius: 99px;
    font-weight: bold;
    margin-left: 8px;
    border: 1px solid #badbcc;
}

/* Custom select: trigger shows short label, dropdown options show quota */
.custom-select-wrap { position: relative; }
.custom-select-wrap select.real-select {
    position: absolute; left: 0; top: 0; width: 100%; height: 100%;
    opacity: 0; pointer-events: none; z-index: 2;
}
.custom-select-trigger {
    width: 100%; background: white; border: 1px solid #dee2e6;
    color: #212529; font-size: 0.875rem; font-weight: 700;
    border-radius: 0.5rem; padding: 0.5rem 2rem 0.5rem 1rem;
    text-align: center; cursor: pointer; position: relative; z-index: 1;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.custom-select-trigger::after {
    content: ""; position: absolute; right: 12px; top: 50%;
    transform: translateY(-50%); border: 5px solid transparent;
    border-top-color: #6c757d; margin-top: 2px;
}
.custom-select-dropdown {
    display: none; position: absolute; left: 0; right: 0; top: 100%;
    margin-top: 2px; background: white; border: 1px solid #dee2e6;
    border-radius: 0.5rem; box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    z-index: 30; max-height: 240px; overflow-y: auto;
}
.custom-select-wrap.open .custom-select-dropdown { display: block; }
.custom-select-option {
    padding: 0.5rem 1rem; font-size: 0.875rem; cursor: pointer;
    text-align: center; border-bottom: 1px solid #f8f9fa;
}
.custom-select-option:last-child { border-bottom: none; }
.custom-select-option:hover { background: #f8f9fa; }
.custom-select-option.selected { background: #cce5ff; color: #004085; font-weight: 700; }