/* ---------- sanity flag ---------- */
html{--overrides-loaded:1}

/* selection */
::selection{background:#57ad68;color:#fff;text-shadow:none}
::-moz-selection{background:#57ad68;color:#fff;text-shadow:none}

/* ========== LIST CARDS: meta + Read more ========== */
.article-list .entry-meta-bar{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:12px 16px;border-radius:8px
}
.article-list .entry-meta-bar .meta-left{
  flex:1 1 auto;min-width:0;display:flex;align-items:center;
  flex-wrap:wrap;gap:14px 18px
}
.article-list .entry-meta-bar .meta-left>span{white-space:nowrap}
.article-list .entry-meta-bar .meta-right{flex:0 0 auto;margin-left:auto}

/* shrink “Read more” */
.article-list .entry-meta-bar .more-link{
  display:inline-flex;align-items:center;justify-content:center;
  height:36px;padding:0 14px;min-width:100px;border-radius:10px;
  line-height:1.1;white-space:nowrap;text-decoration:none;font-size:.95rem
}

/* ========== SINGLE POST: meta + share ========== */
.single-post .flex-meta-row{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:12px 16px;border-radius:8px
}
.single-post .flex-meta-row .meta-left{
  flex:1 1 auto;min-width:0;display:flex;align-items:center;
  flex-wrap:wrap;gap:14px 18px
}
.single-post .entry-share{flex:0 0 auto;display:flex;align-items:center;gap:8px;margin-left:auto}
.single-post .entry-share .resp-sharing-button__link{margin:0 !important}
.single-post .entry-share .resp-sharing-button{padding:.32em .5em !important}

/* keep one line on wide screens */
@media (min-width:980px){
  .article-list .entry-meta-bar,.single-post .flex-meta-row{flex-wrap:nowrap}
}

/* ========== SINGLE POST: Prev / Next ========== */
/* kill theme pseudo-labels that create big translucent blocks */
.single-post nav.post-navigation .nav-previous:before,
.single-post nav.post-navigation .nav-previous:after,
.single-post nav.post-navigation .nav-next:before,
.single-post nav.post-navigation .nav-next:after{content:none !important;display:none !important}

/* layout */
.single-post nav.post-navigation{
  display:flex !important;justify-content:space-between !important;align-items:center;
  gap:16px;padding:14px 18px !important
}
.single-post nav.post-navigation .nav-previous,
.single-post nav.post-navigation .nav-next{flex:0 0 auto;display:flex;align-items:center}

/* compact green buttons */
.single-post nav.post-navigation a.more-link{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  width:auto !important;min-width:170px !important;max-width:260px !important;
  height:42px !important;padding:0 16px !important;border-radius:10px !important;
  background:#57ad68 !important;color:#fff !important;font-weight:600;line-height:1.1;
  border:0 !important;box-shadow:none !important;background-image:none !important;text-indent:0 !important;
  text-decoration:none !important;clip:auto !important;clip-path:none !important;overflow:visible !important;opacity:1 !important;visibility:visible !important
}
.single-post nav.post-navigation a.more-link:hover{filter:brightness(.92) !important}

/* ========== Back to top ========== */
#back-to-top{
  position:fixed;right:22px;bottom:22px;z-index:9999;display:none;
  width:44px;height:44px;border-radius:999px;background:#57ad68;color:#fff;
  line-height:44px;text-align:center;opacity:.95;transition:opacity .2s,transform .2s
}
#back-to-top:hover{opacity:1;transform:translateY(-1px)}
#back-to-top i{display:block;line-height:44px;font-size:18px}

/* Prev/Next buttons (smaller) */
.single-post nav.post-navigation a.more-link{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  width:auto !important; min-width:100px !important; max-width:200px !important;
  height:36px !important; padding:0 16px !important; border-radius:10px !important;
  background:#57ad68 !important; color:#fff !important; font-weight:600; line-height:1.1;
  border:0 !important; box-shadow:none !important; text-indent:0 !important; text-decoration:none !important;
}

/* Optional: make them full-width on small screens */
@media (max-width:640px){
  .single-post nav.post-navigation .nav-previous,
  .single-post nav.post-navigation .nav-next{ flex:1 1 0 !important; }
  .single-post nav.post-navigation a.more-link{
    min-width:0 !important; width:100% !important; max-width:none !important; height:40px !important;
  }
}

/* List cards: shrink “Read more” a touch more */
.article-list .entry-meta-bar .more-link{
  height:36px !important; padding:0 16px !important; min-width:100px !important; font-size:.95rem !important;
}

/* LIST CARD meta row — bring ends inward a bit */
.article-list .entry-meta-bar{
  /* was: padding:12px 16px */
  padding-left: 30px;
  padding-right: 24px;
  column-gap: 10px;   /* was 14px */
}

/* Optional: make the button a hair narrower too */
.article-list .entry-meta-bar .more-link{
  min-width: 150px;   /* was 160–180 */
  padding-right: 24px;
}

/* Back-to-top: position, size, centered icon */
#back-to-top{
  position:fixed; bottom:24px; right:24px;
  width:44px; height:44px; border-radius:10px;
  background:#57ad68; color:#fff;
  display:none;                         /* JS controls visibility */
  z-index:9999; box-shadow:0 2px 6px rgba(0,0,0,.15);
  opacity:1 !important; visibility:visible !important;
  outline:0; border:0;
  display:flex; align-items:center; justify-content:center;
}
#back-to-top i{ font-size:18px; line-height:1; margin:0; pointer-events:none; }
#back-to-top:hover{ filter:brightness(.92); }

@media (max-width:640px){
  #back-to-top{ bottom:16px; right:16px; width:40px; height:40px; }
}

#back-to-top{
  position:fixed; right:24px; bottom:24px; z-index:1000;
  display:none; width:44px; height:44px; border-radius:10px;
  line-height:44px; text-align:center;
}
#back-to-top i{ line-height:44px; } /* centers the chevron */

#back-to-top{
  position:fixed; right:20px; bottom:24px; z-index:9999;
  display:none; width:44px; height:44px; line-height:44px; /* centers icon vertically */
  text-align:center; border-radius:50%;
  background:#57ad68; color:#fff; box-shadow:0 2px 8px rgba(0,0,0,.15);
  transition:filter .15s ease;
}
#back-to-top:hover{ filter:brightness(.92); }
#back-to-top i{ font-size:14px; vertical-align:middle; } 

/* Back-to-top: size, centering, hover lift */
#back-to-top{
  position:fixed; right:20px; bottom:24px; z-index:9999;
  display:flex; align-items:center; justify-content:center; /* perfect centering */
  width:56px; height:56px;               /* bigger (tweak here) */
  border-radius:12px;                    /* or 50% for a circle */
  background:#57ad68; color:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.18);
  transition:filter .15s ease, transform .15s ease;
}

#back-to-top i{
  font-size:20px;                        /* bigger arrow */
  line-height:1;                         /* no baseline shift */
  transform:translateY(-1px);            /* optical nudge */
  transition:transform .2s ease;
}

#back-to-top:hover{ filter:brightness(.92); }
#back-to-top:hover i{ transform:translateY(-4px); }  /* arrow “lift” */

/* Mobile tweaks */
@media (max-width: 768px){
  #back-to-top{
    right:14px;
    bottom:calc(14px + env(safe-area-inset-bottom, 0)); /* iOS safe area */
    width:60px; height:60px;                              /* bigger tap area */
  }
  #back-to-top i{ font-size:22px; }
}

@media (max-height: 480px){
  #back-to-top{ display:none !important; }
}

/* --- Logo sizing & centering --- */
:root { --logo-w: 720px; }                   /* desktop target width */
@media (max-width: 680px){ :root { --logo-w: 280px; } }

.branding-wrapper { padding: 24px 0 16px; }  /* tweak padding if you like */

.branding-content{
  display:flex;
  flex-direction:column;
  align-items:center;                        /* horizontal center */
  gap: 10px;
  text-align:center;
}

