/* Apresentação compartilhada de parceiros, dentro de cada localização. */
.rotezi-main #directory-grid{--partner-ink:#183653;--partner-muted:#50647b;--partner-line:#cbdbea;--partner-soft:#edf5ff;--partner-ad-bg:#f3f8ff}
.rotezi-main #directory-grid .directory-area-content{display:grid;gap:12px;padding:0 12px 12px}
.rotezi-main #directory-grid .directory-area-grid{padding:0;align-items:start}
.rotezi-main #directory-grid .directory-area-grid:empty{display:none}
.directory-partner-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.directory-partner-list>.directory-card,#sports-classes-grid>.directory-card.is-partner{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:18px;min-width:0;align-content:start}
.directory-partner-list>.directory-card.has-media{grid-template-columns:minmax(0,36%) minmax(0,1fr);column-gap:20px}
.directory-partner-list .partner-gallery{grid-column:1;grid-row:1/4;min-width:0;align-self:start}
.directory-partner-list .has-media>.directory-copy,.directory-partner-list .has-media>.directory-route-notice,.directory-partner-list .has-media>.directory-card-actions{grid-column:2}
.rotezi-main #directory-grid .directory-card{height:auto;min-height:0;scroll-margin-block:20px}
.rotezi-main #directory-grid .directory-copy{min-width:0}
.rotezi-main #directory-grid .directory-copy>p{max-width:75ch;font-size:13px;line-height:1.5}
.rotezi-main #directory-grid .directory-route-notice{margin:0;font-size:13px;line-height:1.45;color:var(--partner-muted);max-width:78ch}
.rotezi-main #directory-grid .directory-card-actions,#sports-classes-grid .directory-card-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;margin:0;padding-top:0}
.rotezi-main #directory-grid .directory-card-actions :is(a,button),#sports-classes-grid .directory-card-actions :is(a,button){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;max-width:100%;padding:10px 12px;border:1px solid var(--partner-line,#cbdbea);border-radius:11px;background:var(--partner-soft,#edf5ff);color:var(--partner-ink,#183653);font-size:12px;font-weight:750;line-height:1.3;text-decoration:none;text-align:center;white-space:normal;cursor:pointer}
.rotezi-main #directory-grid .directory-card-actions [data-directory-correction]{background:transparent;font-weight:600}
.rotezi-main #directory-grid .directory-card-actions :is(a,button):hover{border-color:#1176da;background:#dfedff;color:#163d69}
.rotezi-main #directory-grid :is(a,button):focus-visible{outline:3px solid #1478e4;outline-offset:3px}
.partner-identity{display:flex;gap:12px;align-items:center;min-width:0;margin:8px 0}
.partner-identity h3{margin:0;word-break:normal;overflow-wrap:normal}
.partner-logo{display:block;width:64px;height:64px;flex:0 0 64px;object-fit:contain;background:#fff;padding:6px;border-radius:12px;border:1px solid #dae5ef}
.partner-gallery .directory-media{display:block;margin:0;aspect-ratio:auto;border-radius:14px}
.partner-gallery .directory-media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 60%}
.partner-gallery [data-photo-kind="aerial"]{object-fit:contain!important;background:#dbeaf2}


.partner-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.partner-thumbnails button{padding:2px;min-width:0;min-height:44px;border:2px solid transparent;border-radius:9px;background:var(--card,#fff);cursor:pointer}
.partner-thumbnails button[aria-pressed="true"]{border-color:#127bff}
.partner-thumbnails button:focus-visible{outline:3px solid #127bff;outline-offset:2px}
.partner-thumbnails img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px}
.partner-details{padding:8px 0;border-top:1px solid var(--partner-line,#d9e7f3);border-bottom:1px solid var(--partner-line,#d9e7f3);margin:12px 0}
.partner-details p{margin:4px 0;font-size:13px;line-height:1.5}
.rotezi-main #directory-grid .directory-rating-slot{margin:8px 0 4px}
.rotezi-main #directory-grid .directory-rating-copy{font-size:11px;font-weight:500;color:var(--partner-muted)}
/* O anúncio tem uma única ação. Mídia nunca recebe contatos externos. */
.rotezi-main #directory-grid .partner-ad{display:block;margin:0;padding:18px;min-width:0;border:1px solid var(--partner-line);border-radius:16px;background:var(--partner-ad-bg);color:var(--partner-ink)}
.partner-ad-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.rotezi-main #directory-grid .partner-ad .rotezi-ad-label{display:inline-flex;margin:0;padding:6px 10px;border-radius:999px;background:#0758b8;color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em;text-transform:none}
.partner-ad-body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;min-width:0}
.has-ad-photos .partner-ad-body{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}
.partner-ad-copy{min-width:0}
.partner-ad-copy .partner-logo{margin-bottom:10px}
.rotezi-main #directory-grid .partner-ad-copy strong{display:block;margin:0 0 6px;font-size:19px;line-height:1.25;color:var(--partner-ink);word-break:normal;overflow-wrap:normal}
.rotezi-main #directory-grid .partner-ad-copy p{max-width:60ch;margin:0;font-size:13px;line-height:1.5;color:var(--partner-muted)}
.rotezi-main #directory-grid .partner-ad-copy .partner-ad-area{margin-bottom:4px;font-weight:650}
.partner-ad-presentation{display:grid;gap:12px;min-width:0;justify-items:start}
.partner-ad-presentation>button{min-height:44px;max-width:100%;padding:11px 16px;border-radius:11px;white-space:normal;line-height:1.35}
.partner-ad-photos{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:8px;width:100%}
.partner-ad-photos img{display:block;width:100%;min-width:0;aspect-ratio:4/3;object-fit:cover;object-position:center 60%;border-radius:10px}
.partner-ad-photos img:first-child{grid-column:auto;aspect-ratio:4/3}
.rotezi-main #directory-grid .directory-area>.directory-area-content>.partner-ad{padding:16px}
#sports-classes-grid>.directory-card.is-partner{grid-column:1/-1}
.directory-partner-list[hidden],.directory-partner-list>.directory-card[hidden],.partner-gallery[hidden],.partner-logo[hidden],.partner-ad[hidden],#sports-classes-grid>.directory-card[hidden]{display:none!important}
/* Usar a largura sem reservar uma coluna vazia quando ainda não há fachada. */
@media(min-width:851px){
 .directory-partner-list>.directory-card:not(.has-media) .directory-copy:has(.partner-details){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;align-content:start}
 .directory-partner-list>.directory-card:not(.has-media) .directory-copy:has(.partner-details)>*{grid-column:1}
 .directory-partner-list>.directory-card:not(.has-media) .directory-copy>.partner-details{grid-column:2!important;grid-row:1/8;margin:0;padding:0 0 0 20px;border:0;border-left:1px solid var(--partner-line)}
}
@media(max-width:850px){
 .directory-partner-list>.directory-card.has-media{grid-template-columns:minmax(0,1fr)}
 .directory-partner-list .partner-gallery,.directory-partner-list .has-media>.directory-copy,.directory-partner-list .has-media>.directory-route-notice,.directory-partner-list .has-media>.directory-card-actions{grid-column:1;grid-row:auto}
 .directory-partner-list>.directory-card,#sports-classes-grid>.directory-card.is-partner{padding:14px}
 .partner-logo{width:56px;height:56px;flex-basis:56px}
 .partner-ad .partner-ad-body{grid-template-columns:minmax(0,1fr);gap:14px}
 .partner-ad-presentation{width:100%}
 .partner-ad-presentation>button{width:100%}
 .partner-ad-photos{grid-template-columns:minmax(0,1fr)}
 .partner-ad-photos img:not(:first-child){display:none}
 .rotezi-main #directory-grid .directory-area-content{padding:0 8px 8px}
 .rotezi-main #directory-grid .partner-ad{padding:14px}
}
/* Proximidade entre navegação principal, círculos e busca, sem reduzir o alvo de toque. */
.rotezi-main #journey-stage>#descobrir{margin-top:0;padding-top:8px}
.rotezi-main #directory-categories.category-row{gap:8px;padding:6px 4px 10px;margin:0}
.rotezi-main #directory-categories .category-story{flex:0 0 96px;min-width:0;max-width:96px;gap:7px}
.rotezi-main #directory-categories .category-story-label{width:100%;max-width:96px;line-height:1.3}
.rotezi-main #descobrir>.scroll-hint-ux{margin:0 0 8px}
.rotezi-main #descobrir .discovery-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px}
.rotezi-main #descobrir .directory-heading{grid-column:1/-1}
.rotezi-main #directory-search{width:100%;min-width:0;min-height:44px}
.directory-help-button{min-height:44px;padding:10px 12px;border-radius:12px}

@media(max-width:620px){
 .rotezi-main #journey-stage>#descobrir{padding-top:4px}
 .rotezi-main #directory-categories.category-row{gap:5px}
 .rotezi-main #directory-categories .category-story{flex-basis:86px;max-width:86px}
 .rotezi-main #directory-categories .category-story-label{font-size:11px}
}
html[data-theme="dark"] .rotezi-main #directory-grid{--partner-ink:#eff6ff;--partner-muted:#bacde1;--partner-line:#355475;--partner-soft:#142f4c;--partner-ad-bg:#10233c}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .rotezi-main #directory-grid{--partner-ink:#eff6ff;--partner-muted:#bacde1;--partner-line:#355475;--partner-soft:#142f4c;--partner-ad-bg:#10233c}}

/* Leitura do PDF no painel existente, sem navegação automática para outro site. */
.partner-menu{display:grid;gap:12px;min-width:0}
.partner-menu-actions,.partner-menu-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.partner-menu :is(button,a){display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;font-size:12px;text-decoration:none}
.partner-menu button:disabled{opacity:.45;cursor:default}
.partner-menu [data-menu-count]{font-size:13px;font-weight:700}
.partner-menu-page{max-width:100%;overflow:auto;background:#fff;border-radius:10px;max-height:65dvh;overscroll-behavior:contain}
.partner-menu-page img{display:block;width:100%;height:auto;max-width:none}
.partner-menu.is-expanded .partner-menu-page img{width:200%}
.partner-menu [hidden]{display:none!important}
.partner-menu [data-menu-error]{font-size:13px;line-height:1.5}

/* Galeria completa. A rolagem nativa acompanha o dedo sem bloquear a página. */
.partner-gallery{min-width:0;max-width:100%}
.partner-gallery .partner-gallery-viewport{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;max-width:100%;background:#10233c}
.partner-gallery .partner-gallery-slide{position:relative;flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
.partner-gallery .partner-gallery-slide>[data-gallery-open]{display:block;width:100%;height:100%;padding:0;margin:0;border:0;border-radius:0;background:transparent;cursor:zoom-in}
.partner-gallery .partner-gallery-slide img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;background:transparent}
.partner-gallery .partner-gallery-slide img[hidden]{display:none}
.partner-gallery .partner-gallery-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:10px 0 2px}
.partner-gallery-controls button,.partner-gallery-error button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--partner-line,#cbdbea);border-radius:10px;background:var(--partner-soft,#edf5ff);color:var(--partner-ink,#183653);cursor:pointer;line-height:1.2}
.partner-gallery-controls [data-gallery-step]{font-size:26px}
.partner-gallery-controls button:disabled{opacity:.4;cursor:default}
.partner-gallery-controls [data-gallery-count]{min-width:56px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;color:var(--partner-ink,#183653)}
.partner-gallery .partner-thumbnails{position:relative;display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;gap:8px;padding:4px 2px 8px;margin:8px 0 0;scrollbar-width:thin}
.partner-gallery .partner-thumbnails button{flex:0 0 72px;scroll-snap-align:start}
.partner-gallery .partner-thumbnails img{width:100%;height:52px;aspect-ratio:auto;object-fit:cover}
.partner-gallery .partner-gallery-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;color:#fff;text-align:center;background:#10233c;font-size:14px}
.partner-gallery .partner-gallery-error[hidden]{display:none}
.partner-gallery-dialog{box-sizing:border-box;width:min(1100px,96vw);max-width:96vw;max-height:96dvh;padding:16px;border:1px solid #355475;border-radius:18px;background:var(--card,#fff);color:var(--text,#183653);overflow:auto;overscroll-behavior:contain}
.partner-gallery-dialog::backdrop{background:rgba(0,10,24,.8)}
.partner-gallery-dialog[data-gallery-fallback][open]{position:fixed;inset:2dvh 2vw;z-index:100000;box-shadow:0 0 0 100vmax rgba(0,10,24,.8)}
.partner-gallery-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 12px}
.partner-gallery-dialog>header button{min-height:44px;padding:10px 14px;border:1px solid #cbdbea;border-radius:10px;background:var(--partner-soft,#edf5ff);color:var(--partner-ink,#183653);cursor:pointer}
.partner-gallery-dialog .partner-gallery-slide{height:min(62dvh,760px);aspect-ratio:auto}
.partner-gallery-dialog :focus-visible,.partner-gallery :focus-visible{outline:3px solid #127bff;outline-offset:-3px}
html[data-theme="dark"] .partner-gallery-dialog{--partner-ink:#eff6ff;--partner-muted:#bacde1;--partner-line:#355475;--partner-soft:#142f4c;background:#10233c;color:#eff6ff}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .partner-gallery-dialog{--partner-ink:#eff6ff;--partner-muted:#bacde1;--partner-line:#355475;--partner-soft:#142f4c;background:#10233c;color:#eff6ff}}
@media(max-width:620px){.partner-gallery-dialog{padding:10px}.partner-gallery-dialog .partner-gallery-slide{height:55dvh}.partner-gallery-controls [data-gallery-expand]{font-size:12px}}

/* Espaços vazios não são imagens, fontes ou fotos genéricas. */
.partner-photo-placeholder{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;aspect-ratio:4/3;padding:18px;box-sizing:border-box;text-align:center;font-size:12px;line-height:1.5;color:var(--partner-muted,#50647b);background:var(--partner-soft,#edf5ff)}
.partner-gallery.is-empty .partner-gallery-viewport{overflow:hidden}
.partner-thumbnails.is-empty>span{flex:0 0 72px;height:60px;border:1px solid var(--partner-line,#cbdbea);border-radius:9px;background:var(--partner-soft,#edf5ff)}
