/* ============================================================
   PetCare Portal — Stylesheet
   Loading-Animation als position:fixed Popup (Theme-sicher)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=DM+Sans:wght@300;400;500&display=swap');

:root {
  --pc-green-50:#EAF3DE;--pc-green-100:#C0DD97;--pc-green-200:#97C459;
  --pc-green-400:#639922;--pc-green-600:#3B6D11;--pc-green-800:#27500A;
  --pc-teal-50:#E1F5EE;--pc-teal-100:#9FE1CB;--pc-teal-200:#5DCAA5;
  --pc-teal-400:#1D9E75;--pc-teal-600:#0F6E56;--pc-teal-800:#085041;
  --pc-amber-50:#FAEEDA;--pc-amber-100:#FAC775;--pc-amber-200:#EF9F27;
  --pc-amber-400:#BA7517;--pc-amber-600:#854F0B;--pc-amber-800:#633806;
  --pc-coral-50:#FAECE7;--pc-coral-100:#F5C4B3;--pc-coral-200:#F0997B;
  --pc-coral-400:#D85A30;--pc-coral-600:#993C1D;--pc-coral-800:#712B13;
  --pc-gray-50:#F7F6F2;--pc-gray-100:#ECEAE3;--pc-gray-200:#D3D1C7;
  --pc-gray-400:#888780;--pc-gray-600:#5F5E5A;--pc-gray-800:#2C2C2A;
  --pc-bg:#FAFAF7;--pc-text:#1C1C1A;--pc-text-muted:#5F5E5A;
  --pc-border:#E5E3DB;--pc-radius:16px;--pc-radius-sm:8px;
}

.petcare-wrapper,
.petcare-wrapper * { box-sizing:border-box; }

.petcare-wrapper {
  font-family:'DM Sans',sans-serif !important;
  color:var(--pc-text) !important;
  line-height:1.6;
  background:var(--pc-bg);
  overflow-x:hidden !important;
  max-width:100% !important;
}
.petcare-wrapper p,.petcare-wrapper ul,.petcare-wrapper ol { margin:0; padding:0; }
.petcare-wrapper ul,.petcare-wrapper ol { list-style:none; }
.petcare-wrapper h1,.petcare-wrapper h2,.petcare-wrapper h3,.petcare-wrapper h4,.petcare-wrapper h5 { border:none !important; padding:0 !important; background:none !important; }
.petcare-wrapper a { text-decoration:none; }
.petcare-wrapper button { font-family:'DM Sans',sans-serif; }

/* ---- HERO ---- */
.pc-hero { max-width:1200px; margin:0 auto; padding:5rem 2rem 4rem; display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.pc-hero-badge { display:inline-flex; align-items:center; gap:6px; background:var(--pc-teal-50); color:var(--pc-teal-600); border:1px solid var(--pc-teal-100); padding:6px 14px; border-radius:24px; font-size:0.8rem; font-weight:500; margin-bottom:1.5rem; }
.pc-hero h1 { font-family:'Playfair Display',serif !important; font-size:3.2rem !important; line-height:1.15 !important; color:var(--pc-text) !important; margin-bottom:1.5rem !important; display:block !important; }
.pc-hero h1 em { color:var(--pc-green-600) !important; font-style:italic !important; }
.pc-hero > div > p { font-size:1.1rem !important; color:var(--pc-text-muted) !important; margin-bottom:2rem !important; line-height:1.7 !important; }
.pc-hero-btns { display:flex; gap:12px; flex-wrap:wrap; }
.pc-hero-visual { position:relative; }
.pc-hero-img { width:100%; border-radius:24px; overflow:hidden; aspect-ratio:1; background:linear-gradient(135deg,var(--pc-green-50) 0%,var(--pc-teal-50) 100%); display:flex; align-items:center; justify-content:center; font-size:8rem; border:1px solid var(--pc-border); position:relative; }
.pc-hero-img img { width:100%; height:100%; object-fit:cover; }
.pc-floating-card { position:absolute; background:white; border-radius:var(--pc-radius); padding:12px 16px; border:1px solid var(--pc-border); box-shadow:0 4px 24px rgba(0,0,0,0.08); font-size:0.82rem; }
.pc-floating-card-1 { bottom:-20px; left:-20px; }
.pc-floating-card-2 { top:20px; right:-20px; }
.pc-fc-label { color:var(--pc-text-muted); font-size:0.75rem; }
.pc-fc-value { font-weight:500; color:var(--pc-green-600); font-size:1rem; }

/* ---- BENEFITS ---- */
.pc-benefits { background:var(--pc-green-600); padding:4rem 2rem; margin:2rem 0; }
.pc-benefits-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.pc-benefit-item { text-align:center; color:white; }
.pc-benefit-icon { width:56px; height:56px; background:rgba(255,255,255,0.15); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; font-size:24px; }
.pc-benefit-item h3 { font-size:1.1rem !important; font-weight:500; margin-bottom:0.5rem !important; color:white !important; }
.pc-benefit-item p  { font-size:0.9rem !important; opacity:0.8; color:white !important; }

/* ---- MAIN CONTENT ---- */
.pc-main-content { max-width:1200px; margin:0 auto; padding:3rem 2rem; display:grid; grid-template-columns:1fr 280px; gap:2rem; box-sizing:border-box; width:100%; }
.pc-section-title { font-family:'Playfair Display',serif !important; font-size:2rem !important; margin-bottom:0.5rem !important; color:var(--pc-text) !important; }
.pc-section-sub { color:var(--pc-text-muted); margin-bottom:2rem; font-size:0.95rem; }
/* Linke Spalte: nie breiter als verfügbar */
.pc-main-left { min-width:0; max-width:100%; overflow:hidden; }

/* ---- STEP INDICATOR ---- */
.pc-step-indicator { display:flex !important; align-items:center; gap:8px; margin-bottom:2rem; overflow-x:auto; padding-bottom:4px; max-width:100%; }
.pc-step { display:flex !important; align-items:center; gap:6px; padding:6px 14px; border-radius:24px; font-size:0.82rem; font-weight:500; white-space:nowrap; background:var(--pc-gray-100); color:var(--pc-text-muted); transition:all 0.3s; cursor:default; flex-shrink:0; }
.pc-step.active { background:var(--pc-green-600) !important; color:white !important; }
.pc-step.done   { background:var(--pc-teal-50)   !important; color:var(--pc-teal-600) !important; }
.pc-step-divider { width:24px; height:1px; background:var(--pc-border); flex-shrink:0; }

/* ---- ANAMNESE FORM ---- */
.pc-anamnese-form {
  background:white; border-radius:var(--pc-radius);
  border:1px solid var(--pc-border); padding:2rem;
  box-sizing:border-box; max-width:100%; width:100%;
  overflow:hidden;
}
.pc-step-panel        { display:none !important; }
.pc-step-panel.active { display:block !important; }
.pc-panel-title { font-size:1.3rem !important; font-weight:500; margin-bottom:0.4rem !important; color:var(--pc-text) !important; }
.pc-panel-sub   { font-size:0.9rem; color:var(--pc-text-muted); margin-bottom:1.8rem !important; display:block; }

/* ---- TIERART GRID ---- */
.pc-tierart-grid { display:grid !important; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:1.5rem; }
.pc-tierart-card { border:2px solid var(--pc-border); border-radius:var(--pc-radius); padding:1.2rem; text-align:center; cursor:pointer; transition:all 0.2s; background:white !important; }
.pc-tierart-card:hover    { border-color:var(--pc-green-200); background:var(--pc-green-50) !important; }
.pc-tierart-card.selected { border-color:var(--pc-green-600) !important; background:var(--pc-green-50) !important; }
.pc-tierart-emoji { font-size:2.8rem; display:block !important; margin-bottom:8px; }
.pc-tierart-name  { font-size:0.85rem; font-weight:500; color:var(--pc-text-muted); }
.pc-tierart-card.selected .pc-tierart-name { color:var(--pc-green-600) !important; }

/* ---- FORM FIELDS ---- */
.pc-form-row   { display:grid !important; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.pc-form-group { margin-bottom:16px; }
.pc-form-group label { display:block !important; font-size:0.85rem !important; font-weight:500; margin-bottom:6px !important; color:var(--pc-text-muted) !important; }
.pc-form-group input,.pc-form-group select,.pc-form-group textarea { width:100% !important; padding:10px 14px !important; border:1.5px solid var(--pc-border) !important; border-radius:var(--pc-radius-sm) !important; font-family:'DM Sans',sans-serif !important; font-size:0.9rem !important; background:var(--pc-bg) !important; color:var(--pc-text) !important; transition:border 0.2s; outline:none !important; box-shadow:none !important; }
.pc-form-group input:focus,.pc-form-group select:focus,.pc-form-group textarea:focus { border-color:var(--pc-green-400) !important; }
.pc-form-group textarea { resize:vertical; min-height:100px; }
.pc-checkbox-group { display:flex !important; flex-direction:column; gap:8px; margin-top:4px; }
.pc-checkbox-item { display:flex !important; align-items:center; gap:10px; padding:10px 14px; border:1.5px solid var(--pc-border); border-radius:var(--pc-radius-sm); cursor:pointer; transition:all 0.2s; }
.pc-checkbox-item:hover { border-color:var(--pc-green-200); background:var(--pc-green-50); }
.pc-checkbox-item input { width:auto !important; margin:0 !important; flex-shrink:0; }
.pc-checkbox-item span  { cursor:pointer; font-size:0.9rem; color:var(--pc-text) !important; }
.pc-severity-scale { display:flex !important; gap:8px; margin-top:8px; }
.pc-severity-btn { flex:1; padding:8px 4px; border-radius:var(--pc-radius-sm); border:1.5px solid var(--pc-border); text-align:center; cursor:pointer; font-size:0.8rem; font-weight:500; transition:all 0.2s; background:white; color:var(--pc-text); }
.pc-severity-btn.s1.selected { background:var(--pc-green-50) !important; border-color:var(--pc-green-600) !important; color:var(--pc-green-600) !important; }
.pc-severity-btn.s2.selected { background:var(--pc-amber-50) !important; border-color:var(--pc-amber-400) !important; color:var(--pc-amber-400) !important; }
.pc-severity-btn.s3.selected { background:var(--pc-coral-50) !important; border-color:var(--pc-coral-400) !important; color:var(--pc-coral-400) !important; }

/* ---- BUTTONS ---- */
.pc-btn-row {
  display:flex !important; justify-content:space-between;
  margin-top:2rem; padding-top:1.5rem;
  border-top:1px solid var(--pc-border);
  align-items:center; flex-wrap:wrap; gap:10px;
}
.pc-btn { padding:10px 24px; border-radius:24px; font-size:0.9rem; font-weight:500; cursor:pointer; transition:all 0.2s; font-family:'DM Sans',sans-serif; display:inline-block !important; white-space:nowrap; min-width:0; box-sizing:border-box; }
.pc-btn-back   { background:white !important; color:var(--pc-text-muted) !important; border:1px solid var(--pc-border) !important; }
.pc-btn-back:hover { background:var(--pc-gray-100) !important; }
.pc-btn-next   { background:var(--pc-green-600) !important; color:white !important; border:none !important; }
.pc-btn-next:hover { background:var(--pc-green-800) !important; }
.pc-btn-submit { background:var(--pc-teal-400) !important; color:white !important; font-size:1rem !important; padding:14px 32px !important; border:none !important; }
.pc-btn-submit:hover { background:var(--pc-teal-600) !important; }
.pc-btn-primary { background:var(--pc-green-600) !important; color:white !important; padding:14px 28px; border-radius:32px; font-size:0.95rem; font-weight:500; cursor:pointer; border:none !important; transition:all 0.2s; text-decoration:none !important; display:inline-block !important; font-family:'DM Sans',sans-serif; box-sizing:border-box; }
.pc-btn-primary:hover { background:var(--pc-green-800) !important; color:white !important; }
.pc-btn-secondary { background:white !important; color:var(--pc-text) !important; padding:14px 28px; border-radius:32px; font-size:0.95rem; font-weight:500; cursor:pointer; border:1px solid var(--pc-border) !important; transition:all 0.2s; text-decoration:none !important; display:inline-block !important; font-family:'DM Sans',sans-serif; box-sizing:border-box; }
.pc-btn-secondary:hover { background:var(--pc-gray-50) !important; }

/* ================================================================
   LOADING POPUP — position:fixed, IMMER über allem, Theme-sicher
================================================================ */

/* Overlay — sitzt über ALLEM, kein Theme kann das überschreiben */
#pc-loading-popup {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999999 !important;
  background: rgba(10, 20, 10, 0.72) !important;
  /* display: KEIN display hier! Wird ausschließlich per JS via style.setProperty gesetzt */
  align-items: center !important;
  justify-content: center !important;
  padding: 1rem !important;
  font-family: 'DM Sans', sans-serif !important;
}

/* Modal-Box */
#pc-loading-popup .pc-lp-box {
  background: white !important;
  border-radius: 20px !important;
  width: 100% !important;
  max-width: 520px !important;
  padding: 2rem !important;
  box-shadow: 0 24px 80px rgba(0,0,0,0.35) !important;
  overflow: hidden !important;
}

