   :root { --primary: #008f89; --primary-dark: #006d68; --gold: #bf9853; }
    * { margin:0; padding:0; box-sizing:border-box; }
    body { font-family:'Inter',sans-serif; background:#fff; color:#222; line-height:1.7; }
    html { scroll-behavior:smooth; }
    img { height:auto; }

    header {
      position:fixed; top:0; width:100%; height:125px; padding:0 5%; background:white;
      box-shadow:0 4px 25px rgba(0,143,137,0.15); z-index:1000; display:flex;
      justify-content:space-between; align-items:center;
    }
    .logo img { height:82px; width:auto; }
    nav a {
      font-family:'Optima',sans-serif; font-weight:700; color:var(--primary);
      text-decoration:none; margin-left:4rem; font-size:1.35rem; letter-spacing:0.8px;
      transition:0.3s;
    }
    nav a:hover { color:var(--primary-dark); }

    .hero {
      height:100vh; background:linear-gradient(rgba(0,143,137,0.90),rgba(0,109,104,0.94)),
              url('https://images.unsplash.com/photo-1551601651-bc44afe7a09d?ixlib=rb-4.0.3&auto=format&fit=crop&q=80') center/cover no-repeat;
      display:flex; align-items:center; justify-content:center; text-align:center; color:white;
      padding-top:125px; margin-top:80px;
    }
	.hero h1{
	font-family:'Playfair Display',serif;
	font-weight:700;
	font-size:6.5rem;
	letter-spacing:2px;
	margin-bottom:1rem;
	text-shadow:0 5px 25px rgba(0,0,0,0.6);
	}

.hero p{
 font-family:'Playfair Display',serif;
 font-weight:600;
 font-size:1.9rem;
 max-width:950px;
 margin:0 auto 4rem;
}

    .btn { font-family:'Optima',sans-serif; font-weight:700; padding:1.6rem 4.2rem; background:white; color:var(--primary-dark);
           border-radius:60px; font-size:1.4rem; box-shadow:0 20px 55px rgba(0,0,0,0.3); transition:0.4s; text-decoration:none; }
    .btn:hover { transform:translateY(-8px); }

    section { padding:140px 5%; max-width:1400px; margin:0 auto; }
    h2 { font-family:'Playfair Display',serif; font-size:3.5rem; text-align:center; margin-bottom:6rem; color:var(--primary-dark); }

    .specialties { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:2.4rem; }
    .specialty-card { background:white; padding:2.2rem 2.4rem; border-radius:20px; box-shadow:0 10px 40px rgba(0,143,137,0.09); border:1px solid rgba(0,143,137,0.07); transition:0.4s; }
    .specialty-card:hover { transform:translateY(-14px); box-shadow:0 30px 70px rgba(0,143,137,0.18); }
    .specialty-card h3 { color:var(--primary); font-size:1.48rem; margin-bottom:1.3rem; padding-bottom:0.8rem; border-bottom:2px solid rgba(0,143,137,0.2); }
    .doctor { margin-bottom:0.9rem; font-size:1rem; line-height:1.5; }
    .doctor strong { color:var(--primary-dark); font-weight:600; }

    .gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:2.2rem; margin-top:3rem; }
    .gallery img { width:100%; height:300px; object-fit:cover; border-radius:20px; box-shadow:0 15px 40px rgba(0,143,137,0.15); transition:0.5s; }
    .gallery img:hover { transform:translateY(-12px) scale(1.03); }

    .forms-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; margin-top:5rem; }
    .form-container { background:white; padding:4rem; border-radius:22px; box-shadow:0 25px 70px rgba(0,143,137,0.14); }
    .form-container h3 { font-family:'Playfair Display',serif; color:var(--primary-dark); margin-bottom:2.5rem; font-size:2.1rem; }
    input, select, textarea { width:100%; padding:1.2rem; margin-bottom:1.6rem; border:1.8px solid #e0e0e0; border-radius:12px; font-size:1.05rem; }
    input:focus, select:focus, textarea:focus { outline:none; border-color:var(--primary); }
    .form-container button {
      font-family:'Optima',sans-serif; font-weight:700; background:var(--primary); color:white;
      padding:1.4rem; font-size:1.2rem; border-radius:60px; border:none; cursor:pointer;
      transition:0.4s; width:100%;
    }
    .form-container button:hover { background:var(--primary-dark); transform:translateY(-5px); }

    .map-container { margin:6rem auto; max-width:1100px; border-radius:26px; overflow:hidden; box-shadow:0 30px 80px rgba(0,143,137,0.25); }

    footer {
      background:var(--primary-dark); color:white; text-align:center; padding:8rem 5% 5rem;
    }
    footer a { color:#bf9853; text-decoration:none; font-weight:600; transition:0.3s; }
    footer a:hover { color:#e0c28a; }

    
	

	.wa-text {
		white-space: nowrap;
	}

	/* Pe mobil păstrăm doar iconul */
	@media (max-width: 768px) {
		.wa-text {
		display: none;
	}

	

	
	}


   

    @media (max-width:992px) { .forms-grid { grid-template-columns:1fr; } }
    @media (max-width:768px) { nav { display:none; } header { height:100px; } .hero h1 { font-size:4.5rem; } .hero p { font-size:1.6rem; } }
	.specialties a {
	text-decoration: none;
	color: inherit;
	}

	.specialties a:hover {
	text-decoration: none;
	}
	.specialty-card h3 {
	position: relative;
	display: inline-block;
	}

	.specialty-card h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -8px;
	width: 0;
	height: 3px;
	background-color: var(--primary);
	transition: width 0.35s ease;
	}

	.specialty-card:hover h3::after {
	width: 100%;
	}
	.specialty-card {
	opacity: 0;
	transform: translateY(40px);
	}

	.specialty-card.show {
	opacity: 1;
	transform: translateY(0);
	transition: all 0.6s ease;
	}
	.specialty-card.flash {
	animation: flashGlow 1.5s ease;
	}

	@keyframes flashGlow {
	0% { box-shadow: 0 0 0 rgba(0,143,137,0); }
	50% { box-shadow: 0 0 40px rgba(0,143,137,0.45); }
	100% { box-shadow: 0 0 0 rgba(0,143,137,0); }
	}
	.specialty-card.bounce {
		animation: bounceCard 0.6s ease;
	}

	@keyframes bounceCard {
		0% { transform: translateY(0); }
		30% { transform: translateY(-12px); }
		60% { transform: translateY(0); }
		85% { transform: translateY(-6px); }
		100% { transform: translateY(0); }
	}
	.specialty-card {
		position: relative;
		overflow: hidden;
	}

	.specialty-card .ripple {
		position: absolute;
		border-radius: 50%;
		transform: scale(0);
		animation: ripple 0.6s linear;
		background: rgba(0,143,137,0.35);
	}		

	@keyframes ripple {
		to {
			transform: scale(4);
		opacity: 0;
		}
	}
	.page-loader {
		position: fixed;
		inset: 0;
		background: white;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 99999;
		opacity: 0;
		pointer-events: none;
		transition: opacity .4s ease;
	}

	.page-loader.active {
		opacity: 1;
		pointer-events: all;
	}

	.loader-circle {
		width: 60px;
		height: 60px;
		border: 4px solid #e0f2f1;
		border-top: 4px solid var(--primary);
		border-radius: 50%;
		animation: spin 1s linear infinite;
	}

	@keyframes spin {
		to { transform: rotate(360deg); }
	}



  
/* === Galerie cu frame auriu stil dr-brie-alina === */
.gallery img{
    padding:4px;
    background:linear-gradient(135deg,#d4af37,#f7e7a9);
    border-radius:22px;
    box-shadow:0 20px 45px rgba(0,143,137,.35);
    transition:transform .6s ease;
}

.gallery img:hover{
    transform:scale(1.06);
}


.google-stars-badge{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:6px;
 box-shadow:0 6px 18px rgba(0,0,0,.22), 0 0 0 rgba(212,175,55,0);
}
.google-stars-badge:hover{
 box-shadow:0 10px 26px rgba(0,0,0,.28), 0 0 14px rgba(244,180,0,.35);
}
.google-stars-badge svg{
 display:block;
 margin:auto;
}


html{scroll-behavior:smooth;}

@keyframes pulseHighlight{
0%{box-shadow:0 0 0 rgba(0,143,137,0)}
50%{box-shadow:0 0 25px rgba(0,143,137,.45)}
100%{box-shadow:0 0 0 rgba(0,143,137,0)}
}

#programari.highlight{
animation:pulseHighlight 2.5s ease;
}

.whatsapp-float{
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: linear-gradient(135deg,#25D366,#1ebe5d);
  color: white;
  padding: 14px 20px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  box-shadow: 0 12px 30px rgba(0,0,0,.25);
  z-index: 9999;
  transition: all .3s ease;
}

.whatsapp-float:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0,0,0,.3);
}

.whatsapp-float svg{
  width:20px;
  height:20px;
}

@media (max-width:768px){
  .whatsapp-float{
    right:16px;
    bottom:16px;
    padding:12px 18px;
    font-size:13px;
  }
}

.specialty-card{
opacity:0;
transform:translateY(25px);
transition:opacity .8s ease, transform .8s ease, box-shadow .4s ease;
}

.specialty-card.visible{
opacity:1;
transform:translateY(0);
}

.specialty-card:hover{
box-shadow:
0 18px 40px rgba(0,0,0,.12),
0 0 18px rgba(212,175,55,.45);
}

.gold-scroll-line{
position:fixed;
left:0;
width:100%;
height:2px;
background:linear-gradient(90deg,transparent,#d8bf6a,#f3e6b0,#d8bf6a,transparent);
opacity:0;
pointer-events:none;
z-index:9999;
transition:opacity .4s ease;
}

.gold-scroll-line.active{
opacity:1;
animation:goldBreath 4s ease-in-out infinite;
}

@keyframes goldBreath{
0%{box-shadow:0 0 2px rgba(216,191,106,.2)}
50%{box-shadow:0 0 10px rgba(216,191,106,.55)}
100%{box-shadow:0 0 2px rgba(216,191,106,.2)}
}

.google-stars-badge{
 width:auto;
 height:auto;
 border-radius:18px;

 position:fixed;
 right:20px;
 bottom:90px;
 z-index:9998;
 background:white;
 border-radius:10px;
 padding:6px 10px;
 box-shadow:0 8px 22px rgba(0,0,0,.22);
 transition:.25s ease;
}
.google-stars-badge:hover{
 transform:translateY(-3px);
 box-shadow:0 12px 30px rgba(0,0,0,.3);
}
@media(max-width:768px){
 .google-stars-badge{
 width:auto;
 height:auto;
 border-radius:18px;

   right:16px;
   bottom:86px;
 }
}

.footer-social{
  display:flex;
  justify-content:center;
  gap:28px;
  margin-bottom:50px;
}

.footer-social a{
  width:92px;
  height:92px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  transition:.3s ease;
}

.footer-social a:hover{
  transform:translateY(-6px) scale(1.05);
  box-shadow:0 16px 40px rgba(0,0,0,.35);
}

/* Facebook oficial */
.footer-social a:first-child{
  background:#1877F2;
}

/* Instagram oficial gradient */
.footer-social a:last-child{
  background:radial-gradient(circle at 30% 107%,
    #fdf497 0%,
    #fdf497 5%,
    #fd5949 45%,
    #d6249f 60%,
    #285AEB 90%);
}

.footer-social svg{
  width:44px;
  height:44px;
  fill:white;
}

@media(max-width:768px){
  .footer-social{
    margin-bottom:40px;
  }
  .footer-social a{
    width:82px;
    height:82px;
  }
  .footer-social svg{
    width:38px;
    height:38px;
  }
}

/* === Premium Background Upgrade === */

/* responsive density */
body{
  background:
    linear-gradient(rgba(255,255,255,.65), rgba(255,255,255,.65)),
    url('./bg-medical-20260903.webp') center top repeat-y;

  background-size:100% auto;
}




/* ridicăm conținutul peste overlay */



html, body{
  min-height:100%;
}

body{
 background-attachment:fixed;
}


/* fade pe margini */
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at center, rgba(255,255,255,0) 65%, rgba(255,255,255,0.75) 100%);
  z-index:-1;
}

/* mica transparenta progresiva pe verdele din hero (sus + jos) */
.hero{
  position:relative;
}

.hero::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:140px;
  background:linear-gradient(to bottom, rgba(255,255,255,0.35), rgba(255,255,255,0));
  pointer-events:none;
}

