/* ===================================================
   CABINET DE AVOCAT — Design System
   Paleta: Navy profund + Auriu + Crem
   =================================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,700;0,800;1,500&family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');

:root {
  --navy:        #0f1e3a;
  --navy-mid:    #162440;
  --navy-light:  #1e3258;
  --gold:        #b8943f;
  --gold-light:  #d4af6a;
  --gold-pale:   #f0e6cc;
  --cream:       #faf8f3;
  --cream-dark:  #f0ece1;
  --white:       #ffffff;
  --text:        #1a1a2e;
  --text-muted:  #5a6478;
  --border:      #ddd5c0;
  --shadow-sm:   0 2px 12px rgba(15,30,58,.08);
  --shadow-md:   0 8px 40px rgba(15,30,58,.14);
  --shadow-lg:   0 20px 70px rgba(15,30,58,.20);
  --radius:      4px;
  --radius-lg:   8px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: 'Lato', system-ui, sans-serif;
  font-weight: 400;
  color: var(--text);
  background: var(--cream);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

/* ─── TYPOGRAPHY ─── */
h1, h2, h3, h4 {
  font-family: 'Playfair Display', Georgia, serif;
  line-height: 1.2;
  color: var(--navy);
}

a { color: var(--gold); text-decoration: none; transition: color .2s; }
a:hover { color: var(--gold-light); }

/* ─── UTILITIES ─── */
.container {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.section-eyebrow {
  display: inline-block;
  transform: translateX(10px);
  font-family: 'Lato', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .75rem;
}

.section-eyebrow::before {
  content: '';
  display: inline-block;
  width: 28px;
  height: 1px;
  background: var(--gold);
  vertical-align: middle;
  margin-right: .5rem;
  margin-bottom: 2px;
}

.section-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 1.25rem;
}

.section-lead {
  font-size: 1.05rem;
  color: var(--text-muted);
  max-width: 60ch;
  line-height: 1.75;
}

/* ─── NAVBAR ─── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--navy);
  box-shadow: 0 2px 24px rgba(0,0,0,.35);
  border-bottom: 1px solid #C9A34E;
}

.navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
  gap: 1rem;
}

.navbar-brand {
  font-family: 'Playfair Display', serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--white) !important;
  letter-spacing: .02em;
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-right: 1.25rem;
margin-left:-320px!important;margin-right:40px!important;
  margin-left: 12px;
}

.brand-ornament {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin: 0 auto;
  justify-content: center;
  list-style: none;
}

.nav-links a {
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.78);
  transition: color .2s;
}

.nav-links a:hover { color: var(--gold-light); }

 .btn-nav {
  position: absolute;
  right: 100px;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 12px;
  font-size: .92rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--navy) !important;
  background: var(--gold);
  border: none;
  padding: .7rem 1.9rem;
  border-radius: var(--radius);
  cursor: pointer;
  transition: background .2s, transform .15s;
  white-space: nowrap;
}

.btn-nav:hover { background: var(--gold-light); transform: translateY(calc(-50% - 1px)); }

.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: .3rem;
}
.mobile-menu {
  display: none;
}
.hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--white);
  border-radius: 2px;
  transition: .25s;
}

/* ─── TOP BAR ─── */
.top-bar {
  background: var(--navy-mid);
  border-bottom: 1px solid rgba(255,255,255,.07);
  font-size: 1rem;
  color: rgba(255,255,255,.6);
  padding: .4rem 0;
}

.top-bar .container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 2rem;
}

.top-bar a { color: rgba(255,255,255,.75); font-size: .78rem; }
.top-bar a:hover { color: var(--gold-light); }

/* ─── HERO ─── */
.hero {
  position:relative;
  background: var(--navy);
  overflow: visible;
  padding: 6rem 0 calc(8.5rem + 50px);
  color: var(--white);
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 80% 50%, rgba(184,148,63,.12) 0%, transparent 65%),
    radial-gradient(ellipse 40% 60% at 10% 90%, rgba(184,148,63,.07) 0%, transparent 60%);
  pointer-events: none;
}

/* decorative scale SVG watermark */
.hero-watermark {
  position: absolute;
  right: 25%;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(420px, 48vw, 650px);
  opacity: .04;
  pointer-events: none;
}

.hero-content { position:relative; z-index: 1; }

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-light);
  margin-bottom: 1.2rem;
}

.hero-badge::after {
  content: '';
  display: inline-block;
  width: 52px;
  height: 1px;
  background: var(--gold);
}

.hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 4.2vw, 3.3rem);
  font-weight: 700;
  color: var(--white);
  line-height: 1.1;
  margin-bottom: 1.25rem;
  max-width: 16ch;
}

.hero h1 em {
  font-style: italic;
  color: var(--gold-light);
}

.hero-lead {
  font-size: 1.05rem;
  color: rgba(255,255,255,.7);
  max-width: 42ch;
  margin-bottom: 2.5rem;
  line-height: 1.75;
}

.hero-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.btn-primary {
  font-family: 'Lato', sans-serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--navy);
  background: var(--gold);
  border: 2px solid var(--gold);
  padding: .8rem 1.8rem;
  border-radius: var(--radius);
  cursor: pointer;
  transition: background .2s, color .2s, transform .15s;
  display: inline-block;
}

.btn-primary:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: var(--navy);
  transform: translateY(-2px);
}

.btn-outline {
  font-family: 'Lato', sans-serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.85);
  background: transparent;
  border: 2px solid rgba(255,255,255,.3);
  padding: .8rem 1.8rem;
  border-radius: var(--radius);
  cursor: pointer;
  transition: border-color .2s, color .2s, transform .15s;
  display: inline-block;
}

.btn-outline:hover {
  border-color: var(--gold-light);
  color: var(--gold-light);
  transform: translateY(-2px);
}

/* info card inside hero */
.hero-card {
  margin-left: 80px;
  margin-right: -10px;
  position: relative;
  top: 23px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-lg);
  padding: 2rem 1.75rem;
  backdrop-filter: blur(8px);
}

.hero-card-row {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: .9rem 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.hero-card-row:last-child { border-bottom: none; padding-bottom: 0; }
.hero-card-row:first-child { padding-top: 0; }

.hc-icon {
  width: 38px;
  height: 38px;
  background: rgba(184,148,63,.15);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--gold-light);
}

.hc-label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  margin-bottom: .15rem;
}

.hc-value {
  font-size: .95rem;
  color: var(--white);
}

.hc-value a {
  color: rgba(255,255,255,.9);
  transition: color .2s;
}

.hc-value a:hover { color: var(--gold-light); }

/* two-col layout for hero */
.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

/* ─── STATS BAR ─── */
.stats-bar {
  position: relative;
  z-index: 5;
  background: var(--navy-light);
  padding: 1.2rem 0;
  margin: 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: 1fr; justify-items:center;
  gap: 1px;
  background: rgba(255,255,255,.08);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.stat-item {
  background: var(--navy-light);
  padding: .5rem .8rem .9rem .8rem;
  text-align: center;
}

.stat-number {
  font-family: 'Playfair Display', serif;
  font-size: 2.6rem;
  font-weight: 700;
  color: var(--gold-light);
  line-height: 1;
  margin-bottom: .3rem;
}

.stat-label {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold-light);
}


.page-divider {
  display: flex;
  margin-left: 25px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: 100%;
}

.page-divider-line {
  height: 1px;
  background: #C9A44C;
  flex: 1;
  max-width: 260px;
}

.page-divider img {
  display: block;
  width: 42px;
  height: 41px;
  object-fit: contain;
}

/* ─── ABOUT ─── */
.about-section {
  margin-top: 60px;
  padding: 9rem 0;
  background: var(--cream);
}

.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}

.about-img-wrap {
  position: relative;
}

.about-img-placeholder {
  width: 100%;
  aspect-ratio: 4/5;
  background: linear-gradient(135deg, var(--navy-light) 0%, var(--navy) 100%);
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.about-img-placeholder svg { width: 60%; opacity: .15; }

.about-gold-box {
  position: absolute;
  bottom: -1.5rem;
  right: -1.5rem;
  background: var(--gold);
  color: var(--navy);
  padding: 1.5rem 1.75rem;
  border-radius: var(--radius-lg);
  text-align: center;
  box-shadow: var(--shadow-md);
}

.about-gold-box .num {
  font-family: 'Playfair Display', serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}

.about-gold-box .lbl {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .8;
  margin-top: .25rem;
}

.about-content p { color: var(--text-muted); margin-bottom: 1.2rem; }

.values-list {
  list-style: none;
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.values-list li {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  font-size: .95rem;
  color: var(--text-muted);
}

.values-list li::before {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  min-width: 18px;
  background: var(--gold);
  border-radius: 50%;
  margin-top: 2px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f1e3a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size: 11px;
  background-position: 62% center;
  background-repeat: no-repeat;
}

/* ─── PRACTICE AREAS ─── */
.practice-section {
  padding: 9rem 0;
  background: var(--cream-dark);
}

.practice-header {
  text-align: center;
  margin-bottom: 3.5rem;
}

.practice-header .section-title {
  position: relative;
  left: 25px;
}

.practice-header .section-lead { margin: 0 auto; }

.services-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.1rem;
}

.service-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 2rem 1.5rem;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position: relative;
  overflow: hidden;
}

.service-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}

.service-card:hover::before { transform: scaleX(1); }

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
  border-color: var(--gold-pale);
}

.service-icon {
  width: 48px;
  height: 48px;
  background: transparent;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  color: var(--gold);
}

.service-card h3 {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: .75rem;
  color: var(--navy);
}

.service-card p {
  font-size: .88rem;
  color: var(--text-muted);
  line-height: 1.65;
  margin-bottom: 1.25rem;
}

.btn-card {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid var(--gold-pale);
  padding: .4rem 1rem;
  border-radius: var(--radius);
  transition: background .2s, color .2s;
  display: inline-block;
}

.btn-card:hover {
  background: var(--gold);
  color: var(--navy);
  border-color: var(--gold);
}

/* ─── TEAM ─── */
.team-section {
  padding: 9rem 0;
  background: var(--cream);
}

.team-grid {
  display: grid;
  grid-template-columns: 1fr; justify-items:center;
  gap: 2rem;
  margin-top: 6rem;
}

.team-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: box-shadow .25s;
}

.team-card:hover { box-shadow: var(--shadow-md); }

.team-img {
  width: 100%;
  aspect-ratio: 1;
  background: linear-gradient(135deg, var(--navy-light), var(--navy));
  display: flex;
  align-items: center;
  justify-content: center;
}

.team-img img { width: 100%; height: 100%; object-fit: cover; }
.team-img svg { width: 50%; opacity: .2; }

.team-body {
  padding: 1.5rem;
}

.team-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: .25rem;
}

.team-role {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .75rem;
}

.team-bio {
  font-size: .88rem;
  color: var(--text-muted);
  line-height: 1.65;
}

/* ─── CONTACT ─── */
.contact-section {
  border-top: 0;
  background-clip: padding-box;
  padding: 9rem 0;
  background: var(--navy);
  position: relative;
  overflow: hidden;
}

.contact-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 50% 70% at 100% 0%, rgba(184,148,63,.1) 0%, transparent 60%);
  pointer-events: none;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 5rem;
  position: relative;
  z-index: 1;
}

.contact-info .section-title { color: var(--white); }
.contact-info .section-eyebrow { color: var(--gold-light); }

.contact-info-lead {
  font-size: 1rem;
  color: rgba(255,255,255,.6);
  line-height: 1.75;
  margin-bottom: 2.5rem;
}

.contact-detail {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.cd-icon {
  width: 42px;
  height: 42px;
  background: rgba(184,148,63,.15);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--gold-light);
}

.cd-label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  margin-bottom: .2rem;
}

.cd-value {
  font-size: .95rem;
  color: rgba(255,255,255,.85);
}

.cd-value a { color: rgba(255,255,255,.85); }
.cd-value a:hover { color: var(--gold-light); }

/* Contact form */
.contact-form-wrap {
  background: var(--cream-dark);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  box-shadow: var(--shadow-lg);
}

.contact-form-wrap h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.4rem;
  color: var(--navy);
  margin-bottom: 1.3rem;
  text-align: center;
}

.form-sub {
  font-size: .85rem;
  color: var(--text-muted);
  margin-bottom: .85rem;
  text-align: center;
}

.form-group { margin-bottom: 1.25rem; }

.form-label {
  display: block;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--navy);
  margin-bottom: .45rem;
}

.form-control {
  width: 100%;
  font-family: 'Lato', sans-serif;
  font-size: .95rem;
  color: var(--text);
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  padding: .7rem .95rem;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}

.form-control:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(184,148,63,.12);
  background: var(--white);
}

.form-control.error { border-color: #c0392b; }

select.form-control { cursor: pointer; }

textarea.form-control { resize: vertical; min-height: 110px; }

.form-check {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-size: .85rem;
  color: var(--text-muted);
  margin-bottom: 1.25rem;
}

.form-check input[type="checkbox"] { margin-top: 3px; accent-color: var(--gold); }

.btn-submit {
  width: 100%;
  font-family: 'Lato', sans-serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--navy);
  background: var(--gold);
  border: none;
  padding: .95rem;
  border-radius: var(--radius);
  cursor: pointer;
  transition: background .2s, transform .15s;
}

.btn-submit:hover { background: var(--gold-light); transform: translateY(-1px); }

#formStatus {
  margin-top: .9rem;
  font-size: .85rem;
  color: var(--text-muted);
  min-height: 1.2em;
}

#formStatus.success { color: #1a7a4a; }
#formStatus.error   { color: #c0392b; }

.invalid-feedback {
  display: none;
  font-size: .78rem;
  color: #c0392b;
  margin-top: .25rem;
}

.was-validated .form-control:invalid + .invalid-feedback,
.was-validated select.form-control:invalid + .invalid-feedback,
.was-validated textarea.form-control:invalid + .invalid-feedback { display: block; }

.d-none { display: none !important; }

/* ─── FOOTER ─── */
.site-footer {
  position: relative;
  z-index: 20;
  background-color: #162440 !important;
  background-image: none !important;
  opacity: 1 !important;
  isolation: isolate;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.06);
  padding: 2rem 0;
}

.site-footer::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #162440;
  opacity: 1;
  pointer-events: none;
}

.footer-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.footer-copy {
  font-size: .82rem;
  color: rgba(255,255,255,.45);
}

.footer-links {
  display: flex;
  gap: 1.5rem;
  list-style: none;
}

.footer-links a {
  font-size: .82rem;
  color: rgba(255,255,255,.5);
  transition: color .2s;
}

.footer-links a:hover { color: var(--gold-light); }

/* ─── SKIP LINK ─── */
.skip-link {
  position: absolute;
  top: -100%;
  left: 1rem;
  background: var(--gold);
  color: var(--navy);
  font-weight: 700;
  padding: .5rem 1rem;
  border-radius: var(--radius);
  z-index: 9999;
  transition: top .15s;
}

.skip-link:focus { top: 1rem; }

/* ─── RESPONSIVE ─── */
@media (max-width: 1024px) {
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-grid     { grid-template-columns: 1fr; gap: 3rem; }
  .about-grid    { grid-template-columns: 1fr; gap: 3rem; }
  .contact-grid  { grid-template-columns: 1fr; gap: 3rem; }
  .stats-grid    { grid-template-columns: repeat(2, 1fr); }
  .team-grid     { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .nav-links, .btn-nav { display: none; }
  .hamburger           { display: flex; }
  .services-grid       { grid-template-columns: 1fr; }
  .team-grid           { grid-template-columns: 1fr; }
  .stats-grid          { grid-template-columns: repeat(2, 1fr); }
  .about-gold-box      { right: 0; }

  .mobile-menu {
    display: none;
    position: fixed;
    inset: 0;
    background: var(--navy);
    z-index: 999;
    padding: 5rem 2rem 2rem;
    flex-direction: column;
    gap: 1.5rem;
  }

  .mobile-menu.open { display: flex; }

  .mobile-menu a {
    font-size: 1.2rem;
    font-family: 'Playfair Display', serif;
    color: var(--white);
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding-bottom: 1rem;
  }

  .mobile-close {
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    background: none;
    border: none;
    color: var(--white);
    font-size: 2rem;
    cursor: pointer;
    line-height: 1;
  }
}

@media (max-width: 480px) {
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .hero { padding: 4rem 0 3.5rem; }
}

/* ─── ANIMATIONS ─── */
@media (prefers-reduced-motion: no-preference) {
  .team-card,
  .hero-card {
    animation: fadeUp .5s ease both;
  }

  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
  }
}

.brand-logo{width:56px;height:56px;object-fit:contain;vertical-align:middle;margin-right:12px;border-radius:4px;}

.brand-name{white-space:nowrap;line-height:1.15;}
.brand-title{margin-left:3.15em;color:var(--gold-light);}

/* Ajustare poziție logo/nume în bara desktop: numai acest element */
@media (min-width: 901px) {
  .navbar > .navbar-brand {
    transform: translateX(14px);
  }
}