/* Header */
#pc-loading-popup .pc-lp-head {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 1.4rem !important;
}
#pc-loading-popup .pc-lp-icon {
  font-size: 2.4rem !important;
  flex-shrink: 0 !important;
  animation: pc-brain 2s ease-in-out infinite !important;
}
@keyframes pc-brain {
  0%,100% { transform:scale(1); }
  50%      { transform:scale(1.12); }
}
#pc-loading-popup .pc-lp-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: #1C1C1A !important;
  margin: 0 0 4px !important;
  display: block !important;
}
#pc-loading-popup .pc-lp-sub {
  font-size: 0.82rem !important;
  color: #5F5E5A !important;
  margin: 0 !important;
  display: block !important;
  min-height: 1.2em !important;
  transition: opacity 0.3s !important;
}

/* Fortschrittsbalken */
#pc-loading-popup .pc-lp-bar-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 1.4rem !important;
}
#pc-loading-popup .pc-lp-bar-track {
  flex: 1 !important;
  height: 6px !important;
  background: #ECEAE3 !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}
#pc-loading-popup .pc-lp-bar-fill {
  height: 100% !important;
  background: #3B6D11 !important;
  border-radius: 3px !important;
  width: 0% !important;
  transition: width 0.7s cubic-bezier(0.4,0,0.2,1) !important;
}
#pc-loading-popup .pc-lp-pct {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #3B6D11 !important;
  min-width: 36px !important;
  text-align: right !important;
}

