/* Busca Baile - ajustes responsivos */

@media (max-width:900px) {

    .filters,
    .form-grid,
    .dash,
    .stats {
        grid-template-columns: 1fr
    }

    .grid {
        grid-template-columns: 1fr 1fr
    }

    .nav {
        min-height: auto;
        padding: 12px 0;
        align-items: flex-start
    }

    .brand img {
        height: 56px
    }

    .navlinks {
        justify-content: flex-end
    }

    .side {
        position: static
    }
}

@media (max-width:580px) {
    .grid {
        grid-template-columns: 1fr
    }

    .hero {
        padding: 34px 0
    }

    .btn,
    button {
        width: 100%;
        text-align: center
    }

    .nav {
        flex-direction: column;
        align-items: stretch
    }

    .brand {
        justify-content: center
    }

    .brand img {
        height: 60px
    }

    .navlinks {
        width: 100%;
        justify-content: center
    }

    .navlinks a {
        flex: 1;
        text-align: center
    }

    .event-img {
        height: 160px
    }

    .filters {
        padding: 12px
    }
}

@media (max-width:760px) {

    .partner-fields,
    .subscription-options {
        grid-template-columns: 1fr
    }
}

@media (max-width:760px) {

    .admin-user-filters,
    .password-form {
        grid-template-columns: 1fr
    }
}

@media (max-width:580px) {
    .auth-page {
        padding: 28px 14px;
        align-items: flex-start
    }

    .auth-heading {
        display: block;
        text-align: center
    }

    .auth-heading img {
        margin: 0 auto 12px
    }
}

@media (max-width:760px) {
    .admin-tools-grid {
        grid-template-columns: 1fr
    }
}

@media (max-width:760px) {
    .digital-ticket {
        grid-template-columns: 1fr
    }

    .ticket-main {
        padding: 22px
    }

    .ticket-brand {
        justify-content: space-between
    }

    .ticket-info-grid {
        grid-template-columns: 1fr 1fr
    }

    .ticket-qr-panel {
        border-left: 0;
        border-top: 2px dashed rgba(179, 141, 69, .72)
    }

    .ticket-cut {
        display: none
    }
}

@media (max-width:460px) {
    .ticket-info-grid {
        grid-template-columns: 1fr
    }

    .ticket-event {
        display: block
    }

    .ticket-event .badge {
        margin-bottom: 10px
    }

    .ticket-brand {
        display: block
    }

    .ticket-brand img {
        height: 48px;
        margin-bottom: 8px
    }
}

@media (max-width:980px) {

    .market-search,
    .event-detail-grid,
    .event-content-grid {
        grid-template-columns: 1fr
    }

    .event-buy-box {
        position: static
    }

    .event-market-grid {
        grid-template-columns: 1fr 1fr
    }

    .ticket-row,
    .ticket-type-list {
        grid-template-columns: 1fr 1fr
    }

    .ticket-row .remove-ticket-row {
        height: auto
    }
}

@media (max-width:620px) {

    .event-market-grid,
    .ticket-row,
    .ticket-type-list {
        grid-template-columns: 1fr
    }

    .event-market-body {
        grid-template-columns: 48px 1fr
    }

    .event-detail-media img {
        height: 260px
    }

    .ticket-builder-head {
        display: block
    }

    .ticket-builder-head .btn {
        margin-top: 12px
    }
}

@media (max-width:620px) {
    .ticket-edit-grid {
        grid-template-columns: 1fr
    }

    .ticket-actions {
        display: grid
    }

    .cancel-request-form,
    .cancel-admin-form {
        min-width: 0
    }
}

@media (max-width:760px) {
    .ticket-lot-line {
        grid-template-columns: 1fr
    }

    .ticket-lot-line .btn,
    .ticket-lot-actions .btn {
        width: 100%
    }
}

