/* RBC Events & Ticketing Styles */
:root{--ev-green:#1a4232;--ev-green2:#2d7a60;--ev-gold:#c9954a;--ev-red:#c0392b;--ev-border:#e0e0e0;--ev-radius:10px;--ev-shadow:0 2px 12px rgba(0,0,0,.08);}

/* ── Event listing grid ───────────── */
.rbc-ev-listing{max-width:960px;}
.rbc-ev-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;align-items:center;}
.rbc-ev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;}
@media(max-width:640px){.rbc-ev-grid{grid-template-columns:1fr;}}

/* ── Event card ─────────────────── */
.rbc-ev-card{background:#fff;border-radius:var(--ev-radius);border:1.5px solid var(--ev-border);overflow:hidden;box-shadow:var(--ev-shadow);transition:all .18s;}
.rbc-ev-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,.12);}
.rbc-ev-card-img{display:block;aspect-ratio:16/9;overflow:hidden;position:relative;background:#eee;}
.rbc-ev-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.rbc-ev-card:hover .rbc-ev-card-img img{transform:scale(1.03);}
.rbc-ev-type-badge{position:absolute;top:.6rem;left:.6rem;background:rgba(26,66,50,.85);color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;backdrop-filter:blur(4px);}
.rbc-ev-card-body{display:flex;gap:.75rem;padding:1rem;}
.rbc-ev-card-date-col{text-align:center;min-width:42px;flex-shrink:0;}
.rbc-ev-card-dow{font-size:.68rem;font-weight:700;text-transform:uppercase;color:#888;letter-spacing:.05em;}
.rbc-ev-card-day{font-size:1.5rem;font-weight:700;line-height:1;color:var(--ev-green);}
.rbc-ev-card-mon{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--ev-green2);}
.rbc-ev-card-main{flex:1;min-width:0;}
.rbc-ev-card-cat{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ev-green2);margin-bottom:.2rem;}
.rbc-ev-card-title{font-size:.95rem;font-weight:700;margin:0 0 .35rem;line-height:1.3;}
.rbc-ev-card-title a{color:var(--ev-green);text-decoration:none;}
.rbc-ev-card-title a:hover{color:var(--ev-green2);}
.rbc-ev-card-meta{font-size:.78rem;color:#888;display:flex;flex-direction:column;gap:.15rem;margin-bottom:.6rem;}
.rbc-ev-card-footer{display:flex;justify-content:space-between;align-items:center;}
.rbc-ev-price{font-size:.85rem;font-weight:700;color:var(--ev-green);}
.rbc-ev-btn-sm{font-size:.75rem;padding:.3rem .75rem;border-radius:6px;background:var(--ev-green2);color:#fff;text-decoration:none;font-weight:600;transition:background .15s;}
.rbc-ev-btn-sm:hover{background:var(--ev-green);color:#fff;}

/* ── Ticket widget ──────────────── */
.rbc-ev-ticket-widget{background:#fff;border:1.5px solid var(--ev-border);border-radius:var(--ev-radius);padding:1.5rem;box-shadow:var(--ev-shadow);margin-top:2rem;}
.rbc-ev-widget-header{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--ev-border);}
.rbc-ev-widget-title{font-size:1.05rem;font-weight:700;color:var(--ev-green);margin-bottom:.3rem;}
.rbc-ev-widget-date{font-size:.875rem;color:#555;font-weight:500;}
.rbc-ev-widget-venue{font-size:.82rem;color:#888;margin-top:.2rem;}

/* ── Tier list ──────────────────── */
.rbc-ev-tier{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1.5px solid var(--ev-border);border-radius:8px;margin-bottom:.6rem;transition:border-color .15s;}
.rbc-ev-tier:hover{border-color:#aaa;}
.rbc-ev-tier-unavail{opacity:.55;pointer-events:none;}
.rbc-ev-tier-name{font-weight:700;font-size:.95rem;color:#222;}
.rbc-ev-tier-desc{font-size:.78rem;color:#888;margin-top:.15rem;}
.rbc-ev-tier-urgency{font-size:.75rem;color:var(--ev-gold);font-weight:600;margin-top:.2rem;}
.rbc-ev-tier-price-col{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;}
.rbc-ev-tier-price{font-size:1.05rem;font-weight:700;color:var(--ev-green);}

/* ── Qty control ────────────────── */
.rbc-ev-qty-control{display:flex;align-items:center;gap:.4rem;}
.rbc-ev-qty-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--ev-border);background:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .15s;}
.rbc-ev-qty-btn:hover{border-color:var(--ev-green2);color:var(--ev-green2);}
.rbc-ev-qty-input{width:40px;text-align:center;border:1.5px solid var(--ev-border);border-radius:6px;padding:.25rem;font-size:.9rem;font-weight:600;}

/* ── Order summary ──────────────── */
.rbc-ev-order-summary{border-top:1px solid var(--ev-border);margin-top:1rem;padding-top:1rem;}
.rbc-ev-summary-rows{margin-bottom:.75rem;}
.rbc-ev-summary-row{display:flex;justify-content:space-between;font-size:.875rem;padding:.3rem 0;color:#555;}
.rbc-ev-promo-row{display:flex;gap:.5rem;margin-bottom:.5rem;}
.rbc-ev-promo-msg{font-size:.82rem;margin-bottom:.5rem;}
.rbc-ev-promo-msg.ok{color:var(--ev-green2);}
.rbc-ev-promo-msg.err{color:var(--ev-red);}
.rbc-ev-total-row{display:flex;justify-content:space-between;font-size:1rem;padding:.5rem 0;border-top:1px solid var(--ev-border);margin-bottom:1rem;}
.rbc-ev-total-row strong{color:var(--ev-green);font-size:1.1rem;}

/* ── Checkout form ──────────────── */
.rbc-ev-checkout-form{border-top:1px solid var(--ev-border);padding-top:1.25rem;margin-top:.75rem;}
.rbc-ev-section-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:.75rem;}
.rbc-ev-field{margin-bottom:.85rem;}
.rbc-ev-field label{display:block;font-size:.82rem;font-weight:600;color:#555;margin-bottom:.3rem;}
.rbc-ev-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
@media(max-width:480px){.rbc-ev-field-row{grid-template-columns:1fr;}}
.rbc-ev-input{width:100%;padding:.6rem .85rem;border:1.5px solid var(--ev-border);border-radius:6px;font-size:.9rem;outline:none;transition:border-color .15s;font-family:inherit;box-sizing:border-box;}
.rbc-ev-input:focus{border-color:var(--ev-green2);}
.rbc-ev-stripe-input{padding:.65rem .85rem;border:1.5px solid var(--ev-border);border-radius:6px;background:#fafafa;min-height:42px;}
.rbc-ev-checkout-actions{display:flex;gap:.75rem;align-items:center;margin-top:1rem;}
.rbc-ev-error{background:#fde8e6;color:var(--ev-red);padding:.65rem .9rem;border-radius:6px;font-size:.85rem;margin-top:.75rem;}

/* ── Buttons ────────────────────── */
.rbc-ev-submit-btn{display:inline-flex;align-items:center;gap:.35rem;background:var(--ev-green2);color:#fff;border:none;padding:.7rem 1.4rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .18s;text-decoration:none;}
.rbc-ev-submit-btn:hover{background:var(--ev-green);color:#fff;}
.rbc-ev-submit-btn:disabled{opacity:.5;cursor:not-allowed;}
.rbc-ev-btn-outline{background:transparent;color:var(--ev-green2);border:1.5px solid var(--ev-green2);padding:.65rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .18s;display:inline-flex;align-items:center;text-decoration:none;}
.rbc-ev-btn-outline:hover{background:var(--ev-green2);color:#fff;}

/* ── Success ───────────────────── */
.rbc-ev-success{text-align:center;padding:2rem 1rem;}
.rbc-ev-success-icon{font-size:3rem;margin-bottom:.75rem;}
.rbc-ev-success-title{font-size:1.1rem;font-weight:700;color:var(--ev-green);margin-bottom:.4rem;}
.rbc-ev-success-msg{font-size:.9rem;color:#666;margin-bottom:.5rem;}
.rbc-ev-success-ref{font-family:monospace;background:#eef7f3;color:var(--ev-green);padding:.35rem .85rem;border-radius:4px;display:inline-block;font-size:.9rem;font-weight:700;}

/* ── My tickets ────────────────── */
.rbc-ev-my-tickets{max-width:820px;}
.rbc-ev-order-card{background:#fff;border:1.5px solid var(--ev-border);border-radius:var(--ev-radius);margin-bottom:1rem;overflow:hidden;box-shadow:var(--ev-shadow);}
.rbc-ev-order-card.rbc-ev-past{opacity:.75;}
.rbc-ev-order-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;border-bottom:1px solid var(--ev-border);background:#fafafa;}
.rbc-ev-order-event{display:block;font-weight:700;color:var(--ev-green);font-size:.95rem;}
.rbc-ev-order-meta{display:block;font-size:.78rem;color:#888;margin-top:.2rem;}
.rbc-ev-order-total{font-weight:700;font-size:1rem;color:var(--ev-green);}
.rbc-ev-attendee-list{padding:.75rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;}
.rbc-ev-attendee-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;}
.rbc-ev-tier-badge{background:#eef7f3;color:var(--ev-green);padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;margin-right:.5rem;}
.rbc-ev-ticket-code{font-size:.75rem;color:#aaa;}
.rbc-ev-checked-badge{background:#eef7f3;color:var(--ev-green2);font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:4px;margin-left:.4rem;}

/* ── Check-in scanner ──────────── */
.rbc-ev-checkin-wrap{max-width:680px;}
.rbc-ev-checkin-header{margin-bottom:1.25rem;}
.rbc-ev-checkin-header h2{margin:0 0 .25rem;}
.rbc-ev-checkin-event-select{margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.875rem;}
.rbc-ev-checkin-stats{display:flex;gap:1.5rem;background:#eef7f3;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem;}
.rbc-ev-checkin-stat{text-align:center;}
.rbc-ev-stat-num{display:block;font-size:1.6rem;font-weight:700;color:var(--ev-green);}
.rbc-ev-stat-lbl{display:block;font-size:.72rem;color:#888;}
.rbc-ev-scanner-wrap{margin-bottom:1rem;text-align:center;}
.rbc-ev-checkin-manual{margin-bottom:1rem;}
.rbc-ev-checkin-result{padding:1.25rem;border-radius:8px;font-size:.95rem;font-weight:600;margin-bottom:1rem;}
.rbc-ev-result-ok{background:#eef7f3;color:var(--ev-green);border-left:4px solid var(--ev-green2);}
.rbc-ev-result-warn{background:#fdf5e6;color:#8a6020;border-left:4px solid var(--ev-gold);}
.rbc-ev-result-err{background:#fde8e6;color:var(--ev-red);border-left:4px solid var(--ev-red);}
.rbc-ev-recent-checkins h4{font-size:.9rem;margin-bottom:.5rem;color:#555;}
.rbc-ev-recent-item{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid #f0f0f0;font-size:.82rem;}

/* ── Pagination ────────────────── */
.rbc-ev-pagination{display:flex;justify-content:center;gap:.35rem;margin-top:1.5rem;}
.rbc-ev-pagination .page-numbers{padding:.45rem .9rem;border-radius:6px;border:1.5px solid var(--ev-border);background:#fff;color:#555;text-decoration:none;font-size:.875rem;}
.rbc-ev-pagination .current{background:var(--ev-green2);color:#fff;border-color:var(--ev-green2);}

/* ── Alerts ─────────────────────── */
.rbc-ev-alert-success{background:#eef7f3;border-left:4px solid var(--ev-green2);padding:.9rem 1.1rem;border-radius:0 6px 6px 0;color:var(--ev-green);font-weight:500;margin-bottom:1rem;}
.rbc-ev-alert-error  {background:#fde8e6;border-left:4px solid var(--ev-red);   padding:.9rem 1.1rem;border-radius:0 6px 6px 0;color:var(--ev-red);  font-weight:500;margin-bottom:1rem;}
.rbc-ev-empty{text-align:center;padding:3rem;background:#fff;border-radius:var(--ev-radius);border:1.5px solid var(--ev-border);}
.rbc-ev-empty h3{margin:0 0 .4rem;}
.rbc-ev-empty p{color:#888;margin:0;}
