/* Gerenciamento de vagas 0.2.1.
 * Only our date selector, summary and purchase button are styled.
 * Do not target third-party fields (APF/WAPF), paragraphs, checkboxes or totals.
 */
.accamps-form {
    --accamps-accent: var(--e-global-color-primary, #315f4b);
    --accamps-border: #d6ddd8;
    display: block !important;
    width: 100%;
    clear: both;
}
.accamps-dates, .accamps-dates *, .accamps-summary, .accamps-summary *,
.accamps-submit, .accamps-form-error { box-sizing: border-box; }
.accamps-dates {
    margin: 0 0 1.5rem; padding: 0; border: 0; width: 100%; min-width: 0;
    container-type: inline-size; container-name: accamps-dates-zone;
}
.accamps-dates > legend { float: none; font-size: 1.2em; font-weight: 700; margin-bottom: .65rem; padding: 0; }
.accamps-intro { font-size: .95em; margin: .35rem 0 .85rem; }
.accamps-days { display: grid; grid-template-columns: minmax(0, 1fr); gap: .9rem; }
.accamps-day { border: 1px solid var(--accamps-border); border-radius: .6rem; padding: .95rem 1rem; background: transparent; min-width: 0; }
.accamps-day.accamps-selected { border-color: var(--accamps-accent); box-shadow: 0 0 0 1px var(--accamps-accent); }
.accamps-main-label { display: grid !important; grid-template-columns: 1.25rem minmax(0, 1fr) auto; align-items: start; gap: .7rem; cursor: pointer; width: 100%; }
.accamps-date-title { display: block; font-weight: 650; font-size: 1.08em; line-height: 1.3; overflow-wrap: anywhere; }
.accamps-base-price { white-space: nowrap; font-weight: 650; }
.accamps-day-input, .accamps-extra-input { width: 1.1rem; height: 1.1rem; margin: 0; accent-color: var(--accamps-accent); }
.accamps-day-input:focus-visible, .accamps-extra-input:focus-visible, .accamps-submit:focus-visible { outline: 3px solid var(--accamps-accent); outline-offset: 3px; }
.accamps-stock { margin: .5rem 0 .6rem 1.95rem; font-size: .92em; }
.accamps-extra-label { display: flex !important; align-items: flex-start; gap: .7rem; cursor: pointer; margin-left: 1.95rem; font-size: .95em; }
.accamps-extra-input { flex: 0 0 auto; margin-top: .2rem !important; }
.accamps-extra-label[hidden], .accamps-form-error[hidden] { display: none !important; }
.accamps-unavailable .accamps-main-label, .accamps-extra-label:has(.accamps-extra-input:disabled) { cursor: not-allowed; opacity: .6; }
.accamps-unavailable .accamps-stock { font-weight: 600; }
.accamps-availability-note { margin: 1rem 0 .85rem; font-size: .85em; }
.accamps-summary { width: 100%; padding: 1rem; border: 1px solid var(--accamps-border); border-radius: .6rem; margin: 1rem 0; }
.accamps-summary > p { display: flex; flex-wrap: wrap; gap: .3em; margin: .3rem 0; }
.accamps-summary > p > strong { margin-left: auto; white-space: nowrap; }
.accamps-summary .accamps-total-row { border-top: 1px solid var(--accamps-border); margin-top: .65rem; padding-top: .65rem; font-size: 1.08em; }
.accamps-summary > small { display: block; margin-top: .5rem; font-size: .8em; }
.accamps-form .accamps-submit { float: none !important; display: block; width: 100%; min-height: 3rem; margin: 0; white-space: normal; }
.accamps-form .accamps-submit:disabled { opacity: .55; cursor: not-allowed; }
.accamps-form-error { padding: .85rem; border: 1px solid #a22725; border-radius: .4rem; color: #811c1a; background: #fff7f6; margin-bottom: 1rem; }
@container accamps-dates-zone (min-width: 640px) {
    .accamps-days { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container accamps-dates-zone (min-width: 980px) {
    .accamps-days { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container accamps-dates-zone (min-width: 1320px) {
    .accamps-days { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@supports not (container-type: inline-size) {
    .accamps-days { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
}
@media (max-width: 480px) {
    .accamps-day { padding: .8rem; }
    .accamps-main-label { column-gap: .5rem; grid-template-columns: 1.15rem minmax(0, 1fr); }
    .accamps-base-price { grid-column: 2; }
    .accamps-stock, .accamps-extra-label { margin-left: 1.65rem; }
}
