/* ==========================================================================
   PrimHub24 — Primăria Test — Design tokens & components
   Palette:  cream #F7F4EE · paper #FFFFFF · navy #2A374F · navy-deep #1C2536
             terracotta #B95E47 · terracotta-deep #96432F · sand #EFE7D8
             olive #5C6E4F · ink #2A2620 · line #DCD5C6
   Type:     Display — "Source Serif 4"  ·  Body/UI — "Public Sans"
   ========================================================================== */

:root{
  --cream:#F7F4EE;
  --paper:#FFFFFF;
  --navy:#2A374F;
  --navy-deep:#1C2536;
  --terracotta:#B95E47;
  --terracotta-deep:#96432F;
  --sand:#EFE7D8;
  --olive:#5C6E4F;
  --ink:#2A2620;
  --line:#DCD5C6;
  --line-strong:#C7BEA8;

  --font-display:"Source Serif 4", Georgia, "Times New Roman", serif;
  --font-body:"Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --container:1180px;
  --radius:2px;
  --shadow-card:0 1px 2px rgba(28,37,54,.06), 0 6px 20px rgba(28,37,54,.05);
}

/* ---------- Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--terracotta-deep);text-decoration-thickness:1px;text-underline-offset:2px;}
a:hover{color:var(--terracotta);}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--terracotta);
  outline-offset:2px;
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--navy);
  line-height:1.15;
  margin:0 0 .5em;
  font-weight:600;
}
h1{font-size:clamp(2.1rem,4vw,3.4rem);}
h2{font-size:clamp(1.6rem,2.6vw,2.2rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1.1em;}
ul{margin:0;padding:0;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.visually-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.skip-link{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:12px 18px;z-index:9999;}
.skip-link:focus{left:12px;top:12px;}

/* ---------- Eyebrow / labels ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-body);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--terracotta-deep);
}
.eyebrow::before{content:"";width:18px;height:2px;background:var(--terracotta);display:inline-block;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-body);font-weight:700;font-size:.95rem;
  padding:13px 24px;border-radius:var(--radius);border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .1s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--terracotta);color:#fff;}
.btn-primary:hover{background:var(--terracotta-deep);color:#fff;}
.btn-outline{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.12);color:#fff;}
.btn-ghost{background:transparent;border-color:var(--navy);color:var(--navy);}
.btn-ghost:hover{background:var(--navy);color:#fff;}

/* ==========================================================================
   Utility bar (letterhead strip)
   ========================================================================== */