.site-logo{
  display:flex;
  align-items:center;                        /* vertical center inside its row */
  justify-content:center;
}

.site-logo img{
  width: min(100%, var(--logo-w));           /* never exceed wrapper width */
  height: auto;                              /* preserve aspect */
  max-width: 100%;                           /* safety net */
  display:block;
}

/* --- Logo: clamp to wrapper, center, force width-based sizing --- */
:root { --logo-w: 760px; }                      /* adjust to taste */
@media (max-width: 980px){ :root{ --logo-w: 520px; } }
@media (max-width: 640px){ :root{ --logo-w: 280px; } }

#branding .branding-content{
  display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center;
}

#branding .site-logo{ display:flex; align-items:center; justify-content:center; }

#branding .site-logo img{
  width: min(100%, var(--logo-w)) !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;              /* defeats theme height clamp */
  display: block;
}

/* Logo: make parent unconstrained and center it */
#branding .site-logo{
  max-width:none !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Anchor shouldn’t shrink the image */
#branding .site-logo a{
  display:inline-flex !important;
}

/* Image: defeat any caps and size by width */
:root{ --logo-w: 760px; }           /* adjust */
@media (max-width:980px){ :root{ --logo-w: 520px; } }
@media (max-width:640px){ :root{ --logo-w: 280px; } }

#branding .site-logo img{
  width:min(100%, var(--logo-w)) !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;       /* kills theme max-height */
  display:block !important;
}

/* List cards — consistent 16:9 banner and tidy crop */
.article-list-image{
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.article-list-image .list-banner{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;        /* crop-to-fill */
}

/* Remove theme img chrome inside list cards */
.article-list-image .list-banner{
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  transform: translateZ(0); /* avoid subpixel seams */
}
/* Ensure the container clips fully */
.article-list-image{
  overflow: hidden;
  background: transparent;
}

/* Ensure the image is clipped exactly to the rounded figure */
.article-list-image{
  /* you already set: position, aspect-ratio, overflow, border-radius */
  background: transparent;                 /* avoid white bleed from parent */
  -webkit-mask-image: -webkit-radial-gradient(white, black); /* AA fix */
}
.article-list-image .list-banner{
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: inherit;                  /* match container radius */
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --- Post list cards (16:9 + rounded TOP) --- */
.article-list .article-item figure.article-list-image{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:transparent;
  border-radius:12px 12px 0 0;
  -webkit-mask-image:-webkit-radial-gradient(white,black); /* AA fix */
}
.article-list .article-item figure.article-list-image a{
  display:block;width:100%;height:100%;
}
.article-list .article-item figure.article-list-image img.list-banner{
  display:block;width:100%;height:100%;
  object-fit:cover;
  border:0!important;padding:0!important;background:transparent!important;
  border-radius:inherit;
}

/* --- Recent Posts widget (vertical stack) --- */
#secondary .rpwe_widget .rpwe-ul{list-style:none;margin:0;padding:0;}
#secondary .rpwe_widget .rpwe-il{display:block;margin:0 0 18px;padding:0 0 12px;border-bottom:1px solid #eee;}
#secondary .rpwe_widget .rpwe-img{display:block;margin:0 0 6px;}
#secondary .rpwe_widget .rpwe-img img.rpwe-thumb{
  display:block;width:auto;max-width:100%;height:auto;
  border:1px solid #eee;box-shadow:none;border-radius:0;object-fit:cover;
}
#secondary .rpwe_widget .rpwe-title{margin:0 0 4px;font-size:14px;line-height:1.3;font-weight:400;}
#secondary .rpwe_widget .rpwe-title a{text-decoration:none;color:#3fa454;}
#secondary .rpwe_widget .rpwe-title a:hover{text-decoration:underline;}
#secondary .rpwe_widget .rpwe-time{display:block;font-size:12px;color:#9aa0a6;}

/* --- Slider: link color only (no layout/size/radius changes) --- */
#slider .slide-title a{color:#fff;transition:color .2s ease;}
#slider .slide-title a:hover{color:#4aa64a;}

/* POST LIST ONLY — tiny top corners, square bottom */
#main .article-list .article-item > article{
  --r: 3px;
  border-radius: var(--r) var(--r) 0 0 !important;
  overflow: hidden;
}
#main .article-list .article-item figure.article-list-image{
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius: inherit;
  background: transparent;
  -webkit-mask-image: -webkit-radial-gradient(white, black); /* AA fix */
}
#main .article-list .article-item figure.article-list-image img.list-banner{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border:0 !important;
  padding:0 !important;
  background:transparent !important;
  border-radius:inherit;
}
#main .article-list .article-item{ border-radius:0 !important; }

/* RECENT POSTS — compact, consistent, no bottom gap */
#secondary .rpwe_widget .rpwe-ul{list-style:none;margin:0;padding:0;}
#secondary .rpwe_widget .rpwe-block{margin:0;}                     /* kill container gap */
#secondary .rpwe_widget .rpwe-il{margin:0;padding:10px 0;border-bottom:1px solid #eee;}
#secondary .rpwe_widget .rpwe-il:last-child{border-bottom:0;padding-bottom:0;} /* no extra space */

/* 16:9 crop wrapper */
#secondary .rpwe_widget .rpwe-img{
  display:block; position:relative; margin:0 0 6px; line-height:0;
  aspect-ratio:16/9; overflow:hidden;
}

/* image fills wrapper; beat old width:auto!important */
#secondary .rpwe_widget .rpwe-img .rpwe-thumb{
  display:block; width:100% !important; height:100% !important;
  object-fit:cover; padding:0; border:1px solid #eee; box-shadow:none; border-radius:0;
}

/* text spacing + clamp */
#secondary .rpwe_widget .rpwe-title{margin:0 0 3px; font-size:14px; line-height:1.3; font-weight:600;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
#secondary .rpwe_widget .rpwe-title a{text-decoration:none;}
#secondary .rpwe_widget .rpwe-time{display:block; margin:0; font-size:12px; line-height:1.2; color:#999;}

/* Recent Posts – titles NOT bold */
#secondary .rpwe_widget .rpwe-title,
#secondary .rpwe_widget .rpwe-title a{
  font-weight: 400 !important; /* normal */
}

/* "View All Posts" — size only + centering */
.view-all-posts { text-align:center; }
.view-all-posts p{ margin-top:10px !important; margin-bottom:0 !important; }  /* tighten gap */
.view-all-posts .more-link{
  display:inline-block !important;         /* stop any full-width behavior */
  font-size:13px !important;
  line-height:1.2 !important;
  padding:6px 12px !important;             /* compact height */
  min-width:0 !important;
}

/* View All Posts — size only */
.view-all-posts{ text-align:center; }

.view-all-posts p{
  margin:10px 0 0 !important;   /* remove big gap + bottom margin */
  line-height:0;                 /* kill extra line-box height */
}

.view-all-posts .more-link{
  display:inline-block;          /* prevent full-width/flex effects */
  font-size:13px;
  line-height:1.2;
  padding:6px 12px;              /* matches smaller buttons */
}

.view-all-posts{ text-align:center; }
.view-all-posts p{ margin:10px 0 0 !important; line-height:0 !important; }
.view-all-posts .more-link{
  display:inline-block !important;
  padding:6px 12px !important;
  font-size:13px !important;
  line-height:1.2 !important;
  min-height:0 !important;
}

.default-wp-page{display:flex;justify-content:center;gap:8px;margin:16px 0;}
.default-wp-page .extend{padding:6px 12px;font-size:13px;line-height:1.2;}


/* keep alignment behaviour (optional) */
ul.default-wp-page li { list-style: none; }

/* Keep the post card CTA big */
.entry-meta-bar .more-link {
  font-size: 16px;
  padding: 8px 12px;
  line-height: 1.2;
}