/* Agenten-Liste */
#pc-loading-popup .pc-lp-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #E5E3DB !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 1rem !important;
}
#pc-loading-popup .pc-lp-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 11px 14px !important;
  border-bottom: 1px solid #E5E3DB !important;
  background: white !important;
  transition: background 0.25s !important;
}
#pc-loading-popup .pc-lp-item:last-child { border-bottom: none !important; }

/* Zustände */
#pc-loading-popup .pc-lp-item[data-s="idle"]    { opacity: 0.45 !important; }
#pc-loading-popup .pc-lp-item[data-s="running"] { opacity: 1 !important; background: #EAF3DE !important; }
#pc-loading-popup .pc-lp-item[data-s="done"]    { opacity: 1 !important; background: white !important; }

/* Spinner / Check Icon */
#pc-loading-popup .pc-lp-ico {
  position: relative !important;
  width: 28px !important; height: 28px !important;
  flex-shrink: 0 !important;
}
/* Grauer Ring im Idle-Zustand */
#pc-loading-popup .pc-lp-item[data-s="idle"] .pc-lp-ico::after {
  content: '' !important;
  position: absolute !important; inset: 0 !important;
  border: 2.5px solid #D3D1C7 !important;
  border-radius: 50% !important;
}
/* Spinner im Running-Zustand */
#pc-loading-popup .pc-lp-spin {
  position: absolute !important; inset: 0 !important;
  border: 2.5px solid #C0DD97 !important;
  border-top-color: #3B6D11 !important;
  border-radius: 50% !important;
  opacity: 0 !important;
}
@keyframes pc-spin { to { transform:rotate(360deg); } }
#pc-loading-popup .pc-lp-item[data-s="running"] .pc-lp-spin {
  opacity: 1 !important;
  animation: pc-spin 0.8s linear infinite !important;
}
/* Checkmark im Done-Zustand */
#pc-loading-popup .pc-lp-chk {
  position: absolute !important; inset: 0 !important;
  background: #3B6D11 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important; justify-content: center !important;
  color: white !important; font-size: 0.75rem !important; font-weight: 700 !important;
  opacity: 0 !important;
  transform: scale(0.4) !important;
  transition: opacity 0.25s, transform 0.35s cubic-bezier(0.34,1.56,0.64,1) !important;
}
#pc-loading-popup .pc-lp-item[data-s="done"] .pc-lp-spin { opacity:0 !important; animation:none !important; }
#pc-loading-popup .pc-lp-item[data-s="done"] .pc-lp-chk  { opacity:1 !important; transform:scale(1) !important; }

