/* =============================================================
   ECHR Lawyers — "Emerald Chambers" reskin (child override)
   Foundation layer: fonts, tokens, type, colours, header/nav.
   Non-destructive: overrides only. Rollback = dequeue this file.
   ============================================================= */

/* ---------- 1. Self-hosted fonts (GDPR-safe) ---------- */
@font-face{
  font-family:'Fraunces';
  src:url('assets/fonts/Fraunces.woff2') format('woff2');
  font-weight:400 700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'InterEm';
  src:url('assets/fonts/Inter.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}

/* ---------- 2. Design tokens + remap of theme colour presets ---------- */
:root{
  --em-bg:#F6F5F0;      --em-ink:#22302B;     --em-muted:#586860;
  --em-brand:#123329;   --em-brand-2:#1c4a3c; --em-brand-ink:#e4ede8;
  --em-accent:#B8985A;  --em-accent-d:#9d7f45;--em-accent-soft:#ece2cf;
  --em-btn:#0f8f5a;     --em-btn-h:#0c7a4c;   /* brighter emerald for CTAs */
  --em-card:#ffffff;    --em-line:#e0e1d6;    --em-soft:#EEEDE5;
  --em-radius:8px;      --em-radius-lg:14px;
  --em-serif:'Fraunces',Georgia,'Times New Roman',serif;
  --em-sans:'InterEm',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;

  /* remap the theme's own palette variables → Emerald */
  --wp--preset--color--blue:#123329;
  --wp--preset--color--links:#1c5c4a;
  --wp--preset--color--link-headings:#123329;
  --wp--preset--color--text-primary:#22302B;
  --wp--preset--color--text-secondary:#586860;
  --wp--preset--color--silver-blue:#EAEDE4;
  --wp--preset--color--gray:#F1F1EB;
  --wp--preset--color--purple:#123329;
}

/* ---------- 3. Base typography & background ---------- */
body,.site,.wp-site-blocks{
  background-color:var(--em-bg);
  color:var(--em-ink);
  font-family:var(--em-sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body{font-size:17px;line-height:1.65;}
p{max-width:70ch;}
.entry-content p{color:var(--em-ink);}

h1,h2,h3,h4,h5,h6,
.entry-title,.wp-block-heading,.site-title,
.widget-title,.page-title,.section-title{
  font-family:var(--em-serif) !important;
  color:var(--em-brand);
  letter-spacing:-.015em;
  line-height:1.12;
  font-weight:600;
}
h1,.entry-title{font-size:clamp(2rem,4.4vw,3.25rem);font-weight:600;}
h2{font-size:clamp(1.6rem,3vw,2.25rem);}
h3{font-size:clamp(1.3rem,2.2vw,1.6rem);}
h4{font-size:1.2rem;}

a{color:var(--em-brand-2);}
a:hover{color:var(--em-accent-d);}
:root :where(p a:where(:not(.wp-element-button))){text-decoration-color:var(--em-accent);text-underline-offset:2px;}

/* subtle brass accent for lead / eyebrow classes if present */
.eyebrow,.kicker,.pre-heading{color:var(--em-accent) !important;letter-spacing:.12em;text-transform:uppercase;font-weight:600;font-family:var(--em-sans) !important;}

/* ---------- 4. Buttons ---------- */
:root :where(.wp-element-button,.wp-block-button__link),
.wp-block-button__link,.btn,input[type=submit],
button.call-to-action,.call-to-action>a,.call-to-action{
  border-radius:var(--em-radius);
  border:1px solid transparent;
  font-family:var(--em-sans);
  font-weight:600;
  letter-spacing:.01em;
  transition:background-color .16s ease,color .16s ease,transform .16s ease;
}
/* fill buttons → Emerald (theme sets blue via --blue in later-loading global-styles,
   so we need !important; exclude outline style which stays transparent) */
.wp-block-button:not(.is-style-outline)>.wp-block-button__link,
.wp-block-button__link:not(.is-style-outline),
.btn:not(.is-style-outline),input[type=submit],
button.call-to-action,.call-to-action>a{
  background-color:var(--em-btn) !important;
  color:#fff !important;
}
.wp-block-button:not(.is-style-outline)>.wp-block-button__link:hover,
.wp-block-button__link:not(.is-style-outline):not(.slider-button):hover,
.btn:not(.is-style-outline):hover,input[type=submit]:hover,
button.call-to-action:hover,.call-to-action>a:hover{
  background-color:var(--em-accent) !important;color:#1a1204 !important;
}
.wp-block-button__link:hover,.btn:hover,input[type=submit]:hover,
button.call-to-action:hover,.call-to-action>a:hover{
  background-color:var(--em-accent);
  color:#1a1204;
  transform:translateY(-1px);
}
/* outline / secondary buttons */
.is-style-outline .wp-block-button__link,.wp-block-button.is-style-outline>.wp-block-button__link{
  background:transparent;color:var(--em-brand);border-color:var(--em-line);
}
.is-style-outline .wp-block-button__link:hover{border-color:var(--em-accent);color:var(--em-accent-d);background:transparent;}

/* fill buttons that carry INLINE blue (style="background-color:#0029e0") → Emerald.
   Attribute-scoped so transparent / outline buttons are left untouched. */
a.wp-block-button__link[style*="0029e0"],
a.wp-block-button__link[style*="0010c7"],
a.wp-block-button__link[style*="0029E0"],
.wp-block-button__link.slider-button{
  background-color:var(--em-btn) !important;
  color:#fff !important;
}
a.wp-block-button__link[style*="0029e0"]:hover,
a.wp-block-button__link[style*="0010c7"]:hover,
.wp-block-button__link.slider-button:hover{
  background-color:var(--em-accent) !important;color:#1a1204 !important;
}

/* ---------- 5. Top utility bar (secondary nav) ---------- */
#top-navigation.top-menu{
  background:var(--em-brand);
  color:var(--em-brand-ink);
  padding:6px 0 !important;
  font-size:13px;
}
#top-navigation,#top-navigation *{color:var(--em-brand-ink);}
#top-navigation a,#top-navigation .social-icon a,#top-navigation li a{color:var(--em-brand-ink) !important;}
#top-navigation a:hover{color:var(--em-accent) !important;}
#top-navigation .header-content-wrapper{align-items:center;}
/* icon contrast on dark-green bar: feather = stroke, brand/social = fill */
#top-navigation svg{color:var(--em-brand-ink) !important;}
#top-navigation .feather,#top-navigation svg[stroke]{stroke:var(--em-brand-ink) !important;}
#top-navigation .social-icon svg,#top-navigation .social-icons svg,#top-navigation .social-icon path{fill:var(--em-brand-ink) !important;}
#top-navigation a:hover .feather,#top-navigation a:hover svg[stroke]{stroke:var(--em-accent) !important;}
#top-navigation a:hover .social-icon svg,#top-navigation .social-icon a:hover svg,#top-navigation .social-icon a:hover path{fill:var(--em-accent) !important;}
/* home-relocated controls sit here (via emerald.js): search + theme toggle */
#top-navigation .em-controls{display:flex;gap:14px;align-items:center;margin-left:16px;}
#top-navigation .em-controls .search-icon svg,#top-navigation .em-controls svg{stroke:var(--em-brand-ink);width:18px;height:18px;}
#top-navigation .em-controls .search-icon:hover svg{stroke:var(--em-accent);}

/* ---------- 6. Main navigation (single row + polish) ---------- */
.main-navigation-container{
  background:#fff;
  border-bottom:1px solid var(--em-line);
  box-shadow:0 1px 0 rgba(18,51,41,.02);
}
/* single-row nav — DESKTOP ONLY (never touch the mobile burger layout) */
@media (min-width:864px){
  .main-navigation-container .header-content-wrapper{
    flex-wrap:nowrap !important;
    gap:26px;
    align-items:center;
  }
  #main-navigation .nav-menu{flex-wrap:nowrap !important;white-space:nowrap;gap:2px;}
}
.main-navigation-container .header-content-wrapper{
  align-items:center;
  padding-top:12px;padding-bottom:12px;
}
/* logo → brand serif + brass mark (align with existing custom css) */
.site-title a{
  font-family:var(--em-serif) !important;
  color:var(--em-brand) !important;
  letter-spacing:.04em !important;
  font-weight:600 !important;
}
.site-title a:hover{color:var(--em-accent) !important;}
.site-title a::before{color:var(--em-accent) !important;}

/* main-nav icons (search, theme toggle, burger) on light bg → dark for contrast */
#main-navigation .search-icon svg,#main-navigation svg,#main-navigation .feather{stroke:var(--em-ink) !important;color:var(--em-ink) !important;}
#main-navigation .search-icon:hover svg,#main-navigation a:hover svg{stroke:var(--em-brand) !important;}
/* ---------- mobile burger: recolour the theme's own lines (don't redraw) ---------- */
@media (max-width:863px){
  .menu-toggle .burger,
  .menu-toggle .burger:before,.menu-toggle .burger:after,
  .menu-toggle .burger::before,.menu-toggle .burger::after{border-bottom-color:var(--em-brand) !important;}
  .menu-toggle{z-index:1100;background:transparent !important;box-shadow:none !important;border:0 !important;}
  /* when the drawer is open, the burger/X sits over green → make it white */
  .toggled .menu-toggle .burger,
  .toggled .menu-toggle .burger:before,.toggled .menu-toggle .burger:after,
  .toggled .menu-toggle .burger::before,.toggled .menu-toggle .burger::after{border-bottom-color:#fff !important;}
}

/* ---------- mobile off-canvas drawer (.slide-menu) — Emerald skin ----------
   The theme opens it via `.toggled .slide-menu`. It ships with color:#fff but
   NO background (white text on light page = invisible) → we give it a solid
   Emerald ground. This is the real mobile navigation on this theme. */
/* IMPORTANT: .slide-menu is the menu CONTAINER — inline horizontal bar on desktop,
   off-canvas drawer on mobile. Only skin it (green ground, white text) on MOBILE.
   On desktop it must stay transparent so the horizontal nav sits on ivory. */
@media (max-width:863px){
  .slide-menu.slide-section{
    background:var(--em-brand) !important;color:#fff !important;
    padding:80px 8px 48px !important;box-shadow:-24px 0 60px -20px rgba(0,0,0,.5);
  }
  #main-navigation .slide-menu,#main-navigation .slide-menu *{color:#fff !important;}
  #main-navigation .slide-menu .nav-menu>li>a,
  #main-navigation .slide-menu .sub-menu li a,
  #main-navigation .slide-menu ul li a{color:#fff !important;}
  #main-navigation .slide-menu svg,#main-navigation .slide-menu .feather{stroke:#fff !important;color:#fff !important;}
  #main-navigation .slide-menu ul li a{padding:11px 16px !important;font-size:16px;font-family:var(--em-sans);line-height:1.4;}
  #main-navigation .slide-menu .nav-menu>li>a:hover,
  #main-navigation .slide-menu .sub-menu li a:hover,
  #main-navigation .slide-menu .current-menu-item>a,
  #main-navigation .slide-menu .current-menu-parent>a{color:var(--em-accent) !important;}
  .slide-menu>ul>li{border-bottom:1px solid rgba(255,255,255,.10);padding:2px 0 !important;}
  .slide-menu .sub-menu{background:rgba(255,255,255,.05) !important;border-radius:10px;margin:2px 8px 10px !important;padding:4px 0 !important;}
  .slide-menu .sub-menu li a{font-size:14.5px;opacity:.9;}
  #main-navigation .slide-menu li.call-to-action>a{
    background:var(--em-accent) !important;color:#1a1204 !important;font-weight:600;border:0 !important;
    border-radius:var(--em-radius);text-align:center;display:block !important;margin:16px !important;padding:13px 18px !important;
  }
  #main-navigation .slide-menu li.call-to-action>a *{color:#1a1204 !important;background:transparent !important;}
  #main-navigation .slide-menu li.call-to-action>a:hover,
  #main-navigation .slide-menu li.call-to-action>a:hover *{background:#fff !important;color:var(--em-brand) !important;}
}

#main-navigation .nav-menu>li>a,.main-navigation ul li a{
  font-family:var(--em-sans) !important;
  font-size:15px !important;
  font-weight:500 !important;
  color:var(--em-ink) !important;
  padding:8px 12px !important;
  white-space:nowrap !important;
  position:relative;
}
#main-navigation .nav-menu>li>a:hover,#main-navigation .nav-menu>li.current-menu-item>a,
#main-navigation .nav-menu>li.current-menu-parent>a{color:var(--em-brand) !important;}
/* kill the theme's own active-item underline (text-decoration / border) — keep only the brass ::after */
#main-navigation .nav-menu>li>a,
#main-navigation .nav-menu>li.current-menu-item>a,
#main-navigation .nav-menu>li.current-menu-parent>a{text-decoration:none !important;border-bottom:0 !important;box-shadow:none !important;}
#main-navigation .nav-menu>li>a::after{content:none !important;}
#main-navigation .nav-menu>li:hover>a::after,
#main-navigation .nav-menu>li.current-menu-item>a::after,
#main-navigation .nav-menu>li.current-menu-parent>a::after{transform:scaleX(1);}

/* Contact CTA button in menu (reveal + style) */
#main-navigation li.call-to-action,#main-navigation .call-to-action{display:list-item !important;margin-left:8px;}
#main-navigation li.call-to-action>a{
  background:var(--em-btn);color:#fff !important;border-radius:var(--em-radius);
  padding:9px 18px !important;font-weight:600 !important;
}
#main-navigation li.call-to-action>a::after{display:none;}
#main-navigation li.call-to-action>a:hover{background:var(--em-accent);color:#1a1204 !important;}

/* ---------- 7. Dropdowns → refined panels / mega feel ---------- */
#main-navigation .sub-menu,.main-navigation .sub-menu{
  background:#fff !important;
  border:1px solid var(--em-line) !important;
  border-top:3px solid var(--em-accent) !important;
  border-radius:0 0 var(--em-radius) var(--em-radius);
  box-shadow:0 24px 48px -24px rgba(18,51,41,.35) !important;
  padding:10px !important;
  min-width:250px;
}
#main-navigation .sub-menu li a{
  font-size:14.5px !important;padding:9px 14px !important;border-radius:6px;color:var(--em-ink) !important;
  white-space:normal !important;
}
#main-navigation .sub-menu li a:hover{background:var(--em-soft) !important;color:var(--em-brand) !important;}
#main-navigation .sub-menu li a::after{display:none;}
/* wide sub-menus (Countries / Violations) → 2 columns */
#main-navigation li#menu-item-658>.sub-menu,
#main-navigation li#menu-item-657>.sub-menu,
#main-navigation li.mega>.sub-menu{
  min-width:440px;columns:2;column-gap:8px;
}
#main-navigation li#menu-item-658>.sub-menu>li,
#main-navigation li#menu-item-657>.sub-menu>li{break-inside:avoid;}

