/* TinyLand: antetul, meniul de pe telefon și subsolul (parts/tl-header.php, parts/tl-footer.php).
   Valorile sunt din handoff: „Header”, „A9 · Footer”, „Butoane”. Telefon și tabletă ≤ 1024 px, desktop ≥ 1025 px.
   Selectorii au o clasă-părinte în față (specificitate 0,2,0), ca regulile Astra și ale kit-ului Elementor pentru
   `button`, `a`, `button:hover` (0,1,1) să nu le poată suprascrie. Iconițele sunt SVG cu fill="currentColor". */

/* Antetul de pe prima pagină se așază absolut față de #page, nu față de fereastră (contează cu bara de admin). */
#page { position: relative; }

.tl-iconita { display: block; flex: none; }

/* ───────── Antet ───────── */

.tl-antet {
  position: relative;
  z-index: 20;
  background: var(--tl-night);
  color: #FFFFFF;
  font-family: var(--tl-font);
}
/* Prima pagină: transparent, peste hero. Selectorul cu #masthead bate „.ehf-header #masthead { position: relative }”
   din Header Footer Elementor (vine cu Aloha Powerpack). */
.tl-antet--peste,
body #masthead.tl-antet--peste {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: transparent;
}

.tl-antet .tl-antet__bara {
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  max-width: var(--tl-container);
  margin: 0 auto;
  padding: 8px 8px 8px 20px;
}

.tl-antet .tl-antet__logo,
.tl-panou .tl-antet__logo {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #FFFFFF;
  font: 700 var(--tl-logo)/1 var(--tl-font);
  letter-spacing: -0.01em;
  text-decoration: none;
}
.tl-antet .tl-antet__logo:hover,
.tl-panou .tl-antet__logo:hover { color: #FFFFFF; }

.tl-antet .tl-antet__nav,
.tl-antet .tl-antet__wa { display: none; }

.tl-antet .tl-antet__mobil { display: flex; gap: 2px; }

/* Telefon, meniu, închidere: 44 × 44, transparente, iconiță albă. */
.tl-antet .tl-antet__icon,
.tl-panou .tl-antet__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--tl-r-sm);
  background: transparent;
  color: #FFFFFF;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}
.tl-antet .tl-antet__icon:hover,
.tl-panou .tl-antet__icon:hover { background: transparent; color: var(--tl-gold); }

/* Butoanele WhatsApp (antet desktop, panou, subsol): verde doar pentru WhatsApp. */
.tl-antet .tl-antet__wa,
.tl-panou .tl-panou__wa,
.tl-subsol .tl-subsol__wa {
  align-items: center;
  box-sizing: border-box;
  border: 0;
  border-radius: var(--tl-r-sm);
  background: var(--tl-wa);
  color: #FFFFFF;
  font-family: var(--tl-font);
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.tl-antet .tl-antet__wa:hover,
.tl-panou .tl-panou__wa:hover,
.tl-subsol .tl-subsol__wa:hover { background: var(--tl-wa-hover); color: #FFFFFF; }

@media (min-width: 1025px) {
  .tl-antet .tl-antet__bara {
    justify-content: flex-start;
    gap: 40px;
    height: 88px;
    padding: 0 40px;
  }
  .tl-antet .tl-antet__nav { display: block; margin-left: auto; }
  .tl-antet .tl-antet__lista {
    display: flex;
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .tl-antet .tl-antet__lista li { margin: 0; padding: 0; }
  .tl-antet .tl-antet__lista a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: #FFFFFF;
    font: 500 15px/1 var(--tl-font);
    text-decoration: none;
    white-space: nowrap;
  }
  .tl-antet .tl-antet__lista a:hover { color: var(--tl-gold); }

  .tl-antet .tl-antet__wa {
    display: inline-flex;
    gap: 8px;
    height: 44px;
    padding: 0 18px;
    font-size: 15px;
  }
  .tl-antet .tl-antet__mobil { display: none; }
}

/* Între 1025 și 1199 px antetul de desktop abia încape (cu bara de derulare, la 1025 px rămân ~1010 px):
   spațiile se strâng puțin, ca meniul să nu se rupă. */
@media (min-width: 1025px) and (max-width: 1199px) {
  .tl-antet .tl-antet__bara { gap: 24px; }
  .tl-antet .tl-antet__lista { gap: 20px; }
}

/* ───────── Meniul de pe telefon și tabletă: panou peste pagină, pe Noapte ───────── */

.tl-panou {
  position: fixed;
  inset: 0;
  z-index: 100000;             /* peste bara de admin WordPress (99999) */
  display: flex;
  justify-content: flex-end;
  font-family: var(--tl-font);
}
.tl-panou[hidden] { display: none; }

.tl-panou .tl-panou__fundal {
  position: absolute;
  inset: 0;
  background: rgba(15, 18, 22, 0.6);
}

.tl-panou .tl-panou__cutie {
  position: relative;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  max-width: 400px;
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--tl-night);
  color: #FFFFFF;
}

.tl-panou .tl-panou__sus {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: space-between;
  padding: 8px 8px 8px 20px;
}

.tl-panou .tl-panou__nav { flex: none; padding: 8px 20px 0; margin-bottom: 32px; }
.tl-panou .tl-panou__lista { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--tl-line-dark); }
.tl-panou .tl-panou__lista li { margin: 0; padding: 0; border-bottom: 1px solid var(--tl-line-dark); }
.tl-panou .tl-panou__lista a {
  display: flex;
  align-items: center;
  min-height: 56px;            /* rânduri de cel puțin 48 px (handoff) */
  color: #FFFFFF;
  font: 500 18px/1.2 var(--tl-font);
  text-decoration: none;
}
.tl-panou .tl-panou__lista a:hover { color: var(--tl-gold); }

