:root{
  /* Palette: emerald (default) */
  --green-900:#06311a;
  --green-800:#0a4a28;
  --green-700:#0e7a3d;
  --green-600:#138a48;
  --green-500:#1ea35a;
  --green-100:#e7f3ec;
  --green-50:#f3f8f4;

  --gold:#d6a83a;
  --gold-soft:#e6c97a;

  --ink-900:#0f1411;
  --ink-700:#2b332e;
  --ink-500:#5a635d;
  --ink-400:#828a84;
  --ink-300:#aab1ac;
  --ink-200:#d6dad7;
  --ink-100:#ececea;
  --paper:#fbfaf6;
  --paper-2:#f5f3ec;
  --white:#ffffff;

  --primary:var(--green-700);
  --primary-dark:var(--green-800);
  --accent:var(--gold);

  --radius:14px;
  --radius-lg:22px;
  --radius-pill:999px;

  --shadow-1:0 1px 0 rgba(15,20,17,.04), 0 1px 2px rgba(15,20,17,.04);
  --shadow-2:0 4px 24px -8px rgba(15,20,17,.10), 0 2px 6px -2px rgba(15,20,17,.06);
  --shadow-3:0 24px 60px -20px rgba(15,20,17,.25), 0 8px 24px -8px rgba(15,20,17,.12);

  --container:1240px;
  --gutter:clamp(20px, 4vw, 56px);

  --t-sm:.875rem;
  --t-base:1rem;
  --t-lg:1.125rem;
  --t-xl:1.25rem;
  --t-2xl:1.625rem;
  --t-3xl:2.25rem;
  --t-4xl:3rem;
  --t-display:clamp(2.5rem, 5.2vw, 4.25rem);
}

html[data-palette="olive"]{
  --green-900:#1f2611;
  --green-800:#2e3a17;
  --green-700:#4a5d21;
  --green-600:#5d752a;
  --green-500:#7a9a3a;
  --green-100:#eef1e0;
  --green-50:#f6f8ee;
  --gold:#c8a14a;
}
html[data-palette="deep"]{
  --green-900:#012d20;
  --green-800:#03402d;
  --green-700:#055840;
  --green-600:#0a6a52;
  --green-500:#119370;
  --green-100:#e0efe9;
  --green-50:#f1f7f5;
  --gold:#cf9a2a;
}

html[data-corner="sharp"]{ --radius:6px; --radius-lg:8px; }
html[data-corner="round"]{ --radius:20px; --radius-lg:28px; }

html[data-density="cozy"]{ --gutter:clamp(16px, 3vw, 36px); }
html[data-density="airy"]{ --gutter:clamp(28px, 6vw, 96px); }

*{ box-sizing:border-box; }
body.dulido{
  margin:0;
  font-family:'Plus Jakarta Sans', system-ui, -apple-system, Segoe UI, sans-serif;
  color:var(--ink-900);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-size:16px;
  line-height:1.55;
}
.dulido img{ max-width:100%; display:block; }
.dulido a{ color:inherit; text-decoration:none; }
.dulido button{ font:inherit; cursor:pointer; }

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter);
}

.kicker{
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ink-500);
  font-weight:500;
}
.kicker .dot{
  display:inline-block; width:6px; height:6px; border-radius:50%;
  background:var(--primary); vertical-align:middle; margin-right:8px;
  transform:translateY(-1px);
}
.section-title{
  font-family:'Fraunces', Georgia, serif;
  font-weight:500;
  font-size:clamp(2rem, 3.6vw, 3rem);
  letter-spacing:-.02em;
  line-height:1.05;
  margin:.4rem 0 0;
  color:var(--ink-900);
  text-wrap:balance;
}
.section-lead{
  max-width:60ch;
  color:var(--ink-500);
  font-size:var(--t-lg);
  margin:.85rem 0 0;
  text-wrap:pretty;
}

