/*
Theme Name: Israel Bonsai Collective
Theme URI: https://israelbonsai.com
Author: Israel Bonsai Collective
Description: תבנית ייעודית לקולקטיב הבונסאי הישראלי בסגנון קלף, טחב ודיו. RTL-first, דו-לשונית.
Version: 1.9.5
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: bonsai
*/

/* ══════════════════ Tokens ══════════════════ */
:root {
  --ink-900: #1c1b18;
  --ink-800: #2c2b28;
  --stone-500: #7a7670;
  --stone-400: #9c9890;
  --stone-300: #bfbcb4;
  --stone-200: #dedad4;
  --parchment-100: #faf8f4;
  --parchment-200: #f4f0e8;
  --parchment-300: #f0ede6;
  --parchment-400: #e8e3d9;
  --moss-700: #2e4028;
  --moss-600: #3d5535;
  --moss-500: #4d6b42;
  --moss-400: #6a8a5e;
  --moss-100: #e4ecdf;
  --earth-500: #96643e;
  --bamboo-500: #c8a84b;

  --font-display: 'Space Grotesk', 'Helvetica Neue', system-ui, sans-serif;
  --font-body: 'Inter', 'Helvetica Neue', system-ui, sans-serif;

  --radius: 12px;
  --shadow-md: 0 4px 20px rgba(28, 27, 24, 0.09);
  --nav-h: 72px;
  --wrap: 1160px;
}

/* ══════════════════ Base ══════════════════ */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--parchment-300);
  color: var(--ink-900);
  font-family: var(--font-body);
  font-size: 1.125rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--ink-900);
  text-wrap: balance;
}
h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); }
h2 { font-size: clamp(1.8rem, 4vw, 2.6rem); }
h3 { font-size: clamp(1.3rem, 2.6vw, 1.7rem); }
p { text-wrap: pretty; }
a { color: var(--moss-600); }
img { max-width: 100%; height: auto; }

/* ══════════════════ Nav ══════════════════ */
.site-nav {
  position: sticky; top: 0; z-index: 200;
  background: rgba(240, 237, 230, 0.94);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--stone-200);
}
.site-nav__inner {
  max-width: var(--wrap); margin: 0 auto;
  height: var(--nav-h);
  padding: 0 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.site-nav__logo img { height: 46px; width: auto; display: block; }
.site-nav__list {
  display: flex; gap: 26px; list-style: none; margin: 0; padding: 0;
}
.site-nav__list a {
  font-size: 0.95rem; font-weight: 600; letter-spacing: 0.02em;
  color: var(--stone-500); text-decoration: none;
  transition: color 150ms;
}
.site-nav__list a:hover,
.site-nav__list .current-menu-item a { color: var(--ink-900); }

.lang-switch, .lang-switch ul { display: flex !important; gap: 4px; list-style: none !important; margin: 0; padding: 0; align-items: center; }
.lang-switch li { margin: 0 !important; list-style: none !important; }
.lang-switch li::marker { content: ''; }
.lang-switch a {
  display: block;
  font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--stone-400); text-decoration: none;
  padding: 5px 10px; border-radius: 999px; line-height: 1;
  transition: background 150ms, color 150ms;
}
.lang-switch a:hover { color: var(--ink-900); }
.lang-switch .current-lang a { color: var(--parchment-100); background: var(--ink-900); }

.site-nav__burger {
  display: none;
  background: none; border: none; cursor: pointer; padding: 10px;
  flex-direction: column; gap: 5px;
}
.site-nav__burger span {
  display: block; width: 24px; height: 2px;
  background: var(--ink-900); border-radius: 2px;
  transition: transform 200ms, opacity 200ms;
}
.site-nav__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-nav__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.site-nav__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.site-nav__mobile { display: none; }

@media (max-width: 820px) {
  .site-nav__menu, .site-nav__actions { display: none; }
  .site-nav__burger { display: flex; }
  .site-nav__mobile.is-open {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: 18px 0 26px;
    border-top: 1px solid var(--stone-200);
  }
  .site-nav__mobile-list {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; align-items: center; gap: 14px;
  }
  .site-nav__mobile-list a {
    font-family: var(--font-display);
    font-size: 1.5rem; color: var(--ink-900); text-decoration: none;
  }
}

