/* Zuhause – warm, friendly and picture-rich. Every tab has its own colour world (data-tone), set by home-look.js. */

/* ---------- tokens ---------- */
#home-panel {
  --h-text:#eef4fb; --h-muted:#a9bbcf; --h-faint:#7f93a9;
  --h-surface:#0f2234; --h-surface-2:#13293e; --h-raised:#173149; --h-field:#0b1b2b;
  --h-line:#ffffff14; --h-line-strong:#ffffff26;
  --h-shadow:0 22px 50px -26px #000c, 0 2px 6px -2px #0006;
  --h-shadow-lift:0 30px 60px -28px #000e, 0 4px 12px -4px #0007;
  --h-radius:24px; --h-radius-sm:16px;
  --h-a:#b8361b; --h-b:#f08a3e; --h-accent:#ff9a6b; --h-soft:#ff9a6b22;
  --h-ease:cubic-bezier(.2,.8,.2,1);
  color:var(--h-text);
}
:root[data-theme="light"] #home-panel {
  --h-text:#2a2018; --h-muted:#6f6254; --h-faint:#8a7c6d;
  --h-surface:#fffdfa; --h-surface-2:#fbf6ef; --h-raised:#ffffff; --h-field:#fffaf4;
  --h-line:#3a2a1a14; --h-line-strong:#3a2a1a26;
  --h-shadow:0 22px 44px -28px #5a3d1f55, 0 2px 6px -2px #5a3d1f14;
  --h-shadow-lift:0 30px 60px -30px #5a3d1f70, 0 4px 12px -4px #5a3d1f1c;
  --h-accent:#c2410c; --h-soft:#c2410c14;
}
#home-panel [data-tone="recipes"]  { --h-a:#a8321a; --h-b:#ee8a3c; --h-accent:#ff9a6b; }
#home-panel [data-tone="fuel"]     { --h-a:#0b4f80; --h-b:#22a7c4; --h-accent:#5cc8ef; }
#home-panel [data-tone="shopping"] { --h-a:#11613d; --h-b:#3fb47c; --h-accent:#5fd99c; }
#home-panel [data-tone="offers"]   { --h-a:#a51d45; --h-b:#f2733f; --h-accent:#ff8a7a; }
#home-panel [data-tone="household"]{ --h-a:#3f2f9c; --h-b:#8a73ee; --h-accent:#b3a5ff; }
#home-panel [data-tone="parcels"]  { --h-a:#6b3d14; --h-b:#c98a43; --h-accent:#f0b77a; }
#home-panel [data-tone="devices"]  { --h-a:#0d5458; --h-b:#2db3a3; --h-accent:#5fe0cf; }
#home-panel [data-tone="steam"]    { --h-a:#121c2e; --h-b:#2464c9; --h-accent:#7fb2ff; }
#home-panel [data-tone="party"]    { --h-a:#1d0f33; --h-b:#b0247f; --h-accent:#ff7ad9; }
#home-panel [data-tone="budds"]    { --h-a:#2f5d1e; --h-b:#78b84a; --h-accent:#9fdc72; }
:root[data-theme="light"] #home-panel [data-tone="recipes"]  { --h-accent:#b4410f; }
:root[data-theme="light"] #home-panel [data-tone="fuel"]     { --h-accent:#0a6a9a; }
:root[data-theme="light"] #home-panel [data-tone="shopping"] { --h-accent:#137a49; }
:root[data-theme="light"] #home-panel [data-tone="offers"]   { --h-accent:#b4234c; }
:root[data-theme="light"] #home-panel [data-tone="household"]{ --h-accent:#5a45c4; }
:root[data-theme="light"] #home-panel [data-tone="parcels"]  { --h-accent:#8a5216; }
:root[data-theme="light"] #home-panel [data-tone="devices"]  { --h-accent:#0f746c; }
:root[data-theme="light"] #home-panel [data-tone="steam"]    { --h-accent:#1f56b3; }
:root[data-theme="light"] #home-panel [data-tone="party"]    { --h-accent:#a3166f; }
#home-panel .hl-panel { --h-soft:color-mix(in srgb, var(--h-accent) 15%, transparent); }

/* ---------- page heading and menu ---------- */
#home-panel .home-heading { margin:0 0 26px; }
#home-panel .home-heading .eyebrow { color:var(--h-muted); font-weight:600; letter-spacing:.02em; text-transform:none; font-size:14px; }
#home-panel .home-heading h2 { font-size:clamp(30px,4vw,44px); letter-spacing:-.04em; margin:4px 0; font-weight:700; }
#home-panel .home-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:30px; align-items:start; }
#home-panel .home-menu { position:sticky; top:20px; display:grid; gap:12px; }
#home-panel .home-menu-group { border:1px solid var(--h-line); border-radius:20px; background:var(--h-surface); box-shadow:var(--h-shadow); overflow:hidden; }
#home-panel .home-menu-group summary { display:flex; align-items:center; gap:10px; padding:14px 16px; font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--h-muted); cursor:pointer; min-height:48px; box-sizing:border-box; touch-action:manipulation; user-select:none; list-style:none; }
#home-panel .home-menu-group summary::-webkit-details-marker { display:none; }
#home-panel .home-menu-group summary::before { content:attr(data-icon); font-size:17px; }
#home-panel .home-menu-group summary::after { content:""; margin-left:auto; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); opacity:.6; transition:transform .25s var(--h-ease); }
#home-panel .home-menu-group[open] summary::after { transform:rotate(225deg) translateY(-2px); }
#home-panel .home-menu-group.has-current > summary { color:var(--h-text); }
#home-panel .home-menu-group > div { display:grid; gap:4px; padding:0 8px 10px; }
#home-panel .home-menu-group .button { display:flex; align-items:center; gap:12px; width:100%; text-align:left; min-height:52px; white-space:normal; border:0!important; border-radius:14px!important; background:transparent; padding:8px 10px; color:var(--h-text); font-weight:600; font-size:15px; box-shadow:none; transition:background .2s, transform .2s var(--h-ease); }
#home-panel .home-menu-group .button::before { content:attr(data-icon); display:grid; place-items:center; flex:none; width:38px; height:38px; border-radius:12px; font-size:19px; background:linear-gradient(135deg,var(--h-a),var(--h-b)); box-shadow:0 8px 18px -10px var(--h-b), inset 0 1px 0 #ffffff40; }
#home-panel .home-menu-group [aria-pressed=true] { background:color-mix(in srgb, var(--h-b) 18%, transparent)!important; box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--h-b) 45%, transparent)!important; }
#home-panel .home-menu :is(button,summary):focus-visible { outline:2px solid var(--h-accent); outline-offset:-3px; }
#home-panel .home-menu button:active { transform:scale(.98); }
@media (hover:hover) and (pointer:fine) { #home-panel .home-menu-group .button:hover { background:#8881; } }
#home-panel .home-content { min-width:0; scroll-margin-top:20px; }
#home-panel .home-content > [hidden], #everyday-panel > [hidden] { display:none!important; }

/* ---------- tab panel ---------- */
#home-panel .home-content > section { position:relative; background:var(--h-surface); border:1px solid var(--h-line)!important; border-radius:30px!important; padding:clamp(14px,2.2vw,26px)!important; box-shadow:var(--h-shadow); backdrop-filter:none; overflow-wrap:anywhere; }
#home-panel .home-content > section#budds-panel { background:none; border:0!important; box-shadow:none; padding:0!important; }
#home-panel .hl-panel h3 { font-size:clamp(19px,1.8vw,23px); letter-spacing:-.025em; margin:30px 0 14px; font-weight:700; }
#home-panel .hl-panel h4 { font-weight:700; letter-spacing:-.01em; }

/* hero */
#home-panel .hl-hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; margin:0 0 26px; padding:clamp(24px,3.4vw,40px); border-radius:24px; color:#fff; overflow:hidden; isolation:isolate;
  background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--h-b) 90%, #fff 10%) 0%, transparent 55%), linear-gradient(125deg, var(--h-a) 0%, color-mix(in srgb, var(--h-a) 55%, var(--h-b)) 55%, var(--h-b) 100%);
  box-shadow:0 30px 60px -34px var(--h-a), inset 0 1px 0 #ffffff2e; }