.hero::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:160px;
  background:linear-gradient(to top, rgba(255,255,255,0.35), rgba(255,255,255,0));
  pointer-events:none;
}


/* CARDURILE FĂRĂ ORICE BLUR */

.specialty-card,
.specialty-card *{
 filter:none !important;
 backdrop-filter:none !important;
}

/* fundalurile devin vizibile */

.specialty-card::before{
 opacity:.9 !important;
}


/* === BLUR SOFT DOAR PE FUNDAL GENERAL === */

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;

  background:url('./bg-medical-20260903.webp') center center no-repeat;
  background-size:cover;

  opacity:.18;
  filter:blur(1.5px);

  z-index:-3;
}


/* cardurile rămân neatinse */

.specialty-card{
  isolation:isolate;
}

.specialty-card,
.specialty-card *{
  filter:none !important;
  backdrop-filter:none !important;
}



/* ===== FUNDALURI SPECIALITĂȚI ===== */

.cardiologie-card::before{
 background:url('/img/cardiologie-fundal.webp') center/contain no-repeat;
}

.chirurgie-card::before{
 background:url('/img/chirurgie-fundal.webp') center/contain no-repeat;
}

.dermatologie-card::before{
 background:url('/img/dermato-fundal.webp') center/contain no-repeat;
}

.diabet-nutritie-si-boli-metabolice-card::before{
 background:url('/img/diabet-fundal.webp') center/contain no-repeat;
}

.endocrinologie-card::before{
 background:url('/img/endocrine-fundal.webp') center/contain no-repeat;
}

.gastroenterologie-card::before{
 background:url('/img/gastro-fundal.webp') center/contain no-repeat;
}

.medicina-interna-card::before{
 background:url('/img/interne-fundal.webp') center/contain no-repeat;
}

.neonatologie-card::before{
 background:url('/img/neonat-fundal.webp') center/contain no-repeat;
}

.neurologie-card::before{
 background:url('/img/neuro-fundal.webp') center/contain no-repeat;
}

.pediatrie-card::before{
 background:url('/img/pedi-fundal.webp') center/contain no-repeat;
}

.urologie-card::before{
 background:url('/img/uro-fundal.webp') center/contain no-repeat;
}

.analize-point-of-care-card::before{
 background:url('/img/analize-fundal.webp') center/contain no-repeat;
}


/* ================================ */
/* TOATE CARDURILE – contrast profesional */
/* ================================ */