/* ---------- 8. Generic block / card polish ---------- */
.wp-block-group.has-background,.wp-block-columns.has-background,
.wp-block-column.has-background,.card,.service-card{
  border-radius:var(--em-radius-lg);
}
/* boxed groups get hairline + soft shadow when on white/near-white */
.wp-block-group.has-white-background-color,
.wp-block-group.has-silver-blue-background-color{
  border:1px solid var(--em-line);
  box-shadow:0 1px 2px rgba(18,51,41,.04);
}
:where(.wp-block-image) img{border-radius:var(--em-radius);}

/* tables */
.entry-content table{border-collapse:separate;border-spacing:0;border:1px solid var(--em-line);border-radius:var(--em-radius);overflow:hidden;width:100%;}
.entry-content table th{background:var(--em-brand);color:#fff;font-family:var(--em-sans);font-weight:600;text-align:left;padding:12px 14px;}
.entry-content table td{padding:11px 14px;border-top:1px solid var(--em-line);}
.entry-content table tr:nth-child(even) td{background:var(--em-soft);}

/* quote / callout — clean highlighted panel, NOT a serif pull-quote (kills giant ❝ mark) */
.entry-content blockquote,.wp-block-quote{
  border-left:4px solid var(--em-accent);background:var(--em-soft);
  padding:20px 26px;border-radius:0 var(--em-radius-lg) var(--em-radius-lg) 0;
  font-family:var(--em-sans) !important;font-style:normal;font-size:1.05rem;color:var(--em-ink);
  box-shadow:0 1px 2px rgba(18,51,41,.05);
}
.entry-content blockquote::before,.wp-block-quote::before,
.entry-content blockquote::after,.wp-block-quote::after{content:none !important;}
.wp-block-quote p,.entry-content blockquote p{font-style:normal !important;font-family:var(--em-sans) !important;}
.wp-block-quote cite,.entry-content blockquote cite{color:var(--em-muted);font-style:normal;}

/* separators as brass hairline */
.wp-block-separator{border-color:var(--em-accent);opacity:.5;}

/* ---------- 9. Footer ---------- */
.site-footer,.footer-widgets,#colophon{background:var(--em-brand);color:var(--em-brand-ink);}
.site-footer a,#colophon a{color:var(--em-brand-ink);}
.site-footer a:hover,#colophon a:hover{color:var(--em-accent);}
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,.site-footer .widget-title,#colophon .widget-title{color:#fff;}

/* ---------- 10. Focus / a11y ---------- */
a:focus-visible,button:focus-visible,.wp-block-button__link:focus-visible{
  outline:2px solid var(--em-accent);outline-offset:2px;
}

/* ---------- 11. Responsive nav ---------- */
@media (max-width:1024px){
  #main-navigation .nav-menu>li>a,.main-navigation ul li a{font-size:14px !important;padding:8px 9px !important;}
  .main-navigation-container .header-content-wrapper{gap:14px;}
}

/* ---------- 12. Language switcher: readable text + crisp emoji flags ---------- */
#top-navigation .language-switcher-menu,.language-switcher-menu{background:#fff !important;border:1px solid var(--em-line) !important;border-radius:var(--em-radius) !important;box-shadow:0 20px 40px -22px rgba(18,51,41,.4) !important;}
/* #top-navigation prefix needed: #top-navigation * (has an ID) otherwise wins and paints text pale */
#top-navigation .language-switcher-menu a,#top-navigation .language-switcher-menu a span,
#top-navigation .language-switcher-menu li a,#top-navigation .language-switcher-menu li a span{
  color:var(--em-ink) !important;opacity:1 !important;font-weight:500 !important;text-decoration:none !important;
}
#top-navigation .language-switcher-menu a:hover,#top-navigation .language-switcher-menu a:hover span,
#top-navigation .language-switcher-menu li a:hover{
  color:var(--em-brand) !important;background:var(--em-soft) !important;
}
/* hide blurry raster PNG flags; render crisp emoji instead */
.language-switcher-menu img,.language-switcher img,.current-language-flag,.language-switcher-toggle img{display:none !important;}
.language-switcher-menu a[hreflang]::before{margin-right:9px;font-size:16px;line-height:1;vertical-align:-2px;}
.language-switcher-menu a[hreflang="en"]::before{content:"\1F1EC\1F1E7";}
.language-switcher-menu a[hreflang="es"]::before{content:"\1F1EA\1F1F8";}
.language-switcher-menu a[hreflang="fr"]::before{content:"\1F1EB\1F1F7";}
.language-switcher-menu a[hreflang="pt"]::before{content:"\1F1F5\1F1F9";}
.language-switcher-menu a[hreflang="ro"]::before{content:"\1F1F7\1F1F4";}
/* drawer copy of the switcher, if present */
.slide-menu .language-switcher-menu a,.slide-menu .language-switcher-menu a span{color:#fff !important;}

/* ---------- 13. Remove dark-mode (theme) toggle entirely — button + access ---------- */
.dark-mode-widget,.dark-mode-menu-item,button[aria-label*="dark mode" i]{display:none !important;}
.language-switcher-menu img{display:none !important;}  /* placeholder marker */
/* ---------- 14. Crisp solid social brand icons (replace thin Feather outlines) ---------- */
#top-navigation .header-social-icons .social-icon a .feather,
#top-navigation .header-social-icons .social-icon a svg{display:none !important;}
#top-navigation .header-social-icons .social-icon a{
  display:inline-block !important;width:19px;height:19px;line-height:0;
  background-repeat:no-repeat;background-position:center;background-size:contain;
  transition:opacity .15s ease,transform .15s ease;opacity:.92;
}
#top-navigation .header-social-icons .social-icon a:hover{opacity:1;transform:translateY(-1px);}
#top-navigation .social-icon a[aria-label='linkedin']{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%23ffffff%27%3E%3Cpath%20d%3D%27M20.45%2020.45h-3.56v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85%200-2.14%201.45-2.14%202.94v5.67H9.35V9h3.41v1.56h.05c.48-.9%201.63-1.85%203.36-1.85%203.6%200%204.27%202.37%204.27%205.45v6.29zM5.34%207.43a2.06%202.06%200%20110-4.13%202.06%202.06%200%20010%204.13zM7.12%2020.45H3.56V9h3.56v11.45zM22.22%200H1.77C.79%200%200%20.77%200%201.72v20.55C0%2023.23.79%2024%201.77%2024h20.45c.98%200%201.78-.77%201.78-1.73V1.72C24%20.77%2023.2%200%2022.22%200z%27%2F%3E%3C%2Fsvg%3E");}
#top-navigation .social-icon a[aria-label='facebook']{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%23ffffff%27%3E%3Cpath%20d%3D%27M24%2012.07C24%205.4%2018.63%200%2012%200S0%205.4%200%2012.07C0%2018.1%204.39%2023.1%2010.13%2024v-8.44H7.08v-3.49h3.05V9.41c0-3.02%201.79-4.69%204.53-4.69%201.31%200%202.68.24%202.68.24v2.97h-1.5c-1.49%200-1.96.93-1.96%201.89v2.25h3.33l-.53%203.49h-2.8V24C19.61%2023.1%2024%2018.1%2024%2012.07z%27%2F%3E%3C%2Fsvg%3E");}

