/* ===========================================================
   CONECT — strat de unificare vizuala peste tema veche (Divi)
   Aplica identitatea noului landing pe pagini + articole.
   2026-08-25
   =========================================================== */

@font-face{font-family:'Figtree';font-style:normal;font-weight:400 800;font-display:swap;
  src:url('/fonts/Figtree-var-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400 800;font-display:swap;
  src:url('/fonts/Figtree-var-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500 600;font-display:swap;
  src:url('/fonts/JetBrainsMono-var-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  --cn-bg:#F8F7F4; --cn-surface:#FFFFFF; --cn-surface2:#F3F1EB;
  --cn-ink:#1C1A17; --cn-body:#4C473F; --cn-muted:#7E776B; --cn-line:#E8E3DA;
  --cn-brand:#F05218; --cn-brand-ink:#C2410C; --cn-dark:#1C1814;
  --cn-radius:18px;
  --cn-shadow:0 1px 2px rgba(28,24,20,.05), 0 12px 34px -18px rgba(28,24,20,.28);
  --cn-shadow-lg:0 2px 6px rgba(28,24,20,.06), 0 30px 60px -28px rgba(28,24,20,.40);
  --cn-ff:'Figtree', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --cn-mono:'JetBrains Mono', ui-monospace, monospace;
}

/* ---------- baza ---------- */
body, body.et_pb_button_helper_class, .et_pb_module, .et_pb_text,
#main-content .container, .et_pb_post_content, .et_pb_blog_grid{
  font-family:var(--cn-ff) !important;
}
body{ background:var(--cn-bg) !important; color:var(--cn-body) !important; font-size:17px; line-height:1.7; }
#page-container{ background:var(--cn-bg); }
h1,h2,h3,h4,h5,h6,.entry-title,.et_pb_post_title .entry-title{
  font-family:var(--cn-ff) !important; color:var(--cn-ink) !important;
  letter-spacing:-.02em; line-height:1.15; font-weight:800 !important;
}
a{ color:var(--cn-brand-ink); }
a:hover{ color:var(--cn-brand); }
p{ color:var(--cn-body); }

/* ---------- HEADER (Theme Builder) ---------- */
.et_pb_section_0_tb_header{
  background:rgba(248,247,244,.92) !important;
  backdrop-filter:saturate(1.4) blur(12px);
  border-bottom:1px solid var(--cn-line) !important;
  padding:10px 0 !important;
}
.et_pb_section_0_tb_header .et_pb_row{ padding:6px 0 !important; }
.et_pb_menu__wrap .et-menu > li > a,
.et_pb_menu .et-menu > li > a{
  font-family:var(--cn-ff) !important; font-weight:600 !important;
  font-size:15px !important; color:var(--cn-body) !important;
  padding:9px 14px !important; border-radius:999px; transition:color .2s, background .2s;
  opacity:1 !important;
}
.et_pb_menu .et-menu > li > a:hover{ color:var(--cn-brand) !important; background:var(--cn-surface2); opacity:1 !important; }
.et_pb_menu .et-menu > li.current-menu-item > a{ color:var(--cn-brand) !important; }
.et_pb_menu .et-menu li li a{ font-family:var(--cn-ff) !important; font-size:14.5px !important; }

/* butonul de inscriere din antet */
.et_pb_button_0_tb_header,
.et_pb_section_0_tb_header .et_pb_button{
  font-family:var(--cn-ff) !important; font-weight:600 !important;
  background:var(--cn-brand) !important; color:#fff !important;
  border:1.5px solid transparent !important; border-radius:999px !important;
  padding:13px 26px !important; font-size:16px !important; letter-spacing:0 !important;
  box-shadow:0 10px 24px -10px rgba(240,82,24,.75);
  transition:transform .18s cubic-bezier(.2,.7,.2,1), background .2s, box-shadow .2s;
}
.et_pb_button_0_tb_header:hover,
.et_pb_section_0_tb_header .et_pb_button:hover{
  background:var(--cn-brand-ink) !important; transform:translateY(-2px);
  box-shadow:0 16px 30px -12px rgba(240,82,24,.8); padding:13px 26px !important;
}
.et_pb_button_0_tb_header:after, .et_pb_section_0_tb_header .et_pb_button:after{ display:none !important; }

/* ---------- titlu pagina / articol ---------- */
.et_pb_post_title .entry-title,
.et_pb_fullwidth_header .header-content h1{
  font-size:clamp(30px,4.6vw,46px) !important;
}
.et_pb_post_title .et_pb_title_meta_container,
.post-meta, .et_pb_title_meta_container{
  font-family:var(--cn-mono) !important; font-size:12.5px !important;
  letter-spacing:.06em; text-transform:uppercase; color:var(--cn-muted) !important;
}
.post-meta a, .et_pb_title_meta_container a{ color:var(--cn-muted) !important; }
.post-meta a:hover, .et_pb_title_meta_container a:hover{ color:var(--cn-brand) !important; }

/* ---------- continut articol ---------- */
.et_pb_post_content{ max-width:820px; margin:0 auto; }
.et_pb_post_content p{ font-size:17px; line-height:1.75; margin-bottom:1.1em; }
.et_pb_post_content h2{ font-size:26px !important; margin:34px 0 12px; }
.et_pb_post_content h3{ font-size:21px !important; margin:28px 0 10px; }
.et_pb_post_content img{ border-radius:14px; box-shadow:var(--cn-shadow); }
.et_pb_post_content ul li, .et_pb_post_content ol li{ margin:6px 0; }
.et_pb_post_content blockquote{
  border-left:4px solid var(--cn-brand); background:var(--cn-surface2);
  padding:16px 22px; border-radius:0 12px 12px 0; margin:24px 0;
}

/* ---------- listare articole (Noutati / Comunicate) ---------- */
.et_pb_blog_grid .et_pb_post, .et_pb_posts .et_pb_post{
  background:var(--cn-surface) !important; border:1px solid var(--cn-line) !important;
  border-radius:var(--cn-radius) !important; box-shadow:var(--cn-shadow);
  padding:24px !important; margin-bottom:20px !important;
  transition:transform .2s, box-shadow .2s;
}
.et_pb_blog_grid .et_pb_post:hover, .et_pb_posts .et_pb_post:hover{
  transform:translateY(-4px); box-shadow:var(--cn-shadow-lg);
}
.et_pb_post .entry-title{ font-size:19px !important; line-height:1.3; margin-bottom:8px; }
.et_pb_post .entry-title a{ color:var(--cn-ink) !important; }
.et_pb_post .entry-title a:hover{ color:var(--cn-brand) !important; }
.et_pb_post .post-content p{ font-size:15px; color:var(--cn-body); }
.et_pb_post .entry-featured-image-url{ border-radius:14px; overflow:hidden; margin-bottom:16px; }
.et_pb_post .entry-featured-image-url img{ border-radius:14px; }
.et_pb_post .more-link, .et_pb_button.more-link{
  display:inline-flex; align-items:center; gap:8px; margin-top:10px;
  font-weight:600; font-size:14.5px; color:var(--cn-brand) !important;
  border:none !important; background:none !important; padding:0 !important;
}
.et_pb_post .more-link:after{ content:"→"; }
.pagination a, .wp-pagenavi a, .pagination .alignleft a, .pagination .alignright a{
  font-weight:600; color:var(--cn-brand) !important;
}

/* ---------- butoane generale ---------- */
.et_pb_button:not(.more-link){
  font-family:var(--cn-ff) !important; font-weight:600 !important;
  border-radius:999px !important; transition:transform .18s, background .2s;
}
.et_pb_bg_layout_light .et_pb_button:not(.more-link):not(.et_pb_button_0_tb_header){
  color:#fff !important; background:var(--cn-brand) !important; border-color:transparent !important;
}

/* ---------- acordeoane / toggle (pagina Proiect) ---------- */
.et_pb_toggle{
  background:var(--cn-surface) !important; border:1px solid var(--cn-line) !important;
  border-radius:var(--cn-radius) !important; box-shadow:var(--cn-shadow);
  margin-bottom:14px; padding:20px 24px !important;
}
.et_pb_toggle_title{
  font-family:var(--cn-ff) !important; font-weight:700 !important;
  font-size:19px !important; color:var(--cn-ink) !important;
}
.et_pb_toggle_open{ border-color:color-mix(in srgb, var(--cn-brand) 35%, var(--cn-line)) !important; }
.et_pb_toggle_open .et_pb_toggle_title{ color:var(--cn-brand-ink) !important; }
.et_pb_toggle_content{ color:var(--cn-body) !important; font-size:16px; line-height:1.7; }

/* casete de text pe pagini */
.et_pb_text_inner > p:first-child{ margin-top:0; }

/* ---------- FOOTER ---------- */
#main-footer, .et_pb_section_0_tb_footer, .et-l--footer .et_pb_section{
  background:var(--cn-dark) !important; color:#D9D0C6 !important;
}
.et-l--footer h1,.et-l--footer h2,.et-l--footer h3,.et-l--footer h4{ color:#F5EFE9 !important; }
.et-l--footer p, .et-l--footer li, .et-l--footer span{ color:#D9D0C6 !important; }
.et-l--footer a{ color:#D9D0C6 !important; }
.et-l--footer a:hover{ color:var(--cn-brand) !important; }
#footer-bottom{ background:var(--cn-dark) !important; }

/* ---------- responsive ---------- */
@media(max-width:980px){
  .et_pb_post_content{ max-width:100%; }
}
@media(max-width:640px){
  body{ font-size:16px; }
  .et_pb_section{ padding:36px 0 !important; }
  .et_pb_post_title .entry-title{ font-size:27px !important; }
  .et_pb_blog_grid .et_pb_post, .et_pb_posts .et_pb_post{ padding:18px !important; }
  .et_pb_post .entry-title{ font-size:17px !important; }
  .et_pb_button_0_tb_header, .et_pb_section_0_tb_header .et_pb_button{
    padding:11px 20px !important; font-size:15px !important;
  }
  .et_pb_toggle{ padding:16px 18px !important; }
  .et_pb_toggle_title{ font-size:17px !important; }
}

/* ---------- indemn la inscriere pe articole (inlocuieste resturile demo) ---------- */
.cn-cta .cn-cta-box{
  background:var(--cn-surface); border:1px solid var(--cn-line);
  border-radius:var(--cn-radius); box-shadow:var(--cn-shadow);
  padding:26px 24px; position:sticky; top:110px;
}
.cn-cta .cn-eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--cn-mono); font-size:11.5px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--cn-brand);
}
.cn-cta .cn-eyebrow:before{ content:""; width:20px; height:2px; background:var(--cn-brand); border-radius:2px; }
.cn-cta h4{ font-size:20px !important; margin:12px 0 8px !important; line-height:1.25; }
.cn-cta p{ font-size:15px; color:var(--cn-body); margin:0 0 16px; line-height:1.6; }
.cn-cta .cn-btn{
  display:inline-flex; align-items:center; justify-content:center; width:100%;
  background:var(--cn-brand); color:#fff !important; font-weight:600; font-size:16px;
  border-radius:999px; padding:14px 22px; text-decoration:none;
  box-shadow:0 10px 24px -10px rgba(240,82,24,.75);
  transition:transform .18s cubic-bezier(.2,.7,.2,1), background .2s;
}
.cn-cta .cn-btn:hover{ background:var(--cn-brand-ink); transform:translateY(-2px); color:#fff !important; }
.cn-cta .cn-note{
  margin:14px 0 0 !important; font-size:13px; color:var(--cn-muted); text-align:center;
}

/* navigare articol precedent/urmator */
.et_pb_post_nav a, .nav-single a, .post-nav a{ color:var(--cn-brand-ink) !important; font-weight:600; }
.et_pb_post_nav a:hover{ color:var(--cn-brand) !important; }
.et_pb_post_nav{ border-top:1px solid var(--cn-line); padding-top:20px; margin-top:10px; }

/* zona de comentarii: inutila pe un site de proiect */
.et_pb_comments_module, .et_pb_comments_0_tb_body, #comment-wrap, .comment-respond{ display:none !important; }

/* ---------- listare articole: grila cu poze de dimensiune rezonabila ---------- */
/* listarea sta intr-o coloana pe jumatate de latime in sablonul vechi -> o facem plina */
.et_pb_row .et_pb_column:has(.et_pb_posts),
.et_pb_row .et_pb_column:has(.et_pb_blog_grid){
  width:100% !important; max-width:100% !important; margin-right:0 !important; float:none !important;
}
.et_pb_ajax_pagination_container{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:20px; align-items:start;
}
.et_pb_ajax_pagination_container > .et_pb_post{ margin:0 !important; height:100%; display:flex; flex-direction:column; }
.et_pb_ajax_pagination_container .entry-featured-image-url{
  display:block; height:180px; overflow:hidden; border-radius:14px; margin-bottom:14px;
}
.et_pb_ajax_pagination_container .entry-featured-image-url img{
  width:100%; height:100%; object-fit:cover; border-radius:14px; box-shadow:none;
}
.et_pb_ajax_pagination_container .et_pb_post .entry-title{ font-size:17px !important; }
.et_pb_ajax_pagination_container .et_pb_post .post-content{ font-size:14.5px; }
.et_pb_ajax_pagination_container .et_pb_post .post-meta{ font-size:11.5px !important; margin-bottom:8px; }
/* paginarea sub grila, pe toata latimea */
.et_pb_ajax_pagination_container .pagination{ grid-column:1/-1; margin-top:8px; }
@media(max-width:620px){
  .et_pb_ajax_pagination_container{ grid-template-columns:1fr; gap:16px; }
  .et_pb_ajax_pagination_container .entry-featured-image-url{ height:200px; }
}

/* carduri de aceeasi inaltime: taiem titlul si rezumatul la un numar fix de randuri */
.et_pb_ajax_pagination_container .et_pb_post .entry-title{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden; line-height:1.32; min-height:calc(3 * 1.32em);
}
.et_pb_ajax_pagination_container .et_pb_post .post-content p{
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical;
  overflow:hidden; margin-bottom:6px;
}
.et_pb_ajax_pagination_container .et_pb_post .post-content{ margin-top:auto; }

/* ---------- corectii finale carduri articole ---------- */
.et_pb_ajax_pagination_container .et_pb_post h2.entry-title a,
.et_pb_ajax_pagination_container .et_pb_post .entry-title a,
.et_pb_posts .et_pb_post h2.entry-title a{ color:var(--cn-ink) !important; }
.et_pb_ajax_pagination_container .et_pb_post h2.entry-title a:hover,
.et_pb_posts .et_pb_post h2.entry-title a:hover{ color:var(--cn-brand) !important; }

/* ordinea in card: poza -> data -> titlu -> rezumat -> link */
.et_pb_ajax_pagination_container .et_pb_post .entry-featured-image-url{ order:1; }
.et_pb_ajax_pagination_container .et_pb_post .post-meta{
  order:2; text-align:left !important; margin:0 0 6px !important;
}
.et_pb_ajax_pagination_container .et_pb_post .entry-title{
  order:3; min-height:0 !important; margin-bottom:8px !important;
}
.et_pb_ajax_pagination_container .et_pb_post .post-content{ order:4; margin-top:0 !important; }

/* taiere curata a titlului (fara linie care se strecoara) */
.et_pb_ajax_pagination_container .et_pb_post .entry-title{
  max-height:calc(3 * 1.32em); overflow:hidden !important;
}
.et_pb_ajax_pagination_container .et_pb_post .post-content p{ max-height:calc(4 * 1.6em); }

/* tema forteaza display:flow-root -> anuleaza taierea pe randuri; suprascriem explicit */
.et_pb_ajax_pagination_container .et_pb_post .entry-title{
  display:-webkit-box !important; -webkit-box-orient:vertical; -webkit-line-clamp:3;
  line-height:1.3 !important; max-height:calc(3 * 1.3 * 17px) !important; overflow:hidden !important;
}
.et_pb_ajax_pagination_container .et_pb_post .post-content p{
  display:-webkit-box !important; -webkit-box-orient:vertical; -webkit-line-clamp:4;
  line-height:1.55 !important; max-height:calc(4 * 1.55 * 14.5px) !important; overflow:hidden !important;
}

/* ---------- control ferm asupra cardurilor (tema are specificitate mare) ---------- */
body #page-container .et_pb_ajax_pagination_container .et_pb_post h2.entry-title,
body #page-container .et_pb_ajax_pagination_container .et_pb_post .entry-title{
  font-size:17px !important; line-height:24px !important; font-weight:700 !important;
  max-height:72px !important; overflow:hidden !important; margin-bottom:8px !important;
  -webkit-mask-image:linear-gradient(to bottom, #000 74%, transparent 100%);
          mask-image:linear-gradient(to bottom, #000 74%, transparent 100%);
}
body #page-container .et_pb_ajax_pagination_container .et_pb_post .post-content,
body #page-container .et_pb_ajax_pagination_container .et_pb_post .post-content p{
  font-size:14.5px !important; line-height:22px !important;
}
body #page-container .et_pb_ajax_pagination_container .et_pb_post .post-content p{
  max-height:88px !important; overflow:hidden !important;
  -webkit-mask-image:linear-gradient(to bottom, #000 76%, transparent 100%);
          mask-image:linear-gradient(to bottom, #000 76%, transparent 100%);
}

/* articole fara poza: fara spatiu gol in card */
.et_pb_ajax_pagination_container .entry-featured-image-url:not(:has(img)){ display:none !important; }
