/* ═══════════════════════════════════════════════════════════════
   inoShop v7 — EIN Design-System. Etsy-Wärme × inOri-Klarheit.
   Warmes Papier, weisse Karten, Navy & Blau sparsam, grosse Typo.
   Ersetzt alle früheren Layer (v4–v6) — single source of truth.
   ═══════════════════════════════════════════════════════════════ */

:root {
  /* Marke */
  --navy:#1C3F5E; --blue:#3B7DD8; --blue-d:#16324B; --blue-l:#5D8DBD;
  --steel:#367099; --accent:#3B7DD8;
  /* Warme Neutrale (Etsy-Papier) */
  --paper:#FAF9F7; --card:#FFFFFF; --soft:#F2F0EC;
  --border:#EBE8E3; --border-d:#D8D4CC;
  --text:#243442; --muted:#76828E; --light:#A3ADB8;
  --green:#1E9B6E; --red:#C0392B;
  --tint:#EEF4FB; /* zartes Blau für stille Flächen */
  --bg:var(--paper); --bg2:var(--soft);
  /* System */
  --rad:12px; --rad-lg:18px; --rad-xl:26px;
  --sh:0 1px 3px rgba(36,52,66,.06);
  --sh-h:0 14px 40px rgba(36,52,66,.13);
  --ff:'Open Sans',-apple-system,sans-serif;
  --ffh:'Poppins','Open Sans',sans-serif;
  --pad:clamp(16px,3vw,44px); --maxw:1280px;
}

