/* ══════════════════════════════════════
   EPISTERA — Ana Stil Dosyası v1.2
   Elementor tam uyumlu
══════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

:root {
  --gold:       #C9A84C;
  --gold-light: #E8C97A;
  --gold-dim:   #8B6914;
  --dark:       #0D0B07;
  --cream:      #F0E6CC;
  --cream-dim:  #C8BA9A;
  --blue:       #6496C9;
  --green:      #7AB8A0;
  --nav-height: 200px;
}

body {
  background: #000;
  color: var(--cream);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.15rem;
  line-height: 1.85;
  overflow-x: hidden;
}

/* ── Elementor ile çakışmayı önle ── */
/* Elementor kendi container'larını yönetir; sadece tema bileşenleri stillendirilir */
.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap {
  /* Sıfırlamalar buraya eklenmez — Elementor kendi yönetir */
}

/* Elementor canvas (tam ekran) şablonunda nav/footer gizle */
body.elementor-page-template-canvas #ep-nav,
body.elementor-page-template-canvas #ep-footer {
  display: none !important;
}

h1,h2,h3,h4 { font-family:'Cinzel',serif; font-weight:400; color:#fff; line-height:1.15; }
p  { color:var(--cream-dim); line-height:1.9; margin-bottom:18px; }
a  { color:var(--gold); text-decoration:none; transition:color .25s; }
a:hover { color:var(--gold-light); }
em { font-style:italic; color:var(--gold); }
strong { color:var(--gold); font-weight:600; }
img { max-width:100%; height:auto; display:block; }

/* ep-main: Elementor olmayan sayfalarda içerik nav altında başlasın */
#ep-main { padding-top: var(--nav-height); }
/* Elementor ile düzenlenmiş sayfalarda da padding doğru olsun */
.elementor-page #ep-main { padding-top: 0; }

.container    { max-width:1200px; margin:0 auto; padding:0 60px; }
.section-pad  { padding:110px 0; }
.section-label {
  font-family:'Cinzel',serif; font-size:.75rem;
  letter-spacing:.5em; color:var(--gold); text-transform:uppercase;
  display:block; margin-bottom:18px;
}

/* ── BUTTONS ── */
.btn-primary {
  background:var(--gold); color:#0D0B07 !important;
  border:none; padding:18px 52px;
  font-family:'Cinzel',serif; font-size:1rem; font-weight:700;
  letter-spacing:.2em; cursor:pointer; text-decoration:none;
  display:inline-block; transition:background .25s,transform .2s;
  text-transform:uppercase;
}
.btn-primary:hover { background:var(--gold-light); transform:translateY(-2px); color:#0D0B07 !important; }

.btn-ghost {
  background:transparent; color:#fff !important;
  border:1px solid rgba(201,168,76,.5); padding:18px 52px;
  font-family:'Cinzel',serif; font-size:1rem; font-weight:700;
  letter-spacing:.2em; cursor:pointer; text-decoration:none;
  display:inline-block; transition:border-color .25s,color .25s;
  text-transform:uppercase;
}
.btn-ghost:hover { border-color:var(--gold); color:var(--gold) !important; }

/* ── NAV ── */
#ep-nav {
  position:fixed; top:0; left:0; right:0; z-index:9999;
  height:var(--nav-height);
  background:rgba(0,0,0,.97);
  border-bottom:1px solid rgba(201,168,76,.15);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.ep-nav-inner {
  display:flex; align-items:center;
  max-width:1440px; margin:0 auto;
  padding:0 52px; height:var(--nav-height);
}
.ep-nav-logo {
  display:flex; align-items:center;
  flex-shrink:0; margin-right:60px;
}
.ep-nav-logo img,
.ep-nav-logo .custom-logo {
  height:186px !important; width:auto !important; max-width:580px !important;
  object-fit:contain !important; display:block !important;
}
.ep-nav-links {
  display:flex; align-items:center;
  list-style:none; flex:1; height:var(--nav-height); gap:0;
}
.ep-nav-item {
  position:relative; display:flex; align-items:center; height:var(--nav-height);
}
.ep-nav-item > a {
  color:#fff; font-family:'Cinzel',serif;
  font-size:0.9rem; font-weight:600; letter-spacing:.2em;
  padding:0 22px; height:var(--nav-height); display:flex; align-items:center;
  transition:color .25s; white-space:nowrap; text-decoration:none;
}
.ep-nav-item > a:hover,
.ep-nav-item:hover > a { color:var(--gold); }
.ep-nav-item.has-sub > a::after { content:" ▾"; font-size:.65rem; margin-left:5px; }

.ep-nav-sub {
  display:none; position:absolute; top:100%; left:0;
  background:rgba(0,0,0,.99); border:1px solid rgba(201,168,76,.25);
  border-top:2px solid var(--gold); min-width:320px; z-index:10000;
}
.ep-nav-item:hover .ep-nav-sub { display:block; }
.ep-nav-sub a {
  display:block; padding:15px 22px; color:#fff;
  font-family:'Cinzel',serif; font-size:.9rem; font-weight:500;
  letter-spacing:.12em; border-bottom:1px solid rgba(201,168,76,.1);
  transition:background .2s,color .2s; height:auto;
}
.ep-nav-sub a:last-child { border-bottom:none; }
.ep-nav-sub a:hover { background:rgba(201,168,76,.08); color:var(--gold); }
.ep-nav-sub a:nth-child(1) { border-left:3px solid var(--gold); }
.ep-nav-sub a:nth-child(2) { border-left:3px solid var(--blue); }
.ep-nav-sub a:nth-child(3) { border-left:3px solid var(--green); }

/* Üye Olun butonu — küçük, sağ köşe */
.ep-nav-end {
  margin-left:auto;
  display:flex;
  align-items:center;
}
.ep-nav-end .btn-primary,
a.ep-nav-btn.btn-primary {
  padding:8px 18px !important;
  font-size:.72rem !important;
  letter-spacing:.14em !important;
  line-height:1.4 !important;
  display:inline-block !important;
  height:auto !important;
}

/* Hamburger (mobil) */
.ep-hamburger {
  display:none; flex-direction:column; gap:6px;
  cursor:pointer; padding:8px; margin-left:auto;
  background:none; border:none;
}
.ep-hamburger span {
  display:block; width:26px; height:2px;
  background:var(--gold); transition:all .3s;
}
.ep-hamburger[aria-expanded="true"] span:nth-child(1) { transform: rotate(45deg) translate(5px,6px); }
.ep-hamburger[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.ep-hamburger[aria-expanded="true"] span:nth-child(3) { transform: rotate(-45deg) translate(5px,-6px); }

/* ── HERO ── */
#home {
  min-height:100vh; display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  text-align:center; padding:220px 40px 80px;
  position:relative; background:#000; overflow:hidden;
}
.ep-hero-bg {
  position:absolute; inset:0;
  background:radial-gradient(ellipse 70% 60% at 50% 55%, rgba(201,168,76,.06) 0%, transparent 70%);
  pointer-events:none;
}
.ep-hero-line {
  width:1px; height:80px;
  background:linear-gradient(to bottom, transparent, var(--gold));
  margin:0 auto 44px;
  animation:epFadeDown 1.2s ease both; opacity:0;
}
.ep-hero-title {
  font-family:'Cinzel',serif; font-size:clamp(4rem,9vw,8.5rem);
  font-weight:400; color:#fff; letter-spacing:.06em; line-height:1.0;
  animation:epFadeUp 1s .4s ease both; opacity:0; margin-bottom:28px;
}
.ep-hero-sub {
  font-family:'Cormorant Garamond',serif; font-size:clamp(1.6rem,3vw,3.2rem);
  font-weight:300; color:var(--cream); font-style:italic;
  margin-bottom:36px; animation:epFadeUp 1s .6s ease both; opacity:0; line-height:1.3;
}
.ep-hero-quote {
  font-family:'Cormorant Garamond',serif; font-size:clamp(1.1rem,1.8vw,1.7rem);
  font-style:italic; color:var(--cream-dim);
  max-width:720px; margin:0 auto 52px;
  animation:epFadeUp 1s .8s ease both; opacity:0; line-height:1.7; font-weight:300;
  border-left:2px solid rgba(201,168,76,.4); padding-left:28px; text-align:left;
}
.ep-hero-quote cite {
  display:block; font-style:normal; font-family:'Cinzel',serif;
  font-size:.78rem; font-weight:600; letter-spacing:.32em;
  color:var(--gold); margin-top:14px;
}
.ep-hero-actions {
  display:flex; gap:20px; justify-content:center; flex-wrap:wrap;
  animation:epFadeUp 1s 1s ease both; opacity:0; margin-bottom:60px;
}
.ep-scroll-hint {
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:10px;
  color:var(--gold); font-family:'Cinzel',serif; font-size:.7rem;
  letter-spacing:.3em; animation:epFadeUp 1s 1.4s ease both; opacity:0;
}
.ep-scroll-line {
  width:1px; height:40px;
  background:linear-gradient(to bottom, var(--gold), transparent);
}

@keyframes epFadeUp {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes epFadeDown {
  from { opacity:0; transform:translateY(-20px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ── BİZ KİMİZ ── */
#who { background:#0a0a0a; }
.ep-who-grid {
  display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; align-items:center;
}
.ep-who-frame { border:1px solid rgba(201,168,76,.2); padding:24px; }
.ep-who-section-label {
  font-family:'Cinzel',serif; font-size:1.12rem;
  letter-spacing:.4em; color:var(--gold); text-transform:uppercase;
  display:block; margin-bottom:22px; font-weight:500;
}
.ep-who-text h2 { font-size:clamp(1.8rem,2.8vw,2.8rem); margin-bottom:28px; }
.ep-who-text p  { font-size:1.18rem; line-height:1.95; }
.ep-pillars { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:36px; }
.ep-pillar  { border-left:2px solid var(--gold-dim); padding:10px 0 10px 18px; }
.ep-pillar-title {
  font-family:'Cinzel',serif; font-size:.72rem; font-weight:700;
  letter-spacing:.18em; color:var(--gold); margin-bottom:6px;
}
.ep-pillar p { font-size:1rem; margin:0; }

/* ── STOA ALINTILARI ── */
#ep-quotes { background:#111009; padding:80px 0; }
.ep-quotes-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:48px;
  max-width:1200px; margin:0 auto; padding:0 60px;
}
.ep-qcard   { border-top:2px solid var(--gold); padding-top:32px; }
.ep-qmark   { font-family:'Cinzel',serif; font-size:3rem; color:var(--gold); line-height:1; display:block; }
.ep-qtext   { font-style:italic; font-size:1.1rem; color:var(--cream); line-height:1.8; margin:16px 0; }
.ep-qauthor { font-family:'Cinzel',serif; font-size:.72rem; letter-spacing:.2em; color:var(--gold); text-transform:uppercase; }

/* ── HİZMETLER — 3 SÜTUN ── */
#services { background:#000; padding:110px 0; }
.ep-services-header { text-align:center; margin-bottom:72px; }
.ep-services-header h2 { font-size:clamp(2rem,3.5vw,3.5rem); margin-top:16px; }

.ep-services-grid {
  display:grid; grid-template-columns:1fr 1fr 1fr;
  max-width:1280px; margin:0 auto; padding:0 40px;
  gap:0; align-items:stretch;
}
.ep-service-col {
  padding:60px 48px; text-align:center;
  position:relative; display:flex; flex-direction:column;
  transition:background .3s;
}
.ep-service-col:not(:last-child)::after {
  content:''; position:absolute; top:8%; right:0;
  width:1px; height:84%;
  background:linear-gradient(
    to bottom,
    transparent 0%, rgba(201,168,76,.06) 12%,
    rgba(201,168,76,.22) 38%, rgba(201,168,76,.22) 62%,
    rgba(201,168,76,.06) 88%, transparent 100%
  );
}
.ep-service-col-1:hover { background:rgba(201,168,76,.025); }
.ep-service-col-2:hover { background:rgba(100,150,201,.025); }
.ep-service-col-3:hover { background:rgba(122,184,160,.025); }

.ep-service-roman {
  font-family:'Cinzel',serif; font-size:3.5rem; font-weight:400;
  line-height:1; margin-bottom:8px; display:block;
}
.ep-service-col-1 .ep-service-roman { color:rgba(201,168,76,.18); }
.ep-service-col-2 .ep-service-roman { color:rgba(100,150,201,.18); }
.ep-service-col-3 .ep-service-roman { color:rgba(122,184,160,.18); }

.ep-svc-tag {
  font-family:'Cinzel',serif; font-size:.62rem; font-weight:600;
  letter-spacing:.45em; display:inline-block; margin-bottom:24px;
  text-transform:uppercase; border:1px solid; padding:6px 16px;
}
.ep-svc-tag-gold  { color:var(--gold);  border-color:rgba(201,168,76,.35); }
.ep-svc-tag-blue  { color:var(--blue);  border-color:rgba(100,150,201,.35); }
.ep-svc-tag-green { color:var(--green); border-color:rgba(122,184,160,.35); }

.ep-svc-line { width:48px; height:1px; margin:0 auto 28px; }
.ep-svc-line-gold  { background:var(--gold-dim); }
.ep-svc-line-blue  { background:var(--blue); opacity:.4; }
.ep-svc-line-green { background:var(--green); opacity:.4; }

.ep-service-col h3 {
  font-family:'Cinzel',serif; font-size:clamp(1.3rem,1.8vw,1.9rem);
  font-weight:600; color:#fff; line-height:1.25; margin-bottom:20px;
}
.ep-service-col p.desc {
  font-size:1.18rem; font-style:italic;
  color:#D4CAB0; line-height:1.88; margin-bottom:24px;
}
.ep-service-col ul { list-style:none; text-align:left; margin-bottom:0; flex:1; }
.ep-service-col ul li {
  font-size:1.18rem; color:#D4CAB0;
  padding:8px 0 8px 22px;
  border-bottom:1px solid rgba(255,255,255,.05); position:relative;
}
.ep-service-col ul li::before { content:'—'; position:absolute; left:0; font-size:.8rem; }
.ep-service-col-1 ul li::before { color:var(--gold); }
.ep-service-col-2 ul li::before { color:var(--blue); }
.ep-service-col-3 ul li::before { color:var(--green); }

.ep-svc-btn-wrap { margin-top:auto; padding-top:32px; }
.btn-svc {
  display:block; width:100%; padding:15px 16px;
  font-family:'Cinzel',serif; font-size:.82rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; text-decoration:none;
  transition:filter .25s,transform .2s; cursor:pointer; border:none; text-align:center;
}
.btn-svc:hover { filter:brightness(1.14); transform:translateY(-2px); }
.btn-svc-gold  { background:var(--gold);  color:#0D0B07 !important; }
.btn-svc-blue  { background:#3e6f9a;      color:#fff !important; }
.btn-svc-green { background:#3e7d66;      color:#fff !important; }

/* ── İLETİŞİM ── */
#contact { background:#0a0a0a; }
.ep-contact-header { text-align:center; margin-bottom:60px; }
.ep-contact-header h2 { font-size:clamp(2.2rem,3.5vw,3.8rem); margin-top:14px; }
.ep-contact-header p  { font-size:1.2rem; max-width:520px; margin:16px auto 0; }

.ep-contact-cards {
  display:grid; grid-template-columns:1fr 1fr 1fr;
  gap:24px; max-width:860px; margin:0 auto 60px;
}
.ep-ccard { border:1px solid rgba(201,168,76,.2); padding:36px 28px; text-align:center; }
.ep-ccard-icon  { font-size:1.6rem; color:var(--gold); display:block; margin-bottom:14px; }
.ep-ccard-label {
  font-family:'Cinzel',serif; font-size:.7rem; letter-spacing:.28em;
  color:var(--gold); text-transform:uppercase; display:block; margin-bottom:12px;
}
.ep-ccard-val   { color:var(--cream); font-size:.95rem; line-height:1.8; }
.ep-ccard-val a { color:var(--cream); transition:color .2s; }
.ep-ccard-val a:hover { color:var(--gold); }

.ep-contact-form { max-width:760px; margin:0 auto; }

/* CF7 form stilleri */
.ep-contact-form .wpcf7-form p { margin-bottom:0; }
.ep-contact-form input[type="text"],
.ep-contact-form input[type="email"],
.ep-contact-form select,
.ep-contact-form textarea {
  width:100%; background:rgba(201,168,76,.04);
  border:1px solid rgba(201,168,76,.25); color:var(--cream);
  font-family:'Cormorant Garamond',serif; font-size:1.1rem;
  padding:14px 18px; outline:none; transition:border-color .25s;
  margin-bottom:24px;
}
.ep-contact-form input:focus,
.ep-contact-form textarea:focus { border-color:var(--gold); }
.ep-contact-form input[type="submit"] {
  background:var(--gold); color:#0D0B07;
  font-family:'Cinzel',serif; font-size:.9rem; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  border:none; padding:18px 64px; cursor:pointer;
  transition:background .25s,transform .2s; width:100%;
}
.ep-contact-form input[type="submit"]:hover { background:var(--gold-light); transform:translateY(-2px); }

/* ── FOOTER ── */
#ep-footer {
  background:#050505; border-top:1px solid rgba(201,168,76,.12);
  padding:52px 60px; display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:24px;
}
.ep-footer-brand { font-family:'Cinzel',serif; font-size:1.3rem; color:var(--gold); letter-spacing:.2em; }
.ep-footer-copy  { font-family:'Cinzel',serif; font-size:.65rem; color:rgba(200,186,154,.45); letter-spacing:.2em; text-transform:uppercase; }

/* ── REVEAL ── */
.ep-reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease,transform .7s ease; }
.ep-reveal.visible { opacity:1; transform:translateY(0); }

/* ── Elementor içindeki reveal ── */
.elementor-widget .ep-reveal { opacity:1; transform:none; }

/* ── Elementor genel sayfa stilleri ── */
.ep-page-content {
  min-height: 60vh;
  padding-top: var(--nav-height);
}
/* Elementor ile düzenlenmiş sayfalarda padding-top'u Elementor yönetir */
.elementor-page .ep-page-content {
  padding-top: 0;
}

/* ── RESPONSIVE ── */
@media (max-width:1100px) {
  .ep-services-grid { grid-template-columns:1fr; }
  .ep-service-col:not(:last-child)::after { display:none; }
  .ep-service-col:not(:last-child) { border-bottom:1px solid rgba(201,168,76,.15); }
  .ep-who-grid { grid-template-columns:1fr; gap:48px; }
  .ep-contact-cards { grid-template-columns:1fr; max-width:380px; }
}
@media (max-width:900px) {
  :root { --nav-height: 130px; }
  .ep-nav-inner { padding:0 28px; }
  .ep-nav-logo img,
  .ep-nav-logo .custom-logo { height:116px !important; }
  .ep-nav-links { display:none; }
  .ep-nav-links.open {
    display:flex; flex-direction:column;
    position:absolute; top:var(--nav-height); left:0; right:0;
    background:rgba(0,0,0,.99); height:auto; padding:20px 0; z-index:9998;
  }
  .ep-nav-item { height:auto; }
  .ep-nav-item > a { height:auto; padding:14px 28px; }
  .ep-hamburger { display:flex; }
  .ep-nav-end { display:none; }
  #home { padding-top:calc(var(--nav-height) + 60px); }
}
@media (max-width:600px) {
  .ep-quotes-grid { grid-template-columns:1fr; gap:32px; }
  .container { padding:0 28px; }
  #ep-footer { padding:40px 28px; flex-direction:column; text-align:center; }
}