/* CARDIOLOGIE */
.cardiologie-card{
 background:
  linear-gradient(rgba(255,255,255,.25), rgba(255,255,255,.25)),
  url('/img/cardiologie-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.15) saturate(1.1);
}

.cardiologie-card:hover{
 background:
  linear-gradient(rgba(255,255,255,.15), rgba(255,255,255,.15)),
  url('/img/cardiologie-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.25) saturate(1.2);
}

/* CHIRURGIE-GENERALA */
.chirurgie-generala-card{
 background:
  linear-gradient(rgba(255,255,255,.60), rgba(255,255,255,.60)),
  url('/img/chirurgie-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.15) saturate(1.1);
}

.chirurgie-generala-card:hover{
 background:
  linear-gradient(rgba(255,255,255,.20), rgba(255,255,255,.20)),
  url('/img/chirurgie-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.25) saturate(1.2);
}

/* PEDIATRIE */
.pediatrie-card{
 background:
  linear-gradient(rgba(255,255,255,.30), rgba(255,255,255,.30)),
  url('/img/pedi-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.15) saturate(1.1);
}

.pediatrie-card:hover{
 background:
  linear-gradient(rgba(255,255,255,.20), rgba(255,255,255,.20)),
  url('/img/pedi-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.25) saturate(1.2);
}


/* NEONATOLOGIE */
.neonatologie-card{
 background:
  linear-gradient(rgba(255,255,255,.40), rgba(255,255,255,.40)),
  url('/img/neonat-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.15) saturate(1.1);
}

.neonatologie-card:hover{
 background:
  linear-gradient(rgba(255,255,255,.20), rgba(255,255,255,.20)),
  url('/img/neonat-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.25) saturate(1.2);
}


/* GASTRO */
.gastroenterologie-card{
 background:
  linear-gradient(rgba(255,255,255,.40), rgba(255,255,255,.40)),
  url('/img/gastro-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.15) saturate(1.1);
}

.gastroenterologie-card:hover{
 background:
  linear-gradient(rgba(255,255,255,.20), rgba(255,255,255,.20)),
  url('/img/gastro-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.25) saturate(1.2);
}


/* ENDOCRINE */
.endocrinologie-card{
 background:
  linear-gradient(rgba(255,255,255,.40), rgba(255,255,255,.40)),
  url('/img/endocrine-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.15) saturate(1.1);
}

.endocrinologie-card:hover{
 background:
  linear-gradient(rgba(255,255,255,.20), rgba(255,255,255,.20)),
  url('/img/endocrine-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.25) saturate(1.2);
}


/* INTERNE */
.medicina-interna-card{
 background:
  linear-gradient(rgba(255,255,255,.40), rgba(255,255,255,.40)),
  url('/img/interne-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.15) saturate(1.1);
}

.medicina-interna-card:hover{
 background:
  linear-gradient(rgba(255,255,255,.20), rgba(255,255,255,.20)),
  url('/img/interne-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.25) saturate(1.2);
}


/* UROLOGIE */
.urologie-card{
 background:
  linear-gradient(rgba(255,255,255,.60), rgba(255,255,255,.60)),
  url('/img/uro-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.15) saturate(1.1);
}

.urologie-card:hover{
 background:
  linear-gradient(rgba(255,255,255,.20), rgba(255,255,255,.20)),
  url('/img/uro-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.25) saturate(1.2);
}

/* DIABET */
.diabet-nutritie-si-boli-metabolice-card{
 background:
  linear-gradient(rgba(255,255,255,.40), rgba(255,255,255,.40)),
  url('/img/diabet-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.15) saturate(1.1);
}

.diabet-nutritie-si-boli-metabolice-card:hover{
 background:
  linear-gradient(rgba(255,255,255,.20), rgba(255,255,255,.20)),
  url('/img/diabet-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.25) saturate(1.2);
}

/* DERMATO */
.dermato-venerologie-card{
 background:
  linear-gradient(rgba(255,255,255,.40), rgba(255,255,255,.40)),
  url('/img/dermato-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.15) saturate(1.1);
}

.dermato-venerologie-card:hover{
 background:
  linear-gradient(rgba(255,255,255,.20), rgba(255,255,255,.20)),
  url('/img/dermato-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.25) saturate(1.2);
}
/* NEURO */
.neurologie-card{
 background:
  linear-gradient(rgba(255,255,255,.30), rgba(255,255,255,.30)),
  url('/img/neuro-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.15) saturate(1.1);
}

.neurologie-card:hover{
 background:
  linear-gradient(rgba(255,255,255,.20), rgba(255,255,255,.20)),
  url('/img/neuro-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.25) saturate(1.2);
}

/* ANALIZE */
.analize-point-of-care-card{
 background:
  linear-gradient(rgba(255,255,255,.60), rgba(255,255,255,.60)),
  url('/img/analize-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.15) saturate(1.1);
}

.analize-point-of-care-card:hover{
 background:
  linear-gradient(rgba(255,255,255,.20), rgba(255,255,255,.20)),
  url('/img/analize-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.25) saturate(1.2);
}

/* ECHIPA */
.echipa-medicala-card{
 background:
  linear-gradient(rgba(255,255,255,.70), rgba(255,255,255,.70)),
  url('/img/echipa-medicala-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.15) saturate(1.1);
}

.echipa-medicala-card:hover{
 background:
  linear-gradient(rgba(255,255,255,.30), rgba(255,255,255,.30)),
  url('/img/echipa-medicala-fundal.webp') center/cover no-repeat !important;
 filter:contrast(1.25) saturate(1.2);
}


/* SLIDESHOW */

.gallery-slider{
 position:relative;
 overflow:hidden;
 width:100%;
 margin:40px auto;
}

.gallery-track{
 display:flex;
 transition:.6s ease;
}

.gallery-track img{
 width:100%;
 flex-shrink:0;
 border-radius:18px;
}

/* butoane */

.gallery-prev,
.gallery-next{
 position:absolute;
 top:50%;
 transform:translateY(-50%);
 background:rgba(255,255,255,.8);
 border:none;
 font-size:28px;
 padding:8px 14px;
 cursor:pointer;
 border-radius:50%;
}

.gallery-prev{left:10px;}
.gallery-next{right:10px;}



/* GALERIE PREMIUM */

.gallery-slider{
 position:relative;
 width:100%;
 margin:40px auto;
}

.gallery-viewport{
 overflow:hidden;
}

.gallery-track{
 display:flex;
 gap:18px;
 transition:.6s ease;
}

/* 3 poze desktop */

.gallery-track img{
 width:calc(33.333% - 12px);
 aspect-ratio:4/3;
 object-fit:cover;
 border-radius:14px;
 flex-shrink:0;
}

/* 1 poze mobil */

@media(max-width:768px){
 .gallery-track img{
   width:100%;
 }
}


/* butoane */

.gallery-prev,
.gallery-next{
 position:absolute;
 top:50%;
 transform:translateY(-50%);
 background:white;
 border:none;
 font-size:22px;
 padding:8px 12px;
 cursor:pointer;
 border-radius:50%;
 box-shadow:0 6px 20px rgba(0,0,0,.15);
}

.gallery-prev{left:-10px;}
.gallery-next{right:-10px;}



/* ================= PROGRAMARE PREMIUM CARD ================= */

#programari .forms-grid{
  grid-template-columns:1fr;
}

#programari .form-container{
  max-width:520px;
  margin:0 auto;
  padding:2.4rem 2.6rem;
  border-radius:20px;
  box-shadow:0 14px 38px rgba(0,143,137,.12);
}

/* titlu */

#programari .form-container h3{
  text-align:center;
  font-size:1.6rem;
  margin-bottom:1.8rem;
}

/* grid landscape */

#programari form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

/* mesaj + select + buton full width */

#programari textarea,
#programari .form-group,
#programari button{
  grid-column:1 / -1;
}

/* input slim */

#programari input,
#programari select,
#programari textarea{
  padding:.85rem 1rem;
  font-size:.95rem;
  border-radius:10px;
}

/* textarea mai mic */

#programari textarea{
  min-height:90px;
}

/* buton premium */

#programari button{
  margin-top:10px;
  padding:1rem;
  font-size:1.05rem;
  border-radius:50px;
  box-shadow:0 8px 22px rgba(0,143,137,.25);
}

/* mobile = 1 col */

@media(max-width:768px){
  #programari form{
    grid-template-columns:1fr;
  }
}
/* HERO TITLE FADE IN */

.hero h1{
 opacity:0;
 transform:translateY(20px);
 animation:heroFade 1.2s ease forwards;
 animation-delay:.3s;
}

@keyframes heroFade{
 to{
   opacity:1;
   transform:translateY(0);
 }
}
.hero p{
 opacity:0;
 transform:translateY(18px);
 animation:heroFade 1.2s ease forwards;
 animation-delay:.6s;
}


/* ================= HERO PREMIUM TYPO + ANIMATION ================= */

.hero h1{
  font-family:'Playfair Display',serif !important;
  font-weight:700;
  font-size:6.5rem;
  letter-spacing:2px;
  margin-bottom:1rem;
  text-shadow:0 5px 25px rgba(0,0,0,0.6);

  opacity:0;
  transform:translateY(20px);
  animation:heroFade 1.2s ease forwards;
  animation-delay:.3s;
}

.hero p{
  font-family:'Playfair Display',serif !important;
  font-weight:600;
  font-size:1.9rem;
  max-width:950px;
  margin:0 auto 4rem;

  opacity:0;
  transform:translateY(18px);
  animation:heroFade 1.2s ease forwards;
  animation-delay:.6s;
}

.btn{
  font-family:'Playfair Display',serif !important;
  font-weight:700;
}

/* animatie comuna */

@keyframes heroFade{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* responsive */

@media(max-width:768px){
 .hero h1{ font-size:4.5rem; }
 .hero p{ font-size:1.6rem; }
}


.hero h1,
.hero p{
  font-family:'Marcellus', serif !important;
  letter-spacing:1px;
}

.btn{
  font-family:'Marcellus', serif !important;
}

@media (min-width: 1025px) {
.mobile-call-btn { display: none !important; }
}


/* ===== FUNDALURI SPECIALITATI – FIX DUPA REFACTOR ===== */

.cardiologie{
 background:
  linear-gradient(rgba(255,255,255,.25), rgba(255,255,255,.25)),
  url('/img/cardiologie-fundal.webp') center/cover no-repeat !important;
}

.chirurgie-generala{
 background:
  linear-gradient(rgba(255,255,255,.60), rgba(255,255,255,.60)),
  url('/img/chirurgie-fundal.webp') center/cover no-repeat !important;
}

.dermato-venerologie{
 background:
  linear-gradient(rgba(255,255,255,.40), rgba(255,255,255,.40)),
  url('/img/dermato-fundal.webp') center/cover no-repeat !important;
}

.diabet-nutritie-si-boli-metabolice{
 background:
  linear-gradient(rgba(255,255,255,.40), rgba(255,255,255,.40)),
  url('/img/diabet-fundal.webp') center/cover no-repeat !important;
}

.endocrinologie{
 background:
  linear-gradient(rgba(255,255,255,.40), rgba(255,255,255,.40)),
  url('/img/endocrine-fundal.webp') center/cover no-repeat !important;
}

.gastroenterologie{
 background:
  linear-gradient(rgba(255,255,255,.40), rgba(255,255,255,.40)),
  url('/img/gastro-fundal.webp') center/cover no-repeat !important;
}

.medicina-interna{
 background:
  linear-gradient(rgba(255,255,255,.40), rgba(255,255,255,.40)),
  url('/img/interne-fundal.webp') center/cover no-repeat !important;
}

.neonatologie{
 background:
  linear-gradient(rgba(255,255,255,.40), rgba(255,255,255,.40)),
  url('/img/neonat-fundal.webp') center/cover no-repeat !important;
}

.neurologie{
 background:
  linear-gradient(rgba(255,255,255,.30), rgba(255,255,255,.30)),
  url('/img/neuro-fundal.webp') center/cover no-repeat !important;
}

.pediatrie{
 background:
  linear-gradient(rgba(255,255,255,.30), rgba(255,255,255,.30)),
  url('/img/pedi-fundal.webp') center/cover no-repeat !important;
}

.urologie{
 background:
  linear-gradient(rgba(255,255,255,.60), rgba(255,255,255,.60)),
  url('/img/uro-fundal.webp') center/cover no-repeat !important;
}

.analize-point-of-care{
 background:
  linear-gradient(rgba(255,255,255,.60), rgba(255,255,255,.60)),
  url('/img/analize-fundal.webp') center/cover no-repeat !important;
}

.echipa-medicala{
 background:
  linear-gradient(rgba(255,255,255,.70), rgba(255,255,255,.70)),
  url('/img/echipa-medicala-fundal.webp') center/cover no-repeat !important;
}


/* ===== MICRO HOVER PREMIUM ===== */

.specialty-card{
 transition:
   transform .18s ease,
   box-shadow .18s ease,
   filter .18s ease;
}

.specialty-card:hover{
 transform:translateY(-4px);
 box-shadow:
   0 10px 28px rgba(0,143,137,.22),
   0 0 12px rgba(212,175,55,.35);
}

.specialty-card h3{
 transition:color .18s ease;
}

.specialty-card:hover h3{
 color:#006d68;
}



/* ===== MICRO HOVER NUME MEDICI ===== */

.specialty-card .doctor{
  transition:transform .12s ease;
}

.specialty-card .doctor strong a{
  position:relative;
  display:inline-block;
  color:inherit;
  transition:color .12s ease;
}

/* micro slide */

.specialty-card .doctor:hover{
  transform:translateX(2px);
}

/* culoare */

.specialty-card .doctor:hover strong a{
  color:#006d68;
}

/* underline fin auriu */

.specialty-card .doctor strong a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-3px;
  width:0;
  height:2px;
  background:linear-gradient(90deg,#bf9853,#f3e6b0);
  transition:width .18s ease;
}

.specialty-card .doctor:hover strong a::after{
  width:100%;
}



/* ===== LINIE AURIE SUB TITLU CARD ===== */

.specialty-card h3::after{
  background:linear-gradient(90deg,#bf9853,#f3e6b0) !important;
}


/* ===== REDUCERE SPATIU GALERIE / PROGRAMARE / CONTACT ===== */

#galerie{
 padding-bottom:40px !important;
}

#programari{
 padding-top:40px !important;
 padding-bottom:40px !important;
}

#contact{
 padding-top:40px !important;
}



/* ===== EKG LINE SUB TITLU SPECIALITATI ===== */

#specialitati h2{
 position:relative;
 padding-bottom:26px;
}

#specialitati h2::after{
 content:"";
 position:absolute;
 left:50%;
 transform:translateX(-50%);
 bottom:0;
 width:220px;
 height:26px;

 background:url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 26'>\
<polyline points='0,13 40,13 55,13 65,3 80,23 95,13 130,13 145,13 155,3 170,23 185,13 220,13' \
fill='none' stroke='%23bf9853' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>") center/contain no-repeat;

 opacity:.9;
}



/* ===== EKG HEARTBEAT + HOVER PULSE ===== */

#specialitati h2::after{
 animation: ekgBeat 6s ease-in-out infinite;
}

/* heartbeat lent */

@keyframes ekgBeat{
 0%{transform:translateX(-50%) scaleX(1); opacity:.85;}
 4%{transform:translateX(-50%) scaleX(1.06); opacity:1;}
 8%{transform:translateX(-50%) scaleX(1); opacity:.85;}
 100%{transform:translateX(-50%) scaleX(1); opacity:.85;}
}

/* pulse la hover */

#specialitati h2:hover::after{
 animation: ekgHover .6s ease;
}

@keyframes ekgHover{
 0%{transform:translateX(-50%) scale(1);}
 40%{transform:translateX(-50%) scale(1.12);}
 100%{transform:translateX(-50%) scale(1);}
}



/* ===== FIX EKG Z-INDEX ===== */

#specialitati h2{
 position:relative;
 z-index:5;
}

#specialitati h2::after{
 z-index:6;
 pointer-events:none;
}


/* ===== EKG MAI LUNGA (90% DIN TITLU) ===== */

#specialitati h2::after{
  width:90% !important;
  max-width:620px;
}


/* ===== EKG FADE LA CAPETE ===== */

#specialitati h2::after{
  -webkit-mask-image:linear-gradient(to right,
    transparent 0%,
    black 12%,
    black 88%,
    transparent 100%);
  mask-image:linear-gradient(to right,
    transparent 0%,
    black 12%,
    black 88%,
    transparent 100%);
}


/* ===== EKG FADE REAL (CROSS BROWSER) ===== */

#specialitati h2::before{
 content:"";
 position:absolute;
 left:50%;
 transform:translateX(-50%);
 bottom:0;
 width:90%;
 max-width:620px;
 height:26px;
 pointer-events:none;
 background:linear-gradient(to right,
   #f5faf9 0%,
   transparent 18%,
   transparent 82%,
   #f5faf9 100%);
 z-index:7;
}



/* ===== HEADER BUTTONS –  PREMIUM ===== */

header nav a{
  font-family:'Optima',sans-serif;
  font-weight:700;
  color:var(--primary);
  text-decoration:none;
  margin-left:3rem;
  font-size:1.25rem;
  letter-spacing:.6px;
  transition:.25s;
}

header nav a:hover{
  color:var(--primary-dark);
}
/* === Ultra-soft blur layer over pattern === */
body::before{
  display:none !important;
}


/* accentuat fade verde hero sus/jos */
.hero::before{
  height:180px;
  background:linear-gradient(to bottom, rgba(255,255,255,0.55), rgba(255,255,255,0));
}

.hero::after{
  height:200px;
  background:linear-gradient(to top, rgba(255,255,255,0.55), rgba(255,255,255,0));
}

/* === Micro grain luxury === */
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="2"/></filter><rect width="120" height="120" filter="url(%23n)"/></svg>');
  opacity:0.02;
  z-index:-1;
}

/* === Central light bloom === */
.main-bloom{
 position:fixed;
 inset:0;
 pointer-events:none;
 background:radial-gradient(circle at 50% 35%, rgba(255,255,255,.55), rgba(255,255,255,0) 60%);
 z-index:-3;
}

section h2{
  font-size:2.45rem !important;
}


/* CARD SPECIALITATE CLICK PE TOATA SUPRAFATA */

.specialties > a{
  display:block;
  height:100%;
}

.specialties > a .specialty-card{
  height:100%;
  cursor:pointer;
}



/* NAV FULL WIDTH */

.medical-nav{
position:relative;
}

.menu-root{
display:flex;
gap:3rem;
list-style:none;
align-items:center;
}

.menu-parent{
position:relative;
}

/* mega menu */

.mega-menu{
display:none;
position:absolute;
left:0;
top:100%;
width:100vw;
background:white;
padding:40px 6%;
box-shadow:0 20px 60px rgba(0,0,0,.18);
grid-template-columns:repeat(4,1fr);
gap:40px;
}

.menu-parent:hover .mega-menu{
display:grid;
}

.mega-col h4{
font-size:.95rem;
color:#006d68;
margin-bottom:12px;
}

.mega-col ul{
list-style:disc;
padding-left:18px;
}

.mega-col li{
margin-bottom:6px;
}

.mega-col a{
text-decoration:none;
color:#444;
font-size:.95rem;
}

.mega-col a:hover{
color:#006d68;
}

/* highlight ecografii */

.highlight{
background:#f9f6ef;
padding:16px;
border-radius:8px;
}

/* hamburger */

.hamburger{
display:none;
flex-direction:column;
gap:5px;
cursor:pointer;
}

.hamburger span{
width:28px;
height:3px;
background:#006d68;
}

/* mobile */

@media(max-width:768px){

.menu-root{
display:none;
flex-direction:column;
background:white;
position:absolute;
top:100px;
left:0;
right:0;
padding:20px;
}

.menu-root.active{
display:flex;
}

.hamburger{
display:flex;
}

.mega-menu{
position:static;
display:block;
width:100%;
box-shadow:none;
padding:10px 0;
grid-template-columns:1fr;
}

}

/* === Premium slim header refresh === */
:root{
  --site-shell:min(1380px, calc(100% - 64px));
  --site-header-height:88px;
  --header-bg:rgba(255,255,255,.96);
  --header-text:#1f2f2f;
  --header-muted:#5f6f70;
  --header-border:rgba(0,109,104,.12);
  --header-shadow:0 16px 36px rgba(0,109,104,.08);
  --header-pill-bg:#eef8f7;
}

header.site-header{
  position:fixed;
  inset:0 0 auto 0;
  width:100%;
  height:auto;
  padding:0;
  display:block;
  background:var(--header-bg);
  border-bottom:1px solid rgba(0,109,104,.1);
  box-shadow:var(--header-shadow);
  backdrop-filter:blur(12px);
  z-index:1200;
  transition:transform .28s ease, box-shadow .2s ease;
}

header.site-header.site-header--hidden{
  transform:translateY(calc(-100% - 4px));
}

.site-header__main{
  position:relative;
  background:#fff;
}

.site-header__main-inner{
  width:var(--site-shell);
  margin:0 auto;
  min-height:88px;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:center;
  gap:22px;
}

header.site-header .logo{
  display:inline-flex;
  align-items:center;
  margin-right:0;
  flex:0 0 auto;
}

header.site-header .logo img{
  height:60px;
  width:auto;
  display:block;
}

nav.site-nav{
  display:flex !important;
  align-items:center;
  justify-content:center;
  justify-self:center;
  gap:4px;
  min-width:0;
  position:relative;
}

.site-nav .nav-link,
.site-nav .nav-link--button,
.site-nav a{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--header-text);
  font-family:'Inter',sans-serif;
  font-size:1rem;
  font-weight:500;
  text-decoration:none;
  letter-spacing:0;
  line-height:1.2;
  padding:10px 13px;
  border-radius:999px;
  margin-left:0 !important;
  white-space:nowrap;
  transition:color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.site-nav .nav-link--button{
  cursor:pointer;
}

.site-nav .nav-link:hover,
.site-nav .nav-link:focus-visible,
.site-nav .nav-link--button:hover,
.site-nav .nav-link--button:focus-visible,
.site-nav .nav-item:hover > .nav-link,
.site-nav .nav-item.is-open > .nav-link,
.site-nav .nav-item:hover > .nav-link--button,
.site-nav .nav-item.is-open > .nav-link--button{
  color:var(--primary-dark);
  background:rgba(0,143,137,.06);
  box-shadow:inset 0 0 0 1px rgba(0,143,137,.08);
  outline:none;
}

.site-nav .nav-item{
  position:relative;
}

.site-nav .has-dropdown > .nav-link::after,
.site-nav .has-dropdown > .nav-link--button::after{
  content:'';
  display:inline-block;
  width:6px;
  height:6px;
  margin-left:8px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
}

.site-nav .nav-dropdown{
  position:absolute;
  top:calc(100% + 12px);
  left:0;
  min-width:300px;
  padding:14px;
  background:#fff;
  border:1px solid rgba(0,109,104,.12);
  border-radius:20px;
  box-shadow:0 24px 54px rgba(0,109,104,.12);
  display:grid;
  gap:4px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .18s ease, visibility .18s ease, transform .18s ease;
}

.site-nav .nav-dropdown--menu a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  color:var(--header-text);
  background:transparent;
  box-shadow:none;
}

.site-nav .nav-dropdown--menu a:hover{
  background:rgba(0,143,137,.06);
  color:var(--primary-dark);
}

.site-nav .nav-item--note .nav-dropdown{
  width:380px;
  max-width:min(380px, 82vw);
  left:50%;
  transform:translate(-50%, 8px);
}

.site-nav .nav-item--note .nav-dropdown p{
  margin:0;
  color:var(--header-muted);
  font-size:.97rem;
  line-height:1.65;
}

.site-nav .nav-item:hover > .nav-dropdown,
.site-nav .nav-item.is-open > .nav-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

.site-nav .nav-item--note:hover > .nav-dropdown,
.site-nav .nav-item--note.is-open > .nav-dropdown{
  transform:translate(-50%, 0);
}

.site-header__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex:0 0 auto;
}

.header-contact-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid rgba(0,143,137,.16);
  background:var(--header-pill-bg);
  color:var(--primary-dark);
  text-decoration:none;
  font-size:.95rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  margin-left:0 !important;
  box-shadow:0 8px 20px rgba(0,143,137,.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.header-contact-pill:hover,
.header-contact-pill:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(0,143,137,.28);
  box-shadow:0 12px 28px rgba(0,143,137,.12);
}

.header-contact-pill svg{
  width:16px;
  height:16px;
  fill:currentColor;
  flex:0 0 auto;
}

.site-header__mobile-shortcuts,
.mobile-menu,
.nav-toggle{
  display:none;
}

#contact,
footer#site-footer{
  scroll-margin-top:calc(var(--site-header-height, 88px) + 28px);
}

.site-header + .hero{
  margin-top:var(--site-header-height, 88px) !important;
  padding-top:0 !important;
  min-height:calc(100svh - var(--site-header-height, 88px));
}

@media (max-width:1280px){
  :root{
    --site-shell:min(1380px, calc(100% - 44px));
  }

  .site-header__main-inner{
    gap:16px;
  }

  header.site-header .logo img{
    height:56px;
  }

  .site-nav .nav-link,
  .site-nav .nav-link--button,
  .site-nav a{
    font-size:.95rem;
    padding:10px 10px;
  }

  .header-contact-pill{
    padding:10px 15px;
    font-size:.9rem;
  }
}

@media (max-width:1100px){
  .site-header__main-inner{
    gap:12px;
  }

  .site-nav .nav-link,
  .site-nav .nav-link--button,
  .site-nav a{
    font-size:.91rem;
    padding:9px 8px;
  }

  .header-contact-pill{
    padding:9px 13px;
    font-size:.86rem;
  }
}

@media (max-width:980px){
  :root{
    --site-shell:calc(100% - 28px);
    --site-header-height:76px;
  }

  header.site-header{
    backdrop-filter:none;
  }

  .site-header__main-inner{
    min-height:76px;
    grid-template-columns:auto 1fr auto;
    gap:10px;
  }

  header.site-header .logo img{
    height:48px;
  }

  nav.site-nav,
  .site-header__actions{
    display:none !important;
  }

  .site-header__mobile-shortcuts{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    min-width:0;
  }


  .nav-toggle{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    width:40px;
    height:40px;
    border:1px solid rgba(0,143,137,.16);
    border-radius:999px;
    background:#fff;
    box-shadow:0 8px 20px rgba(0,143,137,.08);
    cursor:pointer;
    flex:0 0 auto;
  }

  .nav-toggle span{
    width:16px;
    height:2px;
    border-radius:999px;
    background:var(--primary-dark);
    transition:transform .18s ease, opacity .18s ease;
  }

  header.site-header.site-header--menu-open .nav-toggle span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
  }

  header.site-header.site-header--menu-open .nav-toggle span:nth-child(2){
    opacity:0;
  }

  header.site-header.site-header--menu-open .nav-toggle span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
  }

  .mobile-menu{
    display:block;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:rgba(255,255,255,.98);
    border-top:1px solid rgba(0,109,104,.08);
    box-shadow:0 22px 36px rgba(0,109,104,.12);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .2s ease, visibility .2s ease, transform .2s ease;
  }

  .mobile-menu.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }

  .mobile-menu__inner{
    width:var(--site-shell);
    margin:0 auto;
    padding:14px 0 16px;
  }

  .mobile-menu__inner{
    display:grid;
    gap:8px;
  }

  .mobile-menu__group{
    margin:0;
  }

  .mobile-menu__group summary,
  .mobile-menu__link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px 14px;
    border-radius:16px;
    border:1px solid rgba(0,109,104,.08);
    background:#f9fcfc;
    color:var(--header-text);
    text-decoration:none;
    font-size:.95rem;
    font-weight:600;
    line-height:1.35;
    list-style:none;
  }

  .mobile-menu__group summary{
    cursor:pointer;
  }

  .mobile-menu__group summary::-webkit-details-marker{
    display:none;
  }

  .mobile-menu__group summary::after{
    content:'';
    width:7px;
    height:7px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg);
    transition:transform .18s ease;
  }

  .mobile-menu__group[open] summary::after{
    transform:rotate(-135deg);
    margin-top:4px;
  }

  .mobile-menu__submenu{
    display:grid;
    gap:6px;
    padding:10px 0 2px;
  }

  .mobile-menu__submenu a{
    display:block;
    padding:10px 14px;
    border-radius:14px;
    background:#fff;
    border:1px solid rgba(0,109,104,.08);
    color:var(--header-text);
    text-decoration:none;
    font-size:.9rem;
    line-height:1.4;
  }
}

