:root{
  --nb-text:#1d1d1f;
  --nb-muted:#6e6e73;
  --nb-line:rgba(0,0,0,.08);
  --nb-bg:#ffffff;
  --nb-bg2:#f5f5f7;
  --nb-blue:#0071e3;
  --nb-blueHover:#0077ed;
  --nb-shadow: 0 20px 60px rgba(0,0,0,.14);
  --nb-radius: 18px;
  --nb-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, system-ui, sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--nb-text);
  background:var(--nb-bg);
  font-family:var(--nb-font);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit}
.nb-site{min-height:60vh}

/* Header */
.nb-header{
  position:sticky; top:0; z-index:1000;
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(180%) blur(16px);
  border-bottom: 1px solid var(--nb-line);
}
.nb-header__inner{
  height:48px;
  max-width: 1024px;
  margin:0 auto;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.nb-logo{display:flex; align-items:center; gap:10px; text-decoration:none}
.nb-logo img{height:22px; width:auto; display:block}
.nb-logo__text{font-weight:600; letter-spacing:-.02em}

/* Desktop nav (hidden on mobile) */
.nb-header__nav{display:none}
.nb-nav{list-style:none; padding:0; margin:0; display:flex; gap:26px; align-items:center}
.nb-nav a{
  text-decoration:none;
  font-size:13px;
  color: rgba(0,0,0,.80);
  line-height:1;
}
.nb-nav a:hover{color:rgba(0,0,0,.95)}

/* Right */
.nb-header__right{display:flex; align-items:center; gap:10px}
.nb-icons{display:flex; align-items:center; gap:8px}
.nb-iconbtn{
  position:relative;
  width:40px; height:40px;
  display:grid; place-items:center;
  border:0; background:transparent; padding:0;
  color:rgba(0,0,0,.82);
  border-radius:999px;
  cursor:pointer;
  -webkit-tap-highlight-color: transparent;
}
.nb-iconbtn:active{opacity:.65}
.nb-icon{display:block}
.nb-badge{
  position:absolute;
  top:7px; right:7px;
  min-width:16px; height:16px;
  padding:0 4px;
  border-radius:999px;
  background:var(--nb-blue);
  color:#fff;
  font-size:10px;
  line-height:16px;
  text-align:center;
}

/* CTA pill */
.nb-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:30px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid transparent;
  background:var(--nb-blue);
  color:#fff;
  font-size:13px;
  font-weight:500;
  text-decoration:none;
  cursor:pointer;
}
.nb-cta:hover{background:var(--nb-blueHover)}
.nb-cta:active{transform:translateY(0)}
.nb-cta:focus{outline:none; box-shadow:0 0 0 4px rgba(0,113,227,.25)}
.nb-cta--desktop{display:none}
.nb-cta--full{width:100%}
.nb-cta--ghost{
  background:transparent;
  color:var(--nb-text);
  border-color: var(--nb-line);
}
.nb-cta--ghost:hover{background:rgba(0,0,0,.03)}

/* Overlay + Panels (Apple sheet) */
.nb-overlay{
  position:fixed; inset:0;
  background: rgba(0,0,0,.20);
  backdrop-filter: blur(8px);
  z-index:999;
}
.nb-panel{
  position:fixed;
  left: 12px; right: 12px;
  top: 60px;
  max-height: calc(100vh - 80px);
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(180%) blur(18px);
  border:1px solid var(--nb-line);
  border-radius: var(--nb-radius);
  box-shadow: var(--nb-shadow);
  z-index:1001;
  transform: translateY(-8px);
  opacity:0;
  pointer-events:none;
  transition: opacity .14s ease, transform .14s ease;
  overflow:hidden;
}
.nb-panel.is-open{
  opacity:1;
  transform: translateY(0);
  pointer-events:auto;
}
.nb-panel__bar{
  height:48px;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 12px;
  border-bottom:1px solid var(--nb-line);
}
.nb-panel__title{font-size:13px; font-weight:600; letter-spacing:-.01em}
.nb-panel__body{
  padding:12px;
  overflow:auto;
  max-height: calc(100vh - 140px);
}
.nb-panel__list{display:flex; flex-direction:column; gap:6px}
.nb-panel__item{
  display:flex;
  padding:12px 12px;
  border-radius:12px;
  text-decoration:none;
  color:var(--nb-text);
  background: rgba(0,0,0,.03);
}
.nb-panel__item:hover{background: rgba(0,0,0,.05)}
.nb-panel__cta{margin-top:12px; display:grid; gap:8px}
.nb-muted{color:var(--nb-muted); font-size:13px}

/* Mobile menu list from wp_nav_menu */
.nb-mobilenav{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px}
.nb-mobilenav a{
  display:flex;
  padding:12px 12px;
  border-radius:12px;
  text-decoration:none;
  background: rgba(0,0,0,.03);
  color:var(--nb-text);
  font-size:14px;
}
.nb-mobilenav a:hover{background: rgba(0,0,0,.05)}