.util-bar{
  background:var(--navy-deep);
  color:#D9DEE7;
  font-size:.82rem;
}
.util-bar .container{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap;
}
.util-bar__info{display:flex;gap:20px;flex-wrap:wrap;}
.util-bar__info a{color:#D9DEE7;text-decoration:none;}
.util-bar__info a:hover{color:#fff;text-decoration:underline;}
.util-bar__info span{display:inline-flex;align-items:center;gap:6px;}
.util-bar__access{display:flex;gap:14px;align-items:center;}
.util-bar__access button{
  background:none;border:1px solid rgba(255,255,255,.3);color:#D9DEE7;
  font-size:.75rem;padding:3px 9px;border-radius:2px;cursor:pointer;font-family:var(--font-body);
}
.util-bar__access button:hover{border-color:#fff;color:#fff;}

/* ==========================================================================
   Masthead — logo + institution name, double rule, primary nav
   ========================================================================== */
.masthead{background:var(--cream);border-bottom:1px solid var(--line);}
.masthead__row{
  display:flex;align-items:center;gap:18px;
  padding:22px 0 18px;
}
.masthead__crest{
  width:58px;height:58px;flex:0 0 auto;border-radius:50%;
  background:var(--navy);color:var(--sand);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:700;font-size:1.5rem;
  border:2px solid var(--terracotta);
}
.masthead__id-line{display:flex;flex-direction:column;gap:2px;}
.masthead__eyebrow{
  font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--olive);font-weight:700;
}
.masthead__name{
  font-family:var(--font-display);font-size:1.55rem;color:var(--navy);
  font-weight:700;margin:0;line-height:1.15;
}
.masthead__name a{color:inherit;text-decoration:none;}
.masthead__tagline{font-size:.85rem;color:#5B5648;margin:0;}

.rule-double{border:0;height:0;border-top:3px double var(--navy);margin:0;}

.primary-nav{background:var(--navy);}
.primary-nav .container{display:flex;align-items:center;justify-content:space-between;}
.primary-nav__menu{display:flex;list-style:none;flex-wrap:wrap;}
.primary-nav__menu li{position:relative;}
.primary-nav__menu a{
  display:block;color:#EDEFF3;text-decoration:none;
  font-size:.92rem;font-weight:600;padding:15px 18px;
  border-bottom:3px solid transparent;
}
.primary-nav__menu a:hover,
.primary-nav__menu .current-menu-item > a{
  border-bottom-color:var(--terracotta);
  background:rgba(255,255,255,.04);
}
.primary-nav__cta{
  padding:9px 16px !important;margin:10px 0;border:1.5px solid var(--terracotta);
  border-radius:2px;
}
.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;padding:8px 12px;border-radius:2px;font-family:var(--font-body);}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{
  background:linear-gradient(180deg,var(--navy) 0%, var(--navy-deep) 100%);
  color:#fff;position:relative;overflow:hidden;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 88% 18%, rgba(185,94,71,.28), transparent 42%);
  pointer-events:none;
}
.hero__grid{
  position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;
  padding:64px 0 56px;align-items:center;
}
.hero__eyebrow{color:#E7B7A6;}
.hero__eyebrow::before{background:#E7B7A6;}
.hero h1{color:#fff;margin:.35em 0 .4em;}
.hero__lede{color:#C9D0DC;font-size:1.08rem;max-width:52ch;}
.hero__actions{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;}

.hero__panel{
  background:var(--paper);border-radius:var(--radius);
  box-shadow:var(--shadow-card);padding:6px;
}
.hero__panel-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px 10px;border-bottom:1px solid var(--line);
}
.hero__panel-head h2{font-size:1.02rem;margin:0;color:var(--navy);}
.hero__quicklinks{list-style:none;padding:6px;}
.hero__quicklinks li + li{border-top:1px solid var(--line);}
.hero__quicklinks a{
  display:flex;align-items:center;gap:12px;padding:13px 10px;
  color:var(--ink);text-decoration:none;font-weight:600;font-size:.94rem;border-radius:2px;
}
.hero__quicklinks a:hover{background:var(--sand);color:var(--terracotta-deep);}
.hero__quicklinks .qicon{
  width:34px;height:34px;border-radius:50%;background:var(--sand);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--terracotta-deep);font-weight:700;
}

/* ==========================================================================
   Notice board — Ultimele anunțuri
   ========================================================================== */
.section{padding:64px 0;}
.section--sand{background:var(--sand);}
.section__head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:20px;margin-bottom:30px;flex-wrap:wrap;border-bottom:1px solid var(--line-strong);padding-bottom:18px;
}
.section__head h2{margin:.3em 0 0;}

.notice-list{list-style:none;}
.notice{
  display:grid;grid-template-columns:96px 1fr auto;gap:20px;align-items:center;
  padding:20px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;
}
.notice--with-thumb{grid-template-columns:96px 140px 1fr auto;}
.notice__thumb{
  width:140px;height:88px;border-radius:8px;overflow:hidden;background:var(--line);
}
.notice__thumb img{display:block;width:100%;height:100%;object-fit:cover;}
.notice:hover .notice__title{color:var(--terracotta-deep);}
.notice__date{
  text-align:center;font-family:var(--font-display);color:var(--navy);
  border-right:1px solid var(--line);padding-right:16px;
}
.notice__date .day{display:block;font-size:1.7rem;font-weight:700;line-height:1;}
.notice__date .mon{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--olive);margin-top:4px;}
.notice__tag{
  display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--olive);background:rgba(92,110,79,.12);padding:3px 8px;border-radius:2px;margin-bottom:6px;
}
.notice__title{font-family:var(--font-display);font-size:1.12rem;color:var(--navy);font-weight:600;margin:0;}
.notice__excerpt{color:#5B5648;font-size:.9rem;margin:.3em 0 0;}
.notice__arrow{color:var(--terracotta);font-size:1.3rem;justify-self:end;}

/* ==========================================================================
   Services grid
   ========================================================================== */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.service-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 22px;box-shadow:var(--shadow-card);text-decoration:none;color:inherit;
  display:flex;flex-direction:column;gap:10px;transition:border-color .15s ease,transform .12s ease;
}
.service-card:hover{border-color:var(--terracotta);transform:translateY(-3px);}
.service-card__icon{
  width:46px;height:46px;border-radius:50%;background:var(--navy);color:var(--sand);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;
}
.service-card h3{margin:0;font-size:1.05rem;}
.service-card p{margin:0;color:#5B5648;font-size:.88rem;}

/* ==========================================================================
   Signature element — official seal / "Program de audiențe" card
   ========================================================================== */
.audience{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:36px;
  background:var(--paper);border:1px dashed var(--line-strong);border-radius:6px;
  padding:34px 36px;position:relative;
}
.audience::before,.audience::after{
  content:"";position:absolute;top:50%;width:26px;height:26px;border-radius:50%;
  background:var(--cream);border:1px dashed var(--line-strong);transform:translateY(-50%);
}
.audience::before{left:-13px;}
.audience::after{right:-13px;}

.seal{
  width:120px;height:120px;border-radius:50%;flex:0 0 auto;
  background:
    radial-gradient(circle at center, transparent 57%, var(--navy) 58% 63%, transparent 64%),
    var(--paper);
  border:2px solid var(--navy);
  display:flex;align-items:center;justify-content:center;position:relative;
  color:var(--navy);
}
.seal__ring{
  position:absolute;inset:0;border-radius:50%;
}
.seal__ring svg{width:100%;height:100%;}
.seal__core{
  font-family:var(--font-display);font-weight:700;text-align:center;line-height:1.1;
}
.seal__core .star{display:block;color:var(--terracotta);font-size:1.1rem;margin-bottom:2px;}
.seal__core .yr{display:block;font-size:.62rem;letter-spacing:.08em;color:var(--olive);margin-top:2px;}

.audience__body h3{margin-bottom:6px;}
.audience__rows{list-style:none;display:flex;flex-direction:column;gap:6px;margin-top:10px;}
.audience__rows li{display:flex;justify-content:space-between;max-width:340px;font-size:.92rem;border-bottom:1px dotted var(--line-strong);padding-bottom:4px;}
.audience__rows span:last-child{color:var(--navy);font-weight:700;}

/* ==========================================================================
   Content / single / page
   ========================================================================== */
.page-header{background:var(--navy);color:#fff;padding:46px 0;}
.page-header .eyebrow{color:#E7B7A6;}
.page-header .eyebrow::before{background:#E7B7A6;}
.page-header h1{color:#fff;margin:.25em 0 0;}
.breadcrumbs{font-size:.82rem;color:#C9D0DC;}
.breadcrumbs a{color:#C9D0DC;}

.content-wrap{padding:56px 0;}
.content-grid{display:grid;grid-template-columns:1fr 300px;gap:56px;}
.entry-content{font-size:1.02rem;}
.entry-content h2{margin-top:1.4em;}
.entry-content img{border-radius:var(--radius);margin:1.2em 0;}
.entry-content blockquote{
  border-left:3px solid var(--terracotta);margin:1.4em 0;padding:.4em 1.2em;
  font-family:var(--font-display);font-size:1.1rem;color:var(--navy);background:var(--sand);
}
.entry-meta{display:flex;gap:14px;flex-wrap:wrap;color:#5B5648;font-size:.85rem;margin-bottom:22px;}
.entry-meta .notice__tag{margin-bottom:0;}

.widget{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:22px;}
.widget h2,.widget h3{font-size:1rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--terracotta);padding-bottom:10px;margin-bottom:14px;}
.widget ul{list-style:none;}
.widget li{padding:8px 0;border-bottom:1px solid var(--line);font-size:.92rem;}
.widget a{text-decoration:none;color:var(--ink);}
.widget a:hover{color:var(--terracotta-deep);}

.pagination{display:flex;gap:8px;margin-top:34px;flex-wrap:wrap;}
.pagination a,.pagination span{
  padding:8px 14px;border:1px solid var(--line);border-radius:2px;text-decoration:none;color:var(--navy);font-size:.9rem;
}
.pagination .current{background:var(--navy);color:#fff;border-color:var(--navy);}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{background:var(--navy-deep);color:#C9D0DC;}
.site-footer .rule-double{border-top-color:var(--terracotta);}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding:52px 0 30px;}
.footer-brand{display:flex;gap:14px;align-items:flex-start;}
.footer-brand .masthead__crest{border-color:var(--terracotta);}
.footer-brand h2{color:#fff;font-size:1.2rem;margin:0 0 6px;}
.footer-brand p{color:#9AA4B5;font-size:.88rem;max-width:32ch;}
.footer-col h3{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
.footer-col a{color:#C9D0DC;text-decoration:none;font-size:.92rem;}
.footer-col a:hover{color:#fff;text-decoration:underline;}
.footer-col address{font-style:normal;font-size:.92rem;line-height:1.7;}
.footer-social{display:flex;gap:10px;margin-top:14px;}
.footer-social a{
  width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.3);
  display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:.85rem;
}
.footer-social a:hover{background:var(--terracotta);border-color:var(--terracotta);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);padding:18px 0;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem;color:#8993A6;
}
.footer-bottom a{color:#8993A6;}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:960px){
  .hero__grid{grid-template-columns:1fr;padding:44px 0;}
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .content-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .audience{grid-template-columns:1fr;text-align:center;justify-items:center;}
  .audience__rows li{justify-content:space-between;}
}
@media (max-width:700px){
  .primary-nav__menu{display:none;flex-direction:column;width:100%;}
  .primary-nav.is-open .primary-nav__menu{display:flex;}
  .primary-nav .container{flex-wrap:wrap;padding-top:8px;padding-bottom:8px;}
  .nav-toggle{display:block;}
  .util-bar .container{flex-direction:column;align-items:flex-start;gap:6px;}
  .notice{grid-template-columns:64px 1fr;}
  .notice--with-thumb{grid-template-columns:64px 96px 1fr;}
  .notice__thumb{width:96px;height:60px;}
  .notice__arrow{display:none;}
  .services-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;padding:40px 0 16px;}
  .masthead__row{padding:16px 0;}
  .masthead__name{font-size:1.2rem;}
}