/* Pager hover/focus/active */
ul.default-wp-page li a.more-link{
  transition: background-color .15s ease, box-shadow .15s ease;
}
ul.default-wp-page li a.more-link:hover,
ul.default-wp-page li a.more-link:focus{
  background:#57ad68 !important;   /* darker green */
  border-color:#57ad68 !important;
}
ul.default-wp-page li a.more-link:active{
  background:#287d40 !important;   /* pressed state */
}

/* Pager buttons: same size on hover, just darken */
ul.default-wp-page li a.more-link{
  display:inline-block;
  padding:6px 12px !important;     /* lock size */
  font-size:13px;
  line-height:1.2;
  border:1px solid transparent !important;  /* same width normal/hover */
  box-sizing:border-box;
  border-radius:3px;
  background:#57ad68;              /* theme green */
  color:#fff !important;
  margin:0;
  box-shadow:none;
  text-shadow:none;
  transition:background-color .15s ease, border-color .15s ease;
}
ul.default-wp-page li a.more-link:hover,
ul.default-wp-page li a.more-link:focus{
  padding:6px 12px !important;     /* prevent jump */
  background:#2f944d !important;   /* darker only */
  border-color:transparent !important;
}
ul.default-wp-page li a.more-link:active{
  background:#287d40 !important;   /* pressed */
}

/* Smaller prev/next buttons on single posts */
.single .post-navigation a.more-link{
  padding:6px 12px!important; font-size:13px!important; line-height:1.2!important;
}

/* Smaller prev/next buttons on single post pages */
.single-post .post-navigation a.more-link{padding:6px 12px!important;font-size:13px!important;line-height:1.2!important}
.single-post .post-navigation a.more-link:hover{padding:6px 12px!important}

/* Compact prev/next buttons on single-post pages */
.single-post .post-navigation a.more-link{
  padding:6px 12px !important;   /* same height as Read more */
  font-size:14px !important;
  line-height:1.2 !important;
  border-radius:4px !important;   /* small corners */
  border:0 !important;
  box-shadow:none !important;
  margin:0 !important;
  font-weight:600;                /* match Read more */
}