#home-panel .hl-hero::before { content:""; position:absolute; inset:auto -10% -60% 40%; height:140%; background:radial-gradient(closest-side, #ffffff26, transparent 70%); z-index:-1; }
#home-panel .hl-hero::after { content:""; position:absolute; inset:0; background:radial-gradient(#ffffff1c 1px, transparent 1.3px) 0 0/18px 18px; mask:linear-gradient(110deg, transparent 35%, #000 100%); z-index:-1; opacity:.6; }
#home-panel .hl-hero-text { min-width:0; display:grid; gap:6px; text-shadow:0 1px 14px #0000002e; }
#home-panel .hl-eyebrow { margin:0; font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; opacity:.9; }
#home-panel .hl-hero h2 { margin:0; color:#fff; font-size:clamp(30px,4vw,46px)!important; line-height:1.04; letter-spacing:-.04em; font-weight:800; }
#home-panel .hl-sub { margin:4px 0 0; max-width:52ch; font-size:clamp(15px,1.3vw,17px); line-height:1.5; color:#fffffff0; }
#home-panel .hl-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
#home-panel .hl-chips span { padding:6px 12px; border-radius:999px; font-size:13px; font-weight:600; background:#ffffff24; box-shadow:inset 0 0 0 1px #ffffff33; backdrop-filter:blur(6px); }
#home-panel .hl-hero-text > .button { justify-self:start; margin-top:12px; background:#fff!important; color:var(--h-a)!important; border:0!important; }
#home-panel .hl-hero-art { position:relative; width:clamp(150px,18vw,220px); height:clamp(130px,15vw,180px); flex:none; }
#home-panel .hl-hero-art span { position:absolute; display:grid; place-items:center; border-radius:50%; background:#ffffff2b; box-shadow:inset 0 1px 0 #ffffff59, 0 18px 30px -16px #0008; backdrop-filter:blur(8px); animation:hl-float 6s ease-in-out infinite; animation-delay:calc(var(--i) * -1.5s); }
#home-panel .hl-hero-art span:nth-child(1) { width:56%; aspect-ratio:1; left:22%; top:12%; font-size:clamp(44px,5vw,64px); }
#home-panel .hl-hero-art span:nth-child(2) { width:30%; aspect-ratio:1; left:0; top:0; font-size:clamp(22px,2.4vw,30px); }
#home-panel .hl-hero-art span:nth-child(3) { width:32%; aspect-ratio:1; right:0; top:4%; font-size:clamp(22px,2.4vw,32px); }
#home-panel .hl-hero-art span:nth-child(4) { width:28%; aspect-ratio:1; right:6%; bottom:0; font-size:clamp(20px,2.2vw,28px); }
@keyframes hl-float { 50% { transform:translateY(-8px) rotate(-3deg); } }
@media (prefers-reduced-motion:reduce) { #home-panel .hl-hero-art span { animation:none; } }

/* ---------- controls ---------- */
#home-panel .hl-panel :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
  width:100%; box-sizing:border-box; min-height:46px; padding:10px 14px; border-radius:14px; border:1px solid var(--h-line-strong); background:var(--h-field); color:var(--h-text); font:inherit; font-size:15px; transition:border-color .2s, box-shadow .2s; }
#home-panel .hl-panel textarea { min-height:96px; }
#home-panel .hl-panel :is(input,select,textarea):focus-visible { outline:none; border-color:var(--h-accent); box-shadow:0 0 0 4px var(--h-soft); }
#home-panel .hl-panel label { display:grid; gap:7px; font-size:13px; font-weight:600; color:var(--h-muted); min-width:0; }
#home-panel .hl-panel label:has(> input[type=checkbox]) { display:flex; align-items:center; gap:12px; color:var(--h-text); font-weight:600; cursor:pointer; min-height:44px; }
#home-panel .hl-panel input[type=checkbox] { appearance:none; -webkit-appearance:none; flex:none; width:44px; height:26px; margin:0; border-radius:999px; background:var(--h-line-strong); position:relative; cursor:pointer; transition:background .25s var(--h-ease); order:-1; }
#home-panel .hl-panel input[type=checkbox]::after { content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 2px 6px #0004; transition:transform .25s var(--h-ease); }
#home-panel .hl-panel input[type=checkbox]:checked { background:linear-gradient(135deg,var(--h-a),var(--h-b)); }
#home-panel .hl-panel input[type=checkbox]:checked::after { transform:translateX(18px); }
#home-panel .hl-panel input[type=checkbox]:focus-visible { box-shadow:0 0 0 4px var(--h-soft); }
#home-panel .hl-panel input[type=checkbox]:disabled { opacity:.5; }

