/* Container */
#mcb-calendar-app {
    max-width: 820px;
    margin: 2em auto;
    font-family: Arial, sans-serif;
}

/* Loading */
.mcb-loading {
    text-align: center;
    color: #666;
    font-size: 1.2em;
}

/* Nav */
.mcb-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1em;
}

.mcb-nav button {
    background: #e91e63;
    color: #fff;
    border: none;
    padding: .5em 1em;
    border-radius: 4px;
    cursor: pointer;
}

.mcb-nav button:hover {
    background: #c2185b;
}

.mcb-nav div {
    font-size: 1.25em;
    font-weight: bold;
}

/* Calendar */
.mcb-calendar {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2em;
}

.mcb-calendar th,
.mcb-calendar td {
    border: 1px solid #ddd;
    text-align: center;
    padding: .75em 0;
    width: 14.28%;
}

.mcb-calendar th {
    background: #f5f5f5;
    color: #333;
}

.mcb-calendar td.disabled {
    background: #fafafa;
    color: #ccc;
    cursor: not-allowed;
}

.mcb-calendar td.selected {
    background: #e91e63;
    color: #fff;
    font-weight: bold;
}

/* Sessions */
.mcb-session-btns {
    display: flex;
    flex-wrap: wrap;
    gap: .75em;
    margin-bottom: 2em;
}

.mcb-session-btns .mcb-session {
    background: #e91e63;
    color: #fff;
    padding: .75em 1.5em;
    border-radius: 25px;
    cursor: pointer;
    font-weight: bold;
    transition: background .2s;
}

.mcb-session-btns .disabled {
    background: #ccc;
    cursor: not-allowed;
}

.mcb-session-btns .selected {
    background: #ad1457;
}

/* Tickets */
.mcb-selected-summary {
    margin-bottom: 1em;
    font-style: italic;
    color: #444;
}

.mcb-ticket-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .75em 0;
    border-bottom: 1px solid #eee;
}

.mcb-ticket-row:last-child {
    border-bottom: none;
}

.mcb-ticket-row .name {
    flex: 1;
}

.mcb-ticket-row .qty-controls {
    display: flex;
    align-items: center;
    gap: .5em;
}

.mcb-ticket-row .qty-controls button {
    background: #333;
    color: #fff;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
}

.mcb-ticket-row .qty-controls button:disabled {
    background: #aaa;
    cursor: not-allowed;
}

.mcb-ticket-row .qty-controls span.qty {
    min-width: 24px;
    text-align: center;
    font-size: 1em;
}

/* Total & actions */
.mcb-total {
    text-align: right;
    font-size: 1.25em;
    margin: 1em 0;
}

.mcb-actions {
    display: flex;
    gap: 1em;
    margin-bottom: 2em;
}

.mcb-btn-back,
.mcb-btn-submit {
    flex: 1;
    padding: .75em;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em;
    font-weight: bold;
}

.mcb-btn-back {
    background: #f1f1f1;
    color: #333;
}

.mcb-btn-back:hover {
    background: #e0e0e0;
}

.mcb-btn-submit {
    background: #e91e63;
    color: #fff;
}

.mcb-btn-submit:hover {
    background: #c2185b;
}
.mcb-custom-fields-wrap{margin-top:25px;padding:20px;border:1px solid #e5e5e5;background:#fff;border-radius:8px;}
.mcb-custom-fields-title{margin:0 0 15px;}
.mcb-custom-field{margin-bottom:15px;}
.mcb-custom-field label{display:block;font-weight:600;margin-bottom:6px;}
.mcb-custom-field input,.mcb-custom-field select{width:100%;max-width:100%;}
.mcb-custom-fields-errors{margin-top:15px;}
