.mesb-accordion { max-width: 920px; margin: 24px auto; font: inherit; color: inherit; }
.mesb-fair { background: #fff; color: #1d2939; border: 1px solid #d6dce4; border-radius: 12px; margin: 14px 0; overflow: hidden; box-shadow: 0 4px 16px rgba(16,24,40,.035); }
.mesb-fair > summary { list-style: none; cursor: pointer; padding: 22px 24px; display: grid; grid-template-columns: 1fr auto; gap: 5px 16px; align-items: center; }
.mesb-fair > summary::-webkit-details-marker { display: none; }
.mesb-fair > summary:hover { background: #f8fafc; }
.mesb-title { font-size: 1.2rem; font-weight: 720; }
.mesb-meta { grid-column: 1; color: #64748b; font-size: .9rem; }
.mesb-chevron { grid-column: 2; grid-row: 1 / 3; border: solid #475467; border-width: 0 2px 2px 0; display: inline-block; width: 10px; height: 10px; transform: rotate(45deg); transition: transform .15s ease; margin-right: 5px; }
.mesb-fair[open] .mesb-chevron { transform: rotate(225deg); }
.mesb-panel { border-top: 1px solid #e4e7ec; padding: 22px 24px 26px; }
.mesb-form label { display: block; font-weight: 600; font-size: .94rem; }
.mesb-form select, .mesb-form input:not([type="checkbox"]), .mesb-form textarea { box-sizing: border-box; display: block; width: 100%; min-height: 43px; margin-top: 8px; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: #1f2937; font: inherit; }
.mesb-form input:focus-visible, .mesb-form select:focus-visible, .mesb-form textarea:focus-visible, .mesb-slot:focus-visible { outline: 3px solid #93c5fd; outline-offset: 2px; }
.mesb-controls, .mesb-fields { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 17px 22px; }
.mesb-time-title { margin: 24px 0 12px; font-weight: 700; }
.mesb-times { display: flex; flex-wrap: wrap; gap: 9px; min-height: 44px; align-items: center; }
.mesb-slot { appearance: none; border: 1px solid #a9bad1; background: #f8fafc; color: #164d86; padding: 10px 14px; border-radius: 8px; cursor: pointer; font: inherit; font-weight: 650; }
.mesb-slot:hover:not(:disabled) { background: #e8f1ff; }
.mesb-slot[aria-pressed="true"] { background: #164d86; color: #fff; border-color: #164d86; }
.mesb-slot:disabled { opacity: .5; color: #475569; background: #eee; cursor: not-allowed; text-decoration: line-through; }
.mesb-help { margin: 0; color: #64748b; font-size: .94rem; }
.mesb-contact { margin-top: 22px; padding-top: 20px; border-top: 1px solid #e4e7ec; }
.mesb-contact[hidden] { display: none !important; }
.mesb-wide { grid-column: 1 / -1; }
.mesb-consent { display: flex !important; gap: 12px; margin: 22px 0; align-items: flex-start; font-weight: 400 !important; }
.mesb-consent input { flex: 0 0 auto; margin-top: 4px; }
.mesb-submit { border: none; border-radius: 8px; background: #164d86; color: #fff; padding: 13px 20px; font: inherit; font-weight: 700; cursor: pointer; }
.mesb-submit:hover { background: #103a66; }
.mesb-submit:disabled { opacity: .6; cursor: wait; }
.mesb-feedback { margin: 14px 0 0; font-weight: 600; }
.mesb-feedback:empty { display: none; }
.mesb-error { color: #ad1c25; }
.mesb-success { color: #157348; }
.mesb-trap { position: absolute !important; width: 1px; height: 1px; left: -9999px; overflow: hidden; opacity: 0; pointer-events: none; }
@media(max-width: 650px) { .mesb-controls, .mesb-fields { grid-template-columns: 1fr; } .mesb-fair > summary, .mesb-panel { padding: 18px; } .mesb-wide { grid-column: 1; } .mesb-slot { flex: 1 1 115px; } }

.mesb-person { display: flex; gap: 12px; align-items: center; margin-top: 16px; padding: 12px; background: #f8fafc; border-radius: 8px; }
.mesb-person[hidden], .mesb-person-image[hidden] { display: none !important; }
.mesb-person-image { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.mesb-person small { display: block; margin-top: 3px; color: #64748b; }