@media (max-width:540px){
  :root{
    --site-shell:calc(100% - 20px);
  }

  .site-header__main-inner{
    gap:8px;
  }

  header.site-header .logo img{
    height:44px;
  }

  .site-header__mobile-shortcuts{
    gap:6px;
  }


  .nav-toggle{
    width:36px;
    height:36px;
  }
}



/* === Final mobile/header/hero polish === */
.hero{
  display:flex;
  align-items:center;
  justify-content:center;
}

.hero-content{
  width:min(1180px, calc(100% - 48px));
  margin:0 auto;
  padding:clamp(72px, 11vw, 108px) 0 clamp(52px, 9vw, 86px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.hero h1{
  white-space:nowrap;
  font-size:clamp(2.7rem, 7.2vw, 6.2rem) !important;
  line-height:1.02;
  margin:0 0 .9rem;
}

.hero-copy{
  display:grid;
  gap:.3rem;
  margin:0 auto 2rem;
  font-family:'Marcellus', serif !important;
  font-size:clamp(1rem, 2.2vw, 1.7rem) !important;
  font-weight:600;
  line-height:1.28;
  text-align:center;
}

.hero-copy__line{
  display:block;
  white-space:nowrap;
}

.hero-actions{
  --hero-action-width:clamp(96px, 26vw, 158px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:nowrap;
}

.hero-btn{
  width:var(--hero-action-width);
  min-width:var(--hero-action-width);
  height:52px;
  padding:0 16px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none;
  font-family:'Inter',sans-serif !important;
  font-size:.94rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(0,0,0,.14);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.hero-btn:hover,
.hero-btn:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(0,0,0,.16);
}

.hero-btn--programare{
  border:1px solid rgba(0,143,137,.16);
  background:var(--header-pill-bg);
  color:var(--primary-dark);
}

.hero-btn--whatsapp{
  border:1px solid rgba(37,211,102,.24);
  background:linear-gradient(135deg,#25D366,#1ebe5d);
  color:#fff;
}

.hero-btn--whatsapp svg{
  width:18px;
  height:18px;
  fill:currentColor;
  flex:0 0 auto;
}

.hero-btn--google{
  border:1px solid rgba(0,143,137,.14);
  background:#fff;
  color:#1f2f2f;
  padding:0 10px;
}

.hero-btn--google svg{
  width:min(82px, 100%);
  height:auto;
  display:block;
}

.site-header + .hero{
  min-height:clamp(500px, 74svh, 780px);
}

.mobile-header-button{
  display:none;
}

.mobile-menu__note{
  display:grid;
  gap:6px;
  padding:10px 4px 2px;
}

.mobile-menu__note p{
  margin:0;
  padding:11px 14px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(0,109,104,.08);
  color:var(--header-muted);
  font-size:.9rem;
  line-height:1.55;
}

@media (max-width:980px){
  :root{
    --site-shell:calc(100% - 20px);
    --site-header-height:66px;
  }

  .site-header__main-inner{
    min-height:66px;
    gap:8px;
  }

  header.site-header .logo img{
    height:40px;
  }

  .site-header__mobile-shortcuts{
    gap:8px;
  }

  .mobile-header-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:999px;
    border:1px solid rgba(0,143,137,.16);
    background:var(--header-pill-bg);
    color:var(--primary-dark);
    text-decoration:none;
    box-shadow:0 8px 20px rgba(0,143,137,.08);
    flex:0 0 auto;
  }

  .mobile-header-button svg{
    width:16px;
    height:16px;
    fill:currentColor;
  }

  .nav-toggle{
    width:36px;
    height:36px;
  }

  .mobile-menu__inner{
    padding:10px 0 14px;
  }

  .mobile-menu__group summary,
  .mobile-menu__link{
    padding:11px 12px;
    font-size:.93rem;
  }

  .mobile-menu__submenu a{
    padding:10px 12px;
    font-size:.88rem;
  }

  .site-header + .hero{
    min-height:clamp(400px, 62svh, 560px);
  }

  .hero-content{
    width:min(100%, calc(100% - 24px));
    padding:56px 0 42px;
  }

  .hero h1{
    font-size:clamp(2.45rem, 10.6vw, 3.6rem) !important;
    margin-bottom:.72rem;
  }

  .hero-copy{
    gap:.22rem;
    margin-bottom:1.25rem;
    font-size:clamp(.78rem, 3.15vw, .95rem) !important;
  }

  .hero-actions{
    --hero-action-width:clamp(88px, 28vw, 118px);
    gap:8px;
  }

  .hero-btn{
    height:44px;
    padding:0 10px;
    font-size:clamp(.74rem, 2.8vw, .86rem);
    box-shadow:0 8px 18px rgba(0,0,0,.14);
  }

  .hero-btn--whatsapp svg{
    width:15px;
    height:15px;
  }

  .hero-btn--google svg{
    width:min(70px, 100%);
  }
}

@media (max-width:540px){
  :root{
    --site-shell:calc(100% - 16px);
    --site-header-height:62px;
  }

  .site-header__main-inner{
    min-height:62px;
    gap:6px;
  }

  header.site-header .logo img{
    height:38px;
  }

  .site-header__mobile-shortcuts{
    gap:6px;
  }

  .mobile-header-button,
  .nav-toggle{
    width:34px;
    height:34px;
  }

  .hero-content{
    width:min(100%, calc(100% - 16px));
    padding:52px 0 38px;
  }

  .hero h1{
    font-size:clamp(2.28rem, 11.2vw, 2.9rem) !important;
  }

  .hero-copy{
    font-size:clamp(.74rem, 3.4vw, .86rem) !important;
  }

  .hero-actions{
    --hero-action-width:clamp(84px, 29vw, 104px);
    gap:6px;
  }

  .hero-btn{
    height:42px;
    padding:0 8px;
    font-size:clamp(.7rem, 2.9vw, .82rem);
  }

  .hero-btn--google svg{
    width:min(62px, 100%);
  }
}

/* === Final mobile hero fit fix 2026-03-15 === */
html,
body{
  max-width:100%;
  overflow-x:clip;
}

@supports not (overflow: clip){
  html,
  body{
    overflow-x:hidden;
  }
}

@media (max-width:980px){
  .hero,
  .site-header + .hero{
    height:auto !important;
    overflow:hidden;
  }

  .hero-content{
    width:min(100%, calc(100% - 12px));
    padding:38px 0 30px;
  }

  .hero h1{
    font-size:min(2.44rem, calc((100vw - 24px) / 8.7)) !important;
    letter-spacing:0 !important;
    line-height:1.02;
    max-width:100%;
  }

  .hero-copy{
    font-size:min(.92rem, calc((100vw - 22px) / 27.5)) !important;
    letter-spacing:0 !important;
    gap:.18rem;
    margin-bottom:1rem;
    line-height:1.22;
  }

  .hero-copy__line{
    white-space:nowrap;
  }

  .hero-actions{
    --hero-action-width:clamp(76px, 27vw, 98px);
    gap:6px;
  }

  .hero-btn{
    height:40px;
    padding:0 8px;
    font-size:clamp(.68rem, 2.6vw, .8rem);
  }

  .hero-btn--whatsapp svg{
    width:14px;
    height:14px;
  }

  .hero-btn--google svg{
    width:min(60px, 100%);
  }

  .site-header + .hero{
    min-height:clamp(340px, 50svh, 430px);
  }
}

@media (max-width:540px){
  .hero-content{
    width:min(100%, calc(100% - 8px));
    padding:34px 0 26px;
  }

  .hero h1{
    font-size:min(2.18rem, calc((100vw - 18px) / 8.7)) !important;
  }

  .hero-copy{
    font-size:min(.82rem, calc((100vw - 16px) / 28.5)) !important;
  }

  .hero-actions{
    --hero-action-width:clamp(72px, 28vw, 92px);
    gap:5px;
  }

  .hero-btn{
    height:38px;
    font-size:clamp(.64rem, 2.7vw, .76rem);
  }

  .hero-btn--google svg{
    width:min(56px, 100%);
  }

  .site-header + .hero{
    min-height:clamp(320px, 47svh, 390px);
  }
}


/* === Final mobile polish 2026-03-15 === */
.hero-copy__line--primary{
  max-width:100%;
}

.footer-address,
.footer-contact,
.footer-copyright,
.footer-local-link,
.footer-link-cloud,
.footer-legal{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.footer-address{
  margin:2.35rem auto 0;
  max-width:34rem;
  display:grid;
  gap:.7rem;
  font-size:1.32rem;
  line-height:1.55;
}

.footer-address__line{
  display:block;
}

.footer-hours{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.4rem .65rem;
}

.footer-hours__block,
.footer-nowrap{
  display:inline-block;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}

.footer-contact{
  margin-top:2rem;
  max-width:36rem;
  display:grid;
  gap:.85rem;
}

.footer-contact__row{
  margin:0;
  display:flex;
  align-items:baseline;
  justify-content:center;
  flex-wrap:wrap;
  gap:.38rem .55rem;
  font-size:1.46rem;
  line-height:1.5;
}

.footer-contact__row strong{
  white-space:nowrap;
}

.footer-email{
  max-width:100%;
}

.footer-copyright{
  margin-top:2rem;
  font-size:1.02rem;
}

.footer-local-link{
  margin-top:14px;
  font-size:1.06rem;
  line-height:1.45;
}

.footer-local-link a{
  color:#bf9853;
  font-weight:600;
  text-decoration:none;
}

.footer-link-cloud{
  margin-top:24px;
  max-width:1000px;
  line-height:1.9;
  font-size:1rem;
}

.footer-legal{
  margin-top:32px;
  padding-top:22px;
  border-top:1px solid rgba(191,152,83,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px 24px;
}

.footer-legal a{
  color:#bf9853;
  font-weight:600;
  text-decoration:none;
  letter-spacing:.3px;
}

@media (max-width:980px){
  .hero-content{
    gap:10px;
  }

  .hero-copy{
    width:min(100%, 356px);
    max-width:100%;
    gap:.16rem;
    margin:0 auto .9rem;
  }

  .hero-copy__line{
    display:block;
    width:100%;
    text-align:center;
    margin:0 auto;
  }

  .hero-copy__line--primary{
    font-size:clamp(.96rem, 3vw, 1.08rem) !important;
  }

  .hero-copy__line--secondary{
    font-family:'Inter', sans-serif !important;
    font-weight:600;
    font-size:min(.74rem, calc((100vw - 24px) / 38.5)) !important;
    letter-spacing:-.01em;
  }

  footer#site-footer{
    padding:60px 20px 38px;
  }

  .footer-social{
    gap:18px;
    margin-bottom:26px;
  }

  .footer-social a{
    width:68px;
    height:68px;
  }

  .footer-social svg{
    width:32px;
    height:32px;
  }

  .footer-address{
    margin-top:1.8rem;
    max-width:22rem;
    font-size:1rem;
    gap:.55rem;
    line-height:1.46;
    text-wrap:balance;
  }

  .footer-hours{
    display:grid;
    gap:.18rem;
  }

  .footer-hours__separator{
    display:none;
  }

  .footer-contact{
    margin-top:1.5rem;
    max-width:min(100%, 22.5rem);
    gap:.72rem;
  }

  .footer-contact__row{
    display:grid;
    justify-items:center;
    gap:.16rem;
    font-size:1rem;
    line-height:1.38;
  }

  .footer-email{
    font-size:.95rem;
  }

  .footer-copyright{
    max-width:20rem;
    margin-top:1.55rem;
    font-size:.9rem;
    line-height:1.55;
    text-wrap:balance;
  }

  .footer-local-link{
    max-width:21rem;
    margin-top:12px;
    font-size:.95rem;
    line-height:1.45;
    text-wrap:balance;
  }

  .footer-link-cloud{
    max-width:22rem;
    margin-top:18px;
    font-size:.88rem;
    line-height:1.72;
    text-wrap:pretty;
  }

  .footer-legal{
    margin-top:22px;
    padding-top:16px;
    gap:8px 16px;
  }

  .footer-legal a{
    font-size:.89rem;
  }
}

@media (max-width:540px){
  .hero-content{
    gap:9px;
  }

  .hero-copy{
    width:min(100%, 338px);
    gap:.12rem;
    margin-bottom:.82rem;
  }

  .hero-copy__line--primary{
    font-size:clamp(.88rem, 3.3vw, .98rem) !important;
  }

  .hero-copy__line--secondary{
    font-size:min(.66rem, calc((100vw - 18px) / 37.5)) !important;
  }

  .footer-social a{
    width:60px;
    height:60px;
  }

  .footer-social svg{
    width:28px;
    height:28px;
  }

  .footer-address{
    max-width:18rem;
    font-size:.92rem;
  }

  .footer-contact{
    max-width:18rem;
  }

  .footer-contact__row{
    font-size:.92rem;
  }

  .footer-email{
    font-size:.88rem;
  }

  .footer-link-cloud{
    max-width:18rem;
    font-size:.82rem;
    line-height:1.68;
  }

  .footer-legal a{
    font-size:.82rem;
  }
}

/* === Mobile hero 3-line + Google badge refinement 2026-03-15 === */
.hero-copy__line--primary{
  display:block;
}

@media (min-width:981px){
  .hero-copy__line--mobile-break{
    display:inline;
    white-space:nowrap;
  }

  .hero-copy__line--tertiary::before{
    content:" · ";
  }
}

@media (max-width:980px){
  .site-header + .hero{
    min-height:clamp(284px, 40svh, 340px) !important;
  }

  .hero-content{
    width:min(100%, calc(100% - 18px)) !important;
    padding:26px 0 20px !important;
  }

  .hero h1{
    font-size:min(2.2rem, calc((100vw - 18px) / 10.1)) !important;
    margin-bottom:.5rem !important;
  }

  .hero-copy{
    width:min(100%, 35ch) !important;
    margin:0 auto .9rem !important;
    gap:.12rem !important;
    text-align:center !important;
  }

  .hero-copy__line{
    display:block !important;
    white-space:normal !important;
    text-wrap:balance;
  }

  .hero-copy__line--primary{
    font-size:clamp(.82rem, 2.8vw, .95rem) !important;
    line-height:1.18 !important;
  }

  .hero-copy__line--secondary{
    font-size:clamp(.75rem, 2.75vw, .86rem) !important;
    line-height:1.17 !important;
  }

  .hero-copy__line--tertiary{
    font-size:clamp(.69rem, 2.55vw, .8rem) !important;
  }

  .hero-actions{
    width:min(100%, 320px) !important;
    max-width:320px;
    gap:8px !important;
  }

  .hero-btn{
    flex:1 1 0;
    width:auto !important;
    min-width:0 !important;
    height:36px !important;
    padding:0 8px !important;
    font-size:clamp(.67rem, 2.55vw, .78rem) !important;
  }

  .hero-btn--whatsapp svg{
    width:13px !important;
    height:13px !important;
  }

  .hero-btn--google{
    padding:0 6px !important;
  }

  .hero-btn--google svg{
    width:min(84px, 100%) !important;
    max-width:100%;
    height:auto;
  }
}

@media (max-width:540px){
  .site-header + .hero{
    min-height:clamp(252px, 35svh, 300px) !important;
  }

  .hero-content{
    width:min(100%, calc(100% - 14px)) !important;
    padding:22px 0 18px !important;
  }

  .hero h1{
    font-size:min(2.04rem, calc((100vw - 14px) / 10.2)) !important;
    line-height:1.02 !important;
  }

  .hero-copy{
    width:min(100%, 32ch) !important;
    margin-bottom:.8rem !important;
  }

  .hero-copy__line--primary{
    font-size:clamp(.78rem, 3vw, .9rem) !important;
  }

  .hero-copy__line--secondary{
    font-size:clamp(.71rem, 2.95vw, .8rem) !important;
  }

  .hero-copy__line--tertiary{
    font-size:clamp(.65rem, 2.7vw, .74rem) !important;
  }

  .hero-actions{
    width:min(100%, 296px) !important;
    max-width:296px;
    gap:6px !important;
  }

  .hero-btn{
    height:34px !important;
    padding:0 7px !important;
    font-size:clamp(.63rem, 2.7vw, .72rem) !important;
  }

  .hero-btn--google svg{
    width:min(80px, 100%) !important;
  }
}

@media (max-width:420px){
  .hero-content{
    width:min(100%, calc(100% - 10px)) !important;
    padding:20px 0 16px !important;
  }

  .hero h1{
    font-size:min(1.92rem, calc((100vw - 10px) / 10.15)) !important;
  }

  .hero-copy{
    width:min(100%, 30ch) !important;
  }

  .hero-copy__line--secondary{
    font-size:clamp(.68rem, 2.95vw, .76rem) !important;
  }

  .hero-copy__line--tertiary{
    font-size:clamp(.63rem, 2.7vw, .7rem) !important;
  }

  .hero-actions{
    width:min(100%, 282px) !important;
    max-width:282px;
  }

  .hero-btn--google svg{
    width:min(76px, 100%) !important;
  }
}


/* === Mobile hero compact 3-line refinement 2026-03-15 v2 === */
@media (max-width:980px){
  .hero,
  .site-header + .hero{
    padding:0 !important;
  }

  .site-header + .hero{
    min-height:clamp(248px, 34svh, 292px) !important;
  }

  .hero-content{
    width:min(100%, calc(100% - 22px)) !important;
    padding:18px 0 16px !important;
  }

  .hero h1{
    margin-bottom:.45rem !important;
  }

  .hero-copy{
    width:100% !important;
    max-width:none !important;
    margin:0 auto .7rem !important;
    gap:.08rem !important;
  }

  .hero-copy__line{
    width:100% !important;
    text-align:center !important;
  }

  .hero-copy__line--primary{
    white-space:nowrap !important;
    font-size:clamp(.72rem, 2.45vw, .84rem) !important;
    line-height:1.14 !important;
  }

  .hero-copy__line--secondary{
    white-space:nowrap !important;
    font-size:clamp(.68rem, 2.45vw, .76rem) !important;
    line-height:1.12 !important;
  }

  .hero-copy__line--tertiary{
    white-space:nowrap !important;
    font-size:clamp(.62rem, 2.25vw, .7rem) !important;
    letter-spacing:-.01em;
  }

  .hero-actions{
    margin-top:.05rem !important;
  }

  .hero-btn--google svg{
    width:min(86px, 100%) !important;
  }
}

@media (max-width:540px){
  .site-header + .hero{
    min-height:clamp(228px, 31svh, 270px) !important;
  }

  .hero-content{
    width:min(100%, calc(100% - 16px)) !important;
    padding:16px 0 14px !important;
  }

  .hero h1{
    font-size:min(1.98rem, calc((100vw - 12px) / 10.2)) !important;
  }

  .hero-copy{
    margin-bottom:.65rem !important;
  }

  .hero-copy__line--primary{
    font-size:clamp(.68rem, 2.75vw, .78rem) !important;
  }

  .hero-copy__line--secondary{
    font-size:clamp(.62rem, 2.6vw, .72rem) !important;
  }

  .hero-copy__line--tertiary{
    font-size:clamp(.58rem, 2.4vw, .66rem) !important;
  }

  .hero-actions{
    width:min(100%, 300px) !important;
    max-width:300px;
  }

  .hero-btn{
    height:33px !important;
    font-size:clamp(.62rem, 2.55vw, .7rem) !important;
  }

  .hero-btn--google svg{
    width:min(84px, 100%) !important;
  }
}

@media (max-width:420px){
  .site-header + .hero{
    min-height:clamp(214px, 29svh, 252px) !important;
  }

  .hero-content{
    width:min(100%, calc(100% - 12px)) !important;
    padding:14px 0 12px !important;
  }

  .hero-copy__line--primary{
    font-size:clamp(.64rem, 2.7vw, .74rem) !important;
  }

  .hero-copy__line--secondary{
    font-size:clamp(.59rem, 2.45vw, .68rem) !important;
  }

  .hero-copy__line--tertiary{
    font-size:clamp(.55rem, 2.2vw, .62rem) !important;
  }

  .hero-actions{
    width:min(100%, 288px) !important;
    max-width:288px;
  }

  .hero-btn--google svg{
    width:min(82px, 100%) !important;
  }
}

/* === Precision programare compact + mobile haze cleanup === */
#programari .forms-grid{
  width:min(100%, 860px);
  margin:0 auto;
  grid-template-columns:1fr;
  gap:0;
}

#programari .form-container,
#programari .form-container--compact{
  max-width:860px;
  margin:0 auto;
  padding:24px 26px 22px;
  border-radius:22px;
  border:1px solid rgba(0,109,104,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,250,.98));
  box-shadow:0 14px 34px rgba(0,109,104,.10);
}

#programari .form-container h3,
#programari .form-container--compact h3{
  margin:0 0 16px;
  text-align:left;
  color:var(--primary-dark);
  font-family:'Marcellus', serif !important;
  font-size:clamp(1.3rem, 2vw, 1.75rem);
  line-height:1.12;
}