/* Text */
#pc-loading-popup .pc-lp-txt { flex:1; min-width:0; }
#pc-loading-popup .pc-lp-name {
  font-size: 0.86rem !important; font-weight: 600 !important;
  color: #1C1C1A !important; margin:0 !important;
}
#pc-loading-popup .pc-lp-role {
  font-weight: 400 !important; color: #5F5E5A !important;
}
#pc-loading-popup .pc-lp-desc {
  font-size: 0.73rem !important; color: #888780 !important;
  margin: 1px 0 0 !important; line-height: 1.3 !important;
}

/* Status-Badge */
#pc-loading-popup .pc-lp-badge { flex-shrink:0; }
#pc-loading-popup .pc-lp-badge span {
  display: none !important;
  font-size: 0.72rem !important; font-weight: 500 !important;
  padding: 2px 8px !important; border-radius: 10px !important;
}
#pc-loading-popup .pc-lp-item[data-s="idle"]    .b-idle    { display:inline-block !important; background:#ECEAE3; color:#888780 !important; }
#pc-loading-popup .pc-lp-item[data-s="running"] .b-running { display:inline-block !important; background:#FAEEDA; color:#854F0B !important; animation: pc-blink 1s ease-in-out infinite !important; }
#pc-loading-popup .pc-lp-item[data-s="done"]    .b-done    { display:inline-block !important; background:#E1F5EE; color:#0F6E56 !important; }
@keyframes pc-blink { 0%,100%{opacity:1} 50%{opacity:0.55} }