.tl-panou .tl-panou__wa {        /* jos în panou, pe toată lățimea */
  display: flex;
  flex: none;
  justify-content: center;
  gap: 10px;
  height: 52px;
  margin: auto 20px calc(24px + env(safe-area-inset-bottom, 0px));
  padding: 0 16px;
  font-size: 16px;
}

/* ───────── Subsol (A9) ───────── */

.tl-subsol {
  background: var(--tl-night);
  color: #FFFFFF;
  font-family: var(--tl-font);
  padding: 56px 0 32px;
}
.tl-subsol .tl-subsol__interior {
  display: flex;
  flex-direction: column;
  gap: 40px;
  box-sizing: border-box;
  max-width: var(--tl-container);
  margin: 0 auto;
  padding: 0 var(--tl-gutter);
}
.tl-subsol .tl-subsol__sus {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 36px 64px;
}
.tl-subsol .tl-subsol__col {
  display: flex;
  flex: 1 1 260px;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}
.tl-subsol .tl-subsol__col--firma { gap: 12px; }
.tl-subsol .tl-subsol__col--adresa { flex-basis: 220px; }

.tl-subsol p { margin: 0; }
.tl-subsol .tl-subsol__logo {
  color: #FFFFFF;
  font: 700 22px/1 var(--tl-font);
  letter-spacing: -0.01em;
}
.tl-subsol .tl-subsol__text {
  color: var(--tl-on-dark);
  font: 400 15px/1.6 var(--tl-font);
}
.tl-subsol .tl-subsol__text--scurt { max-width: 300px; }
.tl-subsol .tl-subsol__eticheta {
  color: var(--tl-gold);
  font: 600 12px/1.3 var(--tl-font);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Telefonul: 28 px, cu țintă de 44 px; marginile negative păstrează distanțele din design. */
.tl-subsol .tl-subsol__tel {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 44px;
  margin: -7px 0;
  color: #FFFFFF;
  font: 600 28px/1.1 var(--tl-font);
  letter-spacing: -0.01em;
  text-decoration: none;
}
.tl-subsol .tl-subsol__tel:hover { color: var(--tl-gold); }

.tl-subsol .tl-subsol__wa {
  display: inline-flex;
  align-self: flex-start;
  gap: 10px;
  height: 48px;
  padding: 0 20px;
  font-size: 15px;
}

.tl-subsol .tl-subsol__jos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 24px;
  padding-top: 24px;
  border-top: 1px solid var(--tl-line-dark);
  color: var(--tl-on-dark);
  font: 400 13px/1.5 var(--tl-font);
}
.tl-subsol .tl-subsol__jos a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  color: var(--tl-on-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.tl-subsol .tl-subsol__jos a:hover { color: var(--tl-gold); }

@media (min-width: 1025px) {
  .tl-subsol { padding: 80px 0 40px; }
}

/* Logo-ul (13 oct): cercul auriu în locul textului „TinyLand”. 44 px pe telefon și tabletă, 64 px pe desktop, 88 în subsol. */
.tl-antet .tl-antet__logo-img,
.tl-panou .tl-antet__logo-img { display: block; width: 44px; height: 44px; }
.tl-subsol .tl-subsol__logo-img { display: block; width: 88px; height: 88px; }
@media (min-width: 1025px) {
  .tl-antet .tl-antet__logo-img { width: 64px; height: 64px; }
}

/* „Setări cookie-uri” arată ca linkurile din rândul de jos al subsolului. */
.tl-subsol .tl-subsol__cookie {
  margin: 0; padding: 0; border: 0; background: none; color: var(--tl-on-dark); cursor: pointer;
  font: 400 13px/1.5 var(--tl-font); text-decoration: underline; text-underline-offset: 3px;
}
.tl-subsol .tl-subsol__cookie:hover { color: #FFFFFF; }
.tl-subsol .tl-subsol__adresa { color: inherit; text-decoration: none; }
.tl-subsol .tl-subsol__adresa:hover { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px; }