#programari .booking-form{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px 14px;
  align-items:start;
}

#programari .booking-form > textarea,
#programari .booking-form > .form-group,
#programari .booking-form > .form-consent,
#programari .booking-form > button{
  grid-column:1 / -1;
}

#programari .booking-form > input,
#programari .booking-form > textarea,
#programari .booking-form > .form-group,
#programari .booking-form > .form-consent,
#programari .booking-form > button{
  margin:0;
}

#programari .booking-input,
#programari .form-field select{
  width:100%;
  min-width:0;
  margin:0;
  height:48px;
  padding:0 14px;
  border:1px solid rgba(0,109,104,.15);
  border-radius:12px;
  background:#fff;
  color:#213434;
  font-family:'Inter', sans-serif;
  font-size:.96rem;
  line-height:1.3;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

#programari .booking-textarea{
  min-height:92px;
  height:auto;
  padding:12px 14px;
  resize:vertical;
}

#programari .booking-input::placeholder{
  color:#7a8e8d;
  opacity:1;
}

#programari .booking-input:focus,
#programari .form-field select:focus{
  outline:none;
  border-color:rgba(0,143,137,.52);
  box-shadow:0 0 0 4px rgba(0,143,137,.10);
  background:#fff;
}

#programari .form-group--compact{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px 14px;
  padding:14px;
  border:1px solid rgba(0,109,104,.08);
  border-radius:16px;
  background:rgba(242,249,248,.82);
}