/* Hinweistext */
#pc-loading-popup .pc-lp-hint {
  font-size: 0.75rem !important;
  color: #888780 !important;
  text-align: center !important;
  margin: 0 !important;
}

/* ---- RESULTS ---- */
.pc-results-area { margin-top:2rem; }
.pc-agent-card { background:white !important; border-radius:var(--pc-radius); border:1px solid var(--pc-border); padding:1.5rem; margin-bottom:1rem; }
.pc-agent-header { display:flex !important; align-items:center; gap:12px; margin-bottom:1rem; }
.pc-agent-badge  { padding:4px 10px !important; border-radius:24px !important; font-size:0.75rem !important; font-weight:500 !important; display:inline-block !important; }
.badge-natur      { background:var(--pc-teal-50) !important;   color:var(--pc-teal-600) !important; }
.badge-nahrung    { background:var(--pc-green-50) !important;  color:var(--pc-green-600) !important; }
.badge-ernaehrung { background:var(--pc-amber-50) !important;  color:var(--pc-amber-600) !important; }
.badge-summary    { background:var(--pc-green-600) !important; color:white !important; }
.pc-agent-name    { font-weight:500 !important; font-size:1rem !important; color:var(--pc-text) !important; }
.pc-agent-content { font-size:0.92rem !important; line-height:1.8 !important; color:var(--pc-text-muted) !important; }
.pc-agent-content strong { color:var(--pc-text) !important; font-weight:600 !important; }
.pc-agent-content em     { color:var(--pc-text-muted) !important; }
.pc-agent-content ul     { padding-left:1.4rem !important; margin:8px 0 !important; list-style:disc !important; }
.pc-agent-content li     { margin-bottom:5px !important; display:list-item !important; }
.pc-agent-content p      { margin-bottom:0.6rem !important; }
.pc-agent-content code   { background:var(--pc-gray-100); padding:2px 6px; border-radius:4px; font-size:0.85em; }

/* ---- WARNING / DISCLAIMER ---- */
.pc-warning-box { background:var(--pc-coral-50) !important; border:1px solid var(--pc-coral-200); border-radius:var(--pc-radius); padding:1.2rem 1.5rem; margin-bottom:1rem; }
.pc-warning-box h4 { color:var(--pc-coral-600) !important; font-size:1rem !important; margin-bottom:0.5rem !important; }
.pc-warning-box p  { color:var(--pc-coral-800) !important; font-size:0.9rem !important; }
.pc-disclaimer { background:var(--pc-amber-50); border:1px solid var(--pc-amber-100); border-radius:var(--pc-radius); padding:1rem 1.5rem; font-size:0.82rem !important; color:var(--pc-amber-800) !important; margin-bottom:1.5rem; }