#home-panel .hl-panel .button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 18px; border-radius:999px!important; border:0!important; font-weight:650; font-size:14.5px; letter-spacing:-.005em; cursor:pointer; color:var(--h-text);
  background:color-mix(in srgb, var(--h-accent) 14%, transparent)!important; box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--h-accent) 28%, transparent)!important; transition:transform .18s var(--h-ease), background .2s, box-shadow .2s; }
#home-panel .hl-panel :is(button[type=submit],.button.primary) { color:#fff!important; background:linear-gradient(135deg,var(--h-a),var(--h-b))!important; box-shadow:0 12px 24px -14px var(--h-b), inset 0 1px 0 #ffffff38!important; }
#home-panel .hl-panel .button:active { transform:scale(.97); }
#home-panel .hl-panel .button:disabled { opacity:.5; cursor:default; transform:none; }
#home-panel .hl-panel .button:focus-visible { outline:2px solid var(--h-accent); outline-offset:3px; }
#home-panel .hl-panel .button[aria-pressed=true] { color:#fff; background:linear-gradient(135deg,var(--h-a),var(--h-b))!important; }
@media (hover:hover) and (pointer:fine) {
  #home-panel .hl-panel .button:not(:disabled):hover { background:color-mix(in srgb, var(--h-accent) 24%, transparent)!important; }
  #home-panel .hl-panel :is(button[type=submit],.button.primary):not(:disabled):hover { filter:brightness(1.08); background:linear-gradient(135deg,var(--h-a),var(--h-b))!important; }
}
#home-panel .hl-panel a:not(.button) { color:var(--h-accent); font-weight:600; text-underline-offset:3px; }

/* first-level filters of a tab (Bereich, Archiv, Monat …) become one soft toolbar */
#home-panel .hl-panel > label, #home-panel .hl-panel > .button { display:inline-flex; vertical-align:middle; margin:0 10px 12px 0; }
#home-panel .hl-panel > label:not(:has(> input[type=checkbox])) { display:inline-grid; min-width:180px; }
#home-panel .hl-panel > label:has(> input[type=checkbox]) { padding:6px 14px 6px 8px; border-radius:999px; background:var(--h-surface-2); box-shadow:inset 0 0 0 1px var(--h-line); min-height:44px; box-sizing:border-box; }

/* forms */
#home-panel .hl-panel .device-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); align-items:end; gap:14px; margin:16px 0; padding:18px; border:0; border-radius:20px; background:var(--h-surface-2); box-shadow:inset 0 0 0 1px var(--h-line); }
#home-panel .hl-panel .device-form > :is(p,h4,div,details,.status) { grid-column:1/-1; margin:0; }
#home-panel .hl-panel .device-form > .button { justify-self:start; }
#home-panel .hl-panel .device-form > label:has(> textarea) { grid-column:1/-1; }

/* text */
#home-panel .hl-panel .help { color:var(--h-muted); font-size:13.5px; line-height:1.55; max-width:78ch; }
#home-panel .hl-panel > .help:first-of-type { font-size:14px; }
#home-panel .hl-panel .status:empty { display:none; }
#home-panel .hl-panel .status:not(:empty) { display:flex; align-items:center; gap:10px; width:fit-content; max-width:100%; box-sizing:border-box; padding:10px 16px; border-radius:14px; background:var(--h-soft); font-weight:600; font-size:14px; }
#home-panel .hl-panel .status:not(:empty)::before { content:"✨"; }
#home-panel .hl-panel .status.error::before { content:"⚠️"; }

