/* =====================================================
   HANABI JUDO — TASARIM SİSTEMİ
   Referans: Ajans Hanabi Judo / css/style.css
   Elementor Theme Builder ile birlikte çalışacak şekilde
   uyarlanmıştır: layout (nav/footer/section/grid) Elementor
   container'larına bırakılmış, sadece token + bileşen
   sınıfları burada tutulmuştur.
   ===================================================== */

/* ── TOKENS ─────────────────────────────────────────── */
:root {
  /* Sıcak koyu palet */
  --ink:      #120F0B;
  --ink-1:    #1B1610;
  --ink-2:    #231C14;
  --ink-3:    #2C2419;

  /* Vurgu */
  --ember:    #D4611F;
  --ember-lt: #E8832C;
  --gold:     #C49628;
  --amber:    #F0A82E;
  --rust:     #9C3A12;

  /* ── Erişilebilirlik türevleri ──────────────────────────
     WCAG AA küçük metin için 4.5:1 kontrast istiyor.
     Ölçtüğümüz değerler:
       beyaz üzerine --ember (#D4611F) ....... 3.80  ✗
       beyaz üzerine --ember-btn (#B85115) ... 4.97  ✓
       --ember üzerine --ink-2 ............... 4.43  ✗ (sınırın hemen altı)
       --ember-lt üzerine --ink-2 ............ 6.18  ✓
     Bu yüzden: dolu butonların zemini --ember-btn,
     koyu zemin üzerindeki küçük turuncu metin --ember-lt. */
  --ember-btn: #B85115;
  --ember-txt: var(--ember-lt);
  /* Sessiz künye metni: --warm-mid koyu kartta 2.66 idi, bu 5.14 */
  --meta-txt:  #9C8C74;

  /* Sıcak açık */
  --cream:    #F6F0E8;
  --cream-2:  #EDE5D6;
  --warm-mid: #7A6A55;
  --warm-dim: rgba(246,240,232,0.08);

  /* Metin */
  --text:     #F0EAE0;
  --text-70:  rgba(240,234,224,.7);
  --text-40:  rgba(240,234,224,.4);
  --text-dark:#1A1510;
  --muted:    #6A5E4A;

  /* Kenarlık */
  --border:   rgba(240,234,224,.09);
  --border-md:rgba(240,234,224,.16);
  --border-em:rgba(212,97,31,.3);

  /* Font */
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'DM Sans', system-ui, sans-serif;

  --gap: clamp(20px,4vw,40px);
}

/* ── TEMEL ──────────────────────────────────────────── */
body {
  font-family: var(--sans);
  background: var(--ink);
  color: var(--text);
  line-height: 1.65;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width:100%; height:auto; }

/* ── TİPOGRAFİ YARDIMCILARI ─────────────────────────── */
.eyebrow{font-family:var(--sans);font-size:.6875rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ember)}
.eyebrow-sm{font-size:.625rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.display{font-family:var(--serif);font-weight:300;line-height:1.05;letter-spacing:-.01em;color:var(--text)}
.display em{font-style:italic;color:var(--ember)}
.display strong{font-weight:500}
.sec-title{font-family:var(--serif);font-size:clamp(1.875rem,4vw,3.25rem);font-weight:300;line-height:1.1;color:inherit}
.sec-title em{font-style:italic;color:var(--ember)}
.sec-rule{width:44px;height:2px;background:var(--ember);margin:14px 0 22px;border-radius:2px}
.body-copy{font-size:1.0625rem;font-weight:300;line-height:1.82;color:var(--text-70)}
.dark-text{color:var(--text-dark)!important}

/* Açık zeminli bölümler (Elementor container'a .sec-light verilir) */
.sec-light{background:var(--cream);color:var(--text-dark)}
.sec-light .eyebrow{color:var(--ember)}
.sec-light .body-copy,.sec-light p{color:#4A3E2E}
.sec-light .sec-rule{background:var(--ember)}
.sec-warm{background:var(--ink-2)}
.sec-amber{background:var(--ember);color:#fff}
.sec-amber .eyebrow,.sec-amber .body-copy{color:rgba(255,255,255,.85)}

/* ── BUTONLAR ───────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:all .25s;cursor:pointer;border:none;white-space:nowrap}
.btn svg{flex-shrink:0;transition:transform .25s}
.btn:hover svg{transform:translateX(3px)}
.btn-lg{padding:18px 40px;font-size:.875rem}
.btn-primary{padding:15px 32px;background:var(--ember);color:#fff;border-radius:3px}
.btn-primary:hover{background:var(--ember-lt);transform:translateY(-2px);box-shadow:0 8px 28px rgba(212,97,31,.4)}
.btn-outline{padding:14px 31px;background:transparent;color:var(--text);border:1.5px solid var(--border-md);border-radius:3px}
.btn-outline:hover{border-color:var(--text-40);background:var(--warm-dim)}
.btn-dark{padding:15px 32px;background:var(--ink);color:var(--text);border-radius:3px}
.btn-dark:hover{background:var(--ink-2)}
.btn-gold{padding:15px 32px;background:var(--gold);color:#fff;border-radius:3px}
.btn-gold:hover{background:var(--amber);transform:translateY(-2px)}
.btn-pulse{animation:pulse-btn 2.5s ease-in-out infinite}
@keyframes pulse-btn{0%,100%{box-shadow:0 0 0 0 rgba(212,97,31,.5)}50%{box-shadow:0 0 0 10px rgba(212,97,31,0)}}

/* Elementor buton widget'ını da aynı dile getir */
.elementor-button{font-family:var(--sans);font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:3px}

/* ── ROZET / BREADCRUMB ─────────────────────────────── */
.badge{display:inline-flex;align-items:center;gap:6px;background:var(--ember);color:#fff;padding:5px 14px;border-radius:100px;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.badge-gold{background:var(--gold)}
.badge-dark{background:var(--ink-3);color:var(--text-70);border:1px solid var(--border)}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(212,97,31,.14);border:1px solid rgba(212,97,31,.3);border-radius:100px;padding:6px 14px;margin-bottom:20px}
.hero-badge-dot{width:5px;height:5px;border-radius:50%;background:var(--ember);animation:hblink 2s ease-in-out infinite}
@keyframes hblink{0%,100%{opacity:1}50%{opacity:.3}}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--muted);margin-bottom:24px;flex-wrap:wrap}
.breadcrumb a{color:var(--muted);transition:color .2s}
.breadcrumb a:hover{color:var(--ember)}
.breadcrumb span{color:var(--text-40)}

/* ── KART ───────────────────────────────────────────── */
.card{background:var(--ink-2);border-radius:12px;border:1px solid var(--border);overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,0,0,.45);border-color:var(--border-em)}
.card-img{aspect-ratio:4/3;overflow:hidden;position:relative}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .card-img img{transform:scale(1.06)}
.card-body{padding:24px}
.card-tag{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ember);margin-bottom:8px;display:block}
.card-title{font-family:var(--serif);font-size:1.375rem;font-weight:400;color:var(--text);margin-bottom:10px;line-height:1.2}
.card-text{font-size:.9rem;font-weight:300;color:var(--text-40);line-height:1.7}
.card-light{background:#fff;border-color:rgba(180,150,100,.15)}
.card-light .card-title{color:var(--text-dark)}
.card-light .card-text{color:#5A4A35}

/* ── PROGRAM SATIRLARI ──────────────────────────────── */
.prog-list{display:flex;flex-direction:column}
.prog-row{display:grid;grid-template-columns:48px 1fr 180px;gap:20px;align-items:center;padding:32px 0;border-bottom:1px solid var(--border);position:relative;transition:padding-left .3s}
.prog-row:first-child{border-top:1px solid var(--border)}
.prog-row::before{content:'';position:absolute;left:-30px;right:-30px;top:0;bottom:0;background:var(--ink-1);opacity:0;transition:opacity .3s;z-index:-1;border-radius:8px}
.prog-row:hover{padding-left:8px}
.prog-row:hover::before{opacity:1}
.prog-num{font-family:var(--serif);font-size:.875rem;font-weight:300;color:var(--muted)}
.prog-age-tag{font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ember);margin-bottom:5px}
.prog-name{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--text);margin-bottom:7px;line-height:1.1}
.prog-desc{font-size:1rem;font-weight:300;color:rgba(240,234,224,.65);line-height:1.72}
.prog-bullets{display:flex;flex-direction:column;gap:7px}
.prog-bullet{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--muted)}
.prog-bullet svg{color:var(--ember);flex-shrink:0}
.prog-price-val{font-family:var(--serif);font-size:1.75rem;font-weight:500;color:var(--text);display:block;line-height:1;text-align:right}
.prog-price-lbl{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-align:right;margin-top:4px;display:block}

/* ── PROGRAM KARTLARI ───────────────────────────────── */
.prog-card{background:var(--ink-2);border:1px solid var(--border);border-radius:12px;padding:32px;display:flex;flex-direction:column;gap:18px;transition:border-color .3s,transform .3s,box-shadow .3s;position:relative;overflow:hidden}
.prog-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--ember)}
.prog-card:hover{border-color:var(--border-em);transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.prog-card-cta{font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ember);display:inline-flex;align-items:center;gap:8px;transition:gap .25s;margin-top:auto;padding-top:4px}
.prog-card-cta:hover{gap:13px}

/* ── AKTİVİTE KARTLARI ──────────────────────────────── */
.activity-card{display:block;background:var(--cream-2);border:1px solid rgba(180,150,100,.2);border-radius:14px;text-align:center;transition:all .3s;overflow:hidden}
.activity-card:hover{border-color:var(--ember);transform:translateY(-4px);box-shadow:0 12px 32px rgba(212,97,31,.12)}
.activity-body{padding:28px 24px}
.activity-title{font-family:var(--serif);font-size:1.25rem;color:var(--text-dark);margin-bottom:10px;font-weight:400}
.activity-desc{font-size:.9rem;color:#6A5A45;line-height:1.72;margin-bottom:14px}
.activity-link{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ember)}

/* ── EKİP KARTLARI ──────────────────────────────────── */
.team-card{text-align:center;transition:transform .3s}
.team-card:hover{transform:translateY(-4px)}
.team-card-img{aspect-ratio:3/4;border-radius:10px;overflow:hidden;margin-bottom:12px;border:2px solid var(--border)}
.team-card-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s}
.team-card:hover .team-card-img img{transform:scale(1.04)}
.team-card-name{font-family:var(--serif);font-size:1rem;font-weight:500;color:var(--text);margin-bottom:3px}
.team-card-role{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ember)}

/* ── REFERANS (TESTIMONIAL) ─────────────────────────── */
.test-card{background:var(--ink-2);border:1px solid var(--border);border-radius:14px;padding:36px;position:relative;transition:transform .3s,box-shadow .3s}
.test-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.4)}
.test-quote{font-family:var(--serif);font-size:4.5rem;color:var(--ember);opacity:.2;line-height:1;position:absolute;top:16px;left:28px}
.test-stars{display:flex;gap:3px;margin-bottom:18px}
.test-stars svg{color:var(--gold);width:14px;height:14px}
.test-body{font-family:var(--serif);font-size:1.0625rem;font-weight:300;line-height:1.82;color:var(--text-70);font-style:italic;margin-bottom:24px}
.test-rule{width:28px;height:1px;background:var(--ember);margin-bottom:14px}
.test-author strong{font-size:.875rem;font-weight:600;color:var(--text);display:block}
.test-author span{font-size:.8rem;font-weight:300;color:var(--muted)}
.test-card-light{background:#fff;border-color:rgba(180,150,100,.15)}
.test-card-light .test-body{color:#5A4A35}
.test-card-light .test-author strong{color:var(--text-dark)}

/* ── ÖZELLİK LİSTESİ ────────────────────────────────── */
.feat-item{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--border);transition:padding-left .3s}
.feat-item:first-child{border-top:1px solid var(--border)}
.feat-item:hover{padding-left:10px}
.feat-ico{flex-shrink:0;width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--ember)}
.feat-title{font-family:var(--serif);font-size:1.05rem;font-weight:500;color:var(--text);margin-bottom:4px}
.feat-desc{font-size:.875rem;font-weight:300;color:var(--text-40);line-height:1.65}
.feat-list-light .feat-item{border-color:rgba(180,150,100,.18)}
.feat-list-light .feat-title{color:var(--text-dark)}
.feat-list-light .feat-desc{color:#6A5A40}

/* ── KAYAN ŞERİT (MARQUEE) ──────────────────────────── */
.hb-marquee{
  overflow:hidden !important; position:relative;
  flex-wrap:nowrap !important; display:block !important;
  padding-left:0 !important; padding-right:0 !important;
}
.hb-marquee .hb-marquee-track{
  display:flex; flex-wrap:nowrap; width:max-content;
  animation:hb-marquee-scroll 60s linear infinite;
}
.hb-marquee:hover .hb-marquee-track{ animation-play-state:paused; }
@keyframes hb-marquee-scroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* Şerit hücreleri: her ekranda tek satır, sabit genişlik */
.hb-marquee > .hb-marquee-track > .e-con{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:210px;
  border-right:1px solid var(--border);
}
@media (max-width:768px){
  .hb-marquee > .hb-marquee-track > .e-con{ min-width:168px; }
}

/* Kenarlarda yumuşak kararma — şerit sonsuz görünsün */
.hb-marquee::before,.hb-marquee::after{
  content:''; position:absolute; top:0; bottom:0; width:90px; z-index:3; pointer-events:none;
}
.hb-marquee::before{ left:0;  background:linear-gradient(90deg, var(--ink-2), rgba(35,28,20,0)); }
.hb-marquee::after { right:0; background:linear-gradient(270deg, var(--ink-2), rgba(35,28,20,0)); }
@media (max-width:600px){ .hb-marquee::before,.hb-marquee::after{ width:44px; } }

.trust-bar{background:var(--ink-2);border-top:1px solid rgba(212,97,31,.2);border-bottom:1px solid rgba(212,97,31,.2)}
.trust-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex-shrink:0;user-select:none}

/* ── FİYAT TABLOSU ──────────────────────────────────── */
.price-table{width:100%;border-collapse:collapse}
.price-table th{font-family:var(--sans);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ember);padding:12px 20px;text-align:left;border-bottom:2px solid var(--ember);background:var(--ink-2)}
.price-table td{padding:16px 20px;border-bottom:1px solid var(--border);font-size:.9375rem;font-weight:300;color:var(--text-70);vertical-align:middle}
.price-table tr:hover td{background:var(--ink-1);color:var(--text)}
.price-table .price-cell{font-family:var(--serif);font-size:1.5rem;font-weight:500;color:var(--amber);text-align:right}