/* ---- SIDEBAR ---- */
.pc-sidebar { min-width:0; max-width:100%; }
.pc-sidebar-widget {
  background:white !important; border-radius:var(--pc-radius);
  border:1px solid var(--pc-border); padding:1.2rem; margin-bottom:1rem;
  box-sizing:border-box; max-width:100%; overflow:hidden;
}
.pc-widget-title { font-size:0.85rem !important; font-weight:500 !important; text-transform:uppercase; letter-spacing:0.05em; color:var(--pc-text-muted) !important; margin-bottom:1rem !important; display:block !important; }
.pc-tip-item { display:flex !important; align-items:flex-start; gap:10px; padding:8px 0; border-bottom:1px solid var(--pc-border); font-size:0.85rem; }
.pc-tip-item:last-child { border-bottom:none; }
.pc-tip-icon { font-size:1rem; flex-shrink:0; margin-top:1px; }
.pc-tip-text { color:var(--pc-text-muted) !important; line-height:1.5; }
.pc-ad-slot  { background:var(--pc-gray-50); border:1px dashed var(--pc-gray-200); border-radius:var(--pc-radius); padding:1rem; text-align:center; }
.pc-ad-placeholder { height:120px; background:var(--pc-gray-100); border-radius:var(--pc-radius-sm); display:flex !important; align-items:center; justify-content:center; margin-bottom:8px; font-size:0.8rem; color:var(--pc-gray-400); }

/* ---- VET MODAL ---- */
.pc-modal-overlay { position:fixed !important; inset:0 !important; z-index:999999 !important; background:rgba(0,0,0,0.55); align-items:center; justify-content:center; padding:1rem; }
.pc-modal { background:white !important; border-radius:24px; width:100%; max-width:800px; max-height:90vh; overflow-y:auto; padding:2rem; }
.pc-modal-header { display:flex !important; align-items:center; justify-content:space-between; margin-bottom:1.5rem; }
.pc-modal-close  { width:36px; height:36px; border-radius:50%; background:var(--pc-gray-100) !important; border:none !important; cursor:pointer; font-size:1rem; display:flex !important; align-items:center; justify-content:center; }
.pc-map-container { width:100%; height:300px; border-radius:var(--pc-radius); overflow:hidden; margin-bottom:1.5rem; border:1px solid var(--pc-teal-100); }
.pc-map-container iframe { width:100% !important; height:100% !important; border:none !important; display:block !important; }
.pc-vet-list  { display:grid !important; gap:12px; }
.pc-vet-card  { border:1px solid var(--pc-border); border-radius:var(--pc-radius); padding:1rem; display:flex !important; gap:12px; align-items:flex-start; }
.pc-vet-icon  { width:44px; height:44px; border-radius:50%; background:var(--pc-teal-50); color:var(--pc-teal-600); display:flex !important; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; }
.pc-vet-name  { font-weight:500 !important; margin-bottom:2px; color:var(--pc-text) !important; }
.pc-vet-address { font-size:0.85rem !important; color:var(--pc-text-muted) !important; }
.pc-vet-distance { font-size:0.8rem; background:var(--pc-green-50); color:var(--pc-green-600); padding:2px 8px; border-radius:12px; white-space:nowrap; display:inline-block !important; }
.pc-vet-loading  { text-align:center; padding:2rem; color:var(--pc-text-muted); }
.pc-results-actions { margin-top:1.5rem; display:flex !important; gap:12px; flex-wrap:wrap; }

/* ================================================================
   RESPONSIVE — Mobile First
   480px  = kleines Smartphone
   640px  = großes Smartphone / kleines Tablet
   768px  = Tablet Portrait
   900px  = Tablet Landscape / kleiner Desktop
   1200px = Desktop
================================================================ */

/* ================================================================
   RESPONSIVE — vollständig für alle Geräte
   Breakpoints:
   480px  = kleines Smartphone (iPhone SE etc.)
   640px  = großes Smartphone
   768px  = Tablet Portrait
   900px  = Tablet Landscape
================================================================ */

/* ---- Tablet Landscape (max 900px) ---- */
@media (max-width: 900px) {
  /* Hero */
  .pc-hero { grid-template-columns:1fr !important; gap:2rem; padding:3rem 1.5rem 2rem; }
  .pc-hero h1 { font-size:2.2rem !important; }
  .pc-hero > div > p { font-size:1rem !important; }
  .pc-hero-visual { display:none !important; }
  .pc-hero-btns { gap:10px; }

  /* Benefits */
  .pc-benefits { padding:2.5rem 1.5rem; margin:1rem 0; }
  .pc-benefits-inner { grid-template-columns:1fr !important; gap:1.5rem; }

  /* Hauptlayout: eine Spalte, Sidebar unten */
  .pc-main-content { grid-template-columns:1fr !important; padding:2rem 1.5rem; gap:1.5rem; }
  .pc-sidebar { display:block !important; }

  /* Formular */
  .pc-tierart-grid { grid-template-columns:repeat(4,1fr) !important; gap:10px; }
  .pc-form-row     { grid-template-columns:1fr !important; gap:0; }

  /* Popup */
  #pc-loading-popup .pc-lp-desc  { display:none !important; }
  #pc-loading-popup .pc-lp-badge { display:none !important; }

  /* Vet Modal */
  .pc-modal { padding:1.5rem; border-radius:16px; }
  .pc-map-container { height:220px; }
}

