/* camine-varstnici.ro – kámin sablonok stílusa */

:root{
  --c-primary:#1f6f54;     /* nyugodt zöld */
  --c-primary-dark:#16523e;
  --c-accent:#e8f3ee;
  --c-border:#e2e6e3;
  --c-muted:#6b7770;
  --radius:12px;
}

/* ---------- Általános ---------- */
.camine-single, .camine-archive{ padding-block:2rem; }
.camine-single h1{ margin:.2em 0; font-size:clamp(1.6rem,3vw,2.3rem); }
.camine-section{ margin:1.6rem 0; }
.camine-section h2{ font-size:1.25rem; margin:0 0 .6rem; padding-bottom:.3rem; border-bottom:2px solid var(--c-accent); }
.muted{ color:var(--c-muted); font-size:.9em; }

.badge{ display:inline-block; padding:.2em .7em; border-radius:999px; background:var(--c-accent);
  color:var(--c-primary-dark); font-size:.82rem; font-weight:600; }
.badge-green{ background:var(--c-primary); color:#fff; }

.camine-cta{ display:inline-block; background:var(--c-primary); color:#fff!important; padding:.6em 1.1em;
  border-radius:8px; font-weight:600; text-decoration:none; border:none; cursor:pointer; font-size:1rem; }
.camine-cta:hover{ background:var(--c-primary-dark); }

/* ---------- Fejléckép ---------- */
.camine-hero{ margin:0 0 1.2rem; position:relative; }
.camine-hero img{ width:100%; aspect-ratio:3/2; max-height:380px; object-fit:cover; border-radius:var(--radius); display:block; }
.camine-hero figcaption{ position:absolute; bottom:.6rem; right:.6rem; background:rgba(0,0,0,.55);
  color:#fff; font-size:.72rem; padding:.2em .6em; border-radius:6px; }

/* ---------- „date în curs de completare" jelzés ---------- */
.camine-note{ background:var(--c-accent); border-radius:var(--radius); padding:1rem 1.2rem; }
.camine-note p{ margin:0; color:var(--c-primary-dark); }

/* ---------- Lead-gen űrlap ---------- */
.camine-lead{ background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); padding:1.3rem; }
.camine-hp{ position:absolute!important; left:-9999px!important; width:1px; height:1px; }
.camine-leadform .lf-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.8rem; }
.camine-leadform label{ display:block; font-size:.85rem; font-weight:600; margin-bottom:.7rem; }
.camine-leadform input, .camine-leadform textarea{ width:100%; padding:.5em; border:1px solid var(--c-border);
  border-radius:6px; font-weight:400; margin-top:.2rem; font-family:inherit; }
