/* ==========================================================================
   Yess Dental — Header, footer, sticky bar, modal
   ========================================================================== */

/* ========================= TOPBAR ========================= */
.yd-topbar{
  background:var(--yd-blue);color:#fff;
  font-size:var(--yd-xs);font-weight:600;
}
.yd-topbar__inner{
  display:flex;gap:28px;align-items:center;
  padding-block:9px;
}
.yd-topbar a{color:#fff;}
.yd-topbar a:hover{color:#fff;text-decoration:underline;}
.yd-topbar__phone{font-weight:800;}
.yd-topbar__addr{font-weight:700;}
.yd-topbar__spacer{flex:1;}
.yd-topbar__social{display:flex;gap:8px;align-items:center;}
.yd-topbar__social a{
  width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  transition:background var(--yd-t),color var(--yd-t);
}
.yd-topbar__social a:hover{background:#fff;color:var(--yd-blue);}
.yd-topbar__social svg{width:15px;height:15px;fill:currentColor;}

@media (max-width:1359px){ .yd-topbar{display:none;} }

/* ========================= HEADER / NAV ========================= */
.yd-header{position:fixed;top:0;left:0;right:0;z-index:50;}

.yd-nav{
  background:#fff;
  box-shadow:var(--yd-shadow-nav);
  transition:background var(--yd-t),box-shadow var(--yd-t);
}
/* Pe homepage, headerul e transparent peste hero până la scroll */
.yd-header--transparent .yd-nav{background:transparent;box-shadow:none;}
.yd-header--transparent.is-scrolled .yd-nav,
.yd-header--transparent.is-open .yd-nav{background:#fff;box-shadow:var(--yd-shadow-nav);}

.yd-nav__inner{
  display:flex;align-items:center;gap:18px;
  padding-block:10px;
  transition:padding var(--yd-t);
}
.is-scrolled .yd-nav__inner{padding-block:6px;}

.yd-logo{flex-shrink:0;display:flex;}
.yd-logo img{height:60px;width:auto;transition:height var(--yd-t);}
.is-scrolled .yd-logo img{height:50px;}
@media (max-width:1359px){ .yd-logo img,.is-scrolled .yd-logo img{height:44px;} }

/* Logo alb peste hero, albastru când e solid */
.yd-logo__white{display:none;}
.yd-header--transparent:not(.is-scrolled):not(.is-open) .yd-logo__white{display:block;}
.yd-header--transparent:not(.is-scrolled):not(.is-open) .yd-logo__blue{display:none;}

/* Meniu desktop */
.yd-menu{
  display:flex;flex-wrap:nowrap;align-items:center;gap:0;
  flex:1;justify-content:center;min-width:0;
  margin:0;padding:0;list-style:none;
}
.yd-menu > li{position:relative;}
.yd-menu > li > a{
  display:block;
  font-family:var(--yd-font-head);font-weight:700;font-size:15px;
  padding:10px 9px;white-space:nowrap;
  color:var(--yd-navy);
  border-bottom:3px solid transparent;
  transition:color var(--yd-t),border-color var(--yd-t);
}
.yd-header--transparent:not(.is-scrolled):not(.is-open) .yd-menu > li > a{color:#fff;}
.yd-menu > li > a:hover{color:var(--yd-blue);}
.yd-header--transparent:not(.is-scrolled):not(.is-open) .yd-menu > li > a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.6);}
.yd-menu > li.current-menu-item > a,
.yd-menu > li.current-page-ancestor > a,
.yd-menu > li.current-menu-parent > a{border-bottom-color:var(--yd-blue);}
.yd-header--transparent:not(.is-scrolled):not(.is-open) .yd-menu > li.current-menu-item > a{border-bottom-color:#fff;}

/* Elementul evidențiat „Zâmbet Accesibil" */
.yd-menu > li.yd-menu-highlight > a{
  color:var(--yd-blue);background:var(--yd-blue-200);
  padding:11px 14px;border-radius:var(--yd-r-sm);
  margin-inline:4px 6px;border-bottom:0;
}
.yd-menu > li.yd-menu-highlight > a:hover{background:var(--yd-blue-300);color:var(--yd-blue);}

/* Săgeată dropdown */
.yd-menu > li.menu-item-has-children > a::after{
  content:"▾";margin-left:5px;font-size:.9em;
}

/* Dropdown */
.yd-menu .sub-menu{
  position:absolute;top:100%;left:-8px;
  margin:0;padding:8px;list-style:none;
  min-width:300px;
  background:#fff;border:1px solid var(--yd-line-3);
  border-radius:var(--yd-r-lg);box-shadow:var(--yd-shadow-drop);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity var(--yd-t),transform var(--yd-t),visibility var(--yd-t);
  z-index:10;
}
.yd-menu > li:hover > .sub-menu,
.yd-menu > li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.yd-menu .sub-menu a{
  display:flex;justify-content:space-between;gap:16px;
  padding:12px 14px;border-radius:var(--yd-r-sm);
  font-weight:700;font-size:15px;color:var(--yd-ink);
}
.yd-menu .sub-menu a:hover{background:var(--yd-blue-100);color:var(--yd-ink);}
.yd-menu .sub-menu .yd-mi-price{color:var(--yd-blue);font-weight:800;}

/* CTA din header */
.yd-nav__cta{flex-shrink:0;font-size:15px;padding:12px 18px;border-radius:var(--yd-r-sm);}
.yd-header--transparent:not(.is-scrolled):not(.is-open) .yd-nav__cta{box-shadow:0 0 0 2px rgba(255,255,255,.6);}

/* Butonul de meniu mobil */
.yd-burger{
  display:none;flex-shrink:0;
  align-items:center;gap:9px;
  font-family:var(--yd-font-head);font-weight:700;font-size:15px;
  color:var(--yd-navy);padding:9px 14px;
  border:2px solid var(--yd-navy);border-radius:var(--yd-r-sm);
}

/* Iconița cu trei linii, desenată în CSS — fără fișier sau font de iconuri. */
.yd-burger__icon{
  position:relative;
  width:20px;height:14px;
  display:block;flex-shrink:0;
}
.yd-burger__icon span{
  position:absolute;left:0;
  width:100%;height:2.5px;border-radius:2px;
  background:currentColor;
  transition:transform var(--yd-t),opacity var(--yd-t),top var(--yd-t);
}
.yd-burger__icon span:nth-child(1){top:0;}
.yd-burger__icon span:nth-child(2){top:6px;}
.yd-burger__icon span:nth-child(3){top:12px;}

/* Deschis: liniile devin un X. */
.is-open .yd-burger__icon span:nth-child(1){top:6px;transform:rotate(45deg);}
.is-open .yd-burger__icon span:nth-child(2){opacity:0;}
.is-open .yd-burger__icon span:nth-child(3){top:6px;transform:rotate(-45deg);}

@media (prefers-reduced-motion:reduce){
  .yd-burger__icon span{transition:none;}
}
.yd-header--transparent:not(.is-scrolled):not(.is-open) .yd-burger{color:#fff;border-color:#fff;}
.yd-nav__spacer{display:none;flex:1;}

@media (max-width:1359px){
  .yd-menu,.yd-nav__cta{display:none;}
  .yd-burger{display:flex;}
  .yd-nav__spacer{display:block;}
}

/* Panou mobil */
.yd-mobile{
  display:none;
  background:#fff;border-top:1px solid var(--yd-line-3);
  padding:6px var(--yd-gutter-lg) 20px;
  max-height:80vh;overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.is-open .yd-mobile{display:block;}
.yd-mobile ul{margin:0;padding:0;list-style:none;}
.yd-mobile a{
  display:block;
  font-family:var(--yd-font-head);font-weight:700;font-size:18px;
  color:var(--yd-ink);padding:15px 0;
  border-bottom:1px solid var(--yd-grey-100);
}
.yd-mobile li.yd-menu-highlight > a{color:var(--yd-blue);}
.yd-mobile li.menu-item-has-children > a{position:relative;}
.yd-mobile .sub-menu{padding-bottom:6px;}
.yd-mobile .sub-menu a{
  display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  font-size:16px;padding-left:18px;color:var(--yd-muted);
  border-bottom:1px solid var(--yd-grey-100);
}
.yd-mobile .sub-menu .yd-mi-price{color:var(--yd-blue);font-weight:800;font-size:15px;}
.yd-mobile__info{
  padding-top:16px;font-size:var(--yd-small);
  color:var(--yd-muted);line-height:1.6;
}
.yd-mobile__cta{margin-top:18px;}

/* ========================= FOOTER ========================= */
.yd-footer{background:var(--yd-navy);color:#fff;}
.yd-footer a{color:rgba(255,255,255,.82);}
.yd-footer a:hover{color:#fff;}

.yd-footer__top{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
  gap:40px;
  padding-block:clamp(48px,6vw,72px);
}
.yd-footer__brand{max-width:360px;}
.yd-footer__logo{height:52px;width:auto;margin-bottom:18px;}
.yd-footer__addr{font-weight:700;font-size:var(--yd-small);color:#fff;margin-bottom:10px;}
.yd-footer__desc{font-size:var(--yd-small);line-height:1.7;color:rgba(255,255,255,.72);}

.yd-footer__title{
  font-family:var(--yd-font-head);font-weight:700;font-size:16px;
  color:#fff;margin:0 0 16px;
}
.yd-footer__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.yd-footer__list a{font-size:var(--yd-small);font-weight:600;}

.yd-footer__contact{display:flex;flex-direction:column;gap:12px;font-size:var(--yd-small);}
.yd-footer__contact strong{color:#fff;display:block;font-weight:800;}

.yd-footer__social{display:flex;gap:10px;margin-top:18px;}
.yd-footer__social a{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:background var(--yd-t);
}
.yd-footer__social a:hover{background:var(--yd-blue);}
.yd-footer__social svg{width:17px;height:17px;fill:currentColor;}

.yd-footer__anpc{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.yd-footer__anpc a{
  font-size:12.5px;font-weight:700;
  padding:8px 12px;border-radius:var(--yd-r-sm);
  background:rgba(255,255,255,.1);
}

.yd-footer__bottom{
  border-top:1px solid rgba(255,255,255,.14);
  padding-block:22px;
  display:flex;flex-wrap:wrap;gap:12px 24px;
  align-items:center;justify-content:space-between;
  font-size:13.5px;color:rgba(255,255,255,.66);
}
.yd-footer__legal{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;}
.yd-footer__legal a{font-size:13.5px;}

@media (max-width:1359px){
  .yd-footer{padding-bottom:70px;} /* loc pentru sticky bar */
}

/* ========================= STICKY CALL + WHATSAPP ========================= */
.yd-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:45;
  display:none;
  background:#fff;border-top:1px solid var(--yd-line-3);
  box-shadow:0 -4px 18px rgba(10,37,64,.1);
  padding:8px 12px;
  padding-bottom:calc(8px + env(safe-area-inset-bottom));
  gap:8px;
}
.yd-sticky .yd-btn{flex:1;font-size:15.5px;padding:14px 12px;}
@media (max-width:1359px){ .yd-sticky{display:flex;} }

/* Pe desktop nu ocupăm toată lățimea ecranului: butoanele devin două
   acțiuni flotante în colțul din dreapta-jos, care nu acoperă conținutul. */
@media (min-width:1360px){
  .yd-sticky{
    display:flex;
    flex-direction:column;
    left:auto;right:28px;bottom:28px;
    width:auto;gap:12px;
    padding:0;
    background:transparent;border:0;box-shadow:none;
  }
  .yd-sticky .yd-btn{
    flex:0 0 auto;
    width:58px;height:58px;
    padding:0;
    border-radius:50%;
    box-shadow:0 10px 28px rgba(10,37,64,.26);
    overflow:hidden;
    transition:width var(--yd-t),border-radius var(--yd-t),background var(--yd-t),padding var(--yd-t);
  }
  .yd-sticky .yd-icon{width:24px;height:24px;flex-shrink:0;}

  /* Eticheta e ascunsă vizual, dar rămâne pentru cititoarele de ecran. */
  .yd-sticky__label{
    max-width:0;
    opacity:0;
    white-space:nowrap;
    overflow:hidden;
    transition:max-width var(--yd-t),opacity var(--yd-t),margin var(--yd-t);
  }

  /* La hover butonul se deschide și arată textul. */
  .yd-sticky .yd-btn:hover,
  .yd-sticky .yd-btn:focus-visible{
    width:auto;
    padding:0 24px;
    border-radius:var(--yd-r-pill);
  }
  .yd-sticky .yd-btn:hover .yd-sticky__label,
  .yd-sticky .yd-btn:focus-visible .yd-sticky__label{
    max-width:220px;
    opacity:1;
    margin-left:10px;
  }
}

@media (prefers-reduced-motion:reduce){
  .yd-sticky .yd-btn,
  .yd-sticky__label{transition:none;}
}

/* ========================= MODAL ========================= */
.yd-modal{
  position:fixed;inset:0;z-index:100;
  display:none;align-items:center;justify-content:center;
  padding:20px;
  background:rgba(10,37,64,.6);
  backdrop-filter:blur(3px);
}
.yd-modal.is-open{display:flex;}
.yd-modal__box{
  background:#fff;border-radius:var(--yd-r-xl);
  box-shadow:var(--yd-shadow-modal);
  width:100%;max-width:520px;
  max-height:90vh;overflow:auto;
  padding:clamp(24px,4vw,36px);
  position:relative;
}
.yd-modal__close{
  position:absolute;top:14px;right:14px;
  width:38px;height:38px;border-radius:50%;
  background:var(--yd-grey-100);color:var(--yd-navy);
  display:flex;align-items:center;justify-content:center;
  font-size:20px;line-height:1;
  transition:background var(--yd-t);
}
.yd-modal__close:hover{background:var(--yd-line-4);}