/* Single post: compact Prev/Next buttons (no size jump on hover) */
.single .post-navigation{ padding:8px 0 !important; }
.single .post-navigation a.more-link{
  display:inline-block !important;
  padding:6px 12px !important;   /* smaller; use 8px 12px to match Read more exactly */
  line-height:1.2 !important;
  font-size:14px !important;
  border-radius:4px !important;  /* subtle corners */
  height:auto !important;
  border:1px solid transparent !important; /* prevents growth on hover */
}
/* keep only a darker hover */
.single .post-navigation a.more-link:hover{ background:#359a52; }

/* Single post prev/next buttons: shrink + no grow */
.single .post-navigation a.more-link{
  flex: 0 0 auto !important;   /* stop flex-grow/width:100% */
  width: auto !important;
  padding: 6px 12px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  border-radius: 4px !important;
}

/* Darken only; no size jump */
.single .post-navigation a.more-link:hover{
  padding: 6px 12px !important; /* freeze size */
  background: #359a52 !important;
}

/* Single-post prev/next: compact + no grow + simple hover */
.single-post .post-navigation{display:flex;justify-content:space-between;align-items:center;padding:8px 0 !important;gap:16px;}
.single-post .post-navigation .nav-previous,
.single-post .post-navigation .nav-next{flex:0 0 auto !important;margin:0;}

.single-post .post-navigation a.more-link{
  display:inline-block !important;
  flex:0 0 auto !important;
  width:auto !important; min-width:0 !important; max-width:none !important;
  font-size:13px !important; line-height:1.2 !important;
  padding:6px 12px !important; border-radius:4px !important;
  height:auto !important; border:0 !important; box-shadow:none !important;
  transition:background-color .15s ease;
}
.single-post .post-navigation a.more-link:hover{background:#2f9d52 !important;}

/* Compact single-post prev/next buttons (final) */
body.single nav.post-navigation { padding: 8px 0 !important; }

body.single nav.post-navigation .nav-previous,
body.single nav.post-navigation .nav-next { flex: 0 0 auto !important; }

body.single nav.post-navigation a.more-link{
  display: inline-block !important;
  flex: 0 0 auto !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  border-radius: 4px !important;   /* subtle corners */
  min-width: 0 !important;
  height: auto !important;
  transform: none !important;
}

body.single nav.post-navigation a.more-link:hover{
  filter: brightness(.92);          /* darken only */
  transform: none !important;
}

/* Subtle corners just for the post-card CTA */
.entry-meta-bar .more-link,
.entry-meta-bar .more-link:hover {
  border-radius: 4px !important;  /* was more pill-like */
}

/* Single post: prev/next buttons — smaller, not stretched */
.single-post nav.post-navigation{
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 18px;  /* keeps them off the edges */
}

.single-post nav.post-navigation a.more-link{
  display:inline-flex; align-items:center; justify-content:center;
  flex:0 0 auto;
  font-size:13px; line-height:1.2;
  padding:12px 24px;           /* reduced height */
  height:auto !important; min-height:0 !important;
  border-radius:4px;          /* slight corners */
  width:auto !important; min-width:0 !important; max-width:none !important;
}

.single-post nav.post-navigation a.more-link:hover{
  transform:none !important;                  /* no grow on hover */
  filter:brightness(0.94);                    /* same darken effect */
}

/* 1) Single-post prev/next — size + spacing only (no layout changes) */
article.single-post nav.post-navigation .nav-previous,
article.single-post nav.post-navigation .nav-next { flex: 0 0 auto !important; }

article.single-post nav.post-navigation a.more-link{
  width:auto !important;              /* stop 100% stretch */
  height:auto !important;             /* kill 54px height */
  padding:9px 18px !important;        /* match “Read more” */
  line-height:1.2 !important;
  border-radius:4px !important;       /* subtle corners */
  box-sizing:border-box !important;   /* no hover “grow” */
}
article.single-post nav.post-navigation .nav-previous a.more-link{ margin-left:24px !important; }
article.single-post nav.post-navigation .nav-next a.more-link{ margin-right:24px !important; }

/* 2) Remove the empty horizontal frame above the footer */
#footerarea .widget-wrap{ border-top:0 !important; padding:0 !important; }
#site-generator{ border-top:0 !important; }

/* Match "Read more" sizing everywhere */
.view-all-posts .more-link,
ul.default-wp-page .more-link,                    /* list pager (Next/Prev) */
article.single-post nav.post-navigation a.more-link {   /* single post pager */
  font-size:14px !important;
  padding:6px 12px !important;
  line-height:1.2 !important;
  border-radius:4px !important;
  height:auto !important;
}

/* Make "All posts" + pager + prev/next match the "Read more" size */
.view-all-posts .more-link,
ul.default-wp-page .more-link,
.post-navigation .more-link{
  padding: 8px 12px !important;   /* same as Read more */
  font-size: 14px !important;
  line-height: 1.2 !important;
  border-radius: 4px !important;  /* same corner radius */
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

/* Keep prev/next aligned and off the edges */
.post-navigation{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;              /* space from the grey bar edges */
}
.post-navigation .nav-previous,
.post-navigation .nav-next{
  display: flex;
  align-items: center;
  margin: 0 !important;
}

/* === FINAL: unify button sizes + spacing === */
.entry-meta-bar .more-link,                 /* Read more (reference) */
.view-all-posts .more-link,                 /* All posts */
ul.default-wp-page .more-link,              /* list pager */
article.single-post nav.post-navigation a.more-link {  /* prev/next */
  padding: 8px 12px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  border-radius: 4px !important;
  width: auto !important; height: auto !important;
  min-width: 0 !important; max-width: none !important;
}

/* darken only, no size change */
.view-all-posts .more-link:hover,
ul.default-wp-page .more-link:hover,
article.single-post nav.post-navigation a.more-link:hover {
  padding: 8px 12px !important;
  filter: brightness(.92);
}

/* keep prev/next off the grey bar edges */
article.single-post nav.post-navigation { padding: 12px 24px !important; }

/* Unify sizes to match "Read more" */
.view-all-posts .more-link,
.default-wp-page .more-link,
.single-post .post-navigation a.more-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:44px !important;
  padding:0 22px !important;
  font-size:14px !important;
  border-radius:3px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

/* Darken only on hover (no size change) */
.view-all-posts .more-link:hover,
.default-wp-page .more-link:hover,
.single-post .post-navigation a.more-link:hover{
  background:#3b8f4c !important;
}

/* Keep equal inset from edges on single post nav */
.single-post .post-navigation{
  padding:18px 18px 32px !important;
}

/* === Unify button sizes with "Read more" ================== */
:root{
  --btn-py:6px; --btn-px:12px; --btn-fs:13px; --btn-r:4px;
}

/* Size + look (same as Read more) */
.view-all-posts .more-link,
.single-post nav.post-navigation a.more-link,
ul.default-wp-page li a.more-link{
  display:inline-block;
  padding:var(--btn-py) var(--btn-px);
  font-size:var(--btn-fs);
  line-height:1.2;
  border-radius:var(--btn-r);
  height:auto; min-width:0;
  border:1px solid transparent; /* freeze size on hover */
  box-shadow:none; text-decoration:none;
}

/* Darken only on hover (no growth) */
.view-all-posts .more-link:hover,
.single-post nav.post-navigation a.more-link:hover,
ul.default-wp-page li a.more-link:hover{
  background:#3b8f4c; color:#fff !important;
}

/* Keep single-post buttons off the edges and not stretching */
.single-post nav.post-navigation{
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 18px; gap:16px;
}
.single-post nav.post-navigation .nav-previous,
.single-post nav.post-navigation .nav-next{ flex:0 0 auto; }
.single-post nav.post-navigation a.more-link{ flex:0 0 auto; }
.view-all-posts{ text-align:center; }

/* Normalize size + color to match "Read more" and stop hover growth */
.post-navigation .more-link,
.view-all-posts .more-link,
ul.default-wp-page .more-link{
  padding:6px 12px;
  font-size:14px;
  line-height:1.2;
  border-radius:4px;
  background:#57ad68;
  color:#fff;
  border:0;
  transition:background-color .18s;
}
.post-navigation .more-link:hover,
.view-all-posts .more-link:hover,
ul.default-wp-page .more-link:hover{
  background:#3b8f4c;   /* darken only */
  color:#fff;
  padding:6px 12px;      /* lock size on hover */
  border:0;
}

/* Pagination alignment: push single "Next" to the right edge */
ul.default-wp-page{display:flex; width:100%;}
ul.default-wp-page li.next{margin-left:auto;}

/* === Unify buttons to match "Read more" === */
/* Colors + fixed size (no growth on hover) */
.view-all-posts .more-link,
ul.default-wp-page .more-link,
.single-post nav.post-navigation a.more-link{
  background:#57ad68 !important;   /* same as core .more-link */
  border-color:#57ad68 !important;  /* ditto */
  color:#fff !important;
  font-size:14px !important;
  line-height:1.2 !important;
  padding:6px 12px !important;      /* freeze size */
  border-radius:4px !important;
}

/* Hover: only darken, no size change */
.view-all-posts .more-link:hover,
ul.default-wp-page .more-link:hover,
.single-post nav.post-navigation a.more-link:hover{
  background:#3b8f4c !important;    /* same hover as core */
  border-color:#3b8f4c !important;
  color:#fff !important;
  padding:6px 12px !important;      /* prevent growth */
  transform:none !important;
  box-shadow:none !important;
}

/* List pager alignment (flush left/right inside content) */
ul.default-wp-page{
  display:flex !important;
  justify-content:space-between !important;
  list-style:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Shrink "View All Posts" (height + corners) */
.view-all-posts .more-link{ font-size:13px !important; padding:5px 10px !important; border-radius:3px !important; }
.view-all-posts .more-link:hover{ padding:5px 10px !important; }  /* no grow on hover */

/* Unify all green buttons to the exact "Read more" colors + shrink All Posts */
.view-all-posts .more-link,
ul.default-wp-page .more-link,
.single .post-navigation a.more-link {
  background: #4CAf50 !important;
  border: 1px solid #4cae4c !important; /* prevents hover growth */
  color: #fff !important;
}

.view-all-posts .more-link {
  font-weight: 700 !important;          /* make label bold */
  padding: 4px 12px !important;         /* slightly shorter without changing font size */
  line-height: 1.2 !important;
}

.view-all-posts .more-link:hover,
ul.default-wp-page .more-link:hover,
.single .post-navigation a.more-link:hover {
  background: #4cae4c !important;
  border-color: #4cae4c !important;
}

/* All Posts + pager: same size as Read more, no hover growth */
.view-all-posts .more-link,
.view-all-posts .more-link:hover,
ul.default-wp-page .more-link,
ul.default-wp-page .more-link:hover {
  display:inline-block !important;
  font-size:14px !important;
  padding:4px 12px !important;      /* fixed height */
  line-height:1.2 !important;
  border-radius:4px !important;
  border:1px solid #4cae4c !important;
  box-shadow:none !important;
  transform:none !important;
  margin:0 !important;
}

.view-all-posts .more-link,
ul.default-wp-page .more-link {
  background:#4CAf50 !important; color:#fff !important;
}
.view-all-posts .more-link:hover,
ul.default-wp-page .more-link:hover {
  background:#4cae4c !important; color:#fff !important; /* color only */
}

/* === FINAL: match "Read more", center text, no hover growth === */
:root{
  --btn-bg:#4CAf50;         /* Read more */
  --btn-bg-hover:#4cae4c;   /* Read more hover */
  --btn-h:34px;             /* tweak if you want shorter/taller */
  --btn-px:12px;
  --btn-r:4px;
}

/* All posts + list pager + single-post prev/next */
.view-all-posts .more-link,
ul.default-wp-page .more-link,
.single-post nav.post-navigation a.more-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:var(--btn-h) !important;
  padding:0 var(--btn-px) !important;   /* fixed height via 0 vertical padding */
  font-size:14px !important;
  line-height:1 !important;             /* keep vertical centering stable */
  border-radius:var(--btn-r) !important;
  background:var(--btn-bg) !important;
  border:1px solid var(--btn-bg-hover) !important;
  color:#fff !important;
  box-shadow:none !important;
  transform:none !important;
  text-decoration:none !important;
}

/* Darken only */
.view-all-posts .more-link:hover,
ul.default-wp-page .more-link:hover,
.single-post nav.post-navigation a.more-link:hover{
  background:var(--btn-bg-hover) !important;
  border-color:var(--btn-bg-hover) !important;
}

/* Pager alignment (push single "Next" to the right) */
ul.default-wp-page{display:flex !important; justify-content:space-between !important; list-style:none !important; padding:0 !important;}
ul.default-wp-page li.next{margin-left:auto !important;}

/* Keep prev/next away from the grey bar edges */
.single-post nav.post-navigation{padding:12px 18px !important;}

/* View All Posts — lock size + center text + match Read more */
.view-all-posts .more-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:6px 12px !important;     /* same as Read more */
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  border:1px solid #4cae4c !important;  /* same width normal/hover */
  border-radius:4px !important;
  box-sizing:border-box !important;     /* freeze height */
  background:#4CAf50 !important;
  color:#fff !important;
  box-shadow:none !important;
  transform:none !important;
}

.view-all-posts .more-link:hover,
.view-all-posts .more-link:focus{
  /* metrics unchanged → no raise */
  padding:6px 12px !important;
  border:1px solid #4cae4c !important;
  background:#4cae4c !important;  /* darken only */
  color:#fff !important;
  box-shadow:none !important;
  transform:none !important;
}

/* Lock metrics (normal + hover) so text doesn't jump */
.view-all-posts .more-link,
ul.default-wp-page .more-link,
.single-post .post-navigation a.more-link,
.view-all-posts .more-link:hover,
ul.default-wp-page .more-link:hover,
.single-post .post-navigation a.more-link:hover{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:6px 12px !important;     /* fixed size */
  line-height:1 !important;         /* avoid baseline shift */
  font-size:14px !important;
  font-weight:600 !important;       /* same weight on hover */
  border:1px solid #4cae4c !important; /* same width on hover */
  border-radius:4px !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
  transform:none !important;
  color:#fff !important;
  background:#4CAf50 !important;
}

/* Hover: darken only */
.view-all-posts .more-link:hover,
ul.default-wp-page .more-link:hover,
.single-post .post-navigation a.more-link:hover{
  background:#4cae4c !important;
  border-color:#4cae4c !important;
}

.single .single-banner{
  height:var(--banner-h) !important;
  margin:0; overflow:hidden;
  display:grid; place-items:center;
  background:#f3f3f3;
}
.single .single-banner__img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* FINAL — Prev/Next row: freeze layout height */
.single nav.post-navigation{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 18px; min-height:56px;   /* <- stops the row from “breathing” */
}
.single nav.post-navigation a.more-link{
  display:inline-flex; align-items:center; justify-content:center;
  height:34px; padding:0 12px; border:1px solid transparent; font-weight:600;
}
.single nav.post-navigation a.more-link:hover{ background:#3b8f4c; color:#fff; }

/* Slider images can be any width; height controlled by template */
.flexslider .slides img{ display:block; height:auto }

/* Recent posts thumbs: 16:9, let height follow width */
.rpwe-thumb{ width:270px; height:auto }

/* === FINAL — Single banner: fixed 460px, edge-to-edge cover === */
.single{ --banner-h:460px }
@media (max-width:680px){ .single{ --banner-h:320px } }

.single .single-banner{
  height:var(--banner-h) !important;
  margin:0; overflow:hidden;
  display:grid; place-items:center;
  background:#f3f3f3;
}
.single .single-banner__img{
  width:100% !important;
  height:100% !important;
  display:block;
  object-fit:cover !important;
  object-position:center !important;
}

/* === FINAL — Prev/Next row: freeze layout height === */
.single nav.post-navigation{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 18px; min-height:56px;
}
.single nav.post-navigation a.more-link{
  display:inline-flex; align-items:center; justify-content:center;
  height:34px; padding:0 12px; box-sizing:border-box;
  border:1px solid transparent; font-weight:600;
  transition:background-color .15s ease, color .15s ease;
}
.single nav.post-navigation a.more-link:hover{ background:#3b8f4c; color:#fff; }

/* (optional) keep your left gap on the previous link */
.single nav.post-navigation .nav-previous a.more-link{ margin-left:24px; }

/* === Single-post banner should follow 48:23, not a fixed height === */
.single .single-banner{
  aspect-ratio: 48 / 23;     /* auto-calculates height from width */
  height: auto !important;   /* stop any fixed 460px */
  margin: 0; overflow: hidden;
  display: block; background:#f3f3f3;
}
.single .single-banner__img{
  width: 100%; height: 100%;
  object-fit: contain;       /* no crop (image is already 48:23) */
  display:block;
}

/* === Freeze prev/next button metrics; darken only on hover === */
.single nav.post-navigation a.more-link{
  display:inline-flex; align-items:center; justify-content:center;
  height:34px; line-height:34px; padding:0 12px;
  box-sizing:border-box; border:1px solid transparent;
  font-weight:600;
  transform:none !important; box-shadow:none !important;
}
.single nav.post-navigation a.more-link:hover{
  background:#3b8f4c; color:#fff;
  padding:0 12px; border-color:transparent;   /* no size change */
  transform:none !important; box-shadow:none !important;
}

/* === Fluid Typography for Posts and Summaries === */
/* Headings scale with viewport. Semantics preserved, visuals tamed. */

/* Scope 1: single post content */
.single .entry-content,
.page .entry-content {
  --lh-tight: 1.25;
  --lh-normal: 1.35;
  --space-md: 1rem;
  --space-sm: 0.5rem;
}

.single .entry-content h1 {
  font-size: clamp(1.75rem, 2vw + 1rem, 2.25rem); /* ~28–36px */
  line-height: var(--lh-tight);
  margin: var(--space-md) 0 var(--space-sm);
  font-weight: 700;
}
.single .entry-content h2 {
  font-size: clamp(1.5rem, 1.6vw + 0.9rem, 2rem); /* ~24–32px */
  line-height: var(--lh-tight);
  margin: var(--space-md) 0 var(--space-sm);
  font-weight: 700;
}
.single .entry-content h3 {
  font-size: clamp(1.25rem, 1.2vw + 0.8rem, 1.75rem); /* ~20–28px */
  line-height: var(--lh-tight);
  margin: calc(var(--space-sm) + 2px) 0 var(--space-sm);
  font-weight: 700;
}
.single .entry-content h4 {
  font-size: clamp(1.125rem, 0.9vw + 0.75rem, 1.5rem); /* ~18–24px */
  line-height: var(--lh-normal);
  margin: var(--space-sm) 0 0.25rem;
  font-weight: 600;
}
.single .entry-content h5 {
  font-size: clamp(1rem, 0.7vw + 0.7rem, 1.25rem); /* ~16–20px */
  line-height: var(--lh-normal);
  margin: 0.5rem 0 0.25rem;
  font-weight: 600;
}
.single .entry-content h6 {
  font-size: clamp(0.95rem, 0.4vw + 0.7rem, 1.1rem); /* ~15–17px */
  line-height: var(--lh-normal);
  margin: 0.5rem 0 0.25rem;
  font-weight: 600;
  text-transform: none;
}

/* Scope 2: list cards’ summaries (keep them lighter & smaller) */
.article-list .entry-summary {
  --lh: 1.3;
}

.article-list .entry-summary h1 {
  font-size: clamp(1.25rem, 1.2vw + 0.8rem, 1.5rem); /* ~20–24px */
  line-height: var(--lh);
  font-weight: 700;
  margin: 0.5rem 0 0.25rem;
}
.article-list .entry-summary h2 {
  font-size: clamp(1.125rem, 1vw + 0.75rem, 1.375rem); /* ~18–22px */
  line-height: var(--lh);
  font-weight: 700;
  margin: 0.5rem 0 0.25rem;
}
.article-list .entry-summary h3 {
  font-size: clamp(1rem, 0.8vw + 0.7rem, 1.25rem); /* ~16–20px */
  line-height: var(--lh);
  font-weight: 700;
  margin: 0.5rem 0 0.25rem;
}
.article-list .entry-summary h4 {
  font-size: clamp(0.95rem, 0.6vw + 0.65rem, 1.125rem); /* ~15–18px */
  line-height: var(--lh);
  font-weight: 600;
  margin: 0.4rem 0 0.2rem;
}
.article-list .entry-summary h5 {
  font-size: clamp(0.9rem, 0.5vw + 0.6rem, 1rem); /* ~14–16px */
  line-height: var(--lh);
  font-weight: 600;
  margin: 0.35rem 0 0.2rem;
}
.article-list .entry-summary h6 {
  font-size: clamp(0.85rem, 0.4vw + 0.55rem, 0.95rem); /* ~13–15px */
  line-height: var(--lh);
  font-weight: 600;
  margin: 0.35rem 0 0.2rem;
  text-transform: none;
}

/* Tweak smallest headings in single posts */
.single .entry-content h5 { 
  font-size: clamp(0.95rem, 0.6vw + 0.7rem, 1.2rem); /* ~15–19px */
  font-weight: 600;
}
.single .entry-content h6 { 
  font-size: clamp(0.9rem, 0.35vw + 0.65rem, 1.05rem); /* ~14–17px */
  font-weight: 500; /* lighter so it doesn’t shout */
}

/* Make list-card excerpt headings a notch lighter */
.article-list .entry-summary h5 { 
  font-size: clamp(0.875rem, 0.45vw + 0.55rem, 0.95rem); /* ~14–15px */
}
.article-list .entry-summary h6 { 
  font-size: clamp(0.82rem, 0.35vw + 0.5rem, 0.9rem); /* ~13–14px */
}

/* Optional: bring the single-post page title down */
.single .entry-title {
  font-size: clamp(1.5rem, 1.4vw + 0.9rem, 2rem); /* ~24–32px */
  line-height: 1.25;
  margin: 0.75rem 0 0.5rem;
}

/* Card summaries: compact text and prevent blank gaps */
.article-list .entry-summary > :first-child { margin-top: 0; }
.article-list .entry-summary > :last-child  { margin-bottom: 0; }
.article-list .entry-summary p { margin: .5rem 0; }

/* Safety: hide any media that slipped into summaries */
.article-list .entry-summary img,
.article-list .entry-summary figure,
.article-list .entry-summary .wp-caption { display:none; }

.article-list .entry-summary p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4; /* desktop target */
  overflow:hidden;
  margin:.5rem 0;
}
@media (max-width:600px){
  .article-list .entry-summary p{-webkit-line-clamp:3;} /* mobile */
}

/* === Prev/Next buttons — freeze size, darken-only on hover === */
/* Targets both legacy and current markup */
.single .post-navigation a.more-link,
.single-post .post-navigation a.more-link,
.post-navigation .nav-previous a.more-link,
.post-navigation .nav-next a.more-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  /* fixed metrics */
  font-size:14px !important;
  line-height:1.2 !important;
  height:34px !important;
  padding:0 12px !important;                 /* no vertical padding */
  box-sizing:border-box !important;
  border:1px solid transparent !important;   /* same border width always */
  border-radius:4px !important;
  /* look */
  background:#4CAF50 !important;
  color:#fff !important;
  /* kill growth/jump sources */
  margin:0 !important;
  transform:none !important;
  box-shadow:none !important;
}

.single .post-navigation a.more-link:hover,
.single-post .post-navigation a.more-link:hover,
.post-navigation .nav-previous a.more-link:hover,
.post-navigation .nav-next a.more-link:hover{
  /* metrics unchanged */
  height:34px !important;
  padding:0 12px !important;
  border-color:transparent !important;
  /* darken only */
  background:#4cae4c !important;
  color:#fff !important;
}

/* Keep nav row height stable so hover doesn’t “breathe” */
.single nav.post-navigation,
.single-post nav.post-navigation{
  min-height:56px; /* same as earlier intent */
}

/* === Meta bar fix after FA7 upgrade === */

/* Normalize icon size/alignment */
.entry-meta .meta-left i[class^="fa-"],
.entry-meta .meta-left i[class*=" fa-"]{
  font-size:14px;            /* keep icons compact */
  line-height:1;             /* remove extra vertical lead */
  margin-right:6px;          /* small spacing before text */
  width:auto;                /* do not force width */
}

/* Keep meta items in one row on desktop */
.single-post .flex-meta-row .meta-left,
.article-list .entry-meta-bar .meta-left{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;          /* prevent wrap on wide view */
  gap:10px;                  /* reduce from 18px that caused overflow */
}

/* Each meta chip aligns its icon + label */
.entry-meta .meta-left > span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

/* Allow wrapping on narrow screens */
@media (max-width: 760px){
  .single-post .flex-meta-row .meta-left,
  .article-list .entry-meta-bar .meta-left{
    flex-wrap:wrap;
    row-gap:6px;
  }
}

/* Theme toggle control */
.theme-toggle{
  background:transparent; border:0; padding:6px 8px; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
}
.theme-toggle .fa-solid{ font-size:18px; }

/* === Header layout: push theme toggle to the right === */
#main-nav .container{
  display:flex;                 /* non-breaking: container already block-level */
  align-items:center;
  gap:12px;
}
#main-nav #menu{                /* menu occupies remaining space */
  flex:1 1 auto;
}
#main-nav .theme-toggle{
  margin-left:auto;             /* sends toggle to the far right */
}

