/* Only page content. Header, footer, dock, type family and modal come from quality.js. */
.basis-preparation { color:var(--q-ink); background:var(--q-warm); }
.basis-preparation .quality-page-hero { min-height:0; background:var(--q-warm); }
.basis-preparation .quality-page-hero--text-only .quality-page-hero-copy { width:min(var(--q-shell-max),calc(100% - 48px));max-width:none;padding:32px 0 24px; }
.basis-preparation .quality-page-hero-copy h1 { max-width:none; }
.basis-preparation .quality-page-hero-copy>p:last-child { margin:12px 0 0; }
.basis-workspace { padding:0 0 40px; }
.basis-preparation .quality-page-content .basis-workspace>.quality-wrap { max-width:var(--q-shell-max); }
.basis-layout { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,1fr);gap:18px;align-items:stretch; }
.basis-map-panel,.basis-location-panel { min-width:0;padding:20px;border:1px solid var(--q-line);border-radius:18px;background:#fff; }
.basis-preparation .basis-workspace h2 { margin:0;font-size:22px;line-height:1.25;letter-spacing:-.03em;max-width:none; }
.basis-panel-heading { display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap; }
.basis-preparation .basis-panel-heading p,.basis-preparation .basis-map-caption { margin:8px 0 0;color:var(--q-muted);font-size:13px; }
.basis-map-slot { display:grid;place-items:center;min-height:380px;aspect-ratio:7/5;margin-top:16px;background:var(--q-warm);border-radius:10px;overflow:hidden;position:relative; }
.basis-preparation .basis-map-slot>p { max-width:29ch;padding:20px;text-align:center;font-size:15px;color:var(--q-muted); }
.basis-office-list { margin-top:14px;display:grid;gap:6px; }
.basis-office { border:1px solid var(--q-line);border-radius:10px;overflow:hidden;background:#fff; }
.basis-office summary { min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;list-style:none;color:var(--q-blue);font-size:15px;font-weight:650;cursor:pointer; }
.basis-office summary::-webkit-details-marker { display:none; }
.basis-office[open] { background:var(--q-warm); }
.basis-office[open] summary { color:var(--q-ink); }
.basis-chevron { display:inline-flex;flex:0 0 var(--q-icon-function);width:var(--q-icon-function);height:var(--q-icon-function);line-height:1; }
.basis-office[open] .basis-chevron { transform:rotate(90deg); }
.basis-office-detail { padding:0 12px 13px;font-size:14px;line-height:1.5; }
.basis-office address { font-style:normal;color:var(--q-muted); }
.basis-contacts { display:flex;flex-wrap:wrap;gap:2px 16px;margin:7px 0; }
.basis-contacts a { font-size:13px; }
.basis-contacts a[href^="tel:"] { white-space:nowrap; }
.basis-contacts a[href^="mailto:"] { overflow-wrap:anywhere; }
.basis-location-panel>.quality-button { margin-top:14px; }
.basis-preparation .basis-cantons { display:grid;grid-template-columns:220px 1fr;gap:20px;padding:28px 0; }
.basis-preparation .basis-cantons p { margin:6px 0;font-size:14px; }
.basis-canton-links { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px; }
.basis-canton-links a,.basis-services>div:last-child>a { min-width:0;overflow-wrap:anywhere;display:flex;align-items:center;gap:5px;min-height:44px;padding:9px 12px;border:1px solid var(--q-line);border-radius:10px;background:#fff;text-decoration:none;font-size:14px; }
.basis-canton-links a>span:last-child,.basis-services a>span { margin-left:auto; }
.basis-canton-links a>span:first-child { font-weight:400; }
.basis-services { display:grid;grid-template-columns:220px 1fr;gap:20px;padding:25px 0 0;border-top:1px solid var(--q-line); }
.basis-preparation .basis-services h2 { font-size:18px; }
.basis-services>div:last-child { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px; }
.basis-workspace a:focus-visible,.basis-workspace summary:focus-visible { outline:3px solid var(--q-blue);outline-offset:3px; }
@media(max-width:820px){
 .basis-preparation .quality-page-hero--text-only .quality-page-hero-copy { width:calc(100% - 40px);padding:20px 0 22px; }
 .basis-layout { grid-template-columns:1fr; }
 .basis-map-panel,.basis-location-panel { padding:16px; }
 .basis-map-slot { min-height:240px; }
 .basis-preparation .basis-cantons,.basis-services { grid-template-columns:1fr;gap:14px; }
 .basis-canton-links,.basis-services>div:last-child { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:390px){.basis-canton-links,.basis-services>div:last-child{grid-template-columns:1fr;}}

.basis-view-switch{display:none}
@media(max-width:820px){
 .basis-view-switch{display:flex;gap:8px;margin:0 0 12px}
 .basis-view-switch button{flex:1;min-height:48px;padding:10px 16px;border:1px solid var(--q-blue);border-radius:12px;background:#fff;color:var(--q-blue);font:700 16px/1.25 var(--q-font-ui);cursor:pointer}
 .basis-view-switch button[aria-pressed=true]{border-color:var(--q-green);background:var(--q-mint);color:var(--q-ink)}
 .basis-workspace[data-mobile-view=map] .basis-location-panel,.basis-workspace[data-mobile-view=list] .basis-map-panel{display:none}
}

.basis-cantons>div,.basis-services>div{min-width:0}
