:root{
  --bg:#f6f5f0;
  --card:#fff;
  --muted:#6b6b6b;
  --accent:#2b7a4b;
}
*{box-sizing:border-box;}
body{font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);margin:0;color:#111}
.site-head{padding:28px;text-align:center}
.site-head{width:100%;background:transparent;backdrop-filter:none;box-shadow:none;border:none;padding:16px 20px;display:flex;align-items:center;justify-content:center;position:relative;z-index:10;margin-bottom:16px}
.site-logo{width:auto;height:auto;max-width:100%;object-fit:contain;border-radius:10px}

/* Header featured card to the right of logo */
.site-head{justify-content:space-between}
.site-head-left{flex:0 0 auto;display:flex;align-items:center}
.site-head-right{flex:0 0 380px;display:flex;align-items:center;justify-content:flex-end}
.site-logo{width:auto;height:auto;object-fit:contain;border-radius:10px;display:block;max-height:220px;}
.site-logo{width:400px;height:405px;object-fit:contain;border-radius:10px;display:block;}
.header-featured-link{display:block;background:rgba(255,255,255,0.72);padding:10px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,0.06);text-align:left;color:inherit;text-decoration:none;max-width:360px}
.header-featured-link img{width:180px;height:110px;object-fit:cover;border-radius:6px;float:left;margin-right:12px}
.header-featured-link .hf-title{margin:6px 0 0;font-size:1.18rem}
.header-featured-link .hf-date{font-size:.85rem;color:var(--muted);margin-top:6px}

