/* BOM JESUS NA POSSE — Design system V9
   Complemento visual da V8. Não modifica lógica de reservas ou pagamentos.
   Cores e logotipos originais do kit visual enviados pelo organizador. */
:root {
  --brand-blue:#09265f;
  --brand-red:#d92032;
  --brand-green:#008d4a;
  --brand-yellow:#ffdf00;
  --ink:#142642;
  --muted:#64748b;
  --border:#dfe8f1;
  --bg:#f5f8fd;
  --surface:#fff;
  --shadow:0 10px 34px rgba(10,39,89,.055);
  --radius-card:22px;
  --radius-button:13px;
  --radius-input:12px;
}
html {scroll-padding-top:100px;}
body {background:var(--bg);color:var(--ink);}
main.container {width:min(1170px,calc(100% - 40px));}
.site-inner main.container {padding-top:10px;}
::selection {background:#ffe16c;color:#09265f;}
h1,h2,h3 {text-wrap:balance;}
h1 {font-weight:900;letter-spacing:-.05em;}
h2 {font-weight:850;}
:focus-visible {outline:3px solid #f1b62a!important;outline-offset:3px;}
.skip-link {position:fixed;left:16px;top:-90px;z-index:9999;background:#09265f;color:white;padding:13px 18px;border-radius:12px;font-weight:800;}
.skip-link:focus {top:12px;color:#fff;}
.header {box-shadow:0 3px 18px rgba(13,40,82,.04);}
.header-inner {min-height:82px;}
.header nav a {font-weight:750;transition:color .15s ease,background .15s ease;}
.header nav a:hover {text-decoration:none;color:var(--brand-red);}
.header nav a.nav-recovery {border-radius:12px;background:var(--brand-blue);}
.header nav a.nav-admin {border-radius:12px;background:var(--brand-green);}
.header nav a.nav-recovery:hover,.header nav a.nav-admin:hover {color:#fff;filter:brightness(.94);}
.btn {min-height:46px;padding:12px 19px;border-radius:13px;box-shadow:none;font-size:13px;letter-spacing:-.01em;transition:background .16s ease,box-shadow .16s ease,transform .16s ease;}
.btn.primary {background:var(--brand-red);color:#fff;box-shadow:0 6px 13px rgba(201,29,49,.14);}
.btn.primary:hover {background:#b91c2e;box-shadow:0 9px 20px rgba(201,29,49,.18);}
.btn.ghost {color:var(--brand-blue);border-color:#cbd9e9;}
.btn.ghost:hover {background:#eff5ff;border-color:#b0c4de;}
.btn.disabled,.btn:disabled {box-shadow:none;}
.btn:active {transform:translateY(1px);}
a.back {border-radius:10px;padding:9px 13px;background:#eaf0f9;color:#264e83;text-decoration:none;font-size:12px;align-items:center;}
a.back:hover {background:#dfe9f7;}
.card {border-color:#e0e8f2;box-shadow:0 10px 28px rgba(12,38,82,.04);}
.card:not(.trip) {border-radius:22px;}
.card>h2,.card>h3 {color:var(--brand-blue);}
.narrow {margin:40px auto;max-width:760px;}
.narrow .card {border:1px solid #e0e8f3;box-shadow:0 16px 44px rgba(10,39,86,.07);}
.narrow .card>h1 {font-size:clamp(29px,4.8vw,42px);margin:6px 0 14px;}
.narrow .card>p {line-height:1.65;}
.eyebrow {font-size:11px;letter-spacing:.095em;color:#178953;}
form {gap:19px;}
label {font-size:13px;line-height:1.4;color:#293d5a;gap:8px;}
input:not([type=checkbox]),select,textarea {border-color:#d4dfeb;background:#fff;border-radius:12px;min-height:49px;padding:13px 15px;transition:border-color .14s,box-shadow .14s;}
input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled) {border-color:#a8bdd5;}
input:focus,select:focus,textarea:focus {border-color:#315bb0;box-shadow:0 0 0 4px rgba(60,103,185,.105);}
textarea {resize:vertical;min-height:95px;}
input[type=checkbox] {accent-color:var(--brand-green);}
.check {display:flex;align-items:flex-start;line-height:1.6;gap:11px;padding:0 2px;}
.check input {flex:0 0 19px;width:19px;height:19px;}
.check a {text-decoration:underline;text-underline-offset:2px;}
.alert {border-radius:15px;border-width:1px;margin:18px 0;}
.alert a {font-weight:800;}
.summary {border-color:#e5ecf4;gap:13px;}
.summary span {color:#586980;align-items:center;}
.summary span b {color:#162b4a;font-weight:850;}
.pill {padding:7px 11px;font-size:11px;line-height:1.25;letter-spacing:.005em;}
.pill.green {color:#067b43;background:#e4f8ec;}
.pill.amber {color:#986306;background:#fff5d9;}
.pill.red {color:#a12436;background:#fff0f1;}
.footer {background:#081f4b;border-top:5px solid #d92032;}
.footer-logo {background:#fff;padding:7px;border-radius:12px;}
.footer-grid {gap:38px;}
.footer a:hover {text-decoration:underline;color:#fff;}

/* Home: visually close to provided reference, but fluid and readable on phones. */
.site-home {background:#fff;}
.site-home main.container {width:min(1220px,calc(100% - 40px));}
.site-home .header-inner {min-height:85px;}
.site-home .brand img {width:244px;}
.landing-hero {background:linear-gradient(125deg,#fff 0%,#f7fbff 54%,#deeffb 100%);box-shadow:0 6px 25px rgba(10,42,88,.06);min-height:550px;border:1px solid #e4eef8;border-radius:26px;padding:48px 48px 36px;}
.landing-hero:after {right:-140px;top:-190px;}
.landing-overline {color:#047b4a!important;}
.landing-hero h1 {font-weight:900;font-size:clamp(43px,5.15vw,71px);max-width:650px;}
.landing-hero-copy {width:56%;}
.landing-description {font-size:16px!important;color:#29415d!important;}
.landing-hero-art {width:57%;right:-24px;bottom:-14px;object-fit:contain;}
.landing-hero-actions {margin-top:31px;gap:12px;}
.site-home .landing-hero-actions .btn {border-radius:15px;min-height:62px;}
.site-home .landing-primary {box-shadow:0 10px 24px rgba(217,32,50,.22);}
.site-home .landing-secondary {border-color:#123969!important;}
.landing-features {padding:27px 8px 20px;}
.landing-feature {align-items:center;}
.feature-icon {font-size:24px;}
.landing-buses {scroll-margin-top:95px;margin-top:33px;}
.landing-buses-explainer {max-width:780px;font-size:13px;}
.landing-bus-card {border-radius:20px;box-shadow:0 12px 27px rgba(16,44,91,.055);gap:20px;transition:box-shadow .16s ease,transform .16s ease;}
.landing-bus-card:hover {box-shadow:0 15px 33px rgba(16,44,91,.10);transform:translateY(-1px);}
.landing-bus-card h3 {font-size:21px;}
.landing-bus-image {background:#e6f2fc;}
.landing-book {font-weight:900;font-size:14px;}
.landing-no-bus {border-radius:20px;}
.landing-independent {border-radius:20px;}
.landing-steps>div {border-radius:16px;}
.landing-my-orders {border-radius:20px;}

/* Better reserving and customer journey */
.passenger-fieldset {position:relative;border:1px solid #d9e5f1;background:#f8fbff;border-radius:17px;padding:19px;margin-bottom:16px;box-shadow:0 5px 15px rgba(21,53,99,.027);}
.passenger-fieldset legend {font-size:15px;font-weight:900;color:var(--brand-blue);padding:0 10px;}
.passenger-fieldset label {display:grid;gap:8px;}
.group-total {background:linear-gradient(135deg,#eaf3ff,#fff);border-color:#c5daf3;padding:21px!important;}
.group-total .summary {margin:0;padding:0;border:0;}
.group-total .summary span:nth-child(2) b,.group-total .summary span:nth-child(3) b {font-size:18px;color:var(--brand-blue);}
.group-total .summary span:nth-child(3) {background:#e9f7ef;padding:12px 13px;border-radius:12px;margin:0 -1px;color:#155c39;}
.group-total .summary span:nth-child(3) b {color:#07763f;}
.passenger-list {display:grid;gap:9px;}
input[type=password] {padding-right:50px;}
.password-wrap {position:relative;display:block;}
.password-wrap input {padding-right:78px;}
.password-toggle {position:absolute;top:50%;right:9px;transform:translateY(-50%);border:1px solid #d9e4ef;border-radius:8px;background:#f5f8fc;color:#173b70;font-size:11px;font-weight:800;padding:8px 9px;min-height:33px;}
.password-toggle:hover {background:#e9f1fb;}
.password-toggle:focus-visible {outline:2px solid var(--brand-blue);}

/* Administration — own identity and consistent workspace navigation. */
.site-admin {background:#f4f7fb;}
.site-admin .header {position:relative;}
.site-admin .top-accent {height:4px;}
.site-admin main.container {width:min(1240px,calc(100% - 40px));padding:6px 0 100px;}
.admin-nav-wrap {background:#fff;border-bottom:1px solid #e1eaf2;box-shadow:0 7px 22px rgba(14,43,80,.025);}
.admin-nav-inner {width:min(1240px,calc(100% - 40px));display:flex;align-items:center;gap:25px;min-height:62px;}
.admin-nav-caption {flex:0 0 auto;display:flex;align-items:center;gap:7px;color:#55708f;font-size:10px;font-weight:900;letter-spacing:.08em;white-space:nowrap;}
.admin-nav-caption:before {content:'';width:8px;height:8px;border-radius:50%;background:var(--brand-green);}
.admin-nav {display:flex;gap:6px;overflow:auto;align-items:center;scrollbar-width:thin;flex:1;white-space:nowrap;padding:7px 0;}
.admin-nav a {display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:11px 13px;border-radius:10px;font-weight:750;font-size:12px;color:#46617e;white-space:nowrap;transition:background .16s,color .16s;}
.admin-nav a span {font-size:15px;font-weight:900;}
.admin-nav a.active,.admin-nav a[aria-current=page] {color:#092b66;background:#e9f1fb;}
.admin-nav a:hover {text-decoration:none;background:#eff4fa;color:#123e75;}
.site-admin .admin-heading {margin:32px 0 4px;gap:18px;}
.site-admin .admin-heading h1 {font-size:clamp(28px,3.2vw,42px);line-height:1.07;letter-spacing:-.045em;margin:4px 0 9px;}
.site-admin .admin-heading p {font-size:13px;line-height:1.6;max-width:660px;}
.site-admin .admin-heading .actions .btn {min-height:44px;}
.stat-grid {gap:15px;margin:29px 0 38px;}
.stat {position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:166px;border-radius:19px;padding:23px 23px 20px;border:1px solid #e3eaf4;border-top:0;box-shadow:0 9px 26px rgba(11,42,92,.04);overflow:hidden;background:#fff;}
.stat:after {content:'';position:absolute;right:-25px;top:-25px;width:108px;height:108px;border-radius:50%;background:#eef7f1;z-index:0;}
.stat:nth-child(2):after {background:#fff7df;}
.stat:nth-child(3):after {background:#ebf0fe;}
.stat:nth-child(4):after {background:#fff0f2;}
.stat>* {position:relative;z-index:1;}
.stat .stat-symbol {display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e8f6ed;color:#058847;font-weight:900;font-size:19px;margin-bottom:13px;}
.stat:nth-child(2) .stat-symbol {background:#fff4d1;color:#956407;}
.stat:nth-child(3) .stat-symbol {background:#eaf0ff;color:#144687;font-size:13px;}
.stat:nth-child(4) .stat-symbol {background:#ffebed;color:#be2136;}
.stat>span:not(.stat-symbol) {font-size:12px;font-weight:750;color:#5c7088;}
.stat strong {font-size:clamp(26px,2.7vw,36px);font-weight:900;margin-top:6px;line-height:1.15;letter-spacing:-.045em;color:#0e2b63;overflow-wrap:anywhere;}
.stat small {font-size:11px;color:#8391a4;display:block;margin-top:5px;line-height:1.35;}
.panel-section-heading {display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 19px;}
.panel-section-heading h2 {margin:0;font-size:27px;}
.section-count {vertical-align:middle;font-size:12px;border-radius:999px;background:#e4edf8;color:#244d7f;padding:5px 10px;margin-left:5px;}
.text-link {color:#0d448f;font-size:13px;font-weight:800;white-space:nowrap;}
.site-admin .cards {grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px;}
.site-admin .trip {border-top:0;padding:22px;border-radius:20px;}
.site-admin .trip-head {margin-bottom:14px;}
.site-admin .trip-mark {width:44px;height:44px;border-radius:12px;}
.site-admin .trip h3 {font-size:20px;line-height:1.22;margin-bottom:7px;}
.site-admin .trip .visibility-note {margin:11px 0 16px!important;border-radius:10px;font-size:11px;line-height:1.5!important;}
.site-admin .trip .muted {margin-bottom:8px;font-size:13px;}
.site-admin .trip .summary {margin:12px 0 17px;}
.site-admin .trip .summary span {font-size:12px;}
.site-admin .trip .summary b {font-size:13px;}
.site-admin .trip .actions {margin-top:auto;}
.site-admin .trip .actions .btn {flex:1 1 115px;min-height:42px;}
.site-admin .trip .actions .btn:first-child {flex-grow:1.1;}
.site-admin .progress {background:#e8eff7;margin:13px 0;}
.site-admin .progress>div {background:linear-gradient(90deg,#039751,#32b26f);}
.site-admin h2 {font-size:25px;}
.site-admin .narrow {max-width:850px;}
.site-admin .calc-preview {background:linear-gradient(120deg,#eaf3ff,#f8fbff);border-radius:17px;padding:22px;}
.site-admin .calc-preview strong {font-size:26px;}
.site-admin .field-panel {padding:28px;}
.site-admin .field-panel>h2 {margin-bottom:5px;}
.form-admin-row {border:1px solid #e1e9f2;background:#fff;border-radius:15px;margin:13px 0;padding:0;overflow:hidden;box-shadow:0 4px 13px rgba(12,40,91,.025);}
.form-admin-row[open] {border-color:#bfcfe1;box-shadow:0 9px 20px rgba(12,40,91,.05);}
.form-admin-summary {list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:67px;cursor:pointer;padding:13px 17px;}
.form-admin-summary::-webkit-details-marker {display:none;}
.form-admin-summary strong {font-size:14px;font-weight:850;line-height:1.3;color:#173a71;}
.form-admin-meta {display:flex;align-items:center;gap:10px;flex-shrink:0;}
.form-admin-chevron {width:25px;height:25px;display:grid;place-items:center;color:#6b7e94;border:1px solid #dce5ef;border-radius:8px;transform:rotate(0deg);transition:transform .15s;}
.form-admin-row[open] .form-admin-chevron {transform:rotate(180deg);}
.form-admin-content {padding:0 17px 19px;border-top:1px solid #e9eff5;}
.form-admin-content>p:first-child {margin:15px 0 4px;}
.form-admin-row label {margin:6px 0;}
.form-admin-actions {padding:14px 0 0;border-top:1px solid #e6edf5;}
.site-admin .form-admin-row .pill {font-size:10px;}
.site-admin .search-bar {border:1px solid #e1e9f2;background:#fff;border-radius:16px;padding:18px 20px;margin:20px 0;box-shadow:var(--shadow);}
.site-admin .table-wrap {box-shadow:0 8px 24px rgba(10,41,90,.04);border-radius:17px;}
.site-admin table {min-width:840px;}
.site-admin th {background:#f0f5fa;padding:15px 17px;border-color:#e5edf5;font-size:11px;}
.site-admin td {padding:17px;border-color:#e8eef5;line-height:1.45;}
.site-admin tbody tr:hover {background:#fafcff;}
.site-admin .table-actions {gap:7px;}
.site-admin .table-actions .btn {border-radius:9px;}
.site-admin .actions.field-panel {border-radius:16px;padding:11px;background:#eaf0f7;display:inline-flex;}
.site-admin .actions.field-panel .btn {min-height:41px;}
.site-admin .alert.info {background:#eaf2fc;}
.site-admin .alert.success {background:#e9f9ef;}

@media (min-width:901px) {
 .site-admin .admin-heading>.actions {justify-content:flex-end;}
}
@media (max-width:1050px) {
 .admin-nav-caption {display:none;}
 .landing-hero-copy {width:61%;}
 .landing-hero-art {width:57%;}
}
@media (max-width:800px) {
 .landing-hero {padding:33px 27px;}
 .landing-hero h1 {font-size:clamp(38px,5.4vw,55px);}
 .landing-feature {padding:4px 12px;gap:10px;}
 .site-admin .admin-heading {align-items:flex-start;}
 .site-admin .stat-grid {grid-template-columns:repeat(2,1fr);}
}
@media (max-width:700px) {
 html {scroll-padding-top:78px;}
 .header {position:relative;z-index:80;}
 .header nav {z-index:90;}
 .header .nav-toggle {border-radius:10px;}
 .header .nav-toggle:hover {background:#f2f6fb;}
 .site-home .header-inner {min-height:75px;}
 .site-home main.container {width:100%!important;}
 .site-home .landing-hero {min-height:640px;padding:25px 20px 18px;border:0;border-radius:0;box-shadow:none;background:linear-gradient(110deg,#fff 0%,#fafdff 47%,#e3f4ff 100%);}
 .landing-hero-copy {width:100%;max-width:none;}
 .landing-hero h1 {font-size:clamp(35px,9vw,46px);line-height:1.02;max-width:470px;margin-bottom:17px;}
 .landing-hero .landing-description {width:57%;max-width:265px;font-size:clamp(12px,3.5vw,14px)!important;line-height:1.52!important;}
 .landing-hero-art {top:50px;right:-5px;bottom:auto;width:60%;height:453px;object-fit:contain;object-position:right top;}
 .site-home .landing-hero-actions {gap:9px;margin-top:auto;}
 .site-home .landing-hero-actions .btn {font-size:14px;min-height:56px;border-radius:14px;}
 .landing-feature {min-height:126px;}
 .landing-features {padding:22px 12px 16px;}
 .landing-buses,.landing-how,.landing-my-orders,.landing-independent {margin-left:16px;margin-right:16px;}
 .landing-buses {margin-top:24px;}
 .landing-buses-explainer {font-size:12px;}
 .landing-bus-list {gap:13px;}
 /* Content-first card: nothing gets squeezed into three narrow phone columns. */
 .landing-bus-card {display:grid;grid-template-columns:106px minmax(0,1fr);grid-template-rows:auto auto;align-items:start;gap:12px;padding:13px;border-radius:19px;}
 .landing-bus-image {width:106px;height:118px;grid-row:1;object-fit:cover;border-radius:13px;}
 .landing-bus-data {grid-column:2;min-width:0;}
 .landing-bus-state {font-size:9px;line-height:1.25;padding:5px 8px;margin-bottom:8px;}
 .landing-bus-card h3 {font-size:17px;line-height:1.2;margin-bottom:7px;}
 .landing-bus-route {font-size:11px;margin-bottom:7px;}
 .landing-bus-meta {font-size:11px;gap:5px;}
 .landing-bus-pricing {font-size:11px;margin-top:10px;}
 .landing-bus-pricing strong {font-size:18px;}
 .landing-bus-occupancy {grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:5px 9px;align-items:center;background:#f7faff;border:1px solid #edf1f6;border-radius:12px;padding:10px 11px;}
 .landing-bus-occupancy>strong {font-size:22px;line-height:1;white-space:nowrap;}
 .landing-bus-occupancy>strong small {font-size:12px;}
 .landing-bus-occupancy>span {font-size:11px;line-height:1.2;}
 .landing-progress {grid-column:1/3;grid-row:2;height:7px;width:100%;margin:3px 0 0;}
 .landing-book,.landing-full {grid-column:3;grid-row:1/3;font-size:12px;justify-self:end;align-self:center;background:#e9f0fa;padding:10px 12px;border-radius:9px;}
 .landing-book:hover {background:#dfeafa;text-decoration:none;}
 .landing-independent {padding:18px;border-radius:17px;}
 .landing-independent h2 {font-size:16px;}
 .landing-independent p {font-size:12px;}
 .landing-how {margin-top:46px;}
 .landing-steps {gap:10px;}
 .site-inner main.container {width:calc(100% - 28px);}
 .site-inner .narrow {margin:21px 0;max-width:none;}
 .site-inner .narrow .card {padding:22px 19px;border-radius:19px;}
 .site-inner .narrow h1 {font-size:clamp(27px,7vw,34px);}
 .site-inner .card {border-radius:18px;}
 .site-inner .form-grid {grid-template-columns:1fr;}
 .site-admin main.container {width:calc(100% - 28px);}
 .site-admin .admin-heading {margin-top:27px;}
 .site-admin .admin-heading h1 {font-size:31px;}
 .site-admin .admin-heading .actions {width:100%;display:grid;grid-template-columns:1fr 1fr;}
 .site-admin .admin-heading .actions .btn {padding:10px;font-size:12px;}
 .admin-nav-inner {width:calc(100% - 20px);min-height:56px;}
 .admin-nav {gap:2px;}
 .admin-nav a {font-size:11px;padding:10px 12px;}
 .site-admin .stat-grid {gap:10px;margin:24px 0 30px;}
 .stat {min-height:153px;padding:16px;border-radius:16px;}
 .stat .stat-symbol {width:30px;height:30px;font-size:17px;margin-bottom:10px;}
 .stat strong {font-size:clamp(23px,6vw,30px);}
 .stat>span:not(.stat-symbol) {font-size:11px;}
 .stat small {font-size:10px;}
 .panel-section-heading h2 {font-size:23px;}
 .site-admin .cards {grid-template-columns:1fr;}
 .site-admin .field-panel {padding:19px 16px;}
 .site-admin .search-bar {padding:16px;display:grid;gap:11px;}
 .site-admin .search-bar label {min-width:0;}
 .site-admin .search-bar .btn {width:100%;}
 .site-admin .table-wrap {background:transparent;border:0;box-shadow:none;border-radius:0;overflow:visible;}
 .site-admin .table-wrap table.mobile-cards {display:block;width:100%;min-width:0;border:0;}
 .site-admin .table-wrap table.mobile-cards thead {display:none;}
 .site-admin .table-wrap table.mobile-cards tbody {display:grid;gap:12px;}
 .site-admin .table-wrap table.mobile-cards tr {display:block;background:#fff;border:1px solid #e1e9f2;border-radius:16px;padding:10px 15px;box-shadow:var(--shadow);overflow:hidden;}
 .site-admin .table-wrap table.mobile-cards td {width:100%;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #edf1f6;padding:12px 0;font-size:12px;overflow-wrap:anywhere;}
 .site-admin .table-wrap table.mobile-cards td:last-child {border-bottom:0;}
 .site-admin .table-wrap table.mobile-cards td:before {content:attr(data-label);font-size:10px;font-weight:850;color:#73849a;line-height:1.5;flex:0 0 92px;text-transform:uppercase;letter-spacing:.02em;}
 .site-admin .table-wrap table.mobile-cards .table-actions {flex:1;min-width:0;}
 .site-admin .table-wrap table.mobile-cards .table-actions .btn {font-size:11px;}
 .site-admin .table-wrap table.mobile-cards td small {overflow-wrap:anywhere;}
 .site-admin .field-panel>.btn.primary {width:100%;}
 .site-admin .form-admin-summary {min-height:66px;padding:12px;}
 .site-admin .form-admin-summary strong {font-size:12px;}
 .site-admin .form-admin-content {padding:0 13px 17px;}
 .site-admin .form-admin-meta {gap:4px;}
}
@media (max-width:420px) {
 .site-home .landing-hero {min-height:630px;}
 .landing-hero h1 {font-size:clamp(34px,9.2vw,38px);}
 .landing-hero .landing-description {max-width:219px;}
 .landing-hero-art {top:72px;width:62%;height:410px;right:-16px;}
 .landing-bus-card {grid-template-columns:93px minmax(0,1fr);gap:10px;}
 .landing-bus-image {width:93px;height:113px;}
 .landing-bus-card h3 {font-size:15px;}
 .landing-bus-meta {font-size:10px;}
 .landing-bus-pricing strong {font-size:16px;}
 .landing-bus-state {font-size:8px;}
 .landing-feature strong {font-size:11px;}
 .landing-feature p {font-size:10px;}
 .site-admin .stat-grid {gap:8px;}
 .stat {padding:13px;}
 .stat strong {font-size:24px;}
 .admin-nav a {padding:10px 11px;}
}
@media (prefers-reduced-motion:reduce) {
 .landing-bus-card,.btn,.form-admin-chevron,.admin-nav a {transition:none;}
 .landing-bus-card:hover,.btn:hover {transform:none;}
}
/* Refinamento final do mobile: mantém a ilustração, protege a leitura do título. */
.site-admin form.field-panel {gap:12px;}
.site-admin form.field-panel>.form-admin-row {margin:0;}
@media (max-width:700px) {
 .site-home .landing-hero {min-height:577px;}
 .landing-hero:before {content:"";display:block;position:absolute;top:0;left:0;bottom:115px;width:89%;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 31%,rgba(255,255,255,.51) 63%,rgba(255,255,255,0) 100%);}
 .landing-hero-copy {z-index:3;}
 .landing-hero-art {right:-12px;top:52px;width:59%;height:410px;}
}
@media (max-width:420px) {
 .site-home .landing-hero {min-height:583px;}
 .landing-hero-art {top:67px;width:59%;height:402px;right:-13px;}
}
@media(max-width:700px){.site-home .landing-hero{min-height:540px;}}
@media(max-width:420px){.site-home .landing-hero{min-height:546px;}}