/* nav boxed style */
.nav-links{gap:1rem}
.nav-links li{list-style:none}
.nav-links a{
display:flex;align-items:center;gap:.7rem;
padding:.75rem 1.2rem;
border:1px solid rgba(201,165,92,.75);
border-radius:10px;
color:#fff;
min-width:185px;
justify-content:flex-start;
transition:all .2s ease;
}
.nav-links a i{color:var(--gold);font-size:1.15rem;width:22px;text-align:center}
.nav-links a:hover{border-color:var(--gold-light);background:rgba(201,165,92,.08);color:#fff}

/* Centrare exactă a textului în cele 4 butoane din bara de navigare */
.nav-links a {
  position: relative;
  justify-content: center;
  text-align: center;
}
.nav-links a i {
  position: absolute;
  left: 1.2rem;
}
.nav-links a span {
  width:100%;
  text-align:center;
  font-size:0.92em;
}

/* Pictogramă WhatsApp integrată direct, fără dependență de Font Awesome */
.nav-links a .whatsapp-icon {
  position:absolute;
  left:1.2rem;
  width:22px;
  height:22px;
  color:var(--gold);
  flex:0 0 22px;
}
.mobile-menu a .whatsapp-icon {
  width:20px;
  height:20px;
  margin-right:.55rem;
  vertical-align:middle;
  color:var(--gold);
}
.mobile-menu a span { vertical-align:middle; }


/* Center phone bubble icon */
.phone-bubble,.call-bubble,.phone-circle{
display:flex;align-items:center;justify-content:center;
}
.phone-bubble i,.phone-bubble svg,
.call-bubble i,.call-bubble svg,
.phone-circle i,.phone-circle svg{
position:static!important;
left:auto!important;
margin:0!important;
transform:none!important;
display:block;
}

.program-line{display:flex;gap:.6rem;align-items:flex-start;}
.program-label{display:inline-block;min-width:150px;font-weight:600;}
.program-text{flex:1;}


/* TIM watermark: un singur logo mare, centrat */
.hero {
  position: relative;
  isolation: isolate;
}
.hero::before {
  z-index: 0;
}
.hero::after {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url("../img/tim_watermark.png");
  background-repeat: no-repeat;
  background-position: calc(50% + 25px) 35%;
  background-size: clamp(420px, 55vw, 760px) auto;
  opacity: 0.10;
  pointer-events: none;
  z-index: 1;
}
.hero > .container {
  position: relative;
  z-index: 2;
}


/* Watermark vizibil peste zona barei, fără modificarea culorii/opacității fundalului barei */
.stats-bar {
  isolation: isolate;
  overflow: hidden;
}
.stats-bar::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/tim_watermark.png");
  background-repeat: no-repeat;
  background-position: calc(50% + 25px) 35%;
  background-size: clamp(420px, 55vw, 760px) auto;
  background-attachment: fixed;
  opacity: 0.10;
  pointer-events: none;
  z-index: 0;
}
.stats-bar > .container {
  position: relative;
  z-index: 1;
}

/* Domenii Juridice — ajustare locală, fără a afecta celelalte secțiuni */

.practice-header .section-eyebrow {
  font-size: 1.15rem;
  font-weight: 900;
  position: relative;
  left: 15px;
}

.practice-header .section-eyebrow::after {
  content: '';
  display: inline-block;
  width: 28px;
  height: 2px;
  background: var(--gold);
  vertical-align: middle;
  margin-left: .5rem;
  margin-bottom: 2px;
}

.practice-header .section-eyebrow::before{height:2px;}

/* Căsuțe domenii juridice puțin mai late */
#servicii > .container {
  max-width: 1380px;
}

/* Deplasare exclusivă a grilei de domenii spre dreapta, fără modificarea lățimii */
@media (min-width: 1101px) {
  #servicii .services-grid {
    transform: translateX(30px);
  }
}

.service-icon-img{width:28px;height:28px;object-fit:contain;display:block;margin:auto;}

/* Pictograme domenii juridice — mărite efectiv */
#servicii .service-icon {
  width: 82px;
  height: 82px;
  flex: 0 0 82px;
}
#servicii .service-icon-img {
  width: 74px !important;
  height: 74px !important;
  max-width: none !important;
  object-fit: contain;
}


/* Pictograme domenii: fără chenar sau fundal exterior */
#servicii .service-icon { background: transparent !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; overflow: visible !important; }
#servicii .service-icon-img { background: transparent !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; }


/* ─── Domenii juridice extensibile ─── */
#servicii .service-accordion {
  padding: 0;
  overflow: hidden;
  align-self: start;
}

#servicii .service-accordion:hover {
  transform: none;
}

#servicii .service-toggle {
  width: 100%;
  min-height: 168px;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 1.6rem 1.5rem .45rem;
  text-align: left;
  cursor: pointer;
  font: inherit;
  position: relative;
}

#servicii .service-toggle:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: -4px;
}

#servicii .service-toggle h3 {
  padding-right: 1.5rem;
  margin-bottom: 0;
}

#servicii .service-summary {
  padding: 0 1.5rem 1.45rem;
  margin: 0;
}

#servicii .service-chevron {
  position: absolute;
  right: 1.35rem;
  bottom: .48rem;
  color: var(--gold);
  font-size: 1.45rem;
  line-height: 1;
  transition: transform .3s ease;
}

#servicii .service-card.is-open {
  border-color: var(--gold-pale);
  box-shadow: var(--shadow-md);
}

#servicii .service-card.is-open::before {
  transform: scaleX(1);
}

#servicii .service-card.is-open .service-chevron {
  transform: rotate(180deg);
}

#servicii .service-details {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows .35s ease, opacity .25s ease;
  border-top: 1px solid transparent;
}

#servicii .service-details:not([hidden]) {
  grid-template-rows: 1fr;
  opacity: 1;
  border-top-color: var(--border);
}

#servicii .service-details-inner {
  overflow: hidden;
  padding: 0 1.5rem;
}

#servicii .service-details:not([hidden]) .service-details-inner {
  padding-top: 1.15rem;
  padding-bottom: 1.5rem;
}

#servicii .service-details ul {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
}

#servicii .service-details li {
  position: relative;
  padding: .38rem 0 .38rem 1.05rem;
  font-size: .82rem;
  line-height: 1.45;
  color: var(--text-muted);
}

#servicii .service-details li::before {
  content: '⚒';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: 700;
}

#servicii .service-contact-link {
  width: 100%;
  text-align: center;
}

@media (max-width: 700px) {
  #servicii .service-toggle {
    min-height: 150px;
  }
}

/* ═══════════ Panou comun sub fiecare rând de domenii ═══════════ */
#servicii .services-grid {
  align-items: start;
}

#servicii .service-accordion {
  overflow: visible;
}

#servicii .service-accordion .service-details {
  display: none !important;
}

#servicii .service-row-panel {
  grid-column: 1 / -1;
  width: 100%;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-18px);
  transition: max-height .38s ease, opacity .25s ease, transform .38s ease, margin .38s ease;
  margin: 0;
}

#servicii .service-row-panel.is-open {
  max-height: 520px;
  opacity: 1;
  transform: translateY(0);
  margin: 10px 0 24px;
}

#servicii .service-row-panel-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px 48px;
  align-items: center;
  padding: 30px 34px;
  border: 1px solid rgba(193, 160, 92, .55);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 38px rgba(8, 22, 42, .12);
}

#servicii .service-row-panel-title {
  grid-column: 1 / -1;
  margin: 0;
  text-align: center;
  color: var(--navy, #0b1d35);
  font-size: clamp(1.25rem, 1.7vw, 1.7rem);
  font-family: var(--font-heading, Georgia, serif);
}

#servicii .service-row-panel ul {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 30px;
  list-style: none;
}

#servicii .service-row-panel li {
  position: relative;
  padding-left: 22px;
  line-height: 1.55;
}

#servicii .service-row-panel li::before {
  content: "•";
  position: absolute;
  left: 3px;
  color: var(--gold, #b6934e);
  font-size: 1.25em;
}

#servicii .service-row-panel .btn-card {
  white-space: nowrap;
  margin: 0;
}

#servicii .service-card.is-open {
  border-color: rgba(193, 160, 92, .9);
  box-shadow: 0 10px 24px rgba(8, 22, 42, .13);
}

@media (max-width: 980px) {
  #servicii .service-row-panel-inner {
    grid-template-columns: 1fr;
  }
  #servicii .service-row-panel .btn-card {
    justify-self: start;
  }
}

@media (max-width: 720px) {
  #servicii .service-row-panel.is-open {
    max-height: 760px;
  }
  #servicii .service-row-panel-inner {
    padding: 24px 20px;
  }
  #servicii .service-row-panel ul {
    grid-template-columns: 1fr;
  }
}


/* Center domain cards */
.domain-card, .practice-card, .service-card, .domain-box{
  text-align:center;
}
.domain-card .icon, .practice-card .icon, .service-card .icon, .domain-box .icon,
.domain-card img, .practice-card img, .service-card img, .domain-box img{
 display:block;
 margin:0 auto 12px;
}
.domain-card h3, .practice-card h3, .service-card h3, .domain-box h3,
.domain-card .title, .practice-card .title, .service-card .title, .domain-box .title{
 text-align:center;
 margin-left:auto;
 margin-right:auto;
}

/* Center service icons and titles */
#servicii .service-toggle{
 display:flex;
 flex-direction:column;
 align-items:center;
 text-align:center;
}
#servicii .service-toggle h3{
 width:100%;
 text-align:center;
 padding-right:0;
}
#servicii .service-icon{
 margin-left:auto;
 margin-right:auto;
}
#servicii .service-chevron{
 position:absolute;
 right:1rem;
 top:1rem;
}

/* Subliste în panourile expandate */
#servicii .service-details li > ul {
  margin: .35rem 0 .1rem .45rem;
  padding-left: .65rem;
}
#servicii .service-details li > ul > li {
  padding-top: .25rem;
  padding-bottom: .25rem;
  font-size: .79rem;
}
#servicii .service-details li > ul > li::before {
  content: '◦';
}


/* Primul expand: Jocuri de noroc pe o singură coloană, cu subpuncte indentate */
#servicii .service-row-panel--gambling.is-open {
  max-height: 1100px;
}

#servicii .service-row-panel--gambling .service-row-panel-list {
  grid-template-columns: 1fr;
  gap: 8px;
}

#servicii .service-row-panel--gambling .service-row-panel-list > li {
  width: 100%;
}

#servicii .service-row-panel--gambling .service-row-panel-list > li > ul {
  display: block;
  margin: .35rem 0 .15rem 1.35rem;
  padding: 0;
}

#servicii .service-row-panel--gambling .service-row-panel-list > li > ul > li {
  padding-top: .22rem;
  padding-bottom: .22rem;
  padding-left: 20px;
}

/* Ciocan de judecător stilizat pentru punctele exterioare din expandul Jocuri de noroc */
#servicii .service-row-panel--gambling .service-row-panel-list > li {
  padding-left: 34px;
}

#servicii .service-row-panel--gambling .service-row-panel-list > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .42rem;
  width: 24px;
  height: 24px;
  background: url("../img/gavel-bullet.png") center / contain no-repeat;
}

#servicii .service-row-panel--gambling .service-row-panel-list > li > ul > li::before {
  content: "•";
  background: none;
  width: auto;
  height: auto;
  top: auto;
  left: 3px;
  color: var(--gold, #b6934e);
  font-size: 1.25em;
}

.expand-content ul ul li{font-style:italic;}

/* Expand 4 – subpunctele interioare cu italic */
#servicii #service-details-4 li > ul > li {
  font-style: italic !important;
}

/* Expand 5 – aceeași structură ca Expand 1; subpuncte interioare italic */
#servicii #service-details-5 li > ul > li {
  font-style: italic !important;
}

/* Expand 6 – aceeași structură ca Expand 1; subpuncte interioare italic */
#servicii #service-details-6 li > ul > li {
  font-style: italic !important;
}

/* Expand 7 – aceeași structură ca Expand 1; subpuncte interioare italic */
#servicii #service-details-7 li > ul > li {
  font-style: italic !important;
}


/* Expand 7: apropie doar secțiunea Contactați-ne, fără a modifica panoul */
.contact-section.contact-closer-after-expand7 {
  margin-top: -80px !important;
}

/* ===== Pagini editoriale: Articole & FAQ ===== */
.editorial-page{min-height:calc(100vh - 140px);background:linear-gradient(rgba(250,248,243,.94),rgba(250,248,243,.94)),url('../img/tim_watermark.png') center 130px/430px auto no-repeat fixed;padding:5rem 0 6rem}
.editorial-hero{text-align:center;max-width:820px;margin:0 auto 3rem}
.editorial-hero .section-eyebrow{transform:none}
.editorial-hero p{color:var(--text-muted);font-size:1.05rem;max-width:700px;margin:0 auto}
.editorial-list{max-width:940px;margin:0 auto;display:grid;gap:2.15rem}
.article-row{display:block;background:#ebe5d8;border:1px solid var(--border);border-left:4px solid var(--gold);padding:1.5rem 1.7rem;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s;color:inherit}
.article-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--gold-light);color:inherit}
.article-meta{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:.55rem}
.article-row h2{font-size:1.42rem;margin-bottom:.5rem}
.article-row p{color:var(--text-muted);line-height:1.65}
.article-more{display:inline-block;margin-top:.8rem;font-weight:700;font-size:.9rem;color:var(--gold)}
.faq-list{max-width:940px;margin:0 auto;display:grid;gap:1.7rem;}
.faq-card{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm)}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:transparent;border:0;padding:1.25rem 1.45rem;text-align:left;font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--navy);cursor:pointer}
.faq-plus{font-family:'Lato',sans-serif;color:var(--gold);font-size:1.45rem;line-height:1;transition:transform .25s}
.faq-card.open .faq-plus{transform:rotate(45deg)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.faq-answer>div{overflow:hidden}
.faq-card.open .faq-answer{grid-template-rows:1fr}
.faq-answer-inner{padding:0 1.45rem 1.35rem;color:var(--text-muted);border-top:1px solid transparent}
.faq-card.open .faq-answer-inner{padding-top:1rem;border-top-color:var(--cream-dark)}
.faq-answer-inner a{font-weight:700}
.article-page{max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-md);padding:2.3rem 2.6rem}
.article-page h1{font-size:clamp(2rem,4vw,3rem);margin:.45rem 0 1rem}
.article-page .article-lead{font-size:1.12rem;color:var(--text-muted);margin:1.25rem 0 2rem}
.article-page h2{font-size:1.55rem;margin:2rem 0 .7rem}
.article-page p{margin-bottom:1rem}
.article-back{display:inline-block;margin-bottom:1.2rem;font-weight:700}
@media(max-width:760px){.editorial-page{padding:3.5rem 0 4rem;background-size:300px auto}.article-row{padding:1.2rem}.article-page{padding:1.5rem 1.2rem}.faq-question{padding:1.1rem;font-size:1.05rem}.faq-answer-inner{padding-left:1.1rem;padding-right:1.1rem}}

/* Watermark eliminat din secțiunea Contactați-ne */

/* Ajustare fina formular contact: mutat doar orizontal spre dreapta. */
@media (min-width: 965px) {
  .contact-form-wrap {
    transform: translateX(110px);
  }
}

/* Linie decorativa si dupa „Contactați-ne” */
.contact-info .section-eyebrow::after {
  content: '';
  display: inline-block;
  width: 28px;
  height: 1px;
  background: var(--gold);
  vertical-align: middle;
  margin-left: .5rem;
  margin-bottom: 2px;
}


/* Centreaza „Contactați-ne” exact sub titlul „Solicitați o consultație” */
.contact-heading-group {
  width: max-content;
  max-width: 100%;
  text-align: center;
}
.contact-heading-group .section-eyebrow {
  transform: none;
}

/* Center the clock icon vertically beside the contact program */
.contact-program-detail { align-items: center; }

/* Center the clock icon vertically beside the Program block on the homepage */
.hero-card .hero-card-row:first-child { align-items: center; }

/* Watermark vizibil si prin banda crem dintre Servicii si Contact, fara a reaparea in Contact */
.contact-section::after {
  content: "";
  position: absolute;
  top: -3rem;
  left: 0;
  right: 0;
  height: 3rem;
  background-image: url("../img/tim_watermark.png");
  background-repeat: no-repeat;
  background-position: calc(50% + 25px) 35%;
  background-size: clamp(420px, 55vw, 760px) auto;
  background-attachment: fixed;
  opacity: 0.10;
  pointer-events: none;
  z-index: 0;
}

/* FIX: watermark deasupra benzii crem dintre Servicii si Contact */
.contact-section::after {
  top: 0 !important;
  height: 3rem !important;
  transform: translateY(-3rem);
  z-index: 3 !important;
}

/* FIX definitiv: permite watermark-ului sa fie vizibil in bordura crem de 3rem */
.contact-section {
  overflow: visible !important;
}
.contact-section::after {
  top: -3rem !important;
  height: 3rem !important;
  transform: none !important;
  z-index: 3 !important;
}

/* Mareste doar textul din stanga formularului de contact; fara modificarea pozitionarii containerelor */
.contact-info .section-title { font-size: 2.65rem; }
.contact-info .section-eyebrow { font-size: .88rem; }
.contact-info .cd-label { font-size: .80rem; }
.contact-info .cd-value { font-size: 1.05rem; }

/* Centreaza textul din stanga formularului de consultatie, fara a modifica formularul */
.contact-info { text-align: center; }
.contact-info .contact-detail > div:last-child { text-align: center; }

/* Blocul de informatii din stanga formularului: centrat doar pe verticala */
.contact-info {
  text-align: left;
  align-self: center;
}
.contact-info .contact-detail > div:last-child {
  text-align: left;
}

/* Culori titluri contact */
.contact-info .section-title { color: var(--gold-light) !important; }
.contact-info .section-eyebrow { color: var(--white) !important; }

/* Watermark discret in spatele blocului de text din stanga formularului */
.contact-info {
  position: relative;
  isolation: isolate;
}
.contact-info::before {
  content: "";
  position: absolute;
  inset: -165px -220px;
  background: url("../img/tim_watermark.png") center center / contain no-repeat;
  opacity: 0.10;
  pointer-events: none;
  z-index: -1;
}

/* Ajustare fina: urca doar mentiunea „Solicitați o consultație / Contactați-ne” */
.contact-heading-group {
  transform: translateY(-18px);
}

/* Ajustare fina: urca doar blocul cu datele de contact de sub „Contactați-ne” */
.contact-info > .contact-detail {
  transform: translateY(-10px);
}

/* Ajustare fina: micsoreaza putin doar textul „Solicitați o consultație” din sectiunea Contact */
.contact-heading-group .section-title { font-size: 2.50rem; }

/* Centreaza blocul „Solicitați o consultație / Contactați-ne” pe axa watermark-ului */
.contact-heading-group {
  text-align: center;
}