/* ---------- 15. Kill the theme's active-item underline — keep only the brass ::after ---------- */
#main-navigation .nav-menu>li>a,
#main-navigation .nav-menu>li.current-menu-item>a,
#main-navigation .nav-menu>li.current-menu-ancestor>a,
#main-navigation .nav-menu>li.current_page_item>a{
  text-decoration:none !important;border-bottom:0 !important;box-shadow:none !important;background-image:none !important;
}
#main-navigation .nav-menu>li>a::before{content:none !important;border:0 !important;background:transparent !important;}

/* ---------- FINAL UNDERLINE NUKE: no underline in top nav, any state ---------- */
#main-navigation .nav-menu>li>a,
#main-navigation .nav-menu>li>a:hover,
#main-navigation .nav-menu>li>a:focus,
#main-navigation .nav-menu>li>a:active,
#main-navigation .nav-menu>li.current-menu-item>a,
#main-navigation .nav-menu>li.current-menu-parent>a,
#main-navigation .nav-menu>li.current-menu-ancestor>a,
#main-navigation .nav-menu>li.current_page_item>a,
#main-navigation .nav-menu>li>a *{
  text-decoration:none !important;border-bottom:0 !important;box-shadow:none !important;
  background-image:none !important;
}
#main-navigation .nav-menu>li>a::after,
#main-navigation .nav-menu>li>a::before{content:none !important;border:0 !important;background:none !important;}

