/* Mancsos Világ – arculat: #0E5B58 (mély zöldeskék), #8AA437 (zöld), #B9732C (réz), #F6F2EA (krém) */
.mv {
  --mv-teal: #0E5B58;
  --mv-green: #8AA437;
  --mv-copper: #B9732C;
  --mv-cream: #F6F2EA;
  --mv-ink: #1d2b2a;
  --mv-line: #e3dccd;
  --mv-radius: 14px;
  font-family: "Open Sans", "Montserrat", system-ui, sans-serif;
  color: var(--mv-ink);
  line-height: 1.55;
}
.mv h2, .mv h3 { font-family: "Montserrat", "Open Sans", sans-serif; color: var(--mv-teal); margin: .4em 0; }
.mv a { color: var(--mv-teal); }

/* gombok – min. 44px magas érintési felület */
.mv-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4em;
  min-height: 44px; padding: .55em 1.1em; border-radius: 999px; border: 2px solid var(--mv-teal);
  background: var(--mv-teal); color: #fff !important; font-weight: 600; text-decoration: none; cursor: pointer; font-size: 1rem;
}
.mv-btn:hover, .mv-btn:focus-visible { background: #0a4643; border-color: #0a4643; }
.mv-btn:focus-visible, .mv input:focus-visible, .mv select:focus-visible, .mv textarea:focus-visible { outline: 3px solid var(--mv-green); outline-offset: 2px; }
.mv-btn-ghost { background: transparent; color: var(--mv-teal) !important; }
.mv-btn-ghost:hover { background: var(--mv-cream); }
.mv-btn-alert { background: var(--mv-copper); border-color: var(--mv-copper); }
.mv-btn-alert:hover { background: #9c5f21; border-color: #9c5f21; }
.mv-btn-big { width: 100%; font-size: 1.1rem; min-height: 52px; margin: .5em 0; }
.mv-btn[disabled] { opacity: .5; cursor: not-allowed; }
.mv-btn.is-on { background: var(--mv-teal); color: #fff !important; }

/* űrlapok */
.mv-form { display: grid; gap: .9em; max-width: 720px; }
.mv-row { display: grid; gap: .3em; }
.mv-label { font-weight: 600; }
.mv input[type=text], .mv input[type=email], .mv input[type=tel], .mv input[type=url], .mv input[type=number],
.mv input[type=date], .mv input[type=password], .mv select, .mv textarea {
  width: 100%; min-height: 44px; padding: .5em .7em; border: 1.5px solid var(--mv-line); border-radius: 10px; background: #fff; font: inherit; box-sizing: border-box;
}
.mv-check { display: flex; gap: .6em; align-items: flex-start; font-weight: 400; }
.mv-check input { width: 22px; height: 22px; flex: none; margin-top: .15em; }
.mv-multi { display: flex; gap: 1em; flex-wrap: wrap; }
.mv-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.mv-toggle { display: flex; gap: .5em; flex-wrap: wrap; }

/* kereső sáv */
.mv-filters { display: flex; flex-wrap: wrap; gap: .6em; margin-bottom: 1em; }
.mv-filters > * { flex: 1 1 150px; }
.mv-filters .mv-btn { flex: 0 0 auto; }

/* kártyák */
.mv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1.2em; }
.mv-card { display: block; background: #fff; border: 1px solid var(--mv-line); border-radius: var(--mv-radius); overflow: hidden; text-decoration: none; color: inherit; box-shadow: 0 1px 3px rgba(14,91,88,.08); transition: transform .15s; }
a.mv-card:hover { transform: translateY(-2px); }
.mv-card img, .mv-noimg { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: var(--mv-cream); }
.mv-noimg { display: grid; place-items: center; font-size: 3rem; }
.mv-card-ph { position: relative; }
.mv-card-body { padding: .8em 1em 1em; }
.mv-card-body h3 { margin: .2em 0; font-size: 1.1rem; }
.mv-pill { position: absolute; top: 10px; left: 10px; padding: .3em .75em; border-radius: 999px; font-size: .72rem; font-weight: 700; color: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.25); letter-spacing: .01em; white-space: nowrap; }
.mv-pill-active { background: var(--mv-teal); }
.mv-pill-foster { background: var(--mv-copper); }
.mv-pill-process { background: #b8860b; }
.mv-pill-adopted { background: var(--mv-green); }
.mv-sex { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.92); font-weight: 700; font-size: 1rem; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.mv-sex-male { color: #2563eb; }
.mv-sex-female { color: #db2777; }
.mv-since { display: flex; align-items: center; gap: .3em; }
.mv-card-row { display: grid; grid-template-columns: 160px 1fr; margin-bottom: 1em; }
.mv-card-row img, .mv-card-row .mv-noimg { height: 100%; aspect-ratio: auto; }
@media (max-width: 560px) { .mv-card-row { grid-template-columns: 1fr; } .mv-card-row img, .mv-card-row .mv-noimg { aspect-ratio: 16 / 9; } }

.mv-meta { color: #5b6b69; font-size: .9rem; margin: .15em 0; }
.mv-empty { padding: 1.2em; background: var(--mv-cream); border-radius: var(--mv-radius); }
.mv-pager { margin: 1em 0; display: flex; align-items: center; gap: .6em; }

/* jelvények, üzenetek */
.mv-badge { display: inline-block; padding: .15em .7em; border-radius: 999px; font-size: .82rem; font-weight: 700; background: var(--mv-cream); color: var(--mv-teal); }
.mv-badge-ok { background: #e6f0c8; color: #3f5210; }
.mv-badge-warn { background: #fbe7cf; color: #7a4510; }
.mv-badge-alert { background: #f9d6d0; color: #8a1c10; }
.mv-msg { padding: .7em 1em; border-radius: 10px; margin: .5em 0; }
.mv-msg-ok { background: #e6f0c8; }
.mv-msg-err { background: #f9d6d0; }
.mv-msg-warn { background: #fbe7cf; }
.mv-box { background: var(--mv-cream); border: 1px solid var(--mv-line); border-radius: var(--mv-radius); padding: 1em 1.2em; margin: 1em 0; }
.mv-box-ok { border-color: var(--mv-green); }
.mv-emergency { background: #fff4e5; border-left: 5px solid var(--mv-copper); padding: .8em 1em; border-radius: 8px; margin: 1em 0; }
.mv-code { background: #1d2b2a; color: #f6f2ea; padding: 1em; border-radius: 10px; overflow: auto; font-size: .85rem; }

/* állatoldal */
.mv-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .5em; margin-bottom: 1em; }
.mv-gallery img { width: 100%; height: auto; border-radius: 10px; }
.mv-gallery-one { grid-template-columns: 1fr; max-width: 460px; }
.mv-gallery-one img { aspect-ratio: 4/3; object-fit: cover; }
.mv-table { border-collapse: collapse; width: 100%; max-width: 640px; }
.mv-table th { text-align: left; width: 40%; padding: .4em .6em; border-bottom: 1px solid var(--mv-line); }
.mv-table td { padding: .4em .6em; border-bottom: 1px solid var(--mv-line); }
.mv-actions { display: flex; gap: .5em; flex-wrap: wrap; margin: 1em 0; }
.mv-list { list-style: none; padding: 0; }

/* menhelyi kezelőfelület */
.mv-tabs { display: flex; gap: .4em; flex-wrap: wrap; border-bottom: 2px solid var(--mv-line); margin: 1em 0; }
.mv-tab { background: none; border: 0; padding: .7em 1em; font: inherit; font-weight: 600; cursor: pointer; color: #5b6b69; border-bottom: 3px solid transparent; min-height: 44px; }
.mv-tab.is-on { color: var(--mv-teal); border-bottom-color: var(--mv-copper); }

@media (prefers-reduced-motion: reduce) { a.mv-card { transition: none; } }

/* II. fázis */
.mv-stars { color: var(--mv-copper); font-size: 1.05rem; margin: .2em 0; letter-spacing: .05em; }
.mv-reply { margin-top: .5em; padding: .6em .9em; border-left: 4px solid var(--mv-green); background: #fff; border-radius: 8px; }
.mv-day { margin-top: 1.4em; border-bottom: 2px solid var(--mv-line); padding-bottom: .2em; }
.mv-cal .mv-card-row { text-decoration: none; }
.mv-form h4 { margin: .4em 0 0; }
.mv-hero { text-align: center; padding: 3em 1em; background: linear-gradient(135deg, var(--mv-green), var(--mv-copper)); color: #fff; border-radius: 18px; margin-bottom: 1.5em; }
.mv-hero h2 { color: #fff; font-size: 2.2rem; margin: 0 0 .3em; }
.mv-three { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

/* Regisztrációs varázsló */
.mv-help { display:block; margin-top:.3em; font-size:.8rem; color:#6b7f7d; line-height:1.4; }
.mv-help-list { margin:.3em 0 .8em 1.1em; font-size:.88rem; color:#4a5d5b; }
.mv-lead { color:#4a5d5b; }
.mv-stepbar { list-style:none; display:flex; gap:6px; margin:0 0 18px; padding:0; counter-reset:none; }
.mv-stepbar li { flex:1; display:flex; flex-direction:column; align-items:center; gap:4px; cursor:pointer; text-align:center; font-size:.74rem; color:#8a9a98; position:relative; }
.mv-stepbar li::before { content:""; position:absolute; top:15px; left:-50%; right:50%; height:3px; background:var(--mv-line); z-index:0; }
.mv-stepbar li:first-child::before { display:none; }
.mv-stepbar b { position:relative; z-index:1; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#fff; border:2px solid var(--mv-line); color:#8a9a98; font-size:.85rem; }
.mv-stepbar li.is-on b { background:var(--mv-teal); border-color:var(--mv-teal); color:#fff; }
.mv-stepbar li.is-on { color:var(--mv-teal); font-weight:700; }
.mv-stepbar li.is-done b { background:var(--mv-green); border-color:var(--mv-green); color:#fff; }
.mv-stepbar li.is-done::before, .mv-stepbar li.is-on::before { background:var(--mv-green); }
.mv-step { border:0; padding:0; margin:0; min-width:0; }
.mv-step[hidden] { display:none; }
.mv-step legend { font-family:"Montserrat","Open Sans",sans-serif; font-weight:800; font-size:1.25rem; color:var(--mv-teal); margin-bottom:.6em; padding:0; }
.mv-step-sub { margin:1.4em 0 .5em; padding-top:.8em; border-top:1px solid var(--mv-line); font-family:"Montserrat","Open Sans",sans-serif; color:var(--mv-teal); font-size:1rem; }
.mv-stepnav { display:flex; gap:10px; justify-content:space-between; margin-top:18px; padding-top:14px; border-top:1px solid var(--mv-line); }
.mv-stepnav [hidden] { display:none !important; }
.mv-stepnav .mv-btn:last-child, .mv-stepnav .mv-btn-big { margin-left:auto; }
@media (max-width:600px) { .mv-stepbar span { display:none; } .mv-stepbar li.is-on span { display:block; position:absolute; top:38px; white-space:nowrap; } .mv-stepbar { margin-bottom:34px; } }

/* Menhely-adatlap */
.mv-sh-cover { margin:0 0 16px; border-radius:20px; overflow:hidden; }
.mv-sh-cover img { display:block; width:100%; max-height:380px; object-fit:cover; }
.mv-sh-head { display:flex; align-items:center; gap:14px; margin-bottom:10px; }
.mv-sh-logo { width:72px; height:72px; border-radius:50%; object-fit:cover; box-shadow:0 4px 14px rgba(0,0,0,.12); flex:none; }
.mv-sh-official { margin:0; font-size:.85rem; color:#6b7f7d; }
.mv-badges { margin:.2em 0; display:flex; flex-wrap:wrap; gap:6px; }
.mv-badges .mv-badge { margin:0; }
.mv-sh-breeds { background:#f4f7ea; border-radius:12px; padding:.6em 1em; }
.mv-sh-links { display:flex; flex-wrap:wrap; gap:8px; }
.mv-sh-link { display:inline-block; padding:.4em .9em; border-radius:999px; background:#eef3e0; text-decoration:none; font-weight:600; font-size:.88rem; }
.mv-sh-1pct { display:flex; flex-direction:column; gap:2px; background:linear-gradient(135deg,#0E5B58,#15908a); color:#fff; border-radius:18px; padding:16px 20px; margin:0 0 14px; }
.mv-sh-1pct strong { font-size:1.15rem; } .mv-sh-1pct b { font-size:1.5rem; letter-spacing:.04em; } .mv-sh-1pct small { opacity:.85; }
.mv-chips { display:flex; flex-wrap:wrap; gap:6px; }
.mv-chip { display:inline-block; padding:.3em .8em; border-radius:999px; background:#f1ede2; font-size:.85rem; font-weight:600; }
.mv-badges .mv-badge:not(.mv-badge-ok) { background:#eef3e0; color:var(--mv-teal); padding:.3em .8em; border-radius:999px; font-size:.82rem; font-weight:700; }
.mv-stepnav .mv-btn { white-space:nowrap; flex:none; }
.mv-stepnav .mv-btn-big { flex:1; }
.mv-form .mv-row { margin-bottom:12px; }
.mv-taxcheck { margin-top:6px; font-size:.84rem; line-height:1.45; border-radius:10px; }
.mv-taxcheck:empty { display:none; }
.mv-taxcheck.is-ok { color:#1f6b2a; background:#eef7ec; padding:.5em .8em; }
.mv-taxcheck.is-bad { color:#a12a1f; background:#fdecea; padding:.5em .8em; }
.mv-taxcheck.is-warn { color:#7a5200; background:#fff6e0; padding:.5em .8em; }

/* Állat-űrlap: fényképek */
.mv-photos { display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:10px; margin:.4em 0; }
.mv-photos:empty { display:none; }
.mv-photo { position:relative; aspect-ratio:1/1; border-radius:12px; overflow:hidden; background:#f1ede2; box-shadow:0 0 0 2px transparent; }
.mv-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.mv-photo.is-featured { box-shadow:0 0 0 3px var(--mv-copper); }
.mv-photo-star, .mv-photo-del { position:absolute; top:5px; width:28px; height:28px; border-radius:50%; border:0; background:rgba(255,255,255,.92); cursor:pointer; font-size:15px; line-height:28px; padding:0; box-shadow:0 2px 6px rgba(0,0,0,.2); }
.mv-photo-star { left:5px; color:var(--mv-copper); } .mv-photo-del { right:5px; color:#a12a1f; font-weight:700; }
.mv-photo-new { position:absolute; left:5px; bottom:5px; background:var(--mv-teal); color:#fff; font-size:.7rem; font-weight:700; padding:.1em .5em; border-radius:999px; }
.mv-photo-pick { display:inline-block; cursor:pointer; }
.mv-photo-pick input { position:absolute; width:1px; height:1px; opacity:0; }
.mv-photo-add { display:inline-block; padding:.6em 1.2em; border-radius:999px; border:2px dashed var(--mv-green); color:var(--mv-teal); font-weight:700; background:#f8faf1; }
.mv-photo-pick input:disabled + .mv-photo-add { opacity:.5; cursor:not-allowed; border-style:solid; }
.mv-multi { display:flex; flex-wrap:wrap; gap:6px 8px; }
.mv-multi label { display:inline-flex; align-items:center; gap:.35em; padding:.35em .8em; border-radius:999px; background:#fff; border:1px solid #dcd5c4; cursor:pointer; font-size:.9rem; }
.mv-multi label:has(input:checked) { border-color:var(--mv-teal); }
.mv-multi label:has(input:checked) { background:var(--mv-teal); color:#fff; }

/* Címkék a fotón: státusz + legfeljebb 2 pipált címke */
.mv-pills { position:absolute; top:10px; left:10px; z-index:2; display:flex; flex-direction:column; align-items:flex-start; gap:4px; max-width:calc(100% - 56px); }
.mv-pills .mv-pill { position:static !important; top:auto; left:auto; }
.mv-pill.mv-tag { background:rgba(255,255,255,.93); color:#0E5B58; }
.mv-pill.mv-tag-urgent { background:#c0392b; color:#fff; }
.mv-pill.mv-tag-quarantine { background:#5b6b7a; color:#fff; }
.mv-pill.mv-tag-special, .mv-pill.mv-tag-senior { color:#8a4b12; }
.mv-multi label.is-off { opacity:.45; cursor:not-allowed; }
.mv-animal-notes p { margin:.2em 0; }

/* Örökbefogadva gomb, archívum */
.mv-btn-adopted { background:linear-gradient(135deg,var(--mv-green),#6C8A1F); border-color:transparent; color:#fff !important; margin:.3em 0 .5em; }
.mv-adopted-note { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:.3em 0 .5em; padding:.5em .8em; border-radius:12px; background:#eef6e6; color:#3f5f16; font-size:.88rem; font-weight:600; }
.mv-btn-sm { min-height:34px; padding:.3em .9em; font-size:.82rem; }
.mv-row-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.mv-card-row.is-adopted { opacity:.85; }
.mv-card-row.is-archived img { filter:grayscale(.6); }
.mv-archive { margin-top:22px; border-top:1px solid var(--mv-line); padding-top:12px; }
.mv-archive summary { cursor:pointer; font-weight:700; color:var(--mv-teal); font-size:1rem; padding:.4em 0; }
.mv-btn-danger { color:#a12a1f !important; border-color:#e7b7b2 !important; }

/* Adatkezelési tájékoztató */
.mv-privacy { max-width:860px; }
.mv-privacy h2 { font-size:1.35rem; margin:1.6em 0 .5em; }
.mv-priv-meta { color:#6b7f7d; font-size:.9rem; }
.mv-priv-summary { background:#eef6e6; border-radius:18px; padding:16px 22px; }
.mv-priv-summary h2 { margin-top:0; }
.mv-priv-summary li { margin:.3em 0; }
.mv-priv-card { background:#fff; border:1px solid var(--mv-line); border-radius:16px; padding:14px 18px; margin:12px 0; }
.mv-priv-card h3 { margin:0 0 .4em; font-size:1.08rem; }
.mv-priv-card dl, .mv-priv-dl { display:grid; grid-template-columns:150px 1fr; gap:6px 14px; margin:0; }
.mv-priv-card dt, .mv-priv-dl dt { font-weight:700; color:#3a4e4c; }
.mv-priv-card dd, .mv-priv-dl dd { margin:0; }
.mv-todo { background:#fff1c7; color:#7a5200; padding:0 .3em; border-radius:4px; }
@media (max-width:600px) { .mv-priv-card dl, .mv-priv-dl { grid-template-columns:1fr; gap:2px; } .mv-priv-card dd, .mv-priv-dl dd { margin-bottom:8px; } }