/* ── DERS PROGRAMI TABLOSU ──────────────────────────── */
.schedule-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--border)}
.schedule-table{width:100%;border-collapse:collapse;min-width:700px}
.schedule-table th{background:var(--ember);color:#fff;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;padding:14px 10px;text-align:center;font-weight:600}
.schedule-table td{padding:10px;border:1px solid var(--border);vertical-align:top;font-size:.8rem;text-align:center;color:var(--text-70);transition:background .2s}
.schedule-table td:hover{background:var(--ink-2)}
.schedule-table .class-cell{border-radius:6px;padding:6px;background:var(--ink-3)}
.schedule-table .class-time{font-weight:600;color:var(--amber);font-size:.75rem;display:block}
.schedule-table .class-name{color:var(--text);font-size:.78rem;display:block}
.schedule-table .class-level{color:var(--ember);font-size:.7rem;display:block}

/* ── LOKASYON KARTLARI ──────────────────────────────── */
.location-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.location-card{background:var(--ink-2);border:1px solid var(--border);border-radius:10px;padding:22px;transition:all .25s}
.location-card:hover{border-color:var(--border-em);transform:translateY(-3px)}
.location-name{font-family:var(--serif);font-size:1.125rem;font-weight:400;color:var(--text);margin-bottom:6px}
.location-detail{font-size:.8125rem;font-weight:300;color:var(--muted);display:flex;align-items:center;gap:6px;margin-top:4px}
.location-detail svg{color:var(--ember);flex-shrink:0}

/* ── FORMLAR (CF7 / Ninja Forms / Elementor Form) ───── */
.form-label,.hanabi-form label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--ember);margin-bottom:8px}
.form-input,
.hanabi-form input[type=text],.hanabi-form input[type=email],.hanabi-form input[type=tel],
.hanabi-form select,.hanabi-form textarea,
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 select,.wpcf7 textarea,
.elementor-field-textual{
  width:100%;background:var(--ink-2);border:1.5px solid var(--border-md);border-radius:6px;
  padding:14px 18px;color:var(--text);font-size:.9375rem;font-weight:300;
  transition:border-color .3s,background .3s,box-shadow .3s;outline:none;
}
.form-input:focus,.hanabi-form input:focus,.hanabi-form textarea:focus,.hanabi-form select:focus,
.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus,
.elementor-field-textual:focus{
  border-color:var(--ember);background:var(--ink-3);box-shadow:0 0 0 3px rgba(212,97,31,.12);
}
.form-textarea,.hanabi-form textarea,.wpcf7 textarea{resize:vertical;min-height:130px}
.form-light .form-input{background:#fff;border-color:rgba(180,150,100,.25);color:var(--text-dark)}

/* ── HARİTA ─────────────────────────────────────────── */
.map-frame{border-radius:12px;overflow:hidden;border:1px solid var(--border)}
.map-frame iframe{width:100%;height:380px;display:block;filter:grayscale(.4) contrast(1.1)}

/* ── SCROLL REVEAL ──────────────────────────────────────
   Sadece JS çalışıyorsa gizlenir (.hb-js). Böylece script
   yüklenmezse içerik yine de görünür kalır. */
.hb-js .rv  {opacity:0;transform:translateY(30px)}
.hb-js .rv-l{opacity:0;transform:translateX(-30px)}
.hb-js .rv-r{opacity:0;transform:translateX(30px)}
.hb-js .rv-z{opacity:0;transform:scale(.94)}
.hb-js .rv,.hb-js .rv-l,.hb-js .rv-r,.hb-js .rv-z{
  transition:opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
.hb-js .rv.in,.hb-js .rv-l.in,.hb-js .rv-r.in,.hb-js .rv-z.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
.d4{transition-delay:.32s}.d5{transition-delay:.40s}.d6{transition-delay:.48s}

/* Mobilde yatay kaydırma yaratmasın: yana değil yukarı kaydır */
@media (max-width:1024px){
  .hb-js .rv-l, .hb-js .rv-r{ transform:translateY(26px); }
}

/* ── EKRANIN ÜST YARISI ANİMASYONA BAĞLI OLMASIN ────────
   Hero içeriği .rv sınıflarıyla opacity:0 başlıyor ve JS'in
   IntersectionObserver'ı .in eklemeden görünmüyordu. Yavaş
   bağlantıda ya da script gecikirse ziyaretçi bir an BOŞ bir
   hero görüyor — ilk izlenimi bozan tek şey buydu.

   Çözüm: hero içindeki reveal'lar JS beklemek yerine sayfa
   yüklenirken saf CSS animasyonuyla açılıyor. Hareket aynı,
   ama görünürlük artık hiçbir şeye bağlı değil. */
.hb-js .hb-hero .rv,   .hb-js .hb-pagehero .rv,
.hb-js .hb-hero .rv-l, .hb-js .hb-pagehero .rv-l,
.hb-js .hb-hero .rv-r, .hb-js .hb-pagehero .rv-r,
.hb-js .hb-hero .rv-z, .hb-js .hb-pagehero .rv-z{
  animation:hb-hero-acilis .75s cubic-bezier(.22,.61,.36,1) both;
  transition:none;
}
@keyframes hb-hero-acilis{
  from{ opacity:0; transform:translateY(22px); }
  to  { opacity:1; transform:none; }
}
/* Kademeli gecikmeler animasyon için yeniden tanımlanıyor */
.hb-js .hb-hero .d1,.hb-js .hb-pagehero .d1{animation-delay:.06s}
.hb-js .hb-hero .d2,.hb-js .hb-pagehero .d2{animation-delay:.14s}
.hb-js .hb-hero .d3,.hb-js .hb-pagehero .d3{animation-delay:.22s}
.hb-js .hb-hero .d4,.hb-js .hb-pagehero .d4{animation-delay:.30s}
.hb-js .hb-hero .d5,.hb-js .hb-pagehero .d5{animation-delay:.38s}
.hb-js .hb-hero .d6,.hb-js .hb-pagehero .d6{animation-delay:.46s}

@media (prefers-reduced-motion: reduce){
  .hb-js .rv,.hb-js .rv-l,.hb-js .rv-r,.hb-js .rv-z{opacity:1;transform:none;transition:none}
  .hb-js .hb-hero .rv,.hb-js .hb-pagehero .rv,
  .hb-js .hb-hero .rv-l,.hb-js .hb-pagehero .rv-l,
  .hb-js .hb-hero .rv-r,.hb-js .hb-pagehero .rv-r,
  .hb-js .hb-hero .rv-z,.hb-js .hb-pagehero .rv-z{animation:none;opacity:1;transform:none}
  .trust-ticker,.btn-pulse{animation:none}
}

/* Header CTA mobilde okunabilir kalsın */
@media (max-width:767px){
  .hb-header .elementor-widget-button .elementor-button{ font-size:11px !important; letter-spacing:.06em !important; }
}

/* Elementor giriş animasyonları bu kurulumda takılı kaldığı için
   devre dışı — reveal işini yukarıdaki sistem yapıyor. */
.elementor-invisible{visibility:visible !important;}

/* ── YARDIMCILAR ────────────────────────────────────── */
.img-round{border-radius:12px;overflow:hidden}
.sep{width:100%;height:1px;background:var(--border);margin:40px 0}
.back-top{position:fixed;bottom:28px;right:28px;width:44px !important;height:44px !important;
  padding:0 !important;margin:0;min-width:0;line-height:0;
  background:var(--ember);border:none !important;border-radius:50% !important;
  display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s,transform .3s,background .3s;
  z-index:90;box-shadow:0 6px 20px rgba(212,97,31,.45)}
.back-top svg{display:block}
.back-top.show{opacity:1;visibility:visible}
.back-top:hover{transform:translateY(-3px);background:var(--ember-lt)}
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--ember),var(--gold));z-index:9999;transition:width .1s}

/* ── HERO ───────────────────────────────────────────── */
.hb-hero{ position:relative; overflow:hidden; }

/* Sinematik katman: üstte hafif, altta koyu + kenarlarda vinyet */
.hb-hero::after{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(18,15,11,.55) 0%, rgba(18,15,11,.30) 32%, rgba(18,15,11,.86) 82%, var(--ink) 100%),
    radial-gradient(ellipse 80% 60% at 50% 45%, rgba(18,15,11,0) 0%, rgba(18,15,11,.62) 100%);
}
.hb-hero > .e-con-inner, .hb-hero > .e-con{ position:relative; z-index:2; }

/* Yavaş yakınlaşma — fotoğrafa hayat katar.
   DİKKAT: genişliğe bağlı (104% auto) ölçek yalnızca hero geniş ve
   basıkken alanı kaplar. Dar/uzun mobil hero'da fotoğrafın altında
   boşluk bırakıyordu; bu yüzden 1025px altında yalnızca konum
   animasyonu kullanılıp boyut "cover" da sabit tutuluyor. */
@media (prefers-reduced-motion: no-preference) and (min-width:1025px){
  .hb-hero{ animation: hb-kenburns 26s ease-in-out infinite alternate; }
  @keyframes hb-kenburns{
    from{ background-size:104% auto; background-position:center 48%; }
    to  { background-size:118% auto; background-position:center 54%; }
  }
}
@media (prefers-reduced-motion: no-preference) and (max-width:1024px){
  .hb-hero{ animation: hb-kenburns-mobil 30s ease-in-out infinite alternate; }
  @keyframes hb-kenburns-mobil{
    from{ background-size:cover; background-position:center 42%; }
    to  { background-size:cover; background-position:center 58%; }
  }
}
/* Animasyon kapalıysa da fotoğraf alanı tam kaplasın */
@media (prefers-reduced-motion: reduce){
  .hb-hero{ background-size:cover !important; background-position:center 50% !important; }
}

/* Aşağı kaydır göstergesi */
.hb-scroll-cue{
  position:absolute; left:50%; bottom:26px; transform:translateX(-50%);
  z-index:3; width:24px; height:38px; border:1.5px solid rgba(240,234,224,.35);
  border-radius:14px; pointer-events:none;
}
.hb-scroll-cue::before{
  content:''; position:absolute; left:50%; top:8px; width:3px; height:7px;
  margin-left:-1.5px; border-radius:2px; background:var(--ember);
  animation: hb-cue 1.9s ease-in-out infinite;
}
@keyframes hb-cue{ 0%{opacity:0;transform:translateY(0)} 30%{opacity:1} 70%{opacity:1;transform:translateY(12px)} 100%{opacity:0;transform:translateY(14px)} }

/* ── PROGRAM KARTLARI ───────────────────────────────── */
.hb-narrow{ max-width:580px; margin-left:auto; margin-right:auto; }

.hb-prog-card{
  position:relative; overflow:hidden;
  background:var(--ink-2); border:1px solid var(--border); border-radius:12px;
  transition:transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease, border-color .4s ease;
}
/* Üstte soldan sağa açılan ince vurgu çizgisi */
.hb-prog-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px; z-index:4;
  background:linear-gradient(90deg, var(--ember), var(--gold));
  transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.hb-prog-card:hover::before{ transform:scaleX(1); }
.hb-prog-card:hover{
  transform:translateY(-8px);
  box-shadow:0 26px 60px rgba(0,0,0,.5);
  border-color:var(--border-em);
}
.hb-prog-card .hb-card-img{ overflow:hidden; line-height:0; }
.hb-prog-card .hb-card-img img{
  width:100%; aspect-ratio:4/3; object-fit:cover; display:block;
  transition:transform .8s cubic-bezier(.22,.61,.36,1), filter .5s ease;
  filter:saturate(.92) brightness(.92);
}
.hb-prog-card:hover .hb-card-img img{ transform:scale(1.08); filter:saturate(1.05) brightness(1); }

.hb-card-cta .elementor-button{ gap:8px; transition:gap .28s ease; }
.hb-prog-card:hover .hb-card-cta .elementor-button{ gap:15px; }

/* ── ÖZELLİK KARTLARI ───────────────────────────────── */
.hb-feat{
  transition:transform .4s cubic-bezier(.22,.61,.36,1), border-color .4s ease, background-color .4s ease;
}
.hb-feat:hover{
  transform:translateY(-6px);
  border-color:var(--border-em) !important;
  background-color:#2C2419 !important;
}
.hb-feat .elementor-widget-icon i{ transition:transform .45s cubic-bezier(.34,1.56,.64,1), color .3s ease; }
.hb-feat:hover .elementor-widget-icon i{ transform:translateY(-3px) scale(1.12); color:var(--amber); }

/* ── YORUM KARUSELİ ─────────────────────────────────── */
/* Kart görünümü tema tarafından veriliyor — widget ayarlarına
   bağlı kalmadan her Elementor sürümünde aynı duruyor. */
.hb-testi .elementor-testimonial{
  background:var(--ink-2);
  border:1px solid var(--border);
  border-radius:14px;
  padding:34px 30px 30px;
  height:100%;
}
.hb-testi .swiper-slide{ height:auto; display:flex; }
.hb-testi .elementor-testimonial__content{
  position:relative; transition:transform .4s ease, box-shadow .4s ease, border-color .4s ease;
}
.hb-testi .elementor-testimonial__text{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:1.06rem; line-height:1.8; color:var(--text-70);
}
.hb-testi .elementor-testimonial__name{
  font-family:var(--sans); font-weight:600; font-size:.875rem; color:var(--text);
  display:block; margin-top:18px;
}
.hb-testi .elementor-testimonial__title{
  font-family:var(--sans); font-weight:300; font-size:.72rem; color:var(--muted);
}
.hb-testi .elementor-testimonial:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 44px rgba(0,0,0,.42);
  border-color:var(--border-em);
}
.hb-testi .elementor-testimonial{ transition:transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease, border-color .4s ease; }
/* ALINTI TIRNAĞI — anasayfa yorum karuseli
   Önceki hali iki yönden hatalıydı:
     · top:2px ile metnin ilk satırlarının ÜSTÜNE biniyordu
       (4rem = 64px yüksekliğinde bir glif, metin hemen altında)
     · opacity:.18 ile neredeyse görünmüyordu — süs bile değil,
       kirli bir leke gibi duruyordu
   Yeni hali: metne kendi alanı açılıyor (padding-top), tırnak o
   boşlukta duruyor, çakışma yok. Opaklık okunur seviyeye çekildi
   ve kapanış tırnağı da eklenerek alıntı hissi tamamlandı. */
.hb-testi .elementor-testimonial__content{
  padding-top:38px;
}
.hb-testi .elementor-testimonial__content::before{
  content:'“';
  position:absolute;
  top:-4px;
  left:0;
  font-family:var(--serif);
  font-size:3.4rem;
  line-height:1;
  color:var(--ember-lt);
  opacity:.7;
  pointer-events:none;
}
/* Kapanış tırnağı: metnin bittiği yerde, sağda, daha silik */
.hb-testi .elementor-testimonial__text::after{
  content:'”';
  font-family:var(--serif);
  font-size:1.7rem;
  line-height:0;
  color:var(--ember-lt);
  opacity:.45;
  margin-left:4px;
  vertical-align:-.28em;
}
.hb-testi .swiper-slide:hover .elementor-testimonial__content{
  transform:translateY(-5px);
  box-shadow:0 18px 44px rgba(0,0,0,.42);
  border-color:var(--border-em) !important;
}
.hb-testi .elementor-swiper-button{ color:var(--ember); transition:transform .25s ease; }
.hb-testi .elementor-swiper-button:hover{ transform:scale(1.18); }

/* ── KAPANIŞ CTA ────────────────────────────────────── */
.hb-cta{ position:relative; }
.hb-cta::after{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(ellipse 70% 60% at 50% 50%, rgba(18,15,11,0) 0%, rgba(18,15,11,.55) 100%);
}
.hb-cta > .e-con-inner, .hb-cta > .e-con{ position:relative; z-index:2; }
/* Mobilde sabit arka plan iOS'ta sorun çıkarır */
@media (max-width:1024px){ .hb-cta{ background-attachment:scroll !important; } }

/* ── GALERİ ─────────────────────────────────────────── */
.hb-gallery-sec .e-gallery-item{ border-radius:10px; overflow:hidden; }
.hb-gallery-sec .e-gallery-image{ transition:transform .8s cubic-bezier(.22,.61,.36,1), filter .5s ease; filter:saturate(.9) brightness(.9); }
.hb-gallery-sec .e-gallery-item:hover .e-gallery-image{ transform:scale(1.07); filter:saturate(1.05) brightness(1); }

/* ── YÜZEN İLETİŞİM BUTONU ──────────────────────────────
   "My Sticky Elements" eklentisinin sol kenardaki turuncu
   şeridi, sol alt köşede modern bir yüzen butona çevrildi.
   Eklenti güncellenirse bu blok gözden geçirilmeli. */
.mystickyelements-fixed{
  top:auto !important; bottom:26px !important;
  left:22px !important; right:auto !important;
  width:auto !important; height:auto !important;
  background:transparent !important; box-shadow:none !important;
  z-index:95 !important;
  /* SOL ALT KÖŞE
     Eklenti butonu dikeyde ortalıyordu (top:439px + translateY(-104px)),
     alt kenardan 206px yukarıda kalıyordu. Konum sol alta sabitleniyor. */
  top:auto !important;
  bottom:26px !important;
  transform:none !important;
}
@media (max-width:768px){
  .mystickyelements-fixed{ bottom:20px !important; left:16px !important; }
}

/* Küçültme okunu gizle — yüzen butonda gereksiz */
.mystickyelements-fixed li.mystickyelements-minimize,
.mystickyelements-fixed .mystickyelements-minimize{ display:none !important; }

.mystickyelements-fixed .mystickyelements-lists{
  display:flex !important; flex-direction:column !important;
  gap:12px !important; margin:0 !important; padding:0 !important;
  background:transparent !important;
}
.mystickyelements-fixed .mystickyelements-lists > li{
  width:auto !important; height:auto !important;
  background:transparent !important; border:none !important; margin:0 !important;
  /* Eklenti li'ye padding:74px 0 76px veriyor — kapsayıcı 208px
     yükseliyor ve bottom:26px verilse bile buton alt kenardan
     102px yukarıda kalıyordu. Dolgu sıfırlanıyor. */
  padding:0 !important;
}
.mystickyelements-fixed .mystickyelement-lists-wrap,
.mystickyelements-fixed .mystickyelements-lists{
  padding:0 !important; margin:0 !important;
}

/* Yuvarlak buton — ince bir dış halka ve iç ışık ekleniyor;
   düz renkli daireye göre daha "kurulmuş" duruyor. */
.mystickyelements-fixed .mystickyelements-social-icon{
  position:relative !important;
  width:58px !important; height:58px !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle at 32% 26%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 58%),
    linear-gradient(140deg, var(--ember-lt) 0%, var(--ember) 46%, var(--rust) 100%) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  box-shadow:
    0 14px 34px rgba(212,97,31,.40),
    0 2px 6px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s ease !important;
  cursor:pointer;
}
@media (max-width:768px){
  .mystickyelements-fixed .mystickyelements-social-icon{ width:50px !important; height:50px !important; }
}
/* İkon span'ının içindeki düz "Contact Us" metnini gizle
   (metin düğümü olduğu için ancak font-size ile susturuluyor) */
.mystickyelements-fixed .mystickyelements-social-icon{
  font-size:0 !important; line-height:0 !important; text-indent:0 !important;
  overflow:visible !important;
}
/* İKON: Font Awesome'ın "far fa-envelope" glyph'i bu boyutta ince
   ve dengesiz duruyordu (kapak çizgileri hizasız). Glyph gizlenip
   yerine keskin bir SVG maskesi konuyor — her boyutta net, kalınlığı
   butona uygun ve dikey olarak tam ortalı. */