/* ===== Header bar layout ===== */
#main-nav .container{
  display:flex;                  /* place items on one line */
  align-items:center;            /* vertical centering */
  gap:12px;                      /* small spacing */
}
#menu{ flex:1 1 auto; }          /* menu grows */
#theme-toggle{ margin-left:auto; } /* push toggle to the right */

/* Theme toggle button visuals */
.theme-toggle{
  background:transparent; border:0; padding:6px 8px; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
}
.theme-toggle .fa-solid{ font-size:18px; }

/* --- Dark mode: meta bar should switch too --- */
/* Higher specificity + !important to beat theme defaults */
.article-list .entry-meta-bar,
.single-post .entry-meta-bar{
  background: var(--card) !important;
  border-color: var(--border) !important;
  color: var(--muted) !important;
}
.entry-meta-bar .meta-left i{ line-height:1; } /* keep icons tight */

/* --- Titles/subtitles: keep original style; only color swaps --- */
/* Listing titles should NOT inherit link green in dark mode */
.article-list .entry-header .entry-title,
.article-list .entry-header .entry-title a,
.single-post .entry-header .entry-title,
.single-post .entry-header .entry-title a{
  color: var(--fg) !important;            /* just flip black→light */
  text-shadow: none !important;           /* avoid extra “dark style” */
}

