/* Vibe n Tide Research Gate: scoped to Age Gate, leaving Divi and the shop unchanged. */
.age-gate__wrapper,
.age-gate-wrapper {
    --ag-form-max-width: 560px;
    --ag-form-radius: 24px;
    --ag-form-padding: 32px;
    --ag-form-background: #fff;
    --ag-text-color: #142744;
    --ag-button-color-background: #1959ff;
    --ag-button-color-hover: #1045d2;
    --ag-button-color-text: #fff;
    --ag-button-color-text-hover: #fff;
    --ag-form-z-index: 2147483000;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    overscroll-behavior: contain;
}
.age-gate__wrapper .age-gate,
.age-gate-wrapper .age-gate {
    border: 1px solid #dce5f4;
    box-shadow: 0 28px 90px rgba(0, 10, 35, .35);
    scrollbar-width: thin;
    scrollbar-color: #b4c7eb transparent;
}
.age-gate__wrapper .age-gate__form,
.age-gate-wrapper .age-gate-form {
    height: auto;
    display: block;
}
.age-gate__wrapper .age-gate__heading,
.age-gate-wrapper .age-gate-heading {
    margin: 0 auto 20px;
    text-align: center;
}
.age-gate__wrapper .age-gate__heading img,
.age-gate-wrapper .age-gate-heading img {
    display: block;
    height: auto;
    width: 230px;
    max-width: 100%;
    margin: 0 auto;
}
.age-gate__wrapper .age-gate__headline,
.age-gate-wrapper .age-gate-headline {
    color: #193766;
    font-size: 13px;
    font-weight: 750;
    letter-spacing: .16em;
    line-height: 1.5;
    margin: 0 0 12px;
    text-transform: uppercase;
}
.age-gate__wrapper .age-gate__subheadline,
.age-gate-wrapper .age-gate-subheadline {
    color: #52627b;
    font-size: 16px;
    line-height: 1.5;
    margin: 0 0 22px;
    padding: 0;
}
.age-gate .vnt-gate-acknowledgements {
    border: 0;
    margin: 0 0 18px;
    min-width: 0;
    padding: 0;
    width: 100%;
}
.age-gate .vnt-gate-check {
    align-items: flex-start;
    background: #f5f8ff;
    border: 1px solid #bacbec;
    border-radius: 12px;
    color: #142744;
    cursor: pointer;
    display: flex;
    font-size: 16px;
    gap: 12px;
    line-height: 1.5;
    margin: 0 0 12px;
    min-height: 56px;
    padding: 15px;
    text-align: left;
    transition: border-color .16s ease, box-shadow .16s ease;
}
.age-gate .vnt-gate-check:last-of-type { margin-bottom: 0; }
.age-gate .vnt-gate-check:hover { border-color: #1959ff; }
.age-gate .vnt-gate-check:focus-within {
    border-color: #1959ff;
    box-shadow: 0 0 0 3px rgba(25, 89, 255, .2);
}
.age-gate .vnt-gate-check input[type="checkbox"] {
    accent-color: #1959ff;
    appearance: auto;
    flex: 0 0 auto;
    height: 21px;
    margin: 2px 0 0;
    width: 21px;
}
.age-gate .vnt-gate-check a {
    color: #154dcc;
    font-weight: 650;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.age-gate .vnt-gate-check a:focus-visible,
.age-gate .vnt-gate-leave:focus-visible {
    border-radius: 3px;
    outline: 3px solid #1959ff;
    outline-offset: 3px;
}
.age-gate__wrapper .age-gate__challenge,
.age-gate-wrapper .age-gate-challenge { display: none; }
.age-gate__wrapper .age-gate__form-section,
.age-gate-wrapper .age-gate-form-section {
    border: 0;
    margin: 0;
    padding: 0;
    width: 100%;
}
.age-gate__wrapper .age-gate__buttons,
.age-gate-wrapper .age-gate-buttons {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}
.age-gate__wrapper .age-gate__submit--yes,
.age-gate-wrapper .age-gate-submit-yes {
    border: 0;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 700;
    min-height: 50px;
    order: 0;
    padding: 12px 20px;
    width: 100%;
}
.age-gate__wrapper .age-gate__submit--yes:focus-visible,
.age-gate-wrapper .age-gate-submit-yes:focus-visible {
    outline: 3px solid #1959ff;
    outline-offset: 3px;
}
.age-gate .vnt-gate-submit--disabled,
.age-gate__wrapper .age-gate__submit--yes:disabled {
    background: #dce4f1;
    color: #52627b;
    cursor: not-allowed;
    opacity: 1;
}
.age-gate .vnt-gate-leave {
    align-items: center;
    background: none;
    color: #52627b;
    display: flex;
    font-size: 14px;
    font-weight: 500;
    justify-content: center;
    min-height: 44px;
    order: 1;
    padding: 9px;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.age-gate .vnt-gate-leave:hover { color: #142744; }
.age-gate .age-gate__errors,
.age-gate .age-gate-errors {
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
}
@media (max-width: 480px) {
    .age-gate__wrapper,
    .age-gate-wrapper {
        --ag-wrapper-padding: 12px;
        --ag-form-padding: 22px 18px;
        --ag-form-radius: 18px;
    }
    .age-gate__wrapper .age-gate__heading img,
    .age-gate-wrapper .age-gate-heading img { width: 205px; }
    .age-gate .vnt-gate-check { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .age-gate .vnt-gate-check { transition: none; }
}
