/* ============================================================
   Fornetti — componente noi & dark mode & efecte moderne
   ============================================================ */

/* ===== Dark mode ===== */
:root[data-theme="dark"] {
  --cream: #17100b;
  --cream-2: #241a12;
  --ink: #FBEAD6;
  --ink-soft: #C7B2A0;
  --white: #211711;
  --shadow-sm: 0 4px 14px rgba(0,0,0,.35);
  --shadow-md: 0 18px 50px rgba(0,0,0,.5);
  --shadow-lg: 0 30px 80px rgba(0,0,0,.6);
}
/* suprafețe albe -> card-uri întunecate */
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .perk,
:root[data-theme="dark"] .point,
:root[data-theme="dark"] .frm,
:root[data-theme="dark"] .contact__list li,
:root[data-theme="dark"] .about__values li,
:root[data-theme="dark"] .cat-tab,
:root[data-theme="dark"] .news-card,
:root[data-theme="dark"] .retail-chip,
:root[data-theme="dark"] .tool-card { background: var(--white); color: var(--ink); }
:root[data-theme="dark"] .field input,
:root[data-theme="dark"] .field textarea,
:root[data-theme="dark"] .field select { background: var(--cream-2); color: var(--ink); border-color:#3a2a1d; }
:root[data-theme="dark"] .cat-tab { border-color:#3a2a1d; }
:root[data-theme="dark"] .products { background:linear-gradient(180deg, var(--cream), #120c08); }
:root[data-theme="dark"] .modal__box { background:#1b120d; }
:root[data-theme="dark"] .modal__media { background:#fff; } /* pozele produs rămân pe alb */

/* tranziție lină la schimbarea temei */
body, .card, .perk, .point, .frm, .nav, .footer { transition: background-color .4s var(--ease), color .4s var(--ease); }

/* ===== Scroll progress bar ===== */
.scroll-progress { position:fixed; top:0; left:0; height:3px; width:0%; z-index:200;
  background:linear-gradient(90deg, var(--gold), var(--magenta)); transition:width .1s linear; }

/* ===== Topbar: lang + theme ===== */
.topbar__inner { gap:1.2rem; }
.topbar__tools { display:flex; align-items:center; gap:1rem; }
.lang { position:relative; }
.lang__btn { display:flex; align-items:center; gap:.35rem; background:rgba(255,255,255,.12); color:#fff;
  border:0; cursor:pointer; padding:.3rem .7rem; border-radius:100px; font:inherit; font-size:.78rem; font-weight:700; }
.lang__btn:hover { background:rgba(255,255,255,.22); }
.lang__menu { position:absolute; top:120%; right:0; background:#fff; border-radius:12px; box-shadow:var(--shadow-md);
  overflow:hidden; min-width:140px; opacity:0; visibility:hidden; transform:translateY(8px); transition:.25s var(--ease); z-index:120; }
.lang.is-open .lang__menu { opacity:1; visibility:visible; transform:none; }
.lang__menu button { display:flex; width:100%; gap:.5rem; align-items:center; padding:.6rem .9rem; border:0; background:none;
  cursor:pointer; font:inherit; font-size:.9rem; color:var(--ink); text-align:left; }
.lang__menu button:hover { background:var(--cream-2); }
.lang__menu button.is-active { color:var(--orange); font-weight:800; }
.lang__flag { font-size:1.1rem; line-height:1; }

.theme-toggle { width:30px; height:30px; border-radius:50%; border:0; cursor:pointer; background:rgba(255,255,255,.12);
  color:#fff; display:grid; place-items:center; transition:.3s var(--ease); }
.theme-toggle:hover { background:rgba(255,255,255,.25); transform:rotate(20deg); }
.theme-toggle svg { width:16px; height:16px; }
.theme-toggle .icon-sun { display:none; }
:root[data-theme="dark"] .theme-toggle .icon-sun { display:block; }
:root[data-theme="dark"] .theme-toggle .icon-moon { display:none; }

/* ===== Social icons (SVG) ===== */
.soc-ic { width:16px; height:16px; fill:currentColor; display:block; }
.topbar__social a { color:#fff; }
.footer__social a svg { width:18px; height:18px; fill:currentColor; }
.social-row a svg { width:18px; height:18px; fill:currentColor; vertical-align:-3px; margin-right:.4rem; }

/* ===== WhatsApp float button ===== */
.wa { position:fixed; bottom:24px; right:24px; z-index:300; width:60px; height:60px; border-radius:50%;
  background:#25D366; color:#fff; display:grid; place-items:center; box-shadow:0 10px 30px rgba(37,211,102,.45);
  transition:transform .3s var(--ease); }
.wa:hover { transform:scale(1.1) translateY(-3px); }
.wa svg { width:32px; height:32px; fill:#fff; }
.wa::before { content:""; position:absolute; inset:0; border-radius:50%; background:#25D366; opacity:.5;
  animation:wa-pulse 2.2s ease-out infinite; z-index:-1; }
@keyframes wa-pulse { 0%{transform:scale(1);opacity:.5} 100%{transform:scale(1.9);opacity:0} }
.wa__tip { position:absolute; right:74px; top:50%; transform:translateY(-50%); background:var(--ink); color:var(--cream);
  padding:.5rem .9rem; border-radius:10px; font-size:.85rem; font-weight:600; white-space:nowrap; box-shadow:var(--shadow-md);
  opacity:0; pointer-events:none; transition:.25s var(--ease); }
.wa:hover .wa__tip { opacity:1; transform:translateY(-50%) translateX(-4px); }
@media (max-width:560px){ .wa{ width:54px; height:54px; bottom:18px; right:18px; } .wa__tip{ display:none; } }

/* ===== Cookie banner ===== */
.cookie { position:fixed; left:24px; right:24px; bottom:24px; z-index:400; max-width:520px;
  background:var(--white); color:var(--ink); border-radius:18px; box-shadow:var(--shadow-lg); padding:1.6rem;
  border:1px solid rgba(0,0,0,.06); transform:translateY(150%); transition:transform .5s var(--ease); }
:root[data-theme="dark"] .cookie { background:#241a12; border-color:rgba(255,255,255,.08); }
.cookie.is-visible { transform:none; }
.cookie h3 { font-size:1.15rem; margin-bottom:.4rem; }
.cookie p { font-size:.88rem; color:var(--ink-soft); margin-bottom:1rem; }
.cookie__row { display:flex; gap:.6rem; flex-wrap:wrap; }
.cookie__row .btn { padding:.7rem 1.2rem; font-size:.85rem; }
.cookie__link { background:none; border:0; color:var(--orange); font:inherit; font-weight:700; cursor:pointer; text-decoration:underline; padding:0; }
/* modal setări cookie */
.cookie-modal { position:fixed; inset:0; z-index:1100; display:none; align-items:center; justify-content:center; padding:24px; }
.cookie-modal.is-open { display:flex; }
.cookie-modal__box { position:relative; z-index:2; width:min(560px,100%); max-height:88vh; overflow-y:auto;
  background:var(--white); color:var(--ink); border-radius:20px; box-shadow:var(--shadow-lg); padding:2rem; }
.ck-opt { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--cream-2); }
.ck-opt h4 { font-size:1rem; } .ck-opt p { font-size:.84rem; color:var(--ink-soft); margin-top:.2rem; }
.ck-always { font-size:.78rem; font-weight:800; color:var(--c-food); text-transform:uppercase; }
/* switch */
.switch { position:relative; width:46px; height:26px; flex:none; }
.switch input { opacity:0; width:0; height:0; }
.switch span { position:absolute; inset:0; background:#c9bdb0; border-radius:100px; cursor:pointer; transition:.3s; }
.switch span::before { content:""; position:absolute; width:20px; height:20px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.3s; }
.switch input:checked + span { background:var(--orange); }
.switch input:checked + span::before { transform:translateX(20px); }

/* ===== Map ===== */
.map-wrap { margin-top:2rem; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-md); }
#leafletMap { height:380px; width:100%; }
.leaflet-container { font-family:inherit; }

/* ===== News (Știri) ===== */
.news-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.4rem; }
.news-card { background:#fff; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm);
  transition:transform .35s var(--ease), box-shadow .35s; display:flex; flex-direction:column; }
.news-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.news-card__top { height:8px; background:linear-gradient(90deg, var(--orange), var(--magenta)); }
.news-card__body { padding:1.5rem; }
.news-card__tag { display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  color:#fff; background:var(--magenta); padding:.25rem .6rem; border-radius:100px; margin-bottom:.7rem; }
.news-card__date { font-size:.8rem; color:var(--ink-soft); float:right; }
.news-card h3 { font-size:1.15rem; margin-bottom:.5rem; }
.news-card p { color:var(--ink-soft); font-size:.92rem; }

/* ===== Tool cards (caută ingrediente, calculator) ===== */
.tool-card { background:#fff; border-radius:var(--r-lg); padding:2rem; box-shadow:var(--shadow-sm); margin-bottom:2rem; }
.tool-card h3 { font-size:1.3rem; margin-bottom:.4rem; }
.tool-card p { color:var(--ink-soft); margin-bottom:1.2rem; }
.tool-input { width:100%; padding:1rem 1.2rem; border:2px solid var(--cream-2); border-radius:100px; font:inherit;
  background:var(--cream); color:var(--ink); }
.tool-input:focus { outline:none; border-color:var(--orange); }
.chip-row { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.alg-chip { padding:.45rem 1rem; border-radius:100px; font-weight:700; font-size:.85rem; cursor:pointer;
  background:var(--cream-2); color:var(--ink); border:2px solid transparent; transition:.2s var(--ease); }
.alg-chip:hover { transform:translateY(-2px); }
.alg-chip.is-active { background:var(--magenta); color:#fff; }
.tool-results { margin-top:1.6rem; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.calc-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; align-items:end; }
.calc-out { background:linear-gradient(120deg, var(--orange), var(--orange-deep)); color:#fff; border-radius:var(--r-lg);
  padding:1.6rem; text-align:center; margin-top:1.4rem; }
.calc-out b { display:block; font-family:"Fraunces",serif; font-size:2.6rem; line-height:1; }

/* ===== Professional footer (multi-coloană) ===== */
.footer-pro { background:#140d08; color:var(--cream); padding:4rem 24px 1.5rem; }
:root[data-theme="dark"] .footer-pro { background:#0d0805; }
.footer-pro__grid { max-width:var(--max); margin:0 auto; display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.4fr; gap:2.5rem; padding-bottom:2.5rem; border-bottom:1px solid rgba(255,255,255,.1); }
.footer-pro__brand .brand__logo { height:42px; margin-bottom:1rem; }
.footer-pro__brand p { color:rgba(255,246,236,.6); font-size:.92rem; max-width:300px; }
.footer-pro__col h4 { font-size:.82rem; text-transform:uppercase; letter-spacing:.1em; color:var(--gold); margin-bottom:1rem; }
.footer-pro__col a { display:block; color:rgba(255,246,236,.72); font-size:.92rem; padding:.3rem 0; cursor:pointer; transition:color .25s, padding-left .25s; }
.footer-pro__col a:hover { color:#fff; padding-left:.3rem; }
.footer-pro__news p { color:rgba(255,246,236,.6); font-size:.9rem; margin-bottom:1rem; }
.footer-pro__form { display:flex; gap:.5rem; }
.footer-pro__form input { flex:1; padding:.8rem 1rem; border-radius:100px; border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08); color:#fff; font:inherit; font-size:.9rem; }
.footer-pro__form input::placeholder { color:rgba(255,255,255,.5); }
.footer-pro__form button { border:0; cursor:pointer; background:var(--orange); color:#fff; border-radius:50%;
  width:44px; height:44px; flex:none; font-size:1.2rem; transition:.25s var(--ease); }
.footer-pro__form button:hover { background:var(--orange-deep); transform:scale(1.08); }
.footer-pro__social { display:flex; gap:.6rem; margin-top:1.3rem; }
.footer-pro__social a { width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.1); color:#fff;
  display:grid; place-items:center; transition:.3s var(--ease); }
.footer-pro__social a:hover { background:var(--gold); color:var(--ink); transform:translateY(-3px); }
.footer-pro__social a svg { width:18px; height:18px; fill:currentColor; }
.footer-pro__bottom { max-width:var(--max); margin:1.5rem auto 0; display:flex; justify-content:space-between;
  gap:1rem; flex-wrap:wrap; font-size:.82rem; color:rgba(255,246,236,.45); }
.footer-pro__bottom a { color:rgba(255,246,236,.6); cursor:pointer; } .footer-pro__bottom a:hover { color:var(--gold); }

/* ===== Efecte vizuale moderne ===== */
.gradient-text { background:linear-gradient(120deg, var(--orange), var(--magenta)); -webkit-background-clip:text;
  background-clip:text; color:transparent; }
.tilt { transition:transform .25s var(--ease); }
.hero__title { animation:hero-in 1s var(--ease) both; }
@keyframes hero-in { from{opacity:0; transform:translateY(30px)} to{opacity:1; transform:none} }
/* floating blobs pe paginile interioare deja existente; aici un glow pe carduri */
.card::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:0 0 0 0 rgba(236,106,30,0);
  transition:box-shadow .4s; pointer-events:none; }
.card { position:relative; }
.card:hover::after { box-shadow:0 0 0 3px rgba(236,106,30,.25); }

/* ===== Pagini cu conținut complet ===== */
.rich-body { max-width:820px; margin:0 auto; }
.rich-sec { margin-bottom:2.2rem; }
.rich-sec h2 { font-size:clamp(1.3rem,2.6vw,1.7rem); margin-bottom:.6rem; }
.rich-sec p { color:var(--ink-soft); font-size:1.05rem; line-height:1.75; }
.rich-sec + .rich-sec { padding-top:1.6rem; border-top:1px solid var(--cream-2); }

/* ===== Echipa de management ===== */
.team-section { margin-bottom:3rem; }
.team-section h2 { font-size:clamp(1.5rem,3vw,2.2rem); text-align:center; margin-bottom:.4rem; }
.team-section__sub { text-align:center; color:var(--ink-soft); margin-bottom:2.2rem; }
.team-grid { display:grid; gap:1.6rem; }
.team-grid--lead { grid-template-columns:repeat(3,1fr); margin-bottom:2.5rem; }
.team-grid--rest { grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); }

.tcard { background:#fff; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column; transition:transform .35s var(--ease), box-shadow .35s; }
:root[data-theme="dark"] .tcard { background:var(--white); }
.tcard:hover { transform:translateY(-7px); box-shadow:var(--shadow-lg); }
.tcard__photo { position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--cream-2); }
.tcard__photo img { width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .5s var(--ease); }
.tcard:hover .tcard__photo img { transform:scale(1.05); }
.tcard__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(42,26,18,.35)); }
.tcard__role { position:absolute; left:0; bottom:0; z-index:2; padding:.4rem .9rem; margin:.8rem; border-radius:100px;
  font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; color:#fff; background:var(--magenta); }
.tcard--lead .tcard__role { background:var(--orange); }
.tcard__body { padding:1.2rem 1.3rem 1.4rem; }
.tcard__name { font-family:"Fraunces",serif; font-weight:900; font-size:1.2rem; }
.tcard__pos { color:var(--orange); font-weight:700; font-size:.86rem; margin:.15rem 0 .7rem; }
.tcard--lead .tcard__pos { color:var(--magenta); }
.tcard__bio { color:var(--ink-soft); font-size:.88rem; line-height:1.55;
  display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
.tcard__more { margin-top:.7rem; background:none; border:0; padding:0; cursor:pointer; font:inherit;
  color:var(--magenta); font-weight:800; font-size:.82rem; }
.tcard.is-expanded .tcard__bio { -webkit-line-clamp:unset; }

@media (max-width:760px){ .team-grid--lead{ grid-template-columns:1fr; } }
@media (max-width:480px){ .team-grid--rest{ grid-template-columns:1fr 1fr; } }

@media (max-width:860px){ .footer-pro__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-pro__grid{ grid-template-columns:1fr; } .calc-grid{ grid-template-columns:1fr; } }
