/* Bootstrap utilities needed by pricing partials */
.d-flex { display:flex; }
.d-none { display:none; }
.justify-content-center { justify-content:center; }
.align-items-center { align-items:center; }
.text-center { text-align:center; }
.my-4 { margin-top:1.5rem; margin-bottom:1.5rem; }
.mb-4 { margin-bottom:1.5rem; }
.mb-3 { margin-bottom:1rem; }
.mt-3 { margin-top:1rem; }
.mt-5 { margin-top:3rem; }
.me-2 { margin-right:.5rem; }
.ms-2 { margin-left:.5rem; }
.m-2 { margin:.5rem; }
.p-2 { padding:.5rem; }
.ml-2 { margin-left:.5rem; }
.mr-2 { margin-right:.5rem; }

/* Toggle switch */
.pricing-wrapper .switch { position:relative; display:inline-block; width:52px; height:28px; }
.pricing-wrapper .switch input { opacity:0; width:0; height:0; }
.pricing-wrapper .slider { position:absolute; cursor:pointer; inset:0; background:#ccc; transition:.3s; border-radius:28px; }
.pricing-wrapper .slider:before { position:absolute; content:""; height:22px; width:22px; left:3px; bottom:3px; background:white; transition:.3s; border-radius:50%; }
.pricing-wrapper input:checked + .slider { background:#111; }
.pricing-wrapper input:checked + .slider:before { transform:translateX(24px); }
.pricing-wrapper .d-flex.justify-content-center { font-family:'Inter',sans-serif; gap:10px; }
.pricing-wrapper .d-flex.justify-content-center label { font-size:0.9rem; color:#555; }

/* Override old pricing styles to match monochromatic explore design */
.pricing-wrapper .card { background:none; border:none; box-shadow:none; }
.pricing-wrapper .card-body { padding:0; }
.pricing-wrapper .card-title { display:none; }
.pricing-wrapper .container { padding:0!important; max-width:100%!important; }
.pricing-wrapper .section-title { display:none; }
.pricing-wrapper #pricing { padding:0; background:none; }

/* Toggle row */
.pricing-wrapper h3.text-center { font-family:'Inter',sans-serif; font-size:1.25rem; font-weight:700; color:#111; letter-spacing:-0.02em; }
.pricing-wrapper h5.text-center { font-family:'Inter',sans-serif; font-size:0.85rem; color:#888; font-weight:400; }

/* Plan columns grid */
.pricing-wrapper .row { display:flex; flex-wrap:wrap; gap:12px; margin:0!important; align-items:stretch; }
.pricing-wrapper .row + .row { margin-top:12px!important; }
.pricing-wrapper .col { flex:1 1 0; min-width:200px; padding:0!important; }
.pricing-wrapper .premium-single-col {
    flex:0 0 calc((100% - 24px) / 3);
    max-width:calc((100% - 24px) / 3);
}
.pricing-wrapper .col-12 {
    flex:0 0 100%;
    width:100%;
    max-width:100%;
}

/* Plan cards */
.pricing-wrapper .pricing .box,
.pricing-wrapper .box {
    font-family:'Inter',sans-serif;
    background:#fff;
    border:1px solid rgba(0,0,0,0.06);
    border-radius:16px;
    padding:28px 22px;
    text-align:center;
    position:relative;
    overflow:visible;
    transition:border-color .2s, box-shadow .2s;
    box-shadow:none;
    height:100%;
    display:flex;
    flex-direction:column;
}
.pricing-wrapper .box:hover { border-color:rgba(0,0,0,0.12); box-shadow:0 4px 24px rgba(0,0,0,0.04); }
.pricing-wrapper .box.featured {
    border:2px solid #111;
    box-shadow:0 8px 32px rgba(0,0,0,0.08);
}

/* Plan titles & prices */
.pricing-wrapper .box h3 {
    font-family:'Inter',sans-serif; font-size:0.95rem; font-weight:700; color:#111; margin-bottom:12px; letter-spacing:-0.01em;
}
.pricing-wrapper .box h4 {
    font-family:'Inter',sans-serif; font-size:2rem; font-weight:800; color:#111; margin-bottom:20px; line-height:1.1;
}
.pricing-wrapper .box h4 sup { font-size:1rem; font-weight:600; top:-0.6em; }
.pricing-wrapper .box h4 span { font-size:0.85rem; font-weight:400; color:#888; }

/* Popular tag — positioned top-right corner */
.pricing-wrapper .box .advanced {
    position:absolute;
    top:8px;
    right:14px;
    display:inline-flex;
    align-items:center;
    gap:4px;
    background:#111;
    color:#fff;
    font-size:0.6rem;
    font-weight:700;
    padding:4px 10px;
    border-radius:20px;
    text-transform:uppercase;
    letter-spacing:0.06em;
    line-height:1;
    z-index:2;
    margin:0;
}

/* Feature list */
.pricing-wrapper .box ul {
    list-style:none; padding:0; margin:0 0 20px 0; text-align:left; flex:1;
}
.pricing-wrapper .box ul li {
    font-size:0.82rem; color:#444; padding:6px 0 6px 22px; position:relative; line-height:1.4; border-bottom:1px solid rgba(0,0,0,0.03);
}
.pricing-wrapper .box ul li:last-child { border-bottom:none; }
.pricing-wrapper .box ul li::before {
    content:''; position:absolute; left:0; top:10px; width:12px; height:12px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23111'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E") no-repeat center/contain;
}
.pricing-wrapper .box ul li.na { color:#bbb; text-decoration:line-through; }
.pricing-wrapper .box ul li.na::before {
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23ccc'%3E%3Cpath fill-rule='evenodd' d='M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* Buttons */
.pricing-wrapper .btn-buy {
    display:inline-block; background:#111; color:#fff!important; font-family:'Inter',sans-serif;
    font-size:0.82rem; font-weight:600; padding:10px 18px; border-radius:10px; border:none;
    cursor:pointer; text-decoration:none!important; transition:background .2s;
    width:100%; text-align:center; margin:4px 0!important;
}
.pricing-wrapper .btn-buy:hover { background:#333; }
.pricing-wrapper .btn-buy:disabled,
.pricing-wrapper .btn-buy[disabled] { background:#f5f5f5; color:#999!important; cursor:default; border:1px solid rgba(0,0,0,0.06); }
.pricing-wrapper .btn-cancel-subscription { background:#fff!important; color:#c00!important; border:1px solid rgba(200,0,0,0.2)!important; }
.pricing-wrapper .btn-cancel-subscription:hover { background:#fef2f2!important; }
.pricing-wrapper .btn-wrap { margin-top:auto; }
.pricing-wrapper .box .btn-wrap {
    min-height:96px; /* keep plans visually aligned regardless of button state/count */
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:8px;
}
.pricing-wrapper .box .btn-wrap .btn-buy {
    margin:0!important;
}

/* API Usage bar */
.pricing-wrapper .containerApiUsage { margin:0 0 24px!important; }
.pricing-wrapper .miniContainerApiUsage {
    background:#fafafa; border:1px solid rgba(0,0,0,0.06); border-radius:12px; padding:14px 20px;
    font-family:'Inter',sans-serif; font-size:0.85rem; color:#555; width:100%;
    display:flex; align-items:center; justify-content:space-between;
}
.pricing-wrapper .miniContainerApiUsage a { color:#111; font-weight:600; text-decoration:underline!important; }

/* Alert (legacy plan alert) */
.pricing-wrapper .alert-danger {
    background:#fef2f2; border:1px solid #fecaca; border-radius:12px; padding:12px 16px;
    font-family:'Inter',sans-serif; font-size:0.85rem; color:#991b1b; margin-bottom:16px;
}

/* Enterprise bar */
.pricing-wrapper .row.border {
    background:#fafafa; border:1px solid rgba(0,0,0,0.06)!important; border-radius:12px; padding:14px 20px!important;
    font-family:'Inter',sans-serif; font-size:0.85rem; color:#555; margin-top:20px!important; margin-left:0!important;
}
.pricing-wrapper .row.border a { color:#111; font-weight:600; }

/* FA icons on buttons */
.pricing-wrapper .fa-cc-stripe, .pricing-wrapper .fa-paypal, .pricing-wrapper .fa-credit-card { margin-right:4px; }

/* Tooltip fix */
.pricing-wrapper [data-toggle="tooltip"] { border-bottom:1px dotted #999; cursor:help; }

/* Responsive: stack on mobile */
@media (max-width:768px) {
    .pricing-wrapper .row { flex-direction:column; }
    .pricing-wrapper .col { min-width:100%; }
    .pricing-wrapper .premium-single-col { flex:1 1 auto; max-width:100%; }
    .pricing-wrapper .box { margin-bottom:12px; }
}