.mystickyelements-fixed .mystickyelements-social-icon i{
  font-size:0 !important; line-height:0 !important;
  width:26px !important; height:26px !important;
  display:block !important; position:static !important;
  background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='20' height='15' rx='2.8'/%3E%3Cpath d='M4.2 8.2l7.4 5.3a2.4 2.4 0 0 0 2.8 0l7.4-5.3'/%3E%3C/g%3E%3C/svg%3E") no-repeat center center !important;
  background-size:26px 26px !important;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1) !important;
}
.mystickyelements-fixed .mystickyelements-social-icon i::before,
.mystickyelements-fixed .mystickyelements-social-icon i::after{ content:none !important; display:none !important; }

/* ZARFIN TAM ORTALANMASI
   İkonun yanında görünmeyen bir "Contact Us" metin düğümü var
   (font-size:0 ile susturulmuş ama düzende hâlâ bir sliver yer
   kaplıyor). Ölçüm: zarf buton merkezinden 3px sola kaçıyordu.
   Kapalı durumda ikon mutlak konumla matematiksel merkeze
   sabitleniyor; kapsül açıldığında normal akışa dönüyor. */
.mystickyelements-fixed .mystickyelements-lists > li > .mystickyelements-social-icon:not(:hover) i{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
}

/* Etiket ::before ile geldiği için font boyutunu geri ver */
.mystickyelements-fixed .mystickyelements-social-icon::before{ font-size:.72rem !important; }

/* KAPSÜL DAVRANIŞI
   Eklentinin işaretlemesinde ikonun yanında zaten "Contact Us"
   metin düğümü var (font-size:0 ile susturulmuştu). Üzerine
   gelindiğinde daire bir kapsüle açılıp etiketi gösteriyor —
   çıplak bir daireden çok daha anlaşılır ve profesyonel duruyor.
   Metin düğümü olduğu için yalnızca font-size ile kontrol
   edilebiliyor; genişlik geçişi bu yüzden max-width ile yapılıyor. */
.mystickyelements-fixed .mystickyelements-social-icon{
  gap:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  width:58px !important;
  transition:
    width .42s cubic-bezier(.22,.61,.36,1),
    border-radius .42s cubic-bezier(.22,.61,.36,1),
    transform .35s cubic-bezier(.34,1.56,.64,1),
    box-shadow .35s ease,
    font-size .3s ease .06s !important;
}
.mystickyelements-fixed .mystickyelements-social-icon:hover,
.mystickyelements-fixed .mystickyelements-social-icon:focus-visible{
  width:186px !important;
  border-radius:29px !important;
  gap:11px !important;
  padding:0 22px 0 16px !important;
  justify-content:flex-start !important;
  font-size:.8rem !important;
  line-height:1 !important;
  font-family:var(--sans) !important;
  font-weight:600 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
  box-shadow:
    0 18px 42px rgba(212,97,31,.52),
    0 2px 6px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.2) !important;
}
.mystickyelements-fixed .mystickyelements-social-icon:hover i{
  flex:0 0 26px !important;
  transform:translate(1px,-1px) !important;
}
/* Kapsül açılırken nabız halkası dikdörtgene uymadığı için sussun */
.mystickyelements-fixed .mystickyelements-social-icon:hover::after{
  animation:none !important; box-shadow:none !important;
}
/* AÇIK DURUM
   Panel açılınca eklenti butona rotate transform uygulayıp
   border-radius'u sıfırlıyor — buton yamuk bir kareye dönüşüyordu.
   Açıkken sade bir daire olarak kalsın; etiket de gereksiz çünkü
   form zaten görünür durumda. */
.mystickyelements-fixed li.element-contact-active > .mystickyelements-social-icon,
.mystickyelements-fixed li.element-contact-active > .mystickyelements-social-icon:hover,
.mystickyelements-fixed li.element-contact-active a.mystickyelements-social-icon,
.mystickyelements-fixed li.element-contact-active a.mystickyelements-social-icon:hover{
  transform:none !important;
  border-radius:50% !important;
  -webkit-border-radius:50% !important;
  width:58px !important;
  padding:0 !important;
  gap:0 !important;
  font-size:0 !important;
  justify-content:center !important;
  overflow:hidden !important;
}

/* Buton HER durumda daire kalsın — eklenti açık/kapalı durumda
   border-radius'u sıfırlayıp rotate uyguluyor. Yüksek özgüllükle
   sabitleniyor; yalnızca hover kapsülü bunun dışında. */
.mystickyelements-fixed .mystickyelements-lists > li > .mystickyelements-social-icon:not(:hover){
  border-radius:50% !important;
  transform:none !important;
  width:58px !important;
  padding:0 !important;
  font-size:0 !important;
  justify-content:center !important;
}

/* PANEL KONUMU
   Panel yukarı doğru açılıyordu ve header'ın üstüne binip logoyla
   çakışıyordu (top:-290px, y=46'da başlıyordu). Header 100px
   civarında bittiği için panel yüksekliği sınırlanıyor ve
   gerekirse kendi içinde kayıyor. */
.mystickyelements-fixed .element-contact-form{
  max-height:calc(100vh - 190px) !important;
  overflow-y:auto !important;
  border-radius:14px !important;
  box-shadow:0 28px 70px rgba(0,0,0,.55) !important;
  border:1px solid var(--border) !important;
}
@media (max-width:768px){
  .mystickyelements-fixed .element-contact-form{
    max-height:calc(100dvh - 150px) !important;
  }
}
/* Açıkken zarf yerine kapatma anlamı taşıyan çarpı daha net */
.mystickyelements-fixed li.element-contact-active .mystickyelements-social-icon i{
  background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8 8l10 10M18 8L8 18'/%3E%3C/g%3E%3C/svg%3E") no-repeat center center !important;
  background-size:22px 22px !important;
  transform:none !important;
}

/* Dokunmatik cihazda hover yok — daire kalsın, gereksiz genişlemesin */
@media (hover:none){
  .mystickyelements-fixed .mystickyelements-social-icon{ width:52px !important; }
  .mystickyelements-fixed .mystickyelements-social-icon:hover{
    width:52px !important; border-radius:50% !important;
    padding:0 !important; gap:0 !important; font-size:0 !important;
    justify-content:center !important;
  }
}

/* Dikkat çeken sakin nabız halkası */
.mystickyelements-fixed .mystickyelements-social-icon::after{
  content:''; position:absolute; inset:0; border-radius:50%;
  box-shadow:0 0 0 0 rgba(212,97,31,.55);
  animation:hb-fab-pulse 3.2s ease-out infinite; pointer-events:none;
}
@keyframes hb-fab-pulse{
  0%{ box-shadow:0 0 0 0 rgba(212,97,31,.5) }
  70%{ box-shadow:0 0 0 16px rgba(212,97,31,0) }
  100%{ box-shadow:0 0 0 0 rgba(212,97,31,0) }
}
@media (prefers-reduced-motion: reduce){
  .mystickyelements-fixed .mystickyelements-social-icon::after{ animation:none }
}

/* Eklentinin dikey "Contact Us" yazısı (::before ile geliyor)
   yatay bir etikete çevrildi, hover'da yandan açılıyor */
.mystickyelements-fixed .mystickyelements-social-text{ display:none !important; }

.mystickyelements-fixed .mystickyelements-social-icon::before{
  position:absolute !important;
  left:calc(100% + 12px) !important; right:auto !important;
  top:50% !important; bottom:auto !important;
  width:auto !important; height:auto !important;
  transform:translateY(-50%) translateX(-8px) !important;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  background:var(--ink-1) !important; color:var(--text) !important;
  font-family:var(--sans) !important; font-size:.72rem !important; font-weight:600 !important;
  letter-spacing:.14em !important; text-transform:uppercase !important;
  white-space:nowrap !important; line-height:1 !important;
  padding:10px 15px !important; margin:0 !important;
  border-radius:6px !important; border:1px solid var(--border-md) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.45) !important;
  opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
  transition:opacity .28s ease, transform .28s ease, visibility .28s !important;
}
.mystickyelements-fixed .mystickyelements-contact-form:hover .mystickyelements-social-icon::before{
  opacity:1 !important; visibility:visible !important;
  transform:translateY(-50%) translateX(0) !important;
}
@media (max-width:768px){
  .mystickyelements-fixed .mystickyelements-social-icon::before{ display:none !important; }
}

