/* Quota components; service layouts are changed only while a banner is active. */
.quota-banner { min-width: 0; background: var(--color-bg-white); border: 1px dashed var(--color-border-primary); }
.quota-banner[hidden], .quota-banner[data-expires-at]:not(.quota-banner--ready) { display: none; }
.quota-banner__title { margin: -1px -1px 0; padding: 16px 28px; background: var(--color-text-primary); color: var(--color-text-white); font: 700 24px/1.32 var(--font-title), sans-serif; text-transform: uppercase; overflow-wrap: anywhere; }
.quota-banner__body { padding: 20px 28px; display: flex; flex-direction: column; gap: 16px; }
.quota-banner__description { margin: 0; color: #363940; font: 400 16px/1.48 var(--font-main), sans-serif; }
.quota-banner .quota-banner__button { width: 100%; min-width: 0; padding: 16px 30px; text-align: center; justify-self: stretch; font: 700 17px/1.3 var(--font-title), sans-serif; }
.quota-banner__notes { display: flex; flex-direction: column; gap: 4px; font: 400 14px/1.3 var(--font-main), sans-serif; }
.quota-banner__notes p { margin: 0; }
.quota-banner__notes a, .quota-form__consent a { color: inherit; text-decoration: underline; }
.quota-banner__disclaimer { color: var(--color-text-gray); font-size: 12px; }
.service-presentation__wrapper--quota { display: flex; flex-direction: column; gap: 0; }
.service-presentation__wrapper--quota > .service-presentation__button { display: none; }
.service-presentation__wrapper--quota .service-presentation__title { padding: 0; }
.service-presentation__wrapper--quota .quota-banner { margin: 0 0 12px; }
.service-presentation__wrapper--quota .service-presentation__img { margin-bottom: 20px; }
@media (min-width: 768px) {
    .service-presentation__wrapper--quota { padding: 20px 24px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 20px; }
    .service-presentation__wrapper--quota .service-presentation__img { grid-column: 2; grid-row: 1/5; margin: 0; align-self: start; }
    .service-presentation__wrapper--quota .service-presentation__title { grid-column: 1; grid-row: 1; }
    .service-presentation__wrapper--quota .service-presentation__text { grid-column: 1; grid-row: 2; }
    .service-presentation__wrapper--quota .service-presentation__price-wrapper { grid-column: 1; grid-row: 3; }
    .service-presentation__wrapper--quota .service-presentation__button { grid-column: 1; grid-row: 4; }
    .service-presentation__wrapper--quota .quota-banner { grid-column: 1/-1; grid-row: 5; margin: 24px 0 0; }
}
@media (min-width: 993px) {
    .service-presentation__wrapper--quota { padding: 50px; column-gap: 50px; }
}
@media (max-width: 992px) {
    .quota-banner__title { padding: 10px 20px; font-size: 19px; }
    .quota-banner__body { padding: 12px 20px; gap: 8px; }
    .quota-banner__description { font-size: 14px; line-height: 1.39; }
    .quota-banner .quota-banner__button { padding: 12px 8px; font-size: 15px; margin-bottom: 4px; }
    .quota-banner__notes { font-size: 12px; }
}
.quota-dialog.fancybox-content { width: 660px; max-width: 100%; padding: 0; margin: 20px 0; border-top: 8px solid var(--color-bg-blue); border-radius: 4px; background: var(--color-bg-white); box-shadow: 0 12px 36px rgba(48,80,115,.13); overflow: visible; vertical-align: middle; color: var(--color-text-black); font-family: var(--font-main), sans-serif; }
.quota-dialog__content { padding: 50px 44px 56px; }
.quota-dialog .quota-dialog__title { width: 100%; max-width: 500px; margin: 0 auto; color: var(--color-text-primary); font: 700 36px/1.32 var(--font-title), sans-serif; text-align: center; text-transform: uppercase; overflow-wrap: anywhere; }
.quota-dialog .quota-dialog__close { position: absolute; z-index: 2; right: 16px; top: 12px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin: 0; padding: 0; border: 0; background: transparent; color: #000; font: 400 48px/32px Arial, sans-serif; cursor: pointer; }
.quota-dialog button:focus-visible, .quota-banner a:focus-visible { outline: 2px solid var(--color-text-primary); outline-offset: 3px; }
.quota-dialog .quota-form { display: flex; flex-direction: column; gap: 24px; position: relative; }
.quota-form__intro { display: flex; flex-direction: column; gap: 12px; text-align: center; }
.quota-form__intro p { margin: 0; color: var(--color-text-black-third); font: 400 16px/1.48 var(--font-main), sans-serif; }
.quota-form__fields { display: flex; gap: 16px; }
.quota-form__field { display: flex; flex: 1 1 0; min-width: 0; flex-direction: column; gap: 6px; margin: 0; font: 400 14px/1.3 var(--font-main), sans-serif; }
.quota-form__field .wpcf7-form-control-wrap { display: block; width: 100%; }
.quota-dialog input.quota-form__input { width: 100%; height: 56px; min-width: 0; margin: 0; padding: 16px 18px; border: 1px solid transparent; border-radius: 0; background: var(--color-bg-light); color: var(--color-text-black); font: 400 16px/1.48 var(--font-main), sans-serif; }
.quota-dialog input.quota-form__input::placeholder { opacity: 1; color: var(--color-text-gray); }
.quota-dialog input.quota-form__input:focus { outline: 0; border-color: var(--color-text-primary); }
.quota-form__actions { display: flex; flex-direction: column; gap: 18px; }
.quota-form__consent { font: 400 14px/1.3 var(--font-main), sans-serif; }
.quota-form__consent .wpcf7-list-item { display: block; margin: 0; }
.quota-form__consent .wpcf7-form-control-wrap, .quota-form__consent .wpcf7-acceptance { display: block; }
.quota-form__consent-row { display: flex; align-items: flex-start; gap: 10px; }
.quota-form__consent-row .wpcf7-list-item-label { min-width: 0; }
.quota-form__consent input[type=checkbox] { appearance: auto; -webkit-appearance: auto; display: block; flex: 0 0 17px; width: 17px; height: 17px; margin: 0; accent-color: var(--color-bg-blue); cursor: pointer; }
.quota-dialog .quota-dialog__button { display: block; width: 100%; min-width: 0; min-height: 58px; margin: 0; padding: 18px 30px; border: 0; border-radius: 0; background: var(--color-bg-blue); color: var(--color-text-white); font: 700 17px/1.28 var(--font-title), sans-serif; text-align: center; text-transform: uppercase; cursor: pointer; }
.quota-dialog .quota-dialog__button:hover { background: var(--color-text-primary); }
.quota-dialog .quota-dialog__button:disabled { opacity: .6; cursor: default; }
.quota-dialog .submitting .quota-dialog__button { pointer-events: none; opacity: .6; }
.quota-dialog .wpcf7-not-valid-tip { display: block !important; position: static; width: auto; margin-top: 6px; color: #dc3232; font: 400 12px/1.4 var(--font-main), sans-serif; overflow-wrap: anywhere; }
.quota-dialog input.quota-form__input.wpcf7-not-valid { border-color: #dc3232 !important; }
.quota-form__consent .wpcf7-acceptance.wpcf7-not-valid { border: 0 !important; }
.quota-form__consent .wpcf7-acceptance.wpcf7-not-valid input { outline: 1px solid #dc3232; outline-offset: 2px; }
.quota-dialog .quota-form .wpcf7-response-output { margin: 0; padding: 12px; font: 400 14px/1.4 var(--font-main), sans-serif; overflow-wrap: anywhere; }
.quota-dialog .wpcf7-spinner { position: absolute; bottom: -34px; left: calc(50% - 12px); margin: 0; }
.quota-dialog--success .quota-dialog__content { padding: 50px 36px 36px; display: flex; flex-direction: column; align-items: center; gap: 20px; }
.quota-dialog__status { width: 76px; height: 76px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--color-bg-light); }
.quota-dialog__status img { display: block; width: 34px; height: 34px; }
.quota-dialog__message { width: 100%; display: flex; flex-direction: column; gap: 12px; text-align: center; }
.quota-dialog__message p { margin: 0; font: 400 16px/1.6 var(--font-main), sans-serif; }
.quota-dialog__note { width: 100%; display: flex; align-items: flex-start; gap: 14px; padding: 20px; background: var(--color-bg-light); }
.quota-dialog__note img { display: block; flex: 0 0 24px; width: 24px; height: 24px; }
.quota-dialog__note p { min-width: 0; margin: 0; color: var(--color-text-black-third); font: 400 16px/1.6 var(--font-main), sans-serif; }
@media (max-width: 599px) {
    .quota-fancybox .fancybox-slide--html { padding: 12px; }
    .quota-dialog__content { padding: 48px 20px 28px; }
    .quota-dialog .quota-dialog__title { font-size: 26px; }
    .quota-form__fields { flex-direction: column; gap: 16px; }
    .quota-dialog--success .quota-dialog__content { padding: 48px 20px 24px; }
    .quota-dialog__note { padding: 16px; gap: 12px; }
    .quota-dialog .quota-dialog__button { padding: 16px; }
}
