/* Completari la CSS-ul compilat din aplicatia Next.js (nu il inlocuiesc). */

/* honeypot: invizibil pentru oameni */
.rofu-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* elemente care existau doar pe desktop sau doar pe mobil in React (useMobile: 769px) */
@media (min-width: 769px) {
  [data-rofu-show="mobile"] { display: none !important; }
}
@media (max-width: 768px) {
  [data-rofu-show="desktop"] { display: none !important; }
}

/* select nativ, in locul react-select (acelasi aspect: control 55px, fundal #F4F7FB, sageata portocalie) */
select.rofu-select {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  max-width: 464px;
  min-height: 55px;
  box-sizing: border-box;
  padding: 2px 44px 2px 16px;
  background-color: #f4f7fb;
  border: 1px solid #e1e5ea;
  border-radius: 8px;
  color: #2b2e3f;
  font: inherit;
  cursor: pointer;
  outline: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><path fill='%23f9ac1a' d='M4.516 7.548c.436-.446 1.043-.481 1.576 0L10 11.295l3.908-3.747c.533-.481 1.141-.446 1.574 0 .436.445.408 1.197 0 1.615-.406.418-4.695 4.502-4.695 4.502-.217.223-.502.335-.787.335s-.57-.112-.789-.335c0 0-4.287-4.084-4.695-4.502s-.436-1.17 0-1.615z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
select.rofu-select:focus-visible {
  border-color: #ef4023;
}

/* notificare: contrast la deschidere */
section[data-rofu-modal] {
  position: relative;
  z-index: 10000;
}

/* v3: variantele desktop/mobil ale sectiunilor (data-rofu-bp) au fost unite: imaginile diferite se aleg cu <picture>,
   elementele doar-desktop au .rofu3-not-mobile (pragul: mobil <= 768px, ca in vechiul data-rofu-bp) */
picture.rofu3-pic { display: contents; }
@media (max-width: 768px) {
  .rofu3-not-mobile { display: none !important; }
}

/* captcha propriu: acelasi aspect ca celelalte campuri ale formularului */
[data-captcha="builtin"] input[type="text"] {
  box-sizing: border-box;
  width: 464px;
  max-width: 100%;
  height: 55px;
  padding: 0 18px;
  background: #f4f7fb;
  border: 1px solid #e1e5ea;
  border-radius: 8px;
  color: #2b2e3f;
  font: 400 14px/19px var(--font-open-sans), "Open Sans", sans-serif;
  outline: 0;
}
[data-captcha="builtin"] input[type="text"]::placeholder { color: #2b2e3f; opacity: 1; }
[data-captcha="builtin"] input[type="text"]:focus { border-color: #ef4023; }

/* meniul de sus din footer: separator " · " intre linkuri */
footer ul[class*="footer-top-menu"]:not([class*="sub-menu"]) > li:not(:last-child)::after {
  content: "\00b7";
  display: inline-block;
  margin: 0 .6em;
  color: #2b2e3f;
}
footer ul[class*="footer-top-menu"]:not([class*="sub-menu"]) { align-items: center; justify-content: flex-start; flex-wrap: wrap; column-gap: 0; padding-right: 0; }
footer ul[class*="footer-top-menu"]:not([class*="sub-menu"]) > li { display: flex; align-items: center; }

/* ======================= v2: ambele limbi in aceeasi pagina ======================= */
[data-l] { display: contents; }
html[lang="ro"] [data-l="en"],
html[lang="en"] [data-l="ro"] { display: none !important; }
[data-l][hidden], main[hidden] { display: none !important; } /* v3: limba inactiva (wrapper + main) are si atributul hidden */
[data-anchor], details[id] { scroll-margin-top: calc(var(--rofu-header-h, 100px) + 16px); } /* v3: tinta ancorei nu intra sub header-ul fixat */
.rofu2-skip { position: absolute; left: -9999px; top: 0; z-index: 1000; background: #fff; color: #111; padding: 10px 14px; }
.rofu2-skip:focus { left: 8px; top: 8px; }
.rofu2-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:where(h1[class*="simple-hero-"]) { margin: 0; }

/* ----- banda cu termene + butoane (home) ----- */
.rofu2-band { padding: 28px 0 8px; }
.rofu2-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.rofu2-facts li { border-left: 3px solid #bb5700; padding: 4px 0 4px 14px; display: flex; flex-direction: column; gap: 4px; }
.rofu2-facts strong { font-size: 1.35rem; line-height: 1.2; color: #00022b; }
.rofu2-facts span { font-size: .9rem; color: #5b6270; line-height: 1.35; }
.rofu2-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 0; }
.rofu2-actions .cta { margin: 0; }
@media (max-width: 991px) { .rofu2-facts { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .rofu2-facts { grid-template-columns: 1fr; } .rofu2-actions .cta { width: 100%; } }

/* ----- "Pentru cine", aplicatie, FAQ (home) ----- */
.rofu2-more { padding: 40px 0 24px; }
.rofu2-more h2 { font-size: 1.6rem; margin: 0 0 18px; color: #00022b; }
.rofu2-more h3 { font-size: 1.1rem; margin: 0 0 8px; color: #00022b; }
.rofu2-more p { margin: 0 0 10px; line-height: 1.55; color: #2b2e3f; }
.rofu2-who { list-style: none; margin: 0 0 36px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rofu2-who li { background: #f6f7f9; border-radius: 12px; padding: 20px; }
.rofu2-split { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.rofu2-faqlinks { list-style: none; margin: 0 0 12px; padding: 0; }
.rofu2-faqlinks li { padding: 7px 0; border-bottom: 1px solid #e4e7ec; }
.rofu2-faqlinks a { color: #00022b; text-decoration: none; }
.rofu2-faqlinks a:hover { text-decoration: underline; }
.rofu2-link { color: #bb5700; font-weight: 600; text-decoration: none; }
.rofu2-link:hover { text-decoration: underline; }
@media (max-width: 767px) { .rofu2-who, .rofu2-split { grid-template-columns: 1fr; } }

/* ----- pagini noi (FAQ, aplicatie) ----- */
.rofu2-page h1 { font-size: 2rem; margin: 0 0 12px; }
.rofu2-lead { font-size: 1.1rem; color: #2b2e3f; margin: 0 0 28px; }
.rofu2-faq details { border-bottom: 1px solid #e4e7ec; padding: 14px 0; }
.rofu2-faq summary { cursor: pointer; font-weight: 600; font-size: 1.05rem; list-style: none; position: relative; padding-right: 28px; }
.rofu2-faq summary::-webkit-details-marker { display: none; }
.rofu2-faq summary::after { content: "+"; position: absolute; right: 4px; top: -2px; font-size: 1.5rem; color: #bb5700; }
.rofu2-faq details[open] summary::after { content: "–"; }
.rofu2-faq details p { margin: 10px 0 0; line-height: 1.6; }
.rofu2-more-link, p.rofu2-more { margin-top: 28px; }
.rofu2-features { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 28px; }
.rofu2-features li { display: flex; flex-direction: column; gap: 4px; padding: 14px 0; border-bottom: 1px solid #e4e7ec; }
.rofu2-features strong { font-size: 1.05rem; }
.rofu2-features span { color: #2b2e3f; line-height: 1.5; }
.rofu2-note { color: #5b6270; font-size: .9rem; margin-top: 18px; }
@media (max-width: 767px) { .rofu2-features { grid-template-columns: 1fr; } }

/* ----- v2: corecturi de afisare pe mobil ----- */
footer ul[class*="footer-bottom-menu"] li { max-width: 100%; }
footer ul[class*="footer-bottom-menu"] li[class*="last-item"] a { display: block; white-space: normal; text-align: center; }
[data-captcha] input[name="captcha_answer"] { width: 100%; max-width: 100%; box-sizing: border-box; }
:where(h1[class*="request-offer-form-roful-"]) { margin: 0; }
.legal h1 { font-size: 1.5em; margin: 40px 0; }
.rofu2-page .rofu2-actions { margin-top: 8px; }
.legal.rofu2-page { padding-top: 70px; padding-bottom: 90px; }
.legal.rofu2-page h1 { font-size: 2rem; margin: 0 0 12px; }
@media (max-width: 767px) { .legal.rofu2-page { padding-top: 40px; padding-bottom: 50px; } .legal.rofu2-page h1 { font-size: 1.6rem; } }


/* ======================= v3 ======================= */
/* meniu: elementele nu se rup pe doua randuri */
header[data-site-header] nav > ul > li > a { white-space: nowrap; }
/* butoanele din hero */
.rofu2-hero-actions { margin-top: 22px; }
/* subsol: contact + banda grupului (mutata din capul paginii) */
.rofu3-contact { padding: 6px 0 18px; color: #2b2e3f; font-size: .95rem; }
.rofu3-contact p { margin: 4px 0; }
.rofu3-contact a { color: #00022b; text-decoration: none; }
.rofu3-contact a:hover { text-decoration: underline; }
.rofu3-group { border-top: 1px solid #e4e7ec; }
.rofu3-group > div > div { padding-top: 10px; padding-bottom: 10px; }
/* calculator: link stilizat ca buton */
a.rofu-calc__btn { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
/* hero: butonul secundar ramane alb cu contur (in hero, .cta mostenea fundalul portocaliu) */
.rofu2-hero-actions .btn_secondary .cta_button { background: #fff !important; color: #bb5700 !important; border: 1px solid #bb5700 !important; }
.rofu2-hero-actions .btn_secondary .cta_button p { color: #bb5700 !important; }
/* logo-ul din meniu nu se micsoreaza cand sunt mai multe elemente */
header[data-site-header] nav > div[class*="logo-container"] { flex-shrink: 0; }
header[data-site-header] nav > div[class*="logo-container"] img { min-width: 150px; height: auto; }

/* ======================= v3 HTML5 ======================= */
/* titlurile sectiunilor sunt acum h2/h3 (inainte div); pastram aspectul din clasele lor */
main :where(h2, h3)[class*="-title"] { margin: 0; }
.rofu2-center { text-align: center; }
/* butoanele din meniu sunt linkuri (fara <button> in <a>) */
.hbtn { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
a:has(> .hbtn) { text-decoration: none; }
/* spatiul de sub header-ul fixat (inaltimea reala e setata din site.js) */
main { margin-top: var(--rofu-header-h, 100px); }
@media (max-width: 768px) { main { margin-top: var(--rofu-header-h, 77px); } }
/* meniu compact intre 1200 si 1599 px (un element in plus fata de v2 si etichete EN mai lungi) */
@media (min-width: 1200px) and (max-width: 1719px) {
  header[data-site-header] nav > ul > li { padding-left: 20px; }
  header[data-site-header] nav > ul > li > a { font-size: 15px; }
  header[data-site-header] nav > ul > li > a > .hbtn { padding-left: 12px; padding-right: 12px; font-size: 15px; }
}
@media (min-width: 1200px) and (max-width: 1339px) {
  header[data-site-header] nav > ul > li { padding-left: 14px; }
  header[data-site-header] nav > ul > li > a { font-size: 14px; }
  header[data-site-header] nav > ul > li > a > .hbtn { padding-left: 10px; padding-right: 10px; font-size: 14px; }
}
/* v3: sectiunea cu harta depozitului (Contact) */
.rofu3-map-section { padding: 0 0 80px; color: #00022b; }
.rofu3-map-section h2 { font-family: var(--font-poppins); font-weight: 700; font-size: 32px; line-height: 1.2; margin: 0 0 16px; }
.rofu3-map-lead { font-family: var(--font-open-sans); font-size: 18px; line-height: 1.6; margin: 0 0 24px; }
.rofu3-map { position: relative; aspect-ratio: 16 / 7; border-radius: 16px; overflow: hidden; background: #f4f7fb; }
.rofu3-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rofu3-map-section p a { color: #bb5700; font-weight: 600; }
@media (max-width: 768px) { .rofu3-map-section { padding-bottom: 48px; } .rofu3-map-section h2 { font-size: 26px; } .rofu3-map { aspect-ratio: auto; height: 320px; } }
/* v3: bannerul de consimtamant pentru cookie-urile de analiza + butonul-link 'Setari cookie' din subsol */
.rofu3-consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1200; margin: 0 auto; max-width: 720px; box-sizing: border-box; padding: 20px 24px; background: #fff; color: #00022b; border-radius: 16px; box-shadow: 0 8px 32px rgba(0, 2, 43, 0.22); font-family: var(--font-open-sans), "Open Sans", sans-serif; }
.rofu3-consent[hidden] { display: none !important; }
.rofu3-consent p { margin: 0 0 14px; font-size: 15px; line-height: 1.5; }
.rofu3-consent p a { color: #bb5700; font-weight: 600; }
.rofu3-consent-actions { display: flex; gap: 12px; justify-content: flex-end; flex-wrap: wrap; }
.rofu3-consent-actions button { font: 600 15px/1 var(--font-poppins), "Poppins", sans-serif; padding: 12px 22px; border-radius: 999px; border: 1px solid #bb5700; background: #fff; color: #bb5700; cursor: pointer; }
.rofu3-consent-actions button.rofu3-consent-accept { background: #bb5700; color: #fff; }
.rofu3-consent-actions button:focus-visible { outline: 3px solid #00022b; outline-offset: 2px; }
.rofu3-linkbtn { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; cursor: pointer; text-decoration: underline; }
@media (max-width: 480px) { .rofu3-consent { left: 8px; right: 8px; bottom: 8px; padding: 16px; } .rofu3-consent-actions button { flex: 1 1 auto; } }
/* v3: cifre reale pe Acasa + galeria de capturi pe /app */
.rofu3-stats { padding: 56px 0 48px; background: #f4f7fb; color: #00022b; }
.rofu3-stats h2 { font-family: var(--font-poppins), "Poppins", sans-serif; font-weight: 700; font-size: 32px; line-height: 1.2; margin: 0 0 28px; }
.rofu3-stats-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px 28px; }
.rofu3-stats-grid li { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: #fff; border-radius: 14px; box-shadow: 0 2px 10px rgba(0, 2, 43, 0.06); }
.rofu3-stats-grid strong { font-family: var(--font-poppins), "Poppins", sans-serif; font-size: 34px; line-height: 1.1; color: #bb5700; }
.rofu3-stats-grid span { font-family: var(--font-open-sans), "Open Sans", sans-serif; font-size: 15px; line-height: 1.45; color: #2b2e3f; }
.rofu3-stats-note { margin: 20px 0 0; font-size: 13px; color: #5b6270; }
@media (max-width: 1023px) { .rofu3-stats-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .rofu3-stats { padding: 40px 0 32px; } .rofu3-stats h2 { font-size: 26px; } .rofu3-stats-grid { gap: 12px; } .rofu3-stats-grid strong { font-size: 28px; } }
.rofu3-shots-title { font-size: 1.5rem; margin: 8px 0 6px; color: #00022b; }
.rofu3-shots-lead { color: #5b6270; margin: 0 0 20px; }
.rofu3-shots { list-style: none; margin: 0 0 36px; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.rofu3-shots figure { margin: 0; }
.rofu3-shots a { display: block; border: 1px solid #e4e7ec; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 18px rgba(0, 2, 43, 0.08); background: #fff; }
.rofu3-shots img { display: block; width: 100%; height: auto; }
.rofu3-shots figcaption { margin-top: 10px; font-size: .95rem; line-height: 1.5; color: #2b2e3f; }
.rofu3-shots figcaption strong { color: #00022b; }
@media (max-width: 767px) { .rofu3-shots { grid-template-columns: 1fr; gap: 22px; } }