/* ══════════════════ Content wrap ══════════════════ */
.site-main { min-height: 60vh; }
.entry-content > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.entry-content > .alignwide { max-width: var(--wrap); }
.entry-content > .alignfull { max-width: none; }
.entry-content { padding: 0 24px; }

/* Page & post headers */
.page-hero {
  max-width: 760px; margin: 0 auto;
  padding: 72px 24px 36px;
}
.page-hero__eyebrow {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--moss-600);
  margin-bottom: 12px;
}
.page-hero h1 { margin: 0; }
.page-hero__meta {
  color: var(--stone-400); font-size: 0.9rem; margin-top: 12px;
}
.page-hero__actions { margin-top: 20px; }
.species-guide { min-height: 60vh; }
.species-guide__frame { display: block; width: 100%; height: calc(100vh - var(--nav-h)); border: 0; }

/* ══════════════════ Blog cards ══════════════════ */
.post-grid {
  max-width: var(--wrap); margin: 0 auto;
  padding: 24px 24px 80px;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 26px;
}
.post-card {
  background: var(--parchment-100);
  border: 1px solid var(--stone-200);
  border-radius: var(--radius);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.post-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.post-card__thumb { aspect-ratio: 16/9; overflow: hidden; background: var(--parchment-400); }
.post-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-card__body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 8px; }
.post-card__date { font-size: 0.8rem; color: var(--stone-400); }
.post-card__title { margin: 0; font-size: 1.25rem; }
.post-card__title a { color: var(--ink-900); text-decoration: none; }
.post-card__title a:hover { color: var(--moss-600); }
.post-card__excerpt { margin: 0; font-size: 0.95rem; color: var(--stone-500); }