/* ============= TOP UTILITY BAR ============= */
.topbar{
  background:var(--green-900);
  color:#cfe7d6;
  font-size:.82rem;
}
.topbar .container{
  display:flex; align-items:center; justify-content:space-between;
  height:38px; gap:24px;
}
.topbar a{ color:#cfe7d6; opacity:.85; transition:opacity .15s; }
.topbar a:hover{ opacity:1; }
.topbar .left{ display:flex; gap:24px; align-items:center; }
.topbar .left span{ display:inline-flex; align-items:center; gap:8px; }
.topbar .right{ display:flex; gap:16px; align-items:center; }
.topbar svg{ width:14px; height:14px; opacity:.8; }
html[data-topbar="off"] .topbar{ display:none; }

/* ============= HEADER / NAV ============= */
.site-header{
  position:sticky; top:0; z-index:40;
  background:rgba(251,250,246,.86);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid rgba(15,20,17,.06);
  overflow-x:clip; /* hidden nested flyouts sit past the right edge and would widen the page; open ones flip left in main.js */
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  height:84px;
}
.brand{
  display:flex; align-items:center; gap:14px;
}
.brand .mark{
  width:48px; height:48px; border-radius:12px;
  display:grid; place-items:center;
  background:radial-gradient(circle at 30% 30%, #ffffff 0%, #f3f0e6 70%);
  box-shadow:var(--shadow-1);
  overflow:hidden;
}
.brand .mark img{ width:42px; height:42px; object-fit:contain; }
.brand .wordmark{ display:flex; flex-direction:column; line-height:1.1; }
.brand .wordmark .l1{ font-family:'Fraunces',serif; font-size:1.05rem; font-weight:600; letter-spacing:.01em; }
.brand .wordmark .l2{ font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-500); margin-top:3px; }

.primary-nav{ display:flex; }
.menu{ display:flex; align-items:center; gap:6px; list-style:none; padding:0; margin:0; }
.menu > li{ position:relative; list-style:none; }
.menu li{ list-style:none; }
.menu > li > a,
.menu a{
  font-size:.92rem; font-weight:500; color:var(--ink-700);
  padding:10px 14px; border-radius:10px;
  transition:background .15s, color .15s;
  position:relative;
  display:inline-flex; align-items:center;
}
.menu > li > a:hover{ color:var(--primary); background:var(--green-50); }
.menu > li.current-menu-item > a,
.menu > li.current_page_item > a,
.menu > li > a.active{ color:var(--primary); }
.menu > li.current-menu-item > a::before,
.menu > li.current_page_item > a::before,
.menu > li > a.active::before{
  content:""; position:absolute; left:14px; right:14px; bottom:4px;
  height:2px; background:var(--primary); border-radius:2px;
}
.menu .has-caret::after,
.menu .menu-item-has-children > a::after{
  content:""; display:inline-block; width:6px; height:6px;
  border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px); margin-left:6px;
  opacity:.6;
}

/* Sub-menu (dropdown) */
.menu .sub-menu{
  position:absolute; top:100%; left:0;
  min-width:220px;
  background:#fff;
  border:1px solid var(--ink-100);
  border-radius:var(--radius);
  box-shadow:var(--shadow-2);
  padding:8px;
  margin:0; list-style:none;
  display:flex; flex-direction:column; gap:2px;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:50;
}
.menu .menu-item-has-children:hover > .sub-menu,
.menu .menu-item-has-children:focus-within > .sub-menu,
.menu .menu-item-has-children.is-open > .sub-menu{
  opacity:1; visibility:visible; transform:translateY(0);
}
/* header container carries Divi's `.nav` class, so undo its `.nav li ul` / `.nav li li` dropdown rules */
.dulido .menu .sub-menu{ width:auto; border-color:var(--ink-100); }
.menu .sub-menu li{ width:100%; padding:0; margin:0; line-height:1.4; }
.menu .sub-menu a{
  display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%;
  padding:9px 12px; border-radius:8px;
  font-size:.88rem; color:var(--ink-700);
  white-space:normal;
}
.menu .sub-menu a:hover{ background:var(--green-50); color:var(--primary); }
.menu .sub-menu .menu-item-has-children > a::after{ transform:rotate(-45deg); margin-left:0; flex-shrink:0; }
/* flyouts sit flush against the parent panel so the pointer never crosses a gap */
.menu .sub-menu .sub-menu{ top:-9px; left:100%; margin-left:0; }
.menu .sub-menu .opens-left > .sub-menu{ left:auto; right:100%; }

