.tmwp-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.tmwp-admin-grid label{display:grid;gap:6px}.tmwp-form-intro{max-width:900px;margin-bottom:40px}.tmwp-form-intro h2{font-family:var(--tmwp-display,Impact,sans-serif);font-size:clamp(58px,7vw,100px);text-transform:uppercase;line-height:.9;margin:8px 0 18px}.tmwp-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:45px 0}.tmwp-plan{border:1px solid #ccc;padding:36px;display:flex;flex-direction:column;gap:15px}.tmwp-plan h3{font-family:var(--tmwp-display,Impact,sans-serif);font-size:54px;text-transform:uppercase;line-height:1;margin:0}.tmwp-plan>strong{font-size:24px}.tmwp-plan ul{padding-left:18px;min-height:150px}.tmwp-plan--featured{background:#080808;color:#fff}.tmwp-benefit-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:35px 0}.tmwp-benefit-cards article{border-top:2px solid #111;padding:22px 0}.tmwp-benefit-cards strong{font-size:18px}.tmwp-faq{margin-top:55px;border-top:1px solid #bbb}.tmwp-faq details{border-bottom:1px solid #bbb;padding:18px 0}.tmwp-faq summary{cursor:pointer;font-size:20px;font-weight:600}.tmwp-event-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#111,#333)}@media(max-width:760px){.tmwp-admin-grid,.tmwp-plan-grid,.tmwp-benefit-cards{grid-template-columns:1fr}.tmwp-plan ul{min-height:0}}
/* v4.1 membership + reservation forms */
.tmwp-plan>strong{font-family:var(--tmwp-display,Impact,sans-serif);font-size:54px;line-height:1}.tmwp-plan>strong small{font-family:var(--tmwp-ui,Arial,sans-serif);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.tmwp-plan>p:not(.tmwp-kicker){font-size:16px;max-width:440px}.tmwp-plan--featured>strong small{color:#bbb}
.tmwp-reservations-intro{max-width:1100px;margin-bottom:55px}.tmwp-reservations-intro h2{font-family:var(--tmwp-display,Impact,sans-serif);font-size:clamp(64px,8vw,118px);text-transform:uppercase;line-height:.86;letter-spacing:-.035em;margin:8px 0 20px}.tmwp-reservations-intro>p:last-child{font-size:20px;max-width:850px}
.tmwp-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.tmwp-booking-panel{border:1px solid #cfcfcf;padding:clamp(28px,4vw,52px);background:#fff}.tmwp-booking-panel h3{font-family:var(--tmwp-display,Impact,sans-serif);font-size:clamp(44px,5vw,72px);text-transform:uppercase;line-height:.94;margin:8px 0 28px}.tmwp-booking-panel--dark{background:#080808;color:#fff;border-color:#080808}.tmwp-booking-panel--dark .tmwp-form input,.tmwp-booking-panel--dark .tmwp-form select,.tmwp-booking-panel--dark .tmwp-form textarea{background:#111;color:#fff;border-color:#3c3c3c}.tmwp-booking-panel--dark .tmwp-form select option{color:#111;background:#fff}.tmwp-booking-note{margin-top:22px;padding:20px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;font-size:13px;color:#555}.tmwp-booking-form{max-width:none}.tmwp-booking-form input[type="date"],.tmwp-booking-form input[type="time"]{min-height:49px}
@media(max-width:900px){.tmwp-booking-grid{grid-template-columns:1fr}.tmwp-booking-panel{padding:32px 24px}.tmwp-reservations-intro{margin-bottom:36px}}

.tmwp-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.tmwp-form-consent{font-size:11px;color:#777;max-width:860px;margin-top:14px}

/* v4.2.1 public contact */
.tmwp-contact-direct{border-bottom:1px solid #bbb;padding:0 0 26px;margin-bottom:42px}.tmwp-contact-direct p:last-child{margin:0;font-size:22px}.tmwp-contact-direct a{text-decoration:underline;text-underline-offset:5px}
/* v4.4 organizer operations rely on the active Toronto Music Week theme for premium portal presentation. */


/* v1.15.0 — shared Toronto Music Week platform UI primitives */
.tmwp-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.tmwp-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid currentColor;border-radius:0;background:transparent;color:#111;font:600 10px/1 var(--tmwp-ui,Arial,sans-serif);text-transform:uppercase;letter-spacing:.14em;cursor:pointer;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s}.tmwp-btn:hover{transform:translateY(-1px)}.tmwp-btn--dark{background:#111;color:#fff;border-color:#111}.tmwp-btn--dark:hover{background:#242424;border-color:#242424}.tmwp-btn--light{background:#fff;color:#111;border-color:#fff}.tmwp-link,.tmwp-link-light{display:inline-flex;align-items:center;width:max-content;max-width:100%;font-size:9px;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid currentColor;padding-bottom:4px}.tmwp-link-light{color:#fff}
.tmwp-form{display:grid;gap:20px;width:100%;max-width:980px}.tmwp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tmwp-form-stack{display:grid;gap:18px}.tmwp-form label{display:grid;align-content:start;gap:8px;min-width:0;color:#31343a;font-size:9px;font-weight:700;line-height:1.35;text-transform:uppercase;letter-spacing:.12em}.tmwp-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),.tmwp-form select,.tmwp-form textarea{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #c9cdd5;border-radius:0;background:#fff;color:#111;padding:13px 14px;font:500 15px/1.35 var(--tmwp-ui,Arial,sans-serif);text-transform:none;letter-spacing:0;box-shadow:none;outline:none}.tmwp-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),.tmwp-form select{min-height:50px}.tmwp-form textarea{min-height:120px;resize:vertical}.tmwp-form input:focus,.tmwp-form select:focus,.tmwp-form textarea:focus{border-color:#1b346e;box-shadow:0 0 0 2px rgba(49,94,255,.10)}.tmwp-form input::placeholder,.tmwp-form textarea::placeholder{color:#9398a1}.tmwp-form input[type="file"]{padding:8px 10px;background:#f8f8f7}.tmwp-form input[type="file"]::file-selector-button{min-height:34px;margin-right:12px;border:0;background:#111;color:#fff;padding:0 13px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.tmwp-file-field small{font-size:9px;line-height:1.45;letter-spacing:0;text-transform:none;color:#7b7f87;font-weight:500}.tmwp-event-image-preview{display:block;width:min(240px,100%);height:auto;margin-top:5px;border:1px solid #d5d7dc}
.tmwp-gate{padding:clamp(28px,5vw,50px);border:1px solid #d6d6d6;background:#fff;max-width:800px}.tmwp-gate h3{font-family:var(--tmwp-display,Impact,sans-serif);font-size:clamp(38px,5vw,54px);text-transform:uppercase;line-height:.95;margin:10px 0 25px}.tmwp-notice{padding:15px 17px;border:1px solid #aaa;margin-bottom:20px;font-size:13px}.tmwp-notice--success{background:#edf6ee;border-color:#a8c5ad;color:#244f2e}.tmwp-empty{padding:30px 0}.tmwp-empty h3{font-family:var(--tmwp-display,Impact,sans-serif);font-size:40px;text-transform:uppercase;line-height:1;margin:0 0 9px}
.tmwp-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 18px}.tmwp-event-card{position:relative;min-width:0}.tmwp-event-card__image{aspect-ratio:4/5;background:#ddd;overflow:hidden}.tmwp-event-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.tmwp-event-card:hover .tmwp-event-card__image img{transform:scale(1.025)}.tmwp-event-card__info{padding-top:14px}.tmwp-event-card__meta{display:flex;gap:10px;flex-wrap:wrap;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.tmwp-event-card h3{font-family:var(--tmwp-display,Impact,sans-serif);font-size:34px;text-transform:uppercase;line-height:1;margin:8px 0}.tmwp-event-card__venue{font-size:12px;color:#666}.tmwp-event-card__badge{position:absolute;left:12px;top:12px;z-index:4;background:#111;color:#fff;padding:7px 9px;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.tmwp-save{border:1px solid #111;background:#fff;color:#111;padding:9px 12px;text-transform:uppercase;letter-spacing:.12em;font-size:9px;cursor:pointer;margin-top:10px}.tmwp-save.is-saved{background:#111;color:#fff}
.tmwp-venue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 20px}.tmwp-venue-card{min-width:0}.tmwp-venue-card__image{aspect-ratio:4/3;background:#ddd;overflow:hidden}.tmwp-venue-card__image img{width:100%;height:100%;object-fit:cover}.tmwp-venue-card h3{font-family:var(--tmwp-display,Impact,sans-serif);font-size:34px;text-transform:uppercase;line-height:1;margin:10px 0}.tmwp-venue-card p{color:#666}.tmwp-venue-card__meta{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#777}.tmwp-venue-card__actions,.tmwp-venue-directory-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.tmwp-venue-directory-intro{max-width:900px;margin-bottom:34px}
.tmwp-filter-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid #ddd}.tmwp-filter-tabs a{padding:15px 20px 12px 0;margin-right:18px;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.tmwp-filter-tabs a.is-active{font-weight:700;border-bottom:2px solid}.tmwp-filter-selects{display:flex;gap:14px;align-items:flex-end;padding:20px 0 45px;flex-wrap:wrap}.tmwp-filter-selects label{display:grid;gap:5px;font-size:9px;text-transform:uppercase;letter-spacing:.13em}.tmwp-filter-selects select{min-width:210px;padding:11px;background:#fff;border:1px solid #bbb}
.tmwp-message{max-width:75%;margin:10px 0}.tmwp-message span{display:block;background:#fff;padding:12px}.tmwp-message--member{margin-left:auto}.tmwp-message--member span{background:#111;color:#fff}.tmwp-message--staff span{background:#fff}.tmwp-message small{display:block;font-size:9px;color:#777;margin-top:3px}.tmwp-editorial-copy{max-width:880px}.tmwp-editorial-copy h2{font-family:var(--tmwp-display,Impact,sans-serif);font-size:clamp(58px,7vw,100px);text-transform:uppercase;line-height:.9}.tmwp-editorial-copy>p{font-size:20px}
@media(max-width:1100px){.tmwp-event-grid,.tmwp-venue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.tmwp-form-grid{grid-template-columns:1fr}.tmwp-event-grid,.tmwp-venue-grid{grid-template-columns:1fr}.tmwp-filter-selects{align-items:stretch}.tmwp-filter-selects label,.tmwp-filter-selects select{width:100%;min-width:0}.tmwp-message{max-width:88%}}