/* İletişim formu paneli — koyu tema */
.mystickyelements-fixed .element-contact-form{
  left:calc(100% + 14px) !important; right:auto !important;
  bottom:0 !important; top:auto !important;
  width:min(380px, calc(100vw - 60px)) !important;
  background:var(--ink-1) !important;
  border:1px solid var(--border-md) !important;
  border-radius:14px !important;
  box-shadow:0 30px 70px rgba(0,0,0,.6) !important;
  overflow:hidden !important;
}
@media (max-width:768px){
  .mystickyelements-fixed .element-contact-form{
    left:0 !important; bottom:calc(100% + 12px) !important;
    width:calc(100vw - 32px) !important;
  }
}
.mystickyelements-fixed .contact-form-heading{
  background:linear-gradient(135deg, var(--ember), var(--rust)) !important;
  color:#fff !important; font-family:var(--sans) !important;
  font-size:.78rem !important; font-weight:600 !important;
  letter-spacing:.14em !important; text-transform:uppercase !important;
  padding:16px 20px !important;
}
.mystickyelements-fixed .element-contact-close{ color:#fff !important; opacity:.85; transition:transform .25s, opacity .25s; }
.mystickyelements-fixed .element-contact-close:hover{ opacity:1; transform:rotate(90deg); }
.mystickyelements-fixed .stickyelements-form{ padding:20px !important; background:var(--ink-1) !important; }
.mystickyelements-fixed .stickyelements-form input,
.mystickyelements-fixed .stickyelements-form textarea{
  background:var(--ink-2) !important;
  border:1.5px solid var(--border-md) !important;
  border-radius:6px !important;
  color:var(--text) !important;
  font-family:var(--sans) !important; font-size:.9rem !important; font-weight:300 !important;
  padding:12px 15px !important; margin-bottom:12px !important;
  transition:border-color .3s, box-shadow .3s, background .3s !important;
}
.mystickyelements-fixed .stickyelements-form input:focus,
.mystickyelements-fixed .stickyelements-form textarea:focus{
  border-color:var(--ember) !important; background:var(--ink-3) !important;
  box-shadow:0 0 0 3px rgba(212,97,31,.14) !important; outline:none !important;
}
.mystickyelements-fixed .stickyelements-form input::placeholder,
.mystickyelements-fixed .stickyelements-form textarea::placeholder{ color:var(--muted) !important; }
.mystickyelements-fixed .stickyelements-form input[type=submit],
.mystickyelements-fixed .stickyelements-form button[type=submit]{
  background:var(--ember) !important; color:#fff !important;
  border:none !important; border-radius:3px !important;
  font-weight:600 !important; letter-spacing:.1em !important; text-transform:uppercase !important;
  font-size:.8rem !important; padding:14px 26px !important; width:100% !important;
  cursor:pointer; transition:background .25s, transform .25s !important;
}
.mystickyelements-fixed .stickyelements-form input[type=submit]:hover,
.mystickyelements-fixed .stickyelements-form button[type=submit]:hover{
  background:var(--ember-lt) !important; transform:translateY(-2px);
}

/* Yukarı çık butonu ile çakışmasın */
.back-top{ right:26px; }

/* ── ERİŞİLEBİLİRLİK: KLAVYE ODAK GÖSTERGESİ ────────────
   Ölçümde 40 odaklanabilir öğeden 9'unda (menü linkleri dahil)
   görünür odak göstergesi yoktu — klavyeyle gezen biri nerede
   olduğunu göremiyor. :focus-visible kullanılıyor: fare ile
   tıklayanda halka çıkmaz, yalnızca klavye/erişilebilirlik
   teknolojisi kullanımında görünür. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.elementor-button:focus-visible,
.elementor-item:focus-visible{
  outline:2px solid var(--amber) !important;
  outline-offset:3px !important;
  border-radius:3px;
}
/* Koyu zeminde amber halka yeterli; açık zeminli kartlarda
   (ZenPlanner portalı, krem bölümler) koyu halka daha okunur. */
.hb-zen a:focus-visible,
.hb-zen button:focus-visible,
.hb-zen input:focus-visible,
.hb-zen select:focus-visible,
.sec-light a:focus-visible,
.sec-light button:focus-visible{
  outline-color:var(--ink) !important;
}
/* Form alanlarında odak ayrıca kenarlıkla da belli olsun */
.elementor-field-textual:focus-visible{
  border-color:var(--amber) !important;
}

/* ── ERİŞİLEBİLİRLİK: KONTRAST DÜZELTMELERİ ─────────────
   Ölçüm sonucu 28 metin öğesi WCAG AA sınırının altındaydı.
   İki sistematik sebep vardı ve ikisi de burada çözülüyor.

   1) Beyaz metin + turuncu zemin = 3.80 (gereken 4.5).
      Sitenin tüm birincil butonları bundan etkileniyordu.
      Zemin bir tık koyulaştırıldı: gözle neredeyse ayırt
      edilemiyor, kontrast 4.97'ye çıkıyor. */
/* Dolu butonların zemini Elementor kit ayarından düzeltildi
   (inc/kit-kontrast.php): #D4611F → #B85115, hover #9C3A12.
   Burada sadece temanın kendi bileşenleri hizalanıyor. */
.btn-primary,
.badge,
.schedule-table th,
.sec-amber{
  background-color:var(--ember-btn);
}
.btn-primary:hover{ background-color:var(--rust); }

/* Çerçeveli butonların turuncu metni koyu kart üzerinde 4.43 idi;
   bir ton açık turuncu ile 6.18 oluyor. */
.hb-prog-card .elementor-button .elementor-button-text,
.hb-prog-card .elementor-button .elementor-button-icon,
.activity-card .elementor-button .elementor-button-text{
  color:var(--ember-txt) !important;
}

/*  3) Yorum kartlarındaki künye metni --warm-mid (#7A6A55) ile
       yazılmıştı: koyu kart üzerinde 2.66. Okunması gerçekten zor.
       #9C8C74 ile 5.14 oluyor, aynı sessiz tonu koruyor. */
.elementor-testimonial__title,
.elementor-testimonial__name + .elementor-testimonial__title,
.test-meta,
.hb-muted{
  color:var(--meta-txt) !important;
}

/*  4) Footer'daki tanıtım metni, telif satırı ve adres de aynı
       --warm-mid tonundaydı: footer zemininde (#1B1610) 2.79.
       Footer metni küçük ve çok okunan bir yer, düzeltiliyor. */
.hb-footer .elementor-widget-text-editor,
.hb-footer .elementor-widget-text-editor p,
.hb-footer .elementor-widget-heading + .elementor-widget-text-editor p,
.site-footer .elementor-widget-text-editor p,
/* Footer alt şeridi (telif + adres) ayrı bir container'da ve
   rengi #6A5E4A olarak öğe bazında verilmiş: 2.83 */
.elementor-location-footer .hb-footer-bottom .elementor-widget-text-editor p,
.hb-footer-bottom p{
  color:var(--meta-txt) !important;
}

/*  5) Testimonials sayfasındaki "Google review · 7 months ago"
       künyeleri heading widget'ı olarak kurulmuş ve rengi
       #6A5E4A: 2.83. Yorum kartlarının künye satırları. */
.hb-test-card .elementor-widget-heading .elementor-heading-title,
.hb-testimonial-meta .elementor-heading-title,
/* Testimonials sayfası: künyeler .hb-review kartları içinde
   heading widget'ı olarak duruyor (#6A5E4A → 2.83). Kart
   içindeki ilk büyük başlık değil, küçük künye satırı. */
.hb-review .elementor-widget-heading .elementor-heading-title{
  color:var(--meta-txt) !important;
}
/* Kartın asıl adı/başlığı sessiz tona kaymasın */
.hb-review .elementor-widget-heading:first-child .elementor-heading-title{
  color:var(--text) !important;
}

/* Register Here yardım bloğundaki bağlantılar: kit'in link rengi
   (--ember) koyu kartta 4.43. Bir ton açığa alınıyor. */
.hb-zen-yardim a,
.hb-zen-yardim .elementor-widget-text-editor a{
  color:var(--ember-txt) !important;
}

/*  6) Kalan iki nokta:
       About sayfasındaki "6th/7th Degree Black Belt" künyeleri
       .hb-feat kartlarında turuncu (4.43), ve Team sayfasındaki
       "season fee" ek bilgisi --warm-mid tonunda (2.66). */
.hb-feat .elementor-widget-heading .elementor-heading-title{
  color:var(--ember-txt) !important;
}
.hb-plan-price .elementor-heading-title span{
  color:var(--meta-txt) !important;
}

/*  2) Koyu kart zemini üzerinde küçük turuncu metin = 4.43.
       Sınırın hemen altı. Bir ton açık turuncuya çevriliyor
       (6.18). 18px altındaki tüm etiket/eyebrow metinleri. */
.eyebrow,
.card-tag,
.prog-age-tag,
.activity-link,
.team-card-role,
.prog-card-cta,
.price-table th,
.hb-zen-yardim a{
  color:var(--ember-txt);
}
/* Elementor'un kendi ürettiği küçük turuncu başlıklar
   (kart üstü yaş etiketleri gibi) — üretilen CSS daha
   yüksek özgüllükte olduğu için !important gerekiyor. */
.card .elementor-widget-heading .elementor-heading-title[style*="D4611F"],
.hb-prog-card .elementor-widget-heading .elementor-heading-title{
  color:var(--ember-txt) !important;
}

/* ── ZEN PLANNER KAYIT GÖMÜLÜSÜ ─────────────────────────
   Üçüncü taraf portal açık zeminli geliyor; koyu temanın
   üstünde yamalı durmasın diye kasıtlı bir kart içine
   alınıyor. Portalın kendi HTML'ine dokunulmuyor. */
.hb-zen > .e-con-inner{
  background:var(--cream);
  border:1px solid rgba(18,15,11,.12);
  border-radius:14px;
  padding:26px 24px;
  box-shadow:0 26px 60px rgba(0,0,0,.4);
}
/* Portal içindeki metin koyu zemin için değil açık zemin için */
.hb-zen, .hb-zen *{ color:var(--ink) !important; }
.hb-zen a{ color:var(--ember) !important; }
.hb-zen input, .hb-zen select, .hb-zen textarea{
  font-family:var(--sans) !important;
  border-radius:8px !important;
}
.hb-zen button, .hb-zen input[type="submit"]{
  font-family:var(--sans) !important; font-weight:600 !important;
  letter-spacing:.02em; border-radius:8px !important;
}
@media (max-width:600px){
  .hb-zen > .e-con-inner{ padding:18px 14px; border-radius:12px; }
}

/* Portal yüklenmezse gösterilen yardım bloğu */
.hb-zen-yardim > .e-con-inner{
  max-width:760px; margin-inline:auto;
  border-left:3px solid var(--ember);
  background:var(--ink-2);
  border-radius:0 12px 12px 0;
  padding:26px 28px;
}
.hb-zen-yardim .elementor-heading-title{
  font-family:var(--serif) !important;
  font-size:1.32rem !important; color:var(--text) !important;
  margin-bottom:10px;
}
.hb-zen-yardim p{ color:var(--text-70) !important; margin-bottom:12px; }
.hb-zen-yardim p:last-child{ margin-bottom:0; }
.hb-zen-yardim a{ color:var(--ember) !important; }

/* ── HONEYPOT ───────────────────────────────────────────
   Spam botları için görünmez tuzak alan. Ekran okuyucudan da
   gizlenmesi gerekiyor ki gerçek kullanıcı yanlışlıkla doldurmasın;
   bu yüzden display:none yerine ekran dışına alıp aria ile değil
   doğrudan görünürlükten çıkarıyoruz (bazı botlar display:none
   alanları atlıyor, ekran dışını atlamıyor). */
/* DİKKAT: Yalnızca input'u ekran dışına almak yetmiyor — Elementor
   alanın ETİKETİNİ ayrı bir <label> olarak basıyor ve o etiket akışta
   kalıyordu. Ziyaretçi formun altında "Leave this field empty" yazısını
   görüyordu. Bu yüzden alanın tüm sarmalayıcısı (field-group) ekran
   dışına alınıyor; input'un kendi kuralı da yedek olarak duruyor. */
.hb-hp,
.elementor-field-group-hp{
  position:absolute !important;
  left:-9999px !important;
  top:auto !important;
  width:1px !important; height:1px !important;
  padding:0 !important; margin:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* ── İÇ SAYFA HERO ──────────────────────────────────── */
.hb-pagehero{ position:relative; overflow:hidden; }
.hb-pagehero::after{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    /* Metin bandı için yumuşak perde — açık renkli gi'ler üzerinde
       başlığın okunurluğunu garantiler, fotoğrafın kenarlarını
       karartmadan sadece ortayı hafifçe bastırır. */
    radial-gradient(ellipse 58% 46% at 50% 52%, rgba(18,15,11,.5) 0%, rgba(18,15,11,.26) 60%, rgba(18,15,11,0) 100%),
    linear-gradient(180deg, rgba(18,15,11,.5) 0%, rgba(18,15,11,.3) 40%, var(--ink) 100%),
    radial-gradient(ellipse 80% 70% at 50% 45%, rgba(18,15,11,0) 0%, rgba(18,15,11,.55) 100%);
}
.hb-pagehero > .e-con-inner, .hb-pagehero > .e-con{ position:relative; z-index:2; }

/* ── ARŞİV GÖRSELLERİ ───────────────────────────────── */
.hb-archive{ overflow:hidden; border-radius:12px; border:1px solid var(--border); }
.hb-archive img{
  width:100%; display:block; aspect-ratio:3/4; object-fit:cover; object-position:top;
  transition:transform .8s cubic-bezier(.22,.61,.36,1), filter .5s ease;
  filter:sepia(.15) saturate(.85) brightness(.9);
}
.hb-archive:hover img{ transform:scale(1.05); filter:sepia(0) saturate(1) brightness(1); }

/* ── ZAMAN ÇİZELGESİ ────────────────────────────────── */
.hb-timeline{ position:relative; width:100%; }
.hb-tl-row{ position:relative; border-bottom:1px solid var(--border); transition:padding-left .35s ease; }
.hb-tl-row:first-child{ border-top:1px solid var(--border); }
.hb-tl-row::before{
  content:''; position:absolute; left:-30px; right:-30px; top:0; bottom:0;
  background:var(--ink-2); opacity:0; transition:opacity .35s ease; z-index:-1; border-radius:10px;
}
.hb-tl-row:hover{ padding-left:10px !important; }
.hb-tl-row:hover::before{ opacity:1; }
@media (max-width:768px){
  .hb-tl-row:hover{ padding-left:0 !important; }
}

/* ── KANJI KARTLARI ─────────────────────────────────── */
.hb-kanji-card{ position:relative; overflow:hidden; }
.hb-kanji-card::after{
  content:''; position:absolute; right:-30px; bottom:-30px; width:150px; height:150px;
  border-radius:50%; background:radial-gradient(circle, rgba(212,97,31,.14), transparent 70%);
  opacity:0; transition:opacity .5s ease, transform .6s ease; transform:scale(.7);
}
.hb-kanji-card:hover::after{ opacity:1; transform:scale(1); }
.hb-kanji .elementor-heading-title{
  display:inline-block;
  transition:transform .5s cubic-bezier(.34,1.56,.64,1), color .35s ease;
}
.hb-kanji-card:hover .hb-kanji .elementor-heading-title{
  transform:translateY(-4px) scale(1.06); color:var(--amber);
}

/* ── KUŞAK LİSTESİ ──────────────────────────────────── */
.hb-belts{ width:100%; }
.hb-belt-row{
  border-bottom:1px solid var(--border);
  transition:padding-left .35s ease, background-color .35s ease;
  border-radius:8px;
}
.hb-belt-row:first-child{ border-top:1px solid var(--border); }
.hb-belt-row:hover{ padding-left:18px !important; background-color:var(--ink-2); }
.hb-belt-swatch .elementor-divider-separator{
  border-radius:5px !important;
  box-shadow:0 2px 10px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.28);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.hb-belt-row:hover .hb-belt-swatch .elementor-divider-separator{ transform:scaleX(1.12); }
.hb-belt-swatch .elementor-divider{ padding:0 !important; }

/* ── FİYAT ROZETLERİ ────────────────────────────────── */
.hb-price-chip{
  transition:transform .35s cubic-bezier(.34,1.56,.64,1), border-color .35s ease, box-shadow .35s ease;
}
.hb-price-chip:hover{
  transform:translateY(-4px);
  border-color:var(--ember) !important;
  box-shadow:0 12px 28px rgba(212,97,31,.22);
}

/* ── GÜN KARTLARI (ders programı) ───────────────────── */
.hb-day-card{
  transition:transform .4s cubic-bezier(.22,.61,.36,1), border-color .4s ease, box-shadow .4s ease;
}
.hb-day-card:hover{
  transform:translateY(-6px);
  border-color:var(--border-em) !important;
  box-shadow:0 22px 50px rgba(0,0,0,.45);
}
.hb-slot{ transition:background-color .3s ease, padding-left .3s ease; border-radius:0 6px 6px 0; }
.hb-slot:hover{ background-color:rgba(212,97,31,.09); padding-left:18px !important; }

/* Ders anahtarı */
.hb-key{ transition:transform .3s ease, background-color .3s ease; }
.hb-key:hover{ transform:translateX(4px); background-color:#2C2419 !important; }

/* Program görselini tam göster (kırpma yok) */
.hb-archive.elementor-widget-image img,
.elementor-widget-image.hb-archive img{ aspect-ratio:auto; object-fit:contain; }

/* ── FİYAT PLANLARI ─────────────────────────────────── */
.hb-plan{
  position:relative; overflow:hidden;
  transition:transform .4s cubic-bezier(.22,.61,.36,1), border-color .4s ease, box-shadow .4s ease;
}
.hb-plan::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px; z-index:3;
  background:linear-gradient(90deg, var(--ember), var(--gold));
  transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.hb-plan:hover::before{ transform:scaleX(1); }
.hb-plan:hover{
  transform:translateY(-8px);
  border-color:var(--border-em) !important;
  box-shadow:0 26px 56px rgba(0,0,0,.5);
}
.hb-plan-featured::before{ transform:scaleX(1); }
.hb-plan-featured{ box-shadow:0 18px 44px rgba(212,97,31,.14); }
.hb-plan-price span{ font-family:var(--sans); font-size:.9rem; font-weight:400; color:var(--muted); letter-spacing:.06em; }

/* ── KAMP SEANSLARI ─────────────────────────────────── */
.hb-sessions{ width:100%; }
.hb-session-row{
  position:relative; border-bottom:1px solid var(--border); border-radius:8px;
  transition:padding-left .35s ease, background-color .35s ease;
}
.hb-session-row:first-child{ border-top:1px solid var(--border); }
.hb-session-row:hover{ padding-left:22px !important; background-color:var(--ink-2); }
.hb-session-row::before{
  content:''; position:absolute; left:0; top:12%; bottom:12%; width:2px;
  background:linear-gradient(180deg, var(--ember), var(--gold));
  transform:scaleY(0); transform-origin:top; transition:transform .4s ease;
}
.hb-session-row:hover::before{ transform:scaleY(1); }
@media (max-width:768px){
  .hb-session-row:hover{ padding-left:14px !important; }
}

/* ── TAKVİM SAYFASI ─────────────────────────────────────
   Sayfa 12 aylık gerçek etkinlik verisi içeriyor ve eski
   Elementor bölümleriyle kurulu. Veriye dokunmadan yeni
   tasarım diline uyduruluyor. */
.page-id-4466 .elementor-section:not(.hb-pagehero){
  background-color:transparent !important;
}
/* Ay başlıkları */
.page-id-4466 h1,.page-id-4466 h2,.page-id-4466 h3,
.page-id-4466 .elementor-heading-title{
  font-family:var(--serif) !important;
  color:var(--text) !important;
  font-weight:400 !important;
  letter-spacing:.01em;
}
.page-id-4466 .hb-pagehero .elementor-heading-title{ color:#FFF !important; }
/* Ay başlığı satırları (büyük harf yazılmış olanlar) */
.page-id-4466 .elementor-widget-heading .elementor-heading-title{
  position:relative;
}
/* Tablo benzeri satırlar */
.page-id-4466 .elementor-widget-text-editor,
.page-id-4466 .elementor-widget-text-editor p{
  font-family:var(--sans) !important;
  font-weight:300 !important;
  color:var(--text-70) !important;
  font-size:.95rem !important;
  line-height:1.7 !important;
}
.page-id-4466 .elementor-widget-text-editor strong{ color:var(--text) !important; font-weight:600 !important; }
/* Kayıt bağlantıları buton gibi görünsün */
.page-id-4466 a:not(.elementor-button){
  color:var(--ember) !important;
  text-decoration:none;
  border-bottom:1px solid rgba(212,97,31,.35);
  transition:color .25s ease, border-color .25s ease;
}
.page-id-4466 a:not(.elementor-button):hover{
  color:var(--ember-lt) !important; border-bottom-color:var(--ember-lt);
}
/* Satırlara okunabilir ayrım ver */
.page-id-4466 .elementor-inner-section,
.page-id-4466 .elementor-section .elementor-row{
  border-bottom:1px solid var(--border);
  transition:background-color .3s ease;
}
.page-id-4466 .elementor-inner-section:hover{ background-color:var(--ink-2); }
.page-id-4466 .elementor-column{ padding:6px 10px; }

/* ── FONT AWESOME 6 → 5 EŞLEMESİ ────────────────────────
   Sitede Font Awesome 5.15 yüklü. Bazı ikonlar FA6 adıyla
   kullanıldığı için boş görünüyordu; burada FA5 karşılıkları
   eşleniyor. FA6'ya geçilirse bu blok silinebilir. */
.fas.fa-shirt::before          { content:"\f553"; } /* tshirt */
.fas.fa-bottle-water::before   { content:"\f043"; } /* tint */
.fas.fa-shield-heart::before   { content:"\f3ed"; } /* shield-alt */
.fas.fa-arrow-trend-up::before { content:"\f201"; } /* chart-line */
.fas.fa-people-group::before   { content:"\f0c0"; } /* users */
.fas.fa-hand-fist::before      { content:"\f6de"; } /* fist-raised */
.fas.fa-bowl-food::before      { content:"\f2e7"; } /* utensils */
.fas.fa-van-shuttle::before    { content:"\f5b6"; } /* shuttle-van */
.fas.fa-pen-ruler::before      { content:"\f5ae"; } /* pencil-ruler */
.fas.fa-person-walking::before { content:"\f554"; } /* walking */
.fas.fa-torii-gate::before     { content:"\f6a1"; }
.fas.fa-user-graduate::before  { content:"\f501"; }

/* ── FORMLAR (Elementor Form) ───────────────────────── */
.hb-form .elementor-field-group{ margin-bottom:6px; }
.hb-form .elementor-field-textual{
  transition:border-color .3s ease, box-shadow .3s ease, background-color .3s ease;
}
.hb-form .elementor-field-textual:focus{
  border-color:var(--ember) !important;
  background-color:var(--ink-3) !important;
  box-shadow:0 0 0 3px rgba(212,97,31,.14) !important;
  outline:none;
}
.hb-form .elementor-field-textual::placeholder{ color:var(--muted); }
.hb-form select.elementor-field-textual{ color:var(--text); }
.hb-form select.elementor-field-textual option{ background:var(--ink-1); color:var(--text); }
.hb-form .elementor-button{
  transition:background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.hb-form .elementor-button:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(212,97,31,.35);
}
.hb-map iframe{ border-radius:0; display:block; }

/* ── YORUM KARTLARI (Testimonials sayfası) ──────────── */
.hb-review{
  position:relative; overflow:hidden;
  transition:transform .4s cubic-bezier(.22,.61,.36,1), border-color .4s ease, box-shadow .4s ease;
}
/* ALINTI TIRNAĞI
   Önceki hali: top:-6px ile kartın üst kenarından taşıyordu ve
   kartta overflow:hidden olduğu için tırnak KESİLİYORDU — yarım
   bir işaret olarak görünüyordu. Ayrıca 5rem boyutta yıldız
   sırasının üstüne biniyordu.
   Yeni hali: tamamen kartın içinde, sağ üstte, yıldızlarla
   çakışmayacak boyutta ve metnin arkasında kalacak katmanda. */
.hb-review::before{
  content:'“';
  position:absolute;
  top:2px;
  right:22px;
  font-family:var(--serif);
  font-size:3.2rem;
  line-height:1;
  color:var(--ember-lt);
  /* Karusel kartlarıyla aynı okunur seviye — 0.16 görünmüyordu */
  opacity:.55;
  pointer-events:none;
  z-index:0;
}
/* Kart içeriği tırnağın önünde dursun */
.hb-review > *{ position:relative; z-index:1; }

/* ── METİNLİ GRAFİKLERDE ZOOM YOK ───────────────────────
   Program tablosu bir GÖRSEL (schedule-only-june2026.webp) ve
   .hb-archive sınıfını taşıyor. O sınıfın hover zoom'u arşiv
   FOTOĞRAFLARI için yazılmıştı; metin içeren bir grafikte
   büyütme yazıyı bulanıklaştırıyor ve okunmaz hale getiriyor.
   Böyle görsellerde hareket yerine okunurluğu artıran bir
   çerçeve + hafif aydınlatma kullanılıyor.

   .hb-doc sınıfı ileride başka belge/tablo görselleri için de
   kullanılabilir. */
body.page-id-4161 .hb-archive img,
.hb-doc img,
.hb-schedule-img img{
  transform:none !important;
  filter:none !important;
  transition:filter .3s ease, box-shadow .3s ease !important;
}
body.page-id-4161 .hb-archive:hover img,
.hb-doc:hover img,
.hb-schedule-img:hover img{
  transform:none !important;
  filter:brightness(1.06) !important;
}
body.page-id-4161 .hb-archive,
.hb-doc,
.hb-schedule-img{
  background:var(--cream);
  padding:10px;
  border-radius:10px;
  border:1px solid rgba(18,15,11,.14);
  box-shadow:0 18px 44px rgba(0,0,0,.38);
}
body.page-id-4161 .hb-archive:hover,
.hb-doc:hover{
  box-shadow:0 24px 56px rgba(0,0,0,.5);
}
/* Küçük ekranda tablo görseli okunabilsin: yatay kaydırma ile
   tam boyutunda gösterilir, sıkıştırılıp okunmaz hale gelmez. */
@media (max-width:768px){
  body.page-id-4161 .hb-archive,
  .hb-doc{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding:8px;
  }
  body.page-id-4161 .hb-archive img,
  .hb-doc img{
    min-width:660px;
    width:660px;
    max-width:none !important;
  }
}

/* ── TABLO VE PROGRAM BLOKLARINDA ÖLÇEK EFEKTİ YOK ──────
   Efektler her yerde iyi değil: saat/fiyat gibi okunması gereken
   veride büyüme hareketi metni bulanıklaştırıyor ve hizayı
   kaydırıyor. Bu bağlamlarda ölçek/kaydırma efektleri kapatılıyor;
   yerine okunurluğu ARTIRAN sade bir satır vurgusu var. */
.schedule-table:hover, .schedule-table *:hover,
.price-table:hover, .price-table *:hover,
.hb-day-card:hover, .hb-day-card *:hover,
.hb-schedule:hover, .hb-schedule *:hover,
.hb-price-plan:hover .elementor-widget-text-editor,
table:hover, table *:hover{
  transform:none !important;
}
/* Tablo/program bloklarının içindeki butonlar efektini korusun */
.schedule-table .elementor-button:hover,
.price-table .elementor-button:hover,
.hb-day-card .elementor-button:hover,
.hb-schedule .elementor-button:hover{
  transform:translateY(-2px) !important;
}
/* Satır vurgusu: hareket yok, yalnızca zemin ve sol kenar */
.schedule-table tr:hover td,
.price-table tr:hover td{
  background:var(--ink-1) !important;
  color:var(--text) !important;
}
/* Gün kartlarında saat satırı üzerine gelince sol çizgi belirsin */
.hb-day-card .hb-slot:hover,
.hb-schedule .hb-slot:hover{
  background:rgba(240,168,46,.06);
  border-left-color:var(--amber);
}

/* ── KARUSEL NOKTA GÖSTERGELERİ ─────────────────────────
   Noktalar Swiper'ın varsayılanıyla position:absolute; bottom:5px
   olarak duruyordu. Sonuç kaba göre değişiyordu:
     · anasayfada görselin 31px ÜSTÜNE biniyordu
     · Judo Classes'ta kap uzun olduğu için görselden çok
       aşağıda, boşlukta kalıyordu
   Noktalar normal akışa alınıyor: her zaman görselin hemen
   altında, sabit boşlukla. */
.elementor-widget-image-carousel .swiper-pagination,
.elementor-widget-media-carousel .swiper-pagination,
.elementor-widget-image-carousel .swiper-pagination-bullets{
  position:static !important;
  bottom:auto !important;
  margin-top:16px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:8px !important;
  line-height:1 !important;
}
/* İKİ KOLONLU GÖRSEL BÖLÜMLERİNDE ÜSTTEN HİZA
   Bu bölümlerde metin kolonu (.rv-l) görsel kolonundan (.rv-r) daha
   kısa oluyor. align-items:center ile kısa metin, uzun görselin
   ortasında havada kalıyordu — Prices'ta 164px kayma ölçtük.
   Üstten hizalandığında başlık görselin üst kenarıyla aynı çizgide
   başlıyor ve bölüm derli toplu duruyor. */
/* DİKKAT: esnek kap .e-con değil, içindeki .e-con-inner. Ayrıca
   hizalama Elementor'un --align-items değişkeninden geliyor, o
   yüzden değişkenin kendisi de ezilmeli. */
.e-con-inner:has(> .rv-l):has(> .rv-r),
.e-con:has(> .rv-l):has(> .rv-r){
  --align-items:flex-start;
  align-items:flex-start !important;
}
/* Metin kolonuna küçük bir üst nefes — görselin yuvarlatılmış
   köşesiyle optik hizayı tutturuyor */
.e-con-inner:has(> .rv-r) > .rv-l{
  padding-top:4px;
}
@media (max-width:1024px){
  /* Tek kolona düşünce hiza kuralı gereksiz */
  .e-con-inner:has(> .rv-l):has(> .rv-r),
  .e-con:has(> .rv-l):has(> .rv-r){
    --align-items:stretch;
    align-items:stretch !important;
  }
  .e-con-inner:has(> .rv-r) > .rv-l{ padding-top:0; }
}

/* KARUSEL SLAYT ORANI
   Swiper, slayt yüksekliğini EN UZUN görsele göre veriyor. Karuselde
   tek bir dikey fotoğraf olması (örn. 1440x1920) tüm karuseli
   şişiriyordu: Parents' Night Out'ta sağ kolon 781px, sol kolon
   355px oluyor ve iki kolon hizasız görünüyordu.
   Tüm slaytlara sabit 4:3 oran verilerek yükseklik öngörülebilir
   hale getiriliyor; dikey fotoğraflar da kırpılarak aynı çerçeveye
   oturuyor. Odak biraz yukarıda: grup fotoğraflarında yüzler
   üst üçlükte oluyor. */
.elementor-widget-image-carousel .swiper-slide img,
.elementor-widget-image-carousel .swiper-slide-inner img{
  aspect-ratio:4 / 3 !important;
  width:100% !important;
  height:auto !important;
  object-fit:cover !important;
  object-position:center 42% !important;
  border-radius:10px;
}
@media (max-width:768px){
  .elementor-widget-image-carousel .swiper-slide img{
    aspect-ratio:3 / 2 !important;   /* mobilde biraz daha basık */
  }
}

.elementor-widget-image-carousel .swiper-pagination-bullet{
  width:7px !important; height:7px !important;
  margin:0 !important;
  background:var(--text) !important;
  opacity:.28 !important;
  transition:opacity .3s ease, transform .3s ease, background-color .3s ease;
}
.elementor-widget-image-carousel .swiper-pagination-bullet:hover{
  opacity:.55 !important;
}
.elementor-widget-image-carousel .swiper-pagination-bullet-active{
  background:var(--ember-lt) !important;
  opacity:1 !important;
  transform:scale(1.25);
}
/* Oklar da görselin dışına taşmasın */
.elementor-widget-image-carousel .elementor-swiper-button{
  z-index:2;
}
.hb-review:hover{
  transform:translateY(-6px);
  border-color:var(--border-em) !important;
  box-shadow:0 22px 50px rgba(0,0,0,.45);
}
.hb-review-reply{
  border-left:2px solid rgba(212,97,31,.4);
  padding-left:14px;
}
.hb-review-reply strong{ color:var(--ember); }

/* Kartlar farklı uzunlukta — üstten hizalı dursunlar */
.hb-review-grid{ align-items:flex-start; }

/* ══ BLOG ARŞİVİ ════════════════════════════════════════
   Elementor Pro'nun Archive şablonu lisans olmadan
   açılamadığı için Hello Elementor'un kendi arşiv
   yapısı tema seviyesinde kart ızgarasına çevriliyor. */
body.blog .site-main,
body.archive .site-main,
body.search .site-main{
  max-width:1240px; margin:0 auto;
  padding:150px 24px 100px;
}
@media (max-width:768px){
  body.blog .site-main, body.archive .site-main, body.search .site-main{ padding:110px 18px 64px; }
}

/* Sayfa başlığı */
body.blog .page-header, body.archive .page-header, body.search .page-header{
  text-align:center; margin-bottom:56px; padding-bottom:0; border:none;
}
body.blog .page-header .entry-title,
body.archive .page-header .entry-title,
body.search .page-header .entry-title{
  font-family:var(--serif); font-weight:300; color:var(--text);
  font-size:clamp(2.2rem,5vw,3.4rem); line-height:1.1; margin:0 0 14px;
}
body.blog .page-header::after,
body.archive .page-header::after,
body.search .page-header::after{
  content:''; display:block; width:44px; height:2px;
  background:var(--ember); margin:18px auto 0; border-radius:2px;
}

/* Kart ızgarası */
body.blog .page-content,
body.archive .page-content,
body.search .page-content{
  display:grid; gap:26px;
  grid-template-columns:repeat(3,1fr);
}
@media (max-width:1024px){ body.blog .page-content,body.archive .page-content,body.search .page-content{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){  body.blog .page-content,body.archive .page-content,body.search .page-content{ grid-template-columns:1fr; } }

/* Tek kart */
body.blog article.post, body.archive article.post, body.search article.post{
  display:flex; flex-direction:column; overflow:hidden;
  background:var(--ink-2);
  border:1px solid var(--border);
  border-radius:14px;
  margin:0;
  transition:transform .4s cubic-bezier(.22,.61,.36,1), border-color .4s ease, box-shadow .4s ease;
}
body.blog article.post:hover, body.archive article.post:hover, body.search article.post:hover{
  transform:translateY(-6px);
  border-color:var(--border-em);
  box-shadow:0 24px 54px rgba(0,0,0,.48);
}
/* Öne çıkan görsel — <a> içinde geldiği için sarmalayıcı öne alınıyor */
body.blog article.post > a:has(img),
body.archive article.post > a:has(img),
body.search article.post > a:has(img){
  order:-1; display:block; overflow:hidden; line-height:0;
}
body.blog article.post img, body.archive article.post img, body.search article.post img{
  width:100%; aspect-ratio:16/9; object-fit:cover; display:block; margin:0;
  transition:transform .8s cubic-bezier(.22,.61,.36,1), filter .5s ease;
  filter:saturate(.92) brightness(.9);
}
body.blog article.post:hover img{ transform:scale(1.06); filter:saturate(1.05) brightness(1); }
/* Başlık */
body.blog article.post .entry-title,
body.archive article.post .entry-title,
body.search article.post .entry-title{
  font-family:var(--serif); font-weight:400; font-size:1.28rem; line-height:1.3;
  margin:0; padding:24px 24px 10px;
}
body.blog article.post .entry-title a,
body.archive article.post .entry-title a,
body.search article.post .entry-title a{
  color:var(--text); text-decoration:none; transition:color .25s ease;
}
body.blog article.post:hover .entry-title a{ color:var(--ember); }
/* Özet ve devamı */
body.blog article.post .entry-content,
body.archive article.post .entry-content{
  padding:0 24px 24px; color:var(--text-40);
  font-size:.92rem; font-weight:300; line-height:1.7;
}
body.blog article.post .entry-content p{ margin:0 0 10px; }

/* Sayfalama */
body.blog .pagination, body.archive .pagination, body.search .pagination{
  grid-column:1/-1; display:flex; justify-content:center; gap:14px;
  margin-top:48px; padding-top:32px; border-top:1px solid var(--border);
}
body.blog .pagination a, body.archive .pagination a{
  color:var(--text-70); font-family:var(--sans); font-size:.8rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; text-decoration:none;
  padding:14px 26px; border:1px solid var(--border-md); border-radius:3px;
  transition:all .25s ease;
}
body.blog .pagination a:hover, body.archive .pagination a:hover{
  color:#fff; border-color:var(--ember); background:rgba(212,97,31,.16);
}

/* ══ TEK YAZI ═══════════════════════════════════════════ */
body.single-post .elementor > .elementor-section:first-child{ padding-top:120px; }
body.single-post .site-main{ max-width:900px; margin:0 auto; padding:140px 24px 90px; }
body.single-post .entry-title{
  font-family:var(--serif); font-weight:300; color:var(--text);
  font-size:clamp(2rem,4.5vw,3rem); line-height:1.15; margin-bottom:18px;
}
body.single-post img{ border-radius:12px; }
body.single-post .entry-content a{ color:var(--ember); }
body.single-post .entry-content a:hover{ color:var(--ember-lt); }

/* ══ WOOCOMMERCE ════════════════════════════════════════
   Woo şablonları Elementor Pro'ya bağlı olduğu için
   mağaza, ürün, sepet ve ödeme tema seviyesinde
   tasarım diline uyduruluyor. */

.woocommerce-page .site-main,
.woocommerce .site-main{ padding-top:130px; padding-bottom:90px; }
@media (max-width:768px){ .woocommerce-page .site-main{ padding-top:105px; } }

/* Başlık */
.woocommerce-products-header__title,
.woocommerce-page h1.entry-title,
.woocommerce h1.product_title{
  font-family:var(--serif) !important; font-weight:300 !important;
  color:var(--text) !important; line-height:1.15;
}

/* Üst satır: sonuç sayısı + sıralama */
.woocommerce .woocommerce-result-count{
  font-family:var(--sans); font-size:.85rem; font-weight:300; color:var(--muted);
}
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby{
  background:var(--ink-2) !important; color:var(--text) !important;
  border:1px solid var(--border-md) !important; border-radius:6px !important;
  padding:12px 16px !important; font-family:var(--sans); font-size:.88rem; font-weight:300;
  appearance:none; cursor:pointer;
}
.woocommerce .woocommerce-ordering select option{ background:var(--ink-1); color:var(--text); }

/* ── ÜRÜN IZGARASI ─────────────────────────────────── */
.woocommerce ul.products{ display:grid; gap:24px; grid-template-columns:repeat(3,1fr); margin:0; }
@media (max-width:1024px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){  .woocommerce ul.products{ grid-template-columns:1fr; } }
.woocommerce ul.products::before,
.woocommerce ul.products::after{ display:none; }

.woocommerce ul.products li.product{
  width:auto !important; margin:0 !important; float:none !important;
  display:flex; flex-direction:column; overflow:hidden;
  background:var(--ink-2); border:1px solid var(--border); border-radius:14px;
  padding:0; text-align:left;
  transition:transform .4s cubic-bezier(.22,.61,.36,1), border-color .4s ease, box-shadow .4s ease;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-6px); border-color:var(--border-em);
  box-shadow:0 24px 54px rgba(0,0,0,.48);
}
.woocommerce ul.products li.product a img{
  margin:0; border-radius:0; width:100%; aspect-ratio:1/1; object-fit:cover;
  background:#fff; transition:transform .7s cubic-bezier(.22,.61,.36,1);
}
.woocommerce ul.products li.product:hover a img{ transform:scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--serif) !important; font-size:1.18rem !important; font-weight:400 !important;
  color:var(--text) !important; padding:22px 22px 6px !important; margin:0 !important;
  transition:color .25s ease;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title{ color:var(--ember) !important; }
.woocommerce ul.products li.product .price{
  font-family:var(--serif) !important; color:var(--amber) !important;
  font-size:1.4rem !important; font-weight:500 !important; letter-spacing:0 !important;
  padding:0 22px 18px; margin:0; display:block;
}
.woocommerce ul.products li.product .price del{ color:var(--muted) !important; font-size:.8em; }
.woocommerce ul.products li.product .button{ margin:0 22px 22px; }

/* ── BUTONLAR ──────────────────────────────────────── */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button{
  background:var(--ember) !important; color:#fff !important;
  font-family:var(--sans) !important; font-size:.78rem !important; font-weight:600 !important;
  letter-spacing:.1em !important; text-transform:uppercase !important;
  border-radius:3px !important; border:none !important;
  padding:14px 26px !important;
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .wc-block-components-button:hover{
  background:var(--ember-lt) !important; transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(212,97,31,.35);
}
.woocommerce a.added_to_cart{
  display:inline-block; margin:0 22px 18px; color:var(--gold); font-size:.78rem;
  font-weight:600; letter-spacing:.08em; text-transform:uppercase;
}

/* ── TEK ÜRÜN ──────────────────────────────────────── */
.woocommerce div.product .woocommerce-breadcrumb{
  font-family:var(--sans); font-size:.78rem; color:var(--muted); margin-bottom:20px;
}
.woocommerce div.product .woocommerce-breadcrumb a{ color:var(--muted); }
.woocommerce div.product .woocommerce-breadcrumb a:hover{ color:var(--ember); }
.woocommerce div.product .product_title{ font-size:clamp(1.9rem,3.6vw,2.7rem) !important; margin-bottom:16px; }
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--serif) !important; color:var(--amber) !important;
  font-size:2rem !important; font-weight:500 !important; letter-spacing:0 !important;
}
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-Tabs-panel p,
.woocommerce div.product #tab-description p{
  font-family:var(--sans) !important; color:var(--text-70) !important;
  font-weight:300 !important; font-size:1rem !important; line-height:1.8 !important;
}
.woocommerce div.product div.images img{ border-radius:12px; background:#fff; }
.woocommerce div.product .flex-control-thumbs li img{ border-radius:8px; opacity:.6; transition:opacity .25s; }
.woocommerce div.product .flex-control-thumbs li img:hover,
.woocommerce div.product .flex-control-thumbs li img.flex-active{ opacity:1; }

/* Miktar ve varyasyon alanları */
.woocommerce .quantity input.qty,
.woocommerce table.variations select,
.woocommerce .wc-block-components-text-input input{
  background:var(--ink-2) !important; color:var(--text) !important;
  border:1.5px solid var(--border-md) !important; border-radius:6px !important;
  padding:12px !important; font-family:var(--sans);
}
.woocommerce table.variations label{ color:var(--gold) !important; font-family:var(--sans);
  font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }

/* Sekmeler */
.woocommerce div.product .woocommerce-tabs ul.tabs{ border-bottom:1px solid var(--border); padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ border-color:var(--border); }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent !important; border:none !important; border-radius:0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--sans) !important; font-size:.78rem !important; font-weight:600 !important;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted) !important;
  padding:14px 4px !important; border-bottom:2px solid transparent; transition:all .25s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
  color:var(--text) !important; border-bottom-color:var(--ember);
}