.nav-actions{ display:flex; align-items:center; gap:10px; }
.icon-btn{
  width:40px; height:40px; border-radius:10px; border:1px solid var(--ink-100);
  background:var(--white); display:grid; place-items:center; color:var(--ink-700);
  transition:border-color .15s, color .15s;
}
.icon-btn:hover{ border-color:var(--ink-200); color:var(--primary); }
.icon-btn svg{ width:18px !important; height:18px !important; flex-shrink:0; }

/* Global SVG safety for child theme — Divi parent uses width:100% on svg */
.dulido .nav-actions svg,
.dulido .topbar svg,
.dulido .site-header svg,
.dulido .menu svg,
.dulido .footer svg,
.dulido .btn svg,
.dulido .icon-btn svg,
.dulido .search-modal svg{
  width:18px; height:18px; flex-shrink:0;
}
.dulido .topbar svg{ width:14px; height:14px; }
.dulido .btn .arrow{ width:14px; height:14px; }

.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 18px; border-radius:var(--radius-pill);
  font-weight:600; font-size:.92rem;
  border:1px solid transparent;
  transition:transform .12s ease, background .15s, color .15s, border-color .15s;
}
.btn-primary{
  background:var(--primary); color:#fff;
}
.btn-primary:hover{ background:var(--primary-dark); transform:translateY(-1px); color:#fff; }
.btn-ghost{ background:transparent; color:var(--ink-900); border-color:var(--ink-200); }
.btn-ghost:hover{ border-color:var(--ink-900); }
.btn-on-dark{ background:#fff; color:var(--green-900); }
.btn-on-dark:hover{ background:var(--paper); }
.btn .arrow{ width:14px; height:14px; }

/* `.dulido a{color:inherit}` and Divi's body line-height:1.7em outrank the plain .btn rules */
.dulido .btn{ line-height:1.2; white-space:nowrap; }
.dulido a.btn-primary,
.dulido a.btn-primary:hover{ color:#fff; }
.dulido a.btn-ghost{ color:var(--ink-900); }
.dulido a.btn-on-dark{ color:var(--green-900); }
.dulido .container{ width:auto; } /* Divi sets .container{width:80%} */
.menu a{ white-space:nowrap; }
.dulido :focus-visible{ outline:2px solid var(--primary); outline-offset:2px; }
/* Site Additional CSS justifies every <p>; keep that for article text only */
.dulido :not(.article__body) > p{ text-align:start; }

.mobile-toggle{ display:none; }

/* 6 menu items + brand + actions need ~1180px; collapse before they wrap */
@media (max-width: 1200px){
  .site-header{ overflow-x:visible; } /* flyouts don't exist here; the dropdown panel hangs below the header box and iOS Safari mis-hit-tests taps inside a clipped sticky header */
  .primary-nav{
	display:none;
	position:absolute; left:0; right:0; top:100%;
	background:#fff; padding:12px var(--gutter); border-top:1px solid var(--ink-100);
	box-shadow:var(--shadow-2);
  }
  .primary-nav.is-mobile-open{ display:block; }
  .primary-nav .menu{ flex-direction:column; align-items:stretch; gap:2px; }
  .primary-nav .menu > li{ width:100%; }
  .primary-nav .menu > li > a,
  .primary-nav .menu a{ width:100%; padding:12px 14px; }
  .primary-nav .sub-menu{
	position:static; opacity:1; visibility:visible; transform:none;
	box-shadow:none; border:none; padding:4px 0 4px 18px;
	display:none;
  }
  .primary-nav .menu-item-has-children.is-open > .sub-menu{ display:flex; }
  .primary-nav .sub-menu .sub-menu{ margin-left:0; left:auto; }
  .mobile-toggle{ display:grid; }
  .nav{ height:68px; }
}

/* Phones: topbar keeps the phone number, header keeps logo + actions in one row */
@media (max-width: 640px){
  .topbar .left span:nth-child(2),
  .topbar .right{ display:none; }
  .brand{ gap:10px; min-width:0; }
  .brand .wordmark .l2{ display:none; }
  .nav-actions{ gap:6px; }
  .btn-psb{ padding:9px 14px; }
  .btn-psb .arrow{ display:none; }
}
@media (max-width: 400px){
  .brand .wordmark{ display:none; }
}

/* ============= BERITA / NEWS ============= */
.news{ padding:clamp(72px, 9vw, 130px) 0; background:var(--paper); }
.news .head{ margin-bottom:44px; }

.news-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:28px;
}
@media (max-width:960px){ .news-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .news-grid{ grid-template-columns:1fr; } }

.news-card{
  background:#fff;
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--ink-100);
  display:flex; flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s;
}
.news-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-2);
  border-color:transparent;
}
.news-card .ph{
  aspect-ratio:16/10;
  position:relative; overflow:hidden;
  background:var(--ink-100);
}
.news-card .ph img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.news-card .ph::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(0,0,0,.35) 100%);
}
.news-card .ph .tag{
  position:absolute; left:14px; top:14px; z-index:2;
  background:rgba(255,255,255,.92); backdrop-filter:blur(6px);
  font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--green-800); font-weight:600;
  padding:5px 9px; border-radius:6px;
}
.news-card .ph .date{
  position:absolute; right:14px; bottom:12px; z-index:2;
  color:#fff; font-size:.78rem; letter-spacing:.04em;
  display:flex; align-items:center; gap:8px;
}
.news-card .ph .ph-art{
  position:absolute; inset:0;
}