/* ══════════════════ Gallery (native block) ══════════════════ */
/* Gallery (native block) — uniform tiles + caption overlay */
.wp-block-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
}
.wp-block-gallery .wp-block-image {
  position: relative; margin: 0 !important; width: auto !important;
  aspect-ratio: 3/4;
  border-radius: var(--radius); overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.13);
}
.wp-block-gallery .wp-block-image img {
  width: 100%; height: 100%;
  aspect-ratio: auto; object-fit: cover; object-position: center;
  border-radius: 0; box-shadow: none;
  display: block; cursor: zoom-in;
  transition: transform 0.45s cubic-bezier(0.25,0.46,0.45,0.94);
}
.wp-block-gallery .wp-block-image:hover img { transform: scale(1.04); }
.wp-block-gallery .wp-block-image figcaption {
  position: absolute; inset: auto 0 0 0; margin: 0; max-height: 55%; overflow: hidden;
  background: linear-gradient(to top, rgba(20,20,18,0.92), rgba(20,20,18,0));
  color: #fff; padding: 32px 14px 12px;
  font-family: var(--font-body); font-size: 0.8rem; line-height: 1.4;
  text-align: start;
}
@media (max-width: 900px) { .wp-block-gallery { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px) { .wp-block-gallery { grid-template-columns: repeat(2, 1fr) !important; } }

/* ══════════════════ Buttons ══════════════════ */
.wp-block-button__link, .btn {
  font-family: var(--font-body);
  font-weight: 700; font-size: 0.95rem;
  background: var(--ink-900); color: var(--parchment-100);
  border-radius: 10px; padding: 14px 30px;
  text-decoration: none; border: none; cursor: pointer;
  transition: background 150ms;
}
.wp-block-button__link:hover, .btn:hover { background: var(--moss-700); }
.is-style-outline .wp-block-button__link {
  background: transparent; color: var(--ink-900);
  border: 1.5px solid var(--ink-900);
}

/* ══════════════════ Dark sections (block class) ══════════════════ */
.band-dark {
  background: var(--ink-900);
  color: var(--parchment-200);
}
.band-dark h1, .band-dark h2, .band-dark h3 { color: var(--parchment-200); }
.band-dark p { color: var(--stone-300); }
.band-dark a { color: var(--moss-400); }

/* ══════════════════ Footer ══════════════════ */
.site-footer {
  background: var(--ink-900);
  color: var(--stone-300);
  margin-top: 0;
}
.site-footer__top {
  max-width: var(--wrap); margin: 0 auto;
  padding: 64px 24px 40px;
  display: grid; grid-template-columns: 1.1fr 2fr; gap: 60px; align-items: start;
}
.site-footer__logo { height: 52px; width: auto; filter: invert(1); opacity: 0.85; margin-bottom: 16px; }
.site-footer__tagline { font-size: 0.85rem; max-width: 280px; line-height: 1.6; color: var(--stone-400); margin: 0; }
.site-footer__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.footer-col__title { font-family: var(--font-ui); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--stone-500); margin-bottom: 16px; }
.footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.footer-col a { color: var(--stone-300); text-decoration: none; font-size: 0.95rem; transition: color 150ms; }
.footer-col a:hover { color: var(--parchment-200); }
.footer-col__soon-wrap { color: var(--stone-500); font-size: 0.95rem; display: inline-flex; align-items: center; gap: 7px; }
.footer-col__soon { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--stone-500); border: 1px solid var(--ink-700); border-radius: 999px; padding: 2px 7px; }
.site-footer__bottom {
  border-top: 1px solid var(--ink-800);
  max-width: var(--wrap); margin: 0 auto;
  padding: 22px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
}
.site-footer__eba { display: flex; align-items: center; gap: 12px; }
.site-footer__eba img { height: 40px; width: auto; opacity: 0.8; }
.site-footer__eba span { font-size: 0.8rem; color: var(--stone-400); }
.site-footer__fb { color: var(--stone-400); display: inline-flex; transition: color 150ms; }
.site-footer__fb:hover { color: var(--parchment-200); }
.site-footer__legal { font-size: 0.8rem; color: var(--stone-500); }
@media (max-width: 820px) {
  .site-footer__top { grid-template-columns: 1fr; gap: 36px; }
  .site-footer__cols { gap: 24px; }
  .site-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ══════════════════ Home hero ══════════════════ */
.home-hero {
  max-width: var(--wrap); margin: 0 auto;
  display: grid; grid-template-columns: 1.05fr 0.95fr;
  align-items: center; gap: 40px;
  min-height: calc(80vh - var(--nav-h));
  padding: 40px 24px;
}
.home-hero__eyebrow {
  display: flex; align-items: center; gap: 10px;
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--moss-600);
  margin-bottom: 18px;
}
.home-hero__tick { width: 28px; height: 1.5px; background: var(--moss-500); flex-shrink: 0; }
.home-hero__title { margin: 0 0 20px; font-size: clamp(2.2rem, 4.4vw, 3.8rem); line-height: 1.08; }
.home-hero__title span { color: var(--stone-400); font-weight: 300; }
.home-hero__body { max-width: 430px; color: var(--stone-500); margin: 0 0 34px; }
.home-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.btn--ghost { background: transparent; color: var(--ink-900); border: 1.5px solid var(--ink-900); }
.btn--ghost:hover { background: var(--ink-900); color: var(--parchment-100); }
.btn--gold { background: var(--bamboo-500); color: var(--ink-900) !important; }
.btn--gold:hover { background: #b89638; }
.home-hero__image img { width: 100%; max-height: 62vh; object-fit: contain; display: block; }

@media (max-width: 820px) {
  .home-hero { grid-template-columns: 1fr; min-height: 0; padding: 48px 24px 8px; }
  .home-hero__image { order: -1; }
  .home-hero__image img { max-height: 38vh; }
}

/* ══════════════════ Home blog strip ══════════════════ */
.home-mission { padding: 96px 24px; }
.home-mission__inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
}
.home-mission__eyebrow {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--moss-400); margin-bottom: 16px;
}
.home-mission__lead h2 { color: var(--parchment-300); margin: 0 0 24px; }
.home-mission__lead p { color: var(--stone-300); margin: 0 0 32px; }
.home-mission__pillars { display: flex; flex-direction: column; gap: 16px; }
.pillar {
  display: flex; gap: 16px; padding: 20px; border-radius: var(--radius);
  border: 1px solid rgba(240,237,230,0.1); background: rgba(240,237,230,0.04);
}
.pillar__num { font-size: 0.75rem; font-weight: 700; color: rgba(240,237,230,0.3); flex-shrink: 0; width: 20px; padding-top: 2px; letter-spacing: 0.05em; }
.pillar__title { font-weight: 600; font-size: 0.95rem; color: var(--parchment-200); margin-bottom: 4px; }
.pillar__desc { font-size: 0.9rem; color: var(--stone-400); line-height: 1.55; }
@media (max-width: 820px) {
  .home-mission { padding: 60px 20px; }
  .home-mission__inner { grid-template-columns: 1fr; gap: 40px; }
}
.home-comm { padding: 80px 24px; background: var(--parchment-400); }
.home-comm__inner { max-width: 1200px; margin: 0 auto; }
.home-comm__eyebrow {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--stone-400); margin-bottom: 32px; text-align: center;
}
.home-comm__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px;
}
.comm-card {
  background: var(--parchment-100); border-radius: var(--radius); border: 1px solid var(--stone-200);
  padding: 28px 20px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center;
}
.comm-card__logo {
  display: flex; align-items: center; justify-content: center;
  width: 90px; height: 90px; border-radius: var(--radius); overflow: hidden;
  transition: opacity 0.2s;
}
.comm-card__logo:hover { opacity: 0.8; }
.comm-card__logo img { width: 100%; height: 100%; object-fit: contain; }
.comm-card__name { font-weight: 600; font-size: 0.95rem; color: var(--ink-900); margin-bottom: 3px; }
.comm-card__city { font-size: 0.8rem; color: var(--stone-400); }
.home-comm__invite { text-align: center; margin-top: 32px; color: var(--stone-400); font-size: 1rem; }
.home-comm__invite a { color: var(--moss-600); text-decoration: underline; }
.home-blog { padding-top: 40px; }
.home-blog__title { text-align: center; margin: 0 0 8px; }
/* Home gallery preview */
.home-gallery { padding: 80px 24px; background: var(--parchment-200); }
.home-gallery__inner { max-width: 1200px; margin: 0 auto; }
.home-gallery__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; gap: 16px; flex-wrap: wrap; }
.home-gallery__actions { display: flex; align-items: center; gap: 16px; }
.home-gallery__submit { font-family: var(--font-body); font-size: 0.9rem; font-weight: 700; color: var(--parchment-100); background: var(--ink-900); border-radius: 10px; padding: 10px 20px; text-decoration: none; transition: background 150ms; }
.home-gallery__submit:hover { background: var(--moss-700); }
.home-gallery__eyebrow { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--stone-400); }
.home-gallery__all { font-family: var(--font-ui); font-size: 0.9rem; font-weight: 600; color: var(--moss-600); text-decoration: none; }
.home-gallery__all:hover { color: var(--ink-900); }
.home-gallery__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.home-gallery__roster { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 10px; }
.home-gallery__roster .home-gallery__tile { flex: 0 0 210px; aspect-ratio: 3/4; scroll-snap-align: start; }
.home-gallery__roster::-webkit-scrollbar { height: 8px; }
.home-gallery__roster::-webkit-scrollbar-thumb { background: var(--stone-300); border-radius: 999px; }
@media (max-width: 640px) { .home-gallery__roster .home-gallery__tile { flex: 0 0 62%; } }
.home-gallery__tile { display: block; border-radius: var(--radius); overflow: hidden; aspect-ratio: 3/4; background: var(--parchment-400); position: relative; }
.home-gallery__tile img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.home-gallery__name {
  position: absolute; inset: auto 0 0 0; margin: 0;
  background: linear-gradient(to top, rgba(20,20,18,0.85), rgba(20,20,18,0));
  color: #fff; padding: 26px 12px 12px;
  font-family: var(--font-body); font-size: 0.85rem; font-weight: 600;
  text-align: start; opacity: 0; transform: translateY(6px);
  transition: opacity 200ms ease, transform 200ms ease;
}
.home-gallery__tile:hover .home-gallery__name { opacity: 1; transform: none; }
@media (max-width: 640px) { .home-gallery__grid { grid-template-columns: repeat(2, 1fr); } }