@media (min-width:780px) {
    .subscription-options {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (max-width:620px) {
    .inline-subscription-form {
        grid-template-columns: 1fr
    }
}

@media (max-width:760px) {
    .client-ticket-panel .digital-ticket {
        grid-template-columns: 1fr
    }

    .client-ticket-panel .ticket-info-grid {
        grid-template-columns: 1fr 1fr
    }

    .ticket-name-form {
        grid-template-columns: 1fr 1fr
    }

    .client-ticket-panel .ticket-qr-panel .qr {
        width: 140px;
        height: 140px
    }
}

@media (max-width:460px) {
    .client-ticket-panel .ticket-info-grid {
        grid-template-columns: 1fr
    }

    .client-ticket-panel .ticket-event {
        display: block
    }

    .ticket-actions-row .btn {
        width: 100%
    }

    .ticket-name-form {
        grid-template-columns: 1fr
    }
}

@media (max-width:760px) {
    .client-ticket-panel .ticket-qr-panel .qr {
        width: 220px;
        height: 220px;
        max-width: 72vw
    }

    .ticket-qr-panel p {
        font-size: 1.05rem
    }
}

@media (max-width:580px) {
    .scanner-actions {
        display: grid
    }

    .scanner-box video,
    .scanner-box #qr-live-reader,
    .scanner-box #qr-live-reader video {
        max-width: 100%;
        min-height: 260px
    }
}

@media (max-width:900px) {
    .participant-row {
        grid-template-columns: 1fr 1fr
    }

    .participant-row strong {
        grid-column: 1/-1
    }
}

@media (max-width:580px) {
    .participant-row {
        grid-template-columns: 1fr
    }
}

@media (max-width:980px) {
    .ticket-row {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width:620px) {
    .ticket-row {
        grid-template-columns: 1fr
    }
}

@media (max-width:760px) {
    .client-ticket-panel {
        width: min(520px, 94vw);
        padding: 16px
    }

    .client-ticket-panel .digital-ticket {
        grid-template-columns: 1fr;
        max-width: 460px
    }

    .client-ticket-panel .ticket-info-grid {
        grid-template-columns: 1fr 1fr
    }

    .client-ticket-panel .ticket-qr-panel .qr {
        width: 132px;
        height: 132px;
        max-width: 60vw
    }

    .client-ticket-panel .ticket-qr-panel {
        padding: 14px
    }

    .client-ticket-panel .ticket-cut {
        display: none
    }
}

@media (max-width:460px) {
    .client-ticket-panel .section-title {
        display: block
    }

    .client-ticket-panel .ticket-info-grid {
        grid-template-columns: 1fr
    }

    .client-ticket-panel .ticket-actions-row .btn {
        width: 100%
    }
}

@media (max-width:760px) {
    .client-ticket-panel .digital-ticket {
        grid-template-columns: 1fr
    }

    .client-ticket-panel .ticket-qr-panel .qr {
        width: 154px;
        height: 154px;
        max-width: 62vw
    }
}

@media (max-width:760px) {
    .compact-grid {
        grid-template-columns: 1fr
    }
}

@media (max-width:900px) {
    .member-summary {
        grid-template-columns: 1fr 1fr
    }

    .checkout-options {
        grid-template-columns: 1fr
    }
}

@media (max-width:580px) {
    .member-summary {
        grid-template-columns: 1fr
    }
}

@media (max-width:900px) {
    .checkout-card-fields {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width:580px) {
    .checkout-page {
        width: min(100% - 20px, 520px)
    }

    .checkout-card-fields,
    .checkout-card-head {
        display: block
    }

    .checkout-card-fields[hidden] {
        display: none
    }

    .checkout-card-fields .field {
        margin-top: 10px
    }
}

@media (max-width:980px) {
    .finance-grid {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width:580px) {
    .finance-grid {
        grid-template-columns: 1fr
    }

    .checkout-summary div {
        display: block
    }

    .checkout-summary strong {
        display: block;
        margin-top: 3px
    }
}

@media (max-width:760px) {
    .section-actions {
        justify-content: flex-start
    }

    .section-actions .btn {
        width: 100%
    }
}

@media (max-width:620px) {
    .courtesy-form {
        grid-template-columns: 1fr
    }
}

@media (max-width:980px) {
    .performance-grid {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width:620px) {

    .performance-grid,
    .performance-highlight {
        grid-template-columns: 1fr
    }

    .mini-progress {
        min-width: 0
    }
}

@media (max-width:1040px) {
    .partner-event-card {
        grid-template-columns: 1fr
    }

    .partner-event-image,
    .partner-event-image img {
        min-height: 170px
    }
}

@media (max-width:760px) {
    .partner-event-cards {
        grid-template-columns: 1fr
    }

    .partner-event-list summary {
        display: block
    }

    .partner-event-list summary strong {
        display: block;
        margin-top: 4px
    }

    .partner-event-actions .btn {
        width: auto
    }
}

@media (max-width:460px) {
.partner-event-actions .btn {
        width: 100%
    }
}

@media (max-width: 980px) {
    .bb-partner-page,
    .bb-partner-hero-inner {
        grid-template-columns: 1fr
    }

    .bb-partner-logo-card {
        width: 160px;
        margin-top: 34px
    }

    .bb-partner-events,
    .bb-partner-management,
    .bb-partner-contact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (max-width: 640px) {
    .bb-partner-hero-inner {
        gap: 18px;
        padding-bottom: 48px
    }

    .bb-partner-gallery,
    .bb-partner-events,
    .bb-partner-management,
    .bb-partner-contact-grid {
        grid-template-columns: 1fr
    }

    .bb-partner-gallery {
        grid-auto-rows: 210px
    }
}

@media (max-width:620px) {
    .share-actions .btn {
        width: 100%
    }
}

@media (max-width:900px) {

    .legal-summary,
    .legal-grid {
        grid-template-columns: 1fr
    }

    .footer-links {
        display: flex;
        margin: 8px 0 0
    }
}

@media (max-width:580px) {
    .terms-accept-head {
        display: block
    }

    .terms-accept-head a {
        display: inline-block;
        margin-top: 5px
    }

    .terms-scroll {
        height: 220px
    }
}

@media (max-width:760px) {
    .admin-sales-filters {
        grid-template-columns: 1fr
    }

    .admin-reconciliation-filters,
    .admin-audit-filters,
    .reconciliation-stats,
    .report-grid {
        grid-template-columns: 1fr
    }

    .ticket-sales-table {
        min-width: 920px
    }
}

@media (max-width:580px) {
    .validator-app {
        padding-top: 8px
    }

    .validator-head {
        justify-content: center
    }

    .validator-scanner video {
        min-height: 340px
    }

    .validator-nav {
        grid-template-columns: 1fr
    }
}

@media (max-width:1080px) {
    .bb-featured-grid,
    .bb-trending-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .bb-category-grid {
        grid-template-columns: repeat(4, 1fr)
    }

    .bb-home-search {
        grid-template-columns: 1fr 1fr
    }

    .bb-home-search button {
        min-height: 62px
    }

    .bb-footer-grid {
        grid-template-columns: 1fr 1fr
    }

    .bb-ad-banner {
        grid-template-columns: 1fr
    }
}

@media (max-width:760px) {
    .nav {
        min-height: auto
    }

    .brand {
        min-width: 0
    }

    .brand img {
        height: 86px
    }

    .bb-home-hero-grid {
        display: block;
        min-height: 0
    }

    .bb-home-copy {
        padding: 30px 0
    }

    .bb-home-visual {
        position: relative;
        inset: auto;
        height: 260px;
        margin: 0 -4vw;
        background-position: center;
        background-size: cover
    }

    .bb-home-search {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        grid-template-columns: 1fr;
        margin-top: 18px
    }

    .bb-home-search label {
        border-right: 0;
        border-bottom: 1px solid var(--bb-line)
    }

    .home-highlight-picker {
        grid-template-columns: 1fr
    }

    .bb-category-grid,
    .bb-featured-grid,
    .bb-trending-grid,
    .bb-benefits,
    .bb-footer-grid {
        grid-template-columns: 1fr
    }

    .bb-benefits div {
        border-right: 0;
        border-bottom: 1px solid var(--bb-line)
    }

    .bb-ad-banner {
        padding: 26px
    }

    .bb-footer-bottom {
        display: block
    }

    .bb-section-head {
        display: block
    }

    .bb-section-head a {
        display: inline-flex;
        margin-top: 10px
    }
}

@media (max-width:480px) {
    .bb-category-grid {
        gap: 12px
    }

    .bb-home-copy h1 {
        font-size: 2.25rem
    }

    .bb-event-image {
        height: 180px
    }

    .bb-newsletter form {
        grid-template-columns: 1fr
    }

    .bb-newsletter button {
        width: 100%
    }
}

@media (max-width:760px) {
    .bb-ad-banner {
        min-height: 430px;
        padding: 34px 24px;
        background-position: center right
    }

    .bb-ad-ornament {
        width: 220px;
        background-size: 82px 1px
    }

    .bb-ad-banner h2 {
        font-size: 2.35rem
    }

    .bb-ad-banner p {
        font-size: 1.06rem
    }

    .bb-ad-banner .btn.secondary {
        width: 100%;
        padding: 16px 18px
    }
}

@media (max-width:480px) {
    .bb-ad-banner {
        border-radius: 16px;
        background-position: 58% center
    }

    .bb-ad-ornament {
        margin-bottom: 12px
    }
}

@media (max-width:1080px) {
    .bb-home-search {
        right: 0;
        grid-template-columns: 1fr 1fr
    }

    .bb-home-hero {
        min-height: auto
    }

    .bb-home-hero-grid {
        min-height: 500px
    }
}

@media (max-width:760px) {
    .bb-home-hero {
        background-position: 64% top;
        min-height: auto
    }

    .bb-home-hero:before {
        background: linear-gradient(180deg, rgba(255, 253, 250, .98) 0%, rgba(255, 253, 250, .82) 48%, rgba(255, 253, 250, .18) 100%)
    }

    .bb-home-hero-grid {
        min-height: 0
    }

    .bb-home-copy {
        padding: 34px 0 18px
    }

    .bb-home-search {
        margin-top: 10px;
        box-shadow: 0 14px 34px rgba(50, 35, 19, .16)
    }

    .bb-home-search button {
        min-height: 58px
    }

    .bb-home-copy h1 {
        font-size: 2.55rem
    }

    .bb-home-copy p {
        font-size: 1rem
    }

    .bb-home-visual {
        display: none
    }
}

@media (max-width:480px) {
    .bb-home-copy h1 {
        font-size: 2.25rem
    }

    .bb-home-search label {
        padding: 15px 18px
    }

    .bb-home-search label i {
        font-size: 1.45rem
    }
}

@media (max-width:760px) {
    .nav-icon {
        width: 19px;
        height: 19px
    }

    .category-icon {
        width: 34px;
        height: 34px
    }

    .bb-home-search .bb-field-icon {
        width: 25px;
        height: 25px
    }

    .benefit-icon {
        width: 34px;
        height: 34px
    }

    .bb-ad-icon {
        width: 42px;
        height: 42px
    }
}

@media (max-width:760px) {
    .bb-ad-banner {
        min-height: 260px;
        max-height: none;
        padding: 24px 22px;
        background-position: center right
    }

    .bb-ad-banner>div {
        max-width: 340px
    }

    .bb-ad-banner h2 {
        font-size: 2rem
    }

    .bb-ad-banner p {
        font-size: .95rem
    }

    .bb-ad-banner .btn.secondary {
        width: auto;
        padding: 11px 16px
    }
}

@media (max-width:480px) {
    .bb-ad-banner {
        min-height: 310px;
        border-radius: 10px;
        background-position: 58% center
    }

    .bb-ad-banner h2 {
        font-size: 1.85rem
    }

    .bb-ad-banner p {
        max-width: 280px
    }
}

@media (max-width:760px) {
    .bb-ad-banner {
        height: auto;
        min-height: 238px;
        max-height: none;
        align-items: flex-start;
        padding: 22px;
        background-position: 58% center
    }

    .bb-ad-banner>div {
        max-width: 310px
    }

    .bb-ad-banner h2 {
        font-size: 1.72rem;
        max-width: 300px
    }

    .bb-ad-banner p {
        font-size: .86rem;
        max-width: 285px
    }
}

@media (max-width:480px) {
    .bb-ad-banner {
        min-height: 284px;
        background-position: 62% center
    }

    .bb-ad-banner>div {
        max-width: 260px
    }

    .bb-ad-banner h2 {
        font-size: 1.55rem
    }

    .bb-ad-banner p {
        max-width: 240px
    }
}

@media (max-width:1080px) {
    .bb-home-hero-grid {
        min-height: 430px
    }

    .bb-home-copy {
        padding-bottom: 132px
    }
}

@media (max-width:760px) {
    .bb-home-hero {
        background-position: 62% top
    }

    .bb-home-copy {
        padding: 28px 0 12px
    }

    .bb-home-copy h1 {
        font-size: 2.22rem
    }

    .bb-home-search {
        bottom: auto;
        max-width: none
    }

    .bb-home-hero-grid {
        min-height: 0
    }
}

@media (max-width:1080px) {
    .bb-home-search {
        grid-template-columns: 1fr 1fr;
        max-width: 930px
    }

    .bb-date-range {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width:760px) {
    .bb-home-search {
        grid-template-columns: 1fr
    }

    .bb-date-range {
        grid-column: 2;
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width:420px) {
    .bb-date-range {
        grid-template-columns: 1fr
    }

    .bb-home-search .bb-date-range input {
        font-size: .9rem
    }
}

@media (max-width:1080px) {
    .bb-home-search .bb-search-field {
        border-right: 0;
        border-bottom: 1px solid var(--bb-line)
    }

    .bb-range-calendar {
        left: 10px;
        right: 10px;
        width: auto
    }
}

@media (max-width:760px) {
    .bb-home-search .bb-search-field {
        border-right: 0;
        border-bottom: 1px solid var(--bb-line)
    }

    .bb-range-calendar {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        grid-column: 1/3;
        width: 100%;
        margin-top: 10px;
        box-shadow: 0 12px 28px rgba(50, 35, 19, .14)
    }
}

@media (max-width:760px) {

    .bb-home-copy h1 span,
    .bb-home-copy h1 em {
        font-size: .58em
    }

    .bb-home-copy h1 strong {
        font-size: 1.02em
    }
}

@media (max-width:1080px) {
    .bb-home-hero {
        min-height: 520px
    }

    .bb-home-hero-grid {
        min-height: 520px
    }

    .bb-home-search {
        grid-template-columns: 1fr 1fr;
        max-width: 930px
    }

    .bb-home-copy {
        padding-bottom: 155px
    }
}

@media (max-width:760px) {
    .bb-home-hero {
        min-height: auto;
        background-position: 62% top
    }

    .bb-home-copy {
        padding: 28px 0 12px
    }

    .bb-home-search {
        grid-template-columns: 1fr;
        position: relative;
        margin-top: 10px
    }

    .bb-home-search label,
    .bb-home-search .bb-search-field {
        border-right: 0;
        border-bottom: 1px solid var(--bb-line)
    }

    .bb-home-section:first-of-type {
        padding-top: 28px
    }
}

@media (max-width:760px) {
    .bb-range-calendar {
        position: absolute;
        grid-column: auto;
        top: calc(100% + 8px);
        left: 50%;
        width: 302px;
        margin-top: 0;
        transform: translateX(-50%)
    }

    .bb-date-field {
        position: relative
    }
}

@media (max-width:360px) {
    .bb-range-calendar {
        width: 284px
    }

    .bb-range-days button {
        width: 33px;
        height: 33px
    }
}

@media (max-width:760px) {
    .bb-home-search {
        min-height: 0
    }

    .bb-home-search button {
        min-height: 52px
    }

    .bb-home-search label,
    .bb-home-search .bb-search-field {
        padding: 12px 16px
    }
}

@media (max-width:1080px) {
    .bb-home-search {
        height: auto;
        grid-template-columns: 1fr 1fr
    }

    .bb-home-search label,
    .bb-home-search .bb-search-field {
        min-height: 72px
    }

    .bb-home-search>button {
        height: 58px;
        min-height: 58px;
        border-radius: 0 0 12px 12px;
        grid-column: 1/-1
    }

    .bb-range-calendar {
        width: 332px
    }
}

@media (max-width:760px) {
    .bb-home-search {
        height: auto
    }

    .bb-home-search label,
    .bb-home-search .bb-search-field {
        min-height: 66px
    }

    .bb-home-search>button {
        height: 54px;
        min-height: 54px;
        border-radius: 0 0 12px 12px
    }

    .bb-range-calendar {
        width: min(332px, calc(100vw - 28px))
    }
}

@media (max-width:360px) {
    .bb-range-calendar {
        width: 302px
    }

    .bb-range-days button {
        width: 38px;
        height: 31px
    }
}

@media (max-width:1080px) {
    .bb-home-search {
        height: auto !important
    }

    .bb-home-search label,
    .bb-home-search .bb-search-field {
        height: 72px !important;
        min-height: 72px !important
    }

    .bb-home-search>button {
        height: 56px !important;
        min-height: 56px !important;
        border-radius: 0 0 12px 12px !important;
        grid-column: 1/-1 !important
    }

    .bb-range-calendar {
        width: 340px !important
    }
}

@media (max-width:760px) {

    .bb-home-search label,
    .bb-home-search .bb-search-field {
        height: 66px !important;
        min-height: 66px !important
    }

    .bb-home-search>button {
        height: 52px !important;
        min-height: 52px !important
    }

    .bb-range-calendar {
        width: min(340px, calc(100vw - 28px)) !important
    }

    .bb-range-days button {
        width: calc((min(340px, calc(100vw - 28px)) - 24px)/7) !important
    }
}

@media (max-width:1080px) {
    .bb-home-search {
        bottom: 90px !important
    }

    .bb-autocomplete {
        grid-column: 2
    }

    .bb-suggestions {
        top: calc(100% + 8px)
    }
}

@media (max-width:760px) {
    .bb-home-search {
        bottom: auto !important
    }

    .bb-autocomplete {
        grid-column: 2
    }

    .bb-suggestions {
        position: absolute
    }
}

@media (max-width:1080px) {
    .bb-home-search>button {
        height: 58px !important;
        min-height: 58px !important;
        border-radius: 0 0 12px 12px !important
    }
}

@media (max-width:760px) {
    .bb-home-search>button {
        height: 54px !important;
        min-height: 54px !important
    }
}

@media (max-width:1080px) {
    .bb-home-search>button {
        width: calc(100% + 2px) !important;
        margin: 0 -1px -1px -1px !important;
        border-radius: 0 0 13px 13px !important
    }
}

@media (max-width:760px) {
    .announce-event-btn {
        padding: 11px 14px !important
    }

    .announce-dance-icon {
        width: 24px;
        height: 24px
    }

    .announce-dance-icon img {
        width: 18px;
        height: 18px
    }

    .bb-footer .bb-footer-brand .footer-logo {
        width: 230px
    }
}

@media (max-width:1120px) {
    .bb-events-search {
        grid-template-columns: 1fr 1fr
    }

    .bb-events-search>button {
        grid-column: 1/-1
    }

    .bb-events-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (max-width:860px) {
    .bb-events-hero {
        min-height: 280px
    }

    .bb-events-search {
        grid-template-columns: 1fr !important
    }

    .bb-events-search>button {
        grid-column: auto
    }

    .bb-events-tools {
        display: block
    }

    .bb-events-tabs {
        gap: 12px;
        margin-bottom: 12px
    }

    .bb-events-sort select {
        width: 100%;
        border: 1px solid var(--bb-line);
        background: #fffdfa;
        border-radius: 8px;
        padding: 0 12px
    }

    .bb-events-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .bb-events-newsletter .wrap {
        grid-template-columns: 1fr
    }
}

@media (max-width:560px) {
    .bb-events-hero-inner {
        padding: 42px 0 72px
    }

    .bb-events-hero h1 {
        font-size: 3rem
    }

    .bb-events-search-wrap {
        margin-top: -28px
    }

    .bb-events-grid {
        grid-template-columns: 1fr
    }

    .bb-events-newsletter form {
        grid-template-columns: 1fr
    }

    .bb-events-newsletter button {
        height: 46px
    }

    .bb-events-card-image {
        height: 180px
    }
}

@media (max-width:1080px) {
    .bb-footer-grid {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width:760px) {
    .bb-footer-grid {
        grid-template-columns: 1fr
    }

    .bb-footer-bottom {
        display: block
    }

    .bb-newsletter form {
        grid-template-columns: 1fr
    }

    .bb-newsletter button {
        width: 100%
    }
}

@media (max-width:1080px) {
    .bb-site-footer-top {
        grid-template-columns: 1.2fr 1fr;
        gap: 34px
    }

    .bb-site-newsletter {
        grid-column: 1/-1
    }
}

@media (max-width:720px) {
    .bb-site-footer {
        margin-top: 40px
    }

    .bb-site-footer-top {
        grid-template-columns: 1fr;
        padding: 36px 0 28px
    }

    .bb-site-footer-brand img {
        width: min(100%, 300px)
    }

    .bb-site-newsletter form {
        grid-template-columns: 1fr
    }

    .bb-site-newsletter button {
        width: 100%
    }

    .bb-site-footer-bottom {
        display: block
    }

    .bb-site-footer-bottom span {
        display: block;
        margin: 5px 0
    }
}

@media (max-width:720px) {
    .bb-site-newsletter form {
        grid-template-columns: 1fr !important
    }

    .bb-site-newsletter button {
        width: 100% !important
    }
}

@media (max-width:460px) {
    .favorite-login-dialog div .btn {
        width: 100%
    }
}

@media (max-width:760px) {
    .client-favorites-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width:520px) {
    .client-favorite-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden
    }

    .wrap {
        width: min(94vw, 760px)
    }

    .panel,
    .bb-partner-section,
    .bb-partner-box,
    .checkout-box,
    .tablebox {
        max-width: 100%
    }

    .section-title {
        gap: 14px;
        align-items: flex-start
    }

    .section-actions {
        width: 100%
    }

    .section-actions .btn {
        width: auto
    }

    .form-grid,
    .public-profile-form,
    .checkout-page .form-grid,
    .admin-user-filters,
    .filters {
        grid-template-columns: 1fr !important
    }

    input,
    select,
    textarea,
    button,
    .btn {
        max-width: 100%
    }

    .bb-partner-events-all-grid,
    .bb-events-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .bb-home-search {
        max-width: min(94vw, 760px) !important
    }

    .bb-range-calendar {
        max-width: calc(100vw - 28px)
    }

    .bb-upload-card {
        grid-template-columns: 70px minmax(0, 1fr)
    }

    .bb-footer-grid,
    .bb-site-footer-top {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width: 760px) {
    .topbar {
        position: sticky
    }

    .nav {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 10px 0
    }

    .brand {
        min-width: 0;
        justify-content: center
    }

    .brand img {
        height: 58px
    }

    .navlinks {
        width: 100%;
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 8px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: 2px 0 8px;
        scrollbar-width: thin
    }

    .navlinks a,
    .navlinks .btn {
        flex: 0 0 auto;
        width: auto;
        min-height: 42px;
        white-space: nowrap
    }

    .navlinks>a:not(.btn) {
        padding: 9px 11px
    }

    .page-wrapper {
        min-width: 0
    }

    .bb-home-hero-grid,
    .bb-home-hero,
    .bb-home-hero-inner {
        min-height: auto !important
    }

    .bb-home-hero-grid {
        padding: 34px 0 24px
    }

    .bb-home-copy {
        max-width: 92vw
    }

    .bb-home-copy h1 {
        font-size: clamp(2.25rem, 12vw, 4rem);
        line-height: .96
    }

    .bb-home-search {
        position: relative !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: 100% !important;
        margin: 18px auto 0 !important;
        grid-template-columns: 1fr !important;
        overflow: visible !important
    }

    .bb-home-search label,
    .bb-home-search .bb-search-field,
    .bb-home-search>button {
        width: 100% !important;
        min-width: 0 !important
    }

    .bb-home-search>button {
        border-radius: 0 0 8px 8px !important
    }

    .bb-suggestions {
        max-width: calc(100vw - 34px)
    }

    .bb-events-search,
    .bb-events-tools,
    .bb-events-newsletter .wrap,
    .bb-site-newsletter form {
        grid-template-columns: 1fr !important
    }

    .bb-events-search-wrap {
        width: min(94vw, 640px)
    }

    .bb-events-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 8px
    }

    .bb-events-tabs a {
        flex: 0 0 auto;
        white-space: nowrap
    }

    .bb-partner-hero {
        min-height: 0
    }

    .bb-partner-hero-inner,
    .bb-partner-events-hero .bb-partner-hero-inner {
        min-height: 0;
        padding: 28px 0 42px
    }

    .bb-partner-logo-card {
        width: 150px;
        margin: 0 auto
    }

    .bb-partner-hero-copy h1 {
        font-size: clamp(2.25rem, 12vw, 3.6rem)
    }

    .bb-partner-hero-actions .btn,
    .bb-partner-contact-grid a,
    .bb-partner-management div {
        width: 100%
    }

    .bb-partner-gallery {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 150px
    }

    .bb-gallery-lightbox {
        padding: 18px
    }

    .bb-gallery-lightbox img {
        max-height: 78vh
    }

    .digital-ticket,
    .client-ticket-panel .digital-ticket {
        width: 100%;
        max-width: 100%;
        grid-template-columns: 1fr !important
    }

    .ticket-qr-panel,
    .client-ticket-panel .ticket-qr-panel {
        min-height: auto
    }

    .ticket-qr-panel .qr,
    .client-ticket-panel .ticket-qr-panel .qr {
        width: min(230px, 70vw);
        height: min(230px, 70vw)
    }

    .checkout-page {
        width: min(94vw, 620px)
    }

    .participant-row,
    .ticket-row,
    .checkout-card-fields {
        grid-template-columns: 1fr !important
    }

    .checkout-summary div {
        gap: 4px
    }

    .tablebox {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

    .dash {
        gap: 14px;
        margin-top: 14px
    }

    .dash > div {
        min-width: 0
    }

    .side {
        position: sticky;
        top: 74px;
        z-index: 80;
        padding: 10px;
        border-radius: 10px;
        box-shadow: 0 12px 30px rgba(2, 38, 14, .18)
    }

    .side > strong {
        display: none
    }

    .panel-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 48px;
        border: 1px solid rgba(179, 141, 69, .42);
        border-radius: 8px;
        background: rgba(255, 253, 250, .08);
        color: #fff;
        font-weight: 900;
        text-align: left;
        cursor: pointer
    }

    .panel-menu-toggle i {
        font-size: 1.35rem
    }

    .panel-menu-links {
        display: none;
        max-height: min(66vh, 560px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-top: 8px
    }

    .side.is-open .panel-menu-links {
        display: grid;
        gap: 6px
    }

    .side a {
        min-height: 44px;
        padding: 11px 12px
    }
}

@media (max-width: 560px) {
    .wrap {
        width: min(94vw, 430px)
    }

    .panel,
    .bb-partner-section,
    .bb-partner-box,
    .checkout-box {
        padding: 16px
    }

    .section-title {
        display: block
    }

    .section-actions {
        margin-top: 12px
    }

    .section-actions .btn,
    .admin-settings-actions .btn,
    .bb-partner-hero-actions .btn,
    .share-actions .btn,
    .checkout-page .btn,
    .checkout-page button {
        width: 100%
    }

    .admin-settings-form {
        max-width: 100%
    }

    .partner-type-create-form {
        grid-template-columns: 1fr
    }

    .admin-setting-toggle {
        padding: 14px
    }

    .bb-events-grid,
    .bb-partner-events,
    .bb-partner-events-all-grid,
    .client-favorites-grid,
    .grid,
    .stats,
    .finance-grid,
    .performance-grid {
        grid-template-columns: 1fr !important
    }

    .bb-events-card-foot {
        align-items: flex-start;
        flex-direction: column
    }

    .bb-events-card-foot a.favorite-event-link {
        align-self: flex-end
    }

    .bb-events-price {
        position: static;
        display: inline-flex;
        width: fit-content;
        margin: 0 16px 14px
    }

    .bb-partner-gallery {
        grid-template-columns: 1fr;
        grid-auto-rows: 205px
    }

    .bb-upload-card {
        grid-template-columns: 1fr;
        text-align: center
    }

    .bb-upload-preview {
        margin: 0 auto
    }

    .bb-footer-grid,
    .bb-site-footer-top,
    .bb-site-newsletter form {
        grid-template-columns: 1fr !important
    }

    .bb-site-newsletter button,
    .bb-events-newsletter button {
        width: 100%
    }

    .client-favorite-card,
    .partner-event-card {
        grid-template-columns: 1fr !important
    }

    .bb-date-trigger,
    .bb-events-search button,
    .bb-home-search>button {
        min-height: 50px !important
    }

    .bb-range-calendar {
        left: 50% !important;
        right: auto !important;
        width: min(318px, calc(100vw - 24px)) !important;
        transform: translateX(-50%)
    }

    .tablebox {
        overflow: visible;
        background: transparent;
        border: 0;
        box-shadow: none;
        padding: 0
    }

    .table {
        display: block;
        background: transparent
    }

    .table thead {
        display: none
    }

    .table tbody {
        display: grid;
        gap: 12px
    }

    .table tr {
        display: grid;
        gap: 0;
        padding: 12px;
        background: #fffdfa;
        border: 1px solid var(--bb-line);
        border-top: 4px solid var(--bb-gold);
        border-radius: 8px;
        box-shadow: 0 12px 26px rgba(50, 35, 19, .09)
    }

    .table td {
        display: grid;
        grid-template-columns: minmax(108px, 38%) minmax(0, 1fr);
        gap: 10px;
        align-items: start;
        min-width: 0;
        padding: 10px 0;
        border-bottom: 1px solid rgba(179, 141, 69, .22);
        word-break: break-word
    }

    .table td:last-child {
        border-bottom: 0
    }

    .table td::before {
        content: attr(data-label);
        color: var(--bb-green);
        font-size: .76rem;
        font-weight: 900;
        text-transform: uppercase
    }

    .table td:empty {
        display: none
    }

    .table td > form,
    .table td > .inline-form,
    .table td .btn,
    .table td button {
        max-width: 100%
    }
}

@media (max-width: 380px) {
    .brand img {
        height: 50px
    }

    .navlinks>a:not(.btn),
    .navlinks .btn {
        padding-inline: 10px;
        font-size: .88rem
    }

    .bb-home-copy h1,
    .bb-partner-hero-copy h1 {
        font-size: 2.2rem
    }

    .bb-range-calendar {
        width: min(296px, calc(100vw - 18px)) !important
    }
}

@media (max-width: 760px) {
    .topbar .nav {
        display: grid !important;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 10px;
        padding: 10px 0
    }

    .topbar .brand {
        justify-content: flex-start;
        min-width: 0
    }

    .topbar .brand img {
        height: 58px
    }

    .mobile-menu-toggle {
        display: inline-flex
    }

    .topbar .navlinks {
        grid-column: 1 / -1;
        display: none !important;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 8px;
        overflow: visible;
        padding: 8px 0 4px;
        border-top: 1px solid rgba(179, 141, 69, .28)
    }

    .topbar .nav.is-open .navlinks {
        display: flex !important
    }

    .topbar .navlinks a,
    .topbar .navlinks .btn {
        width: 100%;
        min-height: 46px;
        justify-content: flex-start;
        padding: 12px 14px;
        border-radius: 10px;
        background: #fffdfa;
        border: 1px solid rgba(179, 141, 69, .22);
        white-space: normal
    }

    .topbar .navlinks>a:not(.btn) {
        padding: 12px 14px
    }

    .topbar .navlinks .btn {
        color: #fff;
        background: var(--bb-red);
        border-color: var(--bb-red);
        box-shadow: 0 10px 22px rgba(139, 21, 30, .18)
    }

    .topbar .navlinks>a.active:not(.btn) {
        background: #f7ead3 !important;
        border-bottom: 1px solid rgba(179, 141, 69, .22) !important
    }
}

@media (max-width: 760px) {
    .wrap {
        width: min(100% - 24px, 1180px)
    }

    .filters,
    .admin-user-filters,
    .admin-sales-filters,
    .admin-reconciliation-filters,
    .admin-audit-filters,
    .test-ticket-filter,
    .cancel-admin-form,
    .form-grid,
    .admin-modal-form,
    .admin-settings-form .form-grid,
    .checkout-page .form-grid,
    .public-profile-form,
    .partner-fields {
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100%;
        max-width: 100%;
        gap: 12px;
        overflow: hidden
    }

    .filters,
    .admin-user-filters,
    .admin-sales-filters,
    .admin-reconciliation-filters,
    .admin-audit-filters,
    .test-ticket-filter {
        padding: 14px;
        margin-top: 16px
    }

    .filters label,
    .admin-user-filters label,
    .admin-sales-filters label,
    .admin-reconciliation-filters label,
    .admin-audit-filters label,
    .form-grid .field,
    .admin-modal-form label,
    .admin-settings-form .field,
    .public-profile-form .field {
        min-width: 0;
        width: 100%;
        max-width: 100%
    }

    input,
    select,
    textarea,
    .field input,
    .field select,
    .field textarea,
    .filters input,
    .filters select,
    .admin-modal-form input,
    .admin-modal-form select,
    .admin-settings-form input,
    .admin-settings-form select,
    .admin-settings-form textarea {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        font-size: 16px;
        line-height: 1.25
    }

    input[type="date"],
    input[type="time"],
    input[type="datetime-local"],
    input[type="month"],
    input[type="number"] {
        appearance: auto;
        min-width: 0;
        max-width: 100%;
        padding-inline: 10px;
        letter-spacing: 0
    }

    input[type="date"]::-webkit-date-and-time-value,
    input[type="time"]::-webkit-date-and-time-value,
    input[type="datetime-local"]::-webkit-date-and-time-value {
        min-width: 0;
        text-align: left
    }

    .ticket-type-pill,
    .ticket-type-pill label,
    .ticket-type-pill input,
    .ticket-type-pill select,
    .ticket-type-pill button,
    .test-ticket-status-form,
    .cancel-admin-form,
    .cancel-admin-form input,
    .cancel-admin-form select,
    .cancel-admin-form button {
        width: 100%;
        min-width: 0;
        max-width: 100%
    }

    .ticket-type-pill {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px
    }

    .section-title,
    .section-actions,
    .admin-settings-actions {
        min-width: 0;
        width: 100%
    }

    .section-actions,
    .admin-settings-actions,
    .inline-form,
    .table td > form {
        flex-wrap: wrap
    }
}

@media (max-width: 620px) {
    .bb-home-search,
    .bb-events-search {
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 14px !important;
        margin: 18px 0 0 !important;
        border-radius: 8px !important;
        overflow: visible !important
    }

    .bb-home-search label,
    .bb-home-search .bb-search-field,
    .bb-home-search .bb-date-field,
    .bb-home-search .bb-date-range,
    .bb-events-search label,
    .bb-events-date {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 10px 12px !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        gap: 8px !important
    }

    .bb-home-search input,
    .bb-home-search select,
    .bb-home-search .bb-autocomplete,
    .bb-home-search .bb-autocomplete input,
    .bb-events-search input {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important
    }

    .bb-date-range {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important
    }

    .bb-home-search .bb-date-range input {
        height: 44px !important;
        padding-inline: 10px !important
    }

    .bb-date-trigger,
    .bb-events-date .bb-date-trigger {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        justify-content: flex-start !important;
        padding-inline: 12px !important
    }

    .bb-date-trigger span,
    .bb-events-date .bb-date-trigger span,
    .bb-home-search span {
        min-width: 0;
        overflow-wrap: anywhere;
        white-space: normal
    }

    .bb-home-search>button,
    .bb-home-search button[type="submit"],
    .bb-events-search>button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important
    }

    .panel,
    .auth-card,
    .admin-setting-card,
    .bb-admin-modal-card {
        max-width: 100%;
        overflow: hidden
    }
}

@media (max-width: 420px) {
    .filters,
    .bb-home-search,
    .bb-events-search,
    .panel,
    .admin-setting-card {
        padding-inline: 12px !important
    }

    input[type="date"],
    input[type="time"],
    input[type="datetime-local"] {
        padding-inline: 8px;
        font-size: 15px
    }
}