#programari .form-field{
  display:grid;
  gap:6px;
  min-width:0;
}

#programari .form-field label{
  margin:0;
  color:#557272;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

#programari .form-field select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23006d68' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' d='M2.2 4.8 7 9.2l4.8-4.4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:14px 14px;
}

#programari .form-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#5e7071;
  font-size:.84rem !important;
  line-height:1.5;
}

#programari .form-consent input{
  width:18px;
  height:18px;
  min-width:18px;
  margin:2px 0 0;
  padding:0;
  accent-color:var(--primary);
}

#programari .form-consent span{
  display:block;
}

#programari .form-consent a{
  color:var(--primary-dark);
  font-weight:600;
  text-decoration:none;
}

#programari .form-consent a:hover{
  text-decoration:underline;
}

#programari button[type="submit"]{
  width:100%;
  height:50px;
  padding:0 22px;
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg, var(--primary), var(--primary-dark));
  color:#fff;
  font-family:'Inter', sans-serif !important;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 12px 24px rgba(0,109,104,.18);
}

#programari button[type="submit"]:hover,
#programari button[type="submit"]:focus-visible{
  background:linear-gradient(135deg, var(--primary-dark), #005e5b);
  transform:translateY(-1px);
  box-shadow:0 16px 28px rgba(0,109,104,.2);
}