/* ---------- 16. FAQ accordion (built by faq.js from FAQ H3 + answers) ---------- */
.em-faq{max-width:860px;margin:14px 0 0;border-top:1px solid var(--em-line);}
.em-faq-item{border-bottom:1px solid var(--em-line);}
.em-faq-q{width:100%;text-align:left;background:none;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px 6px;font-family:var(--em-serif) !important;font-size:1.18rem;font-weight:600;
  color:var(--em-brand);line-height:1.3;transition:color .15s ease;}
.em-faq-q:hover{color:var(--em-accent-d);}
.em-faq-qt,.em-faq-qt *{font-family:var(--em-serif) !important;font-weight:600;margin:0;color:inherit;}
.em-faq-ic{flex:0 0 auto;width:24px;height:24px;position:relative;}
.em-faq-ic::before,.em-faq-ic::after{content:"";position:absolute;background:var(--em-accent);border-radius:2px;transition:transform .22s ease,opacity .22s ease;}
.em-faq-ic::before{top:11px;left:4px;right:4px;height:2px;}
.em-faq-ic::after{left:11px;top:4px;bottom:4px;width:2px;}
.em-faq-item.open .em-faq-ic::after{transform:scaleY(0);opacity:0;}
.em-faq-a{max-height:0;overflow:hidden;transition:max-height .28s ease;}
.em-faq-a-in{padding:0 6px 22px;color:var(--em-ink);font-size:1.02rem;}
.em-faq-a-in p{margin:0 0 10px;max-width:70ch;}
.em-faq-a-in p:last-child{margin-bottom:0;}