.camine-msg{ padding:.7em 1em; border-radius:8px; font-weight:600; }
.camine-msg.ok{ background:#e3f4ec; color:var(--c-primary-dark); }
.camine-msg.err{ background:#fdecec; color:#a12; }

/* ---------- Single ---------- */
.camine-breadcrumb{ font-size:.9rem; color:var(--c-muted); margin-bottom:1rem; }
.camine-breadcrumb a{ color:var(--c-primary); text-decoration:none; }
.camine-head{ margin-bottom:1.2rem; }
.camine-badges{ display:flex; gap:.5rem; flex-wrap:wrap; margin:.5rem 0; }
.camine-loc{ color:var(--c-muted); margin:.3rem 0; }

.camine-quickfacts{ display:flex; gap:1rem; flex-wrap:wrap; background:var(--c-accent);
  border-radius:var(--radius); padding:1rem 1.2rem; margin-bottom:1.5rem; }
.qf{ display:flex; flex-direction:column; }
.qf-num{ font-size:1.25rem; font-weight:700; color:var(--c-primary-dark); }
.qf-lbl{ font-size:.8rem; color:var(--c-muted); text-transform:uppercase; letter-spacing:.04em; }

.camine-grid{ display:grid; grid-template-columns:1fr 320px; gap:2rem; align-items:start; }
.camine-features{ list-style:none; padding:0; margin:0; display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:.4rem .8rem; }
.camine-features li{ padding-left:1.5rem; position:relative; }
.camine-features li::before{ content:"✓"; position:absolute; left:0; color:var(--c-primary); font-weight:700; }

.camine-gallery{ display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:.5rem; }
.camine-gallery img{ width:100%; height:120px; object-fit:cover; border-radius:8px; }

.camine-box{ border:1px solid var(--c-border); border-radius:var(--radius); padding:1.1rem; margin-bottom:1rem; }
.camine-box h3{ margin:0 0 .6rem; font-size:1.05rem; }
.camine-box p{ margin:.35rem 0; }
.camine-map{ width:100%; height:220px; border:0; border-radius:8px; }
.camine-official p{ font-size:.9rem; }

/* ---------- Archív / lista ---------- */
.camine-archive-head h1{ font-size:clamp(1.5rem,2.6vw,2rem); margin:0 0 .3rem; }
.camine-archive-intro{ color:var(--c-muted); margin-bottom:1.5rem; }
.camine-archive-grid{ display:grid; grid-template-columns:280px 1fr; gap:2rem; align-items:start; }

.camine-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1rem; }
.camine-card{ border:1px solid var(--c-border); border-radius:var(--radius); overflow:hidden;
  display:flex; flex-direction:column; justify-content:space-between; transition:box-shadow .15s,transform .15s; background:#fff; }
.camine-card:hover{ box-shadow:0 6px 20px rgba(0,0,0,.08); transform:translateY(-2px); }
.camine-card-img{ display:block; position:relative; aspect-ratio:3/2; overflow:hidden; }
.camine-card-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s; }
.camine-card:hover .camine-card-img img{ transform:scale(1.04); }
.camine-card-badge{ position:absolute; top:.5rem; left:.5rem; background:var(--c-primary); color:#fff;
  font-size:.72rem; font-weight:600; padding:.2em .6em; border-radius:999px; }
.camine-illus{ position:absolute; bottom:.4rem; right:.4rem; background:rgba(0,0,0,.6); color:#fff;
  font-size:.68rem; font-style:italic; padding:.15em .55em; border-radius:5px; letter-spacing:.01em; }
.camine-card-img.is-placeholder img{ filter:saturate(.85) brightness(.98); }
.camine-card-body{ padding:1.1rem; }
.camine-card-foot{ padding:0 1.1rem 1.1rem; }
.camine-card-title{ font-size:1.05rem; margin:0 0 .4rem; }
.camine-card-title a{ text-decoration:none; color:var(--c-primary-dark); }
.camine-card-loc{ color:var(--c-muted); font-size:.88rem; margin:0 0 .5rem; }
.camine-card-meta{ list-style:none; padding:0; margin:0 0 .5rem; display:flex; flex-wrap:wrap; gap:.4rem; font-size:.82rem; }
.camine-card-meta li{ background:var(--c-accent); padding:.15em .6em; border-radius:6px; color:var(--c-primary-dark); }
.camine-card-tags{ display:flex; flex-wrap:wrap; gap:.3rem; margin-top:.3rem; }
.camine-card-tags .tag{ font-size:.75rem; border:1px solid var(--c-border); padding:.1em .5em; border-radius:6px; color:var(--c-muted); }
.camine-card-foot{ display:flex; justify-content:space-between; align-items:center; margin-top:.9rem; padding-top:.7rem; border-top:1px solid var(--c-border); }
.camine-card-link{ text-decoration:none; color:var(--c-primary); font-weight:600; font-size:.9rem; }

/* ---------- Szűrő ---------- */
.camine-filter{ border:1px solid var(--c-border); border-radius:var(--radius); padding:1.1rem; position:sticky; top:1rem; }
.camine-filter label{ display:block; font-size:.85rem; font-weight:600; margin-bottom:.8rem; }
.camine-filter select, .camine-filter input[type=number]{ width:100%; padding:.45em; border:1px solid var(--c-border);
  border-radius:6px; font-weight:400; margin-top:.2rem; }
.ff-group{ border:1px solid var(--c-border); border-radius:8px; padding:.7rem; margin:.8rem 0; }
.ff-group legend{ font-size:.8rem; font-weight:700; color:var(--c-primary-dark); padding:0 .3rem; }
.chk{ display:flex; align-items:center; gap:.4rem; font-weight:400!important; margin-bottom:.35rem!important; font-size:.88rem; }
.chk input{ width:auto; }
.ff-actions{ display:flex; align-items:center; gap:1rem; margin-top:.5rem; }
.ff-reset{ font-size:.85rem; color:var(--c-muted); }

.camine-pagination{ margin-top:2rem; display:flex; gap:.4rem; flex-wrap:wrap; }
.camine-pagination .page-numbers{ padding:.4em .8em; border:1px solid var(--c-border); border-radius:6px; text-decoration:none; color:var(--c-primary-dark); }
.camine-pagination .current{ background:var(--c-primary); color:#fff; border-color:var(--c-primary); }
.camine-empty{ padding:2rem; text-align:center; color:var(--c-muted); border:1px dashed var(--c-border); border-radius:var(--radius); }

/* ---------- Reszponzív ---------- */
@media (max-width:880px){
  .camine-grid, .camine-archive-grid{ grid-template-columns:1fr; }
  .camine-filter{ position:static; }
}