/* Titles in listings and single posts: only color changes in dark */
.article-list .entry-header h2.entry-title,
.article-list .entry-header h2.entry-title a,
.single-post .entry-header h1.entry-title,
.single-post .entry-header h1.entry-title a{
  color: var(--fg) !important;   /* light text in dark mode, black in light */
  text-shadow: none !important;  /* remove any dark-style effect */
}

/* Single post meta row container */
.single-post .flex-meta-row{
  background: var(--card) !important;
  border-color: var(--border) !important;
  color: var(--muted) !important;
}
/* Icons stay tight */
.single-post .flex-meta-row .meta-left i{ line-height:1; }

/* Remove beige backgrounds from structural wrappers */
#wrapper, #main, #container, #content, #primary, #secondary{
  background: transparent !important;
}
/* Ensure all “card-like” blocks use the card color */
.post, .hentry, .entry-content, .entry-summary,
.entry-meta-bar, .flex-meta-row, .share,
.sidebar .widget, .widget, .pagination, .commentlist li{
  background: var(--card) !important;
  border-color: var(--border) !important;
}

/* Kill any theme-supplied pseudo icon on the toggle */
#theme-toggle::before{ content:none !important; }

/* Ensure FA renders for the inner <i> and keep it visible */
#theme-toggle i{ font-size:18px; line-height:1; display:inline-block; }

/* Structural wrappers use token colors */
body{ background:var(--bg); color:var(--fg); }
#wrapper, #main, #container, #content, #primary, #secondary{
  background: var(--card) !important;
  border-color: var(--border) !important;
}

/* Cards and panels */
.article-list .post, .hentry, .entry-content, .entry-summary,
.entry-meta-bar, .flex-meta-row, .share, .sidebar .widget,
.widget, .pagination, .commentlist li{
  background: var(--card) !important;
  border-color: var(--border) !important;
}

/* Meta row on single posts */
.single-post .flex-meta-row{
  background: var(--card) !important;
  border-color: var(--border) !important;
  color: var(--muted) !important;
}

/* Titles: keep style, only flip color */
.article-list .entry-header h2.entry-title,
.article-list .entry-header h2.entry-title a,
.single-post .entry-header h1.entry-title,
.single-post .entry-header h1.entry-title a{
  color: var(--fg) !important;
  text-shadow:none !important;
}

#main-nav .container{ display:flex; align-items:center; gap:12px; }
#menu{ flex:1 1 auto; }
#theme-toggle{ margin-left:auto; }

/* Listing titles: keep light-style, only color flips */
.article-list .entry-header h2.entry-title,
.article-list .entry-header h2.entry-title a{
  color: var(--fg) !important;
  text-shadow: none !important;
  text-decoration: none !important;
  border: 0 !important;
  background: transparent !important;
}
/* Hover may use brand accent if you want */
.article-list .entry-header h2.entry-title a:hover{
  color: var(--link) !important;
}