@media (max-width:900px){
  #programari .booking-form{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:640px){
  #programari{
    padding-top:24px !important;
    padding-bottom:24px !important;
  }

  #programari .forms-grid{
    width:100%;
  }

  #programari .form-container,
  #programari .form-container--compact{
    padding:18px 16px 16px;
    border-radius:20px;
    box-shadow:0 12px 28px rgba(0,109,104,.10);
  }

  #programari .form-container h3,
  #programari .form-container--compact h3{
    margin-bottom:14px;
    text-align:center;
    font-size:1.26rem;
  }

  #programari .booking-form,
  #programari .form-group--compact{
    grid-template-columns:1fr;
  }

  #programari .booking-form{
    gap:10px;
  }

  #programari .form-group--compact{
    gap:10px;
    padding:12px;
    border-radius:14px;
  }

  #programari .booking-input,
  #programari .form-field select{
    height:46px;
    padding:0 13px;
    font-size:.93rem;
  }

  #programari .booking-textarea{
    min-height:82px;
    padding:11px 13px;
    font-size:.93rem;
  }

  #programari .form-field label{
    font-size:.75rem;
  }

  #programari .form-consent{
    gap:9px;
    font-size:.8rem !important;
  }

  #programari button[type="submit"]{
    height:48px;
    font-size:.95rem;
  }
}