/* ---------- 17. Dropdown indicator caret for parent items (nuke killed theme's) ---------- */
#main-navigation .nav-menu>li.menu-item-has-children>a::after,
#main-navigation .nav-menu>li.page_item_has_children>a::after{
  content:"\25BE" !important;            /* ▾ */
  display:inline-block;position:static !important;
  margin-left:7px;font-size:.62em;line-height:1;vertical-align:middle;
  color:var(--em-accent) !important;background:none !important;border:0 !important;
  opacity:.9;transform:translateY(-1px);transition:transform .18s ease,color .15s ease;
}
#main-navigation .nav-menu>li.menu-item-has-children:hover>a::after{
  transform:translateY(-1px) rotate(180deg);color:var(--em-accent-d) !important;
}

/* ============================================================
   18. ECHR Case Law — filterable database (archive-echr_case.php)
   ============================================================ */
.ecl-wrap{max-width:1240px;margin:0 auto;padding:34px 24px 72px;}
.ecl-head{border:0;margin-bottom:22px;}
.ecl-head .page-title{margin:0 0 10px;}
.ecl-intro{color:var(--em-muted);max-width:72ch;font-size:1.05rem;}
.ecl-layout{display:grid;grid-template-columns:262px 1fr;gap:34px;align-items:start;}