/* Modal */
.nb-modal{
  position:fixed; inset:0;
  z-index:1100;
  display:grid;
  place-items:center;
}
.nb-modal__backdrop{
  position:absolute; inset:0;
  background: rgba(0,0,0,.25);
  backdrop-filter: blur(10px);
}
.nb-modal__dialog{
  position:relative;
  width:min(980px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  border-radius: 24px;
  overflow:hidden;
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(180%) blur(20px);
  border:1px solid var(--nb-line);
  box-shadow: var(--nb-shadow);
  transform: translateY(8px);
  opacity:0;
  transition: opacity .16s ease, transform .16s ease;
}
.nb-modal.is-open .nb-modal__dialog{
  transform: translateY(0);
  opacity:1;
}
.nb-modal__close{
  position:absolute; top:12px; right:12px;
  width:40px; height:40px;
  border:0; background:rgba(0,0,0,.04);
  border-radius:999px;
  display:grid; place-items:center;
  cursor:pointer;
}
.nb-modal__close:hover{background:rgba(0,0,0,.06)}

.nb-modal__grid{
  display:grid;
  grid-template-columns: 1fr;
  min-height: 520px;
}
.nb-modal__left{padding:26px 22px 22px}
.nb-modal__right{padding:26px 22px; background: rgba(0,0,0,.035); border-top:1px solid var(--nb-line)}
.nb-modal__h{
  margin:0 0 16px;
  font-size:22px;
  letter-spacing:-.02em;
}
.nb-modal__kicker{font-size:12px; color:var(--nb-muted); margin-bottom:10px}
.nb-modal__hh{margin:0 0 10px; font-size:22px; letter-spacing:-.02em}
.nb-modal__p{margin:0 0 16px; color:var(--nb-muted); font-size:14px; line-height:1.5}

.nb-steps{margin:0; padding-left:18px; color:var(--nb-text); font-size:14px; line-height:1.65}
.nb-trust{margin-top:18px; display:grid; gap:10px}
.nb-trust__card{
  border:1px solid var(--nb-line);
  border-radius:14px;
  padding:12px;
  background: rgba(255,255,255,.65);
}
.nb-trust__t{font-size:12px; color:var(--nb-muted)}
.nb-trust__s{font-size:13px; margin-top:2px}

/* Form */
.nb-form{display:grid; gap:12px}
.nb-field{display:grid; gap:6px}
.nb-label{font-size:12px; color:var(--nb-muted)}
.nb-input{
  width:100%;
  height:44px;
  border-radius:12px;
  border:1px solid var(--nb-line);
  background: rgba(255,255,255,.9);
  padding:0 12px;
  font-size:14px;
  color:var(--nb-text);
}
.nb-input:focus{
  outline:none;
  border-color: rgba(0,113,227,.45);
  box-shadow: 0 0 0 4px rgba(0,113,227,.18);
}
.nb-form__note{margin:4px 0 0; font-size:12px; color:var(--nb-muted); line-height:1.4}

/* Desktop breakpoint */
@media (min-width: 980px){
  .nb-header__inner{height:44px; padding:0 22px}
  .nb-header__nav{display:block}
  .nb-iconbtn--menu{display:none}
  .nb-cta--desktop{display:inline-flex}

  .nb-panel{
    left:50%;
    right:auto;
    width: 360px;
    transform: translate(-50%, -8px);
    top: 54px;
  }
  .nb-panel.is-open{
    transform: translate(-50%, 0);
  }

  .nb-modal__grid{
    grid-template-columns: 1.05fr .95fr;
    min-height: 560px;
  }
  .nb-modal__right{
    border-top:0;
    border-left:1px solid var(--nb-line);
    background: rgba(0,0,0,.03);
  }
}
/* Content wrappers */
.nb-wrap{
  max-width: 1024px;
  margin: 0 auto;
  padding: 24px 14px 64px;
}
.nb-content{
  font-size: 16px;
  line-height: 1.7;
  color: rgba(0,0,0,.86);
}
.nb-content h1,.nb-content h2,.nb-content h3{letter-spacing:-.02em}
.nb-content a{color: var(--nb-blue); text-decoration:none}
.nb-content a:hover{text-decoration:underline}

/* Cards / loops */
.nb-loop{display:grid; gap:14px}
.nb-card{
  border:1px solid var(--nb-line);
  border-radius: 18px;
  background: rgba(0,0,0,.02);
  overflow:hidden;
}
.nb-card__link{display:block; padding:18px; text-decoration:none}
.nb-card__title{margin:0 0 8px; font-size:18px; letter-spacing:-.02em}
.nb-card__meta{font-size:12px; color:var(--nb-muted); margin-bottom:10px}
.nb-card__excerpt{font-size:14px; color:rgba(0,0,0,.72)}

/* Single */
.nb-post__title,.nb-page__title{margin:0; font-size:28px; letter-spacing:-.03em}
.nb-post__meta{margin-top:8px; font-size:12px; color:var(--nb-muted)}
.nb-post__dot{margin:0 8px}
.nb-post__thumb img{width:100%; height:auto; border-radius:18px; margin:16px 0}

/* Pagination */
.nb-pagination{display:flex; justify-content:space-between; margin-top:18px}
.nb-pagination a{color:var(--nb-blue); text-decoration:none; font-size:14px}
.nb-pagination a:hover{text-decoration:underline}
.nb-postnav{display:flex; justify-content:space-between; margin-top:22px}
.nb-postnav a{color:var(--nb-blue); text-decoration:none; font-size:14px}
.nb-postnav a:hover{text-decoration:underline}
.nb-modal[hidden] { display: none !important; }
.nb-overlay[hidden] { display: none !important; }
/* Footer (Apple-like) */
.nb-footer{
  background: var(--nb-bg2);
  border-top: 1px solid var(--nb-line);
}
.nb-footer__inner{
  max-width: 1024px;
  margin: 0 auto;
  padding: 28px 14px 18px;
}
.nb-footer__top{
  display: grid;
  gap: 22px;
}
.nb-footer__brand{
  display: grid;
  gap: 10px;
}
.nb-footer__logo img{
  height: 22px;
  width: auto;
  display: block;
}
.nb-footer__logoText{
  font-weight: 600;
  letter-spacing: -.02em;
}
.nb-footer__tagline{
  margin: 0;
  color: var(--nb-muted);
  font-size: 13px;
  line-height: 1.55;
  max-width: 52ch;
}
.nb-footer__cols{
  display: grid;
  gap: 18px;
}
.nb-footer__col{
  padding-top: 2px;
}
.nb-footer__h{
  font-size: 12px;
  font-weight: 600;
  letter-spacing: -.01em;
  color: rgba(0,0,0,.78);
  margin-bottom: 10px;
}
.nb-footer__list,
.nb-footer__menu{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
.nb-footer__list a,
.nb-footer__menu a{
  text-decoration: none;
  font-size: 13px;
  color: rgba(0,0,0,.72);
}
.nb-footer__list a:hover,
.nb-footer__menu a:hover{
  color: rgba(0,0,0,.92);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.nb-footer__ctaWrap{
  margin-top: 12px;
}

.nb-footer__bottom{
  margin-top: 22px;
  padding-top: 14px;
  border-top: 1px solid var(--nb-line);
  display: grid;
  gap: 10px;
}
.nb-footer__fine{
  font-size: 12px;
  color: rgba(0,0,0,.62);
}
.nb-footer__fine--links a{
  color: rgba(0,0,0,.62);
  text-decoration: none;
}
.nb-footer__fine--links a:hover{
  color: rgba(0,0,0,.86);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.nb-footer__sep{margin: 0 8px}

/* Desktop footer layout */
@media (min-width: 980px){
  .nb-footer__inner{padding: 34px 22px 22px}
  .nb-footer__top{
    grid-template-columns: 1fr;
  }
  .nb-footer__cols{
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 26px;
    align-items: start;
  }
  .nb-footer__bottom{
    grid-template-columns: 1fr auto;
    align-items: center;
  }
}
/* Form message (Apple-like) */
.nb-form__msg{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.4;
  border: 1px solid transparent;
  background: rgba(0,0,0,.03);
  color: rgba(0,0,0,.75);
  min-height: 0;
}
.nb-form__msg:empty{
  display:none;
}
.nb-form__msg.is-success{
  background: rgba(52,199,89,.12);
  border-color: rgba(52,199,89,.25);
  color: rgba(0,0,0,.82);
}
.nb-form__msg.is-error{
  background: rgba(255,59,48,.10);
  border-color: rgba(255,59,48,.22);
  color: rgba(0,0,0,.82);
}

/* Loading button */
.nb-cta[disabled]{
  opacity: .75;
  cursor: not-allowed;
}
.nb-textarea{
  height:auto;
  padding:10px 12px;
  resize: vertical;
  min-height: 92px;
}
/* Modal scroll fix (mobile-first) */
.nb-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.nb-modal__dialog{
  position: relative;
  height: 100vh;            /* fallback */
  height: 100dvh;           /* modern mobile */
  display: flex;
  flex-direction: column;
}

.nb-modal__grid{
  flex: 1;
  min-height: 0;            /* kritik: child overflow çalışsın */
  overflow: auto;           /* modalın içinde scroll */
  -webkit-overflow-scrolling: touch; /* iOS smooth */
}

/* Mobilde sağ panel aşağı düşüyorsa da sorunsuz scroll */
@media (max-width: 979px){
  .nb-modal__grid{
    padding-bottom: 18px;   /* alt boşluk (home bar) */
  }
}
/* Close button always clickable */
.nb-modal__close{
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 5;           /* grid'in üstünde */
  pointer-events: auto; /* tıklanabilir */
}

/* Scroll layer altta kalsın */
.nb-modal__grid{
  position: relative;
  z-index: 1;
}

/* Backdrop tıklaması garanti */
.nb-modal__backdrop{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: auto;
}

/* Dialog içini katmanla */
.nb-modal__dialog{
  position: relative;
  z-index: 2;
}