/* FIX: centreaza efectiv blocul de titlu pe axa watermark-ului din .contact-info */
.contact-info .contact-heading-group {
  width: max-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* Logo TIM propriu-zis, centrat în ultima bară de jos */
.footer-inner {
  position: relative;
  
}
.footer-logo {
  position: absolute;
  left: calc(50% + 15px);
  top: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  left: calc(50% + 15px);
  top: 50%;
  transform: translate(-50%, -50%);
  width: 68px;
  height: 68px;
  object-fit: contain;
}


/* SAL ANPC — badge compact, distinct de un câmp de formular */
.footer-sal{
  position:absolute;
  left:calc(50% + 360px);
  top:50%;
  transform:translate(-50%, -50%);
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:auto;
  height:auto;
  padding:0;
  text-decoration:none;
  background:transparent;
  border:0;
  color:#fff;
  line-height:1.05;
  white-space:nowrap;
}
.footer-sal-anpc{
  width:42px;
  height:42px;
  min-width:42px;
  border:1.5px solid #c9a86a;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:10px;
  letter-spacing:.45px;
  color:#c9a86a;
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 0 0 3px rgba(201,168,106,.10);
}
.footer-sal-text{
  text-align:left;
  font-size:.82rem;
  font-weight:400;
  letter-spacing:normal;
  line-height:1.25;
  color:rgba(255,255,255,.45);
  padding:0;
}
.footer-sal:hover .footer-sal-anpc{
  background:rgba(201,168,106,.10);
}
@media (max-width: 900px){
  .footer-sal{
    position:static;
    transform:none;
    margin:1rem auto 0;
  }
}

/* ===== FIX RESPONSIVE FEREASTRA REDIMENSIONATA =====
   Pastreaza toate elementele headerului vizibile la latimi desktop/intermediare.
   Nu modifica aspectul la latimea desktop normala. */
@media (max-width: 1450px) and (min-width: 769px) {
  .site-header .container {
    max-width: none;
    padding-left: 18px;
    padding-right: 18px;
  }

  .navbar {
    gap: 10px;
  }

  .navbar > .navbar-brand {
    transform: none;
    margin-left: 0 !important;
    margin-right: 8px !important;
    flex: 0 0 auto;
  }

  .brand-logo {
    width: 48px;
    height: 48px;
    margin-right: 7px;
  }

  .brand-name {
    font-size: .92em;
  }

  .nav-links {
    flex: 1 1 auto;
    min-width: 0;
    gap: 7px;
    margin: 0;
  }

  .nav-links li {
    flex: 1 1 0;
    min-width: 0;
  }

  .nav-links a {
    min-width: 0;
    width: 100%;
    padding: .68rem .5rem;
    gap: .3rem;
    white-space: normal;
  }

  .nav-links a span {
    font-size: .72em;
    line-height: 1.12;
  }

  .nav-links a i,
  .nav-links a .whatsapp-icon {
    left: .55rem;
    width: 17px;
    font-size: .95rem;
  }

  .nav-links a .whatsapp-icon {
    height: 17px;
  }

  .btn-nav {
    position: static;
    transform: none;
    flex: 0 0 auto;
    margin-left: 0;
    padding: .68rem .8rem;
    font-size: .70rem;
    letter-spacing: .05em;
  }

  .btn-nav:hover {
    transform: translateY(-1px);
  }
}

@media (max-width: 1050px) and (min-width: 769px) {
  .brand-logo {
    width: 42px;
    height: 42px;
  }

  .navbar-brand {
    font-size: .94rem;
  }

  .nav-links {
    gap: 4px;
  }

  .nav-links a {
    padding: .58rem .3rem;
    border-radius: 8px;
  }

  .nav-links a span {
    font-size: .62em;
  }

  .nav-links a i,
  .nav-links a .whatsapp-icon {
    display: none;
  }

  .btn-nav {
    padding: .58rem .55rem;
    font-size: .60rem;
  }
}

/* Pe mobil elementele nu ies din ecran: sunt mutate in meniul hamburger. */
@media (max-width: 768px) {
  .site-header .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .navbar-brand {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: calc(100% - 54px);
  }

  .brand-name {
    white-space: normal;
  }

  .hamburger {
    flex: 0 0 auto;
    margin-left: auto;
  }
}

/* ===== FIX RESPONSIVE CONTINUT LA REDIMENSIONAREA FERESTREI =====
   Pastreaza designul desktop; la latimi reduse elimina doar deplasarile fixe
   care scot continutul in afara viewportului. */
@media (max-width: 1024px) {
  html, body {
    max-width: 100%;
    overflow-x: clip;
  }

  .container {
    width: min(100% - 32px, 1180px);
  }

  /* Homepage / hero */
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 2.25rem;
  }

  .hero-text-only {
    transform: none !important;
  }

  .hero-actions {
    margin-top: 2.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .hero-card {
    margin-left: 0;
    margin-right: 0;
    top: 0;
    width: 100%;
  }

  .page-divider,
  .practice-header .section-title {
    margin-left: 0;
    left: 0;
  }

  /* Domenii juridice */
  #servicii > .container {
    max-width: 100%;
  }

  #servicii .services-grid {
    transform: none !important;
  }

  #servicii .service-row-panel,
  #servicii .service-row-panel-inner {
    min-width: 0;
    max-width: 100%;
  }

  #servicii .service-row-panel-inner {
    grid-template-columns: 1fr;
  }

  #servicii .service-row-panel ul {
    min-width: 0;
  }

  /* Contact: grila devine o coloana, deci nu mai pastram deplasarea desktop */
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 2.75rem;
  }

  .contact-form-wrap {
    transform: none !important;
    width: 100%;
    max-width: 100%;
  }

  .contact-info {
    width: 100%;
    min-width: 0;
  }

  .contact-info::before {
    inset: -90px -70px;
  }

  .contact-heading-group {
    max-width: 100%;
  }

  /* Footer */
  .footer-inner {
    min-width: 0;
  }
}

@media (max-width: 768px) {
  .container {
    width: min(100% - 24px, 1180px);
  }

  .hero {
    padding-left: 0;
    padding-right: 0;
  }

  .hero-lead {
    max-width: 100% !important;
  }

  .hero-card {
    padding: 1.5rem 1.1rem;
  }

  .services-grid {
    grid-template-columns: 1fr;
  }

  #servicii .service-row-panel-inner {
    padding: 22px 16px;
    gap: 18px;
  }

  #servicii .service-row-panel ul {
    grid-template-columns: 1fr;
  }

  .contact-section {
    padding: 6rem 0;
  }

  .contact-form-wrap {
    padding: 1.6rem 1.1rem;
  }

  .contact-info::before {
    inset: -55px -25px;
  }

  .contact-info .section-title,
  .contact-heading-group .section-title {
    font-size: clamp(2rem, 9vw, 2.5rem) !important;
  }

  .contact-detail {
    min-width: 0;
  }

  .cd-value,
  .hc-value,
  .footer-copy,
  .footer-sal-text {
    overflow-wrap: anywhere;
  }

  .footer-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .75rem;
  }

  .footer-logo {
    position: static;
    transform: none;
    margin: .25rem auto;
  }

  .footer-sal {
    position: static;
    transform: none;
    margin: .25rem auto 0;
    max-width: 100%;
    white-space: normal;
    justify-content: center;
  }

  .footer-links {
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* ===== FOOTER RESPONSIVE PROPORTIONAL =====
   La ferestre desktop/intermediare mai inguste, elementele barei de jos
   se micsoreaza proportional si raman pe aceeasi linie, fara suprapuneri. */
@media (max-width: 1450px) and (min-width: 769px) {
  .site-footer {
    padding: clamp(1.15rem, 2vw, 2rem) 0;
  }

  .footer-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    column-gap: clamp(.65rem, 1.5vw, 1.5rem);
    row-gap: 0;
    width: 100%;
  }

  .footer-copy {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    min-width: 0;
    margin: 0;
    font-size: clamp(.58rem, .72vw, .82rem);
    line-height: 1.25;
    white-space: nowrap;
  }

  .footer-logo {
    grid-column: 2;
    grid-row: 1;
    position: static;
    left: auto;
    top: auto;
    transform: none;
    width: clamp(42px, 4.7vw, 68px);
    height: clamp(42px, 4.7vw, 68px);
    margin: 0;
    justify-self: center;
  }

  .footer-sal {
    grid-column: 3;
    grid-row: 1;
    position: static;
    left: auto;
    top: auto;
    transform: none;
    justify-self: end;
    margin: 0;
    gap: clamp(5px, .65vw, 9px);
    max-width: 100%;
    white-space: nowrap;
  }

  .footer-sal-text {
    font-size: clamp(.58rem, .72vw, .82rem);
    line-height: 1.2;
  }

  .footer-sal-anpc {
    width: clamp(30px, 3vw, 42px);
    height: clamp(30px, 3vw, 42px);
    min-width: clamp(30px, 3vw, 42px);
    font-size: clamp(7px, .7vw, 10px);
    border-width: clamp(1px, .12vw, 1.5px);
  }
}

/* Hostico: ancora nativa este chiar chenarul formularului.
   La click, partea de sus a întregului chenar rămâne vizibilă sub header. */
#contact {
  scroll-margin-top: 82px;
}

#consultation-form {
  scroll-margin-top: 100px;
}

/* Ajustare: titlurile secțiunii Servicii mai jos, spre carduri */
#servicii .practice-header {
  transform: translateY(20px);
}

/* Ajustare fina: titlurile Servicii mai jos, spre carduri */
#servicii .practice-header {
  transform: translateY(36px);
}

/* Ajustare fina suplimentara: titlurile Servicii mai jos, spre carduri */
#servicii .practice-header {
  transform: translateY(46px);
}

/* Articole de specialitate: fundal navy + watermark identic cu homepage */
.articles-page{
  position:relative;
  isolation:isolate;
  background:var(--navy);
  color:var(--white);
}
.articles-page::after{
  content:"";
  position:fixed;
  inset:0;
  background-image:url("../img/tim_watermark.png");
  background-repeat:no-repeat;
  background-position:calc(50% + 25px) 35%;
  background-size:clamp(420px,55vw,760px) auto;
  opacity:.10;
  pointer-events:none;
  z-index:0;
}
.articles-page > .container{position:relative;z-index:1}
.articles-page .section-title{color:var(--white)}
.articles-page .editorial-hero p{color:rgba(255,255,255,.78)}
@media(max-width:760px){.articles-page{background:var(--navy)}}

/* Articole de specialitate: chenare crem */
.articles-page .article-row{
  background:var(--cream);
}

/* Articole de specialitate: contur auriu vizibil pe toate laturile */
.articles-page .article-row{
  border:2px solid var(--gold) !important;
}
.articles-page .article-row:hover{
  border-color:var(--gold-light) !important;
}


/* === Efect 3D discret pentru butoanele din bara de sus === */
.nav-links a {
  box-shadow:
    0 4px 0 rgba(5, 12, 25, .72),
    0 7px 12px rgba(0, 0, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .10),
    inset 0 -1px 0 rgba(0, 0, 0, .22);
  transform: translateY(-2px);
}

.nav-links a:hover {
  transform: translateY(-3px);
  box-shadow:
    0 5px 0 rgba(5, 12, 25, .72),
    0 9px 14px rgba(0, 0, 0, .30),
    inset 0 1px 0 rgba(255, 255, 255, .12),
    inset 0 -1px 0 rgba(0, 0, 0, .20);
}

.btn-nav {
  box-shadow:
    0 4px 0 #8f6d2d,
    0 7px 12px rgba(0, 0, 0, .30),
    inset 0 1px 0 rgba(255, 255, 255, .32),
    inset 0 -1px 0 rgba(86, 59, 15, .24);
}

.btn-nav:hover {
  transform: translateY(calc(-50% - 2px));
  box-shadow:
    0 5px 0 #8f6d2d,
    0 9px 14px rgba(0, 0, 0, .32),
    inset 0 1px 0 rgba(255, 255, 255, .35),
    inset 0 -1px 0 rgba(86, 59, 15, .20);
}


/* Fix: butonul „Solicitați consultație” nu se mai ridică excesiv în fereastră îngustată */
@media (max-width: 1180px) {
  .btn-nav {
    transform: translateY(-50%) !important;
  }
  .btn-nav:hover {
    transform: translateY(-50%) !important;
  }
}


/* FIX REAL: pastreaza pozitia corecta a butonului Solicitați consultație
   pe toata plaja desktop/intermediara redimensionata */
@media (max-width: 1450px) and (min-width: 769px) {
  .btn-nav {
    position: static !important;
    top: auto !important;
    transform: none !important;
  }

  .btn-nav:hover {
    transform: translateY(-1px) !important;
  }
}

/* Articole: titluri inversate ca poziție și font, pe rânduri separate */
.articles-page .articles-swapped-title{display:block;margin-bottom:.75rem;}
.articles-page .articles-swapped-eyebrow{display:block;margin-bottom:1.25rem;transform:none;}

