/* Responsive catalogue rows. Existing desktop allowance elements stay intact. */
.buddy-mobile-specs { display: none; }
.buddy-plan-copy-break { display: none; }
.buddy-allowance-break { display: none; }
.buddy-dialog-voice .buddy-allowance-break { display: inline; }
.buddy-allowance-unit { white-space: nowrap; font-weight: inherit; }
.buddy-plan-dialog .buddy-dialog-specs .buddy-dialog-voice {
    white-space: normal;
    word-break: keep-all !important;
    overflow-wrap: anywhere;
}
@media (min-width: 901px) {
    .buddy-plan-dialog .buddy-dialog-specs .buddy-dialog-voice { overflow-wrap: normal; }
}
@media (max-width: 900px) {
    .buddy-allowance-break { display: inline; }
    #buddy-prepaid .buddy-tier-grid .buddy-detail-btn {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 16px 12px;
        align-items: start;
    }
    #buddy-prepaid .buddy-plan-name { grid-column: 1 / -1; }
    #buddy-prepaid .buddy-plan-name > strong {
        white-space: normal;
        overflow-wrap: anywhere !important;
    }
    #buddy-prepaid .buddy-tier-grid .buddy-plan-spec { display: none !important; }
    #buddy-prepaid .buddy-mobile-specs {
        display: grid;
        grid-column: 1 / -1;
        grid-row: 2;
        gap: 7px;
        padding-top: 12px;
        border-top: 1px solid var(--bp-line);
        min-width: 0;
    }
    #buddy-prepaid .plan-spec-row {
        display: grid;
        grid-template-columns: 60px minmax(0, 1fr);
        gap: 8px;
        align-items: baseline;
    }
    #buddy-prepaid .plan-spec-label {
        color: #777;
        font-size: 12px;
        line-height: 1.4;
        white-space: nowrap;
    }
    #buddy-prepaid .plan-spec-value {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        min-width: 0;
        font-size: 13px;
        font-weight: 600;
        line-height: 1.4;
        white-space: normal;
        word-break: keep-all;
        overflow-wrap: break-word;
    }
    #buddy-prepaid .buddy-tier-grid .buddy-plan-price {
        grid-column: 1;
        grid-row: 3;
        text-align: left;
    }
    #buddy-prepaid .buddy-tier-grid .buddy-plan-arrow {
        display: block;
        grid-column: 2;
        grid-row: 3;
        align-self: center;
        justify-self: end;
    }
}
@media (max-width: 640px) {
    .buddy-plan-copy-break { display: inline; }
    #buddy-prepaid .buddy-plan-intro-copy { line-height: 1.8; }
    #buddy-prepaid .buddy-tier-grid .buddy-detail-btn {
        padding: 16px 14px !important;
        gap: 14px 10px;
    }
    .buddy-plan-dialog .buddy-dialog-inner { padding: 22px 16px; }
    .buddy-plan-dialog .buddy-dialog-inner h2 {
        font-size: 20px;
        line-height: 1.4;
        word-break: keep-all;
        overflow-wrap: anywhere;
    }
    .buddy-plan-dialog .buddy-dialog-specs {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        align-items: stretch;
    }
    .buddy-plan-dialog .buddy-dialog-specs > div {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 6px;
        min-width: 0;
        min-height: 0 !important;
        height: auto;
        padding: 14px 6px !important;
        align-items: center;
    }
    .buddy-plan-dialog .buddy-dialog-specs small {
        margin: 0 !important;
        text-align: center;
        font-size: 12px !important;
    }
    .buddy-plan-dialog .buddy-dialog-specs strong {
        text-align: center;
        font-size: clamp(13px, 3.4vw, 16px) !important;
        font-weight: 600;
        line-height: 1.5 !important;
        overflow-wrap: anywhere;
        word-break: keep-all !important;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        height: auto;
        max-height: none;
    }
    .buddy-plan-dialog .buddy-dialog-specs span {
        margin: 0 !important;
        text-align: center;
        font-size: 12px !important;
        line-height: 1.5 !important;
        word-break: keep-all;
        overflow-wrap: anywhere;
        white-space: normal;
    }
    .buddy-plan-dialog .buddy-dialog-pricebox strong { font-size: 21px; }
    .buddy-plan-dialog .buddy-detail-accordion > summary { font-size: 15px; }
    .buddy-plan-dialog .buddy-detail-accordion-body { font-size: 13px; }
    .buddy-plan-dialog .buddy-detail-accordion-body > h4 { font-size: 14px; }
}