.ph-art.a{ background: linear-gradient(135deg,#3d6b3a,#0e7a3d 55%,#062714),
  repeating-linear-gradient(45deg, rgba(255,255,255,.05) 0 2px, transparent 2px 12px); background-blend-mode:overlay; }
.ph-art.b{ background: linear-gradient(135deg,#0c5a83,#093a55 60%,#06243a),
  repeating-linear-gradient(-45deg, rgba(255,255,255,.05) 0 2px, transparent 2px 12px); background-blend-mode:overlay; }
.ph-art.c{ background: linear-gradient(135deg,#7a5b2c,#52391a 60%,#2d1f0e),
  repeating-linear-gradient(45deg, rgba(255,255,255,.05) 0 2px, transparent 2px 12px); background-blend-mode:overlay; }
.ph-art.d{ background: linear-gradient(135deg,#2a623d,#155a36 60%,#0a3a22),
  repeating-linear-gradient(-30deg, rgba(255,255,255,.05) 0 2px, transparent 2px 12px); background-blend-mode:overlay; }
.ph-art.e{ background: linear-gradient(135deg,#4b6b3b,#2d4422 60%,#19271a),
  repeating-linear-gradient(60deg, rgba(255,255,255,.05) 0 2px, transparent 2px 12px); background-blend-mode:overlay; }
.ph-art.f{ background: linear-gradient(135deg,#603d2c,#3a2418 60%,#1d130b),
  repeating-linear-gradient(-60deg, rgba(255,255,255,.05) 0 2px, transparent 2px 12px); background-blend-mode:overlay; }

.ph .placeholder-text{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.12em;
  color:rgba(255,255,255,.55); text-align:center; text-transform:uppercase;
}

.news-card .body{
  padding:22px 22px 24px;
  display:flex; flex-direction:column; gap:12px;
  flex:1;
}
.news-card h3{
  font-family:'Fraunces',serif; font-weight:500;
  font-size:1.18rem; line-height:1.25; letter-spacing:-.01em;
  margin:0; color:var(--ink-900); text-wrap:balance;
}
.news-card h3 a{ color:inherit; }
.news-card h3 a:hover{ color:var(--primary); }
.news-card p{
  margin:0; color:var(--ink-500); font-size:.92rem; line-height:1.55;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.news-card .foot{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:auto; padding-top:14px;
  border-top:1px dashed var(--ink-100);
  font-size:.82rem;
}
.news-card .author{ color:var(--ink-500); }
.news-card .read{
  color:var(--primary); font-weight:600;
  display:inline-flex; align-items:center; gap:6px;
}
.news-card .read svg{ width:12px; height:12px; transition:transform .2s; }
.news-card:hover .read svg{ transform:translateX(3px); }

.news .more-row{
  display:flex; justify-content:center; margin-top:48px;
}

/* crumbs (articles, pages, archives) */
.article__crumbs{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  font-size:var(--t-sm); color:var(--ink-400);
}
.dulido .article__crumbs a{ color:var(--ink-500); }
.dulido .article__crumbs a:hover{ color:var(--primary); }

/* archives, search, 404 (index.php) */
.news.archive{ padding:clamp(28px, 4vw, 48px) 0 clamp(56px, 7vw, 96px); }
.archive .head{ margin:18px 0 clamp(28px, 4vw, 44px); }
.archive__search{ display:flex; gap:10px; max-width:520px; margin-top:20px; }
.archive__search input{
  flex:1; min-width:0; padding:12px 16px; border:1px solid var(--ink-200); border-radius:var(--radius-pill);
  background:#fff; font:inherit; color:var(--ink-900);
}
.archive__sub{ margin:0 0 20px; font-family:'Fraunces', Georgia, serif; font-weight:500; font-size:1.4rem; color:var(--ink-900); }
.archive .pagination{ margin-top:48px; }
.archive .nav-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.archive .page-numbers{
  display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 14px;
  border:1px solid var(--ink-100); border-radius:var(--radius-pill); background:#fff; color:var(--ink-700); font-weight:600;
}
.archive a.page-numbers:hover{ border-color:var(--primary); color:var(--primary); }
.archive .page-numbers.current{ background:var(--primary); border-color:var(--primary); color:#fff; }
.archive .page-numbers.dots{ border:0; background:none; }
.screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }

/* ============= FOOTER ============= */
.site-footer{
  background:var(--ink-900); color:#bcc4be;
  padding:64px 0 24px;
}
.footer-grid{
  display:grid; grid-template-columns: 1.3fr .8fr .8fr .8fr; gap:48px;
}
@media (max-width:860px){ .footer-grid{ grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:520px){ .footer-grid{ grid-template-columns:1fr; } }
.site-footer .brand .l1{ color:#fff; }
.site-footer .brand .l2{ color:#7e8580; }
.site-footer p.about{
  margin-top:18px; font-size:.92rem; line-height:1.6; color:#8a928c;
  max-width:38ch;
}
.site-footer h4{
  font-family:'JetBrains Mono', monospace; font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase; color:#fff;
  margin:0 0 16px; font-weight:500;
}
.site-footer ul{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.site-footer ul a{ font-size:.92rem; color:#a9b1ac; transition:color .15s; }
.site-footer ul a:hover{ color:#fff; }
.site-footer .social{ display:flex; gap:10px; margin-top:18px; }
.site-footer .social a{
  width:38px; height:38px; border-radius:10px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
  display:grid; place-items:center; color:#cfd5d0;
}
.site-footer .social a:hover{ background:var(--primary); color:#fff; border-color:transparent;}
.site-footer .social svg{ width:16px; height:16px; }

.footer-bottom{
  margin-top:48px; padding-top:24px; border-top:1px solid rgba(255,255,255,.08);
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:.82rem; color:#7e8580;
}
.footer-bottom a{ color:inherit; text-decoration:none; }
.footer-bottom a:hover{ color:#fff; text-decoration:underline; }

/* ============= SEARCH MODAL ============= */
.search-modal{
  position:fixed !important;
  inset:0 !important;
  top:0 !important; left:0 !important; right:0 !important; bottom:0 !important;
  z-index:99999 !important;
  display:none;
  align-items:flex-start; justify-content:center;
  padding:clamp(60px, 12vh, 140px) var(--gutter) var(--gutter);
  pointer-events:auto !important;
}
.search-modal.is-open{ display:flex !important; }
.search-modal__backdrop{
  position:absolute; inset:0;
  background:rgba(6,49,26,.55);
  backdrop-filter:blur(6px);
  animation:dulido-fade-in .18s ease;
}
.search-modal__panel{
  position:relative; z-index:1;
  width:min(720px, 100%);
  background:#ffffff !important;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-3);
  padding:clamp(20px, 3vw, 32px);
  animation:dulido-pop-in .22s cubic-bezier(.2,.8,.2,1);
}
.search-modal__label{
  display:block; font-family:'JetBrains Mono',monospace;
  font-size:.7rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-500); margin-bottom:14px;
}
.search-modal__row{
  display:flex !important; flex-direction:row !important;
  gap:10px; align-items:center;
  border:1.5px solid var(--ink-200); border-radius:var(--radius-pill);
  padding:6px 8px 6px 18px;
  background:#ffffff;
  transition:border-color .15s, box-shadow .15s;
}
.search-modal__row:focus-within{
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(14,122,61,.12);
}
.search-modal__icon{ width:18px; height:18px; color:var(--ink-500); flex-shrink:0; }
.search-modal__input{
  flex:1; border:none; outline:none; background:transparent;
  font:inherit; font-size:1.02rem; color:var(--ink-900);
  padding:10px 4px;
}
.search-modal__input::placeholder{ color:var(--ink-400); }
.search-modal__submit{ padding:9px 18px; font-size:.88rem; }
.search-modal__hint{
  margin:14px 4px 0; font-size:.78rem; color:var(--ink-500);
}
.search-modal__hint kbd{
  display:inline-block; padding:1px 6px; border:1px solid var(--ink-200);
  border-bottom-width:2px; border-radius:5px;
  font-family:'JetBrains Mono',monospace; font-size:.72rem;
  background:var(--paper-2); color:var(--ink-700);
}

/* Algolia autocomplete dropdown polish (overrides defaults if active) */
.algolia-autocomplete{ width:100%; }
.algolia-autocomplete .aa-dropdown-menu{
  width:100% !important;
  margin-top:10px;
  background:#fff;
  border:1px solid var(--ink-100);
  border-radius:var(--radius);
  box-shadow:var(--shadow-2);
  padding:6px;
}
.algolia-autocomplete .aa-suggestion{
  padding:10px 14px; border-radius:10px;
  cursor:pointer; font-size:.92rem;
}
.algolia-autocomplete .aa-suggestion.aa-cursor,
.algolia-autocomplete .aa-suggestion:hover{
  background:var(--green-50); color:var(--primary);
}
.algolia-autocomplete .aa-suggestion em{
  font-style:normal; font-weight:600; color:var(--primary);
}

@keyframes dulido-fade-in{ from{ opacity:0; } to{ opacity:1; } }
@keyframes dulido-pop-in{
  from{ opacity:0; transform:translateY(-12px) scale(.97); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}

/* --- back to top: appears after a screen of scrolling --- */
.dulido .to-top{
  position:fixed; right:20px; bottom:20px; z-index:45;
  width:46px; height:46px; padding:0; border:0; border-radius:50%;
  background:var(--green-800); color:#fff; cursor:pointer;
  box-shadow:0 8px 24px rgba(6,49,26,.28);
  display:grid; place-items:center;
  opacity:0; transform:translateY(12px); pointer-events:none;
  transition:opacity .25s ease, transform .25s ease, background .15s;
}
.dulido .to-top[hidden]{ display:grid; } /* hidden only drives the fade; element stays in the layout */
.dulido .to-top.is-shown{ opacity:1; transform:none; pointer-events:auto; }
.dulido .to-top:hover{ background:var(--green-700); }
.dulido .to-top svg{ width:22px; height:22px; }
@media (max-width:640px){ .dulido .to-top{ right:14px; bottom:14px; width:42px; height:42px; } }
@media (prefers-reduced-motion: reduce){ .dulido .to-top{ transition:none; } }