/* Articole: culori titluri */
.articles-page .articles-swapped-title { color: var(--gold-light) !important; }
.articles-page .articles-swapped-eyebrow { color: #fff !important; }

/* Linie decorativă în dreapta textului Biblioteca juridică */
.articles-page .articles-swapped-eyebrow{margin-bottom:1.25rem;display:flex;align-items:center;justify-content:center;gap:1rem;}
.articles-page .articles-swapped-eyebrow::after{content:"";display:inline-block;width:90px;height:1px;background:var(--gold-light);}

/* Biblioteca juridica: linii decorative perfect simetrice */
.articles-page .articles-swapped-eyebrow::before,
.articles-page .articles-swapped-eyebrow::after{
  content:"";
  display:inline-block;
  width:90px;
  height:1px;
  background:var(--gold-light);
  margin:0;
  flex:0 0 90px;
}

/* Corectie: pastreaza lungimea initiala a liniei din stanga si scurteaza linia din dreapta identic */
.articles-page .articles-swapped-eyebrow::before,
.articles-page .articles-swapped-eyebrow::after{
  width:28px;
  flex:0 0 28px;
  margin:0;
}

/* Articole: liniile de langa „Bibliotecă juridică” lungite la latimea titlului de deasupra */
.articles-page .articles-swapped-eyebrow::before,
.articles-page .articles-swapped-eyebrow::after{
  width:260px;
  flex:0 0 260px;
}

/* Ajustare: liniile Bibliotecă juridică puțin mai scurte */
.articles-page .articles-swapped-eyebrow::before,
.articles-page .articles-swapped-eyebrow::after{
  width:180px;
  flex:0 0 180px;
}

/* Corectie finala: ansamblul linii + „Bibliotecă juridică” are latimea titlului „Articole de specialitate” */
.articles-page .articles-swapped-eyebrow::before,
.articles-page .articles-swapped-eyebrow::after{
  width:70px;
  flex:0 0 70px;
}

/* Servicii Juridice: liniile se intind pana la latimea vizuala a titlului de deasupra */
.practice-header .section-eyebrow::before,
.practice-header .section-eyebrow::after{
  width:95px;
}

/* Servicii Juridice: linii putin mai lungi, pastrand simetria */
.practice-header .section-eyebrow::before,
.practice-header .section-eyebrow::after{
  width:125px;
}

/* Servicii Juridice: liniile au aceeasi culoare ca titlul de deasupra */
.practice-header .section-eyebrow::before,
.practice-header .section-eyebrow::after{
  background:var(--navy);
}

/* Servicii Juridice: linii putin mai scurte */
.practice-header .section-eyebrow::before,
.practice-header .section-eyebrow::after{
  width:115px;
}

/* Domenii Juridice — linii scurtate suplimentar */
.practice-header .section-eyebrow::before,
.practice-header .section-eyebrow::after { width: 24px; }

/* Domenii Juridice — corectie: linii intermediare, egale si simetrice */
.practice-header .section-eyebrow::before,
.practice-header .section-eyebrow::after{
  width:70px;
  flex:0 0 70px;
}

/* Contactați-ne — linii decorative mărite, egal și simetric */
.contact-info .section-eyebrow::before,
.contact-info .section-eyebrow::after{
  width:50px;
}

/* Contactați-ne — linii decorative mărite suplimentar, egal și simetric */
.contact-info .section-eyebrow::before,
.contact-info .section-eyebrow::after{
  width:70px;
  flex:0 0 70px;
}

/* Articole: mutare usoara spre dreapta a blocului introductiv */
.articles-page .editorial-hero{
  transform:translateX(18px);
}

/* Articole: corectie mutare bloc - foarte putin mai spre dreapta */
.articles-page .editorial-hero{
  transform:translate(24px, 12px);
}

/* Articole: butonul „Citește articolul” aliniat în dreapta */
.articles-page .article-more{
  display:block;
  width:max-content;
  margin-left:auto;
}

/* Articole: aliniere chenare cu blocul introductiv */
.articles-page .editorial-list{
  transform:translateX(9px);
}

/* FIX: Articole - cream dark (override regula veche cream) */
.articles-page .article-row {
  background: var(--cream-dark) !important;
}


/* Articole: bara de cautare in dreapta sus */
.articles-page .article-search-wrap{
  width:min(360px,42vw);
  margin:0 0 1.15rem auto;
  position:relative;
  z-index:2;
}
.articles-page .article-search-box{position:relative;}
.articles-page .article-search-box input{
  width:100%;
  height:44px;
  padding:0 2.7rem 0 1rem;
  border:2px solid var(--gold);
  border-radius:4px;
  background:rgba(250,248,243,.97);
  color:var(--navy);
  font:600 .92rem 'Lato',sans-serif;
  outline:none;
  box-shadow:0 4px 12px rgba(0,0,0,.14);
  transition:border-color .2s,box-shadow .2s;
}
.articles-page .article-search-box input::placeholder{color:#72706b;font-weight:400;}
.articles-page .article-search-box input:focus{
  border-color:var(--gold-light);
  box-shadow:0 4px 14px rgba(0,0,0,.18),0 0 0 2px rgba(201,169,97,.16);
}
.articles-page .article-search-icon{
  position:absolute;right:.95rem;top:50%;transform:translateY(-52%);
  color:var(--gold);font-size:1.35rem;pointer-events:none;
}
.articles-page .article-search-status{
  min-height:1.15rem;
  margin-top:.35rem;
  text-align:right;
  font-size:.78rem;
  color:rgba(255,255,255,.72);
}
.articles-page .article-row.search-hidden{display:none;}
@media(max-width:760px){
  .articles-page .article-search-wrap{width:100%;max-width:420px;margin:0 auto 1.4rem;}
  .articles-page .article-search-status{text-align:left;}
}

/* Articole: crem intermediar, putin mai deschis - doar chenarele articolelor */
.articles-page .article-row{
  background:#e5decf !important;
}

/* Servicii juridice: aceeasi nuanta crem intermediara ca chenarele articolelor */
.practice-section{
  background:#e5decf !important;
}

/* Banda deasupra sectiunii Contactati-ne: aceeasi nuanta ca Servicii juridice */
.contact-section{
  border-top-color:#e5decf !important;
}

/* Formular consultatie: aceeasi nuanta crem ca Servicii juridice si chenarele articolelor */
.contact-form-wrap{
  background:#e5decf !important;
}

/* Formular consultatie: bordura aurie */
.contact-form-wrap{
  border:1.5px solid #c9a84c !important;
}

/* Formular consultatie: crem putin mai deschis; restul nuantelor raman neschimbate */
.contact-form-wrap{
  background:#ebe5d8 !important;
}


/* Pagina individuala articol: acelasi design vizual ca pagina Articole de specialitate */
.article-detail-page{
  background:var(--navy) !important;
  color:var(--white);
}
.article-detail-page::after{
  content:"";
  position:fixed;
  inset:0;
  background-image:url("../img/tim_watermark.png");
  background-repeat:no-repeat;
  background-position:calc(50% + 25px) 35%;
  background-size:clamp(420px,55vw,760px) auto;
  opacity:.10;
  pointer-events:none;
  z-index:0;
}
.article-detail-page > .container{
  position:relative;
  z-index:1;
}
.article-detail-page .article-page{
  background:#e5decf !important;
  color:var(--navy);
  border:2px solid var(--gold) !important;
  box-shadow:var(--shadow-md);
}
.article-detail-page .article-page h1,
.article-detail-page .article-page h2,
.article-detail-page .article-page h3,
.article-detail-page .article-page h4,
.article-detail-page .article-page p,
.article-detail-page .article-page li{
  color:var(--navy);
}
.article-detail-page .article-page .article-lead{
  color:var(--text-muted);
}
.article-detail-page .article-back{
  color:var(--gold-dark);
}
.article-detail-page .article-back:hover{
  color:var(--gold);
}
@media(max-width:760px){
  .article-detail-page{background:var(--navy) !important;}
}

/* Link „Toate articolele” - doar culoarea textului */
.article-detail-page .article-back{
  color:var(--gold);
  background:transparent;
  border:0;
  padding:0;
  border-radius:0;
  box-shadow:none;
  text-decoration:none;
  transition:color .25s ease;
}
.article-detail-page .article-back:hover{
  color:var(--navy);
  background:transparent;
  box-shadow:none;
}

/* Pagina articol: domeniul în dreapta, simetric cu „Toate articolele” */
.article-detail-page .article-page{
  position:relative;
}
.article-detail-page .article-page > .article-meta{
  position:absolute;
  top:2.3rem;
  right:2.6rem;
  margin:0;
  text-align:right;
  justify-content:flex-end;
}
@media(max-width:760px){
  .article-detail-page .article-page > .article-meta{
    top:1.5rem;
    right:1.2rem;
  }
}

/* Pagina articol: titlul principal centrat */
.article-detail-page .article-page > h1{
  text-align:center;
}

/* Pagina articol: alineat de tip Tab pentru textul articolului */
.article-detail-page .article-page .article-lead,
.article-detail-page .article-page > p:not(.article-lead){
  text-indent:2em;
}

/* Pagina articol: mai mult spațiu între titlu și conținut */
.article-detail-page .article-page > h1{
  margin-bottom:2rem;
}

/* Articol demonstrativ: centrul chenarului este aliniat cu centrul watermark-ului (35% din viewport).
   Articolele generate din Admin raman la pozitia separata a template-ului. */
.article-detail-page .article-page.article-page-demo{
  margin-top:0;
  position:relative;
  top:calc(35vh - 70px - 5rem);
  transform:translate(10px,-50%);
  margin-bottom:4rem;
}
@media(max-width:760px){
  .article-detail-page .article-page.article-page-demo{
    top:calc(35vh - 70px - 3.5rem);
    margin-bottom:2.5rem;
  }
}

/* Ajustare: coboara usor chenarul articolului demonstrativ */
.article-detail-page .article-page.article-page-demo{
  top:calc(35vh - 70px - 5rem + 30px);
}
@media(max-width:760px){
  .article-detail-page .article-page.article-page-demo{
    top:calc(35vh - 70px - 3.5rem + 30px);
  }
}

/* Ajustare suplimentara: coboara mai mult chenarul articolului demonstrativ */
.article-detail-page .article-page.article-page-demo{
  top:calc(35vh - 70px - 5rem + 60px);
}
@media(max-width:760px){
  .article-detail-page .article-page.article-page-demo{
    top:calc(35vh - 70px - 3.5rem + 60px);
  }
}

/* Ajustare ceruta: coboara si mai mult chenarul articolului demonstrativ */
.article-detail-page .article-page.article-page-demo{
  top:calc(35vh - 70px - 5rem + 100px);
}
@media(max-width:760px){
  .article-detail-page .article-page.article-page-demo{
    top:calc(35vh - 70px - 3.5rem + 100px);
  }
}

/* Ajustare fina: coboara putin chenarul articolului demonstrativ */
.article-detail-page .article-page.article-page-demo{
  top:calc(35vh - 70px - 5rem + 115px);
}
@media(max-width:760px){
  .article-detail-page .article-page.article-page-demo{
    top:calc(35vh - 70px - 3.5rem + 115px);
  }
}

/* Articole publicate din Admin: marginea superioara a chenarului incepe la marginea vizibila de sus a watermark-ului.
   Regula nu se aplica articolului demonstrativ, care isi pastreaza pozitia stabilita separat. */
.article-detail-page .article-page:not(.article-page-demo){
  position:relative;
  top:calc(35vh - (clamp(420px,55vw,760px) * .4051) - 70px - 5rem);
}
@media(max-width:760px){
  .article-detail-page .article-page:not(.article-page-demo){
    top:calc(35vh - (clamp(420px,55vw,760px) * .4051) - 70px - 3.5rem);
  }
}

/* Articole: „Citește articolul” devine navy blue la hover */
.articles-page .article-row:hover .article-more,
.articles-page .article-more:hover{
  color:var(--navy) !important;
}


/* FAQ: acelasi design vizual ca pagina Articole de specialitate */
.faq-page .faq-list{
  transform:translateX(9px);
}
.faq-page .faq-card{
  background:#e5decf !important;
  border:2px solid var(--gold) !important;
  box-shadow:var(--shadow-sm);
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.faq-page .faq-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
  border-color:var(--gold-light) !important;
}
.faq-page .faq-answer-inner{
  color:var(--text-muted);
}
.faq-page .faq-card.open .faq-answer-inner{
  border-top-color:rgba(180,142,65,.35);
}
@media(max-width:760px){
  .faq-page .faq-list{transform:none;}
}

/* FAQ helper line: smaller italic font */
.faq-page .editorial-hero p em{font-size:.88em;}

/* MOBILE — watermark static centrat pe mijloc */
@media (max-width: 768px){
  body::before,
  .hero::before,
  .editorial-page::before,
  .services-section::before,
  .watermark,
  .watermark-fixed{
    background-position: center center !important;
  }

  body::before,
  .watermark,
  .watermark-fixed{
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}

/* MOBILE — watermark centrat vizual pe axa verticala a telefonului.
   Deplasam stratul, nu background-position, deoarece imaginea este mai lata decat viewport-ul. */
@media (max-width: 768px){
  .hero::after,
  .articles-page::after,
  .article-detail-page::after,
  .stats-bar::before,
  .contact-section::after{
    background-position: center 35% !important;
    transform: translateX(0px) !important;
  }
}












/* MOBILE — meniu hamburger: aliniere finala si linkuri stabile */
@media (max-width: 768px) {
  .mobile-menu > a {
    box-sizing: border-box !important;
    width: 100% !important;
    text-align: center !important;
  }

  .mobile-menu > .mobile-services-link,
  .mobile-menu > a[href="articole.html"],
  .mobile-menu > a[href="intrebari-frecvente.html"] {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  .mobile-menu > .mobile-contact-link {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    padding-bottom: 1rem !important;
  }

  .mobile-menu > .mobile-contact-link .whatsapp-icon {
    flex: 0 0 auto !important;
  }

  .mobile-menu > .mobile-consult-link {
    display: block !important;
    width: max-content !important;
    align-self: center !important;
    margin: .5rem auto 0 !important;
    font-size: .72rem !important;
    padding: .55rem 1.1rem !important;
    letter-spacing: .08em !important;
    text-align: center !important;
  }
}


/* MOBILE — actiuni hamburger fara conflict cu ancorele interne */
@media (max-width: 768px) {
  .mobile-menu > .mobile-menu-action {
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    background: transparent !important;
    color: var(--white) !important;
    font-size: 1.2rem !important;
    font-family: 'Playfair Display', serif !important;
    padding: 0 0 1rem !important;
    margin: 0 !important;
    width: 100% !important;
    text-align: center !important;
    cursor: pointer !important;
    line-height: inherit !important;
  }

  .mobile-menu > .mobile-contact-link {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  .mobile-menu > button.mobile-consult-link {
    display: block !important;
    width: max-content !important;
    align-self: center !important;
    margin: .5rem auto 0 !important;
    font-size: .72rem !important;
    padding: .55rem 1.1rem !important;
    letter-spacing: .08em !important;
    text-align: center !important;
    cursor: pointer !important;
  }
}


/* MOBILE — clickabilitate explicita pentru actiunile din hamburger */
@media (max-width: 768px) {
  .mobile-menu {
    pointer-events: auto !important;
  }

  .mobile-menu > .mobile-services-link,
  .mobile-menu > .mobile-consult-link,
  .mobile-menu > .mobile-contact-link {
    position: relative !important;
    z-index: 1002 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  .mobile-menu > .mobile-contact-link {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;
  }

  .mobile-menu > .mobile-consult-link {
    width: max-content !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* MOBILE — primul si ultimul element folosesc acelasi tip de link ca elementele functionale */
@media (max-width: 768px) {
  .mobile-menu > a.mobile-services-link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    position: relative !important;
    z-index: 1005 !important;
    pointer-events: auto !important;
  }

  .mobile-menu > a.mobile-consult-link {
    display: block !important;
    width: max-content !important;
    align-self: center !important;
    margin: .5rem auto 0 !important;
    text-align: center !important;
    position: relative !important;
    z-index: 1005 !important;
    pointer-events: auto !important;
    font-size: .72rem !important;
    padding: .55rem 1.1rem !important;
    letter-spacing: .08em !important;
  }

  .mobile-menu > a.mobile-contact-link {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;
  }
}

/* MOBILE — centreaza vizual textul Contact pe aceeasi axa cu celelalte optiuni */
@media (max-width: 768px) {
  .mobile-menu > a.mobile-contact-link {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  .mobile-menu > a.mobile-contact-link > span {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  .mobile-menu > a.mobile-contact-link .whatsapp-icon {
    position: absolute !important;
    left: calc(50% - 55px) !important;
    top: 0.05rem !important;
    margin-right: 0 !important;
  }
}

/* MOBILE — aliniază pictograma WhatsApp vertical în dreptul textului Contact */
@media (max-width: 768px) {
  .mobile-menu > a.mobile-contact-link .whatsapp-icon {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}

/* MOBILE — pictograma WhatsApp exact pe linia textului Contact */
@media (max-width: 768px) {
  .mobile-menu > a.mobile-contact-link .whatsapp-icon {
    top: 0.05rem !important;
    transform: none !important;
  }
}

/* MOBILE — WhatsApp centrat vertical exact ca în butonul Contact desktop */
@media (max-width: 768px) {
  .mobile-menu > a.mobile-contact-link .whatsapp-icon {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}

/* MOBILE — ajustare fină WhatsApp: 1px mai sus față de centrul butonului Contact */
@media (max-width: 768px) {
  .mobile-menu > a.mobile-contact-link .whatsapp-icon {
    top: 50% !important;
    transform: translateY(calc(-50% - 1px)) !important;
  }
}

/* MOBILE — ajustare fină WhatsApp: încă 3px mai sus */
@media (max-width: 768px) {
  .mobile-menu > a.mobile-contact-link .whatsapp-icon {
    top: 50% !important;
    transform: translateY(calc(-50% - 4px)) !important;
  }
}

/* MOBILE — ajustare fină WhatsApp: încă 3px mai sus (total 7px) */
@media (max-width: 768px) {
  .mobile-menu > a.mobile-contact-link .whatsapp-icon {
    transform: translateY(calc(-50% - 7px)) !important;
  }
}

/* MOBILE — incadreaza blocul principal de text in interiorul watermark-ului */
@media (max-width: 768px) {
  .hero-text-only {
    width: min(82vw, 330px) !important;
    max-width: 330px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .hero-text-only h1 {
    font-size: clamp(1.45rem, 6.2vw, 1.85rem) !important;
    line-height: 1.18 !important;
  }

  .hero-text-only .hero-lead {
    width: 100% !important;
    max-width: 310px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: .94rem !important;
    line-height: 1.55 !important;
  }
}

/* MOBILE — centreaza titlul pe axa watermark-ului fara a-i schimba latimea/randurile */
@media (max-width: 768px) {
  .hero-text-only h1 {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}



/* MOBILE — blocul principal este ancorat pe exact aceeasi axa ca watermark-ul */
@media (max-width: 768px) {
  .hero-grid > div:first-child {
    position: relative !important;
  }

  .hero-text-only {
    position: relative !important;
    width: min(82vw, 330px) !important;
    max-width: 330px !important;
    margin-left: 50% !important;
    margin-right: 0 !important;
    transform: translateX(-50%) !important;
  }

  .hero-text-only h1 {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: center !important;
  }
}

/* MOBILE — aliniere exactă: titlul folosește aceeași cutie de 310px ca textul de dedesubt */
@media (max-width: 768px) {
  .hero-text-only h1 {
    width: 310px !important;
    max-width: 310px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  .hero-text-only .hero-lead {
    width: 310px !important;
    max-width: 310px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}



/* MOBILE — deplasare verticala efectiva a blocului text + celor doua butoane */
@media (max-width: 768px) {
  #acasa .hero-grid > div:first-child {
    position: relative !important;
    top: 84px !important;
    transform: none !important;
  }
}

/* MOBILE — chenarul programului coborat proportional cu blocul text */
@media (max-width: 768px) {
  #acasa .hero-grid > div:nth-child(2) {
    position: relative !important;
    top: 156px !important;
  }
}

/* MOBILE — pozitionare bloc text pe centrul watermarkului, fara redimensionare */
@media (max-width: 768px) {
  #acasa .hero-grid > div:first-child {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

/* MOBILE — ascunde doar cratima initiala din textul Servicii juridice */
@media (max-width: 768px) {
  .mobile-hide-leading-dash {
    visibility: hidden !important;
  }
}

/* MOBILE — coboara doar cele doua butoane; blocul text ramane pe pozitia actuala */
@media (max-width: 768px) {
  #acasa .hero-actions {
    position: relative !important;
    top: 74px !important;
  }
}

/* CONTACT intre cele doua butoane din hero — vizibil doar pe mobil.
   Pozitia butonului Solicitati consultatie ramane neschimbata. */
.hero-mobile-contact {
  display: none !important;
}
@media (max-width: 768px) {
  #acasa .hero-actions .hero-mobile-contact {
    display: inline-block !important;
  }
}

/* MOBILE — ascunde doar butonul Servicii Juridice din blocul de butoane hero */
@media (max-width: 768px) {
  #acasa .hero-actions > a[href="#servicii"] {
    display: none !important;
  }
}

/* MOBILE — simbol WhatsApp in stanga butonului Contact, ansamblu centrat */
@media (max-width: 768px) {
  #acasa .hero-actions .hero-mobile-contact {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
  }
  #acasa .hero-actions .hero-mobile-contact .hero-contact-wa {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    display: block !important;
  }
}

/* MOBILE — simbol WhatsApp auriu in butonul Contact */
@media (max-width: 768px) {
  #acasa .hero-actions .hero-mobile-contact .hero-contact-wa {
    color: var(--gold) !important;
  }
}

/* MOBILE — buton Contact complet auriu: contur, text si simbol WhatsApp */
@media (max-width: 768px) {
  #acasa .hero-actions .hero-mobile-contact {
    color: var(--gold) !important;
    border-color: var(--gold) !important;
  }
  #acasa .hero-actions .hero-mobile-contact .hero-contact-wa {
    color: var(--gold) !important;
  }
}

/* MOBILE — Contact hero: auriu explicit (contur + text + WhatsApp) */
@media (max-width: 768px) {
  #acasa .hero-actions a.hero-mobile-contact.btn-outline,
  #acasa .hero-actions a.hero-mobile-contact.btn-outline:link,
  #acasa .hero-actions a.hero-mobile-contact.btn-outline:visited,
  #acasa .hero-actions a.hero-mobile-contact.btn-outline:hover,
  #acasa .hero-actions a.hero-mobile-contact.btn-outline:active {
    color: #d4af6a !important;
    border-color: #d4af6a !important;
    background: transparent !important;
  }
  #acasa .hero-actions a.hero-mobile-contact .hero-contact-wa,
  #acasa .hero-actions a.hero-mobile-contact .hero-contact-wa path {
    color: #d4af6a !important;
    fill: #d4af6a !important;
  }
}


/* MOBILE — program + toate elementele de sub el coborate suplimentar cu 12px */
@media (max-width: 768px) {
  #acasa {
    padding-bottom: calc(var(--hero-mobile-bottom-extra, 0px) + 24px) !important;
  }
}

/* MOBILE FIX FINAL — coboara efectiv cardul Program si impinge continutul urmator */
@media (max-width: 768px) {
  #acasa .hero-grid > div:nth-child(2) {
    top: 0 !important;
    margin-top: 190px !important;
  }
  #acasa .hero-card {
    position: relative !important;
    top: 0 !important;
  }
}

/* MOBILE — limita REALA a sectiunii Home este coborata pana la bara cu balanta.
   Nu exista banda/pseudo-element separat. Elementele din Home isi pastreaza pozitia.
   Bara ramane in aceeasi pozitie vizuala ca in versiunea anterioara. */
@media (max-width: 768px) {
  #acasa {
    padding-bottom: calc(var(--hero-mobile-bottom-extra, 0px) + 74px) !important;
  }
  .stats-bar {
    position: relative !important;
    top: 0 !important;
    margin-bottom: -50px !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }
  .stats-bar::after {
    content: none !important;
    display: none !important;
  }
}


