/* Varianta de mobil pentru portofoliu.
   ------------------------------------------------------------------
   De ce exista fisierul asta: site-ul e o clona a unui export Framer.
   Framer tine cate o varianta de DOM per breakpoint si comuta intre ele
   la hidratare. Motorul de hidratare a fost scos intentionat (albea
   pagina pe alt domeniu decat Framer), asa ca in HTML ramane DOAR
   varianta de desktop. CSS-ul de mobil al lui Framer se aplica partial:
   din 204 de clase din blocul (max-width: 809.98px), 48 tintesc
   elemente care nu exista in DOM, fiindca sunt create doar in varianta
   mobila. De aici vin suprapunerile.

   Ce corectam aici, tintit, fara sa atingem codul generat:
     1. antetul se aseza peste titlul din hero, iar navigatia iesea
        189 px in dreapta ecranului
     2. cardul "Meet the Founder" statea la x=579 pe un ecran de 390 px,
        deci butonul care deschide popupul era de neatins cu degetul
     3. sectiunea de intrebari se randa pe doua coloane de 171 px, iar
        textul se suprapunea peste imagine
     4. subsolul folosea acelasi doua-coloane, iar adresa de email la
        40 px se rupea in mijlocul cuvantului

   Selectoarele merg pe atributul data-framer-name, nu pe clasele cu
   hash: hash-urile difera de la pagina la pagina, numele nu. Verificat
   pe toate cele patru pagini.
   ------------------------------------------------------------------ */

