/* Bootstrap-aware: theme Bootstrap is used when present; scoped fallbacks avoid requiring a second copy. */
.cetl-poll{max-width:100%;line-height:1.55}.cetl-poll .form-control{display:block;width:100%;max-width:440px;min-height:42px;padding:.55rem .75rem;border:1px solid #adb5bd;border-radius:.375rem;background:#fff;color:#212529;font:inherit;box-sizing:border-box}.cetl-poll .btn{display:inline-block;padding:.5rem .9rem;border:1px solid transparent;border-radius:.375rem;font:inherit;line-height:1.5;text-decoration:none;cursor:pointer}.cetl-poll .btn-primary{color:#fff;background:#0d6efd;border-color:#0d6efd}.cetl-poll .btn-outline-secondary{color:#495057;border-color:#6c757d;background:transparent}.cetl-poll .btn-outline-primary{color:#0d6efd;border-color:#0d6efd;background:transparent}.cetl-poll .btn-sm{padding:.3rem .5rem;font-size:.875rem}.cetl-poll .btn:focus-visible,.cetl-poll input:focus-visible{outline:3px solid #86b7fe;outline-offset:2px}.cetl-poll fieldset{border:0;padding:0;margin:1.25rem 0}.cetl-poll legend{font-weight:600;margin-bottom:1rem}.cetl-poll .card{border:1px solid #dee2e6;border-radius:.5rem;background:transparent}.cetl-poll .card-body{padding:1rem}.cetl-slot{padding:1rem;margin-bottom:.8rem}.cetl-choices{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.75rem}.cetl-choice{display:inline-flex;gap:.5rem;align-items:center;min-height:44px;cursor:pointer;border:1px solid #ced4da;border-radius:.4rem;padding:.35rem .75rem}.cetl-choice:has(input:checked){border-color:#0d6efd;background:rgba(13,110,253,.09)}.cetl-choice input{margin:0}.cetl-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.cetl-final{padding:1rem;border-left:4px solid #198754;background:#e8f5ed}.cetl-success{padding:.75rem;background:#e0f2e6}.cetl-scroll{max-width:100%;overflow-x:auto}.cetl-matrix{border-collapse:collapse;min-width:100%;font-size:.9rem}.cetl-matrix caption{text-align:left;font-weight:600;padding:.5rem 0}.cetl-matrix th,.cetl-matrix td{padding:.65rem;border:1px solid #dee2e6;text-align:left;min-width:95px}.cetl-matrix .cetl-yes{background:#e0f2e6}.cetl-matrix .cetl-no{background:#fbe5e5}.cetl-matrix .cetl-maybe{background:#fff4ce}.cetl-public-calendar{max-width:500px;margin-bottom:20px}.cetl-calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.cetl-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.cetl-calendar-grid>span{padding:6px 0;font-size:.85em}.cetl-calendar-grid button{min-height:42px;min-width:0;padding:4px}.cetl-calendar-grid button:disabled{border-color:transparent;background:transparent;color:#888;cursor:default}.cetl-calendar-grid button.cetl-selected{color:#fff}.cetl-slot[hidden]{display:none}@media(max-width:480px){.cetl-calendar-nav{gap:5px}.cetl-calendar-grid{gap:2px}.cetl-calendar-grid button{font-size:.85rem;padding:2px}.cetl-choice{flex:1;justify-content:center}}

/* Accessible Bootstrap-style segmented availability selector. */
.cetl-poll .cetl-choices.btn-group{display:inline-flex;flex-wrap:nowrap;gap:0;max-width:100%;margin-top:.8rem;vertical-align:middle}
.cetl-poll .cetl-choice-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0!important}
.cetl-poll .cetl-choice-btn{display:inline-flex;align-items:center;justify-content:center;min-width:82px;min-height:44px;margin:0!important;border:1px solid #6c757d;border-radius:0;cursor:pointer;background:transparent;color:inherit;box-sizing:border-box}
.cetl-poll .cetl-choice-btn:first-of-type{border-radius:.375rem 0 0 .375rem}
.cetl-poll .cetl-choice-btn:last-of-type{border-radius:0 .375rem .375rem 0}
.cetl-poll .cetl-choice-btn + .cetl-choice-input + .cetl-choice-btn{border-left:0}
.cetl-poll .cetl-choice-input:checked + .cetl-choice-btn{background:#495057;color:#fff;border-color:#495057;box-shadow:inset 0 0 0 1px #495057}
.cetl-poll .cetl-choice-input:checked + .cetl-choice-yes{background:#198754;border-color:#198754;color:#fff}
.cetl-poll .cetl-choice-input:checked + .cetl-choice-maybe{background:#856404;border-color:#856404;color:#fff}
.cetl-poll .cetl-choice-input:checked + .cetl-choice-no{background:#b02a37;border-color:#b02a37;color:#fff}
.cetl-poll .cetl-choice-input:focus-visible + .cetl-choice-btn{outline:3px solid #86b7fe;outline-offset:3px;position:relative;z-index:1}
@media(max-width:480px){.cetl-poll .cetl-choices.btn-group{display:flex;width:100%}.cetl-poll .cetl-choice-btn{flex:1;min-width:0}}

.cetl-edit-link{margin:1rem 0;padding:1rem;border-radius:.4rem}.cetl-edit-link-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem}.cetl-edit-link-controls .form-control{flex:1 1 260px;max-width:none;min-width:0}.cetl-edit-link-controls .btn{min-height:42px}.cetl-edit-link label{display:block;font-weight:600}

/* Weekly response layout (v1.8) */
.cetl-poll .cetl-availability-fieldset{margin-top:2rem}
.cetl-poll .cetl-timezone-note{color:#606b75;font-size:.9rem;margin:.4rem 0 1rem}
.cetl-poll .cetl-weekly-calendar{border:1px solid #d7dce0;border-radius:.55rem;padding:1rem;margin:1rem 0;background:#fff}
.cetl-poll .cetl-week-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.cetl-poll .cetl-week-nav strong{font-size:1.1rem}
.cetl-poll .cetl-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}
.cetl-poll .cetl-week-day{min-width:0;border:1px solid #e0e2e5;border-radius:.4rem;padding:.45rem;background:#fafbfc}
.cetl-poll .cetl-week-day h4{font-size:.9rem;font-weight:700;margin:0 0 .6rem;padding-bottom:.4rem;border-bottom:1px solid #e0e2e5}
.cetl-poll .cetl-day-empty{color:#777;font-size:.8rem}
.cetl-poll .cetl-week-day .cetl-slot{padding:.5rem .25rem;margin:0 0 .45rem;background:#fff;border:1px solid #d9dee2;border-radius:.3rem}
.cetl-poll .cetl-week-day .cetl-slot strong{display:block;font-size:.8rem;line-height:1.4;margin-bottom:.5rem}
.cetl-poll .cetl-week-day .cetl-choices.btn-group{display:flex;width:100%;margin:0}
.cetl-poll .cetl-week-day .cetl-choice-btn{flex:1;min-width:0;min-height:38px;padding:.25rem .05rem;font-size:.72rem}
.cetl-poll .cetl-slot-source{display:none}
.cetl-poll .cetl-submit-area{margin:1.25rem 0 2.5rem;padding-top:.5rem}
.cetl-poll .cetl-submit-area p{font-weight:600;margin:0 0 .8rem}
.cetl-poll .cetl-results-section{margin-top:2.5rem;padding-top:1.5rem;border-top:2px solid #e3e5e8}
.cetl-poll .cetl-results-section summary{font-size:1.35rem;font-weight:650;cursor:pointer;padding:.5rem 0}
.cetl-poll .cetl-results-section details[open] summary{margin-bottom:1rem}
.cetl-poll .cetl-matrix th,.cetl-poll .cetl-matrix td{min-width:110px;vertical-align:middle}
@media(max-width:1100px){.cetl-poll .cetl-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:680px){.cetl-poll .cetl-week-grid{grid-template-columns:1fr}.cetl-poll .cetl-week-day{padding:.75rem}.cetl-poll .cetl-week-day .cetl-slot strong{font-size:1rem}.cetl-poll .cetl-week-day .cetl-choice-btn{font-size:.9rem;min-height:44px}.cetl-poll .cetl-week-nav{gap:.5rem}.cetl-poll .cetl-week-nav strong{order:-1;flex:1 0 100%;text-align:center}}

/* v1.9: Responsive weekly cards sized for the actual content column, not the viewport. */
.cetl-poll .cetl-weekly-calendar{container-type:inline-size}
.cetl-poll .cetl-week-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.cetl-poll .cetl-week-day{padding:.75rem}
.cetl-poll .cetl-week-day .cetl-slot{padding:.7rem;margin-bottom:.5rem}
.cetl-poll .cetl-week-day .cetl-slot strong{font-size:.9rem;line-height:1.45}
.cetl-poll .cetl-week-day .cetl-choices.btn-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%}
.cetl-poll .cetl-week-day .cetl-choice-btn{display:flex;width:100%;min-width:0;min-height:44px;padding:.45rem .25rem;font-size:.875rem;line-height:1.2;white-space:nowrap}
.cetl-poll .cetl-week-day .cetl-choice-input:checked + .cetl-choice-btn{position:relative;z-index:1}
@container (min-width: 760px){.cetl-poll .cetl-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container (min-width: 1120px){.cetl-poll .cetl-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@container (max-width: 470px){.cetl-poll .cetl-week-grid{grid-template-columns:1fr}}
/* A matching card surface for the participant results. */
.cetl-poll .cetl-results-section{margin-top:2rem;padding:1.25rem;border:1px solid #d7dce0;border-radius:.55rem;background:#fff}
.cetl-poll .cetl-results-section summary{padding:.15rem 0;font-size:1.2rem;line-height:1.4}
.cetl-poll .cetl-results-section details[open] summary{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid #e0e2e5}
.cetl-poll .cetl-results-section .cetl-scroll{max-width:100%;overflow-x:auto;border:1px solid #dee2e6;border-radius:.4rem}
.cetl-poll .cetl-results-section .cetl-matrix{margin:0;min-width:640px}
.cetl-poll .cetl-results-section .cetl-matrix th,.cetl-poll .cetl-results-section .cetl-matrix td{padding:.75rem;min-width:110px;overflow-wrap:normal}
.cetl-poll .cetl-results-section .cetl-matrix caption{padding:.7rem .25rem}
@media(max-width:480px){.cetl-poll .cetl-results-section{padding:.9rem}}

/* v2.0: Expand weekly calendar when the theme supplies a full-width content area. */
@container (min-width: 1380px) {
  .cetl-poll .cetl-week-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:.5rem; }
  .cetl-poll .cetl-week-day { padding:.5rem; }
  .cetl-poll .cetl-week-day .cetl-choice-btn { font-size:.8rem; padding:.4rem .1rem; }
}

/* v2.1: Preserve the rounded outer corners of segmented controls. */
.cetl-poll .cetl-choices.btn-group .cetl-choice-btn.cetl-choice-yes { border-radius:.375rem 0 0 .375rem !important; }
.cetl-poll .cetl-choices.btn-group .cetl-choice-btn.cetl-choice-no { border-radius:0 .375rem .375rem 0 !important; }
.cetl-poll .cetl-choices.btn-group .cetl-choice-btn.cetl-choice-maybe { border-radius:0 !important; }
/* Keep a readable seven-day row, with local horizontal scrolling when needed. */
.cetl-poll.cetl-single-week-row .cetl-week-grid-scroll { max-width:100%; overflow-x:auto; padding-bottom:.4rem; }
.cetl-poll.cetl-single-week-row .cetl-week-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)) !important; min-width:1085px; gap:.5rem; }
.cetl-poll.cetl-single-week-row .cetl-week-day { padding:.5rem; }
.cetl-poll.cetl-single-week-row .cetl-week-day .cetl-choice-btn { font-size:.8rem; min-height:44px; padding:.35rem .1rem; }
.cetl-poll .cetl-week-grid-scroll:focus-visible { outline:2px solid #0a58ca; outline-offset:2px; }

/* v2.2: Compact single-button availability choices. */
.cetl-poll .cetl-cycle-control { display:flex; width:100%; }
.cetl-poll .cetl-cycle-button { display:block; width:100%; min-height:44px; border-radius:.45rem !important; border:1px solid #6c757d; font-size:.9rem; font-weight:650; padding:.4rem .35rem; text-align:center; white-space:normal; }
.cetl-poll .cetl-cycle-button[data-state="unset"] { background:#f1f3f5; color:#343a40; }
.cetl-poll .cetl-cycle-button[data-state="yes"] { background:#23774f; color:#fff; border-color:#23774f; }
.cetl-poll .cetl-cycle-button[data-state="no"] { background:#a72838; color:#fff; border-color:#a72838; }
.cetl-poll .cetl-cycle-button[data-state="maybe"] { background:#896507; color:#fff; border-color:#896507; }
.cetl-poll .cetl-cycle-control .cetl-choice-input { display:none !important; }
.cetl-poll .cetl-submit-row { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem 1rem; }
.cetl-poll .cetl-save-feedback { font-size:.95rem; color:#23774f; font-weight:600; }
.cetl-poll .cetl-week-day .cetl-cycle-button { font-size:.85rem; }

/* v2.3 compact introduction and submission feedback */
.cetl-poll .cetl-poll-details{margin:.4rem 0 1rem}
.cetl-poll .cetl-account-compact{margin:.6rem 0;font-size:.95rem}
.cetl-poll .cetl-poll-instructions{padding:.65rem .85rem;margin:.5rem 0 1.1rem;border-left:3px solid #0c5366;background:#eef7f9;border-radius:.25rem;line-height:1.55}
.cetl-poll .cetl-submit-row{scroll-margin-top:5rem}
.cetl-poll .cetl-save-feedback{display:block;flex:1 1 240px;min-width:0}
.cetl-poll .cetl-save-confirmed{display:inline-block;color:#23774f;font-weight:650}
.cetl-poll .cetl-edit-link{margin-top:.65rem;color:#212529;font-weight:400}
.cetl-poll .cetl-edit-link p{margin:0 0 .5rem}
.cetl-poll .cetl-edit-link-controls{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.3rem}
.cetl-poll .cetl-edit-link-controls input{flex:1 1 220px;min-width:0}