/* MOBILE — fara banda separata deasupra Contactati-ne.
   Cei 3rem care erau border-top pe Contact sunt acum parte reala din fundalul Servicii.
   Pozitia vizuala a sectiunii Contact ramane neschimbata. */
@media (max-width: 768px) {
  #servicii.practice-section {
    padding-bottom: calc(9rem + 3rem) !important;
  }
  .contact-section {
    border-top: 0 !important;
  }
  .contact-section::after {
    content: none !important;
    display: none !important;
  }
}

/* MOBILE — bara cu balanta pastreaza exact nuanta actuala.
   Watermark-ul este doar portiunea watermark-ului fix care trece pe sub bara la scroll;
   pozitia verticala este sincronizata din JS, deci nu ramane niciun fragment static. */
@media (max-width: 768px) {
  .stats-bar::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: url("../img/tim_watermark.png") !important;
    background-repeat: no-repeat !important;
    background-size: 420px auto !important;
    background-position-x: center !important;
    background-position-y: var(--stats-watermark-top, -9999px) !important;
    background-attachment: scroll !important;
    opacity: .10 !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }
  .stats-bar > .container {
    position: relative !important;
    z-index: 1 !important;
  }
}


@media (max-width: 768px) {
  .page-divider img {
    transform: translateX(-2px) !important;
  }
}





@media (max-width: 768px) {
  .practice-header {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .practice-header .section-eyebrow {
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: fit-content !important;
    max-width: 92vw !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(6px, 2.2vw, 10px) !important;
    font-size: clamp(.68rem, 3.25vw, .88rem) !important;
    letter-spacing: clamp(.08em, .45vw, .16em) !important;
    white-space: nowrap !important;
  }

  .practice-header .section-eyebrow::before,
  .practice-header .section-eyebrow::after {
    content: "" !important;
    display: block !important;
    width: clamp(22px, 11vw, 52px) !important;
    flex: 0 0 clamp(22px, 11vw, 52px) !important;
    height: 1px !important;
    margin: 0 !important;
  }
}


@media (max-width: 1024px) {
  #servicii .practice-header .section-eyebrow {
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
    width: min(88vw, 430px) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(7px, 1.8vw, 12px) !important;
    font-size: clamp(.72rem, 2.7vw, 1rem) !important;
    letter-spacing: clamp(.08em, .35vw, .16em) !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  #servicii .practice-header .section-eyebrow::before,
  #servicii .practice-header .section-eyebrow::after {
    content: "" !important;
    display: block !important;
    width: auto !important;
    max-width: 70px !important;
    min-width: 20px !important;
    flex: 1 1 70px !important;
    height: 1px !important;
    margin: 0 !important;
  }
}


@media (max-width: 768px) {
  #servicii .practice-header .section-eyebrow {
    width: auto !important;
    max-width: calc(100vw - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    gap: 8px !important;
    font-size: calc(clamp(.64rem, 2.85vw, .78rem) + 2px) !important;
    letter-spacing: clamp(.05em, .22vw, .10em) !important;
    line-height: 1 !important;
  }

  #servicii .practice-header .section-eyebrow::before,
  #servicii .practice-header .section-eyebrow::after {
    width: clamp(24px, 8vw, 38px) !important;
    min-width: clamp(24px, 8vw, 38px) !important;
    max-width: clamp(24px, 8vw, 38px) !important;
    flex: 0 0 clamp(24px, 8vw, 38px) !important;
    margin: 0 !important;
  }
}

/* Mobile: cardurile expandate nu trebuie sa forteze/reancoreze scroll-ul paginii. */
@media (max-width: 768px) {
  #servicii,
  #servicii .services-grid,
  #servicii .service-card,
  #servicii .service-row-panel {
    overflow-anchor: none;
  }
}


/* Mobile: elimina clipirea vizuala la expandarea/schimbarea cardurilor. */
@media (max-width: 768px) {
  /* Pe ecrane tactile, :hover poate ramane activ dupa tap si produce un salt/flash. */
  #servicii .service-card,
  #servicii .service-card:hover,
  #servicii .service-card.is-open {
    transform: none !important;
    transition: border-color .18s ease, box-shadow .18s ease !important;
  }

  #servicii .service-card:hover::before,
  #servicii .service-card.is-open::before {
    transition: none !important;
  }

  /* Panoul isi anima doar inaltimea. Fara fade/translate, care pe mobil
     producea un cadru alb/intermediar perceput ca flash. */
  #servicii .service-row-panel {
    opacity: 1 !important;
    transform: none !important;
    transition: max-height .30s ease, margin .30s ease !important;
    will-change: max-height;
  }

  #servicii .service-row-panel:not(.is-open) {
    opacity: 1 !important;
    transform: none !important;
  }

  /* Jocuri de noroc are mai mult continut pe mobil; evita taierea chenarului. */
  #servicii .service-row-panel--gambling.is-open {
    max-height: 2200px;
  }

  #servicii .service-row-panel-inner {
    transform: translateZ(0);
    backface-visibility: hidden;
  }
}

/* Mobile: in sectiunea Contactati-ne pastram doar titlurile; datele de contact si programul raman doar pe Home */
@media (max-width: 768px) {
  #contact .contact-info > .contact-detail {
    display: none !important;
  }
}

/* Mobile: titlurile Contact au aceeasi scara ca titlurile din Servicii */
@media (max-width: 768px) {
  #contact .contact-heading-group .section-title {
    font-size: 1.8rem !important;
  }

  #contact .contact-heading-group .section-eyebrow {
    width: auto !important;
    max-width: calc(100vw - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    gap: 8px !important;
    font-size: calc(clamp(.64rem, 2.85vw, .78rem) + 2px) !important;
    letter-spacing: clamp(.05em, .22vw, .10em) !important;
    line-height: 1 !important;
  }

  #contact .contact-heading-group .section-eyebrow::before,
  #contact .contact-heading-group .section-eyebrow::after {
    width: clamp(24px, 8vw, 38px) !important;
    min-width: clamp(24px, 8vw, 38px) !important;
    max-width: clamp(24px, 8vw, 38px) !important;
    flex: 0 0 clamp(24px, 8vw, 38px) !important;
    margin: 0 !important;
  }
}

/* MOBILE — reduce spatiul gol dintre ultimul card si sectiunea Contactati-ne. */
@media (max-width: 768px) {
  #servicii.practice-section {
    padding-bottom: 5rem !important;
  }
}

/* MOBILE — ultimul card mai aproape de sectiunea Contactati-ne. */
@media (max-width: 768px) {
  #servicii.practice-section {
    padding-bottom: 1.5rem !important;
  }
}

/* MOBILE — elimina efectiv zona goala dintre ultimul card si Contactati-ne. */
@media (max-width: 768px) {
  #servicii.practice-section {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
  #servicii > .container,
  #servicii .services-grid {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  #servicii .services-grid > :last-child {
    margin-bottom: 0 !important;
  }
  #contact.contact-section {
    margin-top: 0 !important;
  }
}

/* MOBILE — distanta dintre ultimul card si Contactati-ne: 5x fata de varianta precedenta. */
@media (max-width: 768px) {
  #servicii.practice-section {
    padding-bottom: 7.5rem !important;
  }
}

/* FIX 2026-08-11 — toate expandurile Domenii juridice au aceeași structură ca primul:
   o singură coloană, ciocănel pentru punctele principale, subpuncte indentate. */
#servicii .service-row-panel.is-open {
  max-height: 1400px;
}

#servicii .service-row-panel .service-row-panel-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  width: 100%;
}

#servicii .service-row-panel .service-row-panel-list > li {
  position: relative;
  width: 100%;
  padding-left: 34px;
}

#servicii .service-row-panel .service-row-panel-list > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .42rem;
  width: 24px;
  height: 24px;
  background: url("../img/gavel-bullet.png") center / contain no-repeat;
}

#servicii .service-row-panel .service-row-panel-list > li > ul {
  display: block;
  grid-template-columns: none;
  margin: .35rem 0 .15rem 1.35rem;
  padding: 0;
}

#servicii .service-row-panel .service-row-panel-list > li > ul > li {
  position: relative;
  padding-top: .22rem;
  padding-bottom: .22rem;
  padding-left: 20px;
}

#servicii .service-row-panel .service-row-panel-list > li > ul > li::before {
  content: "•";
  position: absolute;
  background: none;
  width: auto;
  height: auto;
  top: auto;
  left: 3px;
  color: var(--gold, #b6934e);
  font-size: 1.25em;
}

/* Mobile 2026-08-11: justify compact pe ecrane înguste.
   Hyphenation unde browserul o suportă + fallback de rupere a cuvintelor
   pentru a evita golurile foarte mari dintre cuvinte. */
@media (max-width: 768px) {
  #servicii .service-row-panel .service-row-panel-list > li,
  #servicii .service-row-panel .service-row-panel-list > li > ul > li {
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: inter-word;
    -webkit-hyphens: auto;
    hyphens: auto;
    overflow-wrap: break-word;
    word-break: normal;
    word-spacing: -0.015em;
  }
}


/* Mobile 2026-08-11 v2 — justify mai compact pe Samsung/Chrome.
   Marim latimea utila a textului si permitem ruperea cuvintelor lungi ca fallback,
   deoarece hyphenation automata RO nu este aplicata pe toate browserele mobile. */
@media (max-width: 768px) {
  #servicii .service-row-panel-inner {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  #servicii .service-row-panel .service-row-panel-list > li {
    padding-left: 29px !important;
    font-size: 0.96em;
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: inter-character;
    -webkit-hyphens: auto;
    hyphens: auto;
    overflow-wrap: anywhere;
    word-break: normal;
    word-spacing: normal !important;
  }

  #servicii .service-row-panel .service-row-panel-list > li::before {
    width: 21px !important;
    height: 21px !important;
    top: .36rem !important;
  }

  #servicii .service-row-panel .service-row-panel-list > li > ul {
    margin-left: .7rem !important;
  }

  #servicii .service-row-panel .service-row-panel-list > li > ul > li {
    padding-left: 18px !important;
    font-size: 1em;
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: inter-character;
    -webkit-hyphens: auto;
    hyphens: auto;
    overflow-wrap: anywhere;
    word-break: normal;
    word-spacing: normal !important;
  }
}

/* Mobile 2026-08-11 v3 — justify cu puncte manuale de despărțire (soft hyphen). */
@media (max-width: 768px) {
  .service-details-inner li,
  .service-details-inner li em,
  .service-details-inner li strong,
  .service-details-inner p {
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: inter-word !important;
    -webkit-hyphens: manual !important;
    hyphens: manual !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

/* Mobile 2026-08-11 v4 — uniformizare vizuala font in expanduri.
   Previne text autosizing/inflation pe Chrome/Samsung si pastreaza
   aceeasi dimensiune, grosime si spacing pentru toate fragmentele. */
@media (max-width: 768px) {
  #servicii .service-row-panel,
  #servicii .service-row-panel-inner,
  #servicii .service-row-panel .service-row-panel-list,
  #servicii .service-row-panel .service-row-panel-list > li,
  #servicii .service-row-panel .service-row-panel-list > li > ul,
  #servicii .service-row-panel .service-row-panel-list > li > ul > li,
  #servicii .service-row-panel .service-row-panel-list li em,
  #servicii .service-row-panel .service-row-panel-list li strong,
  #servicii .service-row-panel .service-row-panel-list li span {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
    font-stretch: normal !important;
    font-kerning: normal !important;
  }

  #servicii .service-row-panel .service-row-panel-list > li,
  #servicii .service-row-panel .service-row-panel-list > li > ul > li,
  #servicii .service-row-panel .service-row-panel-list li em,
  #servicii .service-row-panel .service-row-panel-list li strong,
  #servicii .service-row-panel .service-row-panel-list li span {
    letter-spacing: 0 !important;
  }
}

/* Mobile 2026-08-11 v5 — justify natural, fara „intinderea” vizibila a cuvintelor. */
@media (max-width: 768px) {
  #servicii .service-row-panel .service-row-panel-list > li,
  #servicii .service-row-panel .service-row-panel-list > li > ul > li {
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: auto !important;
    -webkit-hyphens: auto !important;
    hyphens: auto !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    word-spacing: 0 !important;
    letter-spacing: 0 !important;
  }

  #servicii .service-row-panel .service-row-panel-list li em,
  #servicii .service-row-panel .service-row-panel-list li strong,
  #servicii .service-row-panel .service-row-panel-list li span {
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    word-spacing: inherit !important;
    font-stretch: normal !important;
  }
}

/* Mobile 2026-08-11 v6 — Drept civil: exceptie reala, fara spatiere fortata de justify. */
@media (max-width: 768px) {
  #service-details-5 .service-details-inner > ul > li,
  #service-details-5 .service-details-inner > ul > li > ul > li,
  #service-details-5 .service-details-inner li em,
  #service-details-5 .service-details-inner li strong,
  #service-details-5 .service-details-inner li span {
    text-align: left !important;
    text-align-last: auto !important;
    text-justify: none !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
}

/* Mobile 2026-08-11 v8 — Drept civil: justify compact doar pe panoul civil.
   Latime utila mai mare + font discret redus doar la punctul lung si subpuncte,
   pentru a evita golurile mari dintre cuvinte. */
@media (max-width: 768px) {
  #servicii .service-row-panel.service-row-panel--civil .service-row-panel-list > li:nth-child(4) {
    font-size: 0.91em !important;
    padding-left: 25px !important;
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: inter-word !important;
    -webkit-hyphens: manual !important;
    hyphens: manual !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    word-spacing: -0.035em !important;
    letter-spacing: 0 !important;
  }

  #servicii .service-row-panel.service-row-panel--civil .service-row-panel-list > li:nth-child(4) > ul {
    margin-left: 0.25rem !important;
  }

  #servicii .service-row-panel.service-row-panel--civil .service-row-panel-list > li:nth-child(4) > ul > li {
    font-size: 0.98em !important;
    padding-left: 16px !important;
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: inter-word !important;
    -webkit-hyphens: manual !important;
    hyphens: manual !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    word-spacing: -0.035em !important;
    letter-spacing: 0 !important;
  }

  #servicii .service-row-panel.service-row-panel--civil .service-row-panel-list > li:nth-child(4) > ul > li > em {
    display: inline !important;
    font-size: inherit !important;
    text-align: inherit !important;
    word-spacing: inherit !important;
    letter-spacing: inherit !important;
  }
}

/* Mobile 2026-08-11 v10 — Drept civil: rupere controlata dupa slash, fara spatii fortate. */
.mobile-slash-break { display: none; }
@media (max-width: 768px) {
  #servicii .mobile-slash-break { display: block; }
}

/* Mobile 2026-08-11 v11 — Drept civil: doua randuri, ambele justify. */
@media (max-width: 768px) {
#servicii .service-row-panel.service-row-panel--civil .service-row-panel-list > li:nth-child(4) {text-align:justify!important;text-align-last:justify!important;text-justify:inter-word!important;}
}


/* Romanian diacritics: use the real Lato italic face, not browser-synthesized italic */
#servicii .service-details-inner li > ul > li,
#servicii .service-details-inner li > ul > li em {
  font-family: 'Lato', system-ui, sans-serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

/* Mobile 2026-08-11 — Contactați-ne: fără watermark doar pe mobil */
@media (max-width: 768px) {
  .contact-info::before,
  .contact-section::after {
    content: none !important;
    display: none !important;
    background-image: none !important;
  }
}

/* Mobile 2026-08-11 — Contact: blocul de titlu centrat orizontal si vertical
   intre limita superioara a sectiunii si formular, fara mutarea formularului. */
@media (max-width: 768px) {
  #contact .contact-info .contact-heading-group {
    width: max-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    transform: translateY(6px) !important;
  }
}

/* Mobile 2026-08-11 — watermark continuu si in Contactați-ne.
   Foloseste aceeasi imagine/pozitionare fixa ca primele doua sectiuni;
   formularul si footerul raman complet solide. */
@media (max-width: 768px) {
  #contact.contact-section {
    isolation: isolate !important;
  }

  #contact.contact-section::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    height: auto !important;
    transform: none !important;
    background-image: url("../img/tim_watermark.png") !important;
    background-repeat: no-repeat !important;
    background-position: center 35% !important;
    background-size: 420px auto !important;
    background-attachment: fixed !important;
    opacity: .10 !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  #contact .contact-grid {
    position: relative !important;
    z-index: 1 !important;
  }

  #contact .contact-form-wrap {
    position: relative !important;
    z-index: 2 !important;
    opacity: 1 !important;
  }

  .site-footer {
    position: relative !important;
    z-index: 3 !important;
    opacity: 1 !important;
  }
}

/* Mobile 2026-08-11 — footer vertical: ANPC+SAL (un singur link), TIM, copyright. */
@media (max-width: 768px) {
  .site-footer .footer-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    text-align: center !important;
  }

  .site-footer .footer-sal {
    order: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: 0 auto 14px !important;
    width: max-content !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
  }

  .site-footer .footer-sal-anpc {
    order: 1 !important;
    margin: 0 auto !important;
  }

  .site-footer .footer-sal-text {
    order: 2 !important;
    display: block !important;
    text-align: center !important;
  }

  .site-footer .footer-logo {
    order: 2 !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 auto 12px !important;
  }

  .site-footer .footer-copy {
    order: 3 !important;
    margin: 0 !important;
    text-align: center !important;
    white-space: normal !important;
  }
}