/* İlgili ürünler başlığı */
.woocommerce .related > h2, .woocommerce .upsells > h2, .woocommerce section.related h2{
  font-family:var(--serif) !important; font-weight:300 !important;
  color:var(--text) !important; font-size:2rem !important; margin-bottom:28px;
}

/* ── SEPET & ÖDEME (Woo Blocks) ────────────────────── */
.wc-block-components-title, .wp-block-woocommerce-cart h2,
.wc-block-cart__submit-container + *, .wc-block-components-order-summary__title{
  font-family:var(--serif) !important; color:var(--text) !important; font-weight:400 !important;
}
.wc-block-components-product-name{ color:var(--text) !important; font-family:var(--serif) !important; font-size:1.05rem !important; }
.wc-block-components-product-price, .wc-block-formatted-money-amount{
  color:var(--amber) !important; font-family:var(--serif) !important; font-weight:500 !important;
}
.wc-block-cart-items__row, .wc-block-components-totals-item{
  border-color:var(--border) !important; color:var(--text-70) !important;
}
.wc-block-components-sidebar, .wc-block-components-order-summary,
.wp-block-woocommerce-cart-order-summary-block{
  background:var(--ink-2) !important; border:1px solid var(--border) !important;
  border-radius:14px !important; padding:24px !important;
}
.wc-block-components-text-input label,
.wc-block-components-checkout-step__title{
  color:var(--gold) !important; font-family:var(--sans) !important;
}
.wc-block-components-text-input input:focus{
  border-color:var(--ember) !important; box-shadow:0 0 0 3px rgba(212,97,31,.14) !important;
}
/* Blok bileşenlerinde alt çizgi olmasın */
.wc-block-components-product-name,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-totals-coupon-link{ text-decoration:none !important; }
.wc-block-components-product-name:hover{ color:var(--ember) !important; }
/* Satır içi birim fiyat daha sakin */
.wc-block-cart-item__prices .wc-block-components-product-price{
  color:var(--muted) !important; font-size:.85rem !important; font-family:var(--sans) !important; font-weight:300 !important;
}
.wc-block-components-order-summary-item__total-price .wc-block-formatted-money-amount,
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount{
  color:var(--amber) !important; font-size:1.3rem !important;
}
.wc-block-components-quantity-selector{
  border:1px solid var(--border-md) !important; border-radius:6px !important; background:var(--ink-2) !important;
}
.wc-block-components-quantity-selector input, .wc-block-components-quantity-selector button{
  color:var(--text) !important; background:transparent !important;
}