@media (max-width: 809.98px) {

  /* --- 1. Antetul ---------------------------------------------------
     Containerul antetului e absolut, peste hero. Pe mobil il scoatem
     din pozitionarea absoluta, ca sa curga deasupra continutului in loc
     sa il acopere. :has cu copil direct prinde exact parintele antetului
     si nimic altceva. */
  div:has(> header[data-framer-name="Primary"]) {
    position: relative !important;
    height: auto !important;
    /* Scos din pozitionarea absoluta, containerul devine element flex al
       sectiunii Hero, care centreaza pe axa transversala: ajungea la
       258 px, pornind de la x=66. */
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
  }

  /* Pe latime nu incap unul langa altul: sigla, navigatia si cardul
     fondatorului insumeaza 665 px. Le asezam unul sub altul. */
  header[data-framer-name="Primary"] {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
    row-gap: 14px !important;
    /* Fara padding lateral: containerul e deja retras cu 24 px, la fel ca
       restul continutului paginii. */
    padding: 14px 0 !important;
    /* Latimea venea din varianta de desktop: 258 px, pornind de la x=66. */
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Navigatia din ANTET. Pe toate cele patru pagini se numeste
     "All Active". Nu adauga aici "Contact Active": acela e nav-ul din
     SUBSOLUL paginii Contact, si regulile de mai jos ii ascundeau
     numerele, lasand subsolul acelei pagini altfel decat restul. */
  nav[data-framer-name="All Active"] {
    flex-wrap: wrap !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-content: flex-start !important;
  }

  /* Numerele mici (01, 02...) de langa fiecare link mananca latime fara
     sa adauge informatie pe un ecran ingust. */
  nav[data-framer-name="All Active"] div[data-framer-name="Roll No"] {
    display: none !important;
  }

  /* Zona de atingere: linkurile aveau 19 px inaltime. */
  nav[data-framer-name="All Active"] a[data-framer-name="Menu Item"] {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }

  /* --- 2. Cardul fondatorului --------------------------------------
     Statea in afara ecranului, deci popupul nu se putea deschide de pe
     telefon. Il aducem in rand, la latime intreaga, sub navigatie. */
  div:has(> a[data-framer-name="Primary"]) {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    order: 3 !important;
  }

  a[data-framer-name="Primary"] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
  }

  /* --- 3. Sectiunea de intrebari -----------------------------------
     "Content" era flex row: imaginea si intrebarile, doua coloane de
     171 px, cu text suprapus. Le punem una sub alta. */
  /* Atentie la domeniu: numele "Content" apare pe 10 elemente in pagina,
     inclusiv pe fiecare rand de intrebare. O regula globala le-a strans
     pe toate la 1 px latime. Tintim doar coloana mare a sectiunii, prin
     calea completa: sectiunea de intrebari e singurul <section> numit
     "Desktop" (subsolul poarta acelasi nume, dar e <footer>). */
  section[data-framer-name="Desktop"] > div[data-framer-name="Container"] > div[data-framer-name="Content"] {
    flex-direction: column !important;
    align-items: stretch !important;
    row-gap: 28px !important;
    height: auto !important;
  }

  section[data-framer-name="Desktop"] > div[data-framer-name="Container"] > div[data-framer-name="Content"] > div {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }

  /* --- 3b. Pasii de proces din pagina Despre ------------------------
     Cei trei pasi (001 Discovery / 002 Build / 003 Launch) stateau pe
     rand. Pe 342 px, coloana de descriere ajungea la latime 0, iar cu
     word-break: break-word fiecare caracter cadea pe alt rand: un
     paragraf de 155 de caractere ocupa 2606 px inaltime. De aici venea
     pagina de 21 500 px, fata de 6 757 px pe desktop. */
  div[data-framer-name="L"] > div[data-framer-name="Container"] {
    flex-direction: column !important;
    align-items: stretch !important;
    height: auto !important;
    row-gap: 10px !important;
  }

  div[data-framer-name="L"] > div[data-framer-name="Container"] > div {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }

  /* Coloanele interioare mosteneau tot latimea zero. */
  div[data-framer-name="L"] div[data-framer-name="Content"],
  div[data-framer-name="L"] div[data-framer-name="Description"],
  div[data-framer-name="L"] div[data-framer-name="Text"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }

  /* --- 3c. Randurile de eticheta ("Details") ------------------------
     Perechile de tipul "(Process)" ... "(c) 2026" de sub titluri, pe
     paginile /, /about/ si /portfolio/. Contact nu are asa ceva.

     Doua lucruri le tineau in afara ecranului sub 810 px:
     - randul are gap: 467px si width: min-content, dintr-o clasa Framer
       partajata care nu are varianta de mobil, deci distanta de desktop
       se aplica la orice latime;
     - randul nu incepe la marginea parintelui, ci dupa un frate din
       acelasi rand flex, eticheta "(01)", care ocupa x=24..53. De aceea
       fortarea lui left si margin la 0 nu a avut niciun efect.
     La 390 px al doilea text ajungea la 579..620, complet in afara.

     NU folosi width: 100%. A fost incercat si masurat: randul tot
     porneste dupa fratele "(01)", deci ajunge la 53..395 pe 390 px, adica
     5 px taiati, si introduce o depasire si la 768 px, unde nu exista.
     Copiii raman neatinsi: au latimi fixe si continut pozitionat absolut,
     iar cu width: auto se strang la 0 px. */
  div[data-framer-name="Details"] {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    gap: 24px !important;
    justify-content: space-between !important;
  }

  /* --- 4. Subsolul --------------------------------------------------
     "Top" tinea tot doua coloane de 171 px: in stanga titlul urias plus
     emailul, in dreapta linkurile. */
  footer[data-framer-name="Desktop"] div[data-framer-name="Top"] {
    flex-direction: column !important;
    align-items: flex-start !important;
    row-gap: 40px !important;
    height: auto !important;
  }

  footer[data-framer-name="Desktop"] div[data-framer-name="Top"] > div[data-framer-name="Left"],
  footer[data-framer-name="Desktop"] div[data-framer-name="Top"] > div[data-framer-name="Right"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }

  /* Emailul la 40 px nu incape pe 390 px: "mindforgewr@gmail.com" se
     rupea in "mindforg / ewr@gm / ail.com". Scadem corpul de litera si
     lasam ruperea doar acolo unde e citibila. */
  footer[data-framer-name="Desktop"] a[href^="mailto:"],
  footer[data-framer-name="Desktop"] a[href^="mailto:"] *,
  /* Linkul de GitHub e o clona a emailului, dar cu alt href, deci regula
     de mai sus nu il prindea: ramanea la 40 px langa un email de 22 px. */
  footer[data-framer-name="Desktop"] a[data-vv-social="github-contact"],
  footer[data-framer-name="Desktop"] a[data-vv-social="github-contact"] * {
    font-size: 22px !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    letter-spacing: -0.01em !important;
  }

  /* Randul de jos iesea 94 px in dreapta. */
  footer[data-framer-name="Desktop"] div[data-framer-name="Bottom"] {
    flex-wrap: wrap !important;
    row-gap: 12px !important;
    height: auto !important;
  }

  footer[data-framer-name="Desktop"] div[data-framer-name="Year Details"] {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: flex-start !important;
  }

  /* --- 5. Plasa de siguranta ---------------------------------------
     Orice a mai ramas din varianta de desktop nu are voie sa impinga
     pagina pe orizontala. */
  html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* --- 5b. Banda "What I Do" din pagina Despre ---------------------
     E un marquee Framer. La scraping a fost surprins in miscare, iar
     pozitia a ramas scrisa inline in HTML: translateX(985.08px), pe un
     container lat de 400%. Fara hidratare nu se mai misca. Pe desktop
     1440 px, 400% inseamna 5760 px si banda tot acopera ecranul; pe
     390 px inseamna 1560 px impinsi cu 985 px, deci banda incepe la
     x=400 si nu se vede nimic din ea: 96 de texte, 2 vizibile, si o
     fasie goala de 521 px.

     Anulam deplasarea si lasam fasia sa se traga cu degetul.
     Doua selectoare: cel cu hash, exact, si unul stabil care prinde
     orice container din sectiunea L cu translateX scris inline. Al
     doilea supravietuieste unui re-scraping care schimba hash-ul. */
  /* Atentie: exista mai multe elemente numite "L". Pasii de proces sunt
     <div>, dar sectiunea "What I Do" e <section>, deci fara prefix de tag. */
  [data-framer-name="L"] .framer-rtzvv1-container,
  [data-framer-name="L"] div[class*="-container"][style*="translateX"] {
    transform: none !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Antetul sectiunii era impins 75 px in afara ecranului, in stanga. */
  [data-framer-name="L"] > div[data-framer-name="Top"] {
    transform: none !important;
  }

  /* --- 6. Sectiunea Awards din pagina Despre -----------------------
     Randurile pastrau doua coloane, si pe 390 px fiecare coloana ajungea
     la 58 px: titlul si anul deveneau cate un caracter pe rand, iar
     sectiunea crestea la 2866 px, fata de 714 px pe desktop. */
  section[data-framer-name="Awards"] div[data-framer-name="Content"] {
    flex-direction: column !important;
    align-items: stretch !important;
    row-gap: 4px !important;
    height: auto !important;
  }

  section[data-framer-name="Awards"] div[data-framer-name="Content"] > div {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }
}

/* --- 7. Intervalul 810-949 px --------------------------------------
   Telefon in peisaj (844, 896) si tableta in portret (810, 820). Aici nu
   se aplica nici regulile de mobil, nici asezarea de desktop: antetul
   pastreaza cele trei blocuri pe un rand, iar cardul fondatorului iese
   34 px in dreapta la 820 px si 21 px la 844 px. De la ~900 px incape
   singur, deci limita de sus e 949 px, ca sa nu atingem desktopul. */
@media (min-width: 810px) and (max-width: 949px) {

  header[data-framer-name="Primary"] {
    flex-wrap: wrap !important;
    height: auto !important;
    row-gap: 12px !important;
    /* Fara asta, sigla si cardul stau lipite de marginea din stanga:
       asezarea de desktop isi lua retragerea din latimi fixe, care la
       820 px nu mai incap. 24 px e retragerea folosita de restul paginii. */
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }

  /* Cardul trece pe randul urmator in loc sa fie taiat. */
  header[data-framer-name="Primary"] div:has(> a[data-framer-name="Primary"]) {
    max-width: 100% !important;
  }

  /* Coloanele din Awards raman pe rand la latimea asta, dar au nevoie de
     min-width: 0 ca sa nu se stivuiasca textul. */
  section[data-framer-name="Awards"] div[data-framer-name="Content"] > div {
    min-width: 0 !important;
  }
}

