/* Herzliche Helfer – shared visual contract. Last screen stylesheet.
   Layout variants remain in their component files; values and shared roles live here. */
:root {
 --hh-wine:#83163f; --hh-wine-hover:#65102f; --hh-ink:#2b2026;
 --hh-muted:#61575c; --hh-paper:#fff; --hh-cream:#f7f4ed;
 --hh-line:#ded8d3; --hh-field:#9d8390; --hh-error:#9b2638;
 --hh-success:#246145; --hh-warning:#76520a;
 --hh-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
 --hh-h1:56px; --hh-h2:44px; --hh-h3:26px; --hh-reading:32px;
 --hh-body:18px; --hh-lead:20px; --hh-small:16px;
 --hh-space-1:4px; --hh-space-2:8px; --hh-space-3:12px; --hh-space-4:16px;
 --hh-space-5:20px; --hh-space-6:24px; --hh-space-8:32px; --hh-space-12:48px;
 --hh-section:72px; --hh-card:24px; --hh-gutter:48px; --hh-width:1160px;
 --hh-radius:24px; --hh-image-radius:20px; --hh-field-radius:12px;
 --hh-shadow:0 8px 28px #2b202608;
 --hh-fast:180ms; --hh-reveal:1450ms; --hh-ease:cubic-bezier(.22,.61,.36,1);
 --wine:var(--hh-wine); --deep:var(--hh-wine-hover); --ink:var(--hh-ink);
 --muted:var(--hh-muted); --paper:var(--hh-paper); --soft:var(--hh-cream);
 --pink:var(--hh-cream); --line:var(--hh-line); --wrap:var(--hh-width);
}
[hidden]{display:none!important}
@media screen {
 body.hh-design {font-family:var(--hh-font);font-size:var(--hh-body);line-height:1.7;color:var(--hh-ink);background:var(--hh-paper)}
 .hh-design main{--hh-copy:var(--hh-muted);--hh-heading:var(--hh-ink);--hh-accent:var(--hh-wine)}
 .hh-design :is(.subpage-story,.finance-direct,.caritas-cooperation,.focus-finance,.about-reviews,.ideas-invitation){--hh-copy:#fff;--hh-heading:#fff;--hh-accent:#fff}
 .hh-design :is(.review-card,.knowledge-topic,.knowledge-term,.knowledge-topic-link,.wayfinder-card,.plan-card,.recipe-card,.home-discover-card){--hh-copy:var(--hh-muted);--hh-heading:var(--hh-ink);--hh-accent:var(--hh-wine)}
 .hh-design main :is(h2,h3,h4){color:var(--hh-heading)!important}
 .hh-design main :is(h2,h3,h4) em{color:var(--hh-accent)!important}
 .hh-design main p:not(.eyebrow):not([role]):not([id*="status"]):not([id*="error"]):not([class*="error"]):not([class*="status"]){color:var(--hh-copy)!important}
 .hh-design main .eyebrow{color:var(--hh-accent)!important}
 .hh-design main li{color:var(--hh-copy)}
 .hh-design :is(button,input,select,textarea){font-family:inherit}
 .hh-design :is(h1,h2,h3,h4){font-weight:700;font-style:normal;overflow-wrap:break-word;text-wrap:balance}
 .hh-design main h1{font-size:var(--hh-h1)!important;line-height:1.12!important;letter-spacing:-.04em!important;margin-block:12px 24px}
 .hh-design.home-focused main h1{font-size:clamp(52px,5.5vw,80px)!important;line-height:1.06!important}
 .hh-design main h2{font-size:var(--hh-h2)!important;line-height:1.16!important;letter-spacing:-.035em!important}
 .hh-design main h3{font-size:var(--hh-h3)!important;line-height:1.25!important;letter-spacing:-.025em!important}
 .hh-design main h4{font-size:23px!important;line-height:1.3!important;letter-spacing:-.02em!important}
 .hh-design :is(h1,h2,h3,h4) em{font-style:normal}
 .hh-design :is(.page-article,.knowledge-reading,.legal-content,.recipe-detail-content,.recipe-instructions) h2{font-size:var(--hh-reading)!important;line-height:1.22!important}
 .hh-design :is(.form-success,.guide-result,.plan-card,.recipe-body,.care-result,.search-results-heading) h2{font-size:var(--hh-reading)!important}
 .hh-design :is(.page-hero-intro,.guide-hero-intro,.recipes-lead,.recipe-detail-intro,.legal-heading>p,.question-hero>p){font-size:var(--hh-lead)!important;line-height:1.7!important;color:var(--hh-muted)}
 .hh-design :is(.page-article,.knowledge-reading,.legal-content) p{font-size:var(--hh-body);line-height:1.75}
 .hh-design :is(.focus-about,.personal-copy) p:not(.eyebrow){color:var(--hh-muted)!important}
 .hh-design .eyebrow{font-size:15px;font-weight:700;line-height:1.5;letter-spacing:.055em}
 .hh-design .wrap{max-width:var(--hh-width);width:calc(100% - var(--hh-gutter)*2);margin-inline:auto}
 .hh-design :is(.page-hero,.guide-hero,.recipes-hero,.recipe-detail-hero,.site-search-section){background:var(--hh-cream);padding-block:48px 56px}
 .hh-design :is(.recipe-detail-hero.wrap,.recipes-collection.wrap){background:var(--hh-paper)}
 .hh-design :is(.visual-hero-layout,.page-hero-grid){gap:48px}
 .hh-design :is(.page-hero-copy,.visual-hero-copy,.guide-hero-copy){min-width:0}
 .hh-design :is(.page-hero,.guide-hero,.recipes-hero,.recipe-detail-hero,.site-search-section) :is(h1,.breadcrumbs){color:var(--hh-ink)!important}
 .hh-design :is(.page-hero,.guide-hero,.recipes-hero,.recipe-detail-hero,.site-search-section) :is(h1 em,.eyebrow,.text-link,.breadcrumbs a){color:var(--hh-wine)!important}
 .hh-design :is(.page-hero,.guide-hero,.recipes-hero) .hero-call{color:var(--hh-wine)!important;font-size:17px;min-height:44px;line-height:1.5}
 .hh-design :is(.home-discover,.focus-region,.care-assistant-section){background:var(--hh-cream)}
 .hh-design :is(.service-guide,.knowledge-checklist,.conversation-prep,.subpage-diagram,.care-source-links,.care-network){background:var(--hh-cream)}
 /* An inset .wrap is content, never an unpadded coloured panel. */
 .hh-design .guide-tool-section.wrap{background:transparent}
 .hh-design .region-section{background:var(--hh-paper)}
 .hh-design .region-section:nth-of-type(odd){background:var(--hh-cream)}
 .hh-design #everyday-plan>.plan-section{background:var(--hh-paper)}
 .hh-design #everyday-plan>.plan-section:nth-of-type(even){background:var(--hh-cream)}
 .hh-design #anleitungen.knowledge-section{background:var(--hh-paper)}
 /* White editorial sections use a visible boundary, without extra nesting. */
 .hh-design main>:is(section,.article-layout,.legal-heading,.legal-content,.care-guide-entry)~:is(section,.article-layout,.legal-content){border-top:1px solid var(--hh-line)}
 .hh-design .recipe-notes-section,.hh-design .guide-visits+.guide-visits{border-top:1px solid var(--hh-line)}
 .hh-design :is(.idea-card,.editorial-card,.private-help){background:var(--hh-paper);border-radius:var(--hh-radius);border-color:var(--hh-line)}
 .hh-design :is(.focus-help,.focus-about,.focus-questions,.home-discover,.focus-region,.instagram-section,.guide-tool-section,.recipes-collection,.care-assistant-section){padding-block:var(--hh-section)}
 .hh-design :is(.page-hero-actions,.guide-hero-actions,.recipes-hero-actions){gap:16px}
 .hh-design .breadcrumbs{font-size:16px;line-height:1.6;gap:8px;color:var(--hh-muted)!important}
 .hh-design .breadcrumbs a{color:var(--hh-wine)!important}
 .hh-design :is(.article-section,.knowledge-reading section){scroll-margin-top:120px}
 .hh-design .article-section+.article-section{margin-top:0}
 .hh-design .knowledge-reading{max-width:840px}
 /* Shared card surface. Wine feature panels and image-led cards have purposeful variants. */
 .hh-design :is(.knowledge-topic,.knowledge-term,.knowledge-budget,.knowledge-topic-link,.wayfinder-card,.plan-card,.plan-idea-group,.region-card,.region-excursion,.news-article,.recipe-card,.recipe-teaser,.form-success,.care-signature-details,.care-print-copy){
  border:1px solid var(--hh-line);border-radius:var(--hh-radius);background:var(--hh-paper);box-shadow:var(--hh-shadow)}
 .hh-design :is(.knowledge-topic,.knowledge-term,.knowledge-budget,.knowledge-topic-link,.wayfinder-card,.plan-card,.plan-idea-group,.region-card,.region-excursion,.news-article,.form-success){padding:var(--hh-card)}
 .hh-design :is(.home-discover-card,.review-card,.service-card,.care-option,.guide-option){border-radius:var(--hh-radius);border-color:var(--hh-line)}
 .hh-design :is(.knowledge-topic-link,.wayfinder-card,.home-discover-card):hover{border-color:var(--hh-wine);box-shadow:0 10px 30px #2b20260b}
 .hh-design :is(.visual-photo,.visual-hero-photo img,.page-hero-photo img,.recipe-photo,.instagram-image,.focus-portrait img){border-radius:var(--hh-image-radius)}
 .hh-design main img:not([src$=".svg"]):not([src*="favicon"]){border-radius:var(--hh-image-radius)}
 .hh-design :is(.recipe-card,.home-discover-card,.service-card) img{border-radius:var(--hh-image-radius)}
 /* Action roles, independent of destination/page. */
 .hh-design :is(main,.footer-v16) .button{
  min-height:52px;max-width:100%;padding:13px 24px;border-radius:999px;
  font-size:17px;font-weight:600;line-height:1.45;letter-spacing:0;text-align:center;
  white-space:normal;gap:16px;transition:background-color var(--hh-fast),border-color var(--hh-fast),box-shadow var(--hh-fast)}
 .hh-design main .button:not(.button-light):not(.button-outline):not(.button-ghost){background:var(--hh-wine);color:#fff;border-color:var(--hh-wine)}
 .hh-design main .button:not(.button-light):not(.button-outline):not(.button-ghost):hover{background:var(--hh-wine-hover);border-color:var(--hh-wine-hover)}
 .hh-design main :is(.button-light,.button-outline,.button-ghost){background:#fff;color:var(--hh-wine);border:1px solid var(--hh-field)}
 .hh-design main :is(.finance-direct,.subpage-story,.ideas-invitation,.caritas-cooperation,.focus-finance) .button{background:#fff!important;color:var(--hh-wine)!important;border-color:#fff!important}
 .hh-design main :is(.finance-direct,.subpage-story,.ideas-invitation,.caritas-cooperation,.focus-finance) .button:hover{background:var(--hh-cream)!important;color:var(--hh-wine-hover)!important}
 .hh-design .text-link{font-size:17px;font-weight:600;line-height:1.5;min-height:44px;gap:16px;text-underline-offset:5px}
 .hh-design :is(.button,.text-link)>svg{width:24px;height:24px;flex-shrink:0}
 .hh-design :is(.button,.text-link)>span[aria-hidden]{font-size:24px;line-height:1}
 .hh-design :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--hh-wine)!important;outline-offset:4px!important;box-shadow:0 0 0 4px #fff}
 .hh-design :is(.site-header,.footer-v16,.focus-finance,.reviews-section,.support-section) :is(a,button,summary):focus-visible{outline-color:#fff!important;box-shadow:0 0 0 4px var(--hh-wine)}
 .hh-design :is(button,.button):disabled,.hh-design [aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none}
 .hh-design [aria-busy="true"]{cursor:progress}
 /* Same inputs in contact, recipes, finder, plan, search and the application. */
 .hh-design main :is(input,select,textarea):not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]){
  box-sizing:border-box;min-width:0;max-width:100%;min-height:52px;padding:13px 16px;
  border:1.5px solid var(--hh-field);border-radius:var(--hh-field-radius);
  background:#fff;color:var(--hh-ink);font-size:18px;line-height:1.45;box-shadow:none}
 .hh-design main textarea{min-height:150px}
 .hh-design main :is(input,textarea)::placeholder{color:var(--hh-muted);opacity:1}
 .hh-design main :is(input[type=checkbox],input[type=radio]){accent-color:var(--hh-wine);width:22px;height:22px;flex-shrink:0}
 .hh-design main :is(input,select,textarea)[aria-invalid=true]{border-color:var(--hh-error)!important}
 .hh-design :is(.form-field,.care-field,.plan-field)>label{font-size:17px;font-weight:600;line-height:1.5}
 .hh-design :is(.form-error-summary,.care-error){border:1px solid var(--hh-error);border-left:4px solid var(--hh-error);border-radius:12px;background:#fff;color:var(--hh-error);padding:20px}
 .hh-design :is(.form-error-summary,.care-error){--hh-copy:var(--hh-error);--hh-heading:var(--hh-error)}
 .hh-design .form-error-summary h3{font-size:23px!important;color:var(--hh-error)}
 .hh-design .form-error-summary :is(a,li){font-size:16px;line-height:1.6}
 .hh-design :is(.form-state,.care-status,.recipe-status){font-size:16px;line-height:1.6}
 .hh-design .form-success{border-color:var(--hh-field)}
 .hh-design .form-success h3{font-size:var(--hh-reading)!important}
 .hh-design .form-success p{font-size:18px;line-height:1.7}
 .hh-design :is(.page-faq,.home-faq,.knowledge-reading) summary{min-height:52px;line-height:1.5}
 .hh-design :is(.article-nav,.mobile-page-index){font-size:16px}
 .hh-design .footer-welcome h2{font-size:44px;line-height:1.16;letter-spacing:-.035em}
 .hh-design .footer-directory h3{font-size:18px;line-height:1.4;letter-spacing:0}
 /* Keep the established inverse variant legible; nested white cards own their ink. */
 .hh-design .focus-finance :is(h2,h2 em,.eyebrow,p,.text-link){color:#fff!important}
 .hh-design .about-reviews .review-card{color:var(--hh-ink)}
 @media(max-width:1000px){
  :root{--hh-h1:48px;--hh-h2:38px;--hh-gutter:32px;--hh-section:56px}
  .hh-design :is(.visual-hero-layout,.page-hero-grid){gap:32px}
 }
 @media(max-width:680px){
  :root{--hh-h1:38px;--hh-h2:32px;--hh-h3:25px;--hh-reading:28px;--hh-lead:19px;--hh-gutter:20px;--hh-section:48px;--hh-card:22px}
  .hh-design.home-focused main h1{font-size:48px!important}
  .hh-design main h4{font-size:22px!important}
  .hh-design :is(.page-hero,.guide-hero,.recipes-hero,.recipe-detail-hero,.site-search-section){padding-block:32px 40px}
  .hh-design :is(.visual-hero-layout,.page-hero-grid){gap:28px}
  .hh-design .footer-welcome h2{font-size:34px}
  .hh-design .eyebrow{font-size:14px}
  .hh-design .text-link{font-size:17px}
  .hh-design .guide-page-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;padding-block:12px}
  .hh-design .guide-page-index a{min-height:44px;line-height:1.45;overflow-wrap:break-word}
 }
 @media(prefers-reduced-motion:reduce){
  .hh-design *, .hh-design *::before,.hh-design *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hh-design :is(.hh-motion,[data-motion-pending]){opacity:1!important;transform:none!important;filter:none!important}
 }
 @media(forced-colors:active){
  .hh-design :is(.button,input,select,textarea){border:1px solid ButtonText}
  .hh-design :focus-visible{outline:3px solid Highlight!important}
 }
}