/* Ödeme/sepet form alanları — Woo Blocks yüksek özgüllük gerektiriyor */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-cart .wc-block-components-text-input input,
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wp-block-woocommerce-checkout input[type="tel"],
.wp-block-woocommerce-checkout input[type="number"],
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout textarea,
.wp-block-woocommerce-cart input[type="text"]{
  background-color:var(--ink-2) !important;
  color:var(--text) !important;
  border:1.5px solid var(--border-md) !important;
  border-radius:6px !important;
}
body.woocommerce-checkout .wc-block-components-text-input.is-active label,
body.woocommerce-checkout .wc-block-components-text-input label{
  color:var(--muted) !important; background:transparent !important;
}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout input:focus,
.wp-block-woocommerce-checkout select:focus{
  border-color:var(--ember) !important;
  box-shadow:0 0 0 3px rgba(212,97,31,.14) !important; outline:none !important;
}
/* Kayıtlı adres kartı ve ödeme kutuları */
.wc-block-components-address-card,
.wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control{
  background:var(--ink-2) !important; border-color:var(--border) !important;
  border-radius:10px !important; color:var(--text-70) !important;
}
.wc-block-components-address-card address, .wc-block-components-address-card span{ color:var(--text-70) !important; }
.wc-block-components-address-card__edit{ color:var(--ember) !important; }

.wc-block-components-notice-banner{
  background:var(--ink-2) !important; border-color:var(--ember) !important; color:var(--text) !important;
  border-radius:10px !important;
}

/* Mağaza sayfası başlığı (Elementor widget'ından geliyor) */
body.woocommerce-shop .elementor-widget-heading .elementor-heading-title,
body.tax-product_cat .elementor-widget-heading .elementor-heading-title{
  color:var(--text) !important;
}

/* Sıralama açılır kutusuna ok geri gelsin */
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23D4611F' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 14px center !important;
  padding-right:40px !important;
}

/* Tek ürün görseli: kırpma yerine sığdır (ürün fotoğrafları beyaz zeminli) */
.woocommerce div.product div.images img{
  object-fit:contain !important; aspect-ratio:auto !important;
  padding:18px; box-sizing:border-box;
}

/* Woo bildirimleri */
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  background:var(--ink-2) !important; color:var(--text) !important;
  border-top-color:var(--ember) !important; border-radius:0 0 10px 10px;
}
.woocommerce-message a, .woocommerce-info a{ color:var(--ember) !important; }

/* ══ AFTER-SCHOOL ALT SAYFALARI ═════════════════════════
   İçerik gerçek program politikası — metne dokunulmadan
   yalnızca okunabilirlik ve tipografi düzenleniyor. */
.page-id-4154 .elementor-widget-text-editor,
.page-id-4156 .elementor-widget-text-editor{
  max-width:820px; margin-left:auto; margin-right:auto;
}
.page-id-4154 .elementor-widget-text-editor p,
.page-id-4156 .elementor-widget-text-editor p{
  font-family:var(--sans) !important; font-weight:300 !important;
  font-size:1rem !important; line-height:1.9 !important;
  color:var(--text-70) !important; margin-bottom:18px;
}
.page-id-4154 .hb-pagehero .elementor-widget-text-editor p,
.page-id-4156 .hb-pagehero .elementor-widget-text-editor p{
  color:rgba(255,255,255,.72) !important;
}
.page-id-4154 .elementor-widget-text-editor strong,
.page-id-4156 .elementor-widget-text-editor strong{
  color:var(--text) !important; font-weight:600 !important;
}
/* BÜYÜK HARFLE YAZILMIŞ bölüm başlıkları belirgin olsun */
.page-id-4154 .elementor-widget-heading .elementor-heading-title,
.page-id-4156 .elementor-widget-heading .elementor-heading-title{
  font-family:var(--serif) !important; color:var(--text) !important; font-weight:400 !important;
}
.page-id-4154 .elementor-section:not(.hb-pagehero),
.page-id-4156 .elementor-section:not(.hb-pagehero){
  background-color:transparent !important;
  padding-left:20px; padding-right:20px;
}
.page-id-4154 a:not(.elementor-button),
.page-id-4156 a:not(.elementor-button){ color:var(--ember) !important; }

/* FAQ: cevap blokları kart içinde (hero hariç) */
.page-id-4156 .elementor-section:not(.hb-pagehero) .elementor-widget-text-editor{
  background:var(--ink-2); border:1px solid var(--border);
  border-left:3px solid var(--ember);
  border-radius:0 12px 12px 0; padding:22px 26px; margin:0 0 26px;
  transition:background-color .3s ease, border-color .3s ease;
}
.page-id-4156 .elementor-section:not(.hb-pagehero) .elementor-widget-text-editor:hover{
  background:var(--ink-3); border-color:var(--border-em); border-left-color:var(--amber);
}
.page-id-4156 .elementor-section:not(.hb-pagehero) .elementor-widget-text-editor p:last-child{ margin-bottom:0; }
/* Soru başlıkları cevaba yakın dursun */
.page-id-4156 .elementor-section:not(.hb-pagehero) .elementor-widget-heading{ margin-bottom:10px; }
.page-id-4156 .elementor-section:not(.hb-pagehero) .elementor-widget-heading .elementor-heading-title{
  font-size:1.22rem !important; color:var(--text) !important;
}
@media (max-width:768px){
  .page-id-4156 .elementor-section:not(.hb-pagehero) .elementor-widget-text-editor{ padding:18px 18px; }
}
/* Hero metni kart görünmesin */
.page-id-4156 .hb-pagehero .elementor-widget-text-editor,
.page-id-4154 .hb-pagehero .elementor-widget-text-editor{
  background:transparent !important; border:none !important; padding:0 !important;
}

/* ══ VİDEO BÖLÜMÜ ═══════════════════════════════════════ */
.hb-video-card{
  overflow:hidden; border-radius:14px;
  border:1px solid var(--border); background:var(--ink-2);
  transition:transform .4s cubic-bezier(.22,.61,.36,1), border-color .4s ease, box-shadow .4s ease;
}
.hb-video-card:hover{
  transform:translateY(-6px); border-color:var(--border-em);
  box-shadow:0 24px 54px rgba(0,0,0,.5);
}
.hb-video .elementor-wrapper{ border-radius:0; overflow:hidden; }
.hb-video .elementor-custom-embed-image-overlay img{
  aspect-ratio:16/9; object-fit:cover; width:100%; display:block;
  transition:transform .8s cubic-bezier(.22,.61,.36,1), filter .5s ease;
  filter:saturate(.92) brightness(.86);
}
.hb-video-card:hover .hb-video .elementor-custom-embed-image-overlay img{
  transform:scale(1.05); filter:saturate(1.05) brightness(1);
}
/* Oynat düğmesi — ember daire */
.hb-video .elementor-custom-embed-play{
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.hb-video .elementor-custom-embed-play i,
.hb-video .elementor-custom-embed-play svg{
  filter:drop-shadow(0 4px 16px rgba(0,0,0,.6));
}
.hb-video-card:hover .elementor-custom-embed-play{ transform:scale(1.12); }
.hb-video .elementor-custom-embed-image-overlay::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 50% 50%, rgba(212,97,31,.20), transparent 55%);
  opacity:0; transition:opacity .4s ease;
}
.hb-video-card:hover .elementor-custom-embed-image-overlay::after{ opacity:1; }

/* ══ 404 SAYFASI ════════════════════════════════════════ */
.hb-404{
  min-height:78vh; display:flex; align-items:center; justify-content:center;
  padding:150px 24px 100px; position:relative; overflow:hidden;
  background:var(--ink);
}
.hb-404::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 60% 50% at 50% 40%, rgba(212,97,31,.10), transparent 70%);
}
.hb-404-inner{ position:relative; z-index:2; max-width:880px; width:100%; text-align:center; }

.hb-404-code{
  font-family:var(--serif); font-weight:300; line-height:1;
  font-size:clamp(6rem,20vw,13rem);
  background:linear-gradient(180deg, rgba(212,97,31,.34), rgba(212,97,31,0));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  margin-bottom:-14px; user-select:none;
}
.hb-404-eyebrow{
  font-family:var(--sans); font-size:.72rem; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:var(--ember); margin:0 0 14px;
}
.hb-404-title{
  font-family:var(--serif); font-weight:300; color:var(--text);
  font-size:clamp(2rem,5vw,3.2rem); line-height:1.1; margin:0 0 18px;
}
.hb-404-text{
  font-family:var(--sans); font-weight:300; font-size:1.02rem; line-height:1.8;
  color:var(--text-70); max-width:560px; margin:0 auto 34px;
}

/* Arama */
.hb-404-search{ display:flex; gap:10px; max-width:460px; margin:0 auto 46px; }
.hb-404-search input{
  flex:1; background:var(--ink-2); color:var(--text);
  border:1.5px solid var(--border-md); border-radius:6px;
  padding:14px 18px; font-family:var(--sans); font-size:.95rem; font-weight:300; outline:none;
  transition:border-color .3s, box-shadow .3s, background .3s;
}
.hb-404-search input::placeholder{ color:var(--muted); }
.hb-404-search input:focus{
  border-color:var(--ember); background:var(--ink-3); box-shadow:0 0 0 3px rgba(212,97,31,.14);
}
.hb-404-search button{
  background:var(--ember); color:#fff; border:none; border-radius:3px;
  padding:14px 24px; font-family:var(--sans); font-size:.78rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; cursor:pointer;
  transition:background .25s, transform .25s;
}
.hb-404-search button:hover{ background:var(--ember-lt); transform:translateY(-2px); }

/* Popüler sayfa kartları */
.hb-404-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:44px; text-align:left;
}
@media (max-width:860px){ .hb-404-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .hb-404-grid{ grid-template-columns:1fr; } }
.hb-404-card{
  display:flex; flex-direction:column; gap:5px;
  background:var(--ink-2); border:1px solid var(--border);
  border-left:3px solid var(--ember);
  border-radius:10px; padding:18px 20px; text-decoration:none;
  transition:transform .3s cubic-bezier(.22,.61,.36,1), background-color .3s, border-color .3s;
}
.hb-404-card:hover{ transform:translateX(5px); background:var(--ink-3); border-color:var(--border-em); border-left-color:var(--amber); }
.hb-404-card-title{ font-family:var(--serif); font-size:1.12rem; color:var(--text); }
.hb-404-card-text{ font-family:var(--sans); font-size:.82rem; font-weight:300; color:var(--muted); }

/* Alt butonlar */
.hb-404-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.hb-404-btn{
  font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; text-decoration:none; border-radius:3px;
  padding:15px 30px; color:var(--text);
  border:1px solid var(--border-md); transition:all .25s ease;
}
.hb-404-btn:hover{ border-color:var(--ember); background:rgba(212,97,31,.14); color:#fff; }
.hb-404-btn--primary{ background:var(--ember); color:#fff; border-color:var(--ember); }
.hb-404-btn--primary:hover{ background:var(--ember-lt); transform:translateY(-2px); box-shadow:0 10px 26px rgba(212,97,31,.35); }

@media (max-width:768px){
  .hb-404{ padding:120px 18px 70px; }
  .hb-404-search{ flex-direction:column; }
}

/* ── HEADER (Elementor Theme Builder) ───────────────── */
.hb-header{
  transition: background .4s ease, border-color .4s ease, padding .3s ease;
  border-bottom: 1px solid transparent;
}
/* Sayfa kaydırılınca cam efektli koyu zemin */
.hb-header.elementor-sticky--effects{
  background: rgba(18,15,11,.96) !important;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  border-bottom-color: var(--border);
  box-shadow: 0 8px 32px rgba(0,0,0,.35);
}
.hb-header.elementor-sticky--effects .elementor-widget-image img{ transform: scale(.94); }
.hb-header .elementor-widget-image img{ transition: transform .35s ease; }

/* Masaüstü açılır alt menüsü (ul.sub-menu) — çekmece değil */
.hb-header ul.sub-menu.elementor-nav-menu--dropdown{
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
  border: 1px solid var(--border);
}
/* Telefon butonu ikonu ember rengi */
.hb-tel .elementor-button-icon{ color: var(--ember); }

/* ── MOBİL MENÜ (tam ekran çekmece) ─────────────────────
   Elementor'un varsayılan açılır kutusu dar ve kullanışsız;
   burada tam ekran, büyük dokunma alanlı bir panele
   dönüştürülüyor. Aç/kapa mantığı Elementor'da kalıyor. */
/* DİKKAT: yalnızca <nav> olan ana çekmece hedefleniyor.
   Alt menüler de aynı sınıfı taşıyor (ul.sub-menu), onlara
   dokunulmamalı — yoksa masaüstü açılır menüleri bozulur. */
.hb-header nav.elementor-nav-menu--dropdown{
  position:fixed !important;
  top:var(--hb-header-h, 64px) !important;
  left:0 !important; right:0 !important;
  width:100vw !important; max-width:100vw !important;
  height:calc(100dvh - var(--hb-header-h, 64px)) !important;
  max-height:none !important;
  margin:0 !important;
  padding:14px 22px 48px !important;
  background:rgba(18,15,11,.985) !important;
  -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px);
  border:none !important; border-radius:0 !important;
  box-shadow:none !important;
  overflow-y:auto !important; -webkit-overflow-scrolling:touch;
}

/* Ana maddeler — büyük, okunur, rahat dokunulur */
.hb-header nav.elementor-nav-menu--dropdown a.elementor-item{
  font-family:var(--serif) !important;
  font-size:1.42rem !important;
  font-weight:400 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  color:var(--text) !important;
  padding:17px 2px !important;
  min-height:58px;
  display:flex !important; align-items:center;
  border-bottom:1px solid var(--border);
  transition:color .25s ease, padding-left .25s ease;
}
.hb-header nav.elementor-nav-menu--dropdown a.elementor-item:hover,
.hb-header nav.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{
  color:var(--ember) !important; background:transparent !important; padding-left:10px !important;
}
/* Alt maddeler */
.hb-header nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item{
  font-family:var(--sans) !important;
  font-size:.95rem !important; font-weight:300 !important;
  color:var(--text-70) !important;
  padding:13px 2px 13px 18px !important;
  min-height:46px; display:flex !important; align-items:center;
  border-bottom:1px solid rgba(240,234,224,.05);
}
.hb-header nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item:hover{ color:var(--ember) !important; }
/* Alt menü açma oku — büyük dokunma alanı */
.hb-header nav.elementor-nav-menu--dropdown .sub-arrow{
  padding:14px !important; margin:0 !important;
}
.hb-header nav.elementor-nav-menu--dropdown .sub-arrow i{ font-size:15px; color:var(--ember); }

/* Maddeler sırayla belirsin */
.hb-header .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown > ul > li{
  animation:hb-menu-in .42s ease both;
}
@keyframes hb-menu-in{ from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none} }
.hb-header nav.elementor-nav-menu--dropdown > ul > li:nth-child(1){ animation-delay:.03s }
.hb-header nav.elementor-nav-menu--dropdown > ul > li:nth-child(2){ animation-delay:.07s }
.hb-header nav.elementor-nav-menu--dropdown > ul > li:nth-child(3){ animation-delay:.11s }
.hb-header nav.elementor-nav-menu--dropdown > ul > li:nth-child(4){ animation-delay:.15s }
.hb-header nav.elementor-nav-menu--dropdown > ul > li:nth-child(5){ animation-delay:.19s }
.hb-header nav.elementor-nav-menu--dropdown > ul > li:nth-child(6){ animation-delay:.23s }
.hb-header nav.elementor-nav-menu--dropdown > ul > li:nth-child(7){ animation-delay:.27s }
.hb-header nav.elementor-nav-menu--dropdown > ul > li:nth-child(8){ animation-delay:.31s }
.hb-header nav.elementor-nav-menu--dropdown > ul > li:nth-child(9){ animation-delay:.35s }