/* Mobile 2026-08-11 — ANPC/SAL mai compact + spatiu suplimentar pana la logo TIM. */
@media (max-width: 768px) {
  .site-footer .footer-sal {
    gap: 5px !important;
    margin-bottom: 24px !important;
  }
  .site-footer .footer-sal-anpc {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    font-size: 8px !important;
    border-width: 1px !important;
  }
  .site-footer .footer-sal-text {
    font-size: .68rem !important;
    line-height: 1.15 !important;
  }
}

/* Mobile 2026-08-11 — footer putin mai ingust pe verticala. */
@media (max-width: 768px) {
  .site-footer {
    padding: 1.5rem 0 !important;
  }
}

/* Mobile 2026-08-11 — footer compactat real pe verticala. */
@media (max-width: 768px) {
  .site-footer {
    padding: .65rem 0 .7rem !important;
  }
  .site-footer .footer-sal {
    gap: 3px !important;
    margin: 0 auto 12px !important;
  }
  .site-footer .footer-logo {
    margin: 0 auto 6px !important;
  }
  .site-footer .footer-copy {
    line-height: 1.15 !important;
  }
}

/* Mobile 2026-08-11 — Servicii juridice: sectiune mai scurta in partea de sus,
   pentru a apropia blocul de titlu de bara cu balanta. Desktop neschimbat. */
@media (max-width: 768px) {
  #servicii.practice-section {
    padding-top: 5.5rem !important;
  }
}

/* Mobile 2026-08-11 — ancora Servicii Juridice: la apasarea butonului,
   sectiunea incepe imediat sub headerul sticky, ca in captura de referinta. */
@media (max-width: 768px) {
  #servicii {
    scroll-margin-top: 70px !important;
  }
}


/* Mobile 2026-08-11 — pozitie scroll Servicii controlata explicit din JS. */
@media (max-width: 768px) {
  #servicii { scroll-margin-top: 0 !important; }
}

/* Mobile 2026-08-11 — Articole de specialitate: layout adaptat dupa mecanica Home.
   Exclusiv mobil: eliminam offseturile desktop si folosim aceeasi axa/lungime utila. */
@media (max-width: 768px) {
  .articles-page {
    padding: 3.15rem 0 4rem !important;
    overflow-x: hidden !important;
  }

  .articles-page > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .articles-page .editorial-hero {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 2rem !important;
    padding: 0 !important;
    transform: none !important;
    text-align: center !important;
  }

  .articles-page .articles-swapped-title {
    margin: 0 auto .65rem !important;
    font-size: clamp(1.45rem, 7vw, 1.85rem) !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  .articles-page .articles-swapped-eyebrow {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto .9rem !important;
    padding: 0 !important;
    transform: none !important;
    justify-content: center !important;
    gap: .55rem !important;
    font-size: .78rem !important;
    letter-spacing: .13em !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  .articles-page .articles-swapped-eyebrow::before,
  .articles-page .articles-swapped-eyebrow::after {
    width: clamp(24px, 9vw, 42px) !important;
    flex: 0 1 clamp(24px, 9vw, 42px) !important;
  }

  .articles-page .editorial-hero p {
    width: 100% !important;
    max-width: 34ch !important;
    margin: 0 auto !important;
    padding: 0 !important;
    font-size: .94rem !important;
    line-height: 1.55 !important;
    text-align: center !important;
  }

  .articles-page .article-search-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 1.25rem !important;
    transform: none !important;
  }

  .articles-page .article-search-box,
  .articles-page .article-search-box input {
    width: 100% !important;
    max-width: 100% !important;
  }

  .articles-page .article-search-box input {
    height: 43px !important;
    padding-left: .9rem !important;
    padding-right: 2.6rem !important;
    font-size: .9rem !important;
  }

  .articles-page .article-search-status {
    margin-top: .3rem !important;
    text-align: left !important;
  }

  .articles-page .editorial-list {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transform: none !important;
  }

  .articles-page .article-row {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 1.05rem 1rem !important;
  }

  .articles-page .article-row h2 {
    font-size: 1.18rem !important;
    line-height: 1.28 !important;
    overflow-wrap: anywhere !important;
  }

  .articles-page .article-row p {
    font-size: .92rem !important;
    line-height: 1.55 !important;
    overflow-wrap: anywhere !important;
  }

  .articles-page .article-meta,
  .articles-page .article-more {
    font-size: .8rem !important;
  }
}

@media (max-width: 380px) {
  .articles-page > .container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .articles-page .articles-swapped-eyebrow {
    font-size: .72rem !important;
    letter-spacing: .1em !important;
    gap: .4rem !important;
  }
  .articles-page .articles-swapped-eyebrow::before,
  .articles-page .articles-swapped-eyebrow::after {
    width: 22px !important;
    flex-basis: 22px !important;
  }
}

/* Mobile articole: eticheta Domeniu echilibrata vizual cu „Citeste articolul” */
@media (max-width: 768px) {
  .articles-page .article-row .article-meta,
  .articles-page .article-row .article-meta span {
    font-size: .72rem !important;
  }
}

/* Mobile articole: DOMENIU ramane CAPS, dar usor mai mic vizual */
@media (max-width: 768px) {
  .articles-page .article-row .article-meta,
  .articles-page .article-row .article-meta span {
    font-size: .66rem !important;
  }
}

/* Mobile 2026-08-11 — paginile individuale ale articolelor urmeaza exact
   grila si scara vizuala din pagina principala „Articole de specialitate”.
   Se aplica si articolelor generate ulterior din Admin, deoarece template-ul
   foloseste aceleasi clase article-detail-page / article-page. */
@media (max-width: 768px) {
  .article-detail-page {
    padding: 3.15rem 0 4rem !important;
    overflow-x: hidden !important;
  }

  .article-detail-page > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Anuleaza pozitionarile vechi raportate separat la watermark. */
  .article-detail-page .article-page,
  .article-detail-page .article-page.article-page-demo,
  .article-detail-page .article-page:not(.article-page-demo) {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 1.05rem 1rem !important;
  }

  /* Aceeasi scara ca titlul cardului din lista de articole. */
  .article-detail-page .article-page > h1 {
    margin: .45rem 0 1rem !important;
    font-size: 1.18rem !important;
    line-height: 1.28 !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
  }

  /* Corpul articolului foloseste aceeasi marime si ritm ca rezumatul cardurilor. */
  .article-detail-page .article-page .article-lead,
  .article-detail-page .article-page > p:not(.article-lead),
  .article-detail-page .article-page li {
    font-size: .92rem !important;
    line-height: 1.55 !important;
    overflow-wrap: anywhere !important;
  }

  .article-detail-page .article-page h2 {
    font-size: 1.08rem !important;
    line-height: 1.35 !important;
    margin: 1.35rem 0 .55rem !important;
  }

  .article-detail-page .article-page h3,
  .article-detail-page .article-page h4 {
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }

  /* Domeniul are exact scara vizuala folosita in cardurile listei. */
  .article-detail-page .article-page > .article-meta,
  .article-detail-page .article-page > .article-meta span {
    font-size: .66rem !important;
  }

  .article-detail-page .article-page > .article-meta {
    top: 1.05rem !important;
    right: 1rem !important;
  }

  /* Linkul de intoarcere este echilibrat cu „Citeste articolul”. */
  .article-detail-page .article-back {
    margin-bottom: 1.2rem !important;
    font-size: .8rem !important;
    line-height: 1.2 !important;
  }

  /* Pastreaza alineatul articolului, dar fara sa schimbe axa generala. */
  .article-detail-page .article-page .article-lead,
  .article-detail-page .article-page > p:not(.article-lead) {
    text-indent: 2em !important;
  }
}

@media (max-width: 380px) {
  .article-detail-page > .container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}


/* FINAL MOBILE ARTICLE WATERMARK EDGE LOCK 2026-08-11 */
@media screen and (max-width:768px){
  html body main.article-detail-page{
    padding-top:max(54px, calc(35vh - 171px)) !important;
  }
  html body main.article-detail-page article.article-page,
  html body main.article-detail-page article.article-page.article-page-demo,
  html body main.article-detail-page article.article-page:not(.article-page-demo){
    position:relative !important;
    top:auto !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
}


/* FINAL MOBILE ARTICLE FOOTER FLOW 2026-08-11
   Elimina inaltimea minima care crea spatiul gol sub articole.
   Footerul urmeaza continutul in flux normal si este impins in jos pe masura ce articolul creste. */
@media screen and (max-width:768px){
  html body main.article-detail-page{
    min-height:0 !important;
    height:auto !important;
    padding-bottom:2rem !important;
  }
}

/* FINAL MOBILE ARTICLE — umple viewportul pana la footer, fara zona alba (2026-08-11) */
@media screen and (max-width:768px){
  html:has(main.article-detail-page),
  body:has(main.article-detail-page){
    min-height:100%;
    background:var(--navy) !important;
  }
  body:has(main.article-detail-page){
    min-height:100vh !important;
    min-height:100dvh !important;
    display:flex !important;
    flex-direction:column !important;
  }
  body:has(main.article-detail-page) > main.article-detail-page{
    flex:1 0 auto !important;
  }
  body:has(main.article-detail-page) > .site-footer{
    flex:0 0 auto !important;
    margin-top:0 !important;
  }
}

/* FINAL MOBILE ARTICLE — umple viewportul pana la footer, fara zona alba (2026-08-11) */
@media screen and (max-width:768px){
  html:has(main.article-detail-page), body:has(main.article-detail-page){min-height:100%;background:var(--navy) !important;}
  body:has(main.article-detail-page){min-height:100vh !important;min-height:100dvh !important;display:flex !important;flex-direction:column !important;}
  body:has(main.article-detail-page) > main.article-detail-page{flex:1 0 auto !important;}
  body:has(main.article-detail-page) > .site-footer{flex:0 0 auto !important;margin-top:0 !important;}
}


/* FINAL MOBILE ARTICLE POSITION — 10px mai sus, autoritate finala 2026-08-11 */
@media screen and (max-width:768px){
  html body main.article-detail-page{
    padding-top:max(54px, calc(35vh - 171px)) !important;
  }
}


/* FINAL MOBILE ARTICLE — chenar pe inaltimea vizibila a watermark-ului (2026-08-11)
   Watermark-ul mobil este randat la 420px; continutul vizibil ocupa ~344px pe verticala.
   min-height pastreaza muchia de sus/jos pe conturul watermark-ului pentru articole scurte,
   iar articolele lungi continua sa extinda chenarul numai in jos. */
@media screen and (max-width:768px){
  html body main.article-detail-page article.article-page,
  html body main.article-detail-page article.article-page.article-page-demo,
  html body main.article-detail-page article.article-page:not(.article-page-demo){
    min-height:344px !important;
  }
}

/* FINAL MOBILE ARTICLE — chenar 10px mai sus (2026-08-11) */
@media screen and (max-width:768px){
  html body main.article-detail-page{
    padding-top:max(44px, calc(35vh - 181px)) !important;
  }
}


/* FINAL MOBILE ARTICLE — distante fixe header/footer, creste numai chenarul (2026-08-11)
   Muchia de sus ramane la reperul actual. Pentru articole scurte, chenarul ocupa
   tot spatiul disponibil pana la distanta fixa de 2rem fata de footer. Cand textul
   devine mai lung, chenarul se extinde numai in jos si impinge footerul, fara sa
   schimbe distantele exterioare. */
@media screen and (max-width:768px){
  body:has(main.article-detail-page) > main.article-detail-page{
    display:flex !important;
    flex-direction:column !important;
  }
  html body main.article-detail-page > .container{
    flex:1 0 auto !important;
    display:flex !important;
    flex-direction:column !important;
  }
  html body main.article-detail-page article.article-page,
  html body main.article-detail-page article.article-page.article-page-demo,
  html body main.article-detail-page article.article-page:not(.article-page-demo){
    flex:1 0 auto !important;
  }
}

/* ===================================================
   DESKTOP FLUID SCALE XL — calibrare 4K 3840px
   Pentru ecrane desktop foarte late, întregul layout desktop
   se scalează uniform față de compoziția de la 1920px.
   Mobile/tablet rămân neatinse.
   =================================================== */
@media (min-width: 1921px) {
  body {
    zoom: min(2.25, calc(100vw / 1706.6667px));
  }
}


/* 4K 3840 — corectie exclusiva logo/brand header: evita taierea la marginea stanga */
@media (min-width: 1921px) {
  .navbar > .navbar-brand {
    margin-left: -306px !important;
  }
}

/* 4K 3840 — HEADER ECHILIBRAT
   Doar headerul: margini laterale reale, cele 4 butoane centrale raman grupate,
   iar spatiul liber este distribuit egal intre brand — grup — CTA. */
@media (min-width: 1921px) {
  .site-header > .container {
    max-width: 1600px !important;
    width: 100% !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .site-header .navbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
    position: relative !important;
  }

  .site-header .navbar > .navbar-brand {
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    flex: 0 0 auto !important;
  }

  .site-header .navbar > .nav-links {
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex: 0 0 auto !important;
  }

  .site-header .navbar > .btn-nav {
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    margin-left: 0 !important;
    flex: 0 0 auto !important;
  }

  .site-header .navbar > .btn-nav:hover {
    transform: translateY(-1px) !important;
  }
}

/* ===================================================
   DESKTOP 2560x1600 — corectie EXCLUSIV verticala
   Watermark-ul ramane neschimbat (este fixed). Nu se modifica
   dimensiunile sau geometria orizontala. Coboram continutul hero
   si bara cu balanta pentru raportul 16:10.
   =================================================== */
@media (min-width: 2500px) and (max-width: 2620px) and (min-height: 1540px) and (max-height: 1660px) {
  #acasa.hero {
    padding-top: calc(6rem + 55px) !important;
    padding-bottom: calc(8.5rem + 65px) !important;
  }
}

/* ===================================================
   DESKTOP 1920x1200 — corectie EXCLUSIV verticala
   Pastreaza watermark-ul, dimensiunile si geometria orizontala.
   Coboara numai continutul primei sectiuni si bara cu balanta.
   Rezolutiile 2560+ raman in afara acestei reguli.
   =================================================== */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1160px) and (max-height: 1240px) {
  #acasa.hero {
    padding-top: calc(6rem + 55px) !important;
    padding-bottom: calc(8.5rem + 65px) !important;
  }
}

/* ===================================================
   DESKTOP 1920x1200 — reglaj vertical suplimentar GLOBAL
   Doar aceasta fereastra. Watermark-urile si geometria orizontala
   raman neschimbate. Elementele vizibile sunt coborate uniform.
   =================================================== */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1160px) and (max-height: 1240px) {
  /* Home / prima sectiune + bara cu balanta */
  #acasa.hero {
    padding-top: calc(6rem + 90px) !important;
    padding-bottom: calc(8.5rem + 100px) !important;
  }

  /* Home / Servicii juridice */
  #servicii.practice-section > .container {
    transform: translateY(35px) !important;
  }

  /* Home / Contact */
  #contact.contact-section > .container {
    transform: translateY(35px) !important;
  }

  /* Articole + FAQ: titlu, search si carduri coboara impreuna */
  body main.articles-page > .container {
    transform: translateY(35px) !important;
  }
}

/* ===================================================
   DESKTOP 1920x1200 — coborare SUPLIMENTARA doar pentru
   Servicii juridice, Articole de specialitate si FAQ.
   Se pastreaza coborarea generala existenta; aceste trei zone
   primesc inca 35px. Prima sectiune, Contact si watermark-urile
   raman exact la reglajul anterior.
   =================================================== */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1160px) and (max-height: 1240px) {
  #servicii.practice-section > .container {
    transform: translateY(70px) !important;
  }

  body main.articles-page > .container {
    transform: translateY(70px) !important;
  }
}

/* 1920x1200 — reglaj fin: inca 15px jos doar Servicii, Articole si FAQ */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1160px) and (max-height: 1240px) {
  #servicii.practice-section > .container {
    transform: translateY(85px) !important;
  }
  body main.articles-page > .container {
    transform: translateY(85px) !important;
  }
}

/* 1920x1200 — alungire fundal crem Servicii spre Contactați-ne.
   Nu muta elementele deja reglate; adauga doar spatiu crem sub ele. */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1160px) and (max-height: 1240px) {
  #servicii.practice-section {
    padding-bottom: calc(9rem + 90px) !important;
  }
}

/* 1920x1200 — alungire suplimentara usoara a fundalului crem spre Contact. */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1160px) and (max-height: 1240px) {
  #servicii.practice-section {
    padding-bottom: calc(9rem + 120px) !important;
  }
}

/* ===================================================
   DESKTOP 1920x1080 — aceleasi reglaje finale ca la 1920x1200
   Pastreaza geometria orizontala si watermark-urile neschimbate.
   =================================================== */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1040px) and (max-height: 1120px) {
  /* Home / prima sectiune + bara cu balanta */
  #acasa.hero {
    padding-top: calc(6rem + 90px) !important;
    padding-bottom: calc(8.5rem + 100px) !important;
  }

  /* Home / Servicii juridice — coborare generala + suplimentara + reglaj fin */
  #servicii.practice-section > .container {
    transform: translateY(85px) !important;
  }

  /* Home / Contact — doar coborarea generala */
  #contact.contact-section > .container {
    transform: translateY(35px) !important;
  }

  /* Articole de specialitate + FAQ — coborare generala + suplimentara + reglaj fin */
  body main.articles-page > .container {
    transform: translateY(85px) !important;
  }

  /* Fundal crem Servicii alungit spre Contactați-ne, identic cu 1920x1200 */
  #servicii.practice-section {
    padding-bottom: calc(9rem + 120px) !important;
  }
}

/* 1920x1080 — ridicare izolata: doar blocul text si blocul Program/date.
   Toate celelalte pozitii raman neschimbate, inclusiv bara cu balanta si sectiunile de sub ea. */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1040px) and (max-height: 1120px) {
  #acasa .hero-text-only {
    transform: translateY(37px) !important; /* era 72px inline => 35px mai sus */
  }
  #acasa .hero-card {
    transform: translateY(-35px) !important;
  }
}

