.mccabes-ticket-form { margin:0; max-width:100%; text-align:left; }
.mccabes-ticket-controls { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; }
.mccabes-ticket-quantity label { display:block; margin-bottom:5px; color:#2b211b; font-size:14px; }
.mccabes-ticket-form .quantity { margin:0; }
.mccabes-ticket-form .quantity input.qty { box-sizing:border-box; width:80px; min-height:48px; margin:0; padding:8px; border:1px solid #786a5a; border-radius:4px; background:#fff; color:#2b211b; font:18px Georgia,serif; text-align:center; }
.mccabes-ticket-form .mccabes-ticket-submit { min-height:48px; padding:12px 22px; border:1px solid #00558c; border-radius:4px; background:#00558c; color:#fff; font-family:inherit; font-size:18px; font-weight:600; line-height:1.3; cursor:pointer; }
.mccabes-ticket-form .mccabes-ticket-submit:hover { background:#003e66; border-color:#003e66; }
.mccabes-ticket-form :focus-visible { outline:3px solid #00558c; outline-offset:3px; }
.mccabes-ticket-form button:disabled { opacity:.65; cursor:wait; }
.mccabes-ticket-status { max-width:32em; font-size:14px; color:#2b211b; }
.mccabes-ticket-status:not(:empty) { margin-top:10px; }
.mccabes-ticket-form a { color:#00558c; text-decoration:underline; }
.mccabes-ticket-cart[hidden] { display:none!important; }
/* Accessible quantity stepper; native number input remains the no-JS fallback. */
.mccabes-ticket-stepper { display:inline-flex; align-items:stretch; max-width:100%; }
.mccabes-ticket-form .mccabes-ticket-stepper input.qty { width:56px; min-width:0; border-radius:0; border-left:0; border-right:0; appearance:textfield; -moz-appearance:textfield; }
.mccabes-ticket-stepper input::-webkit-inner-spin-button, .mccabes-ticket-stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.mccabes-ticket-form .mccabes-ticket-stepper button { box-sizing:border-box; width:48px; min-width:48px; height:48px; padding:0; margin:0; border:1px solid #786a5a; background:#fff; color:#00558c; font:24px/1 Arial,sans-serif; cursor:pointer; }
.mccabes-ticket-form .mccabes-ticket-stepper button:first-child { border-radius:4px 0 0 4px; }
.mccabes-ticket-form .mccabes-ticket-stepper button:last-child { border-radius:0 4px 4px 0; }
.mccabes-ticket-form .mccabes-ticket-stepper button:hover:not(:disabled) { background:#f7f1e6; color:#003e66; }
.mccabes-ticket-form .mccabes-ticket-stepper button:disabled { opacity:.45; cursor:default; }
/* Scope to the existing Featured Show button group only. */
.kb-buttons-wrap.mccabes-featured-actions { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:flex-start; gap:12px; }
.mccabes-featured-actions > .mccabes-ticket-form { flex:0 1 auto; margin:0; }
.mccabes-featured-actions > :not(.mccabes-ticket-form) { align-self:flex-start; margin-top:26px; }
.mccabes-ticket-quantity label { line-height:21px; }
@media (max-width:600px) {
    .kb-buttons-wrap.mccabes-featured-actions { display:flex; flex-direction:column; align-items:stretch; }
    .mccabes-featured-actions > .mccabes-ticket-form { width:100%; }
    .mccabes-ticket-controls { flex-direction:column; align-items:stretch; }
    .mccabes-ticket-form .mccabes-ticket-submit { width:100%; }
    .mccabes-featured-actions > :not(.mccabes-ticket-form) { margin-top:0; align-self:flex-start; }
}

/* 0.1.7: purchase feedback and next-step link. */
.mccabes-ticket-form .mccabes-ticket-status { font-size:14px; line-height:1.45; margin-bottom:0; }
.mccabes-ticket-form .mccabes-ticket-status:not(:empty) { margin-top:12px; }
.mccabes-ticket-form a.mccabes-ticket-cart { display:inline-flex; box-sizing:border-box; align-items:center; justify-content:center; min-height:48px; margin-top:10px; padding:12px 22px; border:2px solid #00558c; border-radius:4px; background:transparent; color:#00558c; font-size:18px; font-weight:600; line-height:1.3; text-decoration:none; text-align:center; }
.mccabes-ticket-form a.mccabes-ticket-cart:hover { background:#00558c; color:#fff; }
.mccabes-ticket-price .mccabes-ticket-fee-note { font-size:14px!important; line-height:1.4!important; margin-top:4px; }
@media (max-width:600px) {
 .mccabes-ticket-form a.mccabes-ticket-cart { width:100%; }
}

/* Featured date badge: below photo, alongside title and full date. */
.mccabes-featured-calendar > .mccabes-calendar-layout { display:grid; grid-template-columns:56px minmax(0,1fr); column-gap:16px; align-items:start; }
.mccabes-calendar-layout > * { grid-column:1 / -1; min-width:0; }
.mccabes-calendar-layout > .mccabes-calendar-badge { grid-column:1; grid-row:1 / 3; display:flex; flex-direction:column; align-items:center; justify-content:center; box-sizing:border-box; width:56px; min-height:64px; padding:7px 4px; border:1px solid #a99a83; border-radius:5px; background:#fff; color:#2b211b; }
.mccabes-calendar-month { font:600 12px/1.3 Arial,sans-serif; letter-spacing:.04em; }
.mccabes-calendar-day { font:30px/1.1 Georgia,serif; }
.mccabes-calendar-layout > .mccabes-event-title { grid-column:2; grid-row:1; }
.mccabes-calendar-layout > .mccabes-event-details { grid-column:2; grid-row:2; }
@media (max-width:360px) {
 .mccabes-featured-calendar > .mccabes-calendar-layout { column-gap:10px; grid-template-columns:48px minmax(0,1fr); }
 .mccabes-calendar-layout > .mccabes-calendar-badge { width:48px; }
}

/* Upcoming Concert card 2616. */
.kb-buttons-wrap.mccabes-upcoming-actions { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
.mccabes-upcoming-actions .mccabes-ticket-controls { flex-direction:column; align-items:stretch; }
.mccabes-upcoming-actions .mccabes-ticket-submit { width:100%; }


.mccabes-upcoming-calendar > .mccabes-calendar-layout { display:grid; grid-template-columns:56px minmax(0,1fr); gap:8px 16px; align-items:start; }
.mccabes-calendar-layout > .mccabes-event-title { grid-column:2; grid-row:1; }
.mccabes-upcoming-calendar > .mccabes-calendar-layout > .mccabes-event-details { grid-column:2; grid-row:2; margin:0; }

/* Dynamic display only: ordinary card styling remains in Kadence. */
.mccabes-calendar-weekday { font:12px/1.3 Arial,sans-serif; }
.mccabes-ticket-unavailable:disabled { min-height:48px; padding:12px 22px; border:1px solid #b8b8b8; border-radius:4px; background:#e4e4e4; color:#555; font-family:inherit; font-size:18px; font-weight:600; line-height:1.3; cursor:not-allowed; opacity:1; }
.mccabes-screen-reader { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* 0.1.11: matching available/sold-out purchase footprints. */
.kb-buttons-wrap.mccabes-upcoming-actions { gap:6px; }
.mccabes-upcoming-actions > .mccabes-ticket-form,
.mccabes-upcoming-actions > .mccabes-ticket-unavailable-wrap { width:100%; margin:0!important; padding:0; }
.mccabes-upcoming-actions .mccabes-ticket-controls { display:flex; flex-direction:row; flex-wrap:wrap; align-items:flex-end; gap:10px; }
.mccabes-upcoming-actions .mccabes-ticket-quantity,
.mccabes-upcoming-actions .mccabes-ticket-slot { flex:0 0 152px; min-height:74px; }
.mccabes-upcoming-actions .mccabes-ticket-slot { visibility:hidden; }
.mccabes-upcoming-actions .mccabes-ticket-submit,
.mccabes-upcoming-actions .mccabes-ticket-unavailable { box-sizing:border-box; flex:1 0 112px; width:auto; min-height:48px; margin:0; padding:12px 10px; font-size:16px; white-space:nowrap; }
.mccabes-upcoming-actions .mccabes-ticket-quantity label { margin:0 0 5px; line-height:21px; }
.mccabes-upcoming-actions .mccabes-ticket-status:empty { display:none; }
/* Featured sold-out fallback uses the same reserved selector space. */
.mccabes-featured-actions .mccabes-ticket-slot { display:block; width:152px; height:74px; visibility:hidden; }

/* 0.1.18: fee note remains small regardless of parent price typography or block ID. */
body small.mccabes-ticket-fee-note { display:block!important; font-size:14px!important; font-weight:400!important; line-height:1.4!important; letter-spacing:normal!important; margin-top:4px; }

/* Stable photo-fill roles; replaces the obsolete ID-specific inline card rules. */
@media (min-width:768px) {
 .wp-block-kadence-column.mccabes-card-photo { align-self:stretch!important; min-height:160px; }
 .mccabes-card-photo > .kt-inside-inner-col { position:relative; height:100%; min-height:160px; }
 .mccabes-card-photo .mccabes-card-image { position:absolute; inset:0; height:100%; width:100%; margin:0!important; }
 .mccabes-card-image > a.kb-advanced-image-link,
 .mccabes-card-image .kb-is-ratio-image { display:block; width:100%; height:100%!important; padding-bottom:0!important; aspect-ratio:auto!important; }
 .mccabes-card-image .kb-is-ratio-image { overflow:hidden; border-radius:8px 0 0 8px; }
 .mccabes-card-image img.kb-img { width:100%!important; height:100%!important; object-fit:cover; }
}
@media (max-width:767px) {
 .mccabes-card-image, .mccabes-card-image .kb-is-ratio-image, .mccabes-card-image img.kb-img { border-radius:8px 8px 0 0!important; }
}