@media (max-width:980px){
  body{
    background:
      linear-gradient(rgba(255,255,255,.16), rgba(255,255,255,.16)),
      url('./bg-medical-20260903.webp') center top repeat-y;
    background-size:100% auto;
    background-attachment:scroll;
  }

  .main-bloom{
    display:none !important;
  }
}

/* === Mobile hero overlay precision cleanup === */
@media (max-width:980px){
  body{
    background:url('./bg-medical-20260903.webp') center top repeat-y !important;
    background-size:100% auto !important;
    background-attachment:scroll !important;
  }

  .hero::before,
  .hero::after{
    content:none !important;
    display:none !important;
    background:none !important;
    opacity:0 !important;
  }
}

/* ===== CNAS badge medici specialități ===== */
.cnas-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:25px;
  margin-left:8px;
  vertical-align:middle;
  line-height:1;
}

.cnas-badge img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

@media(max-width:540px){
  .cnas-badge{
    width:38px;
    height:23px;
    margin-left:6px;
  }
}


.reviews-carousel-section {
  background: linear-gradient(180deg, #ffffff 0%, #f4fbfa 100%);
  padding: 34px 0 28px;
  overflow: hidden;
}

.reviews-carousel-header {
  text-align: center;
  padding: 0 18px 18px;
}

.reviews-carousel-header span {
  color: #c79a3b;
  font-weight: 700;
  font-size: 14px;
}

.reviews-carousel-header h2 {
  font-family: "Marcellus", serif;
  color: #007f78;
  font-size: clamp(28px, 5vw, 44px);
  margin: 8px 0 0;
}

.reviews-carousel {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 8px 18px 18px;
  -webkit-overflow-scrolling: touch;
}

.reviews-carousel::-webkit-scrollbar {
  height: 6px;
}

.reviews-carousel::-webkit-scrollbar-thumb {
  background: #c9a45c;
  border-radius: 999px;
}

.review-card {
  flex: 0 0 310px;
  scroll-snap-align: start;
  background: #ffffff;
  border: 1px solid rgba(0, 143, 137, 0.16);
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 14px 34px rgba(0, 95, 90, 0.12);
}

.review-stars {
  color: #f4b400;
  letter-spacing: 2px;
  font-size: 18px;
  margin-bottom: 12px;
}

.review-card p {
  color: #243937;
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 16px;
}

.review-card strong {
  color: #007f78;
  font-size: 14px;
}

@media (max-width: 768px) {
  .review-card {
    flex-basis: 82%;
  }
}

/* GOOGLE REVIEWS SLIM CAROUSEL START */
.google-reviews-slim{
  max-width:none !important;
  width:100%;
  margin:0 !important;
  padding:26px 0 30px !important;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(246,252,251,.96) 100%);
}

.google-reviews-slim-track{
  display:flex;
  align-items:stretch;
  gap:18px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  padding:4px max(18px, calc((100vw - 1380px) / 2 + 18px)) 18px;
}

.google-reviews-slim-track::-webkit-scrollbar{height:7px;}
.google-reviews-slim-track::-webkit-scrollbar-track{background:rgba(0,143,137,.08);border-radius:999px;}
.google-reviews-slim-track::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#bf9853,#f4c542);border-radius:999px;}

.google-reviews-title-card{
  flex:0 0 310px;
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:158px;
  padding:22px 20px;
  border-radius:22px;
  background:linear-gradient(145deg,#007f78,#006d68);
  color:#fff;
  box-shadow:0 16px 36px rgba(0,109,104,.18);
}

.google-reviews-title-card span{
  display:block;
  color:#f4c542;
  font-size:13px;
  font-weight:800;
  letter-spacing:.4px;
  margin-bottom:8px;
}

.google-reviews-title-card h2{
  margin:0 0 8px !important;
  color:#fff !important;
  text-align:left !important;
  font-family:"Marcellus",serif !important;
  font-size:clamp(1.35rem,2.2vw,1.9rem) !important;
  line-height:1.12;
}

.google-reviews-title-card p{
  margin:0;
  color:rgba(255,255,255,.84);
  font-size:14px;
  line-height:1.45;
}

.google-review-slim-card{
  flex:0 0 318px;
  min-height:158px;
  scroll-snap-align:start;
  border:1px solid rgba(0,109,104,.14);
  border-radius:22px;
  background:rgba(255,255,255,.97);
  padding:18px 18px 16px;
  box-shadow:0 12px 30px rgba(0,95,90,.10);
  display:flex;
  flex-direction:column;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.google-review-slim-card:hover{
  transform:translateY(-2px);
  border-color:rgba(191,152,83,.38);
  box-shadow:0 16px 38px rgba(0,95,90,.14),0 0 0 1px rgba(191,152,83,.12) inset;
}

.google-review-slim-top{
  display:grid;
  grid-template-columns:44px 1fr 22px;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}

.google-review-avatar{
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#008f89,#006d68);
  color:#fff;
  font-weight:800;
  font-size:14px;
  letter-spacing:.4px;
  box-shadow:0 8px 18px rgba(0,109,104,.22);
}

.google-review-meta strong{
  display:block;
  color:#111827;
  font-size:15px;
  line-height:1.1;
  margin-bottom:4px;
}

.google-review-stars{
  color:#f4b400;
  letter-spacing:1.5px;
  font-size:15px;
  line-height:1;
  text-shadow:0 1px 0 rgba(0,0,0,.08);
}

.google-review-g{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#4285f4;
  font-weight:900;
  font-family:Arial,Helvetica,sans-serif;
  font-size:20px;
}

.google-review-text{
  margin:0 0 10px !important;
  color:#1f2f2f !important;
  font-size:15px !important;
  line-height:1.42 !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:42px;
}

.google-review-more{
  margin-top:auto;
  align-self:flex-start;
  appearance:none;
  border:0;
  background:transparent;
  color:#7a7f83;
  font:600 14px/1.2 'Inter',sans-serif;
  padding:4px 0;
  cursor:pointer;
}

.google-review-more:hover,
.google-review-more:focus-visible{
  color:#006d68;
  outline:none;
  text-decoration:underline;
}

.google-review-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.google-review-modal.is-open{display:flex;}
.review-modal-open{overflow:hidden;}

.google-review-modal__overlay{
  position:absolute;
  inset:0;
  background:rgba(7,22,21,.58);
  backdrop-filter:blur(4px);
}

.google-review-modal__dialog{
  position:relative;
  width:min(680px,100%);
  max-height:min(78vh,720px);
  overflow:auto;
  border-radius:26px;
  background:#fff;
  padding:26px;
  box-shadow:0 26px 80px rgba(0,0,0,.28);
  border:1px solid rgba(191,152,83,.22);
}

.google-review-modal__close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid rgba(0,109,104,.12);
  background:#f7fbfa;
  color:#006d68;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.google-review-modal__head{
  display:flex;
  align-items:center;
  gap:14px;
  padding-right:42px;
  margin-bottom:18px;
}

.google-review-modal__avatar{flex:0 0 auto;}

.google-review-modal__dialog h3{
  margin:0 0 6px;
  color:#102827;
  font-size:19px;
  font-family:'Inter',sans-serif;
}

.google-review-modal__dialog p{
  margin:0;
  color:#243937;
  font-size:17px;
  line-height:1.7;
  white-space:pre-line;
}

@media(max-width:768px){
  .google-reviews-slim{padding:22px 0 24px !important;}
  .google-reviews-slim-track{gap:14px;padding-left:14px;padding-right:14px;}
  .google-reviews-title-card{flex-basis:78%;min-height:150px;}
  .google-review-slim-card{flex-basis:82%;min-height:150px;}
  .google-review-modal__dialog{padding:22px 18px;}
  .google-review-modal__dialog p{font-size:15.5px;line-height:1.62;}
}
/* GOOGLE REVIEWS SLIM CAROUSEL END */