/* ---- Tablet Portrait (max 768px) ---- */
@media (max-width: 768px) {
  /* Navigation: nur Logo + CTA */
  .pc-topnav-links li:nth-child(1),
  .pc-topnav-links li:nth-child(2) { display:none !important; }

  /* Hero */
  .pc-hero { padding:2.5rem 1.2rem 2rem; }
  .pc-hero h1 { font-size:2rem !important; }
  .pc-hero-btns { flex-direction:column !important; gap:10px; }
  .pc-hero-btns a,
  .pc-hero-btns button { width:100% !important; text-align:center !important; box-sizing:border-box !important; }

  /* Schritt-Indikator */
  .pc-step-indicator { gap:5px; }
  .pc-step { font-size:0.76rem !important; padding:5px 10px !important; }
  .pc-step-divider { width:12px; }

  /* Formular */
  .pc-anamnese-form { padding:1.5rem; }
  .pc-tierart-grid  { grid-template-columns:repeat(3,1fr) !important; gap:8px; }
  .pc-tierart-card  { padding:0.9rem 0.5rem; }
  .pc-tierart-emoji { font-size:2.2rem !important; }

  /* Buttons */
  .pc-btn-submit { padding:12px 24px !important; font-size:0.95rem !important; }

  /* Ergebnisse */
  .pc-agent-card { padding:1.2rem; }
  .pc-results-actions { flex-direction:column !important; }
  .pc-results-actions button,
  .pc-results-actions a { width:100% !important; text-align:center !important; display:block !important; box-sizing:border-box !important; }
}