/* Hamburger ikonu — açıkken X'e dönsün */
.hb-header .elementor-menu-toggle{
  background:transparent !important; padding:10px !important;
  transition:transform .3s ease;
}
.hb-header .elementor-menu-toggle i, .hb-header .elementor-menu-toggle svg{ transition:transform .35s ease; }
.hb-header .elementor-menu-toggle.elementor-active{ transform:rotate(90deg); }
/* Menü açıkken arka plan kaymasın */
body.hb-menu-open{ overflow:hidden; }

/* Menü tek satırda kalsın — dar ekranlarda kademeli küçülme */
.hb-header .elementor-nav-menu--main > ul.elementor-nav-menu{ flex-wrap: nowrap; }
.hb-header > .e-con-inner > .e-con,
.hb-header > .e-con{ min-width: 0; }

@media (max-width:1700px){
  .hb-header .elementor-nav-menu--main .elementor-item{
    font-size:11.5px; padding-left:7px; padding-right:7px; letter-spacing:.06em;
  }
}
/* Telefon butonu dar ekranda yer kaplamasın — numara footer ve iletişim sayfasında zaten var */
@media (max-width:1700px){
  .hb-header .hb-tel{ display:none !important; }
}
@media (max-width:1250px){
  .hb-header .elementor-nav-menu--main .elementor-item{
    font-size:10.6px; padding-left:5px; padding-right:5px; letter-spacing:.03em;
  }
}

/* ── HEADER TIKLAMA HATASI DÜZELTMESİ ───────────────────
   Bulunan hata: 1521px genişlikte menü çubuğu sığmıyordu ve
   sağdaki gruba (telefon + FREE CLASS) doğru taşıyordu. O grup
   position:relative + z-index:999 taşıdığı için menünün son
   öğesinin ÜSTÜNE biniyor ve tıklamayı yutuyordu — "Shop"a
   basıldığında hiçbir şey olmuyordu, Blog çalışıyordu çünkü
   daha soldaydı.

   Üç katmanlı çözüm:
   1) Menü sağ gruptan daha yüksek katmanda dursun — taşma olsa
      bile tıklama asla yutulmasın (güvenlik ağı).
   2) Sağ grup gereğinden fazla yer tutmasın: 298px ayırıyordu,
      içindeki buton 127px'ti. İçeriğine göre daralsın.
   3) Daralma daha erken başlasın, taşma hiç oluşmasın. */

/* 1) Güvenlik ağı */
.hb-header nav.elementor-nav-menu--main,
.hb-header .elementor-widget-nav-menu{
  position:relative;
  z-index:1000;
}

/* 2) Sağ grup içeriğine göre daralsın, esnemesin */
.hb-header > .e-con-inner > .e-con:last-child,
.hb-header > .e-con:last-child{
  flex:0 0 auto !important;
  width:auto !important;
  max-width:none !important;
}

/* 3) Menü orta boşluğu doldurup gerçekten ortalansın.
      Önceki durumda ul (996px) kendi kabından (937px) taşıyordu;
      taşan içerikte justify-content:center işlevsiz kalıyor ve
      menü sağa yaslanmış görünüyordu. */
.hb-header > .e-con-inner > .e-con:nth-child(2),
.hb-header > .e-con:nth-child(2){
  flex:1 1 auto !important;
  min-width:0 !important;
}
.hb-header .elementor-nav-menu--main > ul.elementor-nav-menu{
  justify-content:center;
  margin-inline:auto;
}

/* Menü ekranın tam ortasına gelsin.
   space-between ile ortadaki öğe, yalnızca dış iki öğe eşit
   genişlikteyse ortalanır. Logo 220px, sağ grup 127px olduğu için
   menü 39px sağa kayıyordu. Dış iki kolona eşit esneme verilerek
   menü gerçek merkeze oturuyor.
   Yalnızca masaüstünde: 1024px altında hamburger devralıyor. */
/* Simetri, dış kolonlara EŞİT MİNİMUM genişlik vererek kuruluyor —
   orta kolona flex:0 vermek onu içeriğinin altına düşürüp menüyü
   yeniden taşırıyordu (ve tıklama tekrar yutuluyordu).
   Orta kolon boşluğa sahip kalıyor; logo ve sağ grup aynı yeri
   ayırdığı için kalan alan simetrik oluyor ve menü tam ortalanıyor. */
@media (min-width:1025px){
  .hb-header > .e-con-inner > .e-con:first-child,
  .hb-header > .e-con:first-child{
    flex:0 0 auto !important;
    justify-content:flex-start !important;
    min-width:220px;
  }
  .hb-header > .e-con-inner > .e-con:last-child,
  .hb-header > .e-con:last-child{
    justify-content:flex-end !important;
    min-width:220px;
  }
}

/* 4) Öğeler mevcut boşluğa sığsın — 9 üst öğe + 4 açılır ok var.
      Ölçüm: ~60px kısmak gerekiyordu; yatay dolgu ve harf aralığı
      küçültülerek sağlandı, dokunma alanı dikeyde korunuyor. */
@media (max-width:1620px){
  .hb-header > .e-con-inner{ gap:14px !important; }
  /* Ölçüm: ul 1000px, kap 977px → 23px kısılması gerekiyordu.
     9 öğede yatay dolgu 4→3px (18px) + harf aralığı daralması. */
  .hb-header .elementor-nav-menu--main .elementor-item{
    font-size:10.8px; padding-left:3px; padding-right:3px; letter-spacing:.02em;
  }
  .hb-header .elementor-nav-menu--main .sub-arrow{ margin-left:1px; }
}
@media (max-width:1400px){
  .hb-header > .e-con-inner{ gap:12px !important; }
  .hb-header .elementor-nav-menu--main .elementor-item{
    font-size:10.3px; padding-left:3px; padding-right:3px; letter-spacing:.01em;
  }
}

/* ── RESPONSIVE ─────────────────────────────────────── */
@media(max-width:1080px){
  .prog-row{grid-template-columns:40px 1fr;grid-template-rows:auto auto}
  .prog-row .prog-bullets{display:none}
}
@media(max-width:768px){
  .prog-row{grid-template-columns:32px 1fr;padding:20px 0}
  .prog-price-val,.prog-price-lbl{display:none}
  .trust-item{padding:22px 32px}
  .map-frame iframe{height:260px}
}
@media(max-width:480px){
  .trust-item{padding:18px 24px}
  .trust-num{font-size:1.625rem}
  .test-card{padding:24px 20px}
  .btn-lg{padding:16px 28px;font-size:.8rem}
  .prog-card{padding:24px 20px}
  .activity-body{padding:20px 18px}
}

/* ── KART İÇİ ALT HİZA ──────────────────────────────────
   Program kartlarının yükseklikleri eşit ama içerikleri farklı
   uzunlukta. Açıklaması uzun olan kartta "Learn about this class"
   bağlantısı diğerlerinden ~24px aşağıda kalıyor, kısa kartların
   altında da boşluk oluşuyordu. Metin sütunu kartın kalan
   yüksekliğini alıyor, bağlantı da margin-top:auto ile kartın
   altına sabitleniyor — böylece satırdaki tüm CTA'lar aynı
   çizgide duruyor. */
.hb-prog-card > .e-con:last-child{ flex:1 1 auto; }
.hb-prog-card .hb-card-cta{ margin-top:auto; }

/* ── FİYAT KARTLARINDA SATIR HİZASI ─────────────────────
   Öne çıkan kartta ("Most Popular") diğer iki kartta bulunmayan
   22px yüksekliğinde bir etiket satırı var. Kartların yüksekliği
   eşit olduğu hâlde başlık, fiyat ve buton bu yüzden 22px aşağı
   kayıyor, üç kart yan yana bakıldığında hizasız görünüyordu.
   Kartlar yan yana dururken üst dolgudan tam etiket yüksekliği
   kadar düşülüyor; alt alta geçtiklerinde (mobil) fark görünmez
   olduğu için kural yalnızca geniş ekranlarda çalışıyor. */
@media (min-width:1025px){
  .hb-plan-featured{ padding-top:12px; }
}

/* ── YORUM DUVARINDA SATIR HİZASI ───────────────────────
   18 yorum kartı tek bir sarmalanan flex satırında duruyor ve
   kap align-items:flex-start olduğu için aynı satırdaki kartların
   alt kenarları farklı yükseklikte bitiyordu (464 / 464 / 435 gibi).
   Kartların çerçevesi ve arka planı olduğundan bu tırtıklı alt kenar
   gözle görülüyor. flex-wrap'te stretch her satıra ayrı uygulandığı
   için satır bazında eşitleniyor; sayfanın genel ritmi bozulmuyor. */
.hb-review-grid{ --align-items:stretch; align-items:stretch; }
/* Kartlar satır bazında eşitlenince kısa yorumların altında boşluk
   kalıyor. Yorum sahibinin adı ve kaynağı (son iki öğe) kartın altına
   itiliyor; boşluk metnin arkasında değil, imza ile alt kenar arasında
   kalıyor — kartlar böylece kasıtlı görünüyor. */
.hb-review > *:nth-last-child(2){ margin-top:auto; }

/* ── MAĞAZA IZGARASI VE ÜRÜN KARTLARI ───────────────────
   1) WooCommerce sarmalayıcıya "columns-4" sınıfı basıyor ve kendi
      CSS'i bizim repeat(3,1fr) kuralımızı eziyordu; 3 ürün 4 kolonluk
      ızgaraya oturduğu için satır sola yaslı görünüyor, sağda boş bir
      kolon kalıyordu. Kolon sayısı !important ile sabitleniyor.
   2) Ürün fotoğrafları beyaz zeminli PNG. Koyu kartın içinde saf beyaz
      blok sert duruyordu; markanın krem tonu daha sıcak ve tutarlı.
   3) "Select options" iki satıra sarıyor, "Add to cart" tek satır —
      butonlar farklı yükseklikte olup kart altları hizasız kalıyordu.
      Butonlar kartın altına sabitlenip ortak bir minimum yükseklik
      alıyor, böylece üç kartın tabanı aynı çizgide bitiyor. */
.woocommerce ul.products{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  justify-content:center;
}
@media (max-width:1024px){
  .woocommerce ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:560px){
  .woocommerce ul.products{ grid-template-columns:minmax(0,1fr) !important; }
}
.woocommerce ul.products li.product a img{ background:var(--cream); }
.woocommerce ul.products li.product .price{ margin-bottom:auto !important; }
.woocommerce ul.products li.product .button{
  min-height:52px; display:inline-flex; align-items:center; justify-content:center;
  text-align:center; line-height:1.25;
}

/* ── ÖNE ÇIKAN ETKİNLİK (FEATURED EVENT) ────────────────
   Dojo'nun afişi birkaç haftada bir değişiyor; Jaymee bunu tek bir
   görsel widget'ından güncelleyecek.

   Kural: afişin ÜZERİNDE YAZI VAR, bu yüzden hover zoom YOK — ders
   programı tablosunda aynı hatayı yapmıştık, büyüyünce yazı
   bulanıklaşıyor. Yazı taşıyan görsellerde efekt yok.

   İlk sürümde afiş 430px'e sıkışmıştı ve bölüm amatör duruyordu;
   sebebi Elementor ayar şemasının eksik olmasıydı (bkz. inc/onecikan.php).
   Şimdi afiş kolonun tamamını kullanıyor, üst sınır 520px. */
.hb-onecikan-gorsel img{
  width:100%; max-width:520px; height:auto;
  border-radius:14px;
  border:1px solid var(--border);
  box-shadow:0 22px 52px rgba(0,0,0,.42);
  transform:none !important;              /* efekt yok: yazılı görsel */
  transition:box-shadow .35s ease, border-color .35s ease;
}
.hb-onecikan-gorsel{ display:flex; justify-content:flex-end; }
.hb-onecikan-gorsel a{ display:block; }
.hb-onecikan-gorsel a:hover img{
  border-color:var(--border-em);
  box-shadow:0 26px 60px rgba(0,0,0,.55);
}

/* Ders saatleri listesi: afişteki bilgi metin olarak da burada.
   Rakamlar serif ve amber — sitenin fiyat/saat dilini takip ediyor. */
.hb-onecikan-saat{ margin-top:6px; }
.hb-onecikan-saat .elementor-icon-list-items{ display:grid; gap:11px; }
.hb-onecikan-saat .elementor-icon-list-item{ align-items:center; }
.hb-onecikan-saat .elementor-icon-list-icon i{
  color:var(--ember); font-size:15px;
}
.hb-onecikan-saat .elementor-icon-list-text{
  font-family:var(--serif); font-size:1.06rem; color:var(--text);
  letter-spacing:.01em;
}

/* Kit varsayılanlarını bölüm içinde markaya çekiyoruz. Bölüme özel
   renk vermediğim için Elementor kit'in varsayılanları devreye girdi:
   H2 turuncu, birincil buton altın sarısı çıktı. Sitenin geri kalanında
   H2'ler krem, birincil butonlar ember turuncu — o dile döndürülüyor.
   (Öğe bazında sabit renk yazmak yerine tasarım belirteçleri
   kullanılıyor; müşteri Site Settings'ten paleti değiştirirse burası
   da takip eder.) */
.hb-onecikan h2.elementor-heading-title{ color:var(--text) !important; }
.hb-onecikan .elementor-widget-button:not(.hb-btn-ikincil) .elementor-button{
  background:var(--ember-btn) !important;
  color:#fff !important;
  border-color:transparent;
}
.hb-onecikan .elementor-widget-button:not(.hb-btn-ikincil) .elementor-button:hover{
  background:var(--ember) !important;
}

/* İkincil buton: birincilin yanında dolu turuncu olmasın. */
.hb-onecikan .hb-btn-ikincil .elementor-button{
  background:transparent !important;
  border:1px solid var(--border-em);
  color:var(--text) !important;
}
.hb-onecikan .hb-btn-ikincil .elementor-button:hover{
  border-color:var(--ember);
  background:rgba(212,97,31,.10) !important;
}

/* Emniyet kuralı: yüzde genişlikler + boşluk toplamı konteyneri bir
   piksel geçse flex-wrap kolonları alt satıra atıyor ve bölüm tek
   kolona düşüyor (bir kez başımıza geldi). Masaüstünde sarmalama
   kapatılıyor; gerekirse flex kolonları kendisi daraltır, düzen
   bozulmaz. Tablet ve altında sarmalama geri açılıyor. */
.hb-onecikan > .e-con-inner{ align-items:center; }
@media (min-width:1025px){
  .hb-onecikan > .e-con-inner{ flex-wrap:nowrap; }
}

@media (max-width:1024px){
  /* Alt alta geçince afiş ortalanıyor ve metinle aynı hizada durmuyor. */
  .hb-onecikan-gorsel{ justify-content:center; }
  .hb-onecikan-gorsel img{ max-width:min(520px,100%); }
}

/* ── HEADER / HERO DİKİŞİ ────────────────────────────────
   HATA: .hb-header sabit (fixed) ve Elementor'un sticky ayarından
   gelen "top:32px" offsetini taşıyor. O 32px, WordPress yönetici
   çubuğunun yüksekliği. Yönetici olarak bakınca her şey hizalı
   görünüyor; ÇUBUK OLMAYAN gerçek ziyaretçide ise:
     · sayfanın en üstünde 32px'lik boş bant kalıyor,
     · menü barı hero görselinin ilk 32px'ine biniyor,
     · ve iki bandın arasında sert bir yatay dikiş oluşuyor.
   Ziyaretçinin gördüğü ilk şey buydu.

   ÇÖZÜM İKİ PARÇALI:
   1) Offset yalnızca çubuk gerçekten varken uygulanıyor
      (WordPress body'ye "admin-bar" sınıfı ekliyor).
   2) Header'ın yer tutucu sarmalayıcısı akıştan çıkarılıyor.
      Statik hâlde 59px yer ayırdığı için hero görseli header'ın
      ALTINDAN başlıyor ve dikiş oluşuyordu; absolute olunca
      görsel en tepeden başlayıp şeffaf header'ın arkasından
      akıyor. Hero'nun zaten 120px üst dolgusu var, blog ve
      mağaza şablonlarında da 130px — yani tasarım en baştan
      üste binen bir header için kurulmuş, eksik olan buydu. */
header.elementor-location-header{
  position:absolute; top:0; left:0; width:100%;
}
.hb-header{ top:0 !important; }

