/*
 * The Agreement step of the website's driver sign-up (task 184,
 * partials/driver-agreements-step.blade.php). Drawn inside four different
 * forms (two themes, the /provider/login REGISTER step, /register-driver),
 * so every rule is scoped under .gt-ag and resets what those pages set on
 * bare label / button / span / ul. Colours come from the theme tokens
 * (layout.theme-vars: --site-color, --gt-accent-*), with fallbacks.
 */
/* The summary sits beside the step (it shows on the form), so it carries the tokens too. */
.gt-ag, .gt-ag-summary {
    --gt-ag-danger: #B4231C;
    --gt-ag-danger-bg: #FDECEA;
}
.gt-ag {
    --gt-ag-brand: var(--site-color, #C23F38);
    --gt-ag-on-brand: var(--gt-accent-ink, #FFFFFF);
    --gt-ag-tint: var(--gt-accent-soft, #FBEDEC);
    --gt-ag-deep: var(--gt-accent-deep, #A93129);
    --gt-ag-line: #E5DEDD;
    --gt-ag-ink: #1A1413;
    --gt-ag-soft: #5E5654;
    --gt-ag-surface: #FFFFFF;
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    padding: 4px 0 8px;
    text-align: left;
    color: var(--gt-ag-ink);
    font-size: 15px;
    line-height: 1.45;
}
.gt-ag[hidden], .gt-ag [hidden], .gt-ag-summary[hidden] { display: none !important; }
.gt-ag *, .gt-ag *::before, .gt-ag *::after { box-sizing: border-box; }

.gt-ag .gt-ag-back {
    display: inline-flex; align-items: center; gap: 4px;
    min-height: 44px; min-width: 44px; padding: 0 12px 0 4px; margin: 0 0 8px -4px;
    width: auto; float: none;
    background: transparent; border: 0; border-radius: 10px; box-shadow: none;
    color: var(--gt-ag-ink); font: inherit; font-size: 15px; font-weight: 500; cursor: pointer;
}
.gt-ag .gt-ag-back:hover { background: rgba(0, 0, 0, .05); }
.gt-ag .gt-ag-back:disabled { opacity: .5; cursor: default; }

.gt-ag .gt-ag-title {
    margin: 0 0 6px; padding: 0; border: 0;
    font-size: 24px; line-height: 1.25; font-weight: 700; color: var(--gt-ag-ink); text-align: left; text-transform: none; letter-spacing: 0;
}
.gt-ag .gt-ag-title:focus, .gt-ag .gt-ag-title:focus-visible { outline: none; box-shadow: none; border: 0; }
.gt-ag .gt-ag-subtitle { margin: 0 0 18px; color: var(--gt-ag-soft); font-size: 14.5px; text-align: left; }

.gt-ag .gt-ag-error, .gt-ag-summary {
    margin: 0 0 14px; padding: 10px 12px; border-radius: 10px;
    background: var(--gt-ag-danger-bg); color: var(--gt-ag-danger); font-size: 14px; font-weight: 500; text-align: left;
}
.gt-ag-summary { display: block; }
.gt-ag-summary p { margin: 0; float: none; color: inherit; }
.gt-ag-summary p + p { margin-top: 4px; }

.gt-ag .gt-ag-list { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; }
.gt-ag .gt-ag-item { margin: 0; padding: 0; list-style: none; }
.gt-ag .gt-ag-card {
    display: grid; grid-template-columns: 44px minmax(0, 1fr) 20px; align-items: center; gap: 12px;
    min-height: 68px; padding: 12px 14px;
    border: 1px solid var(--gt-ag-line); border-radius: 12px; background: var(--gt-ag-surface);
    color: var(--gt-ag-ink); text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.gt-ag .gt-ag-card:hover { border-color: var(--gt-ag-brand); box-shadow: 0 1px 6px rgba(0, 0, 0, .06); text-decoration: none; color: var(--gt-ag-ink); }
.gt-ag .gt-ag-card:focus-visible { outline: 3px solid var(--gt-focus, var(--gt-ag-brand)); outline-offset: 2px; }
.gt-ag .gt-ag-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; border-radius: 12px;
    background: var(--gt-ag-tint); color: var(--gt-ag-deep);
    float: none; position: static; margin: 0; padding: 0;
}
.gt-ag .gt-ag-text { display: flex; flex-direction: column; min-width: 0; float: none; margin: 0; padding: 0; }
.gt-ag .gt-ag-card-title { display: block; float: none; font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--gt-ag-ink); margin: 0; padding: 0; }
.gt-ag .gt-ag-card-desc { display: block; float: none; font-size: 13px; font-weight: 400; line-height: 1.35; color: var(--gt-ag-soft); margin: 2px 0 0; padding: 0; overflow-wrap: anywhere; }
.gt-ag .gt-ag-chevron { display: inline-flex; color: var(--gt-ag-soft); float: none; margin: 0; padding: 0; }
.gt-ag .gt-ag-sr {
    position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; float: none;
}

.gt-ag .gt-ag-check {
    display: flex; align-items: flex-start; gap: 12px;
    width: 100%; min-height: 48px; margin: 0 0 10px; padding: 12px 14px;
    border: 1px solid var(--gt-ag-line); border-radius: 12px; background: var(--gt-ag-surface);
    line-height: 1.4; text-align: left; cursor: pointer; float: none; position: static;
    /* The pages style bare labels by id (#login-block label: 600, grey): the consent line keeps its own. */
    font-size: 14.5px !important; font-weight: 400 !important; color: var(--gt-ag-ink) !important; text-transform: none !important;
}
.gt-ag .gt-ag-check span { float: none; display: inline; margin: 0; padding: 0; position: static; }
.gt-ag .gt-ag-check--on { border-color: var(--gt-ag-brand); background: var(--gt-ag-tint); }
.gt-ag .gt-ag-check input[type="checkbox"] {
    flex: none; width: 20px; height: 20px; min-height: 0; margin: 0; padding: 0;
    accent-color: var(--gt-ag-brand); cursor: pointer; position: static; opacity: 1; appearance: auto; -webkit-appearance: checkbox;
}
.gt-ag .gt-ag-check input[type="checkbox"]:focus-visible { outline: 3px solid var(--gt-focus, var(--gt-ag-brand)); outline-offset: 2px; }
.gt-ag .gt-ag-optional { color: var(--gt-ag-soft); }

.gt-ag .gt-ag-submit {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; min-height: 50px; margin: 8px 0 0; padding: 12px 20px;
    border: 0; border-radius: 12px; box-shadow: none;
    background: var(--gt-ag-brand) !important; color: var(--gt-ag-on-brand) !important;
    font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; float: none;
}
.gt-ag .gt-ag-submit:hover:not(:disabled) { filter: brightness(.94); }
.gt-ag .gt-ag-submit:focus-visible { outline: 3px solid var(--gt-focus, var(--gt-ag-brand)); outline-offset: 2px; }
.gt-ag .gt-ag-submit:disabled { opacity: .45; cursor: not-allowed; }
.gt-ag .gt-ag-submit.is-busy { opacity: .7; cursor: progress; }
.gt-ag .gt-ag-submit span { float: none; position: static; margin: 0; padding: 0; color: inherit; }

@media (max-width: 480px) {
    .gt-ag .gt-ag-title { font-size: 22px; }
    .gt-ag .gt-ag-card { padding: 12px; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .gt-ag .gt-ag-card { transition: none; }
}
