/* Dynamic pricing toggle shortcode. */
.vh360-pricing-toggle {
    margin: 2rem 0;
}
.vh360-pricing-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-bottom: 1.5rem;
}
.vh360-pricing-tabs-spacer {
    margin-bottom: 1.5rem;
    min-height: calc(1em + 1.3rem + 2px);
}
.vh360-pricing-tab {
    background: var(--vh360-pricing-tab-bg, #fff);
    border: 1px solid #d0d7de;
    border-radius: 999px;
    color: var(--vh360-pricing-tab-color, #1f2937);
    cursor: pointer;
    font-weight: 700;
    padding: 0.65rem 1.1rem;
}
.vh360-pricing-tab.is-active,
.vh360-pricing-tab:focus {
    background: var(--vh360-pricing-tab-active-bg, #2563eb);
    border-color: var(--vh360-pricing-tab-active-bg, #2563eb);
    color: var(--vh360-pricing-tab-active-color, #fff);
    outline: none;
}
.vh360-pricing-grid {
    align-items: stretch;
    display: grid;
    gap: 1.25rem;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
.vh360-pricing-grid-columns-1 {
    grid-template-columns: minmax(280px, 440px);
}
.vh360-pricing-grid-columns-2 {
    grid-template-columns: repeat(2, minmax(280px, 420px));
}
.vh360-pricing-grid-columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.vh360-pricing-grid-columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.vh360-pricing-card {
    background: var(--vh360-pricing-card-bg, #fff);
    border: 1px solid var(--vh360-pricing-card-border, #e5e7eb);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    color: var(--vh360-pricing-text-color, #4b5563);
    padding: 1.5rem;
    position: relative;
}
.vh360-pricing-card.is-featured {
    border-color: var(--vh360-pricing-featured-border, #2563eb);
    box-shadow: 0 18px 40px rgba(37, 99, 235, 0.16);
}
.vh360-pricing-badge {
    background: var(--vh360-pricing-badge-bg, #dbeafe);
    border-radius: 999px;
    color: var(--vh360-pricing-badge-color, #1d4ed8);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    margin-bottom: 0.75rem;
    padding: 0.3rem 0.65rem;
    text-transform: uppercase;
}
.vh360-pricing-card-title {
    color: var(--vh360-pricing-title-color, #111827);
}
.vh360-pricing-description {
    color: var(--vh360-pricing-description-color, #6b7280);
}
.vh360-pricing-price {
    color: var(--vh360-pricing-price-color, #111827);
    font-size: 2rem;
    font-weight: 800;
    margin: 1rem 0 0.35rem;
}
.vh360-pricing-compare {
    color: #6b7280;
    text-decoration: line-through;
}
.vh360-pricing-savings {
    color: #047857;
    font-weight: 700;
}
.vh360-pricing-features {
    color: var(--vh360-pricing-feature-color, #4b5563);
    margin: 1.25rem 0;
    padding-left: 1.2rem;
}
.vh360-pricing-button {
    align-items: center;
    background: var(--vh360-pricing-button-bg, #2563eb);
    border-radius: 10px;
    color: var(--vh360-pricing-button-color, #fff);
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    padding: 0.8rem 1rem;
    text-decoration: none;
    width: 100%;
}
.vh360-pricing-button:hover,
.vh360-pricing-button:focus {
    background: var(--vh360-pricing-button-hover-bg, #1d4ed8);
    color: var(--vh360-pricing-button-color, #fff);
}
.vh360-plan-warning,
.vh360-pricing-empty {
    border: 1px dashed #d0d7de;
    border-radius: 10px;
    padding: 1rem;
}

@media (max-width: 900px) {
    .vh360-pricing-grid-columns-3,
    .vh360-pricing-grid-columns-4 {
        grid-template-columns: repeat(2, minmax(280px, 420px));
    }
}

@media (max-width: 640px) {
    .vh360-pricing-tabs-spacer {
        display: none;
    }

    .vh360-pricing-grid {
        grid-template-columns: 1fr !important;
    }
}
