/* =========================================================
   Gut Elchmoor – Theme-Styles
   ========================================================= */
:root {
  --ge-paper: #faf4ea;
  --ge-paper-2: #f3e9d8;
  --ge-paper-3: #ece0cc;
  --ge-ink: #2a241c;
  --ge-ink-2: #6c6152;
  --ge-brown: #5b4738;
  --ge-brown-d: #43342a;
  --ge-terra: #b26a43;
  --ge-terra-d: #9a5533;
  --ge-sage: #77836a;
  --ge-gold: #b4924e;
  --ge-line: rgba(91, 71, 56, 0.16);
  --ge-shadow: 0 18px 50px -22px rgba(67, 52, 42, 0.4);
  --ge-radius: 14px;
}

/* ---------- Font Awesome Icon-Helfer ---------- */
.ge-i { display: inline-block; font-style: normal; font-variant: normal; line-height: 1;
  text-rendering: auto; -webkit-font-smoothing: antialiased; }
.ge-i::before { font-family: "Font Awesome 6 Free"; font-weight: 900; }
.ge-ib-instagram::before, .ge-ib-facebook::before { font-family: "Font Awesome 6 Brands"; font-weight: 400; }
.ge-i-wheat::before { content: "\e2cd"; }
.ge-i-horsehead::before { content: "\f7ab"; }
.ge-i-horse::before { content: "\f6f0"; }
.ge-i-award::before { content: "\f559"; }
.ge-i-medal::before { content: "\f5a2"; }
.ge-i-family::before { content: "\e537"; }
.ge-i-check::before { content: "\f00c"; }
.ge-i-dog::before { content: "\f6d3"; }
.ge-i-cat::before { content: "\f6be"; }
.ge-i-egg::before { content: "\f7fb"; }
.ge-i-envelope::before { content: "\f0e0"; }
.ge-i-pin::before { content: "\f3c5"; }
.ge-i-phone::before { content: "\f095"; }
.ge-ib-instagram::before { content: "\f16d"; }
.ge-ib-facebook::before { content: "\f39e"; }

/* ---------- Bausteine ---------- */
.ge-eyebrow { display: inline-flex; align-items: center; gap: 0.6em; font-size: 0.74rem; font-weight: 600;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--ge-terra) !important; margin-bottom: 0.6rem !important; }
.ge-eyebrow::before { content: ""; width: 26px; height: 1px; background: var(--ge-gold); }
.ge-eyebrow-gold { color: var(--ge-gold) !important; }
.ge-lead { font-size: 1.15rem; color: var(--ge-ink-2); max-width: 46ch; }
.ge-center.ge-lead { margin-left: auto; margin-right: auto; }

/* ---------- Header ---------- */
.ge-header { position: sticky; top: 0; z-index: 100; }
.ge-announce { background: var(--ge-brown-d); }
.ge-announce-text { color: #e9d9c4; font-size: 0.78rem; letter-spacing: 0.05em; margin: 0; padding: 7px 0; }
.ge-announce-text .ge-i { color: var(--ge-gold); margin-right: 6px; }
.ge-bar { background: rgba(250, 244, 234, 0.9); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--ge-line); }
.ge-bar-inner { padding: 12px 0; }
.ge-brand { gap: 12px !important; align-items: center; }
.ge-brand-mark { width: 42px; height: 42px; border-radius: 50%; background: var(--ge-brown); color: var(--ge-paper);
  display: grid; place-items: center; font-size: 1.05rem; flex-shrink: 0; text-decoration: none; }
.ge-brand-mark:hover { color: var(--ge-paper); }
.ge-brand-text { gap: 2px !important; }
.ge-brand-text .wp-block-site-title { margin: 0; line-height: 1; }
.ge-brand-text .wp-block-site-title a { color: var(--ge-ink); text-decoration: none; }
.ge-brand-sub { margin: 0 !important; font-size: 0.6rem; letter-spacing: 0.26em; text-transform: uppercase; color: var(--ge-ink-2); }