/* --- sidebar --- */
.ecl-sidebar{position:sticky;top:18px;}
.ecl-mobtoggle{display:none;}
.ecl-facets{background:#fff;border:1px solid var(--em-line);border-radius:var(--em-radius-lg);padding:6px 16px 14px;box-shadow:0 1px 2px rgba(18,51,41,.04);}
.ecl-facethead{display:flex;align-items:center;justify-content:space-between;padding:12px 0 6px;border-bottom:1px solid var(--em-line);margin-bottom:6px;}
.ecl-facethead span{font-family:var(--em-serif);font-weight:600;color:var(--em-brand);font-size:1.05rem;}
.ecl-clear{background:none;border:0;color:var(--em-accent-d);font-weight:600;font-size:.82rem;cursor:pointer;padding:4px;}
.ecl-clear:hover{text-decoration:underline;}
.ecl-group{border-bottom:1px solid var(--em-line);padding:4px 0;}
.ecl-group:last-child{border-bottom:0;}
.ecl-group-h{width:100%;background:none;border:0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  padding:11px 2px;font-family:var(--em-sans);font-weight:600;font-size:.9rem;color:var(--em-ink);letter-spacing:.01em;}
.ecl-caret{width:8px;height:8px;border-right:2px solid var(--em-accent);border-bottom:2px solid var(--em-accent);transform:rotate(45deg);transition:transform .2s ease;}
.ecl-group.collapsed .ecl-caret{transform:rotate(-45deg);}
.ecl-group-l{list-style:none;margin:0 0 8px;padding:0;max-height:230px;overflow:auto;}
.ecl-group.collapsed .ecl-group-l{display:none;}
.ecl-opt{display:flex;align-items:center;gap:9px;padding:6px 4px;border-radius:6px;cursor:pointer;font-size:.86rem;color:var(--em-ink);}
.ecl-opt:hover{background:var(--em-soft);}
.ecl-opt input{accent-color:var(--em-btn);width:15px;height:15px;flex:0 0 auto;}
.ecl-optname{flex:1;line-height:1.25;}
.ecl-optcount{flex:0 0 auto;color:var(--em-muted);font-size:.76rem;background:var(--em-soft);border-radius:20px;padding:1px 8px;}

/* --- toolbar --- */
.ecl-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:8px;}
.ecl-search{flex:1;min-width:220px;}
.ecl-q{width:100%;border:1px solid var(--em-line);border-radius:var(--em-radius);padding:11px 14px;font-family:var(--em-sans);font-size:.95rem;background:#fff;color:var(--em-ink);}
.ecl-q:focus{outline:2px solid var(--em-accent);outline-offset:1px;border-color:var(--em-accent);}
.ecl-sortwrap{display:flex;align-items:center;gap:8px;}
.ecl-sortwrap label{color:var(--em-muted);font-size:.85rem;}
.ecl-sort{border:1px solid var(--em-line);border-radius:var(--em-radius);padding:10px 12px;background:#fff;color:var(--em-ink);font-family:var(--em-sans);font-size:.9rem;cursor:pointer;}
.ecl-count{color:var(--em-muted);font-size:.9rem;margin:6px 0 18px;}
.ecl-count strong{color:var(--em-brand);}

/* --- grid + cards --- */
.ecl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px;}
.ecl-card{background:#fff;border:1px solid var(--em-line);border-radius:var(--em-radius-lg);padding:20px 20px 18px;
  display:flex;flex-direction:column;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
.ecl-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px rgba(18,51,41,.34);border-color:var(--em-accent);}
.ecl-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.ecl-badge{font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:3px 10px;border-radius:20px;white-space:nowrap;}
.ecl-badge-violation{background:#e3f2ea;color:#0c6b41;}
.ecl-badge-noviolation{background:#f0ece3;color:#8a6a2e;}
.ecl-badge-mixed{background:#fbf1dd;color:#9a6b12;}
.ecl-badge-other{background:var(--em-soft);color:var(--em-muted);}
.ecl-date{font-size:.78rem;color:var(--em-muted);white-space:nowrap;}
.ecl-card-title{font-family:var(--em-serif);font-size:1.18rem;font-weight:600;line-height:1.22;margin:0 0 4px;}
.ecl-card-title a{color:var(--em-brand);text-decoration:none;}
.ecl-card-title a:hover{color:var(--em-accent-d);}
.ecl-appno{font-size:.76rem;color:var(--em-muted);margin:0 0 8px;}
.ecl-card-ex{font-size:.9rem;color:var(--em-ink);line-height:1.5;margin:0 0 12px;flex:1;}
.ecl-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.ecl-tag{font-size:.72rem;padding:2px 9px;border-radius:6px;background:var(--em-soft);color:var(--em-muted);border:1px solid var(--em-line);}
.ecl-tag-country{background:var(--em-brand);color:#fff;border-color:var(--em-brand);}
.ecl-card-link{font-size:.85rem;font-weight:600;color:var(--em-btn);text-decoration:none;margin-top:auto;}
.ecl-card-link:hover{color:var(--em-accent-d);}
.ecl-empty{padding:40px 0;color:var(--em-muted);}
.ecl-empty .ecl-clear2{background:none;border:0;color:var(--em-accent-d);font-weight:600;cursor:pointer;text-decoration:underline;}

/* --- responsive --- */
@media (max-width:860px){
  .ecl-layout{grid-template-columns:1fr;gap:0;}
  .ecl-sidebar{position:static;margin-bottom:16px;}
  .ecl-mobtoggle{display:block;width:100%;background:var(--em-brand);color:#fff;border:0;border-radius:var(--em-radius);
    padding:13px 16px;font-family:var(--em-sans);font-weight:600;font-size:.95rem;cursor:pointer;}
  .ecl-facets{display:none;margin-top:10px;}
  .ecl-sidebar.open .ecl-facets{display:block;}
}

/* ---------- 19. Contact Form 7 submit → Emerald (was theme blue) ---------- */
.wpcf7 input[type=submit],.wpcf7-submit,input.wpcf7-submit,.wpcf7 button[type=submit],
.wpcf7 form .wpcf7-submit{
  background-color:var(--em-btn) !important;color:#fff !important;
  border:0 !important;border-radius:var(--em-radius) !important;
  font-family:var(--em-sans) !important;font-weight:600 !important;letter-spacing:.01em;
}
.wpcf7 input[type=submit]:hover,.wpcf7-submit:hover,.wpcf7 button[type=submit]:hover{
  background-color:var(--em-accent) !important;color:#1a1204 !important;
}
.wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.wpcf7-form textarea,.wpcf7-form select{
  border:1px solid var(--em-line) !important;border-radius:var(--em-radius) !important;
}
.wpcf7-form input:focus,.wpcf7-form textarea:focus{outline:2px solid var(--em-accent);outline-offset:1px;}