/* 1920x1080 — reglaj fin suplimentar: blocul text + Program inca 8px mai sus. */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1040px) and (max-height: 1120px) {
  #acasa .hero-text-only {
    transform: translateY(29px) !important;
  }
  #acasa .hero-card {
    transform: translateY(-43px) !important;
  }
}

/* 1920x1080 — corectie centrare verticala: ridica suplimentar NUMAI blocul text din stanga,
   pentru alinierea lui pe verticala cu chenarul Program deja ridicat. */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1040px) and (max-height: 1120px) {
  #acasa .hero-text-only {
    transform: translateY(9px) !important;
  }
}

/* 1920x1080 — pastreaza ansamblul din stanga compact: butoanele urca proportional
   cu deplasarea totala a blocului text (72px -> 9px = 63px mai sus).
   Programul, bara cu balanta si tot ce urmeaza raman neschimbate. */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1040px) and (max-height: 1120px) {
  #acasa .hero-actions {
    transform: translateY(-63px) !important;
  }
}

/* 1920x1080 — coborare fina doar a blocului text si a butoanelor din stanga.
   Programul, bara cu balanta si tot ce este sub ea raman neschimbate. */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1040px) and (max-height: 1120px) {
  #acasa .hero-text-only {
    transform: translateY(19px) !important;
  }
  #acasa .hero-actions {
    transform: translateY(-53px) !important;
  }
}

/* 1920x1080 — inca 5px mai jos doar blocul text si butoanele din stanga. */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1040px) and (max-height: 1120px) {
  #acasa .hero-text-only {
    transform: translateY(24px) !important;
  }
  #acasa .hero-actions {
    transform: translateY(-48px) !important;
  }
}

/* 1920x1080 — inca 5px mai jos: numai blocul text si butoanele din stanga. */
@media (min-width: 1880px) and (max-width: 1920px) and (min-height: 1040px) and (max-height: 1120px) {
  #acasa .hero-text-only {
    transform: translateY(29px) !important;
  }
  #acasa .hero-actions {
    transform: translateY(-43px) !important;
  }
}

/* ===================================================
   DESKTOP 1680x1050 — corectie izolata pe latime.
   Nu atinge 1920x1080 sau rezolutiile mai mari.
   Pastreaza pagina integral in viewport si echilibreaza headerul.
   =================================================== */
@media (min-width: 1640px) and (max-width: 1720px) and (min-height: 1010px) and (max-height: 1090px) {
  html, body {
    max-width: 100% !important;
    overflow-x: clip !important; /* nu creeaza scroll-container; pastreaza headerul sticky */
  }

  .site-header > .container {
    width: 100% !important;
    max-width: 1640px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .site-header .navbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
    position: relative !important;
  }

  .site-header .navbar > .navbar-brand {
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    flex: 0 0 auto !important;
  }

  .site-header .navbar > .nav-links {
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex: 0 0 auto !important;
  }

  .site-header .navbar > .btn-nav {
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    margin-left: 0 !important;
    flex: 0 0 auto !important;
  }

  .site-header .navbar > .btn-nav:hover {
    transform: translateY(-1px) !important;
  }
}

/* ===================================================
   DESKTOP 1680x1050 — coborare continut HERO, watermark LOCKED.
   Muta doar elementele vizibile din prima sectiune (text, butoane,
   program/date) mai jos. Fundalul/watermark-ul si headerul raman intacte.
   =================================================== */
@media (min-width: 1640px) and (max-width: 1720px) and (min-height: 1010px) and (max-height: 1090px) {
  #acasa.hero > .container.hero-content {
    transform: translateY(35px) !important;
  }
}

/* 1680x1050 — coboara bara cu balanta, fara a muta watermark-ul.
   Extindem doar fundalul navy al HERO cu 35px, astfel incat bara sa inceapa
   mai jos si sa nu mai ramana vizibila portiunea crem. */
@media (min-width: 1640px) and (max-width: 1720px) and (min-height: 1010px) and (max-height: 1090px) {
  #acasa.hero {
    padding-bottom: calc(8.5rem + 85px) !important;
  }
}

/* ===================================================
   DESKTOP 1680x1050 — coborare suplimentara UNIFORMA.
   HOME: coboara bara cu balanta si, prin flux normal, TOATE
   elementele de sub ea cu inca 35px. Watermark-ul ramane fixed.
   ARTICOLE + FAQ: coboara intregul continut principal cu aceeasi
   valoare de 35px, fara a modifica watermark-ul sau headerul.
   1920x1080 si rezolutiile mai mari raman in afara acestei reguli.
   =================================================== */
@media (min-width: 1640px) and (max-width: 1720px) and (min-height: 1010px) and (max-height: 1090px) {
  /* era calc(8.5rem + 85px): inca 35px jos */
  #acasa.hero {
    padding-bottom: calc(8.5rem + 120px) !important;
  }

  /* Articole de specialitate + Intrebari frecvente: aceeasi coborare */
  body main.articles-page {
    padding-top: calc(5rem + 35px) !important;
  }
}

/* ===================================================
   DESKTOP 1680x1050 — HOME: inca 35px mai jos de la bara cu balanta.
   Articole/FAQ raman neschimbate. Watermark-ul si headerul raman locked.
   Coborarea se face prin extinderea HERO, astfel incat dividerul si toate
   sectiunile care urmeaza sa coboare impreuna in flux normal.
   =================================================== */
@media (min-width: 1640px) and (max-width: 1720px) and (min-height: 1010px) and (max-height: 1090px) {
  #acasa.hero {
    padding-bottom: calc(8.5rem + 155px) !important;
  }
}

/* 1680x1050 — corectie: coboara si continutul din sectiunea Servicii Juridice.
   Pastreaza Articole/FAQ neschimbate si watermark-ul locked. Cresterea padding-top
   muta toate elementele din #servicii cu 35px si impinge natural sectiunile urmatoare. */
@media (min-width: 1640px) and (max-width: 1720px) and (min-height: 1010px) and (max-height: 1090px) {
  #servicii.practice-section {
    padding-top: calc(9rem + 45px) !important;
    padding-bottom: 9rem !important;
  }
}

/* 2026-08-14 — uniformizare globală dimensiuni carduri Domenii Juridice.
   REGULA ESTE INDEPENDENTA DE SCALING: nu modifica grila, pozitionarea,
   breakpoint-urile sau geometria locked 1680x1050+. */
#servicii .service-card.service-accordion {
  width: 100%;
  box-sizing: border-box;
}
#servicii .service-card.service-accordion > .service-toggle {
  height: 168px;
  min-height: 168px;
  box-sizing: border-box;
}
@media (max-width: 700px) {
  #servicii .service-card.service-accordion > .service-toggle {
    height: 150px;
    min-height: 150px;
  }
}

/* 2026-08-14 — cardurile 9 si 10: titlurile pe doua randuri sunt ridicate
   fara schimbarea dimensiunilor cardurilor sau a regulilor de scaling/layout. */
#servicii .service-toggle[aria-controls="service-details-9"] h3,
#servicii .service-toggle[aria-controls="service-details-10"] h3 {
  transform: translateY(-10px);
}

/* ===================================================
   DESKTOP 1600x900 — aplica aceleasi reguli ca varianta LOCKED 1680x1050.
   Regula este izolata strict SUB 1640px, deci nu poate afecta 1680x1050+.
   =================================================== */
@media (min-width: 1560px) and (max-width: 1639px) and (min-height: 860px) and (max-height: 940px) {
  html, body {
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .site-header > .container {
    width: 100% !important;
    max-width: 1640px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .site-header .navbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
    position: relative !important;
  }

  .site-header .navbar > .navbar-brand {
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    flex: 0 0 auto !important;
  }

  .site-header .navbar > .nav-links {
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex: 0 0 auto !important;
  }

  .site-header .navbar > .btn-nav {
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    margin-left: 0 !important;
    flex: 0 0 auto !important;
  }

  .site-header .navbar > .btn-nav:hover {
    transform: translateY(-1px) !important;
  }

  #acasa.hero > .container.hero-content {
    transform: translateY(35px) !important;
  }

  #acasa.hero {
    padding-bottom: calc(8.5rem + 155px) !important;
  }

  body main.articles-page {
    padding-top: calc(5rem + 35px) !important;
  }

  #servicii.practice-section {
    padding-top: calc(9rem + 45px) !important;
    padding-bottom: 9rem !important;
  }
}

/* ===================================================
   DESKTOP 1600x900 — ridicare uniforma cu 35px.
   Izolat strict sub 1640px: 1680x1050 si peste raman LOCKED/neatinse.
   HOME: ridica elementele din HERO si, prin scurtarea HERO, dividerul,
   Servicii si Contact cu aceeasi valoare. ARTICOLE + FAQ: ridica intregul
   continut principal cu 35px.
   =================================================== */
@media (min-width: 1560px) and (max-width: 1639px) and (min-height: 860px) and (max-height: 940px) {
  #acasa.hero > .container.hero-content {
    transform: translateY(0) !important;
  }

  #acasa.hero {
    padding-bottom: calc(8.5rem + 120px) !important;
  }

  body main.articles-page {
    padding-top: 5rem !important;
  }
}

/* 2026-08-14 — 1600x900: inca 10px mai sus, inclusiv bara cu balanta.
   Izolat strict la 1600x900; 1680x1050+ ramane LOCKED/neatins. */
@media (min-width: 1560px) and (max-width: 1639px) and (min-height: 860px) and (max-height: 940px) {
  /* Continutul HERO: inca 10px mai sus fata de varianta precedenta. */
  #acasa.hero > .container.hero-content {
    transform: translateY(-10px) !important;
  }

  /* Scurteaza HERO cu inca 10px: ridica bara cu balanta si tot ce urmeaza. */
  #acasa.hero {
    padding-bottom: calc(8.5rem + 110px) !important;
  }

  /* Articole + FAQ: inca 10px mai sus. */
  body main.articles-page {
    padding-top: calc(5rem - 10px) !important;
  }
}

/* 2026-08-14 — 1600x900: inca 5px mai sus.
   Continua ridicarea uniforma, inclusiv bara cu balanta, Articole si FAQ.
   1680x1050+ ramane LOCKED/neatins. */
@media (min-width: 1560px) and (max-width: 1639px) and (min-height: 860px) and (max-height: 940px) {
  #acasa.hero > .container.hero-content {
    transform: translateY(-15px) !important;
  }

  #acasa.hero {
    padding-bottom: calc(8.5rem + 105px) !important;
  }

  body main.articles-page {
    padding-top: calc(5rem - 15px) !important;
  }
}

/* 2026-08-14 — 1600x900: bara cu balanta 10px mai sus, fara dunga sub ea.
   Eliminam compensarea de 10px de sub bara: bara ramane ridicata, iar sectiunea
   urmatoare se lipeste direct de ea. 1680x1050+ ramane LOCKED/neatins. */
@media (min-width: 1560px) and (max-width: 1639px) and (min-height: 860px) and (max-height: 940px) {
  #acasa + .stats-bar {
    margin-top: -10px !important;
    margin-bottom: 0 !important;
  }
}

/* 2026-08-14 — 1600x900: bara cu balanta inca 50px mai sus, fara dunga.
   Folosim margin negativ (nu transform), astfel incat fluxul sa se inchida si sa nu ramana gol/dunga sub bara.
   1680x1050 si peste raman LOCKED/neatinse. */
@media (min-width: 1560px) and (max-width: 1639px) and (min-height: 860px) and (max-height: 940px) {
  #acasa + .stats-bar {
    margin-top: -60px !important;
    margin-bottom: 0 !important;
  }
}

/* 2026-08-14 — 1600x900: bara cu balanta inca 25px mai sus (total -85px), fara dunga.
   Izolat strict la 1600x900; 1680x1050+ ramane LOCKED/neatins. */
@media (min-width: 1560px) and (max-width: 1639px) and (min-height: 860px) and (max-height: 940px) {
  #acasa + .stats-bar {
    margin-top: -85px !important;
    margin-bottom: 0 !important;
  }
}

/* 2026-08-14 — 1600x900: ridica ansamblul de la bara cu balanta cu inca 5px,
   pastrand INALTIMEA COMPLETA a barei si fara banda navy sub ea.
   Mutarea se face prin scurtarea HERO, nu prin taierea/transformarea stats-bar.
   Strict 1600x900; 1680x1050+ ramane LOCKED. */
@media (min-width: 1560px) and (max-width: 1639px) and (min-height: 860px) and (max-height: 940px) {
  #acasa.hero {
    padding-bottom: calc(8.5rem + 100px) !important;
  }
  #acasa + .stats-bar {
    margin-top: -85px !important;
    margin-bottom: 0 !important;
    padding-top: 1.2rem !important;
    padding-bottom: 1.2rem !important;
  }
}

/* 2026-08-14 — 1600x900: ridicare fina DOAR continut Servicii (titluri + carduri) cu 10px.
   Bara cu balanta, fundalurile si 1680x1050+ raman neschimbate. */
@media (min-width: 1560px) and (max-width: 1639px) and (min-height: 860px) and (max-height: 940px) {
  #servicii.practice-section > .container {
    transform: translateY(-10px) !important;
  }
}

/* 2026-08-14 — 1600x900: continut Servicii inca 5px mai sus (total -15px).
   Doar titluri + carduri; bara cu balanta neatinsa. 1680x1050+ LOCKED. */
@media (min-width: 1590px) and (max-width: 1610px) and (min-height: 890px) and (max-height: 910px) {
  #servicii.practice-section > .container {
    transform: translateY(-15px) !important;
  }
}

/* ===================================================
   DESKTOP 1536x864 — corectie exclusiva HEADER.
   Rezolutiile LOCKED 1600x900 si 1680x1050+ raman neatinse.
   Pastreaza logo-ul integral in viewport si compacteaza cele 4 butoane
   astfel incat sa nu se suprapuna cu brandul sau CTA-ul din dreapta.
   =================================================== */
@media (min-width: 1500px) and (max-width: 1559px) and (min-height: 830px) and (max-height: 890px) {
  html, body {
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .site-header > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .site-header .navbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    position: relative !important;
  }

  .site-header .navbar > .navbar-brand {
    margin-left: 0 !important;
    margin-right: 4px !important;
    transform: none !important;
    flex: 0 0 auto !important;
  }

  .site-header .brand-logo {
    width: 50px !important;
    height: 50px !important;
    margin-right: 8px !important;
  }

  .site-header .navbar-brand {
    font-size: 1.05rem !important;
  }

  .site-header .navbar > .nav-links {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    gap: 8px !important;
  }

  .site-header .nav-links li {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }

  .site-header .nav-links a {
    width: 100% !important;
    min-width: 0 !important;
    padding: .72rem .55rem !important;
    gap: .25rem !important;
    white-space: nowrap !important;
  }

  .site-header .nav-links a span {
    font-size: .72em !important;
    line-height: 1.1 !important;
  }

  .site-header .nav-links a i,
  .site-header .nav-links a .whatsapp-icon {
    left: .55rem !important;
    width: 17px !important;
    font-size: .95rem !important;
  }

  .site-header .nav-links a .whatsapp-icon {
    height: 17px !important;
  }

  .site-header .navbar > .btn-nav {
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    flex: 0 0 auto !important;
    margin-left: 0 !important;
    padding: .72rem .9rem !important;
    font-size: .70rem !important;
    letter-spacing: .06em !important;
  }

  .site-header .navbar > .btn-nav:hover {
    transform: translateY(-1px) !important;
  }
}

/* ===================================================
   DESKTOP 1536x864 — ridicare verticala continut sub HEADER.
   Exclusiv 1536x864. Headerul corectat ramane neschimbat.
   HOME: ridica intreg continutul HERO cu 33px; scurtarea paddingului de sus
   ridica si bara cu balanta + toate sectiunile urmatoare cu aceeasi valoare.
   ARTICOLE + FAQ: ridica intreg continutul principal cu 33px.
   1600x900 si 1680x1050+ raman LOCKED/neatinse.
   =================================================== */
@media (min-width: 1500px) and (max-width: 1559px) and (min-height: 830px) and (max-height: 890px) {
  #acasa.hero {
    padding-top: calc(6rem - 33px) !important;
  }

  body main.articles-page {
    padding-top: calc(5rem - 33px) !important;
  }
}

/* 2026-08-14 — 1536x864: bara cu balanta total 40px mai sus, fara dunga sub ea.
   Strict pentru 1536x864. Folosim margin negativ, nu transform, pentru ca fluxul
   sa se inchida sub bara. Rezolutiile 1600x900 si 1680x1050+ raman LOCKED. */
@media (min-width: 1500px) and (max-width: 1559px) and (min-height: 830px) and (max-height: 890px) {
  #acasa + .stats-bar {
    margin-top: -40px !important;
    margin-bottom: 0 !important;
  }
}

/* ===================================================
   DESKTOP 1440x900 — reglaj vertical HOME.
   Ridica usor doar continutul HERO si, prin scurtarea sectiunii,
   bara cu balanta. Headerul si watermark-ul raman neschimbate.
   Izolat strict sub 1500px: 1536x864 si toate rezolutiile LOCKED de peste raman neatinse.
   =================================================== */
@media (min-width: 1400px) and (max-width: 1499px) and (min-height: 870px) and (max-height: 930px) {
  #acasa.hero {
    padding-top: calc(6rem - 15px) !important;
  }
}

/* 2026-08-14 — 1440x900: ridica DOAR bara cu balanta cu 15px.
   Continutul HERO ramane la pozitia deja stabilita; compensarea de jos pastreaza
   sectiunile urmatoare pe pozitia lor. 1536x864 si peste raman LOCKED/neatinse. */
@media (min-width: 1400px) and (max-width: 1499px) and (min-height: 870px) and (max-height: 930px) {
  #acasa + .stats-bar {
    margin-top: -15px !important;
    margin-bottom: 0 !important;
  }
}