/* Navigation */
.ge-nav { font-size: 0.94rem; font-weight: 500; }
.ge-nav .wp-block-navigation-item__content { color: var(--ge-ink); padding: 6px 2px; }
.ge-nav .wp-block-navigation-item__content:hover { color: var(--ge-terra); }
.ge-nav .wp-block-navigation__submenu-container { background: var(--ge-paper); border: 1px solid var(--ge-line);
  border-radius: 12px; box-shadow: var(--ge-shadow); padding: 8px; min-width: 220px; }
.ge-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 9px 12px; border-radius: 8px; }
.ge-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--ge-paper-3); }

/* ---------- Sektionen ---------- */
.ge-section { padding-top: clamp(56px, 9vw, 96px) !important; padding-bottom: clamp(56px, 9vw, 96px) !important; }
.ge-section-tint { background: var(--ge-paper-2); }
.ge-section-dark { background: var(--ge-brown-d); }
.ge-section-dark, .ge-section-dark p { color: #d8c6ad; }
.ge-section-dark h2 { color: #f6ead8 !important; }

/* ---------- Hero ---------- */
.ge-hero { padding-top: clamp(40px, 6vw, 60px) !important; padding-bottom: clamp(40px, 6vw, 60px) !important;
  background: radial-gradient(120% 120% at 78% 12%, #f7e4cf 0%, var(--ge-paper) 46%); }
.ge-hero-cols { gap: 44px; }
.ge-hero-title { font-size: clamp(2.4rem, 5.4vw, 4.3rem) !important; letter-spacing: -0.02em; margin: 0.4rem 0 !important; }
.ge-hero-title em { font-style: italic; color: var(--ge-terra); }
.ge-hero .ge-lead { font-size: 1.16rem; margin-top: 1rem; }
.ge-hero-cta { margin-top: 1.8rem !important; gap: 14px; }
.ge-hero-art { position: relative; aspect-ratio: 4 / 5; border-radius: 220px 220px 20px 20px;
  background: linear-gradient(160deg, #d9b38a 0%, #a9764f 55%, #7c5238 100%); box-shadow: var(--ge-shadow);
  display: grid; place-items: center; overflow: hidden; border: 8px solid #fff8ee; }
.ge-hero-art .ge-i { font-size: clamp(6rem, 14vw, 12rem); color: rgba(255, 248, 238, 0.34); }
.ge-hero-art .ge-tag { position: absolute; bottom: 18px; left: 18px; background: rgba(255, 248, 238, 0.92);
  color: var(--ge-brown-d); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase;
  padding: 7px 12px; border-radius: 100px; font-weight: 600; }
.ge-hero-stats { display: flex; gap: clamp(20px, 4vw, 34px); margin-top: 2.2rem; padding-top: 1.6rem;
  border-top: 1px solid var(--ge-line); flex-wrap: wrap; }
.ge-hero-stats .n { display: block; font-family: "Fraunces", serif; font-size: 1.9rem; color: var(--ge-brown); }
.ge-hero-stats .l { font-size: 0.82rem; color: var(--ge-ink-2); }

/* ---------- Rassen ---------- */
.ge-breed-grid.wp-block-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 22px; margin-top: 2.4rem; }
.ge-breed-grid .wp-block-column { margin: 0 !important; }
.ge-breed { background: #fdf8ef; border: 1px solid var(--ge-line); border-radius: var(--ge-radius);
  padding: 26px 24px !important; transition: transform 0.28s ease, box-shadow 0.28s ease; }
.ge-breed:hover { transform: translateY(-4px); box-shadow: var(--ge-shadow); }
.ge-breed-ic { width: 52px; height: 52px; border-radius: 14px; background: var(--ge-paper-3); color: var(--ge-brown);
  display: grid; place-items: center; font-size: 1.35rem; margin-bottom: 16px; }
.ge-breed h3 { font-size: 1.45rem; margin: 0; }
.ge-breed .ge-kicker { font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--ge-terra); margin: 6px 0 !important; }
.ge-breed p { font-size: 0.92rem; color: var(--ge-ink-2); }
.ge-breed .ge-more { margin: 14px 0 0 !important; }
.ge-breed .ge-more a { font-size: 0.85rem; font-weight: 600; color: var(--ge-brown); text-decoration: none; }

/* ---------- Familie ---------- */
.ge-familie { gap: clamp(30px, 5vw, 60px) !important; }
.ge-familie-art { aspect-ratio: 5 / 4; border-radius: var(--ge-radius);
  background: linear-gradient(150deg, #8a9678 0%, #67735a 100%); display: grid; place-items: center;
  color: rgba(255, 255, 255, 0.35); font-size: 6rem; box-shadow: var(--ge-shadow); }
.ge-checklist { list-style: none; padding: 0; margin: 1.4rem 0 0; display: grid; gap: 12px; }
.ge-checklist li { display: flex; gap: 12px; align-items: flex-start; color: var(--ge-ink-2); }
.ge-checklist .ge-i { color: var(--ge-sage); margin-top: 5px; }

/* ---------- Hof & Tiere ---------- */
.ge-animals.wp-block-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 22px; margin-top: 2.4rem; }
.ge-animals .wp-block-column { margin: 0 !important; }
.ge-animal { text-align: center; padding: 32px 24px !important; border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--ge-radius); }
.ge-animal-ic { font-size: 2.2rem; color: var(--ge-gold); margin-bottom: 6px; }
.ge-animal h3 { color: #f6ead8; font-size: 1.45rem; }
.ge-animal p { color: #cbb69c; font-size: 0.92rem; }

/* ---------- Kontakt-Karten ---------- */
.ge-contact-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 18px; margin-top: 2rem; }
.ge-contact-cards > div { background: #fdf8ef; border: 1px solid var(--ge-line); border-radius: var(--ge-radius);
  padding: 24px; text-align: center; }
.ge-contact-cards .ge-i { font-size: 1.6rem; color: var(--ge-terra); }
.ge-contact-cards span { display: block; font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ge-ink-2); margin: 10px 0 4px; }
.ge-contact-cards a { color: var(--ge-brown); font-weight: 600; text-decoration: none; }

/* ---------- Footer ---------- */
.ge-footer { padding-top: clamp(50px, 7vw, 70px) !important; padding-bottom: 28px !important; }
.ge-footer-grid { padding-bottom: 34px; border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.ge-footer-name { color: #f6ead8 !important; font-size: 1.55rem !important; }
.ge-footer-h { color: var(--ge-gold) !important; font-size: 0.74rem !important; letter-spacing: 0.18em;
  text-transform: uppercase; font-family: "DM Sans", sans-serif !important; margin-bottom: 12px !important; }
.ge-footer-list { list-style: none; padding: 0; margin: 0; }
.ge-footer-list li { margin: 0 0 6px; }
.ge-footer-list a, .ge-footer-contact li { color: #cbb69c; text-decoration: none; }
.ge-footer-list a:hover { color: #f6ead8; }
.ge-footer-contact { list-style: none; padding: 0; margin: 0; }
.ge-footer-contact li { margin: 0 0 8px; display: flex; align-items: center; gap: 10px; }
.ge-footer-contact .ge-i { color: var(--ge-gold); }
.ge-socials { display: flex; gap: 12px; margin-top: 16px; }
.ge-socials a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.16);
  display: grid; place-items: center; color: #cbb69c; text-decoration: none; }
.ge-socials a:hover { color: #f6ead8; border-color: rgba(255, 255, 255, 0.4); }
.ge-footer-bottom { color: #9c8a71 !important; margin: 22px 0 0 !important; }

/* ---------- Seiten-Kopf ---------- */
.ge-page-head .wp-block-post-title { font-size: clamp(2rem, 5vw, 3rem); }

/* ---------- Buttons (Ghost-Variante) ---------- */
.ge-hero-cta .is-style-outline .wp-block-button__link { color: var(--ge-brown); border-color: var(--ge-line); background: transparent; }
.ge-hero-cta .is-style-outline .wp-block-button__link:hover { border-color: var(--ge-brown); background: rgba(91, 71, 56, 0.05); }

/* ---------- Responsive Feinschliff ---------- */
@media (max-width: 781px) {
  .ge-hero-art { aspect-ratio: 16 / 11; border-radius: var(--ge-radius); max-height: 340px; }
  .ge-bar-inner { padding: 10px 0; }
}
