/* ============================================================================
   GoCamping · Redesign „Konzept A – Frische Natur"  ·  GLOBAL SKIN
   Loaded LAST in default.php (parallel theme custom_redesign only).
   Goal: lift the existing live markup toward the Variant-A look (typography,
   brand greens, rounding, spacing, softer shadows) without restructuring HTML.
   Structural per-page work happens on top of this, page by page.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --rd-green:#00A057; --rd-green-700:#008a4c; --rd-green-50:#eaf7f0; --rd-green-100:#cdeeda;
  --rd-navy:#15262f; --rd-navy-soft:#1d3540; --rd-ink:#243239; --rd-muted:#6b7b82;
  --rd-amber:#ffb43a; --rd-line:#e7eef0; --rd-bg-soft:#f4f8f6;
  --rd-display:'Plus Jakarta Sans',system-ui,sans-serif;
  --rd-text:'Inter',system-ui,sans-serif;
  --rd-r:16px; --rd-r-sm:12px;
}

/* ---- Typography ---------------------------------------------------------- */
body, .scont, p, li, td, input, select, textarea, button, a{
  font-family:var(--rd-text);
}
body{ color:var(--rd-ink); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,.ftitle,.tp-title-wrap,.main_link{
  font-family:var(--rd-display) !important; color:var(--rd-navy); letter-spacing:-.01em;
}

/* ---- Links & brand colour ------------------------------------------------ */
a{ color:var(--rd-green); }
a:hover{ color:var(--rd-green-700); }

/* ---- Buttons ------------------------------------------------------------- */
.btn{
  border-radius:999px !important; font-family:var(--rd-display); font-weight:700;
  letter-spacing:.01em; border:0; transition:transform .12s ease, filter .12s ease;
}
.btn:hover{ transform:translateY(-1px); filter:brightness(1.03); }
.btn-primary, .btn-success, .reservation-form .btn, button[type=submit].btn{
  background:var(--rd-green) !important; color:#fff !important;
}
.btn-primary:hover, .btn-success:hover{ background:var(--rd-green-700) !important; }
.btn-secondary, .btn-default{
  background:#fff !important; color:var(--rd-navy) !important; border:1px solid var(--rd-line) !important;
}

/* ---- Form controls ------------------------------------------------------- */
input.form-control, select.form-control, textarea.form-control, .form-control,
input[type=text], input[type=email], input[type=date], select{
  border-radius:var(--rd-r-sm) !important; border:1px solid var(--rd-line);
}
input.form-control:focus, select.form-control:focus, .form-control:focus{
  border-color:var(--rd-green); box-shadow:0 0 0 3px var(--rd-green-50);
}

/* ---- Cards / panels / thumbnails ----------------------------------------- */
.panel, .thumbnail, .well, .widget, .card, .box, .listing, .hotel-box{
  border-radius:var(--rd-r) !important; border-color:var(--rd-line) !important;
}
.panel, .thumbnail, .well{
  box-shadow:0 10px 30px -18px rgba(16,40,38,.25) !important;
}
img{ border-radius:10px; }
.no-round img, .navbar img, .footer_partner img, .brand img, img.logo, .logo img{ border-radius:0; }

/* ---- The signature yellow search/reservation box → green-tinted, rounded -- */
.reservation-form{
  border-radius:var(--rd-r) !important; box-shadow:0 18px 40px -20px rgba(0,160,87,.4);
}

/* ---- Detail page: amenity / facilities polish ---------------------------- */
.facilities_section, .facilities_ul{ font-family:var(--rd-text); }
.facilities_ul li{ line-height:1.5; }

/* ---- Star / rating colour ------------------------------------------------ */
.rating, .stars, .fa-star{ color:var(--rd-amber); }

/* ---- Footer -------------------------------------------------------------- */
.footerlistblack a{ color:var(--rd-ink); }
.footerlistblack a:hover{ color:var(--rd-green); }

/* ===========================================================================
   DETAIL PAGE — Konzept-A hero (title + rating + gallery grid)
   =========================================================================== */
.rdA-hero-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin:6px 0 16px; }
.rdA-hero-titles h1{ font-family:var(--rd-display) !important; font-weight:800; font-size:clamp(24px,3.4vw,38px); line-height:1.08; color:var(--rd-navy); margin:0 0 10px; }
.rdA-hero-meta{ display:flex; align-items:center; gap:10px 18px; flex-wrap:wrap; }
.rdA-loc{ display:inline-flex; align-items:center; gap:6px; color:var(--rd-green) !important; font-weight:600; font-size:15px; text-decoration:none; }
.rdA-loc:hover{ text-decoration:underline; }
.rdA-rating{ display:inline-flex; align-items:center; gap:7px; background:var(--rd-green-50); border:1px solid var(--rd-green-100); padding:5px 13px; border-radius:999px; cursor:pointer; color:var(--rd-navy) !important; font-size:14px; text-decoration:none !important; }
.rdA-rating b{ font-family:var(--rd-display); font-weight:800; }
.rdA-rating span{ color:var(--rd-muted); }
.rdA-rating svg{ color:var(--rd-amber); }
.rdA-hero-actions.custom_heart{ flex:0 0 auto; }

.rdA-gallery{ display:grid; gap:10px; border-radius:20px; overflow:hidden; grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr; height:clamp(280px,40vw,440px); margin-bottom:8px; position:relative; }
.rdA-gallery .rdA-gimg{ position:relative; overflow:hidden; display:block; background:var(--rd-bg-soft); }
.rdA-gallery .rdA-gimg:first-child{ grid-row:1 / span 2; }
.rdA-gallery .rdA-gimg img{ width:100%; height:100%; object-fit:cover; border-radius:0 !important; display:block; transition:transform .45s ease; }
.rdA-gallery .rdA-gimg:hover img{ transform:scale(1.045); }
.rdA-gmore{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(8,24,20,.46); color:#fff; font-family:var(--rd-display); font-weight:700; font-size:17px; }
.rdA-ribbon{ position:absolute; top:14px; left:14px; background:var(--rd-green); color:#fff; font-family:var(--rd-display); font-weight:700; font-size:12px; padding:6px 12px; border-radius:999px; }
/* graceful fallbacks for <5 images */
.rdA-count-1{ grid-template-columns:1fr; grid-template-rows:1fr; }
.rdA-count-2{ grid-template-columns:1fr 1fr; grid-template-rows:1fr; }
.rdA-count-1 .rdA-gimg:first-child,.rdA-count-2 .rdA-gimg:first-child,.rdA-count-3 .rdA-gimg:first-child{ grid-row:auto; }

@media(max-width:760px){
  .rdA-hero-head{ flex-direction:column; align-items:flex-start; gap:10px; }
  .rdA-gallery{ grid-template-columns:1fr 1fr; grid-auto-rows:108px; grid-template-rows:none; height:auto; }
  .rdA-gallery .rdA-gimg:first-child{ grid-row:auto; grid-column:1 / -1; height:210px; }
}