/* ===================================================
   DESKTOP 1366x768 — scalare proportionala continut sub HEADER.
   Headerul ramane neschimbat. Continutul principal este redus dupa
   raportul 1366/1440 (~94.9%), fara a atinge breakpoint-urile LOCKED
   pentru 1440x900 si rezolutiile mai mari.
   =================================================== */
@media (min-width: 1340px) and (max-width: 1390px) and (min-height: 740px) and (max-height: 800px) {
  body > main {
    zoom: 0.90;
  }
}

/* 2026-08-14 — 1366x768: ridica toate elementele de sub header cu 35px.
   Include bara cu balanta pe HOME si continutul paginilor Articole / FAQ.
   Izolat strict la 1366x768; 1440x900 si peste raman LOCKED/neatinse. */
@media (min-width: 1340px) and (max-width: 1390px) and (min-height: 740px) and (max-height: 800px) {
  body > main {
    position: relative;
    top: -35px;
    margin-bottom: -35px;
  }
}

/* 2026-08-14 — 1366x768: ridica DOAR bara cu balanta cu inca 25px.
   Restul elementelor raman pe pozitiile stabilite; 1440x900+ LOCKED. */
@media (min-width: 1340px) and (max-width: 1390px) and (min-height: 740px) and (max-height: 800px) {
  #acasa + .stats-bar {
    position: relative;
    top: -25px;
  }
}

/* 2026-08-14 — 1366x768: bara cu balanta inca 30px mai sus (55px suplimentar total).
   Restul elementelor raman neschimbate; 1440x900+ LOCKED. */
@media (min-width: 1340px) and (max-width: 1390px) and (min-height: 740px) and (max-height: 800px) {
  #acasa + .stats-bar {
    top: -55px;
  }
}

/* 2026-08-14 — 1366x768: elimina banda alba ramasa sub bara mutata in sus.
   Fundalul sectiunii Servicii urca in golul lasat de bara, iar continutul
   sectiunii ramane exact pe pozitia stabilita. 1440x900+ ramane LOCKED. */
@media (min-width: 1340px) and (max-width: 1390px) and (min-height: 740px) and (max-height: 800px) {
  #acasa + .stats-bar + .practice-section {
    margin-top: -55px !important;
    padding-top: calc(9rem + 55px) !important;
  }
}

/* 2026-08-14 — 1366x768: aliniere footer pe axele sectiunii Contact.
   Logo-ul central pastreaza EXACT geometria anterioara; se ajusteaza numai copyright si ANPC/SAL.
   Exclusiv 1366x768; 1440x900+ raman LOCKED/neatinse. */
@media (min-width: 1340px) and (max-width: 1390px) and (min-height: 740px) and (max-height: 800px) {
  .site-footer .footer-copy {
    justify-self: center !important;
    text-align: center !important;
    margin: 0 !important;
  }

  .site-footer .footer-sal {
    justify-self: center !important;
    margin: 0 !important;
    transform: translateX(110px) !important;
  }
}

/* 2026-08-14 — 1366x768: ANPC/SAL centrat exact pe axa formularului de consultatie.
   Logo-ul TIM si copyright-ul raman neatinse. 1440x900+ LOCKED. */
@media (min-width: 1340px) and (max-width: 1390px) and (min-height: 740px) and (max-height: 800px) {
  .site-footer .footer-sal {
    left: calc(50% + 259px) !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
  }
}

/* 2026-08-14 — 1366x768: corectie fina ANPC/SAL spre dreapta, pe axa formularului.
   Logo-ul TIM si copyright-ul raman complet neschimbate. */
@media (min-width: 1340px) and (max-width: 1390px) and (min-height: 740px) and (max-height: 800px) {
  .site-footer .footer-sal {
    left: calc(50% + 360px) !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
  }
}

/* 2026-08-14 — 1366x768: corectie finala ANPC/SAL dupa verificarea vizuala.
   Mutat cu 120px spre dreapta fata de varianta anterioara, fara alte modificari.
   Exclusiv 1366x768; 1440x900+ raman LOCKED/neatinse. */
@media (min-width: 1340px) and (max-width: 1390px) and (min-height: 740px) and (max-height: 800px) {
  .site-footer .footer-sal {
    left: calc(50% + 379px) !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
  }
}

/* 2026-08-14 — 1366x768: ANPC/SAL mutat vizibil spre dreapta dupa verificarea capturii.
   Corectie +140px fata de pozitia efectiva anterioara. Doar 1366x768; 1440x900+ LOCKED. */
@media (min-width: 1340px) and (max-width: 1390px) and (min-height: 740px) and (max-height: 800px) {
  .site-footer .footer-sal {
    left: calc(50% + 519px) !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
  }
}

/* 2026-08-14 — 1366x768: FIX REAL footer ANPC/SAL.
   La aceasta latime footer-ul este CSS Grid si .footer-sal are position:static,
   deci proprietatea left din corectiile vechi era ignorata. Mutarea se face
   efectiv in grid prin translateX. 1440x900+ ramane neatins. */
@media (min-width: 1340px) and (max-width: 1390px) and (min-height: 740px) and (max-height: 800px) {
  .site-footer .footer-sal {
    position: static !important;
    left: auto !important;
    top: auto !important;
    justify-self: center !important;
    margin: 0 !important;
    transform: translateX(0) !important;
  }
}

/* 2026-08-14 — 1366x768: ridica exclusiv continutul sectiunii Servicii.
   Titlurile si cardurile se deplaseaza impreuna cu 50px; bara cu balanta,
   fundalul sectiunii, Contact si rezolutiile 1440px+ raman neatinse. */
@media (min-width: 1340px) and (max-width: 1390px) and (min-height: 740px) and (max-height: 800px) {
  #servicii.practice-section > .container {
    transform: translateY(-50px) !important;
  }
}

/* ===================================================
   DESKTOP 1280x800 — FINAL / LOCKED 2026-08-14.
   Scalare proportionala continut sub HEADER.
   Continua treapta stabilita la 1366x768 (90%) cu raportul
   1280/1366, rezultand aproximativ 84%. Regula este izolata strict
   sub 1340px, astfel incat 1366x768 si toate rezolutiile mai mari
   raman LOCKED si complet neatinse.
   =================================================== */
@media (min-width: 1240px) and (max-width: 1339px) and (min-height: 760px) and (max-height: 840px) {
  body > main {
    zoom: 0.84;
  }

  /* Ridica elementele HERO si, prin scurtarea sectiunii,
     bara cu balanta impreuna cu fluxul care urmeaza, doar 5px. */
  #acasa.hero {
    padding-top: calc(6rem - 5px) !important;
  }

  /* Footer 1280x800: aceeasi aliniere finala ca la 1366x768.
     Textul SAL si sigla ANPC sunt tratate impreuna ca un singur bloc. */
  .site-footer .footer-copy {
    justify-self: center !important;
    text-align: center !important;
    margin: 0 !important;
  }

  .site-footer .footer-sal {
    position: static !important;
    left: auto !important;
    top: auto !important;
    justify-self: center !important;
    margin: 0 !important;
    transform: translateX(0) !important;
  }
}

/* ===================================================
   DESKTOP 1280x720 — FINAL / LOCKED 2026-08-14.
   Scalare 76%: 84% (1280x800) x raportul de inaltime 720/800.
   Fereastra LOCKED de la 1280x800 ramane complet neatinsa.
   =================================================== */
@media (min-width: 1240px) and (max-width: 1339px) and (min-height: 680px) and (max-height: 759px) {
  body > main {
    zoom: 0.76;
  }

  /* Ridica numai continutul de deasupra barei, fara a scurta HERO-ul. */
  #acasa.hero {
    padding-top: 6rem !important;
  }

  #acasa.hero > .container.hero-content {
    position: relative !important;
    top: -10px !important;
  }

  /* Ridica numai bara cu balanta; fluxul sectiunilor urmatoare ramane fix. */
  #acasa + .stats-bar {
    position: relative !important;
    top: -10px !important;
  }

  /* Umple spatiul lasat sub bara, fara sa mute titlurile sau cardurile Servicii. */
  #acasa + .stats-bar + .practice-section {
    margin-top: -10px !important;
    padding-top: calc(9rem + 10px) !important;
  }

  .site-footer .footer-copy {
    justify-self: center !important;
    text-align: center !important;
    margin: 0 !important;
  }

  .site-footer .footer-sal {
    position: static !important;
    left: auto !important;
    top: auto !important;
    justify-self: center !important;
    margin: 0 !important;
    transform: translateX(0) !important;
  }
}

/* ===================================================
   DESKTOP COMPACT / TABLETA LANDSCAPE 1024x768 — FINAL / LOCKED 2026-08-14.
   Layoutul responsive existent ramane in doua coloane; se calibreaza
   numai dimensiunea continutului si alinierea footerului. Toate
   ferestrele LOCKED de la 1280x720 in sus raman complet neatinse.
   =================================================== */
@media (min-width: 1000px) and (max-width: 1024px) and (min-height: 740px) and (max-height: 800px),
       (min-width: 1000px) and (max-width: 1024px) and (orientation: landscape) and (max-height: 600px) {
  body > main {
    zoom: 0.76;
  }

  /* Header 1024x768: toate cele 4 butoane de navigare si CTA-ul auriu
     au exact aceeasi cutie, inclusiv cand textul ocupa doua randuri. */
  .site-header .nav-links {
    flex: 0 0 auto !important;
  }

  .site-header .nav-links li {
    flex: 0 0 144px !important;
    width: 144px !important;
  }

  .site-header .nav-links a,
  .site-header .btn-nav {
    width: 144px !important;
    min-width: 144px !important;
    height: 40px !important;
    min-height: 40px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Pastreaza pictograma WhatsApp numai in butonul Contact. */
  .site-header .nav-links li:last-child a .whatsapp-icon {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
  }

  /* Watermark 1024x768: 1,5x fata de baza de 55vw. */
  #acasa.hero::after,
  #acasa + .stats-bar::before,
  body main.articles-page::after {
    background-size: 82.5vw auto !important;
    background-position: calc(50% + 5.73px) 35% !important;
  }

  /* Titlul principal este centrat exact pe axa containerului,
     identica cu axa balantei si linia mediana a watermarkului. */
  #acasa .hero-text-only h1 {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  /* Contact 1024x768: pastreaza numai titlurile din coloana informativa;
     formularul ocupa imediat spatiul eliberat de date si program. */
  #contact .contact-info-lead,
  #contact .contact-info .contact-detail {
    display: none !important;
  }

  #contact .contact-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  #contact .contact-info {
    min-height: 0 !important;
  }

  #contact .contact-form-wrap {
    margin-top: 0 !important;
  }

  /* Contact 1024x768: elimina numai watermarkul mic local.
     Watermarkul mare 1,5x continua pe aceeasi axa prin intreaga sectiune. */
  #contact.contact-section {
    position: relative !important;
    isolation: isolate !important;
    background-color: var(--navy) !important;
    background-image: none !important;
  }

  #contact .contact-info::before {
    content: none !important;
    display: none !important;
    background-image: none !important;
  }

  #contact.contact-section::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    height: auto !important;
    transform: none !important;
    background-image: url("../img/tim_watermark.png") !important;
    background-repeat: no-repeat !important;
    background-position: calc(50% + 5.73px) 35% !important;
    background-size: 82.5vw auto !important;
    background-attachment: fixed !important;
    opacity: .10 !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  .site-footer .footer-copy {
    justify-self: center !important;
    text-align: center !important;
    margin: 0 !important;
  }

  .site-footer .footer-sal {
    position: static !important;
    left: auto !important;
    top: auto !important;
    justify-self: center !important;
    margin: 0 !important;
    transform: translateX(0) !important;
  }
}

/* GLOBAL — elimina banda separata deasupra sectiunii Contact pe toate variantele desktop.
   Cei 3rem sunt acum o extensie reala, continua, a fundalului crem din Servicii.
   Continutul Contact, footerul si reperele LOCKED raman pe aceleasi pozitii. */
@media (min-width: 769px) {
  #servicii.practice-section::after {
    content: '';
    display: block;
    height: 3rem;
    background: #e5decf;
    pointer-events: none;
  }

  .contact-section::after {
    content: none !important;
    display: none !important;
  }
}

/* iOS/WebKit (inclusiv Chrome pe iPhone) — fallback pentru watermarkul continuu din Contact.
   Pozitia verticala este calculata in main.js; dimensiunea si axa raman
   identice cu variantele deja calibrate. */
@media (max-width: 768px) {
  html.is-ios #contact.contact-section::after {
    background-attachment: scroll !important;
    background-position: center var(--contact-watermark-top, 35%) !important;
  }
}

@media (min-width: 1000px) and (max-width: 1024px) and (orientation: landscape) and (max-height: 600px) {
  html.is-ios #contact.contact-section::after {
    background-attachment: scroll !important;
    background-position: calc(50% + 5.73px) var(--contact-watermark-top, 35%) !important;
  }
}

/* iPhone landscape — WebKit calculeaza diferit latimea textului Playfair si
   rupea fiecare culoare pe trei randuri. Impartirea 2 + 2 este explicita
   numai aici; Samsung, portrait si varianta LOCKED 1024 raman neschimbate. */
.ios-landscape-title-break {
  display: none;
}

@media (min-width: 1000px) and (max-width: 1024px) and (orientation: landscape) and (max-height: 600px) {
  html.is-ios #acasa .hero-text-only h1 {
    width: max-content !important;
    max-width: 100% !important;
  }

  html.is-ios #acasa .ios-landscape-title-line {
    white-space: nowrap !important;
  }

  html.is-ios #acasa .ios-landscape-title-break {
    display: inline !important;
  }
}


/* ==========================================================
   HEADER LOGO — referinta vizuala 2026-08-17
   IMPORTANT: brand-layout-reserve pastreaza 1:1 dimensiunea si
   amprenta brandului original. Noua compozitie este absoluta in
   aceeasi cutie: NU participa la flex si NU poate impinge meniul/CTA.
   ========================================================== */
.navbar > .navbar-brand {
  position: relative;
}

.navbar > .navbar-brand .brand-layout-reserve {
  display: flex;
  align-items: center;
  gap: .6rem;
  visibility: hidden;
  pointer-events: none;
}

.navbar > .navbar-brand .brand-layout-reserve > .brand-logo {
  flex: 0 0 auto;
}

.navbar > .navbar-brand .brand-layout-reserve > .brand-name {
  display: block;
}

.navbar > .navbar-brand .brand-reference-lockup {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  gap: .6rem;
  min-width: 0;
  overflow: hidden;
  pointer-events: none;
}

.navbar > .navbar-brand .brand-reference-logo {
  flex: 0 0 auto;
  border-radius: 0;
}

.navbar > .navbar-brand .brand-reference-copy {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  overflow: hidden;
  margin-left: -6px; /* lateste blocul numai spre logo; marginea dreapta ramane fixa */
}

/* Numele ramane o singura fraza, cu spatii normale. Fontul este marit
   din JS pana la limita exacta a latimii disponibile; nu se justifica
   si nu se creeaza goluri artificiale intre cuvinte. */
.navbar > .navbar-brand .brand-reference-name {
  display: block;
  align-self: center;
  width: max-content;
  white-space: nowrap;
  overflow: visible;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 17px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.018em;
  word-spacing: normal;
  text-align: center;
  color: #d4af6a;
  background: linear-gradient(180deg,#f3ce76 0%,#d7a84e 46%,#f4d27b 67%,#b9852e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 0 rgba(255,255,255,.10), 0 2px 3px rgba(0,0,0,.36);
  transform: scaleY(1.50);
  transform-origin: center;
}

.navbar > .navbar-brand .brand-reference-role-row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 0;
}

.navbar > .navbar-brand .brand-reference-line {
  flex: 1 1 0;
  min-width: 4px;
  height: 1px;
  background: linear-gradient(90deg,#b88d38,#e1bf6a,#b88d38);
  opacity: .95;
}

.navbar > .navbar-brand .brand-reference-role {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 13px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
  color: #fff;
  white-space: nowrap;
  text-shadow: 0 1px 2px rgba(0,0,0,.5);
  transform: scaleY(1.30);
  transform-origin: center;
}

/* "Avocat" este latit doar vizual, iar JS-ul rezerva exact aceeasi latime
   suplimentara in rand. Astfel, cele doua linii se scurteaza SIMETRIC si
   PROPORTIONAL, fara ca textul sa le impinga sau sa le suprapuna. */
.navbar > .navbar-brand .brand-reference-role-text {
  display: inline-block;
  transform: scaleX(1.75);
  transform-origin: center;
}

@media (max-width:1450px) and (min-width:769px){
  .navbar > .navbar-brand .brand-reference-copy{gap:6px;margin-left:-5px}
  .navbar > .navbar-brand .brand-reference-name{transform:scaleY(1.42)}
  .navbar > .navbar-brand .brand-reference-role{transform:scaleY(1.24)}
  .navbar > .navbar-brand .brand-reference-role-row{gap:7px}
  .navbar > .navbar-brand .brand-reference-role{font-size:12px}
}

@media (max-width:1050px) and (min-width:769px){
  .navbar > .navbar-brand .brand-reference-copy{gap:5px;margin-left:-4px}
  .navbar > .navbar-brand .brand-reference-name{transform:scaleY(1.32)}
  .navbar > .navbar-brand .brand-reference-role{transform:scaleY(1.18)}
  .navbar > .navbar-brand .brand-reference-role-row{gap:5px}
  .navbar > .navbar-brand .brand-reference-role{font-size:10px}
}

@media (max-width:768px){
  .navbar > .navbar-brand .brand-reference-copy{gap:3px;margin-left:-2px}
  .navbar > .navbar-brand .brand-reference-name{transform:scaleY(1.24)}
  .navbar > .navbar-brand .brand-reference-role{transform:scaleY(1.12)}
  .navbar > .navbar-brand .brand-reference-role-row{gap:5px}
  .navbar > .navbar-brand .brand-reference-role{font-size:clamp(9.5px,2.9vw,12px)}
}

@media (max-width:380px){
  .navbar > .navbar-brand .brand-reference-role-row{gap:4px}
  .navbar > .navbar-brand .brand-reference-role{font-size:9.5px}
}
