:root{
  --bg:#f6f7f9; --ink:#0c1222; --blue:#0b3d91; --turq:#03b5a5; --green:#2ecc71;
  --muted:#6b7280; --card:#ffffff; --ring:rgba(3,181,165,.35);
  --shadow:0 10px 25px rgba(10,25,45,.08), 0 2px 8px rgba(10,25,45,.04);
  --radius:16px; --stroke:rgba(12,18,34,.12);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  margin:0;color:var(--ink);background:var(--bg);overflow-x:hidden;line-height:1.5;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* Asigură că orice element cu atributul [hidden] chiar dispare */
[hidden]{display:none !important}

.muted{ color: var(--muted); }   /* text secundar / atenuat */

/* Skip links */
.skip-links{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-links:focus-within{position:fixed;left:1rem;top:1rem;width:auto;height:auto;z-index:10000}
.skip-links a{display:inline-block;margin:.25rem;padding:.5rem .75rem;background:#fff;border-radius:.5rem;box-shadow:var(--shadow)}

/* === External links highlight === */
.external-link{
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: rgba(11,61,145,.35);
  text-underline-offset: 3px;
  position: relative;
  white-space: nowrap; /* păstrează iconul lângă text */
}
.external-link:hover{
  text-decoration-color: rgba(11,61,145,.65);
}

/* mică iconiță extern (folosește currentColor) */
.external-link::after{
  content: "";
  display: inline-block;
  width: .9em; height: .9em;
  margin-left: .3em;
  background: currentColor;
  /* mask SVG pentru iconul „external” */
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3zM19 19H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7h-2v7z"/></svg>') no-repeat center/contain;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3zM19 19H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7h-2v7z"/></svg>') no-repeat center/contain;
}

/* utilitar A11y pentru text doar pentru cititoare de ecran */
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}

/* Header & Hero */
header{
  position:relative;z-index:10;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.6));
  backdrop-filter:blur(6px);border-bottom:1px solid rgba(12,18,34,.06);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;max-width:1200px;margin:0 auto}