/* Header featured: badge, quote, author */
.header-featured-link{position:relative}
.hf-badge{
  display:inline-block;
  background:var(--accent);
  color:white;
  font-weight:700;
  padding:2px 6px;
  border-radius:10px;
  box-shadow:0 1px 4px rgba(0,0,0,0.08);
  font-size:0.72rem;
  line-height:1;
  margin-left:10px;
  vertical-align:super;
}
.hf-text{padding:6px 0;padding-top:64px}
.hf-text h3{margin:0 0 6px 0}
.hf-date{font-size:0.9rem;color:#666;margin-bottom:8px}
.hf-quote{font-style:italic;color:#222;margin:0;font-size:0.92rem}
.hf-author{font-weight:600; color:#444; margin-left:8px}

/* Header-featured gallery under the quote */
.hf-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;margin-top:10px}
.hf-gallery img{width:100%;height:160px;object-fit:cover;border-radius:6px;border:1px solid rgba(0,0,0,0.04)}

/* Heading (title + date) positioned at top-left of the featured card */
.hf-heading{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;z-index:4}
.hf-heading .hf-title{margin:0;font-size:1.5rem;font-weight:900}
.hf-heading .hf-date{margin:0;font-size:.95rem;color:var(--muted)}

@media (min-width:1200px){
  .hf-gallery{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
  .hf-gallery img{height:160px;border-radius:8px}
}

@media (max-width:900px){
  .hf-gallery{width:100%;display:flex;flex-wrap:wrap;gap:8px}
  .hf-gallery img{flex:1 1 calc(50% - 8px);height:160px}
}

@media (max-width:900px){
  .site-head-right{display:block}
  .site-head{justify-content:center}
}
.site-head{width:100%;background:transparent;backdrop-filter:none;box-shadow:none;border:none;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10;margin-bottom:18px;}
.site-logo{width:auto;height:auto;object-fit:contain;border-radius:10px;display:block;max-height:220px;}

/* Header featured card to the right of logo: take remaining width */
.site-head-left{flex:0 0 auto;display:flex;align-items:center;}
.site-head-right{flex:1 1 auto;display:flex;align-items:center;justify-content:flex-end;padding-left:20px;}
.header-featured-link{position:relative;display:block;background:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(255,255,255,0.82));padding:18px;border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,0.18);text-align:left;color:inherit;text-decoration:none;width:100%;max-width:none;}

/* Heading row spanning full width */
.hf-heading-row{display:flex;align-items:center;justify-content:space-between;padding:6px 6px 12px 6px}
.hf-heading-row .hf-title{margin:0;font-size:1.6rem;font-weight:900}
.hf-heading-row .hf-date{margin:0;font-size:.95rem;color:var(--muted)}

/* Body row: two-column layout (image left, quote/gallery right) */
.hf-body-row{display:flex;gap:18px;align-items:flex-start}
.hf-main-image{flex:0 0 48%;max-width:48%}
.hf-main-image img{width:100%;height:320px;object-fit:cover;border-radius:10px;border:1px solid rgba(0,0,0,0.06);display:block;float:none}
.hf-body-right{flex:1 1 auto;min-width:0}

/* Ensure gallery images inside the header featured card keep thumbnail size */
.header-featured-link .hf-gallery img{width:160px;height:160px;object-fit:cover;border-radius:6px;border:1px solid rgba(0,0,0,0.04);flex:0 0 auto}

@media (max-width:1400px){
  .header-featured-link img{width:520px;height:340px;}
  .header-featured-link .hf-title{font-size:1.8rem}
}

@media (max-width:1200px){
  .header-featured-link img{width:420px;height:280px;}
  .header-featured-link .hf-title{font-size:1.6rem}
}

@media (max-width:900px){
  /* tablet / large-phone: stack header with featured card under logo, align left for readability */
  .site-head{flex-direction:column;align-items:flex-start;gap:12px}
  .site-head-left{width:100%;display:flex;justify-content:center}
  .site-logo{max-width:320px;width:100%;height:auto}
  .site-head-right{width:100%;padding-left:0;margin-top:0}
  .header-featured-link{width:96%;flex-direction:column;align-items:flex-start;padding:12px}
  .header-featured-link img{width:100%;height:auto;margin-right:0;margin-bottom:10px;border-radius:8px}
  .hf-heading{position:relative;top:auto;left:auto;right:auto;width:100%;justify-content:space-between;padding:0 6px 8px 6px}
  .hf-text{padding-top:0}
  .hf-text h3{font-size:1.28rem}
  .hf-quote{font-size:0.98rem}
}

@media (max-width:600px){
  /* mobile: tighter spacing, single-column posts */
  .site-head{padding:12px 14px}
  .site-logo{max-width:260px}
  .header-featured-link{width:100%;padding:10px;border-radius:8px}
  .header-featured-link img{width:100%;height:auto}
  .hf-text h3{font-size:1.18rem}
  .hf-quote{font-size:0.94rem}
  .post-list{grid-template-columns:1fr;gap:12px;padding:12px}
  .post img{height:140px}
  .post.featured{transform:none;grid-column:auto}
  .post.featured img{height:260px}
  /* Stack the featured body row: image full-width, then quote/gallery */
  .hf-body-row{flex-direction:column}
  .hf-main-image{flex:0 0 auto;max-width:100%;width:100%}
  .hf-main-image img{height:auto}
  .hf-body-right{width:100%}
}
.post-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;padding:18px;grid-auto-flow:dense}
.post{background:var(--card);border-radius:8px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.06);text-align:center}
.post img{width:100%;height:160px;object-fit:cover;display:block}
.post h3{margin:12px;padding:0 12px 18px;font-size:1rem;color:#222}
.post .post-date{margin:0 12px 18px;color:var(--muted);font-size:.9rem}
.post-quote{margin:8px 12px;color:var(--muted);text-align:center;font-style:italic;font-size:1.05rem}
.post-quote em{font-style:italic}
.post-quote::after{display:block;margin-top:6px;font-style:normal;color:var(--muted);font-weight:600}
.post-quote span{display:block;margin-top:6px;font-style:normal;color:var(--muted);font-weight:600}
.post h1{margin-bottom:6px}
.post-weather{margin:0;color:var(--muted);text-align:center;font-size:0.88rem;display:block;padding:0 12px}
.post-weather i{margin-right:8px;color:#7fc6ff}
.back{display:inline-block;margin:12px;color:var(--muted);text-decoration:none}
.post .content{padding:0 12px}
/* Post page background and semi-transparent card */
.post-page{min-height:100vh;background-size:cover;background-position:center center;background-repeat:no-repeat;display:flex;align-items:flex-start;justify-content:center;padding:36px 18px}
.post-page::after{content:'';position:fixed;inset:0;background:rgba(0,0,0,0.22);pointer-events:none}
/* Use hero/featured visual cues: gradient, larger shadow, rounded corners */
.post-card{background:linear-gradient(180deg,rgba(255,255,255,0.95),rgba(255,255,255,0.9));border-radius:12px;max-width:980px;width:100%;margin:20px;box-shadow:0 24px 60px rgba(0,0,0,0.18);backdrop-filter:blur(6px) saturate(1.02);overflow:hidden;padding:22px}
.post-card .post{background:transparent;box-shadow:none;border-radius:6px}
.post-card .post h1{font-size:2rem;margin:6px 0 14px;color:var(--accent)}
/* body card: white, non-transparent for the main text */
.post-card .body-card{background:#ffffff;border-radius:10px;padding:24px;max-width:840px;margin:10px auto;box-shadow:0 6px 18px rgba(0,0,0,0.06)}
.post-card .body-card .content{max-width:760px;margin:0 auto;line-height:1.78;font-size:1.05rem;color:#111;padding:0;text-align:justify}
/* gallery stays in the transparent outer card so images read against the background */
.post-card .gallery{max-width:760px;margin:18px auto 0;padding:0}
/* improve quote readability in transparent card */
.post-card .post-quote{color:#fff;text-shadow:0 3px 12px rgba(0,0,0,0.6);font-size:1.18rem;line-height:1.4;margin:0 0 12px;text-align:center}
.post-card .post-quote em{font-style:italic;font-weight:500}
.post-card .back{display:inline-block;margin:6px 0 12px;color:var(--muted);text-decoration:none}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;padding:12px}
.thumb img{width:100%;height:240px;object-fit:cover;border-radius:6px;cursor:pointer}
.thumb figcaption{font-size:.85rem;color:var(--muted);margin-top:6px;text-align:center}
.lightbox{position:fixed;inset:0;display:none;background:rgba(0,0,0,0.95);z-index:999;padding:12px;align-items:center;justify-content:center}
.lightbox[aria-hidden="false"]{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px}
.lightbox img{max-width:100%;max-height:calc(100vh - 72px);border-radius:4px;display:block;margin:0}
.lb-caption{color:white;margin-top:6px;text-align:center;max-width:98%;margin-left:auto;margin-right:auto;font-size:0.95rem;padding:0 6px}
.lb-caption .lb-time{display:block;font-size:.82rem;color:var(--muted);margin-top:4px}
/* small grey time label under thumbnails and in gallery figures */

/* Print-version styles (activated when URL contains ?version=print) */
.print-version .post-page::after{background:none}
.print-version .post-card{box-shadow:none;border-radius:0;max-width:900px;width:100%;margin:0 auto;padding:18px}
.print-version .post-card .body-card{background:#fff;border-radius:0;padding:18px;max-width:100%;box-shadow:none}
.print-version .post-hero{height:auto;min-height:0;overflow:visible;margin-bottom:6px;padding:0}
.print-version .post-hero img{display:none}
.print-version .post-hero .hero-overlay{position:static;background:none;color:#000;padding:0;margin:0;text-align:left}
.print-version .hero-title{font-size:1.6rem;color:#000;margin:0 0 6px 0;padding:0;text-shadow:none; text-align:left}
.print-version .post-card .post-quote{color:#000;text-shadow:none}
.print-version .gallery{display:block;max-width:840px;margin:18px auto 0;padding:0}
.print-version .gallery .thumb{display:block;margin:0 0 28px}
.print-version .gallery .thumb img{width:80%;height:auto;object-fit:contain;border-radius:4px;display:block;margin-left:auto;margin-right:auto}
.print-version .gallery .thumb .img-time,.print-version .gallery .thumb figcaption{display:block;color:#333;text-align:center;margin-top:6px;font-size:0.95rem}
.print-version #lightbox,.print-version .note-bubble,.print-version .posts-modal,.print-version #site-bg,.print-version .bg-layer,.print-version .back,.print-version .hero-map-btn{display:none !important}
@media print{
  .post-page{padding:12px}
  .print-version .post-card{box-shadow:none}
}

/* Print footnotes styling */
.print-footnotes{max-width:840px;margin:22px auto 48px;padding:0 12px;color:#222}
.print-footnotes-list{font-size:0.95rem;line-height:1.45;margin:0;padding-left:1.2em;text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.print-footnote{margin:0 0 12px}
.print-footnote img{max-width:160px;margin-right:12px;float:left}
.print-footnote p{margin:0;text-align:justify}
.print-footnote:after{content:'';display:block;clear:both}
.note-ref{font-size:0.8em;vertical-align:super;margin-left:2px}

@media print{
  .print-footnotes{page-break-inside:avoid}
  .print-footnote{page-break-inside:avoid}
}
.thumb .img-time{font-size:.75rem;color:var(--muted);margin-top:4px;opacity:0.95;text-align:center}
.lb-close{position:absolute;right:10px;top:10px;background:rgba(0,0,0,0.35);color:white;border:0;font-size:18px;padding:10px;border-radius:10px;cursor:pointer;z-index:1000}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.35);color:white;border:0;width:56px;height:56px;border-radius:28px;cursor:pointer;font-size:26px;display:flex;align-items:center;justify-content:center;z-index:1000}
.lb-prev{left:12px}
.lb-next{right:12px}

/* Background layers */
.site-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.site-bg .bg-layer{position:absolute;inset:0;background-size:cover;background-position:center center;background-repeat:no-repeat;transition:opacity 1.2s ease;opacity:0}
.site-bg .bg-layer{filter:contrast(.95) saturate(.9) brightness(.95)}
.site-bg:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.35);pointer-events:none}
@media (max-width:600px){.post img{height:140px}}

@media (max-width:600px){
  .lightbox{padding:6px}
  .lightbox img{max-height:calc(100vh - 56px)}
  .lb-caption{font-size:0.9rem;margin-top:4px;padding:0 4px}
  .lb-close{font-size:20px;padding:10px}
  .lb-nav{width:56px;height:56px;font-size:24px}
  .post-card .post h1{font-size:1.6rem}
  .post-card .body-card .content{font-size:1rem;line-height:1.6}
}

/* Gallery: better mobile layout */
@media (max-width:900px){
  .gallery{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:8px}
  .thumb img{height:200px}
}

/* Hero image on post page */
.post-hero{position:relative;width:100%;height:420px;overflow:hidden;border-radius:10px 10px 0 0;margin-bottom:12px}
.post-hero img{width:100%;height:100%;object-fit:cover;display:block}
.post-hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.0) 30%, rgba(0,0,0,0.45) 70%);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:28px}
.hero-title{color:white;margin:0;font-size:2.1rem;line-height:1.05;text-shadow:0 6px 18px rgba(0,0,0,0.6);font-weight:800}

/* Subtitle shown under hero title: parentheses, italic, light grey on light
  backgrounds and white when placed on the hero overlay. */
.hero-subtitle{color:var(--muted);font-style:italic;margin-top:6px;font-size:1rem;line-height:1.15;display:block}
.post-hero .hero-overlay .hero-subtitle{color:rgba(255,255,255,0.92);display:block}

/* Small map button positioned inside the hero (bottom-right) */
.hero-map-btn{position:absolute;right:14px;bottom:14px;width:76px;height:76px;border:0;padding:0;background:rgba(255,255,255,0.9);border-radius:10px;box-shadow:0 8px 20px rgba(0,0,0,0.18);overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer}
.hero-map-btn img{width:100%;height:100%;object-fit:cover;display:block}
.hero-map-btn:focus{outline:2px solid rgba(43,122,75,0.22)}

/* Small inline image row inside the content area */
.post-inline-photos{display:flex;gap:12px;margin:6px 0 18px}
.post-inline-photos .inline-photo{flex:1 1 50%;overflow:hidden;border-radius:8px}
.post-inline-photos .inline-photo img{width:100%;height:220px;object-fit:cover;display:block;border-radius:8px}

/* accessible hidden heading for SEO while visually placing title on hero */
.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px}

/* Subtitle shown only in print mode when present on the post */
.print-only-subtitle{display:none;font-style:italic;text-align:left;margin:6px 0 12px;color:#000}
.print-version .print-only-subtitle{display:block}

/* Ensure hero subtitle is readable in print (override white-on-image rule) */
.print-version .post-hero .hero-overlay .hero-subtitle{color:#000 !important}

@media (max-width:900px){
  .post-hero{height:260px}
  .hero-title{font-size:1.6rem}
  .post-inline-photos .inline-photo img{height:160px}
}

@media (max-width:600px){
  .post-hero{height:200px}
  .hero-title{font-size:1.25rem}
  .post-inline-photos{flex-direction:row}
  .post-inline-photos .inline-photo img{height:120px}
  .post-map .map-thumb{height:160px;object-fit:cover}
}

/* Mobile: stack gallery images vertically (one after another) */
@media (max-width:600px){
  .gallery{display:block;max-width:100%;margin:0 auto;padding:0}
  .gallery .thumb{display:block;margin:0 0 18px;padding:0}
  .gallery .thumb img{width:100%;height:auto;object-fit:contain;border-radius:4px}
  .gallery .thumb figcaption{display:block;text-align:center;margin-top:6px}
  .thumb .img-time{display:block;text-align:center;margin-top:6px}
}

/* Mobile: reduce outer spacing around the white card (not card internals) */
@media (max-width:600px){
  .post-page{padding:12px 6px}
  .post-card{margin:6px}
}

@media (max-width:480px){
  .gallery{grid-template-columns:repeat(2,1fr);gap:8px;padding:6px}
  .thumb img{height:176px}
}

/* Inline-note styling and popover */
.inline-note{cursor:help;border-bottom:1px dotted rgba(0,0,0,0.35);color:var(--accent);text-decoration:none}
.inline-note:hover{color:var(--card);text-decoration:none}
.note-bubble{position:absolute;z-index:9999;max-width:420px;background:var(--accent) !important;color:#ffffff !important;padding:12px;border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,0.32);font-size:0.95rem;line-height:1.4}
.note-bubble img{max-width:100%;height:auto;margin:0;display:block}
.note-bubble p, .note-bubble div{color:#fff}
.inline-notes{display:none}

/* Popover content: close button and scrollable area */
.note-bubble .nb-close{position:absolute;right:8px;top:8px;background:transparent;border:0;color:#fff;font-size:18px;padding:6px 8px;cursor:pointer}
.note-bubble .nb-scroll{max-height:60vh;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:6px}

/* note content layout inside bubble: image left, text top-aligned */
.note-bubble .note-content{display:flex;align-items:flex-start;gap:12px}
.note-bubble .note-content p{margin:0;color:white}

/* In print mode, inline-note should look like normal text; only show the
   superscript reference. Disable interactive affordances. */
.print-version .inline-note{
  border-bottom: none !important;
  color: inherit !important;
  cursor: default !important;
  text-decoration: none !important;
  background: none !important;
  padding: 0 !important;
  font-weight: inherit !important;
  pointer-events: none !important;
}
.print-version .inline-note .note-ref{margin-left:4px}
.note-img{width:120px;height:120px;object-fit:cover;border-radius:8px;flex:0 0 auto}
@media (max-width:900px){.note-img{width:96px;height:96px}}
@media (max-width:600px){.note-img{width:80px;height:80px}}

/* Collapsible sections */
.collapsible{background:transparent;margin:12px 0;border-radius:8px}

/* Inline collapsible: flow with text, heading and small inline toggle */
.collapsible-inline{margin:10px 0}
.collapsible-heading-inline{margin:0;font-size:1rem;line-height:1.4;color:inherit}
.collapsible-heading-inline strong{color:var(--accent);font-weight:700}
.collapsible-preview-inline{color:inherit;margin-left:6px}
.collapsible-toggle-inline{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:0 8px;height:26px;line-height:22px;font-size:0.9rem;border-radius:6px;border:1px solid rgba(0,0,0,0.08);background:transparent;color:var(--accent);cursor:pointer}
.collapsible-body-inline{padding:10px 12px;margin-top:8px;background:transparent;border-radius:6px}

@media (max-width:600px){
  .collapsible-toggle-inline{height:22px;padding:0 6px;font-size:0.85rem}
}

/* Featured post styling: larger card and image */
.post.featured{grid-column:span 2;transform:scale(1.04);border:2px solid rgba(43,122,75,0.16);box-shadow:0 10px 28px rgba(43,122,75,0.08);position:relative;z-index:3;background:linear-gradient(180deg,rgba(43,122,75,0.03),rgba(255,255,255,0.6))}
.post.featured img{height:320px}
.post.featured h3{font-size:1.35rem;margin-top:10px;color:var(--accent)}
.post.featured::before{content:'';}
.post.featured .post-date{font-weight:700;color:var(--accent)}
.older-link{text-align:center;padding:18px}
.older-link a{background:var(--accent);color:white;padding:10px 16px;border-radius:6px;text-decoration:none}

/* Global link styling: no underline, subtle hover animation */
a{text-decoration:none;color:inherit;transition:color .18s ease,transform .12s ease;position:relative}
a:hover,a:focus{color:var(--accent);transform:translateY(-1px)}
/* Keep button/link inside .older-link visually unchanged on hover */
.older-link a:hover{color:white;transform:none}

@media (max-width:900px){.post.featured{grid-column:span 1}.post.featured img{height:200px}}

/* Overrides to ensure the body card is fully opaque and quote is readable */
.post-page::after{z-index:0 !important}
.post-card{position:relative;z-index:2}
.post-card .body-card{background:#ffffff !important;position:relative;z-index:3}
.post-card .body-card .content{color:#111 !important}
.post-card .post-quote{display:block;margin:8px 0 16px;padding:8px 12px;color:rgba(0,0,0,0.65);font-size:1rem;line-height:1.6;text-align:center;font-style:italic;font-weight:400;max-width:880px}
.post-card .post-quote em{font-style:italic;font-weight:400}

/* Ensure gallery remains visible against the page background */
.post-card > .gallery{z-index:2}

/* subtle fade-in animation for post card */
@keyframes postFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.post-card{animation: postFadeIn 420ms ease-out both}

/* Floating site-wide menu (bottom-right) */
.floating-menu{position:fixed;right:18px;bottom:18px;z-index:1200;display:flex;flex-direction:column;gap:10px}
.floating-menu a{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:linear-gradient(180deg,#ffffff, #f3f3f3);box-shadow:0 8px 20px rgba(0,0,0,0.12);color:var(--accent);text-decoration:none;font-size:18px}
.floating-menu a:hover{transform:translateY(-3px)}
.floating-menu .menu-label{display:none}

@media (max-width:700px){
  .floating-menu{right:12px;bottom:12px}
  .floating-menu a{width:44px;height:44px}

/* hide floating menu in print-version */
.print-version .floating-menu{display:none !important}

/* Ensure floating menu never prints (covers cases where ?version=print class isn't present) */
@media print{
  .floating-menu{display:none !important}
}
}

/* Trail tip card used in post pages and aggregated tips list */
.trail-tip-card{background:linear-gradient(180deg,rgba(43,122,75,0.08),rgba(255,255,255,0.9));border-left:6px solid var(--accent);padding:12px 16px;border-radius:8px;margin:18px 0;box-shadow:0 8px 18px rgba(0,0,0,0.06)}
.trail-tip-card .tt-header{font-weight:700;color:var(--accent);font-size:0.95rem;margin:0;padding:0;border-bottom:none;line-height:1}
.trail-tip-card .tt-header::after{display:none}
.trail-tip-card .tt-body{font-size:0.95rem;color:#234;line-height:1.4;padding-top:0;margin-top:6px}
/* Remove default paragraph margins inside trail tip body to collapse spacing */
.trail-tip-card .tt-body p{margin:0}
.trail-tip-card .tt-body small{font-size:0.9rem}
.trail-tip-card .tt-body em{font-style:italic}

/* Flora & Fauna combined page: image + title on the top row, description
   below spanning full width */
.flora-list{max-width:840px;margin:18px auto;padding:8px 12px}
.flora-entry{padding:14px 0;border-bottom:1px solid rgba(0,0,0,0.04)}
.flora-entry:last-child{border-bottom:none}
.flora-top{display:flex;gap:4px;align-items:flex-start}
.flora-img{flex:0 0 240px;max-width:240px}
.flora-img img{width:100%;height:180px;object-fit:cover;border-radius:8px;display:block}
.flora-top-right{flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding-left:0;margin:0;padding:0}

/* Flora title and scientific name: remove default headings margin
  and keep them tightly stacked and left-aligned */
.flora-top-right .flora-name{margin:0;padding:0;font-size:1.5rem;font-weight:800;line-height:1.05;text-align:left}
.flora-top-right .flora-name strong{font-weight:800}
.flora-top-right .flora-sci{margin:2px 0 0 0;padding:0;color:var(--muted);font-style:italic;font-weight:400;text-align:left;font-size:0.98rem}

.flora-name{margin:0 0 0 12px;padding:0;font-size:2.4rem;line-height:1.05}
.flora-name strong{display:block;margin:0;padding:0}
.flora-desc{margin-top:6px}

@media (max-width:760px){
  .flora-top{flex-direction:row;align-items:flex-start}
  .flora-img{flex:0 0 180px;max-width:180px}
  .flora-img img{height:auto}
  .flora-top-right{align-self:flex-start}
}

@media (max-width:520px){
  .flora-top{flex-direction:column;gap:8px}
  .flora-img{flex:0 0 auto;max-width:100%;width:100%}
}

.flora-sci{margin:0 0 0 12px;color:var(--muted);font-size:0.95rem;font-style:italic}

@media (max-width:520px){
  .flora-top-right{align-items:flex-start;text-align:left}
}

/* Floating menu logo (Home) */
.floating-home-logo{width:40px;height:40px;border-radius:10px;object-fit:cover}

/* Posts search modal */
.posts-modal{position:fixed;inset:0;background:rgba(0,0,0,0.45);display:none;align-items:center;justify-content:center;z-index:1500;padding:18px}
.posts-modal[aria-hidden="false"]{display:flex}
.posts-modal .modal-card{background:white;border-radius:12px;max-width:980px;width:100%;max-height:85vh;overflow:auto;padding:16px}
.posts-modal .modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.posts-modal .search-input{width:320px;padding:8px 10px;border:1px solid #ddd;border-radius:8px}
.posts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.posts-grid .post-tile{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,0.06);cursor:pointer}
.posts-grid .post-thumb{width:100%;height:120px;object-fit:cover;display:block}
.posts-grid .post-meta{padding:8px;font-size:0.92rem;color:var(--muted)}
.posts-grid .post-title{padding:0 8px 12px;font-weight:700}

/* Simple pages (About, Trail Tips) — align content to top of the page */
.simple-page-main{padding:18px;max-width:880px;margin:0 auto;display:block;align-items:flex-start}
.simple-page-main h1{margin-top:6px;margin-bottom:12px}
/* Logo inside post card, centered at bottom */
.post-card .card-footer{display:block;text-align:center;padding:12px 0;margin-top:18px}
.post-card .card-footer .card-footer-logo{max-width:320px;width:60%;height:auto;display:inline-block}