/* =========================================================
   Kafeteka — Dark-mode application overrides
   Apply design tokens to legacy Travelify components.
   Keep light theme unchanged. Use variables from theme-tokens.css
   ========================================================= */

/* 0) Header layout + toggle icon */
#main-nav .container{ display:flex; align-items:center; gap:12px; }
#menu{ flex:1 1 auto; }
#theme-toggle{ margin-left:auto; background:transparent; border:0; padding:6px 8px; cursor:pointer; }
#theme-toggle::before{ content:none !important; }     /* kill theme gear */
#theme-toggle i{ font-size:18px; line-height:1; display:inline-block; }

/* 1) Structural wrappers use tokens */
body{ background:var(--bg); color:var(--fg); }
#wrapper,#main,#container,#content,#primary,#secondary{ background:var(--card) !important; }

/* 2) Cards, panels, lists */
.post,.hentry,.entry-content,.entry-summary,
.entry-meta-bar,.flex-meta-row,.share,
.sidebar .widget,.widget,.pagination,.commentlist li{
  background:var(--card) !important;
  border-color:var(--border) !important;
}

/* 3) Meta rows */
.article-list .entry-meta-bar,
.single-post .flex-meta-row{
  background:var(--card) !important;
  border-color:var(--border) !important;
  color:var(--muted) !important;
}
.entry-meta .meta-left i,
.flex-meta-row .meta-left i{ line-height:1; }

/* 4) Slider frame (remove white frame/border) */
#slider,#featured-slider,.flexslider{
  background:var(--bg) !important;
  border-color:var(--bg) !important;
  box-shadow:none !important;
}
.flexslider .slides>li{ background:var(--bg) !important; }

/* 5) Titles — match light style, only flip color */
.article-list .entry-header h2.entry-title,
.article-list .entry-header h2.entry-title a,
.single-post .entry-header h1.entry-title,
.single-post .entry-header h1.entry-title a{
  color:var(--fg) !important;
  text-shadow:none !important;
  text-decoration:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
/* optional hover accent */
.article-list .entry-header h2.entry-title a:hover,
.single-post .entry-header h1.entry-title a:hover{ color:var(--link) !important; }

/* 6) Prev/Next strip and site footer */
.single-post .post-navigation,
.single-post .prev_next_post,
.single-post .post-nav,
.single-post .article_footer,
.single-post .entry-footer{
  background:var(--card) !important;
  border-color:var(--border) !important;
}

#footerarea,#footer,footer{
  background:var(--card) !important;
  color:var(--muted) !important;
  border-top:1px solid var(--border) !important;
}

/* 7) Misc readability */
.entry-meta,.entry-meta-bar,.widget .post-info,.widget .post-info a{ color:var(--muted); }
pre,code,kbd,samp{ background:var(--code-bg); color:var(--fg); }
hr,table,th,td{ border-color:var(--border); }
a{ color:var(--link); }

/* --- Bottom generator bar (white strip) --- */
#site-generator,
.site-generator,
#credit,
footer .site-info{
  background: var(--card) !important;
  color: var(--muted) !important;
  border-top: 1px solid var(--border) !important;
}

/* --- Blog listing titles: force same style, only color flips --- */
/* Add heavy specificity to beat theme rules */
[data-theme="dark"] .article-list .post .entry-header h2.entry-title,
[data-theme="dark"] .article-list .post .entry-header h2.entry-title a,
[data-theme="dark"] .article-list h2.entry-title,
[data-theme="dark"] .article-list h2.entry-title a,
[data-theme="dark"] h2.entry-title a:link,
[data-theme="dark"] h2.entry-title a:visited{
  color: var(--fg) !important;
  text-shadow: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============ Theme switch ============ */
/* Layout: keep at right of nav */
.theme-switch{ margin-left:auto; display:flex; align-items:center; }

/* Hide native checkbox but keep it focusable */
#theme-toggle{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; clip-path:inset(50%);
}

/* Pill track */
.switch-ui{
  --h:28px; --w:64px;
  position:relative; display:inline-flex; align-items:center; gap:10px;
  width:var(--w); height:var(--h); padding:0 12px;
  border-radius:9999px; cursor:pointer; user-select:none;
  background:var(--card); border:1px solid var(--border);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.15);
}

/* Sun/Moon icons inside the pill */
.switch-ui .fa-solid{ font-size:14px; color:var(--muted); }

/* Knob */
.switch-ui .knob{
  position:absolute; top:50%; left:6px; translate:0 -50%;
  width:24px; height:24px; border-radius:9999px;
  background:var(--bg); border:1px solid var(--border);
  box-shadow:0 1px 3px rgba(0,0,0,.25);
  transition:transform .2s ease;
}

/* Checked = dark */
#theme-toggle:checked + .switch-ui .knob{ transform:translateX(30px); }

/* Focus ring for a11y */
#theme-toggle:focus-visible + .switch-ui{ outline:2px solid var(--link); outline-offset:2px; }

/* Ensure nav layout still works */
#main-nav .container{ display:flex; align-items:center; gap:12px; }
#menu{ flex:1 1 auto; }

/* Pill switch: fixed track, absolute icons, correct travel */
.theme-switch{ margin-left:auto; display:flex; align-items:center; }

/* hide native checkbox but keep focusability */
#theme-toggle{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}

/* track */
.switch-ui{
  --h:28px; --w:64px; --pad:4px; --knob:24px;
  position:relative; display:inline-block;
  width:var(--w); height:var(--h); padding:0;
  border-radius:9999px; cursor:pointer; user-select:none;
  background:var(--card); border:1px solid var(--border);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.15);
}

/* kill theme's gear sprite */
.switch-ui::before{ content:none !important; }

/* icons positioned at ends */
.switch-ui i{
  position:absolute; top:50%; transform:translateY(-50%);
  font-size:14px; color:var(--muted); pointer-events:none;
}
.switch-ui .fa-sun{ left:8px; }
.switch-ui .fa-moon{ right:8px; }

/* knob */
.switch-ui .knob{
  position:absolute; top:50%; left:var(--pad);
  width:var(--knob); height:var(--knob); translate:0 -50%;
  border-radius:9999px; background:var(--bg);
  border:1px solid var(--border); box-shadow:0 1px 3px rgba(0,0,0,.25);
  transition:transform .2s ease;
}

/* travel distance = track width - knob - 2*pad - 2*border(≈0) */
#theme-toggle:checked + .switch-ui .knob{
  transform:translateX(calc(var(--w) - var(--knob) - (var(--pad) * 2))) translateY(-50%);
}

/* focus ring */
#theme-toggle:focus-visible + .switch-ui{
  outline:2px solid var(--link); outline-offset:2px;
}

/* ensure nav still lays out */
#main-nav .container{ display:flex; align-items:center; gap:12px; }
#menu{ flex:1 1 auto; }

/* Pill switch: fixed track, overflow hidden, border-safe travel */
.theme-switch{ margin-left:auto; display:flex; align-items:center; }
.theme-switch::before{ content:none !important; } /* kill theme gear if any */

/* hide native checkbox but keep focusability */
#theme-toggle{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}

/* track */
.switch-ui{
  --h:28px; --w:64px; --pad:4px; --knob:24px;
  position:relative; display:inline-block; box-sizing:border-box;
  width:var(--w); height:var(--h);
  border-radius:9999px; cursor:pointer; user-select:none;
  background:var(--card); border:1px solid var(--border);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.15);
  overflow:hidden;                               /* keep knob inside */
}
.switch-ui::before{ content:none !important; }   /* kill theme pseudo */

/* icons at the ends */
.switch-ui i{
  position:absolute; top:50%; transform:translateY(-50%);
  font-size:14px; color:var(--muted); pointer-events:none;
}
.switch-ui .fa-sun{ left:8px; }
.switch-ui .fa-moon{ right:8px; }

