/* Padrão visual compartilhado por todas as páginas de Filadélfia.app. */
.md3-site, .md3-site *, .md3-site *::before, .md3-site *::after { box-sizing: border-box; }
.md3-site { line-height: 1.5; }
.md3-site [hidden] { display: none !important; }
.md3-site :where(input, select, textarea, button, a) { font-family: inherit; }
.md3-site :where(a, button):focus-visible { outline: 2px solid var(--md3-primary); outline-offset: 3px; }
.md3-site :where(input, select, textarea):focus-visible { outline: 2px solid var(--md3-primary); outline-offset: 2px; }
.md3-site .md3-content.md3-page { max-width: 960px; padding: 28px 24px 120px; }
.md3-site .md3-content:is(.md3-home, .md3-page--catalog, .md3-page--search, .md3-page--categories, .md3-page--recent, .md3-page--admin, .md3-page--account) { max-width: 1120px; }
.md3-site .md3-content.md3-page--detail { max-width: 880px; }
.md3-site .md3-content.md3-page--form { max-width: 720px; }
.md3-site .md3-content.md3-page--auth { max-width: 520px; }
.md3-page > :is(h1, h2).md3-headline-s { margin: 4px 0 10px; font-size: 28px; line-height: 36px; font-weight: 600; overflow-wrap: anywhere; }
.md3-page > :is(h1, h2).md3-headline-s + p { margin: 0 0 24px; }
.md3-site .md3-section-title { margin: 28px 0 16px; font-size: 21px; line-height: 28px; font-weight: 600; }
.md3-site .md3-card { min-width: 0; padding: 20px; margin-bottom: 16px; border-radius: var(--md3-shape-l); }
.md3-site .md3-card--outlined { border: 1px solid var(--md3-outline-variant); background: var(--md3-surface-container-lowest); }
.md3-site .md3-card--elevated { border: 1px solid var(--md3-outline-variant); background: var(--md3-surface-container-lowest); box-shadow: 0 2px 8px color-mix(in srgb, var(--md3-on-surface) 4%, transparent); }
.md3-site .md3-card--filled { background: var(--md3-surface-container-low); border: 1px solid var(--md3-outline-variant); }
.md3-site .md3-card__title { font-size: 17px; line-height: 25px; font-weight: 600; overflow-wrap: anywhere; }
.md3-site .md3-card__sub { font-size: 13px; line-height: 21px; overflow-wrap: anywhere; }
.md3-site .md3-card__actions { gap: 8px; margin: 16px 0 4px; align-items: center; }
.md3-site .md3-card__actions > form { margin: 0; min-width: 0; }
.md3-site .md3-card__actions > p { flex-basis: 100%; margin: 0; }
.md3-site .md3-btn { min-height: 44px; padding: 10px 18px; line-height: 22px; text-align: center; white-space: normal; }
.md3-site .md3-btn--lg { min-height: 52px; }
.md3-site .md3-btn--sm { min-height: 44px; padding: 8px 14px; }
.md3-site .md3-btn--danger { color: var(--md3-error); }
.md3-site .md3-icon-btn { flex-shrink: 0; }
.md3-site .md3-field { margin-bottom: 18px; min-width: 0; }
.md3-site .md3-field label { font-size: 14px; line-height: 21px; margin-bottom: 7px; }
.md3-site .md3-field :is(input, select, textarea) { max-width: 100%; border-radius: 10px; background: var(--md3-surface); }
.md3-site .md3-field :is(input[type="checkbox"], input[type="radio"]) { width: 20px; height: 20px; min-height: 20px; margin: 0 8px 0 0; padding: 0; vertical-align: middle; accent-color: var(--md3-primary); }
.md3-site .md3-field input[type="file"] { padding: 10px; white-space: normal; }
.md3-site input[type="file"]::file-selector-button { padding: 8px 12px; margin-right: 10px; border: 0; border-radius: 8px; font: inherit; background: var(--md3-secondary-container); color: var(--md3-on-secondary-container); cursor: pointer; }
.md3-site .md3-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.md3-site .md3-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.md3-site :is(.md3-grid-2, .md3-grid-3) > * { min-width: 0; }
.md3-site .md3-list { display: grid; gap: 12px; }
.md3-site .md3-list-item { gap: 12px; min-width: 0; }
.md3-site .md3-list-item__text { overflow-wrap: anywhere; }
.md3-site .md3-list-item__title { font-weight: 600; }
.md3-site .md3-list-item :is(input[type="checkbox"], input[type="radio"]) { width: 20px; height: 20px; flex-shrink: 0; accent-color: var(--md3-primary); }
.md3-page--choice .md3-list > li > a, .md3-page--form .md3-list > li > a, .md3-page--admin .md3-list > li { border: 1px solid var(--md3-outline-variant); border-radius: var(--md3-shape-l); background: var(--md3-surface-container-lowest); padding: 18px; }
.md3-page--choice .md3-list > li > a:hover, .md3-page--form .md3-list > li > a:hover { border-color: var(--md3-primary); background: var(--md3-surface-container-low); }
.md3-page--admin .md3-list > li { flex-wrap: wrap; row-gap: 12px; }
.md3-page--admin .md3-list-item > .md3-list-item__text { flex: 1 1 180px; }
.md3-site .md3-admin-business + .md3-admin-business { margin-top: 0; }
.md3-site .md3-admin-business__actions { width: 100%; }
.md3-site .md3-details { margin: 16px 0; padding: 16px; border: 1px solid var(--md3-outline-variant); border-radius: var(--md3-shape-l); background: var(--md3-surface-container-lowest); }
.md3-site .md3-details > summary { min-height: 28px; font-size: 14px; font-weight: 600; cursor: pointer; }
.md3-site .md3-details[open] > summary { margin-bottom: 16px; }
.md3-site .md3-details--subtle { background: transparent; }
.md3-site .md3-banner { padding: 16px 18px; border-radius: var(--md3-shape-l); overflow-wrap: anywhere; }
.md3-site .md3-banner > p { margin: 0 0 8px; }
.md3-site .md3-empty { padding: 32px 24px; margin: 20px 0; border: 1px dashed var(--md3-outline); border-radius: var(--md3-shape-l); background: var(--md3-surface-container-low); text-align: center; }
.md3-site .md3-empty__text { margin: 0 0 18px; color: var(--md3-on-surface-variant); font-size: 15px; line-height: 24px; }
.md3-site .md3-empty__text:last-child { margin-bottom: 0; }
.md3-site .md3-searchbar { gap: 8px; padding: 8px 8px 8px 16px; border: 1px solid var(--md3-outline-variant); background: var(--md3-surface-container-lowest); box-shadow: none; }
.md3-site .md3-searchbar input { min-height: 44px; }
.md3-site .md3-search-panel { padding: 20px; margin: 20px 0 24px; border: 1px solid var(--md3-outline-variant); border-radius: var(--md3-shape-l); background: var(--md3-surface-container-low); }
.md3-site .md3-search-panel .md3-details { margin-bottom: 0; }
.md3-results-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 16px 0 24px; }
.md3-site .md3-results-grid > .md3-card { margin: 0; height: 100%; }
.md3-site .md3-image-row { align-items: center; }
.md3-site .md3-image-row__thumb { width: 64px; height: 64px; object-fit: cover; flex: 0 0 64px; }
.md3-site .md3-card__thumb { max-width: 100%; }
.md3-site .md3-image-row .md3-price { display: block; margin: 8px 0 0; font-size: 17px; }
.md3-site .md3-cat { min-height: 96px; justify-content: center; padding: 18px 12px; border-radius: var(--md3-shape-l); background: var(--md3-surface-container-lowest); font-size: 14px; }
.md3-site .md3-cat:hover { border-color: var(--md3-primary); }
.md3-site .md3-hero { padding: 36px; border: 1px solid var(--md3-outline-variant); background: var(--md3-surface-container-low); text-align: left; }
.md3-site .md3-hero__title { font-size: 32px; line-height: 40px; font-weight: 600; color: var(--md3-on-surface); }
.md3-site .md3-hero__sub { font-size: 15px; line-height: 23px; margin-bottom: 24px; }
.md3-site .md3-hero .md3-chips { margin-top: 16px; }
.md3-site .md3-chip { min-height: 40px; line-height: 20px; padding: 8px 14px; font-size: 13px; }
.md3-site .md3-stepper { margin: 4px 0 24px; }
.md3-site .md3-stepper__dot { width: 10px; height: 10px; }
.md3-site .md3-detail-card { padding: 24px; }
.md3-site .md3-detail-card > .md3-headline-s { margin: 8px 0 16px; font-size: 30px; line-height: 38px; font-weight: 600; }
.md3-site .md3-detail-card > .md3-price { margin: 20px 0 12px; font-size: 28px; line-height: 36px; font-weight: 600; }
.md3-site .md3-detail-card > img.md3-card__media { display: block; width: 100%; max-height: 360px; margin: 0 0 20px; object-fit: contain; border-radius: 12px; background: var(--md3-surface-container-low); }
.md3-site .md3-detail-card > .md3-body-l { white-space: pre-wrap; overflow-wrap: anywhere; }
.md3-site .md3-detail-actions { display: grid; grid-template-columns: minmax(0, 1fr); padding-top: 20px; margin-top: 24px; border-top: 1px solid var(--md3-outline-variant); }
.md3-site .md3-detail-actions .md3-btn { width: 100%; height: 100%; min-height: 52px; font-size: 17px; }
.md3-site .md3-detail-owner-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.md3-site .md3-detail-owner-actions .md3-btn { flex: 1 1 180px; }
.md3-business-banner { display: block; width: 100%; max-height: 280px; margin: 0 0 20px; border-radius: 12px; object-fit: contain; background: var(--md3-surface-container-low); }
.md3-business-identity { display: flex; align-items: center; gap: 16px; min-width: 0; }
.md3-business-identity > a { flex: 0 0 64px; }
.md3-business-identity h1 { margin: 0; min-width: 0; font-size: 30px; line-height: 38px; font-weight: 600; overflow-wrap: anywhere; }
.md3-site .md3-review-section { padding-top: 8px; scroll-margin-top: 220px; }
.md3-site .md3-review__stars { color: var(--md3-primary); }
.md3-site .md3-review__reply { border-radius: 0 12px 12px 0; }
.md3-site .md3-carousel__btn { width: 44px; height: 44px; }
.md3-site .md3-gallery__item { padding: 12px; border: 1px solid var(--md3-outline-variant); border-radius: var(--md3-shape-l); background: var(--md3-surface-container-lowest); }
.md3-site .md3-gallery__image { height: 260px; }
.md3-site .md3-gallery__item figcaption { padding: 12px 4px 4px; }
.md3-site .md3-subcategories-grid > .md3-card { padding: 13px; margin: 0; }
.md3-site .md3-subcategories-grid .md3-field { margin-bottom: 10px; }
.md3-site .md3-subcategories-grid .md3-list-item { min-height: 50px; padding: 4px 12px; }
.md3-site .md3-subcategories-grid .md3-field label { font-size: 13px; }
.md3-site .md3-account-item__actions .md3-btn { padding: 8px 14px; font-size: 13px; }
.md3-site .md3-account-panel .md3-field { margin-bottom: 14px; }
.md3-site .md3-footer { margin-top: 20px; border-top: 1px solid var(--md3-outline-variant); }
.md3-site .md3-page :where(section, article, details, h2)[id] { scroll-margin-top: 250px; }
.md3-site .md3-page--auth > .md3-card { padding: 24px; }
.md3-site .md3-page--error { text-align: center; }
.md3-site .md3-page--admin > .md3-card__actions { padding: 0 0 20px; margin: 20px 0; border-bottom: 1px solid var(--md3-outline-variant); }
.md3-site .md3-page--admin > .md3-grid-2 { gap: 16px; }
.md3-site .md3-page--admin > .md3-grid-2 > .md3-card { margin: 0; }
.md3-site .md3-page--admin > .md3-grid-2 > a.md3-card { min-height: 112px; display: flex; flex-direction: column; justify-content: center; }
.md3-site .md3-admin-tags-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .md3-site .md3-admin-tags-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .md3-site .md3-admin-tags-grid { grid-template-columns: minmax(0, 1fr); }
}
.md3-site :is(.md3-page--form, .md3-page--auth) > form { padding: 24px; margin-bottom: 20px; border: 1px solid var(--md3-outline-variant); border-radius: var(--md3-shape-l); background: var(--md3-surface-container-lowest); }
.md3-site .md3-page > .md3-btn { margin: 0 8px 12px 0; }
.md3-site .md3-page > .md3-btn--block { margin-right: 0; }
.md3-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 20px; color: var(--md3-on-surface-variant); font-size: 12px; }
.md3-breadcrumbs a { display: inline-flex; align-items: center; min-height: 32px; color: var(--md3-primary); text-decoration: none; }
.md3-breadcrumbs a:hover { text-decoration: underline; }
.md3-breadcrumbs > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.md3-table-wrap { width: 100%; overflow-x: auto; margin: 20px 0; border: 1px solid var(--md3-outline-variant); border-radius: var(--md3-shape-l); }
.md3-table { width: 100%; border-collapse: collapse; background: var(--md3-surface-container-lowest); text-align: left; }
.md3-table th, .md3-table td { padding: 16px; border-bottom: 1px solid var(--md3-outline-variant); }
.md3-table th { background: var(--md3-surface-container-low); font-size: 13px; font-weight: 600; }
.md3-table td { font-size: 14px; }
.md3-table tr:last-child td { border-bottom: 0; }
.md3-table .md3-btn { margin: 4px; }
.md3-site .md3-page--error .md3-card__actions { justify-content: center; }
@media (max-width: 599px) {
  .md3-site .md3-content.md3-page { padding: 20px 16px 120px; }
  .md3-page > :is(h1, h2).md3-headline-s { font-size: 25px; line-height: 33px; }
  .md3-site .md3-card { padding: 18px; }
  .md3-site .md3-grid-2, .md3-results-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .md3-site .md3-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .md3-site .md3-hero { padding: 24px 18px; }
  .md3-site .md3-hero__title { font-size: 27px; line-height: 35px; }
  .md3-site .md3-search-panel { padding: 16px; }
  .md3-site .md3-detail-card > .md3-headline-s { font-size: 25px; line-height: 33px; }
  .md3-business-identity h1 { font-size: 25px; line-height: 33px; }
  .md3-site .md3-detail-actions { grid-template-columns: minmax(0, 1fr); }
  .md3-site .md3-detail-card > img.md3-card__media { max-height: 280px; }
  .md3-site .md3-page--form > form, .md3-site .md3-page--auth > .md3-card { padding: 20px; }
  .md3-site .md3-card__actions .md3-btn { flex: 1 1 auto; }
  .md3-site .md3-subcategories-grid > .md3-card { padding: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .md3-site .md3-animate-in { animation: none; }
  .md3-site :is(.md3-btn, .md3-topbar__pill) { transition: none; }
}

/* Barra superior: conteúdo alinhado, identidade da conta e ações compactas. */
.md3-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.md3-site .md3-topbar { display: block; min-height: 0; padding: 8px 24px; border-bottom: 1px solid var(--md3-outline-variant); box-shadow: 0 2px 8px color-mix(in srgb, var(--md3-on-surface) 4%, transparent); }
.md3-topbar__inner { display: grid; grid-template-columns: 172px minmax(0, 1fr) 44px auto 44px; align-items: center; gap: 8px 16px; width: 100%; max-width: 1280px; margin: 0 auto; }
.md3-topbar__inner--guest { grid-template-columns: 172px minmax(0, 1fr) 44px 44px; }
.md3-site .md3-topbar__brand { --md3-logo-size: 220px; --md3-logo-offset: 54px; grid-column: 1; grid-row: 1; width: 172px; height: 74px; margin: 0; overflow: hidden; }
.md3-site .md3-topbar__logo { left: 50%; width: var(--md3-logo-size); height: var(--md3-logo-size); top: calc(50% + var(--md3-logo-offset)); margin-left: 0; }
/* A máscara acompanha exatamente a cor primária usada no botão Pesquisar. */
[data-theme="dark"] .md3-site .md3-topbar__logo { opacity: 0; }
[data-theme="dark"] .md3-site .md3-topbar__brand::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(50% + var(--md3-logo-offset));
  width: var(--md3-logo-size);
  height: var(--md3-logo-size);
  transform: translate(-50%, -50%);
  background: var(--md3-primary);
  -webkit-mask: url("/images/logo.svg") center / contain no-repeat;
  mask: url("/images/logo.svg") center / contain no-repeat;
  pointer-events: none;
}
/* O feijão e a fita de Outubro Rosa mantêm sua cor sobre a máscara do tema escuro. */
[data-theme="dark"] .md3-site .md3-topbar__brand::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 50%;
  top: calc(50% + var(--md3-logo-offset));
  width: var(--md3-logo-size);
  height: var(--md3-logo-size);
  transform: translate(-50%, -50%);
  background: url("/images/outubro-rosa.svg") center / contain no-repeat;
  pointer-events: none;
}
.md3-site .md3-topbar__nav { grid-column: 2; grid-row: 1; gap: 4px; justify-content: center; padding: 4px; }
.md3-site .md3-topbar__pill { border-color: transparent; background: transparent; padding: 10px 14px; font-size: 14px; }
.md3-site .md3-topbar__pill[aria-current="page"] { background: var(--md3-secondary-container); color: var(--md3-on-secondary-container); border-color: var(--md3-secondary-container); box-shadow: none; font-weight: 700; }
.md3-site .md3-topbar__search-toggle { grid-column: 3; grid-row: 1; }
.md3-site .md3-topbar__account { grid-column: 4; grid-row: 1; gap: 8px; min-width: 0; }
.md3-site .md3-topbar__profile { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 44px; max-width: 232px; color: var(--md3-on-surface); text-decoration: none; border-radius: 12px; padding: 4px; }
.md3-site .md3-topbar__profile:hover { background: var(--md3-surface-container-high); }
.md3-topbar__avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: var(--md3-secondary-container); color: var(--md3-on-secondary-container); font-size: 13px; font-weight: 700; }
.md3-topbar__identity { display: grid; min-width: 0; gap: 2px; }
.md3-site .md3-topbar__name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 600; line-height: 18px; }
.md3-site .md3-topbar__email { max-width: none; font-size: 12px; line-height: 18px; }
.md3-site .md3-topbar__account .md3-btn { min-height: 44px; padding: 10px 12px; font-size: 13px; }
.md3-site .md3-theme-toggle { grid-column: 5; grid-row: 1; background: var(--md3-surface-container-low); border: 1px solid var(--md3-outline-variant); }
.md3-site .md3-topbar__inner--guest .md3-theme-toggle { grid-column: 4; }
.md3-site .md3-topbar .md3-icon-btn { width: 44px; height: 44px; }
.md3-theme-toggle__moon, [data-theme="dark"] .md3-theme-toggle__sun { display: none; }
[data-theme="dark"] .md3-theme-toggle__moon { display: block; }
.md3-site .md3-topbar__search-panel { grid-column: 1 / -1; grid-row: 2; align-items: center; gap: 10px; padding: 12px 0 8px; border-top: 1px solid var(--md3-outline-variant); }
.md3-site .md3-topbar__search-panel .md3-field { margin: 0; }
.md3-site .md3-topbar__search-panel label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.md3-site .md3-topbar__search-panel input { min-height: 44px; padding: 10px 16px; border-color: var(--md3-outline-variant); background: var(--md3-surface-container-lowest); border-radius: var(--md3-shape-full); }
.md3-site .md3-topbar__search-panel .md3-btn { min-height: 44px; padding: 10px 20px; }
@media (max-width: 1100px) and (min-width: 821px) {
  .md3-topbar__inner { grid-template-columns: 172px minmax(0, 1fr) 44px auto 44px; gap: 8px; }
  .md3-topbar__inner--guest { grid-template-columns: 172px minmax(0, 1fr) 44px 44px; }
  .md3-site .md3-topbar__profile { max-width: 180px; }
  .md3-site .md3-topbar__pill { padding: 10px; font-size: 13px; }
}
@media (max-width: 820px) {
  .md3-site .md3-topbar { display: block; padding: 6px 16px; }
  .md3-topbar__inner, .md3-topbar__inner--guest { grid-template-columns: minmax(0, 1fr) 44px 44px; gap: 4px 8px; }
  .md3-site .md3-topbar__nav { display: none; }
  .md3-site .md3-topbar__search-toggle { grid-column: 2; grid-row: 1; }
  .md3-site .md3-theme-toggle, .md3-site .md3-topbar__inner--guest .md3-theme-toggle { grid-column: 3; grid-row: 1; }
  .md3-site .md3-topbar__account { grid-column: 1 / -1; grid-row: 2; padding: 4px 0 8px; justify-content: space-between; }
  .md3-site .md3-topbar__profile { max-width: calc(100% - 64px); }
  .md3-site .md3-topbar__search-panel { grid-row: 3; padding: 10px 0 6px; }
  .md3-site .md3-topbar__inner--guest .md3-topbar__search-panel { grid-row: 2; }
}
@media (max-width: 359px) {
  .md3-site .md3-topbar { padding-left: 12px; padding-right: 12px; }
  .md3-site .md3-topbar__brand { width: 160px; --md3-logo-size: 204px; --md3-logo-offset: 49px; }
  .md3-site .md3-topbar__search-panel .md3-btn { padding: 10px 14px; }
}