/* ÇİFT SAYIM DÜZELTMESİ — burada bir hata yapmıştım.
   WordPress, yönetici çubuğu için <html>'e margin-top:32px veriyor ve
   bu TÜM sayfayı 32px aşağı itiyor. Ben buna ek olarak header'a da
   top:32px verince offset iki kez uygulandı: çubuk 0–32'de, header
   64'te, aralarında 32px boş bir bant kaldı. Barış bu boşluğu gördü.

   Ziyaretçide yönetici çubuğu olmadığı için fark edilmiyordu —
   yalnızca giriş yapmış kullanıcıda görünen bir kusur, ama Dan de
   giriş yapıp bakacağı için düzeltilmesi gerekiyor.

   html'in margin'i offset'i zaten sağlıyor; header her durumda
   top:0 kalıyor. */
body.admin-bar header.elementor-location-header{ top:0; }

/* NEDEN margin-top, neden top DEĞİL:
   Elementor sticky, yönetici çubuğu varken header'a SATIR İÇİ bir
   top değeri yazıyor. Ben CSS'te top verdiğimde iki değer üst üste
   binip header 64px'e düştü (çubukla arasında 32px boşluk). top:0
   verince de çubuğun altına girip logo kesildi. margin-top'a
   Elementor dokunmuyor; bu yüzden konum tek kaynaktan yönetiliyor
   ve header tam çubuğun altına oturuyor. */
body.admin-bar .hb-header{
  top:0 !important;
  margin-top:32px !important;
}
@media screen and (max-width:782px){
  /* Yönetici çubuğu mobilde 46px */
  body.admin-bar .hb-header{ margin-top:46px !important; }
}

/* ── HEADER ZEMİNİ: HER ZAMAN DOLU ──────────────────────
   İLK DENEMEM YANLIŞTI. Barış'ın şikâyeti "menü üst barı hero
   görseliyle çakışıyor" idi; ben bunu "bar görselin üstüne binmeli,
   görsel arkasından akmalı" diye yorumlayıp header'ı şeffaf yaptım.
   Sonuç tam tersi oldu: sayfa başında menü doğrudan fotoğrafın
   üstünde kalıyor, okunmuyor ve kötü görünüyor. Kaydırınca cam zemin
   devreye girdiği için orası düzgündü — sorun yalnızca en üstteydi.

   Doğru çözüm: zemin HER kaydırma konumunda dolu. Sarmalayıcı hâlâ
   akıştan çıkarılmış durumda, yani görsel barın arkasından akıyor ve
   eski sert dikiş geri gelmiyor; ama menü hiçbir zaman fotoğrafın
   üzerinde çıplak kalmıyor. İki şikâyet birlikte çözülüyor.

   Kaydırınca değişen tek şey yükseklik: üstte ferah, aşağıda toplu. */
.hb-header,
.hb-header:not(.elementor-sticky--effects){
  background:rgba(18,15,11,.96) !important;
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border) !important;
}

/* ── HEADER YÜKSEKLİĞİ VE NEFESİ ────────────────────────
   Sarmalayıcı akıştan çıkarılıp .hb-header top:0'a alındığında bar
   viewport'un en üst kenarına yapıştı: logo kenara değiyor, toplam
   yükseklik 59px'e sıkışıyor ve ucuz görünüyordu. Önceden yönetici
   çubuğunun 32px'i tesadüfen bu nefesi veriyordu.

   Çözüm iki durumlu bir header: sayfa başındayken ferah (görselin
   üstünde şeffaf, yaklaşık 84px), kaydırma başlayınca toplanıp cam
   zemine geçiyor (yaklaşık 62px). Bu, üstüne binen header'ların
   standart davranışı ve hem ferah hem de kaydırırken yer israfı
   yapmıyor. */
.hb-header{
  padding-top:16px !important;
  padding-bottom:16px !important;
  transition:background .4s ease, border-color .4s ease, padding .32s ease;
}
.hb-header.elementor-sticky--effects{
  padding-top:5px !important;
  padding-bottom:5px !important;
  /* Koyu içerik üzerinde cam zemin görünmez kalıyordu; ince bir
     ayırıcı çizgi menüyü içerikten koparıyor. */
  border-bottom:1px solid var(--border) !important;
}

/* ── WOOCOMMERCE ŞABLONLARINDA ÜST BOŞLUK ───────────────
   Header akıştan çıkarıldığı için (yukarıdaki blok) ürün arşivi ve
   ürün sayfası şablonlarının ilk bölümü header'ın altına giriyordu:
   "Shop" başlığı header'ın 1px dibine yapışıyordu. Bu şablonlar eski
   Elementor section yapısında ve üst dolgusu yalnızca 50px — hero'lu
   sayfalardaki 120px'lik pay burada yok. Fark kapatılıyor.
   (Blog şablonunda 150px zaten var, ona dokunulmuyor.) */
body.woocommerce .elementor-location-archive,
body.woocommerce .elementor-location-single{ padding-top:64px; }

/* Şeffaf hâlde okunabilirlik: düz koyu bant yerine yumuşak geçiş.
   Kaydırma başlayınca .elementor-sticky--effects devralıyor. */
/* ── TEAM HANABI: KADRO IZGARASI ────────────────────────
   41 sporcu fotoğrafı (2026: 23, 2025: 18). Izgara Elementor'un
   flex hesabına bırakılmıyor — yüzde genişlik + boşluk toplamı
   konteyneri bir piksel geçtiğinde flex-wrap düzeni bozuyor (öne
   çıkan etkinlik bölümünde yaşadık). CSS grid'de o risk yok ve
   sporcu sayısı değişince satırlar kendiliğinden yeniden diziliyor. */
.hb-takim-grid > .e-con-inner,
.hb-takim-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
  gap:26px 20px;
  align-items:start;
}
.hb-takim-kisi{ gap:10px !important; }

/* Portre fotoğraflar farklı en-boy oranlarında (telefonla çekilmiş,
   bir kısmı döndürülmüş). Sabit oran + object-fit ile ızgara
   düzgün hizalanıyor; yoksa satırlar tırtıklı görünüyor. */
.hb-takim-kisi img{
  width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center 20%;
  border-radius:10px;
  border:1px solid var(--border);
  background:var(--ink-2);
  transition:border-color .3s ease, transform .45s cubic-bezier(.22,.61,.36,1);
}
.hb-takim-kisi:hover img{
  border-color:var(--border-em);
  transform:translateY(-3px);
}
.hb-takim-isim{
  font-family:var(--serif) !important;
  font-size:1.05rem !important;
  font-weight:400 !important;
  color:var(--text) !important;
  margin:0 !important;
  text-align:center;
  letter-spacing:.01em;
}

/* Anlatı bölümleri: madde listeleri ve notlar */
.hb-takim-bolum > .e-con-inner{ max-width:1200px; }
.hb-takim-liste .elementor-icon-list-items{ display:grid; gap:14px; }
.hb-takim-liste .elementor-icon-list-item{ align-items:flex-start; }
.hb-takim-liste .elementor-icon-list-icon{ margin-top:5px; }
.hb-takim-liste .elementor-icon-list-icon i{ color:var(--ember); font-size:13px; }
.hb-takim-liste .elementor-icon-list-text{
  color:var(--text); line-height:1.62; font-size:1.02rem;
}
.hb-takim-koc,
.hb-takim-not{
  margin-top:10px; padding:18px 20px;
  border-left:2px solid var(--ember);
  background:rgba(212,97,31,.06);
  border-radius:0 10px 10px 0;
}
.hb-takim-koc p, .hb-takim-not p{ margin:0; color:var(--text); line-height:1.6; }
.hb-takim-bolum h2.elementor-heading-title{ color:var(--text) !important; }

@media (max-width:600px){
  .hb-takim-grid > .e-con-inner,
  .hb-takim-grid{ grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); gap:20px 14px; }
}

/* ── ÜST ETİKET (EYEBROW) ───────────────────────────────
   .hb-eyebrow sınıfını yeni bölümlerde kullandım ama meğer bu sınıfın
   HİÇ CSS'i yokmuş: sitedeki mevcut etiketler ("ON THE MAT", "CLASSES")
   Elementor'da öğe bazında biçimlendirilmiş. Sınıfa güvenen yeni
   bölümlerim kit varsayılanına düşüp serif küçük harf turuncu çıktı.
   Ortak kural burada tanımlanıyor; bundan sonra sınıfı kullanan her
   bölüm aynı görünüyor. */
.hb-eyebrow,
.hb-eyebrow .elementor-heading-title{
  font-family:var(--sans) !important;
  font-size:.72rem !important;
  font-weight:600 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:var(--ember) !important;
  line-height:1.5 !important;
}

/* Sporcu isimleri: sınıf widget sarmalayıcısında olduğu için renk
   başlığın kendisine geçmiyordu; Elementor'un öğe bazlı kuralı daha
   yüksek özgüllükte olduğu için isimler turuncu kalıyordu. Başlık
   öğesi doğrudan hedefleniyor. */
.hb-takim-isim h3.elementor-heading-title,
.hb-takim-isim .elementor-heading-title{
  color:var(--text) !important;
  font-family:var(--serif) !important;
  font-size:1.05rem !important;
  font-weight:400 !important;
  text-align:center;
}

/* ── "THE TEAM" ARA BAŞLIĞI ─────────────────────────────
   Galeriyi kaldırdıktan sonra bu bölümde yalnızca "ON THE MAT /
   The Team" başlığı kaldı. Kendi alt dolgusu (88px) ile hemen
   ardından gelen kadro bölümünün üst dolgusu (88px) toplanınca
   başlık ile ilk sporcu satırı arasında ~240px boşluk oluşuyor ve
   başlık havada asılı duruyordu. Başlık artık kadroyu takdim eden
   bir ara başlık; bu yüzden aradaki mesafe kapatılıyor.
   Elementor kimliğiyle hedefleniyor — bölüm sayfaya elle kurulmuş
   olduğu için sınıfı yok. */
/* DİKKAT: Kutulu (boxed) konteynerde Elementor dolguyu DIŞ .e-con
   öğesine değil içteki .e-con-inner'a yazıyor. İlk denemede dış
   öğeyi hedefledim, kural hiçbir işe yaramadı: içte 105px alt dolgu
   duruyordu ve boşluk aynen kaldı. Doğru hedef .e-con-inner. */
.elementor-element-17c22f1 > .e-con-inner{ padding-bottom:0 !important; }
.hb-takim-bolum:has(.hb-takim-grid) > .e-con-inner{ padding-top:34px !important; }

/* ── FOOTER HARİTASI ────────────────────────────────────
   Canlı sitede footer'da bir Google Haritalar gömülüsü vardı,
   yeniden kurulan şablonda düşmüştü. Adres listesinin hemen altına
   eklendi. Google'ın iframe'i açık renkli geldiği için koyu footer
   içinde sırıtıyor; hafif karartma + doygunluk düşürme ile sitenin
   tonuna yaklaştırılıyor, üzerine gelince normale dönüyor. */
.hb-footer-harita iframe{
  border-radius:10px;
  border:1px solid var(--border);
  filter:grayscale(.35) brightness(.82) contrast(1.05);
  transition:filter .4s ease, border-color .4s ease;
}
.hb-footer-harita:hover iframe{
  filter:none;
  border-color:var(--border-em);
}
.hb-footer-harita{ margin-top:14px; }

/* ── HERO TAM EKRAN — HAREKETLİ ŞERİT FOLDUN ALTINDA ────
   Ana sayfada güven şeridi (marquee) sayfa açılışında görünüyordu.
   O şerit sürekli hareket ettiği için ilk saniyede dikkati hero'nun
   mesajından çalıyor; ziyaretçi kaydırdıkça karşılaşması gereken bir
   öğe. Hero görünür alanı tam dolduruyor, şerit tam foldun altında
   başlıyor.

   dvh kullanılıyor: mobilde tarayıcı adres çubuğu gizlenip
   göründükçe görünür yükseklik değişiyor; vh sabit olduğu için
   şerit bir anda görünür hâle geliyordu. dvh dinamik ölçüyü izliyor.
   vh satırı, dvh desteklemeyen eski tarayıcılar için yedek. */
.hb-hero{
  min-height:100vh;
  min-height:100dvh;
}

/* ── FORM ETİKETLERİ ────────────────────────────────────
   Amber etiketler (NAME, EMAIL, MESSAGE) hemen altındaki alana
   değiyor gibi duruyordu: etiket ile input arasında neredeyse
   boşluk yoktu, form sıkışık ve amatör görünüyordu. Etiket-alan
   mesafesi açılıyor, gruplar arası nefes de artırılıyor. */
.elementor-field-group > .elementor-field-label{
  margin-bottom:9px !important;
  display:block;
  line-height:1.4;
}
.elementor-form-fields-wrapper .elementor-field-group{
  margin-bottom:6px;
}

/* ── FOOTER HARİTA KOLONU ───────────────────────────────
   Harita önce iletişim kolonunun altındaydı ve o kolonu uzatıp
   footer'ın tamamını şişiriyordu. Artık en sağda kendi kolonunda:
   footer yüksekliği artmıyor, harita adres bilgisinin yanında
   duruyor. Diğer dört kolon daraldığı için harita kolonu
   olabildiğince ince tutuluyor. */
/* Genişlik KASTEN sabit ve dar. İlk denemede %22 verdim: beş kolonun
   toplamı 1296px oldu ama kap 1180px, satır sarmaladı ve harita
   kolonu alt satıra düşüp logonun altında göründü — istenenin tam
   tersi. Artık harita kolonu sabit 190px ve esnemiyor; satır da
   masaüstünde sarmalamıyor, kalan kolonlar gerekirse daralıyor. */
@media (min-width:1025px){
  .hb-footer-harita-kolon{ width:190px !important; flex:0 0 190px !important; }
  .e-con:has(> .hb-footer-harita-kolon){ flex-wrap:nowrap !important; }
  .e-con-inner:has(> .hb-footer-harita-kolon){ flex-wrap:nowrap !important; }
}
.hb-footer-harita-kolon{ align-self:flex-start; }
.hb-footer-harita-kolon .hb-footer-harita{ margin-top:0; width:100%; }
.hb-footer-harita-kolon iframe{ width:100% !important; }
@media (max-width:1024px){
  .hb-footer-harita-kolon{ margin-top:8px; }
  .hb-footer-harita-kolon .hb-footer-harita iframe{ max-width:420px; }
}

/* ── OKUL KAYIT BÖLÜMÜ ──────────────────────────────────
   19 lokasyon sayfasında kayıt bağlantıları tamamen eksikti; her okul
   kendi ilçesinin portalını kullandığı için bağlantılar lokasyona
   özel. Butonlar yeni sekmede açılıyor (dış site) ve ikincil buton
   birincilin yanında dolu turuncu olmuyor. */
.hb-okul-kayit .hb-okul-btnler{ margin-top:6px; }
.hb-okul-kayit .elementor-widget-button:not(.hb-okul-btn-ikincil) .elementor-button{
  background:var(--ember-btn) !important;
  color:#fff !important;
  border-color:transparent;
}
.hb-okul-kayit .elementor-widget-button:not(.hb-okul-btn-ikincil) .elementor-button:hover{
  background:var(--ember) !important;
}
.hb-okul-btn-ikincil .elementor-button{
  background:transparent !important;
  border:1px solid var(--border-em);
  color:var(--text) !important;
}
.hb-okul-btn-ikincil .elementor-button:hover{
  border-color:var(--ember);
  background:rgba(212,97,31,.10) !important;
}
.hb-okul-kayit h2.elementor-heading-title{ color:var(--text) !important; }
.hb-okul-kayit p{ color:var(--text); line-height:1.62; max-width:62ch; }

/* ── ABOUT: HİKÂYE VİDEOSU ──────────────────────────────
   Canlıda "Hanabi Judo Our Story" videosu vardı, yeniden kurulumda
   düşmüştü. Kendi bölümünde, hikâye anlatımından hemen sonra. */
.hb-hk-video-bolum h2.elementor-heading-title{ color:var(--text) !important; }
.hb-hk-video .elementor-wrapper{
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:0 22px 52px rgba(0,0,0,.42);
}
.hb-hk-video-bolum > .e-con-inner{ max-width:900px; }


/* Judo Classes — sayfa basindaki tanitim videosu.
   Video hero'nun icinde hicbir genislik kurali olmadan duruyordu ve
   kapsayicinin tamamini kapliyordu (1441x810). Hero metninin hemen
   altinda bu olcude bir oynatici sayfanin dengesini bozuyor.
   780px sinir bilincli: 16:9'da 439px yukseklik veriyor, hero basligi
   ile ilk ders karti arasina siginiyor. */
.hb-ders-video{max-width:780px !important;margin-left:auto !important;margin-right:auto !important;width:100% !important}
.hb-ders-video .elementor-widget-container,.hb-ders-video .elementor-wrapper{border-radius:14px;overflow:hidden;border:1px solid var(--border, rgba(255,255,255,.10));box-shadow:0 18px 44px rgba(0,0,0,.38)}
.hb-ders-video iframe,.hb-ders-video video{display:block;width:100%;aspect-ratio:16/9;height:auto}
@media (max-width:767px){.hb-ders-video .elementor-widget-container,.hb-ders-video .elementor-wrapper{border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.32)}}