/* knob — use left/right instead of translateX */
.switch-ui .knob{
  position:absolute; top:50%; left:var(--pad); right:auto;
  width:var(--knob); height:var(--knob); transform:translateY(-50%);
  border-radius:9999px; background:var(--bg);
  border:1px solid var(--border); box-shadow:0 1px 3px rgba(0,0,0,.25);
  transition:left .2s ease, right .2s ease, background .2s ease, border-color .2s ease;
}

/* checked = move knob to the far right, no math */
#theme-toggle:checked + .switch-ui .knob{
  left:auto; right:var(--pad);
}

/* focus ring */
#theme-toggle:focus-visible + .switch-ui{ outline:2px solid var(--link); outline-offset:2px; }

/* keep nav layout */
#main-nav .container{ display:flex; align-items:center; gap:12px; }
#menu{ flex:1 1 auto; }

/* kill any legacy pseudo-icons tied to the old button id */
#theme-toggle::before,
.theme-toggle::before,
.switch-ui::before{ content:none !important; }

/* fixed-size pill, keep contents inside */
.switch-ui{
  --h:28px; --w:64px; --pad:4px; --knob:24px;
  position:relative; display:inline-block; box-sizing:border-box;
  width:var(--w); height:var(--h); overflow:hidden;
  border-radius:9999px; cursor:pointer; user-select:none;
  background:var(--card); border:1px solid var(--border);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.15);
}

/* icons at ends */
.switch-ui i{
  position:absolute; top:50%; transform:translateY(-50%);
  font-size:14px; color:var(--muted); pointer-events:none;
}
.switch-ui .fa-sun{ left:8px; }
.switch-ui .fa-moon{ right:8px; }

/* knob: use left/right, not translateX; force vertical centering */
.switch-ui .knob{
  position:absolute; top:50%; left:var(--pad); right:auto;
  width:var(--knob); height:var(--knob);
  transform:translateY(-50%) !important;  /* override any prior translate */
  translate:none !important;
  border-radius:9999px; background:#000000ac;   /* white for contrast in dark */
  border:1px solid rgba(0,0,0,.18);
  box-shadow:0 1px 3px rgba(0,0,0,.25);
  transition:left .2s ease, right .2s ease;
  z-index:1;
}

/* move knob to right in dark (checked) */
#theme-toggle:checked + .switch-ui .knob{
  left:auto; right:var(--pad);
}

/* focus ring */
#theme-toggle:focus-visible + .switch-ui{
  outline:2px solid var(--link); outline-offset:2px;
}

/* track animates softly */
.switch-ui{
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

/* icons fade with theme */
.switch-ui i{ transition: color .2s ease; }

/* knob: theme-aware colors + smooth slide */
.switch-ui .knob{
  background: var(--knob-bg);
  border: 1px solid var(--knob-border);
  transition:
    left .22s ease, right .22s ease,
    background .22s ease, border-color .22s ease,
    box-shadow .22s ease;
}

/* respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .switch-ui,
  .switch-ui i,
  .switch-ui .knob{ transition: none !important; }
}

/* Theme-aware knob colors, forced over old rules */
.switch-ui .knob{
  background: var(--knob-bg) !important;
  border: 1px solid var(--knob-border) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.35);
}

/* Force knob colors per theme */
html[data-theme="light"] .switch-ui .knob{
  background:#E6EBF2 !important;   /* light: slightly gray */
  border:1px solid #C8D1DC !important;
}
html[data-theme="dark"] .switch-ui .knob{
  background:#373434 !important;   /* dark: lighter than track */
  border:1px solid rgba(255, 255, 255, 0.178) !important;
}

/* Resize knob to be slightly smaller than track */
.switch-ui .knob {
  width: 20px !important;      /* adjust as needed */
  height: 20px !important;     /* keep it square */
  transition: left .22s ease, right .22s ease,
              background .18s ease, border-color .18s ease;
}

/* Dark mode: remove white strip behind page titles */
html[data-theme="dark"] body .entry-header,
html[data-theme="dark"] body .single .entry-header,
html[data-theme="dark"] body .page .entry-header,
html[data-theme="dark"] body .hentry .entry-header {
  background: var(--card) !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* In case the theme draws decorative rules via pseudo elements */
html[data-theme="dark"] .entry-header::before,
html[data-theme="dark"] .entry-header::after {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Title color inside that header */
html[data-theme="dark"] .entry-header h1.entry-title,
html[data-theme="dark"] .page-title {
  color: var(--fg) !important;
  text-shadow: none !important;
}

/* Dark: kill the white title strip and use theme colors */
html[data-theme="dark"] .page-title-wrap,
html[data-theme="dark"] .entry-header{
  background: var(--card) !important;
  border-color: var(--border) !important;
  box-shadow: none !important;
}

/* Dark: title text color */
html[data-theme="dark"] .page-title,
html[data-theme="dark"] h1.entry-title,
html[data-theme="dark"] .page-title-wrap .page-title{
  color: var(--fg) !important;
  text-shadow: none !important;
}

/* ===== Fix static-page title band in dark mode ===== */
html[data-theme="dark"] .entry-header,
html[data-theme="dark"] .entry-header .container,
html[data-theme="dark"] .entry-header .wrap,
html[data-theme="dark"] .page-title-wrap,
html[data-theme="dark"] .page-title-area,
html[data-theme="dark"] .page-header,
html[data-theme="dark"] .post-header {
  background: var(--card) !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* If the theme paints decorative lines with pseudo elements */
html[data-theme="dark"] .entry-header::before,
html[data-theme="dark"] .entry-header::after,
html[data-theme="dark"] .page-title-wrap::before,
html[data-theme="dark"] .page-title-wrap::after {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Title text in that band */
html[data-theme="dark"] .entry-header h1.entry-title,
html[data-theme="dark"] .page-title,
html[data-theme="dark"] h1.entry-title {
  color: var(--fg) !important;
  text-shadow: none !important;
  background: transparent !important;
}

/* Dark mode: kill the white title band on static pages */
html[data-theme="dark"] :is(
  .entry-header,
  .page-title-wrap,
  .page-header,
  .post-header,
  .title,
  .header-title,
  .title-container,
  .page-title
){
  background: var(--card) !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Catch generic article headers too */
html[data-theme="dark"] article > header{
  background: var(--card) !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Make sure the text itself is the normal foreground, no effects */
html[data-theme="dark"] :is(.entry-header, .page-title-wrap, article > header)
  :is(h1.entry-title, .page-title){
  color: var(--fg) !important;
  text-shadow: none !important;
  background: transparent !important;
}

/* In case the theme draws decorative lines on the band */
html[data-theme="dark"] :is(.entry-header, .page-title-wrap)::before,
html[data-theme="dark"] :is(.entry-header, .page-title-wrap)::after{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Smooth slide/fade (keeps your current motion settings) */
.switch-ui .knob{
  transition:left .35s ease, right .35s ease,
             background .18s ease, border-color .18s ease !important;
}

/* base knob */
.switch-ui .knob{
  left:var(--pad);                    /* numeric value */
  right:auto;                         /* never changes */
  border-radius:9999px;
  /* your colors… */
  transition:
    left .28s ease,                   /* <-- animates smoothly */
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

/* checked = move knob to the far right (still numeric) */
#theme-toggle:checked + .switch-ui .knob{
  left:calc(var(--w) - var(--knob) - var(--pad));  /* numeric -> numeric */
  right:auto;                                      /* unchanged */
}

/* Dark: remove light divider under excerpt/share row */
html[data-theme="dark"] .article-list .entry-share-row,
html[data-theme="dark"] .article-list .entry-meta-bar{
  background: var(--card) !important;
  border-top-color: var(--border) !important;
  border-bottom-color: var(--border) !important;
  box-shadow: none !important;
}

/* make sure the card itself doesn't reintroduce a white line */
html[data-theme="dark"] .article-list .article-item > article{
  border-color: var(--border) !important;
  box-shadow: none !important;
}