.brand{display:flex;align-items:center;gap:.75rem}
.logo{
  width:46px;height:46px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,var(--turq),var(--blue));
  position:relative;box-shadow:inset 0 0 0 2px rgba(255,255,255,.3),var(--shadow)
}
.logo::before,.logo::after{content:"";position:absolute;border-radius:50%;opacity:.9}
.logo::before{width:10px;height:10px;background:#fff;left:8px;top:12px;box-shadow:22px -8px 0 0 #d1fff8,18px 16px 0 0 #e3ffe7;animation:pulse 3.4s ease-in-out infinite}
.logo::after{width:6px;height:6px;background:#fff;right:8px;bottom:8px;box-shadow:-14px -10px 0 0 #d1fff8;animation:pulse 4s ease-in-out infinite .3s}
.brand h1{font-size:1.05rem;margin:0;line-height:1.1;font-weight:800}
.brand small{display:block;color:var(--muted);font-weight:400}
nav a{padding:.5rem .75rem;border-radius:999px}
nav a:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 4px var(--ring)}
.cta{display:flex;gap:.5rem;align-items:center}

/* Buttons */
.btn{
  appearance:none;border:0;border-radius:999px;padding:.65rem 1rem;
  background:linear-gradient(180deg,var(--blue),#0a2e6b);color:#fff;font-weight:700;letter-spacing:.2px;
  box-shadow:var(--shadow),0 0 0 0 rgba(3,181,165,0);cursor:pointer;transition:box-shadow .2s ease,transform .2s ease,filter .2s ease
}
.btn:hover{box-shadow:0 0 0 4px rgba(3,181,165,.18),0 16px 30px rgba(11,61,145,.25);filter:brightness(1.03);animation:vibrate .15s linear 2}
.btn.secondary{background:linear-gradient(180deg,var(--turq),#058f83)}
.btn.ghost{background:transparent;color:var(--blue);border:1px solid rgba(11,61,145,.25)}
.btn:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 4px var(--ring)}

@keyframes vibrate{0%{transform:translate(0)}25%{transform:translateX(-1px)}50%{transform:translateX(1px)}75%{transform:translateX(-1px)}100%{transform:translate(0)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.09);opacity:1}}

/* Hero */
.hero{position:relative;overflow:hidden}
.hero-inner{
  max-width:1200px;margin:0 auto;padding:3rem 1.25rem 2rem;display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center
}
.hero h2{font-size:clamp(1.6rem,2.4vw + 1rem,2.6rem);margin:.25rem 0}
.meta{color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .65rem;background:rgba(3,181,165,.12);border:1px solid rgba(3,181,165,.25);color:#04655d;border-radius:999px;font-weight:600}

/* Background */
.hex-bg{
  position:fixed;inset:0;z-index:-2;
  background-image:url("../img/bg-hex.svg");
  background-size:320px 360px;filter:saturate(1.02)
}
canvas#molecule{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5}

/* Sections */
section{max-width:1200px;margin:0 auto;padding:3rem 1.25rem;position:relative;content-visibility:auto;contain-intrinsic-size:800px}
.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.section-title h3{font-size:1.5rem;margin:0}
.card{background:var(--card);border:1px solid rgba(12,18,34,.06);border-radius:1rem;box-shadow:var(--shadow)}

/* Grid */
.grid{display:grid;gap:1rem}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){
  .hero-inner{grid-template-columns:1fr}
  .grid.cols-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .grid.cols-3{grid-template-columns:1fr}
  .grid.cols-4{grid-template-columns:1fr}
}

/* Program */
#program .controls{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
#program .controls input,#program .controls select{padding:.6rem .7rem;border-radius:.6rem;border:1px solid rgba(12,18,34,.12);background:#fff;min-width:180px}
#program .slot{display:grid;grid-template-columns:120px 1fr 1fr 1fr;gap:.75rem;padding:1rem;align-items:center;border-bottom:1px dashed rgba(12,18,34,.1)}
#program .slot .tags{display:flex;gap:.4rem;flex-wrap:wrap}
.tag{font-size:.75rem;padding:.2rem .5rem;border-radius:999px;background:rgba(11,61,145,.08);color:var(--blue);border:1px solid rgba(11,61,145,.18)}
#program .list{overflow:auto}

/* Speakers */
.speaker-card{display:flex;gap:1rem;padding:1rem}
.speaker-card img{width:88px;height:88px;border-radius:50%;aspect-ratio:1/1;object-fit:cover;border:3px solid rgba(3,181,165,.25)}
.speaker-card h4{margin:.2rem 0}
.speaker-meta{color:var(--muted);font-size:.9rem}

/* Map */
#map{width:100%;height:550px;border-radius:1rem;overflow:hidden}

/* Forms */
form{display:grid;gap:.75rem}
label{font-weight:600}
input,select,textarea{padding:.6rem .7rem;border-radius:.6rem;border:1px solid rgba(12,18,34,.12);background:#fff}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 4px var(--ring)}
.helper{color:var(--muted);font-size:.9rem}
.form-ribbon-compact{position:relative}
.form-ribbon-compact::before{
  content:attr(data-step);position:absolute;top:0;left:0;background:var(--blue);color:#fff;font-weight:700;
  font-size:.85rem;padding:.25rem .6rem;border-bottom-right-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.2)
}

/* FAQ */
.faq-search{margin-bottom:1rem}
details{border:1px solid rgba(12,18,34,.12);border-radius:.8rem;padding:.75rem 1rem;background:#fff}
details+details{margin-top:.75rem}
summary{cursor:pointer;font-weight:700}

/* Sponsors */
.sponsors{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}
.sponsors .sp{background:#fff;border:1px solid rgba(12,18,34,.08);border-radius:1rem;padding:1rem;display:grid;place-items:center;height:86px}
@media (max-width:900px){.sponsors{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.sponsors{grid-template-columns:repeat(2,1fr)}}

/* Toasts */
.toasts{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.6rem;z-index:9999}
.toast{background:#0b3d91;color:#fff;padding:.75rem 1rem;border-radius:.8rem;box-shadow:var(--shadow);animation:fadeIn .25s ease}
.toast.success{background:#21bf73}
.toast.warn{background:#f59e0b}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Sticky mini timer */
.mini-timer{position:fixed;right:1rem;top:-200px;transition:top .4s ease;z-index:9997}
.mini-pill{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:rgba(11,61,145,.94);color:#fff;border-radius:999px;box-shadow:var(--shadow)}
.mini-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px rgba(46,204,113,.2)}

/* Cookie banner */
.cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;background:#fff;border:1px solid #e7eef6;border-radius:1rem;box-shadow:var(--shadow);padding:.8rem 1rem;display:none;z-index:10000}
.cookie .actions{display:flex;gap:.5rem;flex-wrap:wrap}

/* Fade-in on scroll */
.io-fade{opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .7s ease}
.io-fade.in{opacity:1;transform:translateY(0)}

/* Speakers hover reflection */
.speaker-img-wrap{position:relative}
.speaker-img-wrap::after{
  content:"";position:absolute;inset:auto 0 -4px 0;height:40%;
  background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(3,181,165,.15));filter:blur(1px);opacity:0;transition:opacity .2s ease
}
.speaker-card:hover .speaker-img-wrap::after{opacity:1}

/* Print */
@media print{
  body{background:#fff}
  header,#speakers,#location,#forms,#faq,#sponsors,
  .cookie,.mini-timer,.toasts,.nav,.hex-bg,.hero .cta,.site-footer,
  .controls .btn.export,.controls .btn.print{
    display:none !important;
  }
  #program{padding-top:0}
  #program .card{box-shadow:none;border:0}

  /* Print-safe: ascunde modalele */
  .cookie-modal,
  .legal-modal{
    display:none !important;
  }
}

/* Hidden override */
#speakerGrid[hidden], .grid[hidden]{display:none !important}

/* ===================== Cookie modal + Legal modals ===================== */
/* ======================== Cookie Settings Modal ======================== */
/* Container */
.cookie-modal{
  position: fixed;
  inset: 0;
  z-index: 10002;
  display: none;                 /* ascuns implicit */
}
.cookie-modal[aria-hidden="false"]{
  display: flex;                 /* când e deschis */
  align-items: center;           /* centrare verticală */
  justify-content: center;       /* centrare orizontală */
}

/* Backdrop */
.cookie-modal_backdrop{
  position: absolute;
  inset: 0;
  background: rgba(12,18,34,.45);
  backdrop-filter: blur(2px);
}

/* Card (dialog) */
.cookie-modal_card{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;

 /* box model */
  max-width: 560px;
  width: min(560px, calc(100% - 2rem)); /* respiră pe mobil */
  margin: auto;
  padding: 0;

  /* visuals */
  background: #fff;
  border: 1px solid rgba(12,18,34,.12);
  border-radius: 1rem;
  box-shadow: var(--shadow);

  /* UX */
  scrollbar-gutter: stable;      /* evită săritul conținutului când apare scrollbar-ul */
  overscroll-behavior: contain;  /* previne scroll chaining spre body */
}

/* Header / Body / Footer */
.cookie-modal_header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(12,18,34,.08);
}
.cookie-modal_body{
  display: grid;
  gap: 1rem;
  padding: 1rem 1.25rem;
}
.cookie-modal_footer{
  display: flex;
  justify-content: flex-end;
  gap: .5rem;
  padding: 1rem 1.25rem;
  border-top: 1px solid rgba(12,18,34,.08);
}

/* Close button */
.cookie-modal_close{
  appearance: none;
  background: transparent;
  border: 0;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  cursor: pointer;

  /* text */
  font-size: 1.5rem;
  line-height: 1;
  color: var(--muted);
}
.cookie-modal_close:hover{
  background: rgba(11,61,145,.06);
}
.cookie-modal_close:focus-visible{
  outline: 2px solid transparent;
  box-shadow: 0 0 0 4px var(--ring);
}

/* Row din setări */
.ck-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem 1rem;
  background: #fff;
  border: 1px solid rgba(12,18,34,.08);
  border-radius: .8rem;
}

/* =========================== iOS-style switch ========================== */
.switch{
  position: relative;
  display: inline-block;
  width: 48px;
  height: 28px;
}
.switch input{
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.switch span{
  position: absolute;
  inset: 0;
  cursor: pointer;
  background: #e5e7eb;
  border: 1px solid rgba(12,18,34,.12);
  border-radius: 999px;
  transition: .2s;
}
.switch span:before{
  content: "";
  position: absolute;
  top: 50%;
  left: 3px;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
  transition: .2s;
}
.switch input:checked + span{
  background: linear-gradient(180deg, var(--turq), #058f83);
}
.switch input:checked + span:before{
  left: 23px;
}

/* Mică animație */
@media (prefers-reduced-motion: no-preference){
  .cookie-modal_card{
    transform: translateY(6px);
    opacity: 0;
    animation: ckIn .18s ease forwards;
  }
  @keyframes ckIn{ to{ transform:none; opacity:1; } }
}

/* Doar pe mobile (<560px): limitează înălțimea și permite scroll în card */
@media (max-width: 560px){
  .cookie-modal_card{
    max-height: 90vh;
    overflow: auto;
  }
}

/* =========================== Legal Modals (Termeni, Privacy, Cookies) =========================== */
/* Container */
.legal-modal{
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: none;                 /* ascuns implicit */
}
.legal-modal[aria-hidden="false"]{
  display: flex;                 /* vizibil când e activ */
  align-items: center;
  justify-content: center;
}

/* Backdrop */
.legal-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(12,18,34,.45);
  backdrop-filter: blur(2px);
}

/* Card (dialog) */
.legal-card{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;

  /* box model */
  max-width: 720px;
  width: min(720px, calc(100% - 2rem));     /* respiră pe ecrane înguste */
  margin: 8vh auto;
  max-height: calc(100dvh - 16vh);          /* sigur pe mobil cu barele browserului */

  /* visuals */
  background: #fff;
  border: 1px solid rgba(12,18,34,.12);
  border-radius: 1rem;
  box-shadow: var(--shadow);

  /* UX */
  overscroll-behavior: contain;             /* previne scroll chaining în body */
  scrollbar-gutter: stable;                 /* evită „saltul” la apariția scrollbar-ului */
}

/* Rotunjire colțuri ferestre modale (legal + cookie) și mascat conținut */
.legal-card,
.cookie-modal_card{
  border-radius: var(--radius);
  overflow: clip;
}
@supports not (overflow: clip){
  .legal-card,
  .cookie-modal_card{ overflow: hidden; }
}

.legal-header,
.cookie-modal_header{
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}

@media (max-width:560px){
  .legal-card,
  .cookie-modal_card{
    border-radius: var(--radius);
  }
}

/* Header / Body / Footer */
.legal-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(12,18,34,.08);
}
.legal-body{
  padding: 1rem 1.25rem;
  line-height: 1.5;
  max-height: 65svh;                        /* svh în loc de vh pentru mobil */
  overflow-y: auto;
}
.legal-footer{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .75rem;
  padding: 1rem 1.25rem;
  border-top: 1px solid rgba(12,18,34,.08);
  text-align: right;
}

/* ==== Dimensiuni fluide pentru header/footer de modal ==== */
:root{
  --modal-pad-y: clamp(.75rem, 1.2vw + .35rem, 1rem);
  --modal-pad-x: clamp(1rem, 1.6vw + .5rem, 1.25rem);
  --modal-row-min: 56px;
  --modal-row-min-mobile: 48px;
}

.legal-header,
.cookie-modal_header,
.legal-footer,
.cookie-modal_footer{
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: var(--modal-pad-y) var(--modal-pad-x);
  min-height: var(--modal-row-min);
}

/* Titlul împinge spre dreapta butonul de închidere */
.legal-header h3,
.cookie-modal_header h3{
  margin: 0;
  margin-inline-end: auto;
  font-size: clamp(1rem, .4vw + .95rem, 1.125rem);
  font-weight: 800;
}

/* Țintă confortabilă pentru butonul X */
.legal-close,
.cookie-modal_close{
  width: 40px;
  height: 40px;
  line-height: 1;
}

/* Footer: acțiuni la dreapta și wrap pe lățimi mici */
.legal-footer,
.cookie-modal_footer{
  justify-content: flex-end;
  flex-wrap: wrap;
  row-gap: .5rem;
}

/* Dimensiune minimă butoane din footer */
.legal-footer .btn,
.cookie-modal_footer .btn{
  min-height: 40px;
  padding: .55rem .9rem;
}

@media (max-width:560px){
  .legal-header,
  .cookie-modal_header,
  .legal-footer,
  .cookie-modal_footer{
    min-height: var(--modal-row-min-mobile);
  }
}

/* Preset-uri de densitate */
.modal--compact .legal-header,
.modal--compact .cookie-modal_header,
.modal--compact .legal-footer,
.modal--compact .cookie-modal_footer{
  --modal-pad-y: .6rem;
  --modal-pad-x: 1rem;
  --modal-row-min: 48px;
}
.modal--roomy .legal-header,
.modal--roomy .cookie-modal_header,
.modal--roomy .legal-footer,
.modal--roomy .cookie-modal_footer{
  --modal-pad-y: 1rem;
  --modal-pad-x: 1.25rem;
  --modal-row-min: 60px;
}

/* Close button */
.legal-close{
  appearance: none;
  background: transparent;
  border: 0;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  cursor: pointer;

  /* text */
  font-size: 1.5rem;
  line-height: 1;
  color: var(--muted);
}
.legal-close:hover{ background: rgba(11,61,145,.06); }
.legal-close:focus-visible,
.legal-card:focus-visible{
  outline: 2px solid transparent;
  box-shadow: 0 0 0 4px var(--ring);
}

/* Animare apariție (respectă preferința userului) */
@media (prefers-reduced-motion: no-preference){
  .legal-card{
    transform: translateY(6px);
    opacity: 0;
    animation: legalIn .18s ease forwards;
  }
  @keyframes legalIn{
    to { transform: none; opacity: 1; }
  }
}

/* Mobile (<560px) */
@media (max-width: 560px){
  .legal-card{
    width: 100%;
    margin: 4vh auto;                         /* mai puțin spațiu sus/jos ca să încapă pe ecrane mici */
    max-height: 92svh;                        /* sigur pe mobil */
    padding: .9rem 1rem;
    border-radius: .85rem;
  }
}



/* Footer */
.site-footer{margin-top:2rem;background:linear-gradient(180deg,#ffffff,#f3f6fb);border-top:1px solid rgba(12,18,34,.06)}
.site-footer .footer-inner{max-width:1200px;margin:0 auto;padding:2rem 1.25rem}
.ft-col{background:var(--card);border:1px solid rgba(12,18,34,.06);border-radius:1rem;box-shadow:var(--shadow);padding:1rem}
.ft-title{margin:.25rem 0 .75rem;font-size:1rem;font-weight:800}
.ft-text{color:var(--muted);margin:.25rem 0 1rem}
.ft-links,.ft-contact{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.ft-links a{padding:.25rem .5rem;border-radius:.5rem;display:inline-block;border:1px solid transparent}
.ft-links a:hover{border-color:rgba(11,61,145,.18);background:rgba(11,61,145,.06)}
.ft-contact li{display:flex;align-items:center;gap:.5rem;color:var(--ink)}
.ft-social{display:flex;gap:.5rem;margin-top:.6rem}
.ft-social .icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:999px;border:1px solid rgba(11,61,145,.18);background:#fff}
.ft-social .icon:hover{box-shadow:0 0 0 4px var(--ring)}
.ft-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0 0}
.ft-note{margin:.6rem 0 0}
.ft-sep{border:0;border-top:1px dashed rgba(12,18,34,.12);margin:1.25rem 0}
.ft-legal{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;color:var(--muted)}
.ft-legal-links{display:flex;align-items:center;gap:.5rem}
.ft-legal a{color:inherit;text-decoration:underline;text-decoration-color:rgba(12,18,34,.25)}
@media (max-width:900px){.grid.cols-4{grid-template-columns:1fr 1fr}}
@media (max-width:600px){
  .grid.cols-4{grid-template-columns:1fr}
  header{backdrop-filter:none}
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .btn:hover{animation:none}
  .logo::before,.logo::after{animation:none}
  .io-fade{transition:none}
}

/* === Obiective SNCH 2025: 2 coloane fixe pe desktop === */
#objectives .section-title h3{
  font-weight: 800;
  font-size: clamp(1.25rem, 2.2vw, 1.5rem);
  margin-bottom: .75rem;
}

#objectives .objectives-grid{
  display: grid;
  grid-template-columns: 1fr;  /* implicit: 1 coloană pe mobil */
  gap: 1rem;
}
@media (min-width: 768px){
  #objectives .objectives-grid{
    grid-template-columns: 1fr 1fr; /* 2 coloane egale pe desktop */
  }
}

#objectives .objective{
  display: flex;
  align-items: flex-start;
  gap: .9rem;
  padding: 1rem;
}

#objectives .objective .icon{
  line-height: 0;
  flex-shrink: 0;
  color: #0a3d62;
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
}
#objectives .objective .icon svg{
  width: 100%;
  height: 100%;
  fill: currentColor;
  display: block;
  object-fit: contain;
  preserveAspectRatio: xMidYMid meet;
}

#objectives .objective p{
  margin: 0;
  font-size: clamp(.98rem, 1.2vw, 1.05rem);
  line-height: 1.45;
  color: #222;
}

#objectives .objective:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0,0,0,.10);
  transition: transform .2s ease, box-shadow .2s ease;
}

@media (prefers-color-scheme: dark){
  #objectives .objective{ background: rgba(255,255,255,.06); }
  #objectives .objective p{ color: #eaeaea; }
  #objectives .objective .icon{ color: #8ab4ff; }
}

/* === Procent vizibil și centrat în bară (peste #bar) === */
#progress, #payProgress {
  position: relative !important;     /* ancora pentru absolute */
  height: 16px !important;
  overflow: hidden !important;
}

#bar, #payBar {
  position: relative;                /* creează strat */
  z-index: 1;                        /* bară sub text */
}

#pct, #payPct {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  z-index: 2 !important;             /* text peste bară */
  pointer-events: none !important;
  display: none;                      /* JS le face vizibile */
  color: #0b3d91; text-shadow: 0 1px 0 rgba(255,255,255,.6);
}