/* ---- Smartphone (max 640px) ---- */
@media (max-width: 640px) {
  /* Navigation */
  .pc-topnav { padding:0 1rem; }
  .pc-topnav-inner { height:56px; }
  .pc-topnav-links li:not(:last-child) { display:none !important; }
  .pc-topnav-logo-sub { display:none !important; }
  .pc-topnav-logo { font-size:1.3rem !important; gap:8px !important; }
  .pc-topnav-logo-icon { width:30px !important; height:30px !important; font-size:15px !important; }
  .pc-nav-cta { padding:7px 14px !important; font-size:0.85rem !important; }

  /* Hero */
  .pc-hero { padding:2rem 1rem 1.5rem; }
  .pc-hero h1 { font-size:1.75rem !important; margin-bottom:1rem !important; }
  .pc-hero-badge { font-size:0.75rem; padding:5px 10px; }
  .pc-hero-btns a,
  .pc-hero-btns button { padding:12px 20px !important; font-size:0.9rem !important; }

  /* Benefits */
  .pc-benefits { padding:2rem 1rem; }
  .pc-benefit-icon { width:44px !important; height:44px !important; font-size:20px !important; }
  .pc-benefit-item h3 { font-size:1rem !important; }
  .pc-benefit-item p  { font-size:0.85rem !important; }

  /* Hauptbereich */
  .pc-main-content { padding:1.5rem 1rem !important; }
  .pc-section-title { font-size:1.6rem !important; }
  .pc-disclaimer { font-size:0.8rem !important; padding:0.8rem 1rem; }

  /* Schritt-Indikator: kompakt */
  .pc-step { padding:5px 8px !important; font-size:0.72rem !important; }
  .pc-step-divider { width:8px; }

  /* Formular: engerer Padding damit nichts überläuft */
  .pc-anamnese-form { padding:1rem !important; }
  .pc-panel-title { font-size:1.1rem !important; }
  .pc-panel-sub   { font-size:0.85rem !important; margin-bottom:1.2rem !important; }
  .pc-tierart-grid { grid-template-columns:repeat(2,1fr) !important; gap:8px; }
  .pc-tierart-card { padding:0.8rem 0.4rem; }
  .pc-tierart-emoji { font-size:2rem !important; margin-bottom:5px; }
  .pc-tierart-name  { font-size:0.78rem !important; }

  /* iOS-Zoom verhindern */
  .pc-form-group input,
  .pc-form-group select,
  .pc-form-group textarea { font-size:16px !important; }

  .pc-severity-scale { gap:6px; }
  .pc-severity-btn  { font-size:0.75rem !important; padding:7px 2px !important; }
  .pc-checkbox-item { padding:8px 10px; }
  .pc-checkbox-item span { font-size:0.85rem !important; }

  /* Button-Zeile: übereinander stapeln damit alle sichtbar sind */
  .pc-btn-row {
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }
  .pc-btn-back {
    order:2 !important;
    width:100% !important;
    text-align:center !important;
  }
  .pc-btn-next,
  .pc-btn-submit {
    order:1 !important;
    width:100% !important;
    text-align:center !important;
    padding:13px 20px !important;
    font-size:1rem !important;
  }
  .pc-btn-row > span:empty { display:none !important; }

  .pc-btn-primary,
  .pc-btn-secondary { padding:12px 20px !important; font-size:0.9rem !important; }

  /* Loading Popup */
  #pc-loading-popup .pc-lp-box   { padding:1.2rem !important; border-radius:14px !important; max-width:calc(100vw - 2rem) !important; }
  #pc-loading-popup .pc-lp-title { font-size:1rem !important; }
  #pc-loading-popup .pc-lp-icon  { font-size:1.8rem !important; }
  #pc-loading-popup .pc-lp-name  { font-size:0.82rem !important; }
  #pc-loading-popup .pc-lp-item  { padding:9px 10px !important; gap:8px !important; }
  #pc-loading-popup .pc-lp-head  { gap:10px !important; margin-bottom:1rem !important; }

  /* Vet Modal */
  .pc-modal { padding:1.2rem; max-height:95vh; border-radius:14px; }
  .pc-modal-header h3 { font-size:1.1rem !important; }
  .pc-map-container { height:200px; margin-bottom:1rem; }
  .pc-vet-card    { padding:0.8rem; gap:8px; }
  .pc-vet-icon    { width:36px !important; height:36px !important; font-size:1rem !important; }
  .pc-vet-name    { font-size:0.88rem !important; }
  .pc-vet-address { font-size:0.78rem !important; }

  /* Ergebnisse */
  .pc-agent-card    { padding:1rem; }
  .pc-agent-header  { flex-wrap:wrap; gap:6px; }
  .pc-agent-content { font-size:0.88rem !important; line-height:1.7 !important; }
  .pc-agent-badge   { font-size:0.7rem !important; }
  .pc-agent-content ul { padding-left:1.2rem !important; }
  .pc-results-actions { flex-direction:column !important; }
  .pc-results-actions button,
  .pc-results-actions a { width:100% !important; text-align:center !important; display:block !important; box-sizing:border-box !important; }

  /* Warning Box */
  .pc-warning-box { padding:1rem !important; }
  .pc-warning-box h4 { font-size:0.95rem !important; }

  /* Sidebar: kompakter Padding, volle Breite */
  .pc-sidebar-widget { padding:1rem !important; }
  .pc-ad-placeholder { height:90px; }
}

/* ---- Kleines Smartphone (max 380px) ---- */
@media (max-width: 380px) {
  .pc-hero h1 { font-size:1.5rem !important; }
  .pc-tierart-grid { grid-template-columns:repeat(2,1fr) !important; gap:6px; }
  .pc-tierart-card { padding:0.7rem 0.3rem; }
  .pc-step { font-size:0.65rem !important; padding:4px 7px !important; }
  .pc-step-divider { width:6px; }
  #pc-loading-popup .pc-lp-box  { padding:1rem !important; }
  #pc-loading-popup .pc-lp-item { padding:7px 8px !important; }
  .pc-anamnese-form { padding:1rem; }
  .pc-benefits-inner { gap:1rem; }
}

/* ---- iOS Safari Fixes ---- */
@supports (-webkit-touch-callout: none) {
  #pc-loading-popup { min-height:-webkit-fill-available !important; }
  .pc-modal-overlay  { min-height:-webkit-fill-available !important; }
}

/* ---- Landscape-Modus Smartphones ---- */
@media (max-height: 500px) and (orientation: landscape) {
  #pc-loading-popup .pc-lp-box { max-height:90vh; overflow-y:auto; }
  #pc-loading-popup .pc-lp-desc { display:none !important; }
  .pc-map-container { height:160px; }
}