/* accordions */
#home-panel .hl-panel details { border:0; border-radius:18px; background:var(--h-surface-2); box-shadow:inset 0 0 0 1px var(--h-line); padding:0; margin:12px 0; }
#home-panel .hl-panel details > summary { display:flex; align-items:center; gap:10px; padding:14px 18px; cursor:pointer; font-weight:650; list-style:none; min-height:48px; box-sizing:border-box; border-radius:18px; }
#home-panel .hl-panel details > summary::-webkit-details-marker { display:none; }
#home-panel .hl-panel details > summary::before { content:"+"; display:grid; place-items:center; flex:none; width:26px; height:26px; border-radius:50%; font-weight:700; background:var(--h-soft); color:var(--h-accent); transition:transform .25s var(--h-ease); }
#home-panel .hl-panel details[open] > summary::before { transform:rotate(45deg); }
#home-panel .hl-panel details > :not(summary) { margin-left:18px; margin-right:18px; }
#home-panel .hl-panel details > :last-child:not(summary) { margin-bottom:18px; }
#home-panel .hl-panel details > .device-form { background:var(--h-surface); }
@media (hover:hover) and (pointer:fine) { #home-panel .hl-panel details > summary:hover { background:#8881; } }

/* inside a card, closed accordions sit side by side as small pills */
#home-panel .hl-panel article.card > details:not([open]) { display:inline-block; margin:6px 6px 0 0; border-radius:999px; }
#home-panel .hl-panel article.card > details:not([open]) > summary { padding:8px 14px 8px 8px; min-height:40px; font-size:13.5px; border-radius:999px; }
#home-panel .hl-panel article.card > details[open] { display:block; }

/* cards */
#home-panel .hl-panel article.card, #home-panel .hl-panel section.card, #home-panel .hl-panel div.card { background:var(--h-raised); border:0!important; border-radius:22px!important; box-shadow:var(--h-shadow), inset 0 0 0 1px var(--h-line)!important; padding:18px!important; margin:0 0 14px; backdrop-filter:none; transition:transform .3s var(--h-ease), box-shadow .3s; }
#home-panel .hl-panel article.card > strong:first-of-type, #home-panel .hl-panel article.card > h3:first-of-type { display:block; font-size:18px; letter-spacing:-.015em; margin:0 0 4px; }
#home-panel .hl-panel article.card > p { margin:4px 0; }
#home-panel .hl-panel article.card > .button { margin:10px 8px 0 0; }
@media (hover:hover) and (pointer:fine) { #home-panel .hl-panel article.card:hover { box-shadow:var(--h-shadow-lift), inset 0 0 0 1px var(--h-line-strong)!important; } }
#home-panel .hl-enter { animation:hl-in .5s var(--h-ease) both; }
@keyframes hl-in { from { opacity:0; transform:translateY(10px) scale(.985); } }

/* ---------- food pictures (everywhere) ---------- */
#home-panel .food-picture { --tile-a:#fde6d4; --tile-b:#f7c9a6; position:relative; display:block; overflow:hidden; border-radius:16px; background:radial-gradient(circle at 30% 25%, #ffffffb3, transparent 60%), linear-gradient(140deg,var(--tile-a),var(--tile-b)); }
#home-panel .food-picture img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; animation:hl-fade .4s ease both; }
#home-panel .food-ingredient img { object-fit:contain; padding:10%; box-sizing:border-box; filter:drop-shadow(0 6px 8px #0003); }
#home-panel .food-placeholder { display:grid; place-items:center; height:100%; min-height:0; font-size:clamp(26px,40cqi,60px); line-height:1; filter:drop-shadow(0 4px 6px #0002); container-type:inline-size; }
#home-panel .food-picture { container-type:inline-size; }
#home-panel .food-placeholder[hidden] { display:none; }
#home-panel .food-picture[data-tone=dairy] { --tile-a:#e7f1ff; --tile-b:#bcd6f7; }
#home-panel .food-picture[data-tone=veg]   { --tile-a:#e5f7dc; --tile-b:#afdf96; }
#home-panel .food-picture[data-tone=fruit] { --tile-a:#ffeede; --tile-b:#ffc29a; }
#home-panel .food-picture[data-tone=meat]  { --tile-a:#ffe4e1; --tile-b:#f3aaa3; }
#home-panel .food-picture[data-tone=fish]  { --tile-a:#ddf4f7; --tile-b:#9fd6e2; }
#home-panel .food-picture[data-tone=bakery]{ --tile-a:#fff0d6; --tile-b:#f0cb8e; }
#home-panel .food-picture[data-tone=pantry]{ --tile-a:#f6efe4; --tile-b:#dcc9a9; }
#home-panel .food-picture[data-tone=drink] { --tile-a:#e2f6f1; --tile-b:#a4dccd; }
#home-panel .food-picture[data-tone=sweet] { --tile-a:#fbe6f1; --tile-b:#eab0cf; }
#home-panel .food-picture[data-tone=spice] { --tile-a:#eef6df; --tile-b:#c8dea3; }
#home-panel .food-picture[data-tone=home]  { --tile-a:#ece9fb; --tile-b:#c3bbef; }
#home-panel .food-picture[data-tone=dish]  { --tile-a:#ffe9d6; --tile-b:#f6b88d; }
#home-panel .food-picture.has-photo:not(.food-ingredient) { background:#0002; }
@keyframes hl-fade { from { opacity:0; } }
#home-panel .food-ingredient { display:inline-block; flex:none; width:64px; height:64px; aspect-ratio:1; vertical-align:middle; border-radius:18px; }
#home-panel .hl-thumb { width:56px; height:56px; border-radius:16px; }
#home-panel .hl-thumb-sm { width:40px; height:40px; border-radius:12px; }
#home-panel .hl-thumb-sm .food-placeholder { font-size:20px; }

/* ---------- Rezepte ---------- */
#home-panel .hl-inspire { display:grid; grid-template-columns:repeat(auto-fill,minmax(118px,1fr)); gap:12px; margin:8px 0 22px; }
#home-panel .hl-inspire button { position:relative; display:grid; gap:8px; justify-items:center; padding:12px 8px 14px; border:0; border-radius:20px; cursor:pointer; color:var(--h-text); font:inherit; font-weight:650; font-size:14px; background:var(--h-raised); box-shadow:var(--h-shadow), inset 0 0 0 1px var(--h-line); transition:transform .25s var(--h-ease), box-shadow .25s; }
#home-panel .hl-inspire .food-picture { width:100%; aspect-ratio:4/3; border-radius:14px; }
#home-panel .hl-inspire .food-picture img { object-fit:contain; padding:6%; box-sizing:border-box; }
#home-panel .hl-inspire button:active { transform:scale(.97); }
#home-panel .hl-inspire button:focus-visible { outline:2px solid var(--h-accent); outline-offset:3px; }
@media (hover:hover) and (pointer:fine) { #home-panel .hl-inspire button:hover { transform:translateY(-3px); box-shadow:var(--h-shadow-lift), inset 0 0 0 1px var(--h-line-strong); } }
#home-panel .food-recipes { display:grid!important; grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr)); gap:20px; align-items:start; }
#home-panel .food-recipes > .button { grid-column:1/-1; justify-self:center; }
#home-panel .food-recipe-card { padding:0!important; overflow:hidden; }
#home-panel .food-recipe-card > .food-picture { aspect-ratio:4/3; border-radius:0; }
#home-panel .food-recipe-card > .food-picture::after { content:""; position:absolute; inset:auto 0 0; height:45%; background:linear-gradient(transparent,#0007); pointer-events:none; }
#home-panel .food-recipe-card > :not(.food-picture) { margin-left:20px!important; margin-right:20px!important; }
#home-panel .food-recipe-card > h4 { font-size:21px!important; letter-spacing:-.02em; margin:16px 20px 4px!important; line-height:1.2; }
#home-panel .food-recipe-card > h4 + p { color:var(--h-muted); font-size:13.5px; font-weight:600; margin-top:0; }
#home-panel .food-recipe-card > a { display:inline-block; font-size:13px; margin-bottom:12px; }
#home-panel .food-recipe-card > .button { margin:4px 6px 18px 20px!important; }
#home-panel .food-recipe-card > div:last-child:not(:empty) { padding-bottom:20px; }
#home-panel .food-recipe-card:has(> div:last-child:not(:empty)) { grid-column:1/-1; }
#home-panel .food-ingredients { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:12px; list-style:none; padding:0; margin:10px 0 20px; }
#home-panel .food-ingredients li { display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; border:0; border-radius:18px; padding:12px 10px 14px; background:var(--h-surface-2); box-shadow:inset 0 0 0 1px var(--h-line); overflow-wrap:anywhere; }
#home-panel .food-ingredients li .food-picture { width:76px; height:76px; }
#home-panel .food-ingredients li > span:last-child { font-size:13px; color:var(--h-muted); }
#home-panel .recipe-filters { grid-column:1/-1; }
#home-panel .recipe-filters[open] { display:block; }
#home-panel .recipe-filters > label { margin-bottom:12px; }
#home-panel #home-recipes-view > details:last-child { margin-top:26px; }
#home-panel .hl-match { display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 14px; align-items:center; padding:12px; margin:8px 0; border-radius:18px; background:var(--h-surface-2); box-shadow:inset 0 0 0 1px var(--h-line); }
#home-panel .hl-match > .food-picture { grid-row:span 3; }
#home-panel .hl-match > :not(.food-picture) { margin:0; }
#home-panel .hl-match > .device-form, #home-panel .hl-match > .button, #home-panel .hl-match > label { grid-column:2; }

/* ---------- Spritpreise ---------- */
#home-panel #home-fuel-view .item-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); gap:16px; }
#home-panel #home-fuel-view .item-list > :is(a,p) { grid-column:1/-1; }
#home-panel #home-fuel-view .item-actions { display:flex; flex-wrap:wrap; gap:8px; }
#home-panel .hl-station { display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 14px; align-items:center; }
#home-panel .hl-station > :not(.hl-brand):not(.hl-fuel-price) { grid-column:1/-1; }
#home-panel .hl-brand { display:grid; place-items:center; width:48px; height:48px; border-radius:15px; font-weight:800; font-size:15px; color:#fff; background:linear-gradient(135deg,var(--h-a),var(--h-b)); letter-spacing:-.02em; }
#home-panel .hl-fuel-price { font-size:34px; font-weight:800; letter-spacing:-.04em; font-variant-numeric:tabular-nums; line-height:1; }
#home-panel .hl-fuel-price sup { font-size:.5em; vertical-align:super; margin-left:1px; }
#home-panel .hl-fuel-price small { font-size:13px; font-weight:600; color:var(--h-muted); letter-spacing:0; margin-left:6px; }
#home-panel .hl-station.is-best { box-shadow:var(--h-shadow), inset 0 0 0 2px var(--h-accent)!important; }
#home-panel .hl-station.is-best::before { content:"Am günstigsten"; position:absolute; top:14px; right:14px; padding:4px 10px; border-radius:999px; font-size:12px; font-weight:700; color:#fff; background:linear-gradient(135deg,var(--h-a),var(--h-b)); }
#home-panel .hl-station { position:relative; }
#home-panel .hl-pill { display:inline-flex; align-items:center; gap:6px; width:fit-content; padding:4px 10px; border-radius:999px; font-size:12.5px; font-weight:700; background:var(--h-soft); }
#home-panel .hl-pill.is-open { background:#2bb67322; color:#3fd08a; }
#home-panel .hl-pill.is-closed { background:#e0505022; color:#ff8080; }
:root[data-theme="light"] #home-panel .hl-pill.is-open { color:#137a49; }
:root[data-theme="light"] #home-panel .hl-pill.is-closed { color:#b42c2c; }

/* ---------- Einkauf & Vorräte ---------- */
#home-panel #shopping-panel > .item-actions { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr)); gap:12px; margin:18px 0; }
#home-panel #shopping-panel > .item-actions > .button { justify-content:flex-start; text-align:left; min-height:64px; padding:12px 18px 12px 12px; border-radius:20px!important; background:var(--h-raised)!important; box-shadow:var(--h-shadow), inset 0 0 0 1px var(--h-line)!important; font-size:15px; }
#home-panel #shopping-panel > .item-actions > .button::before { content:"📝"; display:grid; place-items:center; flex:none; width:40px; height:40px; border-radius:13px; font-size:19px; background:linear-gradient(135deg,var(--h-a),var(--h-b)); }
#home-panel #shopping-panel[data-kind=pantry] > .item-actions > .button::before { content:"🫙"; }
#home-panel #shopping-panel .hl-items { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:14px; margin:16px 0; }
#home-panel .food-stock-card { display:grid!important; grid-template-columns:auto minmax(0,1fr); gap:2px 16px; align-items:center; margin:0!important; }
#home-panel .food-stock-card > .food-picture { float:none; grid-row:span 2; width:72px; height:72px; margin:0; }
#home-panel .food-stock-card > strong { font-size:17px; align-self:end; }
#home-panel .food-stock-card > strong + p { align-self:start; margin:0; color:var(--h-muted); font-weight:600; }
#home-panel .food-stock-card > :not(.food-picture):not(strong):not(strong + p) { grid-column:1/-1; }
#home-panel .food-stock-card > .button { justify-self:start; }
#home-panel .food-stock-card.is-done > .food-picture { filter:grayscale(.9); opacity:.55; }
#home-panel .food-stock-card.is-done > strong { text-decoration:line-through; text-decoration-thickness:2px; opacity:.65; }
#home-panel .food-stock-card > form, #home-panel .food-stock-card > details { clear:none; }
#home-panel #shopping-panel .hl-list-head { display:flex; align-items:center; gap:14px; margin:26px 0 6px; }
#home-panel #shopping-panel .hl-list-head h3 { margin:0; }
#home-panel #shopping-panel .hl-progress { flex:1; max-width:260px; height:10px; border-radius:999px; background:var(--h-line-strong); overflow:hidden; }
#home-panel #shopping-panel .hl-progress > i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--h-a),var(--h-b)); transition:width .5s var(--h-ease); }

/* ---------- Angebote & Lebensmittelpreise ---------- */
#home-panel .hl-offer { display:grid!important; grid-template-columns:auto minmax(0,1fr) auto; gap:4px 16px; align-items:start; }
#home-panel .hl-offer > .food-picture { grid-row:span 4; width:84px; height:84px; }
#home-panel .hl-offer > :not(.food-picture):not(.hl-price-tag) { grid-column:2/-1; margin:0; }
#home-panel .hl-offer > strong { font-size:18px; grid-column:2!important; }
#home-panel .hl-offer > label:first-child { grid-column:1/-1!important; }
#home-panel .hl-offer > :is(details,.button,a,form,section) { grid-column:1/-1!important; }
#home-panel .hl-price-tag { grid-column:3; grid-row:1 / span 2; align-self:start; padding:8px 14px; border-radius:16px 16px 16px 4px; font-size:20px; font-weight:800; letter-spacing:-.03em; color:#fff; background:linear-gradient(135deg,var(--h-a),var(--h-b)); box-shadow:0 12px 20px -12px var(--h-b); white-space:nowrap; transform:rotate(-2deg); }
#home-panel .pr-food, #home-panel .pr-steam { margin-top:28px; }
#home-panel .pr-product-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); gap:10px; }
#home-panel .pr-product { display:grid!important; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:4px 12px; padding:10px 12px; border-radius:18px; background:var(--h-surface-2); box-shadow:inset 0 0 0 1px var(--h-line); cursor:pointer; color:var(--h-text)!important; }
#home-panel .pr-product:has(input:checked) { box-shadow:inset 0 0 0 2px var(--h-accent); background:var(--h-soft); }
#home-panel .pr-product > .food-picture { order:0; grid-row:span 2; }
#home-panel .pr-product > span:not(.food-picture) { order:1; }
#home-panel .pr-product > small { order:2; grid-column:3; }
#home-panel .pr-product > span:not(.food-picture) { font-weight:650; }
#home-panel .pr-table-wrap { border-radius:20px; box-shadow:inset 0 0 0 1px var(--h-line); }
#home-panel .pr-table th { font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--h-muted); background:var(--h-surface-2); padding:12px; }
#home-panel .pr-table td { padding:12px; border-bottom:1px solid var(--h-line); vertical-align:middle; }
#home-panel .pr-table tr.best td { background:var(--h-soft); }
#home-panel .pr-table tr.best td:nth-child(3) { font-weight:800; color:var(--h-accent); }
#home-panel .pr-table .hl-cell-food { display:flex; align-items:center; gap:10px; }
#home-panel .pr-chain { border:0; border-radius:16px; background:var(--h-surface-2); box-shadow:inset 0 0 0 1px var(--h-line); padding:12px 16px; }
#home-panel .pr-chain.complete { box-shadow:inset 0 0 0 2px var(--h-accent); }
#home-panel .pr-item { gap:8px 12px; padding:10px 0; border-bottom:1px solid var(--h-line); }
#home-panel .pr-games { grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr)); gap:14px; }
#home-panel .pr-game { border:0; border-radius:18px; background:var(--h-raised); box-shadow:var(--h-shadow), inset 0 0 0 1px var(--h-line); padding:0 0 14px; overflow:hidden; }
#home-panel .pr-game > :not(.hl-cover) { margin-left:14px; margin-right:14px; }
#home-panel .pr-game.sale { box-shadow:var(--h-shadow), inset 0 0 0 2px #50c88c; }

/* ---------- Haushaltsbuch ---------- */
#home-panel #household-panel .hh-toolbar { padding:12px 14px; border-radius:20px; background:var(--h-surface-2); box-shadow:inset 0 0 0 1px var(--h-line); }
#home-panel #household-panel .hh-toolbar details { box-shadow:none; background:transparent; margin:0; }
#home-panel #household-panel .hh-nav { display:flex; gap:6px; padding:6px; margin:18px 0 24px; border:0; border-radius:999px; background:var(--h-surface-2); box-shadow:inset 0 0 0 1px var(--h-line); width:fit-content; max-width:100%; box-sizing:border-box; overflow-x:auto; }
#home-panel #household-panel .hh-nav button { border-radius:999px!important; padding:10px 18px; background:transparent!important; box-shadow:none!important; }
#home-panel #household-panel .hh-nav button[aria-pressed=true] { color:#fff; background:linear-gradient(135deg,var(--h-a),var(--h-b))!important; box-shadow:0 10px 20px -12px var(--h-b)!important; }
#home-panel #household-panel .hh-summary { padding:22px!important; }
#home-panel #household-panel .hh-summary > h3 { margin-top:0; }
#home-panel #household-panel .hh-metrics { grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr)); gap:14px; }
#home-panel #household-panel .hh-metric { position:relative; border:0; padding:18px 18px 18px 18px; border-radius:20px; background:var(--h-surface-2); box-shadow:inset 0 0 0 1px var(--h-line); overflow:hidden; gap:8px; }
#home-panel #household-panel .hh-metric::before { font-size:22px; content:"💶"; }
#home-panel #household-panel .hh-metric:nth-child(2)::before { content:"🛍️"; }
#home-panel #household-panel .hh-metric:nth-child(3)::before { content:"⚖️"; }
#home-panel #household-panel .hh-metric:nth-child(4)::before { content:"🐷"; }
#home-panel #household-panel .hh-metric:first-child { color:#fff; background:linear-gradient(135deg,var(--h-a),var(--h-b)); box-shadow:0 18px 30px -20px var(--h-b); }
#home-panel #household-panel .hh-metric:first-child span { opacity:.9; }
#home-panel #household-panel .hl-bars { display:grid; gap:10px; }
#home-panel #household-panel .hl-bar { display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 12px; align-items:center; margin:0; }
#home-panel #household-panel .hl-bar > .hl-cat { grid-row:span 2; display:grid; place-items:center; width:40px; height:40px; border-radius:13px; background:var(--h-soft); font-size:19px; }
#home-panel #household-panel .hl-bar > i { height:8px; border-radius:999px; background:linear-gradient(90deg,var(--h-a),var(--h-b)); width:var(--w); min-width:4px; }
#home-panel #household-panel .hh-table-wrap, #home-panel #household-panel .fg-wrap { border-radius:20px; }

/* ---------- Pakete ---------- */
#home-panel .hl-parcel { display:grid; grid-template-columns:auto minmax(0,1fr); gap:2px 16px; }
#home-panel .hl-parcel > :not(.hl-box):not(h3):not(.hl-carrier) { grid-column:1/-1; }
#home-panel .hl-parcel > h3 { margin:0!important; align-self:end; font-size:19px; }
#home-panel .hl-box { grid-row:span 2; display:grid; place-items:center; width:58px; height:58px; border-radius:18px; font-size:30px; background:radial-gradient(circle at 30% 25%, #ffffff55, transparent 60%), linear-gradient(140deg,#f3d3a8,#c98a43); box-shadow:0 12px 22px -14px #c98a43; }
#home-panel .hl-carrier { display:flex; align-items:center; gap:8px; flex-wrap:wrap; color:var(--h-muted); font-weight:600; font-size:13.5px; margin:0!important; }
#home-panel .hl-carrier b { padding:3px 9px; border-radius:7px; font-size:12px; letter-spacing:.02em; color:#fff; background:#666; }
#home-panel .hl-carrier[data-carrier=dhl] b { background:#ffcc00; color:#d40511; }
#home-panel .hl-carrier[data-carrier=dpd] b { background:#dc0032; }
#home-panel .hl-carrier[data-carrier=gls] b { background:#061ab1; color:#fff200; }
#home-panel .hl-carrier[data-carrier=ups] b { background:#351c15; color:#ffb500; }
#home-panel .hl-carrier[data-carrier=hermes] b { background:#0091cd; }
#home-panel .hl-carrier[data-carrier=amazon] b { background:#232f3e; color:#ff9900; }
#home-panel .hl-track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:16px 0 8px!important; }
#home-panel .hl-track span { position:relative; display:grid; justify-items:center; gap:8px; font-size:12px; font-weight:600; color:var(--h-faint); text-align:center; }
#home-panel .hl-track span::before { content:""; width:100%; height:6px; border-radius:999px; background:var(--h-line-strong); }
#home-panel .hl-track span.done { color:var(--h-text); }
#home-panel .hl-track span.done::before { background:linear-gradient(90deg,var(--h-a),var(--h-b)); }
#home-panel .hl-track span.now::before { box-shadow:0 0 0 3px var(--h-soft); }
#home-panel .hl-track[data-warn] span.done::before { background:linear-gradient(90deg,#b4232c,#ef6b4a); }
#home-panel .hl-parcel > .hl-state { font-size:15px; font-weight:700; }

/* ---------- Steam ---------- */
#home-panel #steam-panel .hl-games { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr)); gap:16px; margin:16px 0; }
#home-panel #steam-panel .hl-games > article.card { padding:0 0 16px!important; overflow:hidden; margin:0; }
#home-panel #steam-panel .hl-games > article.card > :not(.hl-cover) { margin-left:16px; margin-right:16px; }
#home-panel #steam-panel .hl-games > article.card > strong { margin-top:14px; }
#home-panel .hl-cover { position:relative; display:block; aspect-ratio:460/215; overflow:hidden; background:radial-gradient(circle at 30% 30%, #2a6fdb88, transparent 60%), linear-gradient(135deg,#121c2e,#2464c9); }
#home-panel .hl-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; animation:hl-fade .4s ease both; }
#home-panel .hl-cover .food-placeholder { font-size:40px; }
#home-panel #steam-panel .button-row { display:flex; gap:6px; padding:6px; border-radius:999px; background:var(--h-surface-2); width:fit-content; box-shadow:inset 0 0 0 1px var(--h-line); }

/* ---------- Geräte ---------- */
#home-panel #home-devices { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr)); gap:16px; margin-top:4px; }
#home-panel .hl-device { position:relative; display:grid; gap:6px; padding:20px!important; border:0!important; border-radius:24px!important; background:var(--h-raised)!important; box-shadow:var(--h-shadow), inset 0 0 0 1px var(--h-line)!important; }
#home-panel .hl-device > h3 { margin:6px 0 0; font-size:18px; letter-spacing:-.015em; }
#home-panel .hl-device > p { margin:0; color:var(--h-muted); font-weight:600; }
#home-panel .hl-device-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:18px; font-size:28px; background:var(--h-surface-2); box-shadow:inset 0 0 0 1px var(--h-line); transition:background .3s, box-shadow .3s; }
#home-panel .hl-device[data-state=on] .hl-device-icon { background:linear-gradient(135deg,var(--h-a),var(--h-b)); box-shadow:0 0 0 6px var(--h-soft), 0 14px 26px -12px var(--h-b); }
#home-panel .hl-device::after { content:""; position:absolute; top:22px; right:22px; width:10px; height:10px; border-radius:50%; background:var(--h-faint); }
#home-panel .hl-device[data-state=on]::after { background:#3fd08a; box-shadow:0 0 0 4px #3fd08a33; }
#home-panel .hl-device .item-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
#home-panel .hl-device .button { display:inline-flex; align-items:center; min-height:42px; padding:8px 16px; border-radius:999px!important; border:0!important; font-weight:650; color:var(--h-text); background:color-mix(in srgb, var(--h-accent) 14%, transparent)!important; }
#home-panel .hl-device .button.primary { color:#fff; background:linear-gradient(135deg,var(--h-a),var(--h-b))!important; }
#home-panel #home-devices-panel > .help { margin-top:20px; }

/* ---------- small screens ---------- */
@media (max-width:760px) {
  #home-panel .home-layout { grid-template-columns:1fr; gap:16px; }
  #home-panel .home-menu { position:static; gap:8px; }
  #home-panel .home-heading { margin-bottom:12px; }
  #home-panel .home-menu-group summary { padding:12px 14px; }
  #home-panel .home-menu-group > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #home-panel .home-menu-group .button { font-size:14px; padding:6px 8px; gap:10px; }
  #home-panel .home-menu-group .button::before { width:34px; height:34px; font-size:17px; }
  #home-panel .home-content :is(input,select,textarea) { font-size:16px!important; }
  #home-panel .home-content { padding-bottom:env(safe-area-inset-bottom,0px); }
  #home-panel .home-content > section { border-radius:24px!important; padding:10px!important; }
  #home-panel .hl-hero { grid-template-columns:1fr; padding:22px 20px; border-radius:20px; gap:0; }
  #home-panel .hl-hero-art { position:absolute; right:-14px; top:-10px; width:120px; height:110px; opacity:.55; }
  #home-panel .hl-sub { font-size:14.5px; max-width:none; }
  #home-panel .hl-panel > label:not(:has(> input[type=checkbox])) { display:grid; width:100%; margin-right:0; }
  #home-panel .hl-panel .device-form { padding:14px; }
  #home-panel .hl-offer { grid-template-columns:auto minmax(0,1fr); }
  #home-panel .hl-offer > .food-picture { width:64px; height:64px; }
  #home-panel .hl-price-tag { grid-column:1/-1; grid-row:auto; justify-self:start; }
  #home-panel .hl-track span { font-size:11px; }
  #home-panel .hl-inspire { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  #home-panel .hl-inspire button { font-size:12.5px; padding:8px 6px 10px; }
}

/* ---------- refinements ---------- */
#home-panel .home-menu-group .button { justify-content:flex-start; }
#home-panel .hl-panel .food-recipe-card { padding:0!important; }
#home-panel .hl-inspire .food-picture, #home-panel .hl-inspire .food-picture.has-photo { background:radial-gradient(circle at 50% 55%, #ffffff26, transparent 70%); }
:root[data-theme="light"] #home-panel .hl-inspire .food-picture { background:radial-gradient(circle at 50% 55%, #f6dcc4, transparent 72%); }
#home-panel #home-recipes-view > .device-form { grid-template-columns:minmax(0,1fr) auto; }
#home-panel #home-recipes-view > .device-form > label:first-child { min-width:0; }
#home-panel .home-menu-group .button { display:flex!important; justify-content:flex-start!important; text-align:left!important; }
#home-panel .hl-panel > label:has(> input[type=checkbox]) { display:inline-flex; width:auto; }
#home-panel #shopping-panel > .item-actions > .button { white-space:normal; line-height:1.25; }
#home-panel .hl-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; }
#home-panel .hl-actions > .button, #home-panel .hl-actions > details { margin:0!important; }
#home-panel .hl-actions > details:not([open]) { border-radius:999px; }
#home-panel .hl-actions > details:not([open]) > summary { padding:8px 14px 8px 8px; min-height:44px; font-size:14px; border-radius:999px; }
#home-panel .hl-actions > details[open] { flex-basis:100%; }
#home-panel .hl-actions > .button:first-child { color:#fff; background:linear-gradient(135deg,var(--h-a),var(--h-b))!important; }
#home-panel .food-stock-card.is-done .hl-actions > .button:first-child { color:var(--h-text); background:color-mix(in srgb, var(--h-accent) 14%, transparent)!important; }
#home-panel .hl-offer-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr)); gap:16px; margin:18px 0; align-items:start; }
#home-panel .hl-offer-grid > .card { margin:0!important; }
#home-panel .hl-offer > :not(.food-picture):not(.hl-price-tag) { grid-column:2 / span 1!important; }
#home-panel .hl-offer > :is(details,.button,a,form,section,label) { grid-column:1/-1!important; justify-self:start; }
#home-panel .hl-offer > details[open] { justify-self:stretch; }
#home-panel .hl-offer > p { font-size:14px; color:var(--h-muted); }
#home-panel .hl-offer > strong + p { color:var(--h-text); font-weight:600; }
#home-panel .hl-offer > .food-picture { grid-row:1 / span 3; }
#home-panel .hl-price-tag { grid-row:1 / span 2; }
#home-panel .hl-panel .hl-offer > :is(details,.button,a,form,section,label,.hl-actions):not(.x) { grid-column:1/-1!important; }
#home-panel .hl-offer > label { padding:4px 14px 4px 6px; border-radius:999px; background:var(--h-surface-2); width:fit-content; margin-top:10px!important; }
#home-panel .hl-panel article.card > .hl-actions { grid-column:1/-1; }
#home-panel .hl-panel .hl-actions > details:not([open]) { display:inline-block; }
#home-panel .hl-carrier::before { content:""; width:12px; height:12px; border-radius:4px; background:var(--carrier,#8889); flex:none; }
#home-panel .hl-carrier[data-carrier=dhl] { --carrier:#ffcc00; } #home-panel .hl-carrier[data-carrier=dpd] { --carrier:#dc0032; } #home-panel .hl-carrier[data-carrier=gls] { --carrier:#061ab1; }
#home-panel .hl-carrier[data-carrier=ups] { --carrier:#ffb500; } #home-panel .hl-carrier[data-carrier=hermes] { --carrier:#0091cd; } #home-panel .hl-carrier[data-carrier=amazon] { --carrier:#ff9900; }
#home-panel .hl-parcel > p:not(.hl-carrier):not(.hl-state) { color:var(--h-muted); font-size:14px; }
#home-panel .hl-panel .hl-hero .button { background:#fff!important; color:var(--h-a)!important; box-shadow:0 10px 22px -12px #0008!important; }
#home-panel .hl-brand { font-size:12.5px; letter-spacing:.02em; }
#home-panel .home-menu-group .button:not([aria-pressed=true]) { background:transparent!important; }
@media (hover:hover) and (pointer:fine) { #home-panel .home-menu-group .button:not([aria-pressed=true]):hover { background:#8881!important; } }
@media (max-width:760px) {
  #home-panel .hl-actions .button, #home-panel .hl-actions > details:not([open]) > summary { min-height:40px; padding:7px 13px; font-size:13.5px; }
  #home-panel .food-stock-card > .food-picture { width:60px; height:60px; }
  #home-panel .hl-panel article.card { padding:14px!important; }
  #home-panel .hl-hero h2 { font-size:30px!important; }
}

/* Freizeit › Party & DJ (party.js) */
#home-panel #party-panel .party-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:18px; margin:18px 0; }
#home-panel #party-panel .party-card { display:flex; flex-direction:column; gap:12px; padding:22px; border-radius:22px; background:var(--h-surface-2,#ffffff0d); box-shadow:inset 0 0 0 1px var(--h-line,#ffffff1f); position:relative; overflow:hidden; }
#home-panel #party-panel .party-card::before { content:""; position:absolute; inset:-40% -20% auto auto; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle,var(--h-soft) 0%,transparent 70%); pointer-events:none; }
#home-panel #party-panel .party-card h3 { margin:0; }
#home-panel #party-panel .party-card .help { margin:0; }
#home-panel #party-panel .party-card > .button.primary { align-self:flex-start; margin-top:4px; padding-inline:26px; }
#home-panel #party-panel .party-icon { font-size:30px; line-height:1; }
#home-panel #party-panel .party-styles, #home-panel #party-panel .party-source { display:flex; flex-wrap:wrap; gap:6px; }
#home-panel #party-panel .party-styles button[aria-pressed="true"], #home-panel #party-panel .party-source button[aria-pressed="true"] { background:var(--h-accent)!important; background-image:none!important; color:#1a0b26!important; box-shadow:none; }
#home-panel #party-panel .party-field { display:flex; flex-direction:column; gap:5px; font-size:13px; font-weight:600; }
#home-panel #party-panel .party-field input { width:100%; }
#home-panel #party-panel .dj-genre-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(118px,1fr)); gap:8px; }
#home-panel #party-panel .dj-genre { min-height:48px; border-radius:12px!important; }
#home-panel #party-panel .party-note { margin:0; min-height:1.2em; font-size:14px; }
#home-panel #party-panel .party-note[data-state="error"] { color:var(--k-danger,#ff6b6b); }
#home-panel #party-panel .party-now { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:16px; padding:14px 18px; border-radius:18px; background:var(--h-soft); box-shadow:inset 0 0 0 1px var(--h-accent); }
#home-panel #party-panel .party-now[hidden] { display:none; }
#home-panel #party-panel .party-now-text { display:flex; flex-direction:column; flex:1 1 200px; min-width:0; }
#home-panel #party-panel .party-now-text span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; opacity:.8; }
#home-panel #party-panel .party-tips p { margin:6px 0; }

/* Pakete: in Versandmails gefundene Sendungen */
#home-panel .hl-mailscan { display:grid; gap:8px; }
#home-panel .hl-suggestion { display:flex; flex-wrap:wrap; align-items:end; gap:8px 12px; padding:12px 0; border-top:1px solid var(--line, rgba(127,127,127,.25)); }
#home-panel .hl-suggestion > p { flex:1 1 100%; margin:0; overflow-wrap:anywhere; }
#home-panel .hl-suggestion > label { flex:1 1 220px; }