/* ── WC RESETS ────────────────────────────────────────────── */
.woocommerce ul.products { list-style:none !important; padding:0 !important; }
.woocommerce-products-header, .woocommerce-products-header__title,
.woocommerce .page-title, .term-description { display:none !important; }
body .woocommerce-result-count, body .woocommerce-ordering,
body.woocommerce-page .woocommerce-result-count,
body.woocommerce-page .woocommerce-ordering { display:none !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after,
ul.products::before, ul.products::after { display:none !important; content:none !important; }
.inoshop-wc-page > h1.page-title, .inoshop-wc-page .page-title { display:none !important; }
.inoshop-aph-badge { display:none; }
.woocommerce-Price-currencySymbol { margin-right:2px !important; }

/* ══ SHOP ═══════════════════════════════════════════════════ */
.shop-page { background:var(--paper); }

/* Breadcrumb: unsichtbar leise */
.shop-breadcrumb { background:transparent; padding:14px 0 0; }
.shop-bc-inner { max-width:var(--maxw); margin:0 auto; padding:0 var(--pad); font-size:12px; color:var(--light); display:flex; gap:7px; }
.shop-bc-inner a { color:var(--muted); }
.shop-bc-inner a:hover { color:var(--navy); }
.shop-bc-sep { color:var(--border-d); }
.shop-bc-current { color:var(--muted); font-weight:600; }
.shop-breadcrumb .woocommerce-breadcrumb { font-size:12px !important; color:var(--light) !important; margin:0 !important; padding:0 !important; }
.shop-breadcrumb .woocommerce-breadcrumb a { color:var(--muted) !important; }

/* Titelzeile: gross, editorial, ruhig */
.shop-titlebar { padding:26px 0 2px; border:none; }
.shop-titlebar-inner { max-width:var(--maxw); margin:0 auto; padding:0 var(--pad); display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; }
.shop-title { font-family:var(--ffh); font-size:clamp(1.5rem,3vw,2.1rem); font-weight:700; color:var(--navy); letter-spacing:-.03em; margin:0; }
.shop-count { font-size:12.5px; color:var(--muted); margin:4px 0 0; }
.shop-sort select { border:1.5px solid var(--border) !important; border-radius:99px !important; padding:8px 32px 8px 16px !important; font-size:12.5px !important; font-weight:600; color:var(--text); background:#fff; cursor:pointer; }

/* Kategorie-Chips */
.shop-chips-wrap { max-width:var(--maxw); margin:0 auto; padding:16px var(--pad) 0; }
.shop-chips { display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.shop-chips::-webkit-scrollbar { display:none; }
.shop-chip {
  display:inline-flex; align-items:center; gap:7px; flex-shrink:0;
  background:var(--card); border:1px solid var(--border);
  border-radius:99px; padding:9px 17px;
  font-size:13px; font-weight:600; color:var(--text);
  text-decoration:none; transition:all .15s; white-space:nowrap;
  box-shadow:var(--sh);
}
.shop-chip:hover { border-color:var(--navy); transform:translateY(-1px); }
.shop-chip.active { background:var(--navy); border-color:var(--navy); color:#fff; }
.shop-chip-icon { font-size:15px; line-height:1; }
.shop-chip-count { font-size:10.5px; font-weight:700; color:var(--muted); background:var(--soft); border-radius:99px; padding:1px 7px; }
.shop-chip.active .shop-chip-count { background:rgba(255,255,255,.22); color:#fff; }

/* Layout */
.shop-layout { max-width:var(--maxw); margin:0 auto; padding:22px var(--pad) 40px; display:grid; grid-template-columns:210px minmax(0,1fr); gap:32px; align-items:start; }
.shop-sidebar { position:sticky; top:120px; z-index:1; max-height:calc(100vh - 140px); overflow-y:auto; }
.shop-filter-toggle-mobile { display:none; }
.shop-main { min-width:0; width:100%; }
@media(max-width:900px){
  .shop-layout { grid-template-columns:1fr; }
  /* Mobile: Produkte zuerst — Chips übernehmen das Filtern, Sidebar folgt unten */
  .shop-sidebar { position:static; max-height:none; overflow-y:visible; margin-top:30px; order:2; }
  .shop-main { order:1; }
}

/* Sidebar-Filter: unboxed, ruhig */
.shop-filter-block { border:none; background:transparent; padding:2px 0 16px; margin-bottom:6px; border-bottom:1px solid var(--border); box-shadow:none; }
.shop-filter-block:last-child { border-bottom:none; }
.shop-filter-title {
  font-family:var(--ffh); font-size:11px; font-weight:700;
  letter-spacing:.09em; text-transform:uppercase; color:var(--navy);
  margin:0 0 8px; padding:8px 0; transition:color .2s;
}
.shop-filter-toggle:hover { color:var(--blue); }
.shop-filter-toggle .shop-filter-arrow { display:inline-block; transition:transform .3s; font-size:12px; color:var(--light); }
.shop-filter-list { list-style:none; padding:0; margin:0; }
.shop-filter-list a { display:flex; justify-content:space-between; align-items:center; padding:7px 10px; font-size:13px; color:var(--text); border-radius:9px; transition:all .12s; }
.shop-filter-list a:hover { background:var(--soft); }
.shop-filter-list a.active { background:var(--navy); color:#fff; font-weight:600; }
.shop-filter-count { font-size:10.5px; color:var(--muted); background:var(--soft); padding:1px 7px; border-radius:99px; }
.shop-filter-list a.active .shop-filter-count { background:rgba(255,255,255,.2); color:#fff; }
.shop-trust-list { display:flex; flex-direction:column; }
.shop-trust-item { padding:8px 0; border-bottom:1px dashed var(--border); }
.shop-trust-item:last-child { border-bottom:none; }
.shop-trust-item strong { display:block; color:var(--navy); font-size:12.5px; font-family:var(--ffh); }
.shop-trust-item span { font-size:11px; color:var(--muted); }

/* Leer-Zustand */
.shop-empty { text-align:center; padding:56px 20px; background:var(--card); border-radius:var(--rad-lg); box-shadow:var(--sh); }
.shop-empty-icon { color:var(--light); margin-bottom:12px; }
.shop-empty h3 { font-family:var(--ffh); color:var(--navy); margin-bottom:6px; }
.shop-empty p { color:var(--muted); margin-bottom:18px; }

/* Pagination */
.shop-pagination .woocommerce-pagination ul { display:flex!important; gap:6px!important; list-style:none!important; padding:24px 0!important; justify-content:center!important; }
.shop-pagination .woocommerce-pagination a, .shop-pagination .woocommerce-pagination span { border:1px solid var(--border)!important; border-radius:99px!important; padding:8px 14px!important; font-size:13px!important; min-width:38px; text-align:center; background:#fff; color:var(--text); }
.shop-pagination .woocommerce-pagination a:hover { border-color:var(--navy)!important; }
.shop-pagination .woocommerce-pagination span.current { background:var(--navy)!important; border-color:var(--navy)!important; color:#fff!important; }

/* ── PRODUKT-GRID ─────────────────────────────────────────── */
.shop-grid, .woocommerce ul.products {
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(225px, 1fr)) !important;
  gap:20px !important;
  margin:0 !important; padding:0 !important; max-width:100% !important;
}
@media(max-width:500px){ .shop-grid, .woocommerce ul.products { grid-template-columns:repeat(2,1fr) !important; gap:12px !important; } }

/* ── PRODUKTKARTE: weiss auf Papier, Bild freigestellt ────── */
.pc, .woocommerce ul.products li.product {
  background:var(--card) !important; border:none !important;
  border-radius:var(--rad-lg) !important; overflow:hidden !important;
  display:flex !important; flex-direction:column !important;
  box-shadow:var(--sh) !important;
  transition:box-shadow .22s, transform .22s !important;
  margin:0 !important; padding:0 !important; width:auto !important; float:none !important;
}
.pc:hover, .woocommerce ul.products li.product:hover {
  box-shadow:var(--sh-h) !important;
  transform:translateY(-4px);
}
.pc-link { display:flex; flex-direction:column; flex:1; }
.pc-img-box {
  position:relative; aspect-ratio:1/1; background:#fff; overflow:hidden;
  display:flex; align-items:center; justify-content:center; padding:16px;
}
.pc-img {
  max-width:100% !important; max-height:100% !important;
  width:auto !important; height:auto !important;
  object-fit:contain !important;
  mix-blend-mode:multiply;
  transition:transform .3s !important; margin:0 !important;
}
.pc:hover .pc-img { transform:scale(1.05) !important; }
.pc-aph-overlay {
  position:absolute; bottom:10px; left:10px;
  background:rgba(255,255,255,.93); backdrop-filter:blur(4px);
  border-radius:99px; padding:4px 11px;
  font-size:10px; font-weight:600; color:var(--navy);
  display:inline-flex; align-items:center; gap:4px;
  max-width:calc(100% - 20px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
}
.pc-aph-overlay svg { color:var(--blue); flex-shrink:0; }
.pc-flag { position:absolute; top:10px; left:10px; padding:4px 11px; border-radius:99px; font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#fff; z-index:2; box-shadow:0 2px 6px rgba(0,0,0,.14); }
.pc-flag-out { background:var(--red); }
.pc-flag-low { background:var(--steel); }
.pc-body { padding:14px 16px 6px; flex:1; display:flex; flex-direction:column; gap:5px; border-top:1px solid var(--soft); }
.pc-title {
  font-family:var(--ffh) !important; font-size:13.5px !important; font-weight:600 !important;
  line-height:1.35 !important; color:var(--text) !important;
  margin:0 !important; padding:0 !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:36px;
}
.pc-maker { display:flex; align-items:center; gap:7px; }
.pc-avatar {
  width:24px; height:24px; border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--navy));
  color:#fff; font-family:var(--ffh); font-size:9px; font-weight:700;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden;
}
.pc-avatar img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
.pc-maker-info { flex:1; min-width:0; }
.pc-maker-name { font-size:11px; font-weight:600; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pc-maker-hobby { font-size:10px; color:var(--blue); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pc-price-row { display:flex; align-items:baseline; justify-content:space-between; margin-top:3px; }
.pc-price { font-family:var(--ffh); font-size:17px; font-weight:800; color:var(--navy); letter-spacing:-.02em; }
.pc-price .woocommerce-Price-amount { color:var(--navy)!important; font-weight:800!important; font-size:17px!important; }
.pc-stock-mini { display:inline-flex; align-items:center; gap:4px; font-size:10.5px; color:var(--green); font-weight:600; }
.pc-stock-dot { width:5px; height:5px; background:var(--green); border-radius:50%; }

/* CTA: still (Tint) → Navy beim Hover. Kein Geschrei. */
.pc-foot { padding:8px 16px 16px; }
.pc-btn, .pc .button {
  display:block!important; width:100%!important; padding:10px 12px!important;
  background:var(--tint)!important; color:var(--navy)!important;
  border:none!important; border-radius:11px!important;
  font-family:var(--ffh)!important; font-size:12.5px!important; font-weight:700!important;
  text-align:center!important; cursor:pointer!important;
  transition:all .18s!important; text-decoration:none!important;
}
.pc-btn:hover, .pc .button:hover { background:var(--navy)!important; color:#fff!important; }
.pc .added_to_cart { display:none!important; }

/* ── INSTITUTION-HERO (Firmenseite) ───────────────────────── */
.aph-hero { color:#fff; padding:40px 0 36px; border-radius:0 0 var(--rad-xl) var(--rad-xl); box-shadow:0 10px 30px rgba(28,63,94,.16); }
.aph-hero-inner { max-width:var(--maxw); margin:0 auto; padding:0 var(--pad); display:flex; align-items:flex-start; gap:24px; flex-wrap:wrap; }
.aph-hero-logo { width:92px; height:92px; flex-shrink:0; background:rgba(255,255,255,.96); border-radius:var(--rad-lg); display:flex; align-items:center; justify-content:center; padding:12px; box-shadow:0 4px 16px rgba(0,0,0,.18); }
.aph-hero-logo img { max-width:100%; max-height:100%; object-fit:contain; }
.aph-hero-initial { width:92px; height:92px; flex-shrink:0; background:rgba(255,255,255,.14); border:1.5px solid rgba(255,255,255,.28); border-radius:var(--rad-lg); display:flex; align-items:center; justify-content:center; font-family:var(--ffh); font-size:38px; font-weight:800; color:#fff; }
.aph-hero-text { flex:1; min-width:260px; }
.aph-hero-label { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:5px; }
.aph-hero-name { font-family:var(--ffh); font-size:clamp(22px,3.2vw,32px); font-weight:800; letter-spacing:-.025em; margin:0 0 4px; color:#fff; }
.aph-hero-ort { font-size:13px; color:rgba(255,255,255,.78); margin-bottom:12px; }
.aph-hero-desc { font-size:14px; line-height:1.7; color:rgba(255,255,255,.9); max-width:62ch; margin:0; }
.aph-hero-meta { display:flex; flex-direction:column; gap:8px; flex-shrink:0; }
.aph-hero-badge { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); border-radius:99px; padding:7px 15px; font-size:11.5px; font-weight:600; white-space:nowrap; }
@media(max-width:700px){
  .aph-hero { padding:26px 0 24px; }
  .aph-hero-meta { flex-direction:row; flex-wrap:wrap; width:100%; }
  .aph-hero-logo, .aph-hero-initial { width:66px; height:66px; }
}

/* ══ SINGLE PRODUCT ═════════════════════════════════════════ */
.woocommerce div.product { max-width:var(--maxw)!important; margin:0 auto!important; padding:28px var(--pad) 48px!important; background:transparent; }
.woocommerce div.product div.images, .woocommerce div.product .woocommerce-product-gallery {
  width:44%!important; max-width:460px!important; float:left!important;
  border:none!important; border-radius:var(--rad-xl)!important; overflow:hidden!important;
  margin-right:36px!important; background:#fff; box-shadow:var(--sh);
}
.woocommerce div.product div.images img { width:100%!important; height:auto!important; }
.woocommerce div.product div.summary { width:50%!important; float:right!important; padding:0!important; }
.woocommerce div.product::after { content:""; display:table; clear:both; }
@media(max-width:800px){ .woocommerce div.product div.images, .woocommerce div.product .woocommerce-product-gallery, .woocommerce div.product div.summary { width:100%!important; float:none!important; max-width:100%!important; margin-right:0!important; } }
.woocommerce div.product .product_title { font-family:var(--ffh)!important; font-size:clamp(20px,2.6vw,30px)!important; font-weight:700!important; color:var(--navy)!important; letter-spacing:-.03em!important; margin:0 0 10px!important; line-height:1.2!important; }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-family:var(--ffh)!important; font-size:1.7rem!important; font-weight:800!important; color:var(--navy)!important; letter-spacing:-.02em; }
.woocommerce div.product .stock { font-size:13px; color:var(--green); font-weight:600; }
.woocommerce div.product .single_add_to_cart_button {
  background:var(--navy)!important; color:#fff!important; border:none!important;
  border-radius:14px!important; padding:14px 34px!important;
  font-size:14.5px!important; font-weight:700!important; font-family:var(--ffh)!important;
  transition:all .18s!important; box-shadow:0 3px 12px rgba(28,63,94,.22)!important;
}
.woocommerce div.product .single_add_to_cart_button:hover { background:var(--blue-d)!important; transform:translateY(-1px); }
.woocommerce div.product .quantity .qty { border:1.5px solid var(--border-d)!important; border-radius:12px!important; padding:12px!important; width:60px!important; text-align:center!important; }
.woocommerce div.product .woocommerce-tabs { clear:both!important; margin-top:32px!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0!important; border-bottom:2px solid var(--border)!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:none!important; background:none!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-weight:600!important; color:var(--muted)!important; padding:10px 18px!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom:2.5px solid var(--blue)!important; margin-bottom:-2px!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--navy)!important; }
.woocommerce div.product .related.products { clear:both!important; margin-top:44px!important; }
.woocommerce div.product .related.products h2 { font-family:var(--ffh)!important; font-size:19px!important; font-weight:700!important; color:var(--navy)!important; letter-spacing:-.02em; }
.woocommerce div.product .related ul.products { grid-template-columns:repeat(auto-fill, minmax(205px, 1fr))!important; gap:16px!important; }
@media(max-width:800px){ .woocommerce div.product .related ul.products { grid-template-columns:repeat(2,1fr)!important; } }

/* Hook: APH-Badge */
.ish-single-aph { display:inline-flex; align-items:center; gap:8px; background:var(--tint); border:none; border-radius:99px; padding:8px 16px; font-size:13px; color:var(--text); margin:0 0 16px; }
.ish-single-aph svg { color:var(--blue); }
.ish-single-aph strong { color:var(--navy); }

/* Hook: Bewohner-Story — das Herzstück */
.ish-single-story { background:var(--card); border:none; border-radius:var(--rad-lg); padding:22px 24px; margin:18px 0; box-shadow:var(--sh); border-left:4px solid var(--blue); }
.ish-ss-header { display:flex; align-items:center; gap:14px; margin-bottom:12px; }
.ish-ss-avatar { width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg,var(--blue),var(--navy)); color:#fff; font-family:var(--ffh); font-size:17px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 3px 10px rgba(28,63,94,.2); overflow:hidden; }
.ish-ss-avatar img { width:100%; height:100%; object-fit:cover; }
.ish-ss-label { font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); margin-bottom:2px; }
.ish-ss-name { font-family:var(--ffh); font-size:16px; font-weight:700; color:var(--navy); }
.ish-ss-hobby { font-size:12px; color:var(--blue); margin-top:2px; }
.ish-ss-quote { font-size:14px; line-height:1.7; color:var(--text); font-style:italic; border:none; padding:0; margin:0; }

/* Hook: Trust-Zeile */
.ish-single-trust { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--rad-lg); overflow:hidden; margin:18px 0; box-shadow:var(--sh); }
.ish-st-item { background:var(--card); padding:12px; text-align:center; }
.ish-st-item strong { display:block; font-family:var(--ffh); font-size:17px; font-weight:800; color:var(--navy); margin-bottom:2px; }
.ish-st-item span { font-size:10.5px; color:var(--muted); }
@media(max-width:500px){ .ish-single-trust{ grid-template-columns:1fr; } }

/* ══ CART / CHECKOUT / KONTO (generisch) ════════════════════ */
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-account .woocommerce { max-width:var(--maxw); margin:0 auto; padding:24px var(--pad) 56px; }
.woocommerce table.shop_table { border:none!important; border-radius:var(--rad-lg)!important; overflow:hidden!important; border-collapse:separate!important; box-shadow:var(--sh)!important; background:#fff; }
.woocommerce table.shop_table thead th { background:var(--navy)!important; color:#fff!important; font-size:11px!important; font-weight:700!important; text-transform:uppercase; letter-spacing:.06em; border:none!important; }
.woocommerce table.shop_table tbody th, .woocommerce table.shop_table tfoot th { background:transparent!important; color:var(--muted)!important; font-size:11px!important; font-weight:700!important; text-transform:uppercase; letter-spacing:.06em; border:none!important; border-bottom:1px solid var(--soft)!important; vertical-align:middle; text-align:left; }
.woocommerce table.shop_table td { border-color:var(--soft)!important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea { border:1.5px solid var(--border-d)!important; border-radius:11px!important; padding:11px 14px!important; font-size:14px!important; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row select:focus { border-color:var(--blue)!important; box-shadow:0 0 0 3px rgba(59,125,216,.13)!important; outline:none!important; }
.woocommerce .cart_totals { background:#fff!important; border:none!important; border-radius:var(--rad-lg)!important; padding:22px!important; box-shadow:var(--sh)!important; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background:var(--navy)!important; color:#fff!important; border-radius:11px!important; font-weight:600!important; border:none!important; transition:all .18s!important; }
.woocommerce a.button:hover, .woocommerce button.button:hover { background:var(--blue-d)!important; }
.woocommerce a.button.alt, .woocommerce button.button.alt { background:var(--navy)!important; box-shadow:0 3px 12px rgba(28,63,94,.22)!important; }
.woocommerce .woocommerce-MyAccount-navigation ul { background:#fff!important; border:none!important; border-radius:var(--rad-lg)!important; overflow:hidden!important; padding:0!important; box-shadow:var(--sh)!important; }
.woocommerce .woocommerce-MyAccount-navigation ul li { border-bottom:1px solid var(--soft)!important; padding:0!important; }
.woocommerce .woocommerce-MyAccount-navigation ul li a { padding:11px 15px!important; display:block!important; font-size:13px!important; }
.woocommerce .woocommerce-MyAccount-navigation ul li.is-active a { background:var(--navy)!important; color:#fff!important; font-weight:600!important; }
.woocommerce-message { border-top-color:var(--blue)!important; }
.woocommerce-error { border-top-color:var(--red)!important; }
.woocommerce .woocommerce-breadcrumb { font-size:12px!important; color:var(--light)!important; margin-bottom:12px!important; }
.woocommerce .woocommerce-breadcrumb a { color:var(--muted)!important; }

/* Konto: Bestellungen-Buttons als leise Pills */
.woocommerce table.shop_table.woocommerce-orders-table td,
.woocommerce table.shop_table.woocommerce-orders-table th { padding:13px 16px !important; }
.woocommerce-orders-table__cell-order-number a { font-family:var(--ffh); font-weight:700; color:var(--navy) !important; }
.woocommerce-orders-table__cell-order-actions { white-space:nowrap; }
.woocommerce-orders-table__cell-order-actions .button {
  display:inline-flex !important; align-items:center;
  padding:6px 14px !important; margin:2px 4px 2px 0 !important;
  font-size:12px !important; font-weight:600 !important;
  border-radius:99px !important; text-decoration:none !important;
  background:#fff !important; color:var(--navy) !important;
  border:1.5px solid var(--border-d) !important;
  transition:all .15s !important; box-shadow:none !important;
}
.woocommerce-orders-table__cell-order-actions .button:hover { border-color:var(--navy) !important; background:var(--soft) !important; }
.woocommerce-orders-table__cell-order-actions .button.pay { background:var(--navy) !important; color:#fff !important; border-color:var(--navy) !important; }
.woocommerce-orders-table__cell-order-actions .button.pay:hover { background:var(--blue-d) !important; }
.woocommerce-orders-table__cell-order-actions .button.cancel { color:var(--red) !important; }
.woocommerce-orders-table__cell-order-actions .button.cancel:hover { border-color:var(--red) !important; background:#fdf1f0 !important; }
.woocommerce-orders-table__cell-order-status { font-size:12px; font-weight:600; }

/* Bestellbestätigung */
.woocommerce-thankyou-order-details { list-style:none; padding:0; margin:0 0 24px; display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); overflow-x:hidden; }
.woocommerce-thankyou-order-details li { overflow-wrap:break-word; word-break:break-word; min-width:0; }
@media(max-width:600px){
  .woocommerce-thankyou-order-details { grid-template-columns:1fr; }
  .woocommerce-notice--success { overflow-x:hidden; word-wrap:break-word; }
  .woocommerce-order-overview span { display:block; max-width:100%; overflow-wrap:break-word; }
}

/* ══ PORTAL ═════════════════════════════════════════════════ */
.ish-portal { padding:18px var(--pad); max-width:var(--maxw); margin:0 auto; }
.ish-portal-header { display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--card); border:none; border-radius:var(--rad-lg); padding:16px 20px; margin-bottom:16px; box-shadow:var(--sh); }
.ish-portal-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin-bottom:2px; }
.ish-portal-title { font-family:var(--ffh); font-size:16px; font-weight:700; color:var(--navy); margin:0 0 1px; }
.ish-portal-sub { font-size:12px; color:var(--muted); margin:0; }
.ish-btn-new { white-space:nowrap; flex-shrink:0; }
.ish-portal-hdr-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }

/* Tabs */
.ipo-tabs { display:flex; gap:0; margin-bottom:20px; border-bottom:2px solid var(--border); overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.ipo-tabs::-webkit-scrollbar { display:none; }
.ipo-tab { padding:9px 16px; font-size:13.5px; font-weight:600; color:var(--muted); border-bottom:2.5px solid transparent; margin-bottom:-2px; transition:all .15s; white-space:nowrap; flex-shrink:0; }
.ipo-tab:hover { color:var(--navy); }
.ipo-tab.active { color:var(--navy); border-bottom-color:var(--blue); }
.ipo-tab-switch { margin-left:auto; color:var(--muted) !important; border-bottom-color:transparent !important; font-size:.78rem; }
.ipo-tab-switch:hover { color:var(--navy) !important; }

/* Portal-Produktkarten */
.ish-portal-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:18px; }
.ish-portal-card { background:var(--card); border:none; border-radius:var(--rad-lg); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s, transform .2s; box-shadow:var(--sh); }
.ish-portal-card:hover { box-shadow:var(--sh-h); transform:translateY(-3px); }
.ipc-img-wrap { position:relative; overflow:hidden; background:#fff; }
.ipc-img { height:160px; background-size:contain; background-repeat:no-repeat; background-position:center; margin:12px; transition:transform .3s; }
.ish-portal-card:hover .ipc-img { transform:scale(1.04); }
.ipc-img-empty { height:160px; margin:0; display:flex; align-items:center; justify-content:center; font-size:2.6rem; background:linear-gradient(135deg,#eef3f9 0%,#e2ebf4 100%); }
.ipc-badge { position:absolute; top:10px; right:10px; font-size:9.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:4px 11px; border-radius:99px; }
.ipc-badge-pub { background:rgba(30,155,110,.15); color:#0b5e3a; border:1px solid rgba(30,155,110,.3); backdrop-filter:blur(6px); }
.ipc-badge-draft { background:rgba(110,120,130,.13); color:#4a5260; border:1px solid rgba(110,120,130,.22); backdrop-filter:blur(6px); }
.ipc-body { padding:13px 16px 10px; flex:1; border-top:1px solid var(--soft); }
.ipc-title { font-family:var(--ffh); font-weight:600; font-size:13.5px; color:var(--text); line-height:1.35; margin-bottom:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ipc-price { font-family:var(--ffh); font-size:16px; font-weight:800; color:var(--navy); margin-bottom:3px; }
.ipc-stock { font-size:11px; color:var(--muted); }
.ipc-stock strong { color:var(--text); }
.ipc-actions { padding:10px 14px 13px; display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid var(--soft); background:var(--paper); }
.ipc-btn-edit { flex:1; background:var(--navy); color:#fff !important; border:none; border-radius:10px; padding:9px 12px; font-size:12px; font-weight:700; font-family:var(--ffh); text-align:center; cursor:pointer; transition:background .15s; text-decoration:none; display:inline-block; }
.ipc-btn-edit:hover { background:var(--blue-d); }
.ipc-btn-group { display:flex; gap:6px; }
.ipc-btn-icon { width:35px; height:35px; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; border:1.5px solid var(--border); background:#fff; font-size:15px; cursor:pointer; transition:all .15s; text-decoration:none; color:var(--text); }
.ipc-btn-icon:hover { border-color:var(--navy); background:var(--soft); }
.ipc-btn-del:hover { border-color:var(--red) !important; background:#fdf1f0 !important; }

/* Portal-Formulare */
.ish-portal-form { background:var(--card); border:none; border-radius:var(--rad-lg); padding:24px; box-shadow:var(--sh); }
.ish-portal-form-title { font-family:var(--ffh); font-size:16px; font-weight:700; color:var(--navy); margin:0 0 14px; }
.ish-portal-section-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin-bottom:10px; padding-bottom:7px; border-bottom:1px solid var(--border); }
.ish-pf-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:10px; }
@media(max-width:580px){ .ish-pf-grid{ grid-template-columns:1fr; } }
.ish-pf-field { display:flex; flex-direction:column; gap:4px; margin-bottom:10px; }
.ish-pf-full { grid-column:1/-1; }
.ish-pf-label { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); }
.ish-pf-input { border:1.5px solid var(--border-d); border-radius:10px; padding:9px 12px; font-size:13px; font-family:var(--ff); color:var(--text); width:100%; background:#fff; }
.ish-pf-input:focus { border-color:var(--blue); outline:none; box-shadow:0 0 0 3px rgba(59,125,216,.13); }
.ish-portal-form-actions { display:flex; gap:8px; padding-top:6px; }
.ish-portal-notice { background:var(--card); border:none; border-radius:var(--rad); padding:16px 20px; font-size:14px; color:var(--muted); box-shadow:var(--sh); }
.ish-portal-notice a { color:var(--blue); }
.ish-portal-empty { text-align:center; padding:36px; color:var(--muted); }
.ish-portal-empty a { color:var(--blue); }
.ish-portal-back { font-size:13px; color:var(--blue); margin-bottom:12px; display:inline-block; }

/* Portal-Bestellungen */
.ish-portal-orders { display:flex; flex-direction:column; gap:14px; }
.ipo-card { background:var(--card); border:none; border-radius:var(--rad-lg); overflow:hidden; box-shadow:var(--sh); }
.ipo-header { display:flex; justify-content:space-between; align-items:center; padding:13px 18px; border-bottom:1px solid var(--soft); background:var(--paper); }
.ipo-order-num { display:flex; align-items:center; gap:8px; }
.ipo-order-num strong { font-family:var(--ffh); font-size:14px; color:var(--navy); }
.ipo-date { font-size:11.5px; color:var(--muted); }
.ipo-address { padding:10px 18px; border-bottom:1px solid var(--soft); }
.ipo-addr-label { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:3px; }
.ipo-addr-text { font-size:12.5px; line-height:1.5; }
.ipo-items { padding:8px 18px; }
.ipo-item { display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px solid var(--soft); font-size:12.5px; }
.ipo-item:last-child { border-bottom:none; }
.ipo-item-name { flex:1; }
.ipo-item-qty { width:36px; text-align:center; color:var(--muted); font-weight:600; }
.ipo-item-price { width:80px; text-align:right; font-weight:600; color:var(--navy); }
.ipo-totals { padding:10px 18px; background:var(--paper); border-top:1px solid var(--soft); }
.ipo-total-row { display:flex; justify-content:space-between; padding:3px 0; font-size:12.5px; color:var(--muted); }
.ipo-total-highlight { font-weight:700; color:var(--navy); font-size:13.5px; border-top:1px solid var(--border); padding-top:7px; margin-top:4px; }
.ipo-actions { padding:11px 18px; display:flex; gap:8px; border-top:1px solid var(--soft); }
.ipo-notice { border-radius:var(--rad); padding:12px 16px; font-size:13px; margin-bottom:14px; }
.ipo-notice-success { background:#e8f6ef; color:#0b5e3a; }
.ipo-notice-error { background:#fdf1f0; color:var(--red); }

/* Dashboard */
.ipd-wrap { display:flex; flex-direction:column; gap:20px; }
.ipd-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
@media(max-width:700px){ .ipd-kpis { grid-template-columns:1fr 1fr; } }
.ipd-kpi { background:var(--card); border:none; border-radius:var(--rad-lg); padding:18px; box-shadow:var(--sh); }
.ipd-kpi-label { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin-bottom:6px; }
.ipd-kpi-value { font-family:var(--ffh); font-size:23px; font-weight:800; margin-bottom:4px; color:var(--navy); }
.ipd-kpi-sub { font-size:11px; color:var(--muted); }
.ipd-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
@media(max-width:700px){ .ipd-stats { grid-template-columns:1fr 1fr; } }
.ipd-stat { background:var(--card); border:none; border-radius:var(--rad-lg); padding:16px; text-align:center; box-shadow:var(--sh); }
.ipd-stat-icon { font-size:22px; margin-bottom:4px; }
.ipd-stat-val { font-family:var(--ffh); font-size:20px; font-weight:800; color:var(--navy); }
.ipd-stat-label { font-size:12px; font-weight:600; color:var(--navy); margin-top:2px; }
.ipd-stat-sub { font-size:10px; color:var(--muted); }
.ipd-section-title { font-family:var(--ffh); font-size:13px; font-weight:700; color:var(--navy); margin-bottom:12px; text-transform:uppercase; letter-spacing:.05em; }
.ipd-chart-block { background:var(--card); border:none; border-radius:var(--rad-lg); padding:22px; box-shadow:var(--sh); }
.ipd-chart { display:flex; align-items:flex-end; gap:8px; height:120px; padding-bottom:0; }
.ipd-bar-wrap { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:4px; height:100%; }
.ipd-bar-val { font-size:9px; color:var(--muted); text-align:center; white-space:nowrap; overflow:hidden; max-width:100%; }
.ipd-bar { width:100%; background:linear-gradient(180deg,var(--blue) 0%,var(--navy) 100%); border-radius:5px 5px 0 0; min-height:4px; transition:height .3s; }
.ipd-bar-label { font-size:10px; color:var(--muted); font-weight:600; }
.ipd-split { background:var(--card); border:none; border-radius:var(--rad-lg); padding:22px; box-shadow:var(--sh); }
.ipd-split-bar { display:flex; border-radius:10px; overflow:hidden; height:28px; margin-bottom:12px; }
.ipd-split-aph { background:var(--green); display:flex; align-items:center; justify-content:center; }
.ipd-split-inori { background:var(--steel); display:flex; align-items:center; justify-content:center; }
.ipd-split-aph span, .ipd-split-inori span { color:#fff; font-size:11px; font-weight:700; }
.ipd-split-legend { display:flex; gap:20px; flex-wrap:wrap; }
.ipd-split-item { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text); }
.ipd-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.ipd-quick { display:flex; gap:10px; flex-wrap:wrap; }

/* KI-Panel */
.ish-ki-panel { border:2px dashed #c3d2e4; border-radius:var(--rad-lg); margin-bottom:20px; overflow:hidden; background:#fff; }
.ish-ki-panel-header { background:var(--tint); padding:11px 16px; font-size:13px; font-weight:700; color:var(--navy); display:flex; align-items:center; gap:10px; }
.ish-ki-badge { background:var(--navy); color:#fff; font-size:10px; font-weight:600; border-radius:20px; padding:2px 10px; }
.ish-ki-panel-body { padding:16px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.ish-ki-upload { border:2px dashed var(--border-d); border-radius:12px; min-height:100px; width:160px; flex-shrink:0; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s; position:relative; overflow:hidden; }
.ish-ki-upload:hover { border-color:var(--navy); background:var(--tint); }
.ish-ki-upload-placeholder { text-align:center; color:var(--light); padding:12px; font-size:12px; }
.ish-ki-upload-placeholder p { margin:4px 0 0; }
.ish-ki-preview { position:relative; width:160px; text-align:center; padding:8px; }
.ish-ki-preview img { max-height:100px; max-width:140px; object-fit:contain; border-radius:8px; background:repeating-conic-gradient(#e9e6e0 0% 25%,#fff 0% 50%) 0 0/14px 14px; }
.ish-ki-change { background:#fff; border:1px solid var(--border); border-radius:6px; padding:2px 8px; font-size:11px; color:var(--muted); cursor:pointer; margin-top:4px; }
.ish-ki-actions { display:flex; flex-direction:column; gap:8px; flex:1; min-width:180px; }
.ish-ki-btn { font-size:13px !important; padding:8px 14px !important; }
.ish-ki-status { font-size:12px; color:var(--navy); }
@keyframes ino-spin { to { transform:rotate(360deg); } }

/* ── Buttons & Badges (global ish-*) ──────────────────────── */
.ish-btn { display:inline-flex; align-items:center; gap:5px; padding:8px 16px; border-radius:11px; font-size:12.5px; font-weight:700; font-family:var(--ffh); border:1.5px solid transparent; transition:all .18s; cursor:pointer; text-decoration:none; }
.ish-btn-primary { background:var(--navy); color:#fff; }
.ish-btn-primary:hover { background:var(--blue-d); transform:translateY(-1px); }
.ish-btn-outline { background:transparent; border-color:var(--border-d); color:var(--navy); }
.ish-btn-outline:hover { border-color:var(--navy); background:var(--soft); }
.ish-btn-sm { padding:5px 11px; font-size:11.5px; border-radius:9px; }
.ish-badge { display:inline-flex; padding:2px 8px; border-radius:99px; font-size:10px; font-weight:700; text-transform:uppercase; }
.ish-badge-green { background:#e5f5ee; color:#0a5c3a; }
.ish-badge-red { background:#fdf1f0; color:var(--red); }
.ish-badge-yellow { background:#fff8e1; color:#856404; }
.ish-badge-navy { background:var(--tint); color:var(--navy); }

/* ══ HOMEPAGE ═══════════════════════════════════════════════ */
body.home, .home .shop-page { background:var(--paper); }
.ish-wrap { max-width:var(--maxw); margin:0 auto; padding:0 var(--pad); }

/* Hero: grosses abgerundetes Billboard auf Papier */
.ish-hero {
  background:linear-gradient(140deg,var(--navy) 0%,#2a5379 60%,var(--steel) 100%);
  color:#fff; padding:68px 0 80px;
  max-width:calc(var(--maxw) + 2 * clamp(8px,1.5vw,24px));
  margin:20px auto 0; border-radius:var(--rad-xl);
  position:relative; overflow:hidden;
  box-shadow:0 20px 50px rgba(28,63,94,.22);
}
.ish-hero::before {
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 640px 420px at 88% 12%, rgba(255,255,255,.1), transparent 62%);
  pointer-events:none;
}
.ish-hero-inner { max-width:720px; position:relative; }
.ish-eyebrow { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); padding:5px 14px; border-radius:99px; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; margin-bottom:18px; }
.ish-hero-title { font-family:var(--ffh); font-size:clamp(28px,4.4vw,52px); font-weight:800; line-height:1.06; letter-spacing:-.035em; margin:0 0 16px; }
.ish-hero-title em { font-style:normal; color:#a9cdf2; }
.ish-hero-sub { font-size:15.5px; line-height:1.7; color:rgba(255,255,255,.85); margin:0 0 26px; max-width:46ch; }
.ish-hero-ctas { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
.ish-btn-white { background:#fff; color:var(--navy); padding:13px 28px; border-radius:99px; font-weight:700; font-family:var(--ffh); box-shadow:0 4px 16px rgba(0,0,0,.18); transition:all .18s; }
.ish-btn-white:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.25); }
.ish-btn-ghost { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.4); padding:13px 28px; border-radius:99px; font-weight:600; transition:all .18s; }
.ish-btn-ghost:hover { background:rgba(255,255,255,.1); }
.ish-hero-checks { display:flex; gap:16px; flex-wrap:wrap; font-size:12px; color:rgba(255,255,255,.72); }
.ish-hero-checks span { display:inline-flex; align-items:center; gap:5px; }
.ish-hero-checks span::before { content:"✓"; font-weight:700; color:#a9cdf2; }
@media(max-width:900px){ .ish-hero { border-radius:0; margin-top:0; } }

/* Statbar: leise Zahlen auf Papier statt dunkler Balken */
.ish-statbar { background:transparent; color:var(--navy); padding:34px 0 0; }
.ish-statbar-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.ish-statbar-item { padding:6px 20px; border-right:1px solid var(--border); }
.ish-statbar-item:last-child { border-right:none; }
.ish-stat-num { font-family:var(--ffh); font-size:24px; font-weight:800; line-height:1; color:var(--navy); letter-spacing:-.02em; }
.ish-stat-txt { font-size:11.5px; color:var(--muted); margin-top:4px; }
@media(max-width:680px){ .ish-statbar-grid{ grid-template-columns:repeat(2,1fr); row-gap:14px; } .ish-statbar-item:nth-child(2){ border-right:none; } }

/* Sektionen: durchgehende Bänder statt schwebender Inseln */
.ish-section { padding:60px 0; }
.ish-section-alt { background:#fff; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.ish-section-dark { background:var(--navy); border-radius:0; max-width:none; margin:0; }
.ish-s-tag { font-family:var(--ffh); font-size:11px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; color:var(--blue); margin-bottom:8px; }
.ish-s-title { font-family:var(--ffh); font-size:clamp(20px,2.8vw,30px); font-weight:700; color:var(--navy); letter-spacing:-.03em; margin:0 0 10px; }
.ish-s-lead { font-size:14.5px; color:var(--muted); line-height:1.7; margin:0 0 26px; max-width:54ch; }

/* Kategorien */
.ish-cat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:14px; margin-top:22px; }
.ish-cat-card { background:var(--card); border:none; border-radius:var(--rad-lg); padding:22px 16px; text-align:center; transition:all .2s; box-shadow:var(--sh); display:block; }
.ish-cat-card:hover { transform:translateY(-3px); box-shadow:var(--sh-h); }
.ish-cat-icon { font-size:1.7rem; margin-bottom:8px; }
.ish-cat-name { font-family:var(--ffh); font-size:13.5px; font-weight:600; color:var(--navy); margin-bottom:2px; }
.ish-cat-count { font-size:11px; color:var(--muted); }

/* Produkt-Vorschau */
.ish-product-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:16px; margin-top:22px; }
@media(max-width:700px){ .ish-product-grid{ grid-template-columns:repeat(2,1fr); } }
.ish-prod-card { background:var(--card); border:none; border-radius:var(--rad-lg); overflow:hidden; transition:all .2s; box-shadow:var(--sh); display:block; }
.ish-prod-card:hover { transform:translateY(-3px); box-shadow:var(--sh-h); }
.ish-prod-img { aspect-ratio:1/1; background:#fff; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:12px; }
.ish-prod-img img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.ish-prod-img-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:2rem; color:var(--light); }
.ish-prod-body { padding:12px 14px 14px; border-top:1px solid var(--soft); }
.ish-prod-aph { font-size:10px; color:var(--muted); margin-bottom:2px; }
.ish-prod-name { font-family:var(--ffh); font-size:13px; font-weight:600; color:var(--text); margin-bottom:5px; line-height:1.35; }
.ish-prod-price { font-family:var(--ffh); font-size:15px; font-weight:800; color:var(--navy); }

/* Warum-Karten */
.ish-why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:26px; }
@media(max-width:760px){ .ish-why-grid{ grid-template-columns:1fr; } }
.ish-why-card { background:var(--card); border:none; border-radius:var(--rad-lg); padding:22px 20px; box-shadow:var(--sh); transition:box-shadow .2s; }
.ish-why-card:hover { box-shadow:0 6px 20px rgba(36,52,66,.1); }
.ish-why-icon { width:44px; height:44px; border-radius:13px; background:var(--tint); color:var(--navy); display:flex; align-items:center; justify-content:center; font-size:19px; margin-bottom:12px; }
.ish-why-card h3 { font-family:var(--ffh); font-size:14.5px; font-weight:700; margin:0 0 5px; color:var(--navy); }
.ish-why-card p { font-size:12.5px; color:var(--muted); margin:0; line-height:1.6; }

/* Institutionen (dunkle Sektion) */
.ish-aph-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(175px,1fr)); gap:10px; margin-top:22px; }
.ish-aph-item { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:13px 15px; }
.ish-aph-name { font-family:var(--ffh); font-size:12.5px; font-weight:600; color:#fff; margin-bottom:2px; }
.ish-aph-ort { font-size:11px; color:rgba(255,255,255,.6); }

/* Kunst-Sektion */
.ish-section-kunst { background:#fff; padding:64px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); border-radius:0; max-width:none; margin:0; box-shadow:none; }
.ish-kunst-inner { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
@media(max-width:860px){ .ish-kunst-inner { grid-template-columns:1fr; gap:32px; } }
.ish-kunst-lead { font-size:14px; color:var(--muted); line-height:1.75; margin:14px 0 20px; max-width:460px; }
.ish-kunst-list { list-style:none; padding:0; margin:0 0 24px; display:flex; flex-direction:column; gap:10px; }
.ish-kunst-list li { display:flex; align-items:flex-start; gap:10px; font-size:13px; color:var(--text); line-height:1.55; }
.ish-kunst-dot { width:8px; height:8px; border-radius:50%; background:var(--blue); flex-shrink:0; margin-top:5px; }
.ish-kunst-badge { display:inline-flex; align-items:center; gap:6px; background:var(--tint); color:var(--blue); border:none; border-radius:99px; padding:7px 16px; font-size:12px; font-weight:600; }
.ish-kunst-visual { display:flex; flex-direction:column; gap:12px; }
.ish-kunst-card { background:var(--paper); border-radius:var(--rad-lg); padding:18px 20px; display:flex; align-items:center; gap:14px; box-shadow:var(--sh); border:none; transition:transform .2s, box-shadow .2s; }
.ish-kunst-card:hover { transform:translateX(4px); box-shadow:0 4px 18px rgba(36,52,66,.1); }
.ish-kunst-card-1 { border-left:3px solid var(--blue); }
.ish-kunst-card-2 { border-left:3px solid var(--steel); margin-left:16px; }
.ish-kunst-card-3 { border-left:3px solid var(--green); margin-left:32px; }
.ish-kunst-icon { font-size:22px; flex-shrink:0; }
.ish-kunst-card-title { font-family:var(--ffh); font-size:13px; font-weight:600; color:var(--navy); margin-bottom:2px; }
.ish-kunst-card-sub { font-size:11.5px; color:var(--muted); }

/* CTA-Banner */
.ish-cta-banner { background:linear-gradient(135deg,var(--blue-d),var(--navy)); padding:40px 0; color:#fff; border-radius:var(--rad-xl); max-width:calc(var(--maxw) + 2 * clamp(8px,1.5vw,24px)); margin:56px auto 40px; box-shadow:0 12px 32px rgba(28,63,94,.2); }
@media(max-width:900px){ .ish-cta-banner { border-radius:0; margin:40px auto 0; } }
.ish-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.ish-cta-inner h2 { font-family:var(--ffh); font-size:19px; font-weight:700; margin:0 0 5px; letter-spacing:-.02em; }
.ish-cta-inner p { font-size:13.5px; color:rgba(255,255,255,.75); margin:0; }

/* ══ CONTAINER ══════════════════════════════════════════════ */
body.woocommerce-page .woocommerce, body.woocommerce .woocommerce,
.inoshop-wc-page .woocommerce { max-width:1280px !important; margin:0 auto !important; padding:24px 32px 60px !important; }
@media (max-width:600px) {
  body.woocommerce-page .woocommerce, body.woocommerce .woocommerce,
  .inoshop-wc-page .woocommerce { padding:16px 16px 40px !important; }
}
.woocommerce div.product { padding-left:32px !important; padding-right:32px !important; }
@media (max-width:600px) { .woocommerce div.product { padding-left:16px !important; padding-right:16px !important; } }
.inoshop-wc-page { max-width:1320px !important; margin:0 auto !important; padding:20px 36px 60px !important; overflow:hidden !important; }
@media (max-width:600px) { .inoshop-wc-page { padding:16px 16px 40px !important; } }
.ish-page-content { max-width:1320px !important; margin:0 auto !important; padding:20px 36px 60px !important; }

/* ══ MOBILE PORTAL ══════════════════════════════════════════ */
@media(max-width:600px){
  .ipo-actions { flex-wrap:wrap; }
  .ipo-actions .ish-btn { flex:1 1 auto; justify-content:center; font-size:11px; padding:6px 8px; }
  .ipo-item { flex-wrap:wrap; gap:2px; }
  .ipo-item-name { width:100%; flex:none; }
  .ipo-item-qty, .ipo-item-price { flex:1; }
  .ipo-addr-text { font-size:12px; word-break:break-word; }
  .ipo-header { flex-wrap:wrap; gap:6px; }
  .ish-portal-form { padding:16px; }
  .ish-ki-panel-body { flex-direction:column; align-items:stretch; }
  .ish-ki-upload { width:100%; }
  .ish-ki-preview { width:100%; }
  .ish-portal-header { flex-wrap:wrap; gap:8px; }
  .ish-portal-hdr-actions { width:100%; }
  .ish-portal-hdr-actions .ish-btn { flex:1; justify-content:center; }
  .ipd-chart { height:80px; }
  .ipd-bar-val { display:none; }
  .ipo-tab-switch { margin-left:0; }
}
@media(max-width:420px){
  .ipo-totals { overflow-x:hidden; }
  .ipo-total-row { font-size:12px; }
  .ish-pf-grid { grid-template-columns:1fr; }
  .pc-title { font-size:12.5px !important; min-height:33px; }
  .pc-price { font-size:15px !important; }
  .pc-img-box { padding:8px; }
  .shop-chip { padding:7px 13px; font-size:12px; }
}

/* ══ WARENKORB ══════════════════════════════════════════════ */
/* Produktbilder in der Tabelle */
.woocommerce-cart table.cart img { width:56px!important; height:56px!important; object-fit:contain; border-radius:10px; background:var(--soft); padding:4px; }
.woocommerce-cart table.cart td.product-name a { font-family:var(--ffh); font-weight:600; color:var(--navy); }
.woocommerce-cart table.cart .product-remove a {
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:99px;
  color:var(--light)!important; font-size:16px; font-weight:400;
  background:transparent!important; transition:all .15s;
}
.woocommerce-cart table.cart .product-remove a:hover { background:#fdf1f0!important; color:var(--red)!important; }

/* Mengen-Feld */
.woocommerce-cart table.cart .quantity .qty {
  border:1.5px solid var(--border-d)!important; border-radius:10px!important;
  padding:8px!important; width:56px!important; text-align:center!important; font-size:13px!important;
}

/* Gutschein: richtiges Eingabefeld + Button-Duo */
.woocommerce-cart table.cart td.actions { padding:14px 16px!important; background:var(--paper); }
.woocommerce-cart table.cart td.actions .coupon { display:inline-flex; gap:8px; align-items:center; float:none; }
.woocommerce-cart table.cart td.actions .coupon .input-text {
  width:200px!important; min-width:160px;
  border:1.5px solid var(--border-d)!important; border-radius:99px!important;
  padding:9px 16px!important; font-size:13px!important; background:#fff!important;
}
.woocommerce-cart table.cart td.actions .coupon .input-text:focus { border-color:var(--blue)!important; outline:none!important; box-shadow:0 0 0 3px rgba(59,125,216,.13)!important; }
.woocommerce-cart table.cart td.actions .button { border-radius:99px!important; padding:9px 18px!important; font-size:12.5px!important; }
.woocommerce-cart table.cart td.actions .button[name="update_cart"] { background:#fff!important; color:var(--navy)!important; border:1.5px solid var(--border-d)!important; }
.woocommerce-cart table.cart td.actions .button[name="update_cart"]:hover { border-color:var(--navy)!important; background:var(--soft)!important; }
.woocommerce-cart table.cart td.actions .button[name="update_cart"]:disabled { opacity:.45; }

/* Summen-Box */
.woocommerce .cart_totals h2 { font-family:var(--ffh); font-size:17px; font-weight:700; color:var(--navy); letter-spacing:-.02em; margin:0 0 14px; }
.woocommerce .cart_totals table.shop_table { box-shadow:none!important; border-radius:0!important; }
.woocommerce .cart_totals table.shop_table td { padding:11px 0 11px 14px!important; font-size:13.5px; }
.woocommerce .cart_totals .order-total td { font-family:var(--ffh); font-size:17px!important; font-weight:800; color:var(--navy); }
.woocommerce .cart_totals .checkout-button {
  font-family:var(--ffh)!important; font-size:15px!important; font-weight:700!important;
  border-radius:14px!important; padding:15px 20px!important;
  box-shadow:0 3px 12px rgba(28,63,94,.22)!important;
}
.woocommerce .cart_totals .checkout-button:hover { transform:translateY(-1px); }
.woocommerce-shipping-calculator { font-size:12.5px; }
.woocommerce-shipping-destination { font-size:12.5px; color:var(--muted); }

/* Express-Pay-Buttons (G Pay / Amazon): Abstand + Rundung angleichen */
.woocommerce .cart_totals ~ * [class*="express"],
#wc-stripe-payment-request-wrapper, #wc-stripe-payment-request-button,
.amazonpay-button-container, #pay_with_amazon {
  margin-top:10px!important; border-radius:12px!important; overflow:hidden;
}

.woocommerce .wc-proceed-to-checkout { margin-top:16px; padding-bottom:0; }

/* ── FIRMENSEITE: Über-uns-Sektion unter dem Banner ───────── */
.aph-about { max-width:var(--maxw); margin:0 auto; padding:24px var(--pad) 0; }
.aph-about-inner {
  background:var(--card); border-radius:var(--rad-lg); box-shadow:var(--sh);
  padding:28px 32px; display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:36px;
}
@media(max-width:760px){ .aph-about-inner { grid-template-columns:1fr; gap:20px; padding:20px; } }
.aph-about-title { font-family:var(--ffh); font-size:19px; font-weight:700; color:var(--navy); letter-spacing:-.02em; margin:0 0 12px; }
.aph-about-story { font-size:14px; line-height:1.75; color:var(--text); }
.aph-about-story p { margin:0 0 12px; }
.aph-about-story p:last-child { margin-bottom:0; }
.aph-about-side { display:flex; flex-direction:column; gap:14px; border-left:1px solid var(--soft); padding-left:28px; }
@media(max-width:760px){ .aph-about-side { border-left:none; padding-left:0; border-top:1px solid var(--soft); padding-top:16px; } }
.aph-about-fact { display:flex; flex-direction:column; gap:2px; }
.aph-about-fact-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); }
.aph-about-fact strong { font-family:var(--ffh); font-size:13.5px; color:var(--navy); font-weight:600; }
.aph-about-link { font-family:var(--ffh); font-size:13.5px; font-weight:600; color:var(--blue); }
.aph-about-link:hover { text-decoration:underline; }

/* ── MOBILE FILTER-BUBBLE (FAB + Bottom-Sheet) ────────────── */
.shop-filter-fab { display:none; }
.shop-sheet-head { display:none; }
.shop-sheet-backdrop { display:none; }

@media(max-width:900px){
  /* Sidebar wird zum Bottom-Sheet, standardmässig zu */
  .shop-sidebar {
    display:none;
    position:fixed; left:0; right:0; bottom:0; top:auto;
    margin:0 !important; order:unset;
    background:#fff; z-index:1300;
    border-radius:22px 22px 0 0;
    box-shadow:0 -10px 40px rgba(36,52,66,.25);
    max-height:78vh; overflow-y:auto;
    padding:0 20px 28px;
  }
  body.ish-filters-open .shop-sidebar { display:block; animation:ish-sheet-up .25s ease; }
  @keyframes ish-sheet-up { from { transform:translateY(40px); opacity:.4; } to { transform:translateY(0); opacity:1; } }

  .shop-sheet-head {
    display:flex; align-items:center; justify-content:space-between;
    position:sticky; top:0; background:#fff; z-index:2;
    padding:16px 0 10px; margin-bottom:4px;
    border-bottom:1px solid var(--soft);
  }
  .shop-sheet-title { font-family:var(--ffh); font-size:16px; font-weight:700; color:var(--navy); }
  .shop-sheet-close {
    width:34px; height:34px; border:none; border-radius:99px;
    background:var(--soft); color:var(--muted); font-size:20px; line-height:1;
    cursor:pointer; display:flex; align-items:center; justify-content:center;
  }
  .shop-sheet-close:hover { background:var(--border); color:var(--navy); }

  .shop-sheet-backdrop { position:fixed; inset:0; background:rgba(20,30,40,.45); z-index:1250; }
  body.ish-filters-open .shop-sheet-backdrop { display:block; }
  body.ish-filters-open { overflow:hidden; }

  /* Schwebender Filter-Button */
  .shop-filter-fab {
    display:inline-flex; align-items:center; gap:7px;
    position:fixed; bottom:20px; left:50%; transform:translateX(-50%);
    z-index:1200;
    background:var(--navy); color:#fff;
    border:none; border-radius:99px;
    padding:12px 22px;
    font-family:var(--ffh); font-size:13.5px; font-weight:700;
    box-shadow:0 6px 22px rgba(28,63,94,.35);
    cursor:pointer;
  }
  .shop-filter-fab:active { transform:translateX(-50%) scale(.97); }
  .shop-filter-fab-dot { width:8px; height:8px; border-radius:50%; background:#7db4e8; }
}

/* ── MERKLISTE ────────────────────────────────────────────── */
/* Herz auf der Produktkarte */
.pc-wish {
  position:absolute; top:10px; right:10px; z-index:3;
  width:34px; height:34px; border:none; border-radius:99px;
  background:rgba(255,255,255,.92); backdrop-filter:blur(4px);
  color:var(--muted); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 1px 5px rgba(0,0,0,.1);
  transition:all .15s;
}
.pc-wish:hover { color:#D64560; transform:scale(1.08); }
.pc-wish.active { color:#D64560; }
.pc-wish.active svg path { fill:#D64560; stroke:#D64560; }
.pc-wish.pop { animation:ish-wish-pop .3s ease; }
@keyframes ish-wish-pop { 0%{transform:scale(1);} 45%{transform:scale(1.35);} 100%{transform:scale(1);} }

/* Herz auf der Produktseite */
.pc-wish-single {
  position:static; width:auto; height:auto;
  display:inline-flex; align-items:center; gap:7px;
  background:#fff; border:1.5px solid var(--border-d);
  border-radius:99px; padding:9px 18px; margin:0 0 14px;
  font-family:var(--ffh); font-size:12.5px; font-weight:600; color:var(--text);
  box-shadow:none; backdrop-filter:none;
}
.pc-wish-single:hover { border-color:#D64560; transform:none; }
.pc-wish-single.active { border-color:#D64560; color:#D64560; }

/* Merkliste-Seite */
.ish-wishlist { max-width:var(--maxw); margin:0 auto; padding:10px var(--pad) 50px; }
.ish-wishlist-head { padding:18px 0 20px; }
.ish-wishlist-empty { text-align:center; padding:64px 20px; background:var(--card); border-radius:var(--rad-lg); box-shadow:var(--sh); }
.ish-wishlist-empty-icon { font-size:3rem; color:var(--border-d); margin-bottom:10px; line-height:1; }
.ish-wishlist-empty h3 { font-family:var(--ffh); font-size:18px; color:var(--navy); margin:0 0 6px; }
.ish-wishlist-empty p { color:var(--muted); margin:0 0 20px; }

/* ── Firmenseite: Titelbild-Hero & Galerie ────────────────── */
.aph-hero-photo { padding-top:56px; padding-bottom:52px; }
.aph-gallery {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:10px; margin-top:20px; padding-top:20px; border-top:1px solid var(--soft);
}
.aph-gallery-item {
  aspect-ratio:4/3; border-radius:12px;
  background-size:cover; background-position:center;
  box-shadow:var(--sh);
}

/* ── Varianten-Editor im Portal ───────────────────────────── */
.ish-var-toggle { display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--text); cursor:pointer; font-weight:600; }
.ish-var-toggle input { width:17px; height:17px; cursor:pointer; }
.ish-var-row { display:grid; grid-template-columns:1fr 120px 100px; gap:8px; align-items:center; padding:7px 0; border-bottom:1px solid var(--soft); }
.ish-var-row:last-child { border-bottom:none; }
.ish-var-row-label { font-family:var(--ffh); font-size:12.5px; font-weight:600; color:var(--navy); }
.ish-var-row .ish-pf-input { padding:7px 10px; }
@media(max-width:520px){ .ish-var-row { grid-template-columns:1fr; gap:5px; } .ish-var-row-label { margin-top:6px; } }