/* ══════════════════ Join band ══════════════════ */
.home-join { text-align: center; padding: 96px 24px; background: var(--parchment-300); }
.home-join__inner { max-width: 560px; margin: 0 auto; }
.home-join__badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: #8a6d1f; background: rgba(200,168,75,0.16);
  border-radius: 999px; padding: 7px 16px;
}
.home-join__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--bamboo-500); }
.home-join h2 { font-size: clamp(2rem, 4.5vw, 3.4rem); margin: 22px 0 16px; letter-spacing: -0.03em; line-height: 1.06; }
.home-join p { margin: 0 auto 36px; max-width: 520px; color: var(--stone-500); }
.home-join__ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ══════════════════ Reveal on scroll ══════════════════ */
@media (prefers-reduced-motion: no-preference) {
  .reveal { opacity: 0; transform: translateY(14px); transition: opacity 500ms ease, transform 500ms ease; }
  .reveal.is-visible { opacity: 1; transform: none; }
}

/* ══════════════════ Lightbox ══════════════════ */
.bonsai-lightbox {
  position: fixed; inset: 0; z-index: 999;
  background: rgba(28, 27, 24, 0.92);
  display: flex; align-items: center; justify-content: center;
  padding: 4vmin; cursor: zoom-out;
}
.bonsai-lightbox img {
  max-width: 100%; max-height: 100%;
  border-radius: 8px;
}

