/* Nur die Kinderseite: gemeinsame Gestaltungsrollen, Tarif- und Formularlogik bleiben bestehen. */
.g-hero--dental .g-hero-inner { gap:clamp(24px,3vw,64px); }
.g-hero--dental .g-hero-copy { flex:1 1 0; min-width:0; }
.dental-hero-example { flex:0 0 min(500px,34vw,calc((100dvh - 235px) * .72)); color:#fff; }
.dental-hero-tooth { position:relative; width:100%; aspect-ratio:800/1050; container-type:inline-size; }
.dental-hero-tooth__glass {
 position:absolute; inset:0;
 background:linear-gradient(135deg,#ffffff35,#ffffff10 45%,#ffffff24),#19232180;
 -webkit-backdrop-filter:blur(12px) saturate(1.15); backdrop-filter:blur(12px) saturate(1.15);
 -webkit-mask:url('/assets/images/zahnzusatz/gecko-zahn-kinder-hero-v2.svg') center/100% 100% no-repeat;
 mask:url('/assets/images/zahnzusatz/gecko-zahn-kinder-hero-v2.svg') center/100% 100% no-repeat;
}
.dental-hero-tooth__edge { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.dental-hero-tooth__copy { position:absolute; top:12%; left:16%; right:16%; text-align:center; color:#fff; }
.g-page main .dental-hero-tooth__copy h2 { color:#fff; }
.g-page main .dental-hero-tooth__subtitle { margin-top:8px; font:400 12px/1.4 var(--g-sans); color:#ffffffe0; }
.dental-hero-tooth__amounts { display:grid; gap:20px; margin:25px 0 0; }
.dental-hero-tooth__amounts dt { font:400 13px/1.4 var(--g-sans); }
.dental-hero-tooth__amounts dd { margin:5px 0 0; font:300 clamp(36px,11cqi,55px)/1.05 var(--g-sans); letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.dental-hero-tooth__with dd { font-size:clamp(56px,16cqi,80px); }
.dental-hero-tooth__with dd span { display:inline-block; margin-left:8px; font:400 12px/1.4 var(--g-sans); letter-spacing:0; }
.dental-hero-example figcaption { margin:0 auto; max-width:390px; text-align:center; font:400 12px/1.6 var(--g-sans); color:#ffffffe0; }
@media(min-width:1001px) and (max-height:820px) {
 .g-page .g-hero--dental .g-hero-inner { padding-bottom:64px; }
}
@media(max-width:1000px) {
 .g-page .g-hero--dental .g-hero-stage { height:auto; min-height:100dvh; }
 .g-page .g-hero--dental .g-hero-inner { height:auto; min-height:100dvh; flex-direction:column; align-items:stretch; gap:36px; padding-block:150px 48px; opacity:1; transform:none; }
 .g-hero--dental .g-hero-copy { flex:none; width:100%; max-width:760px; }
 .dental-hero-example { flex:none; width:min(430px,100%); align-self:center; }
}
@media(max-width:374px) {
 .dental-hero-tooth__amounts { gap:15px; margin-top:18px; }
 .dental-hero-tooth__with dd { font-size:52px; }
}
.g-page.zz-page {
 --zz-ink:#222; --zz-text:#444; --zz-muted:#666; --zz-line:#ddd;
 --zz-title:var(--g-sans); --zz-card-surface:var(--g-surface); --zz-surface:#fff;
 --zz-fs-h2:var(--g-title); --zz-fs-h3-large:var(--g-card-title);
 --zz-fs-body:16px; --zz-fs-lead:18px;
}
.g-page :is(.zz-shell) { width:min(90%,1440px); margin-inline:auto; }
.g-page :is(.zz-section,.zz-faq) { padding-block:var(--g-section-space); background:#fff; }
.g-page .zz-section :is(p,li) { font-weight:400; }
.g-page :is(.zz-tariffs__heading h2,.zz-faq h2,.zz-request__intro h2) { font:400 var(--g-title)/1.2 var(--g-display); letter-spacing:var(--g-title-tracking); }
.g-page .zz-section p { line-height:1.55; }
.g-page .zz-section :is(h3,h4) { font-family:var(--g-sans); }
.g-page .dental-cost-photo { min-height:650px; }
.g-page .dental-cost-sheet { position:absolute; bottom:30px; left:30px; right:30px; border-radius:12px; padding:30px; color:#333; }
.dental-cost-sheet > span { font-size:14px; color:#555; }
.dental-cost-sheet > strong { display:block; font-size:clamp(32px,3.3vw,48px); font-weight:300; letter-spacing:var(--g-title-tracking); margin:12px 0 18px; }
.g-page .dental-cost-sheet > p { font-size:14px; margin-bottom:24px; }
.dental-cost-sheet > div { display:grid; grid-template-columns:95px 1fr; gap:14px; border-top:1px solid #5553; padding-block:14px; align-items:center; }
.dental-cost-sheet b { font-size:24px; font-weight:400; }
.dental-cost-sheet > div > span { font-size:13px; line-height:1.5; }
.g-page .zz-facts__longterm { margin-top:24px; padding:var(--g-card-space); border-radius:16px; }
.g-page .zz-facts__longterm-head { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:60px; align-items:start; }
.g-page .zz-facts__longterm-head h3 { max-width:22ch; font:300 var(--g-card-title)/1.18 var(--g-sans); letter-spacing:var(--g-title-tracking); }
.g-page .zz-facts__longterm-head > p { font-size:18px; }
.g-page .zz-facts__longterm-grid { margin-top:48px; }
.g-page :is(.zz-facts__protection-card,.zz-facts__risk-chart) { padding:32px; border-radius:12px; background:#fff; }
.g-page .zz-facts__example-card h4 { font:300 32px/1.2 var(--g-sans); letter-spacing:-.025em; }
.g-page .zz-facts__example-card .zz-facts__contribution h4 { font:300 32px/1.2 var(--g-sans); letter-spacing:-.025em; }
.g-page .zz-facts__example-card :is(h4,.zz-facts__contribution h4) { margin:12px 0 0; }
.g-page .zz-facts__example-card :is(p,.zz-facts__contribution > p) { font-size:16px; margin-top:20px; }
.g-page .zz-facts__example-card > span,.g-page .zz-facts__example-card .zz-facts__contribution > span { font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; }
.g-page .zz-facts__phases li > span { font-size:14px; line-height:1.5; }
.g-page .zz-facts__phases svg { color:var(--g-accent); }
.g-page .zz-facts__longterm-point { font-size:14px; color:#666; margin-top:24px; }
.g-page .zz-facts__comparison { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); column-gap:60px; row-gap:32px; align-items:start; padding:var(--g-card-space); margin-top:24px; border-radius:16px; background:var(--g-surface); }
.g-page :is(.zz-facts__comparison-intro,.zz-facts__comparison-lines) { min-width:0; padding:0; }
.g-page .zz-facts__comparison-intro { display:flex; flex-direction:column; align-items:flex-start; }
.g-page .zz-facts__comparison-intro h3 { font:300 var(--g-card-title)/1.18 var(--g-sans); letter-spacing:var(--g-title-tracking); max-width:100%; }
.g-page .zz-facts__comparison-intro p { font-size:18px; margin-top:24px; padding-top:0; }
.g-page .zz-facts__comparison-intro .zz-facts__cta { margin-top:28px; }
.g-page .zz-facts__comparison-lines { grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:28px 30px; }
.g-page .zz-facts__comparison-lines article { display:block; padding:0; border:0; }
.g-page .zz-facts__comparison-lines article > span { display:block; font-size:16px; line-height:1.4; color:#222; }
.g-page .zz-facts__comparison-lines p { margin-top:10px; font-size:15px; line-height:1.6; color:#666; }
.g-page .zz-facts__comparison-lines p strong { color:inherit; font-weight:400; }
.g-page .zz-facts__comparison-notes { grid-column:1/-1; max-width:900px; }
.g-page .zz-facts__comparison-notes small { font:400 12px/1.65 var(--g-sans); color:#777; }
.g-page :is(.zz-facts__comparison-lines > small,.zz-facts__sources,.zz-tariffs__legal,.zz-tariffs__sources,.zz-price-strip__footnote) { font-size:14px; line-height:1.6; color:#666; }
.g-page .zz-facts__sources { margin-top:30px; }
.g-page .zz-tariffs__heading { grid-template-columns:1fr; gap:26px; max-width:850px; margin-bottom:64px; }
.g-page .zz-tariffs__heading p { max-width:650px; font-size:18px; }
.g-page .zz-tariffs__cards { gap:16px; margin-top:0; }
.g-page .zz-tariff-card { border-radius:16px; background:var(--g-surface); padding:var(--g-card-space); }
.g-page .zz-tariff-card h3 { font:300 40px/1.18 var(--g-sans); letter-spacing:-.03em; margin-block:20px; }
.g-page .zz-tariff-card__lead { font-size:18px; }
.g-page .zz-tariff-card__facts li { font-size:16px; line-height:1.6; }
.g-page .zz-tariff-card__provider { margin-top:28px; font-size:16px; font-weight:400; }
.g-page .zz-tariff-card__route { font-size:13px; }
.g-page .zz-price-strip { margin-top:24px; padding:var(--g-card-space); border-radius:16px; background:var(--g-surface); }
.g-page .zz-price-strip__head { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:40px; }
.g-page .zz-price-strip__head h3 { font:300 32px/1.2 var(--g-sans); letter-spacing:-.025em; }
.g-page .zz-price-strip__head > p { font-size:16px; }
.g-page .zz-price-comparison { margin-top:40px; }
.g-page .zz-price-comparison__row { background:#fff; }
.g-page .zz-price-comparison__row > strong { font-weight:400; }
.g-page .zz-price-comparison__head { background:#eceeee; }
.g-page .zz-tariffs__compare { margin-top:64px; padding:0; border:0; }
.g-page .zz-tariffs__compare-intro { grid-template-columns:1fr; gap:24px; max-width:850px; margin-bottom:40px; }
.g-page .zz-tariffs__compare-intro h3 { font:300 40px/1.2 var(--g-sans); letter-spacing:-.03em; }
.g-page .zz-tariffs__compare-intro p { font-size:18px; }
.g-page .zz-compare-table { border-radius:12px; }
.g-page .zz-compare-table__head { background:#eceeee; }
.g-page .zz-compare-table__row > * { font-size:16px; font-weight:400; }
.g-page .zz-journey__rows { gap:24px; }
.g-page .zz-journey__row--feature { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); }
.g-page .zz-journey__row--context { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); }
.g-page :is(.zz-journey__card,.zz-journey__media) { min-height:595px; border-radius:16px; }
.g-page .zz-journey__card { padding:var(--g-card-space); justify-content:flex-start; background:var(--g-surface); }
.g-page .zz-journey__card h2 { max-width:100%; font:300 var(--g-card-title)/1.18 var(--g-sans); letter-spacing:var(--g-title-tracking); text-wrap:pretty; margin-bottom:60px; }
.g-page .zz-journey__card > p { font-size:18px; line-height:1.55; }
.g-page .zz-journey__card h2 + p { margin-top:auto; }
.g-page .zz-journey__media img { position:absolute; inset:0; filter:none; transform:none; }
.g-page .zz-journey__media::before { display:none; }
.g-page :is(.zz-btn) { min-height:54px; padding:15px 26px; background:#333; border:1px solid #333; border-radius:100px; color:#fff; font:400 14px/1.4 var(--g-sans); text-decoration:none; white-space:normal; }
.g-page :is(.zz-btn):hover { background:#222; border-color:#222; color:#fff; transform:none; }
.g-page .zz-faq > .zz-shell { max-width:1080px; }
.g-page .zz-faq h2 { max-width:850px; margin-bottom:48px; }
.g-page .zz-faq button { padding-block:26px; letter-spacing:-.02em; font:300 19px/1.5 var(--g-sans); color:#222; }
.g-page .zz-faq__list > li > div p { font-size:16px; line-height:1.65; color:#666; font-weight:400; }
.g-page .zz-request__layout { align-items:end; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:48px; padding:40px; border-radius:16px; background:linear-gradient(90deg,#0009,#0002),url('/assets/images/zahnzusatz/zahnarztpraxis-hero.jpg') center/cover; }
.g-page .zz-request__intro { position:static; padding:20px; }
.g-page .zz-request__intro :is(h2,p,li) { color:#fff; }
.g-page .zz-request__intro > p { font-size:18px; }
.g-page .zz-request__intro li { font-size:16px; }
.g-page .zz-request__card { padding:40px; border-radius:16px; box-shadow:none; }
.g-page .zz-form__field { font-size:14px; }
.g-page .zz-form__field :is(input,select,textarea) { min-height:46px; height:auto; border-color:#ccc; border-radius:6px; font-size:16px; font-weight:400; }
.g-page .zz-form__field :is(input,select) { height:46px; padding-block:10px; }
.g-page .zz-form__field textarea { min-height:120px; }
.g-page .zz-consent { font-size:14px; }
.g-page .zz-consent input { accent-color:#333; }
.g-page .zz-consent a { color:#444; }
.g-page .zz-form__note { font-size:13px; color:#666; margin-top:20px; }
@media(max-width:1100px) {
 .g-page .zz-facts__comparison { column-gap:32px; }
 .g-page .zz-facts__comparison-lines { grid-template-columns:1fr; gap:20px; }
 .g-page .zz-facts__comparison-notes { gap:32px; }
 .g-page .zz-facts__longterm-head { gap:32px; }
 .g-page .zz-request__layout { grid-template-columns:1fr; padding:32px; }
 .g-page .zz-request__intro { max-width:680px; }
 .g-page .zz-tariff-card { padding:32px; }
 .g-page .zz-tariff-card h3 { font-size:32px; }
}
@media(max-width:767px) {
 .g-page.zz-page { --zz-fs-body:16px; --zz-fs-lead:16px; }
 .g-page :is(.zz-shell) { width:calc(100% - 40px); }
 .g-page .dental-cost-photo { min-height:530px; }
 .g-page .dental-cost-sheet { left:20px; right:20px; bottom:20px; padding:24px; }
 .g-page .dental-cost-sheet > strong { font-size:32px; }
 .g-page .zz-facts__longterm-head,.g-page .zz-facts__longterm-grid,.g-page .zz-facts__comparison,.g-page .zz-price-strip__head,.g-page .zz-journey__row,.g-page .zz-tariffs__cards { grid-template-columns:1fr; gap:24px; }
 .g-page :is(.zz-tariffs__heading p,.zz-tariffs__compare-intro p,.zz-request__intro > p) { font-size:16px; }
 .g-page .zz-facts__longterm { padding:24px; }
 .g-page :is(.zz-facts__protection-card,.zz-facts__risk-chart) { padding:24px; }
 .g-page .zz-facts__example-card h4,.g-page .zz-facts__example-card .zz-facts__contribution h4 { font-size:28px; }
 .g-page .zz-facts__longterm-grid { margin-top:32px; }
 .g-page .zz-facts__comparison-notes { grid-template-columns:1fr; gap:12px; }
 .g-page .zz-facts__comparison-lines { gap:20px; }
 .g-page .zz-facts__comparison-lines p { margin-top:6px; font-size:14px; }
 .g-page .zz-tariffs__heading { margin-bottom:40px; }
 .g-page .zz-tariff-card { padding:30px; }
 .g-page .zz-tariff-card__topline { gap:12px; }
 .g-page .zz-tariff-card__route { font-size:12px; }
 .g-page .zz-price-strip { padding:24px; }
 .g-page .zz-price-strip__head h3,.g-page .zz-tariffs__compare-intro h3 { font-size:28px; }
 .g-page .zz-compare-table__row > * { font-size:14px; }
 .g-page .zz-journey__card { min-height:360px; order:2; }
 .g-page .zz-journey__media { min-height:390px; order:1; }
 .g-page .zz-journey__card h2 { margin-bottom:44px; }
 .g-page .zz-faq h2 { margin-bottom:30px; }
 .g-page .zz-faq button { font-size:17px; padding-block:22px; }
 .g-page .zz-request__layout { padding:20px; gap:40px; }
 .g-page .zz-request__intro { padding:20px 10px 0; }
 .g-page .zz-request__card { padding:24px; }
 .g-page .zz-form__grid { grid-template-columns:1fr; }
 .g-page :is(.zz-btn) { font-size:14px; min-height:50px; padding:14px 22px; }
}

/* Eine benannte Ebene hat bei !important Vorrang vor den alten, ungeschichteten
   Button-Regeln (deren :is-Liste auch eine ID enthält). Nur diese Seite einbeziehen. */
@layer service-controls {
 body.g-page :is(.zz-btn) {
  min-height:54px!important; padding:15px 26px!important; font-size:14px!important; font-weight:400!important; line-height:1.4!important;
  background:#333!important; border-color:#333!important; color:#fff!important; transform:none!important;
 }
 body.g-page :is(.zz-btn):hover { background:#222!important; border-color:#222!important; }
 @media(max-width:767px) { body.g-page :is(.zz-btn) { min-height:50px!important; padding:14px 22px!important; font-size:13px!important; } }
}

.g-page .zz-form__field { align-content:start; }
.g-page .zz-form__field > span small { color:#666; margin-left:4px; font-weight:400; }
.g-page .zz-request__intro > p { margin-top:24px; }
.g-page .zz-facts__comparison-row--warning strong,.g-page .zz-facts__comparison-row--positive strong { color:#333; }

.g-page :is(.zz-facts__longterm-head > p,.zz-facts__comparison-intro p,.zz-tariff-card__lead,.zz-journey__card > p) { color:#444; }

/* Inhalts- und Formularrollen aus der Depotseite; keine Änderungen am Verweisbereich. */
.g-page.zz-page { line-height:1.5; }
.g-page :is(.zz-tariff-card h3) { font-size:var(--g-card-title); line-height:1.18; letter-spacing:var(--g-title-tracking); }
.g-page :is(.zz-facts__example-card h4,.zz-facts__example-card .zz-facts__contribution h4,.zz-price-strip__head h3) { font:400 23px/1.35 var(--g-sans); letter-spacing:-.025em; }
.g-page .zz-request__intro h2 { font-size:clamp(38px,3.4vw,56px); line-height:1.15; }
.g-page .zz-form__field { font-weight:400; font-size:13px; line-height:1.5; color:#555; }
.g-page .zz-consent { font-size:12px; line-height:1.6; color:#666; }
.g-page .zz-tariff-card__facts strong,
.g-page .zz-price-comparison__head > span,
.g-page .zz-price-comparison__row--child > :is(span,strong),
.g-page .zz-compare-table__row > :is(span,strong),
.g-page .zz-journey__card > strong { font-weight:400; }
.g-page .zz-price-strip__head > p strong { font:inherit; }
.g-page main .zz-tariffs__compare-intro h3 { max-width:22ch; font:400 var(--g-title)/1.2 var(--g-display); letter-spacing:var(--g-title-tracking); }
@media(max-width:1100px) {
 .g-page :is(.zz-facts__longterm-head > p,.zz-facts__comparison-intro p,.zz-tariff-card__lead,.zz-journey__card > p) { font-size:16px; }
 .g-page :is(.zz-facts__example-card h4,.zz-facts__example-card .zz-facts__contribution h4,.zz-price-strip__head h3) { font-size:21px; }
}
@media(max-width:767px) {
 .g-page :is(.zz-facts__longterm-head > p,.zz-facts__comparison-intro p,.zz-tariff-card__lead,.zz-journey__card > p) { font-size:15px; }
 .g-page .zz-faq__list > li > div p { font-size:14px; }
 .g-page .zz-request__intro h2 { font-size:37px; }
 .g-page .zz-consent { font-size:11px; }
}
@media(max-width:374px) {
 .g-page :is(.zz-facts__example-card h4,.zz-facts__example-card .zz-facts__contribution h4,.zz-price-strip__head h3) { font-size:19px; }
}
/* Die bestehenden Komponentenwerte bleiben lokal von den neuen Seitentokens getrennt. */
.g-page .zz-related {
 --zz-title:"Kaisei Tokumin",Georgia,serif;
 --zz-fs-h2:var(--gecko-type-section,clamp(2.5rem,4.7vw,4.8rem));
 font-size:var(--gecko-type-body); line-height:1.55;
}

@container(max-width:380px) {
 .dental-hero-tooth__amounts { gap:14px; margin-top:18px; }
 .dental-hero-tooth__amounts dd { font-size:36px; }
 .dental-hero-tooth__with dd { font-size:52px; }
}