.md3-funcionamento { margin-block: 20px; }
.md3-funcionamento__dias {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.md3-funcionamento__dia > .md3-tag-option { position: relative; display: block; cursor: pointer; }
.md3-funcionamento__dia {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--md3-outline-variant);
  border-radius: 16px;
}
.md3-funcionamento__dia .md3-field,
.md3-funcionamento__fechamento .md3-field { margin: 0; min-width: 0; }
.md3-funcionamento__dia input[type="time"] { min-width: 0; width: 100%; }
.md3-funcionamento__dia input:disabled { opacity: .45; }
.md3-funcionamento__fechamento {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(0, 2fr) auto;
  align-items: end;
  gap: 12px;
  margin-bottom: 12px;
}
.md3-funcionamento-publico { margin-block: 20px; }
.md3-funcionamento-publico__dias { margin-block: 12px; }
.md3-funcionamento-publico__dias > div { display: flex; justify-content: space-between; gap: 16px; padding-block: 7px; border-bottom: 1px solid var(--md3-outline-variant); }
.md3-funcionamento-publico__dias dd { margin: 0; text-align: right; }
.md3-funcionamento-publico__datas { padding-left: 20px; }
@media (min-width: 481px) and (max-width: 640px) {
  .md3-funcionamento__dias { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .md3-funcionamento__dias { grid-template-columns: minmax(0, 1fr); }
  .md3-funcionamento__dia { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md3-funcionamento__dia > .md3-tag-option { grid-column: 1 / -1; }
  .md3-funcionamento__fechamento { grid-template-columns: minmax(0, 1fr); }
  .md3-funcionamento__fechamento button { justify-self: start; }
}

/* Calendário de agendamento: dias disponíveis e fechados. */
.agenda-calendario-nav { display: grid; grid-template-columns: 48px 1fr 48px; align-items: center; text-align: center; gap: 8px; margin: 16px 0; }
.agenda-calendario-nav strong { text-transform: capitalize; }
.agenda-calendario { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; max-width: 480px; margin: 0 auto; }
.agenda-calendario-semana { text-align: center; font-size: .8rem; padding: 8px 0; }
.agenda-calendario-dia { min-height: 44px; border: 1px solid var(--md3-outline); border-radius: 12px; background: var(--md3-surface); color: var(--md3-on-surface); font: inherit; cursor: pointer; }
.agenda-calendario-dia:hover:not(:disabled), .agenda-calendario-dia:focus-visible { background: var(--md3-primary-container); color: var(--md3-on-primary-container); outline: 2px solid var(--md3-primary); }
.agenda-calendario-dia:disabled { opacity: .35; cursor: default; border-style: dashed; }

.md3-funcionamento__almoco { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.md3-funcionamento__almoco .md3-field { min-width: 0; }
.md3-funcionamento__almoco input { min-width: 0; width: 100%; }

.md3-account-shortcuts.md3-account-shortcuts--publications { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Conversas privadas */
.md3-inbox-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}
.md3-inbox-actions form{margin:0}
.md3-inbox-list{display:grid;gap:12px}
.md3-inbox-preview{display:block;text-decoration:none;color:inherit;min-width:0}
.md3-inbox-preview .md3-badge{margin-left:8px}
.md3-inbox-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}
.md3-inbox-chat{max-width:800px;margin:auto}
.md3-inbox-messages{display:flex;flex-direction:column;gap:12px;max-height:55vh;min-height:160px;overflow:auto;padding:16px;background:var(--md3-surface-container-low);border-radius:20px}
.md3-inbox-message{align-self:flex-start;max-width:85%;padding:12px 16px;border-radius:18px;background:var(--md3-surface-container-high);color:var(--md3-on-surface)}
.md3-inbox-message--mine{align-self:flex-end;background:var(--md3-primary-container);color:var(--md3-on-primary-container)}
.md3-inbox-message small{display:block;font-size:12px;opacity:.8;overflow-wrap:anywhere}
.md3-inbox-composer{display:grid;gap:12px;margin:16px 0}
.md3-inbox-composer .md3-field{margin:0}
.md3-inbox-composer button{justify-self:end}
.md3-inbox-check{display:flex;align-items:center;gap:8px;margin:16px 0}
.md3-inbox-evidence{padding:12px 0;border-bottom:1px solid var(--md3-outline-variant)}
.md3-page--inbox ~ .md3-fab{display:none}
.md3-inbox-receipt{display:inline-block;margin-left:8px;font-weight:700;letter-spacing:-3px;padding-right:3px;white-space:nowrap}
.md3-inbox-receipt--read{color:var(--md3-primary)}
.md3-inbox-quote{margin:0 0 8px;padding:10px 12px;border-left:3px solid var(--md3-primary);border-radius:8px;background:var(--md3-surface-container);color:var(--md3-on-surface);overflow-wrap:anywhere}
.md3-inbox-quote p{white-space:pre-wrap;margin:6px 0;font-size:13px}
.md3-inbox-reply{display:inline-block;margin-top:8px;font-size:13px;color:inherit;text-underline-offset:3px}
.md3-inbox-reply[hidden],.md3-inbox-quote[hidden]{display:none}
.md3-account-shortcut--inbox{position:relative}
.md3-account-unread{position:absolute;top:8px;right:8px;min-width:22px;min-height:22px;justify-content:center;padding:2px 6px;background:var(--md3-primary);color:var(--md3-on-primary);font-size:12px}

/* Publicidade: largura igual nos três formatos, sem reduzir o conteúdo no celular. */
.md3-site-layout--propagandas { display: grid; grid-template-columns: min(240px, 10vw) minmax(0, 1fr) min(240px, 10vw); grid-template-areas: "esquerda conteudo direita"; gap: 20px; max-width: 1648px; margin: 0 auto; padding: 0 20px; align-items: start; }
.md3-site .md3-site-layout--propagandas > .md3-content { grid-area: conteudo; min-width: 0; width: 100%; margin: 0 auto; }
.md3-propaganda-sidebar { display: flex; flex-direction: column; gap: 16px; padding: 28px 0; min-width: 0; }
/* Cada lateral usa no máximo 10% da largura visível, limitada aos 240 px originais.
   As proporções e os elementos internos acompanham a largura da própria lateral. */
.md3-propaganda-sidebar { container-type: inline-size; }
.md3-propaganda-sidebar .md3-propaganda { width: 100%; height: auto; box-sizing: border-box; border-radius: 5.833333cqw; }
.md3-propaganda-sidebar .md3-propaganda--pequeno { aspect-ratio: 3 / 2; }
.md3-propaganda-sidebar .md3-propaganda--medio { aspect-ratio: 3 / 4; }
.md3-propaganda-sidebar .md3-propaganda--grande { aspect-ratio: 1 / 2; }
.md3-propaganda-sidebar .md3-propaganda__texto { gap: 1.25cqw; padding: 4.166667cqw 5cqw; }
.md3-propaganda-sidebar .md3-propaganda__rotulo { font-size: 4.166667cqw; line-height: 5.833333cqw; }
.md3-propaganda-sidebar .md3-propaganda__titulo { font-size: 5.833333cqw; line-height: 7.5cqw; }
.md3-propaganda-sidebar .md3-propaganda__descricao { font-size: 5cqw; line-height: 6.666667cqw; }
.md3-propaganda-sidebar .md3-propaganda__placeholder { font-size: 6.666667cqw; }
.md3-propaganda-sidebar--esquerda { grid-area: esquerda; }
.md3-propaganda-sidebar--direita { grid-area: direita; }
.md3-propaganda { display: flex; flex-direction: column; width: 240px; max-width: 100%; flex: 0 0 auto; border: 1px solid var(--md3-outline-variant); border-radius: 14px; overflow: hidden; text-decoration: none; color: var(--md3-on-surface); background: var(--md3-surface-container-lowest); }
.md3-propaganda[href]:hover { border-color: var(--md3-primary); box-shadow: 0 3px 12px color-mix(in srgb, var(--md3-on-surface) 10%, transparent); }
.md3-propaganda--pequeno { height: 160px; }
.md3-propaganda--medio { height: 320px; }
.md3-propaganda--grande { height: 480px; }
.md3-propaganda__imagem { display: block; width: 100%; height: 0; min-height: 0; flex: 1 1 0; object-fit: contain; background: var(--md3-surface-container-low); }
.md3-propaganda__placeholder { display: flex; align-items: center; justify-content: center; min-height: 0; flex: 1 1 0; color: var(--md3-primary); background: var(--md3-primary-container); font-weight: 600; overflow: hidden; }
.md3-propaganda__texto { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; flex: 0 0 auto; min-width: 0; }
.md3-propaganda__rotulo { color: var(--md3-on-surface-variant); font-size: 10px; line-height: 14px; }
.md3-propaganda__titulo { font-size: 14px; line-height: 18px; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.md3-propaganda__descricao { font-size: 12px; line-height: 16px; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.md3-propaganda-editor { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 24px; align-items: start; }
.md3-propaganda-editor > form { min-width: 0; }
.md3-propaganda-preview .md3-section-title { margin-top: 0; }
.md3-propaganda-admin-thumb { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; display: block; margin-top: 12px; }
/* Mesmo limite da barra de navegação inferior e do banner mobile. */
@media (max-width: 820px) {
  .md3-site-layout--propagandas { grid-template-columns: minmax(0, 1fr); grid-template-areas: "conteudo" "esquerda" "direita"; gap: 0; padding: 0; }
  .md3-site .md3-site-layout--propagandas > .md3-content { padding-bottom: 24px; }
  .md3-propaganda-sidebar { flex-direction: row; justify-content: center; flex-wrap: wrap; padding: 12px 16px; }
  .md3-site-layout--propagandas { padding-bottom: 100px; }
}
@media (max-width: 700px) {
  .md3-propaganda-editor { grid-template-columns: minmax(0, 1fr); }
  .md3-propaganda-preview { justify-self: center; }
}

.md3-mobile-ad, .md3-mobile-ad-reopen { display: none; }
@media (max-width: 820px) {
  .md3-mobile-ad { position: fixed; display: flex; align-items: center; gap: 8px; left: 12px; right: 12px; bottom: calc(var(--md3-bottom-nav-height, 84px) + 10px); z-index: 48; min-height: 72px; max-height: 80px; border: 1px solid var(--md3-outline-variant); border-radius: 12px; padding: 8px; background: var(--md3-surface-container-lowest); box-shadow: 0 4px 18px color-mix(in srgb, var(--md3-on-surface) 14%, transparent); }
  .md3-mobile-ad-reopen { position: fixed; display: inline-flex; align-items: center; justify-content: center; left: 12px; bottom: calc(var(--md3-bottom-nav-height, 84px) + 10px); z-index: 48; min-height: 44px; padding: 8px 14px; border: 1px solid var(--md3-outline-variant); border-radius: 12px 12px 0 0; background: var(--md3-surface-container-lowest); color: var(--md3-on-surface); font: inherit; font-size: 13px; box-shadow: 0 2px 10px color-mix(in srgb, var(--md3-on-surface) 12%, transparent); cursor: pointer; }
  .md3-mobile-ad__items { flex: 1; min-width: 0; }
  .md3-mobile-ad__item { display: flex; align-items: center; gap: 10px; color: var(--md3-on-surface); text-decoration: none; min-width: 0; }
  .md3-mobile-ad__item img, .md3-mobile-ad__item video { width: 52px; height: 52px; flex: 0 0 52px; border-radius: 8px; object-fit: contain; }
  .md3-mobile-ad__copy { min-width: 0; }
  .md3-mobile-ad__copy small { display: block; font-size: 10px; color: var(--md3-on-surface-variant); }
  .md3-mobile-ad__copy strong { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; font-size: 14px; line-height: 18px; }
  .md3-mobile-ad__controls { display: flex; align-items: center; }
  .md3-mobile-ad__controls button { border: 0; background: transparent; color: var(--md3-on-surface); width: 36px; height: 44px; font-size: 26px; cursor: pointer; }
  .md3-site.md3-mobile-ad-visible .md3-content { padding-bottom: calc(var(--md3-bottom-nav-height, 84px) + 100px); }
  .md3-site.md3-mobile-ad-visible .md3-fab { bottom: calc(var(--md3-bottom-nav-height, 84px) + 92px); }
  .md3-propaganda-sidebar { display: none; }
  .md3-site .md3-navbar__dest { font-size: 11px; }
}

.md3-mototaxi-entry { display: flex; align-items: center; gap: 16px; color: var(--md3-on-surface); text-decoration: none; margin-top: 16px; }
.md3-mototaxi-entry p { margin: 4px 0 0; font-size: 14px; }
.md3-mototaxi-entry__icon, .md3-mototaxi-hero__icon { font-size: 36px; }
.md3-mototaxi-entry > div { flex: 1; }
.md3-mototaxi-hero { padding: 24px; border: 1px solid var(--md3-outline-variant); background: var(--md3-primary-container); border-radius: 20px; }
.md3-mototaxi-address { white-space: pre-wrap; overflow-wrap: anywhere; }
.md3-wizard-summary { margin-bottom: 20px; padding: 16px; border-radius: 12px; background: var(--md3-surface-container-low); }
.md3-wizard-summary p { margin: 4px 0; font-size: 14px; }

.md3-legal-content h2 { font-size: 20px; line-height: 28px; margin: 28px 0 12px; }
.md3-legal-content p { line-height: 1.7; overflow-wrap: anywhere; }

.md3-mobile-ad__items { opacity: 1; transition: opacity 250ms ease; }
.md3-mobile-ad__items--faded { opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  .md3-mobile-ad__items { transition: none; }
}