/* ══════════════════ About page ══════════════════ */
.about-wrap { max-width: 760px; margin: 0 auto; }
.about-eyebrow {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--moss-600); margin-bottom: 14px;
}
.about-eyebrow--moss { color: var(--moss-400); }
.about-hero { padding: 88px 24px 48px; }
.about-hero h1 { margin: 0; font-size: clamp(2rem, 5vw, 3.6rem); }
.about-hero h1 span { color: var(--stone-400); font-weight: 300; }
.about-section { padding: 0 24px 72px; }
.about-section h2 { margin: 0 0 24px; }
.about-section p { margin: 0 0 20px; color: var(--stone-500); }
.about-eba { padding: 76px 24px; }
.about-eba h2 { margin: 0 0 24px; }
.about-eba p { color: var(--stone-300); margin: 0 0 20px; }
.about-more { color: var(--stone-400) !important; font-size: 1rem; }
.about-italic { font-style: italic; margin-bottom: 0 !important; }
.eba-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 24px; }
.eba-card {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 18px; border-radius: var(--radius);
  background: rgba(240,237,230,0.05); border: 1px solid rgba(240,237,230,0.1);
}
.eba-card__flag { font-size: 28px; line-height: 1; flex-shrink: 0; }
.eba-card__name { font-weight: 600; font-size: 0.9rem; color: var(--parchment-200); margin-bottom: 2px; }
.eba-card__abbr { font-size: 0.75rem; color: var(--stone-400); letter-spacing: 0.03em; }
.about-moran { display: flex; gap: 36px; align-items: flex-start; margin-bottom: 8px; }
.about-moran__photo { width: 220px; height: auto; border-radius: var(--radius); object-fit: cover; flex-shrink: 0; box-shadow: var(--shadow-md); }
.about-moran__intro { flex: 1; }
.about-moran__intro p:last-child { margin-bottom: 0; }
.about-born { font-family: var(--font-display); font-size: 1.4rem; color: var(--ink-900); margin: 8px 0 20px; }
.about-final { color: var(--ink-900) !important; font-weight: 600; margin-bottom: 0 !important; }
/* Bonsai Map page */
.map-list__title { font-family: var(--font-display); font-size: 1.25rem; color: var(--ink-900); margin: 32px 0 14px; }
.map-list { margin: 0 0 28px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.map-list li { position: relative; padding-inline-start: 26px; color: var(--stone-600, #4b4842); line-height: 1.55; }
.map-list li::before { content: ''; position: absolute; inset-inline-start: 4px; top: 0.62em; width: 8px; height: 8px; border-radius: 50%; background: var(--moss-500); }
.map-form { padding-top: 0; }
.map-example { padding-top: 0; text-align: center; }
.map-example__title { margin: 6px 0 8px; }
.map-example__sub { color: var(--stone-500); margin: 0 auto 28px; max-width: 560px; }
.map-example .about-wrap { max-width: 640px; }
.place { text-align: right; background: var(--parchment-100); border: 1px solid var(--stone-200); border-radius: 18px; overflow: hidden; box-shadow: 0 14px 40px rgba(28,27,24,.13); }
.place__cover { position: relative; height: 300px; background: var(--ink-800); display: flex; align-items: flex-end; overflow: hidden; }
.place__cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.place__cover-grad { position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,20,18,.66) 0%, rgba(20,20,18,.16) 32%, rgba(20,20,18,0) 52%); z-index: 1; }
.place__tag { position: absolute; top: 16px; inset-inline-start: 20px; z-index: 2; background: rgba(250,248,244,.94); color: var(--moss-600); font-family: var(--font-body); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 7px 14px; border-radius: 999px; }
.place__id { position: relative; z-index: 2; padding: 20px 22px; width: 100%; display: flex; align-items: center; gap: 14px; color: #fff; }
.place__avatar { flex: 0 0 auto; width: 66px; height: 66px; border-radius: 50%; object-fit: cover; object-position: 80% 45%; border: 2.5px solid rgba(250,248,244,.9); box-shadow: 0 4px 14px rgba(0,0,0,.35); }
.place__idtext { min-width: 0; }
.place__id h3 { margin: 0; color: #fff; font-size: 1.45rem; line-height: 1.1; text-shadow: 0 1px 6px rgba(0,0,0,.55); }
.place__id span { font-size: 0.95rem; opacity: 0.92; text-shadow: 0 1px 5px rgba(0,0,0,.5); }
.place__body { padding: 22px 24px 26px; }
.place__gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 10px; }
.place__trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 22px; }
.place__thumb { aspect-ratio: 3/4; border-radius: 12px; overflow: hidden; background: var(--parchment-300); border: 1px solid var(--stone-200); box-shadow: 0 2px 8px rgba(28,27,24,.06); }
.place__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.place__sec { margin-bottom: 18px; }
.place__sec h4 { font-family: var(--font-body); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--moss-600); margin: 0 0 6px; }
.place__sec p { margin: 0; font-size: 1rem; color: #413f3a; }
.place__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.place__contact { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 16px; border-top: 1px solid var(--stone-200); }
.place__chip { background: var(--parchment-300); border: 1px solid var(--stone-200); border-radius: 999px; padding: 8px 16px; font-size: 0.9rem; font-weight: 600; color: var(--ink-800); }
.map-example__note { margin-top: 18px; font-size: 0.85rem; color: var(--stone-400); }
@media (max-width: 560px) {
  .place__cover { height: 220px; }
  .place__gallery { grid-template-columns: repeat(2, 1fr); }
  .place__avatar { width: 54px; height: 54px; }
  .place__id h3 { font-size: 1.2rem; }
}
.map-form .about-wrap { background: var(--parchment-100); border: 1px solid var(--stone-200); border-radius: var(--radius); padding: 40px; }
@media (max-width: 820px) {
  .eba-grid { grid-template-columns: 1fr; }
  .about-moran { flex-direction: column; align-items: center; gap: 24px; }
  .about-moran__photo { width: 180px; }
}

/* ══════════════════ Fluent Forms ══════════════════ */
.fluentform .ff-el-input--label label,
.fluentform label { font-family: var(--font-body); font-weight: 600; color: var(--ink-900); font-size: 0.95rem; }
.fluentform .ff-el-form-control {
  font-family: var(--font-body); font-size: 1rem;
  background: var(--parchment-100);
  border: 1px solid var(--stone-300); border-radius: 10px;
  padding: 12px 14px; color: var(--ink-900);
  box-shadow: none;
}
.fluentform .ff-el-form-control:focus {
  border-color: var(--moss-500);
  box-shadow: 0 0 0 3px rgba(77,107,66,0.15);
  outline: none;
}
.fluentform .ff-btn-submit,
.fluentform button[type="submit"] {
  font-family: var(--font-body); font-weight: 700; font-size: 0.95rem;
  background: var(--ink-900) !important; color: var(--parchment-100) !important;
  border: none !important; border-radius: 10px !important;
  padding: 14px 30px !important; cursor: pointer;
  transition: background 150ms;
}
.fluentform .ff-btn-submit:hover,
.fluentform button[type="submit"]:hover { background: var(--moss-700) !important; }
.ff-message-success {
  background: var(--moss-100); color: var(--moss-700);
  border-radius: 10px; padding: 16px 18px; font-family: var(--font-body);
}
