/* ═══════════════════════════════════════════════════════════════════════
   FreeFiber — ff-design.css v2.0 | Page Components & Sections
   ═══════════════════════════════════════════════════════════════════════
   Loads AFTER app.css — all tokens available.
   
   Structure:
     1. Home Hero Sections
     2. Altyapı Band
     3. Contact Band
     4. Home Content Sections (stats, values, features, CTA)
     5. Pricing Page (toggle, tech tabs, grid)
     6. Tarife Vitrin (homepage showcase)
     7. Kampanya Cards
     8. Altyapı Sorgula Wizard
     9. About Page
    10. SSS / Yardım Page
    11. Sözleşmeler Page
    12. Speedtest
    13. Animations
   ═══════════════════════════════════════════════════════════════════════ */


/* ── 1. HOME HERO SECTIONS ──────────────────────────────────────────── */
.ff-hero{
  position:relative;overflow:hidden;display:flex;align-items:center;
  min-height:100vh;background:#070A1A;background-size:cover;
  background-position:center;background-repeat:no-repeat;
}
.ff-hero::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(26,20,100,.85),rgba(48,39,130,.75));
}
.ff-hero--first{margin-top:calc(-1 * var(--header-h))}
.ff-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.ff-hero__overlay{
  position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(900px 550px at 5% 55%,rgba(48,39,130,.65),transparent 65%),
    linear-gradient(90deg,rgba(5,7,20,.92) 0%,rgba(5,7,20,.72) 38%,rgba(5,7,20,.28) 72%,rgba(5,7,20,.06) 100%);
}
.ff-hero__inner{
  position:relative;z-index:2;width:100%;max-width:var(--container);
  margin:0 auto;padding:100px 40px;text-align:center;
}
.ff-hero--first .ff-hero__inner{padding-top:calc(var(--header-h) + 60px);padding-bottom:72px}
.ff-hero:not(.ff-hero--first) .ff-hero__inner{padding-top:64px;padding-bottom:72px}
.ff-hero__copy{max-width:620px;margin:0 auto}

.ff-hero__eyebrow{
  display:inline-flex;align-items:center;gap:8px;padding:8px 16px;
  border-radius:var(--r-pill);background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;font-size:13px;font-weight:var(--fw-extrabold);
  letter-spacing:.05em;text-transform:uppercase;margin-bottom:20px;
}
.ff-hero__dot{
  width:8px;height:8px;background:var(--ff-cyan);border-radius:50%;
  animation:dotPulse 2s ease-in-out infinite;
}

.ff-hero__title{
  font-size:clamp(30px,4.2vw,56px);font-weight:var(--fw-extrabold);
  letter-spacing:-0.035em;line-height:1.06;color:#fff;margin:0 0 16px;
  text-shadow:0 2px 20px rgba(0,0,0,.3);
}
.ff-hero__sub{
  font-size:clamp(16px,1.5vw,18px);font-weight:var(--fw-medium);
  color:rgba(255,255,255,.85);line-height:var(--lh-base);margin:0 0 32px;
  max-width:52ch;margin-left:auto;margin-right:auto;
}
.ff-hero__cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

@media(max-width:768px){
  .ff-hero{min-height:calc(100vh - 20px);background-position:80% center}
  .ff-hero__inner{padding:80px 24px}
  .ff-hero__cta{flex-direction:column;align-items:center}
  .hbtn{width:100%;max-width:340px;justify-content:center}
  .ff-hero__title{font-size:clamp(26px,7vw,38px)}
}


/* ── 2. ALTYAPI BAND (between heroes) ──────────────────────────────── */
.altyapi-band{
  background:#07091C;
  background-image:
    radial-gradient(ellipse 70% 90% at 0 50%,rgba(48,39,130,.50) 0%,transparent 62%),
    radial-gradient(ellipse 55% 70% at 100% 50%,rgba(0,173,239,.22) 0%,transparent 58%);
  padding:88px 0;position:relative;overflow:hidden;
}
.altyapi-band::before,.altyapi-band::after{content:'';position:absolute;left:0;right:0;height:1px}
.altyapi-band::before{top:0;background:linear-gradient(90deg,transparent,rgba(0,173,239,.55) 40%,rgba(0,173,239,.20) 60%,transparent)}
.altyapi-band::after{bottom:0;background:linear-gradient(90deg,transparent,rgba(48,39,130,.55) 40%,rgba(48,39,130,.20) 60%,transparent)}
.altyapi-band__inner{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.altyapi-band__head{text-align:center;margin-bottom:52px}
.altyapi-band__head h2{font-size:clamp(26px,3vw,42px);color:#fff;margin-bottom:12px}
.altyapi-band__head p{color:rgba(255,255,255,.58);font-size:16px;font-weight:var(--fw-medium);max-width:54ch;margin:0 auto}

.air-badge{
  display:inline-flex;align-items:center;gap:9px;margin-top:16px;padding:8px 18px;
  border-radius:var(--r-pill);background:rgba(0,173,239,.14);border:1px solid rgba(0,173,239,.30);
  color:var(--ff-cyan);font-size:13px;font-weight:var(--fw-bold);
}

.altyapi-band__card{
  max-width:740px;margin:0 auto;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.11);border-radius:var(--r-xl);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:44px 48px;
}
/* Override wizard styles inside dark band */
.altyapi-band__card .ff-wizard-bg{background:transparent!important;padding:0!important}
.altyapi-band__card .ff-wrap{width:100%!important;max-width:100%!important}
.altyapi-band__card .ff-title{display:none}
.altyapi-band__card .query-card{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;backdrop-filter:none!important}
.altyapi-band__card .ff-label{color:rgba(255,255,255,.75)!important}
.altyapi-band__card #ffHint,.altyapi-band__card .ff-meta{color:rgba(255,255,255,.50)!important}
.altyapi-band__card .ff-pill{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.15)!important;color:#fff!important}
.altyapi-band__card .ff-pill .k{color:rgba(255,255,255,.60)!important}
.altyapi-band__card .ff-pill .v{color:#fff!important}
.altyapi-band__card .ff-btn{
  background:var(--ff-cyan)!important;border-color:var(--ff-cyan)!important;color:#fff!important;
  font-family:var(--font)!important;font-weight:var(--fw-bold)!important;
  border-radius:var(--r-pill)!important;height:48px!important;
  font-size:15px!important;box-shadow:var(--sh-cyan)!important;
}
.altyapi-band__card .ff-btn:hover:not(:disabled){background:var(--ff-cyan-lt)!important;transform:translateY(-1px)!important}
.altyapi-band__card .ff-btn:disabled{background:rgba(255,255,255,.15)!important;border-color:transparent!important;box-shadow:none!important}

/* Tarife suggestion */
.altyapi-tarife-suggestion{margin-top:24px;padding:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-md)}
.altyapi-tarife-suggestion__label{font-size:12px;font-weight:var(--fw-bold);letter-spacing:.05em;color:var(--ff-cyan);text-transform:uppercase;margin-bottom:12px}
.altyapi-tarife-cards{display:flex;gap:12px;flex-wrap:wrap}
.ats-card{flex:1;min-width:170px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);border-radius:var(--r-md);padding:16px;text-align:center}
.ats-card__speed{font-size:22px;font-weight:var(--fw-extrabold);color:#fff;letter-spacing:-.03em}
.ats-card__name{font-size:12px;color:rgba(255,255,255,.55);margin:4px 0 12px}
.ats-card__btn{display:block;padding:8px 16px;border-radius:var(--r-pill);background:var(--ff-cyan);color:#fff;font-size:13px;font-weight:var(--fw-bold);text-decoration:none;transition:background var(--dur-fast)}
.ats-card__btn:hover{background:var(--ff-cyan-lt)}

@media(max-width:640px){.altyapi-band{padding:60px 0}.altyapi-band__card{padding:28px 20px}}


/* ── 3. CONTACT BAND (between heroes) ──────────────────────────────── */
.contact-band{
  background:linear-gradient(140deg,#1D1564 0%,#302782 45%,#1a4a7a 100%);
  padding:80px 0;text-align:center;position:relative;overflow:hidden;
}
.contact-band::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.contact-band::after{content:'';position:absolute;inset:0;background:radial-gradient(480px 280px at 20% 50%,rgba(0,173,239,.18),transparent),radial-gradient(380px 260px at 80% 50%,rgba(48,39,130,.25),transparent);pointer-events:none}
.contact-band__inner{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:0 var(--gutter)}
.contact-band__eyebrow{display:inline-block;font-size:11px;font-weight:var(--fw-bold);letter-spacing:.10em;text-transform:uppercase;color:var(--ff-cyan);margin-bottom:16px}
.contact-band__title{font-size:clamp(24px,3vw,40px);font-weight:var(--fw-extrabold);color:#fff;margin-bottom:12px;letter-spacing:-.03em}
.contact-band__sub{color:rgba(255,255,255,.62);font-size:16px;margin-bottom:40px;line-height:var(--lh-base)}
.contact-band__actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

.cbtn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:54px;padding:0 30px;border-radius:var(--r-pill);
  font-family:var(--font);font-size:15px;font-weight:var(--fw-bold);
  text-decoration:none;border:none;cursor:pointer;white-space:nowrap;
  transition:transform var(--dur-base),box-shadow var(--dur-base),background var(--dur-fast);
}
.cbtn--iletisim{background:#fff;color:var(--ff-navy);box-shadow:0 8px 28px rgba(0,0,0,.28)}
.cbtn--iletisim:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(0,0,0,.38)}
.cbtn--whatsapp{background:#25D366;color:#fff;box-shadow:0 8px 24px rgba(37,211,102,.38)}
.cbtn--whatsapp:hover{background:#1ebe5a;transform:translateY(-2px);box-shadow:0 14px 32px rgba(37,211,102,.50)}
@media(max-width:500px){.contact-band__actions{flex-direction:column;align-items:center}.cbtn{width:100%;max-width:320px}}


/* ── 4. HOME CONTENT SECTIONS ───────────────────────────────────────── */
.home-section{padding:80px 0}
.home-section--tinted{background:rgba(255,255,255,.55)}

/* Altyapı section (light variant) */
.altyapi-section{background:linear-gradient(135deg,#f8fafc 0%,#e0e7ff 50%,#dbeafe 100%);padding:80px 0;position:relative}
.altyapi-section::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23302782' fill-opacity='.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");opacity:.5;pointer-events:none}
.altyapi-section h2{font-size:clamp(28px,4vw,42px);font-weight:var(--fw-extrabold);color:var(--ff-navy)!important;margin:0 0 12px;position:relative}
.altyapi-section p{font-size:18px;color:var(--gray-700);margin:0 0 24px;position:relative}
.altyapi-toggle-btn{
  display:flex;align-items:center;justify-content:center;gap:12px;
  width:100%;max-width:600px;margin:0 auto 32px;padding:20px;
  background:var(--grad-navy);color:#fff;border:none;border-radius:var(--r-md);
  font-size:18px;font-weight:var(--fw-extrabold);cursor:pointer;
  box-shadow:0 4px 20px rgba(48,39,130,.3);position:relative;
  transition:transform var(--dur-fast),box-shadow var(--dur-fast);
}
.altyapi-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(48,39,130,.4)}
.altyapi-toggle-btn svg{transition:transform .3s}
.altyapi-toggle-btn.is-open svg{transform:rotate(180deg)}
.altyapi-content{max-height:0;overflow:hidden;transition:max-height .5s ease;position:relative}
.altyapi-content.is-open{max-height:2000px}

/* Stats */
.stats-band{padding:60px 0;background:var(--bg-soft)}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--gray-200);border-radius:var(--r-lg);overflow:hidden}
.stat-box{text-align:center;padding:40px 24px;border-right:1px solid rgba(48,39,130,.08)}
.stat-box:last-child{border-right:none}
.stat-number{display:block;font-size:clamp(36px,4vw,48px);font-weight:var(--fw-extrabold);color:var(--ff-navy);letter-spacing:-.03em;line-height:1;margin-bottom:6px}
.stat-label{display:block;font-size:12px;font-weight:var(--fw-bold);color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em}
@media(max-width:640px){.stats-row{grid-template-columns:repeat(2,1fr)}.stat-box:nth-child(2){border-right:none}.stat-box:nth-child(-n+2){border-bottom:1px solid var(--gray-200)}}

/* Neden FreeFiber */
.why-section{padding:80px 0;background:var(--bg-soft)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1200px;margin:0 auto;padding:0 40px}
.why-card{background:#fff;border:2px solid rgba(48,39,130,.1);border-radius:20px;padding:28px 20px;text-align:center;transition:border-color var(--dur-base),box-shadow var(--dur-base),transform var(--dur-base)}
.why-card:hover{border-color:var(--ff-cyan);box-shadow:var(--sh-md);transform:translateY(-4px)}
.why-card__icon{width:56px;height:56px;margin:0 auto 16px;background:var(--grad-navy);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}
.why-card__icon svg{width:28px;height:28px}
.why-card__title{font-size:18px;font-weight:var(--fw-extrabold);color:#1a1464;margin:0 0 10px}
.why-card__desc{font-size:14px;color:var(--gray-700);line-height:1.5;margin:0}
@media(max-width:1200px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.why-grid{padding:0 24px;grid-template-columns:1fr}}

/* Contact CTA (end of home) */
.contact-cta{padding:80px 40px;background:linear-gradient(135deg,#302782 0%,#1a1464 100%);text-align:center;color:#fff;position:relative;overflow:hidden}
.contact-cta::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
.contact-cta h2{font-size:clamp(28px,4vw,42px);font-weight:var(--fw-extrabold);margin:0 0 16px;color:#fff!important;position:relative;z-index:1}
.contact-cta p{font-size:18px;opacity:.95;margin:0 0 32px;position:relative;z-index:1}
.contact-cta__buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
@media(max-width:768px){.contact-cta{padding:60px 24px}}


/* ── 5. PRICING PAGE ────────────────────────────────────────────────── */
.pricing-page{padding:40px 0 80px}

/* Toggle: Taahhütsüz / Taahhütlü */
.pricing-toggle{text-align:center;margin-bottom:48px}
.segmented{display:inline-flex;gap:12px;justify-content:center;align-items:center}
.segmented__item{position:relative}
.segmented__item input[type="radio"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.segmented__item span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:180px;height:52px;padding:0 32px;border-radius:var(--r-pill);
  background:var(--ff-navy);border:2px solid var(--ff-navy);color:#fff;
  font-family:var(--font);font-size:15px;font-weight:var(--fw-bold);
  letter-spacing:.02em;cursor:pointer;user-select:none;white-space:nowrap;
  transition:all 240ms var(--ease-io);
}
.segmented__item input:checked + span{box-shadow:0 8px 24px rgba(48,39,130,.35)}
.segmented__item span:hover{color:#00FFFF;border-color:#00FFFF;box-shadow:0 0 0 2px #00FFFF}
.segmented__item input:checked + span:hover{transform:scale(1.02);color:#00FFFF;border-color:#00FFFF}

/* Tech tabs */
.tech-tabs{display:flex!important;gap:10px;flex-wrap:wrap;margin-bottom:40px;justify-content:center!important}
.tech-tab{
  height:42px;padding:0 24px;border-radius:var(--r-pill);
  border:1.5px solid var(--gray-200);background:#fff;
  font-family:var(--font);font-size:14px;font-weight:var(--fw-bold);
  color:var(--gray-600);cursor:pointer;
  transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast);
}
.tech-tab:hover{border-color:var(--ff-cyan);color:var(--ff-cyan)}
.tech-tab.is-active{background:var(--ff-cyan);border-color:var(--ff-cyan);color:#fff;box-shadow:0 4px 16px rgba(0,173,239,.3)}

/* Pricing grid */
.pricing-grid{
  display:flex!important;flex-wrap:wrap!important;justify-content:center!important;
  gap:24px!important;max-width:100%!important;margin:0 0 60px!important;
}
.pricing-grid > *{flex:0 0 auto!important;width:clamp(260px,calc(33.333% - 16px),400px)!important}
@media(max-width:992px){.pricing-grid > *{width:clamp(260px,calc(50% - 12px),400px)!important}}
@media(max-width:640px){.pricing-grid > *{width:100%!important;max-width:100%!important}}
.pricing-grid .col-12,.pricing-grid .col-md-4,.pricing-grid .col-lg-4{padding:0!important;margin:0!important;max-width:100%!important;flex:0 0 auto!important}


/* ── 6. TARIFE VITRIN (homepage) ────────────────────────────────────── */
.tarife-vitrin-section{position:relative;z-index:5;padding-bottom:80px}
.tarife-vitrin-desktop{display:block}
.tarife-vitrin-mobile{display:none}
.tarife-vitrin-scroll{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;overflow:visible}
.tarife-vitrin-card{
  background:#fff;border:2px solid rgba(48,39,130,.1);border-radius:20px;
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.tarife-vitrin-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(48,39,130,.15);border-color:var(--ff-cyan)}

/* Visual wrapper: image + badge overlay */
.tarife-vitrin-visual{
  position:relative;width:100%;overflow:hidden;
  border-radius:18px 18px 0 0;
}
img.tarife-vitrin-img{
  display:block;width:100%;height:180px;
  object-fit:cover;object-position:center;
  background:#f0eff6;
}
.tarife-vitrin-badge{
  position:absolute;top:14px;left:14px;z-index:2;
  display:inline-block;background:var(--ff-navy);color:#fff;
  font-size:12px;font-weight:var(--fw-extrabold);
  padding:6px 14px;border-radius:8px;
  text-transform:uppercase;letter-spacing:.03em;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
}
.tarife-vitrin-badge--airfiber{background:var(--ff-cyan)}

/* Hide old icon element if present */
.tarife-vitrin-icon{display:none}

/* Card body */
.tarife-vitrin-body{padding:24px 28px;display:flex;flex-direction:column;flex:1}
.tarife-vitrin-title{font-size:22px;font-weight:var(--fw-extrabold);color:var(--ff-navy);margin:0 0 12px;line-height:1.3;min-height:56px}
.tarife-vitrin-desc{font-size:14px;color:var(--gray-700);line-height:1.6;margin:0 0 20px;flex:1}
.tarife-vitrin-features{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:10px}
.tarife-vitrin-features li{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:var(--fw-bold);color:var(--gray-700)}
.tarife-vitrin-features svg{width:16px;height:16px;color:var(--ff-cyan);flex-shrink:0}
.tarife-vitrin-price{text-align:center;padding:16px 0;border-top:2px solid rgba(48,39,130,.08);border-bottom:2px solid rgba(48,39,130,.08);margin-bottom:20px}
.price-from{display:block;font-size:28px;font-weight:var(--fw-extrabold);color:var(--ff-navy);margin-bottom:4px}
.price-period{display:block;font-size:13px;font-weight:var(--fw-semibold);color:var(--gray-600)}
.tarife-vitrin-btn{display:block;width:100%;padding:14px;background:var(--ff-navy);color:#fff;border-radius:12px;font-weight:var(--fw-extrabold);font-size:15px;text-align:center;text-decoration:none;transition:background .2s ease,transform .2s ease}
.tarife-vitrin-btn:hover{background:var(--ff-navy-dk);transform:translateY(-2px)}
@media(max-width:1024px){.tarife-vitrin-scroll{grid-template-columns:repeat(2,1fr);gap:24px}}
@media(max-width:768px){
  .tarife-vitrin-scroll{grid-template-columns:1fr;gap:20px;overflow:visible}
  .tarife-vitrin-desktop{display:none}
  .tarife-vitrin-mobile{display:flex;flex-direction:column;gap:20px}
  .tarife-vitrin-title{min-height:auto}
  .tarife-vitrin-desc{min-height:auto}
  .tarife-vitrin-features{display:none}
  .tarife-vitrin-section .home-container{padding:40px 24px!important}
  img.tarife-vitrin-img{height:150px}
  .tarife-vitrin-body{padding:20px 22px}
}


/* ── 7. KAMPANYA CARDS ──────────────────────────────────────────────── */
.kampanya-section{padding:80px 0;background:#fff}
.kampanya-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;max-width:1200px;margin:0 auto;padding:0 40px}
.kamp-modern-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:2px solid rgba(48,39,130,.1);border-radius:20px;padding:32px;position:relative;overflow:hidden;transition:border-color var(--dur-base),box-shadow var(--dur-base)}
.kamp-modern-card:hover{border-color:var(--ff-cyan);box-shadow:var(--sh-md)}
.kamp-modern-card__badge{display:inline-block;background:var(--grad-navy);color:#fff;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:var(--fw-extrabold);margin-bottom:16px}
.kamp-modern-card__title{font-size:24px;font-weight:var(--fw-extrabold);color:#1a1464;margin:0 0 16px;line-height:1.3}
.kamp-modern-card__desc{font-size:15px;color:var(--gray-700);line-height:1.6;margin:0 0 24px}
.kamp-modern-card__link{color:var(--ff-cyan);font-weight:var(--fw-extrabold);text-decoration:none;display:inline-flex;align-items:center;gap:8px;font-size:15px}

/* Kampanya modern layout */
.kampanya-modern-grid{display:flex;flex-direction:column;gap:32px;margin-bottom:32px}
.kampanya-modern-card{position:relative;background:#fff;border:2px solid rgba(48,39,130,.1);border-radius:20px;padding:32px;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease}
.kampanya-modern-card:hover{border-color:var(--ff-cyan);box-shadow:0 8px 32px rgba(0,173,239,.12)}
.kampanya-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.kampanya-badge{display:inline-flex;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:var(--fw-extrabold);text-transform:uppercase;letter-spacing:.5px}
.kampanya-badge--primary{background:var(--grad-navy);color:#fff}
.kampanya-badge--secondary{background:var(--grad-cyan);color:#fff}
.kampanya-badge--airfiber{background:linear-gradient(135deg,var(--ff-teal),var(--ff-teal-dk));color:#fff}
.kampanya-period{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:var(--fw-bold);color:var(--gray-600)}
.kampanya-period svg{width:16px;height:16px;color:var(--ff-cyan)}
.kampanya-card-body{margin-bottom:28px}
.kampanya-card-title{font-size:28px;font-weight:var(--fw-extrabold);color:#1a1464;margin:0 0 16px;line-height:1.3}
.kampanya-card-desc{font-size:16px;color:var(--gray-700);line-height:1.6;margin:0 0 24px}
.kampanya-highlights{display:flex;flex-wrap:wrap;gap:16px}
.kampanya-highlight{display:flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(0,173,239,.08);border-radius:8px;font-size:14px;font-weight:var(--fw-bold);color:#302782}
.kampanya-highlight svg{flex-shrink:0;stroke:var(--ff-cyan)}
.kampanya-card-footer{display:flex;gap:12px;flex-wrap:wrap}

.kampanya-badge-ribbon{position:absolute;top:80px;right:-12px;background:var(--grad-navy);color:#fff;padding:12px 24px;border-radius:8px 0 0 8px;box-shadow:-4px 4px 12px rgba(48,39,130,.2);font-weight:var(--fw-extrabold);text-align:center;min-width:100px;z-index:2}
.kampanya-badge-ribbon--secondary{background:var(--grad-cyan)}
.kampanya-badge-ribbon .ribbon-text{display:block;font-size:22px;line-height:1.2}
.kampanya-badge-ribbon .ribbon-sub{display:block;font-size:11px;letter-spacing:1px;opacity:.9}
.kampanya-dipnot{text-align:center;font-size:13px;color:var(--gray-600);font-style:italic;margin:32px 0 0;padding-top:24px;border-top:2px solid rgba(48,39,130,.1)}

/* Kampanya expand/toggle */
.kampanya-toggle-btn{display:inline-flex;align-items:center;gap:12px;background:linear-gradient(135deg,var(--ff-teal),var(--ff-teal-dk));color:#fff;border:none;padding:16px 32px;border-radius:12px;font-size:16px;font-weight:var(--fw-extrabold);cursor:pointer;box-shadow:0 4px 12px rgba(6,182,212,.2);transition:transform var(--dur-fast),box-shadow var(--dur-fast)}
.kampanya-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(6,182,212,.3)}
.kampanya-toggle-btn svg{transition:transform .3s}
.kampanya-close-btn{display:inline-flex;align-items:center;gap:8px;background:rgba(48,39,130,.1);color:var(--ff-navy);border:none;padding:12px 24px;border-radius:10px;font-size:15px;font-weight:var(--fw-bold);cursor:pointer;transition:background .2s ease,transform .2s ease}
.kampanya-close-btn:hover{background:rgba(48,39,130,.15);transform:translateY(-2px)}
.kampanya-expand-content{max-height:0;overflow:hidden;opacity:0;margin-top:0;transition:max-height .5s ease,opacity .5s ease,margin-top .5s ease}
.kampanya-expand-content.is-open{max-height:2000px;opacity:1;margin-top:40px}
.kampanya-expand-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.kampanya-expand-card{background:#fff;border:2px solid rgba(6,182,212,.2);border-radius:16px;padding:24px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.kampanya-expand-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(6,182,212,.15);border-color:var(--ff-teal)}
.kampanya-expand-badge{display:inline-block;background:linear-gradient(135deg,var(--ff-teal),var(--ff-teal-dk));color:#fff;font-size:11px;font-weight:var(--fw-extrabold);padding:6px 12px;border-radius:6px;text-transform:uppercase;margin-bottom:12px}
.kampanya-expand-title{font-size:20px;font-weight:var(--fw-extrabold);color:var(--ff-navy);margin:0 0 10px}
.kampanya-expand-desc{font-size:13px;color:var(--gray-700);line-height:1.5;margin:0 0 16px}
.kampanya-expand-features{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.kampanya-expand-features span{font-size:12px;font-weight:var(--fw-semibold);color:var(--gray-600);background:rgba(6,182,212,.08);padding:4px 10px;border-radius:6px}
.kampanya-expand-price{font-size:32px;font-weight:var(--fw-extrabold);color:var(--ff-navy);margin-bottom:16px}
.kampanya-expand-price span{font-size:16px;font-weight:var(--fw-bold);color:var(--gray-600)}
.kampanya-expand-btn{display:block;width:100%;padding:12px;background:linear-gradient(135deg,var(--ff-teal),var(--ff-teal-dk));color:#fff;border-radius:10px;font-weight:var(--fw-extrabold);font-size:14px;text-align:center;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.kampanya-expand-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(6,182,212,.3)}

/* Kampanya modal */
.kampanya-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
.kampanya-modal.is-open{display:flex}
.kampanya-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
.kampanya-modal-dialog{position:relative;background:#fff;border-radius:20px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;z-index:1;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.kampanya-modal-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:10px;border:none;background:rgba(48,39,130,.1);color:var(--gray-700);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease;z-index:2}
.kampanya-modal-close:hover{background:rgba(48,39,130,.2);transform:rotate(90deg)}
.kampanya-modal-content{padding:40px}
.km-badge{display:inline-block;background:var(--grad-navy);color:#fff;padding:10px 20px;border-radius:8px;font-size:13px;font-weight:var(--fw-extrabold);text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px}
.km-title{font-size:28px;font-weight:var(--fw-extrabold);color:#1a1464;margin:0 0 12px;line-height:1.3}
.km-sub{font-size:18px;font-weight:var(--fw-bold);color:var(--gray-600);margin:0 0 32px}
.km-list{display:flex;flex-direction:column;gap:20px}
.km-row{display:flex;gap:20px;padding:24px;background:rgba(48,39,130,.03);border-left:4px solid var(--ff-cyan);border-radius:12px}
.km-row__num{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:var(--grad-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--fw-extrabold);font-size:18px}
.km-row__body h4{font-size:16px;font-weight:var(--fw-extrabold);color:#1a1464;margin:0 0 8px}
.km-row__body{font-size:14px;color:var(--gray-700);line-height:1.6}

@media(max-width:768px){
  .kampanya-card-title{font-size:22px}
  .kampanya-highlights{flex-direction:column}
  .kampanya-badge-ribbon{right:-8px;padding:10px 16px;min-width:80px;top:70px}
  .kampanya-badge-ribbon .ribbon-text{font-size:18px}
  .kampanya-modal-content{padding:24px}
  .kampanya-card-header{margin-bottom:32px}
  .kampanya-expand-grid{grid-template-columns:1fr;gap:20px}
  .kampanya-grid{padding:0 24px;grid-template-columns:1fr}
}


/* ── 8. ALTYAPI SORGULA WIZARD ──────────────────────────────────────── */
.ff-wizard-bg{
  --ff-bg-1:#f4f7ff;--ff-card:rgba(255,255,255,0.90);
  --ff-border:rgba(48,39,130,0.14);--ff-shadow:0 24px 60px rgba(16,24,40,0.16);
  --ff-text:#0f172a;--ff-muted:#475569;--ff-radius:22px;
  position:relative;padding:28px 0 80px;background:var(--ff-bg-1);
}
.ff-wizard-bg::before{
  content:"";position:fixed;left:0;right:0;top:0;height:320px;
  background:radial-gradient(1200px 420px at 15% 10%,rgba(0,173,239,.22),transparent 60%),
             radial-gradient(900px 420px at 85% 0,rgba(48,39,130,.28),transparent 55%),
             linear-gradient(135deg,rgba(48,39,130,.18),rgba(0,173,239,.10));
  z-index:-1;pointer-events:none;
}
.ff-wrap{width:min(1040px,92vw);margin:0 auto;color:var(--ff-text)}
.ff-title{text-align:center;margin:8px 0 24px}
.ff-title h2{margin:0;font-size:clamp(22px,2.2vw,30px);font-weight:var(--fw-extrabold);letter-spacing:-.02em;color:var(--ff-text)}
.ff-title p{margin:8px 0 0;color:rgba(15,23,42,.70);font-weight:var(--fw-semibold)}

.query-card{
  background:var(--ff-card);border:1px solid var(--ff-border);border-radius:var(--ff-radius);
  box-shadow:var(--ff-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  padding:24px;max-width:100%;
}
.ff-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:100%}
@media(max-width:768px){.ff-form{grid-template-columns:1fr}}
.ff-field{display:flex;flex-direction:column;position:relative;z-index:1}

.ff-pill{
  display:inline-flex;align-items:center;gap:6px;padding:6px 14px;
  border-radius:var(--r-pill);border:1px solid rgba(48,39,130,.15);
  background:rgba(255,255,255,.65);font-size:13px;font-weight:var(--fw-semibold);
}
.ff-pill .k{color:var(--text-muted)}
.ff-pill .v{color:var(--text);font-weight:var(--fw-bold)}

.ff-btn{
  height:52px;border-radius:14px;border:0;background:var(--ff-navy);color:#fff;
  font-weight:var(--fw-extrabold);font-size:14px;letter-spacing:.01em;cursor:pointer;
  box-shadow:0 12px 26px rgba(48,39,130,.22);
  display:inline-flex;align-items:center;justify-content:center;padding:0 30px;
  transition:transform .12s ease;
}
.ff-btn:active{transform:translateY(1px)}
.ff-btn:disabled{opacity:.5;cursor:not-allowed}
.ff-btn-ghost{background:rgba(48,39,130,.08);color:var(--ff-navy);box-shadow:none;border:1px solid rgba(48,39,130,.16)}
.ff-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}

/* Steps */
.ff-steps{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}
.ff-step{cursor:pointer;position:relative;transition:opacity .2s ease}
.ff-step-circle{
  width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:var(--fw-extrabold);color:rgba(48,39,130,.75);border:1px solid rgba(48,39,130,.20);
  background:rgba(255,255,255,.75);box-shadow:0 10px 22px rgba(48,39,130,.10);
  transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.ff-step.active .ff-step-circle{background:var(--ff-navy);color:#fff;border-color:var(--ff-navy);box-shadow:0 8px 20px rgba(48,39,130,.45);transform:scale(1.1)}
.ff-step.done .ff-step-circle{background:rgba(48,39,130,.05);border-color:rgba(48,39,130,.3);color:rgba(48,39,130,.6);box-shadow:none}
.ff-step-line{width:40px;height:2px;background:rgba(48,39,130,.15);border-radius:var(--r-pill)}

/* Altyapı sorgula fields */
.altyapi-card-main{min-height:720px;display:flex;flex-direction:column}
.altyapi-form{display:flex;flex-direction:column;gap:20px;flex:1}
.altyapi-field{display:none;max-width:600px;margin:0 auto;width:100%;text-align:center}
.altyapi-field.is-visible{display:block;animation:fadeIn .3s}
.altyapi-label{display:block;font-size:14px;font-weight:var(--fw-bold);color:var(--ff-navy);margin-bottom:8px;text-align:center}
.altyapi-button-wrapper{display:none;max-width:600px;margin:32px auto 0;width:100%;text-align:center}
.altyapi-button-wrapper.is-visible{display:block}
.altyapi-result{display:none;margin-top:auto;padding-top:32px}
.altyapi-result.is-visible{display:block;animation:fadeIn .3s}
.altyapi-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:600px;margin:0 auto}
.altyapi-result-item{background:rgba(0,173,239,.05);border:2px solid rgba(0,173,239,.2);border-radius:16px;padding:24px;text-align:center}
.altyapi-result-label{font-size:13px;font-weight:var(--fw-bold);color:var(--gray-600);text-transform:uppercase;margin-bottom:8px;letter-spacing:.5px}
.altyapi-result-value{font-size:32px;font-weight:var(--fw-extrabold);color:var(--ff-navy);line-height:1.2}
.altyapi-error{display:none;padding:14px 18px;background:rgba(239,68,68,.1);border:2px solid rgba(239,68,68,.3);border-radius:12px;color:#b91c1c;font-size:14px;font-weight:var(--fw-semibold);margin:16px 0;text-align:center;max-width:600px;margin-left:auto;margin-right:auto}
.altyapi-error.is-visible{display:block}
@media(max-width:768px){.altyapi-result-grid{grid-template-columns:1fr}.altyapi-card-main{min-height:600px}}


/* ── 9. ABOUT PAGE ──────────────────────────────────────────────────── */
.about-content{max-width:800px;margin:0 auto;padding:20px 0}
.about-intro{text-align:center;margin-bottom:48px}
.about-icon{width:120px;height:120px;margin:0 auto 24px;padding:12px;background:linear-gradient(135deg,rgba(48,39,130,.05),rgba(0,173,239,.05));border-radius:20px;border:2px solid rgba(48,39,130,.1)}
.about-icon svg{width:100%;height:100%}
.about-section-title{font-size:32px;font-weight:var(--fw-extrabold);color:#1a1464;margin:0;line-height:1.3}
.about-text-content{margin-bottom:48px}
.about-paragraph{font-size:17px;line-height:1.8;color:var(--gray-700);margin:0 0 24px;text-align:justify}
.about-paragraph--highlight{background:rgba(0,173,239,.05);padding:20px 24px;border-left:4px solid var(--ff-cyan);border-radius:12px;font-weight:var(--fw-semibold);color:#302782}
.about-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-bottom:48px}
.about-feature-card{background:rgba(255,255,255,.8);border:2px solid rgba(48,39,130,.1);border-radius:16px;padding:24px;text-align:center;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.about-feature-card:hover{border-color:var(--ff-cyan);box-shadow:0 4px 16px rgba(0,173,239,.1);transform:translateY(-4px)}
.about-feature-icon{width:64px;height:64px;margin:0 auto 16px;background:var(--grad-navy);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}
.about-feature-title{font-size:18px;font-weight:var(--fw-extrabold);color:#1a1464;margin:0 0 8px}
.about-feature-desc{font-size:14px;color:var(--gray-600);margin:0;line-height:1.5}
.about-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
@media(max-width:768px){.about-section-title{font-size:26px}.about-paragraph{font-size:16px;text-align:left}.about-features{grid-template-columns:1fr}.about-cta{flex-direction:column}.about-cta .bt-btn{width:100%}}


/* ── 10. SSS / YARDIM PAGE ──────────────────────────────────────────── */
.sss-search-section{margin-bottom:48px}
.sss-search-wrapper{position:relative;max-width:700px;margin:0 auto}
.sss-search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:22px;height:22px;color:var(--gray-400);pointer-events:none}
.sss-search-input{width:100%;padding:16px 50px;border:2px solid rgba(48,39,130,.15);border-radius:14px;font-size:16px;font-weight:var(--fw-semibold);font-family:var(--font);color:var(--gray-800);background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.sss-search-input:focus{outline:none;border-color:var(--ff-cyan);box-shadow:0 0 0 3px rgba(0,173,239,.1)}
.sss-search-input::placeholder{color:var(--gray-400)}
.sss-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:8px;border:none;background:rgba(48,39,130,.1);color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}
.sss-search-clear:hover{background:rgba(48,39,130,.15)}
.sss-search-results{margin-top:24px;display:none}
.sss-search-results.is-visible{display:block}
.sss-search-result-item{background:#fff;border:2px solid rgba(48,39,130,.1);border-radius:12px;padding:20px;margin-bottom:12px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}
.sss-search-result-item:hover{border-color:var(--ff-cyan);box-shadow:0 4px 12px rgba(0,173,239,.08)}
.sss-search-result-question{font-size:16px;font-weight:var(--fw-extrabold);color:var(--ff-navy);margin-bottom:8px}
.sss-search-result-answer{font-size:14px;color:var(--gray-700);line-height:1.6}
.sss-search-result-category{display:inline-block;font-size:12px;font-weight:var(--fw-bold);color:var(--ff-cyan);background:rgba(0,173,239,.1);padding:4px 10px;border-radius:6px;margin-top:8px}
.sss-no-results{text-align:center;padding:40px 20px;color:var(--gray-500)}
.sss-category{margin-bottom:48px}
.sss-category-title{font-size:24px;font-weight:var(--fw-extrabold);color:var(--ff-navy);margin:0 0 24px;padding-bottom:12px;border-bottom:3px solid var(--ff-cyan)}
.sss-footer-note{margin-top:48px;padding-top:32px;border-top:2px solid rgba(48,39,130,.1);text-align:center}
.sss-footer-note p{font-size:15px;color:var(--gray-600);margin:0}
.sss-footer-note a{color:var(--ff-cyan);text-decoration:none;font-weight:var(--fw-bold)}
.sss-footer-note a:hover{text-decoration:underline}
mark{background:rgba(0,173,239,.2);color:var(--ff-navy);padding:2px 4px;border-radius:3px;font-weight:var(--fw-bold)}


/* ── 11. SÖZLEŞMELER PAGE ───────────────────────────────────────────── */
.doc-list{display:flex;flex-direction:column;gap:16px;margin:20px 0 32px}
.doc-item{display:flex;align-items:center;gap:16px;padding:18px 20px;background:#fff;border:1px solid var(--gray-200);border-radius:14px;transition:box-shadow var(--dur-base),border-color var(--dur-base)}
.doc-item:hover{box-shadow:0 4px 16px rgba(13,18,48,.10);border-color:rgba(48,39,130,.18)}
.doc-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(48,39,130,.06);border-radius:10px}
.doc-info{flex:1;min-width:0}
.doc-info h3{font-size:15px;font-weight:var(--fw-bold);color:var(--gray-900);margin:0 0 4px}
.doc-info p{font-size:13px;color:var(--gray-500);margin:0;line-height:1.5}
@media(max-width:640px){.doc-item{flex-wrap:wrap}.doc-item .btn{width:100%;margin-left:64px}}


/* ── 12. SPEEDTEST ──────────────────────────────────────────────────── */
.speedtest-modern-section{padding:0}
.speedtest-section-title{font-size:28px;font-weight:var(--fw-extrabold);color:var(--ff-navy);margin:0 0 12px}
.speedtest-section-desc{font-size:16px;color:var(--gray-600);margin:0 0 32px;font-weight:var(--fw-semibold)}
.speedtest-frame-wrapper{border-radius:var(--r-md);overflow:hidden;border:2px solid rgba(48,39,130,.08);background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.04)}
.speedtest-iframe-modern{width:100%;height:600px;border:none;display:block}
@media(max-width:768px){.speedtest-iframe-modern{height:500px}}
@media(max-width:480px){.speedtest-iframe-modern{height:450px}}


/* ── 13. HOME CONTAINER & BT-MAIN-CARD ──────────────────────────────── */
.home-container{max-width:1200px;margin:0 auto;padding:0 32px}
@media(min-width:1280px){.home-container{padding:0 40px}}
@media(max-width:768px){.home-container{padding:0 20px}}

.bt-main-card{
  background:rgba(255,255,255,.95);border:1px solid var(--border);
  border-radius:var(--r-xl);box-shadow:var(--sh-sm);
  margin:0 auto 20px;max-width:1120px;padding:36px;
  transition:box-shadow var(--dur-base);
}
.bt-main-card>.container{max-width:100%;padding:0}
.bt-main-card--glass{background:rgba(255,255,255,.95);backdrop-filter:blur(10px)}
@media(max-width:768px){.bt-main-card{margin-left:12px;margin-right:12px;padding:24px 18px}}


/* ── 14. (tarife-vitrin-img moved to section 6 above) ────────────────── */


/* ── 15. KAMPANYA CARD IMAGE (home single card) ─────────────────────── */
.kampanya-section .kampanya-modern-card{
  display:flex;align-items:stretch;overflow:hidden;
  background:linear-gradient(105deg,rgba(5,7,22,.93) 0%,rgba(5,7,22,.72) 38%,rgba(5,7,22,.28) 64%,rgba(5,7,22,.08) 84%),
             var(--ff-navy);
  border-color:rgba(255,255,255,.08);min-height:300px;
}
.kampanya-card-img{
  width:300px;min-height:100%;flex-shrink:0;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  border-radius:18px;margin:40px 14px;overflow:hidden;position:relative;
}
.kampanya-card-body-wrap{
  flex:1;padding:32px 28px;display:flex;flex-direction:column;justify-content:center;min-width:0;
}
.kampanya-section .kampanya-card-header{
  display:flex;flex-direction:column;align-items:flex-start;margin-bottom:12px;border:none;padding:0;background:none;gap:8px;
}
.kampanya-section .kampanya-badge{
  display:inline-block;padding:6px 14px;border-radius:var(--r-pill);
  font-size:11px;font-weight:var(--fw-extrabold);text-transform:uppercase;letter-spacing:.05em;width:fit-content;
  background:rgba(255,255,255,.15);color:#fff;
}
.kampanya-section .kampanya-card-title{font-size:22px;font-weight:var(--fw-extrabold);color:#fff;letter-spacing:-.02em;line-height:1.3;margin:0 0 10px}
.kampanya-section .kampanya-card-desc{font-size:14px;color:rgba(255,255,255,.7);line-height:1.6;margin:0 0 16px}
.kampanya-section .kampanya-card-footer{display:flex;gap:10px;flex-wrap:wrap;padding:0;border:none;margin-top:auto}
.kampanya-section .kampanya-card-footer .bt-btn-primary{
  border-radius:var(--r-pill);padding:10px 22px;font-size:13px;
  background:var(--ff-cyan);box-shadow:0 2px 8px rgba(0,173,239,.25);
}
.kampanya-section .kampanya-card-footer .bt-btn-primary:hover{background:var(--ff-cyan-dk)}
.kampanya-section .kampanya-card-footer .bt-btn-outline{
  border-radius:var(--r-pill);padding:9px 20px;font-size:13px;
  border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.85);background:rgba(255,255,255,.08);
}
.kampanya-section .kampanya-card-footer .bt-btn-outline:hover{
  background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.35);color:#fff;transform:none;
}
@media(max-width:900px){
  .kampanya-section .kampanya-modern-card{flex-direction:column;min-height:auto}
  .kampanya-card-img{width:100%;min-height:200px;margin:12px;border-radius:16px}
  .kampanya-card-body-wrap{padding:24px 20px}
}


/* ── 16. ALTYAPI COLLAPSE (home inline) ─────────────────────────────── */
.altyapi-collapse{transition:max-height .45s var(--ease-io),opacity .35s var(--ease-io),padding .35s var(--ease-io)}
.altyapi-head{text-align:center;margin-bottom:20px}
.altyapi-head__title{font-size:clamp(22px,3vw,28px);font-weight:var(--fw-extrabold);color:var(--gray-900);letter-spacing:-.02em;margin:0 0 8px}
.altyapi-head__desc{font-size:15px;color:var(--gray-500);font-weight:var(--fw-medium);margin:0;text-align:center}
.altyapi-wrap{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);
  box-shadow:var(--sh-md);padding:32px;max-width:680px;margin:0 auto;
}
.altyapi-wrap .bt-main-card,.altyapi-wrap .bt-main-card--glass{background:none;border:none;box-shadow:none;padding:0;margin:0;border-radius:0}
.altyapi-wrap .container{max-width:100%;padding:0}
.altyapi-wrap .altyapi-card-main{min-height:auto}
.altyapi-close-wrap{text-align:center;margin-top:20px}
.altyapi-close-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 24px;border-radius:var(--r-pill);
  border:1.5px solid var(--gray-300);background:transparent;color:var(--gray-500);
  font-size:13px;font-weight:var(--fw-bold);cursor:pointer;font-family:var(--font);
  transition:all var(--dur-fast);
}
.altyapi-close-btn:hover{background:var(--ff-navy);color:#fff;border-color:var(--ff-navy)}
.altyapi-airfiber-note{
  display:flex;align-items:center;gap:10px;justify-content:center;
  padding:12px 16px;margin-top:14px;margin-bottom:8px;
  background:rgba(0,173,239,.06);border:1px solid rgba(0,173,239,.15);
  border-radius:var(--r-sm);font-size:13px;color:var(--ff-cyan);font-weight:var(--fw-semibold);
  text-align:center;
}


/* ── 17. CONTACT PAGE — MODERN GRID ─────────────────────────────────── */
.contact-modern-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}
@media(max-width:1024px){.contact-modern-grid{grid-template-columns:1fr;gap:40px}}

.contact-section-title{font-size:28px;font-weight:var(--fw-extrabold);color:var(--ff-navy);margin:0 0 12px}
.contact-section-desc{font-size:16px;color:var(--gray-600);margin:0 0 32px;font-weight:var(--fw-semibold)}

.contact-modern-form{display:flex;flex-direction:column;gap:20px}
.contact-field{display:flex;flex-direction:column;gap:8px}

/* Info cards */
.contact-info-cards{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}
.contact-info-card{
  background:rgba(255,255,255,.6);border:2px solid rgba(48,39,130,.08);
  border-radius:16px;padding:20px;display:flex;gap:16px;align-items:flex-start;
  transition:border-color var(--dur-base),box-shadow var(--dur-base);
}
.contact-info-card:hover{border-color:var(--ff-cyan);box-shadow:0 4px 16px rgba(0,173,239,.08)}
.contact-info-icon{
  flex-shrink:0;width:48px;height:48px;border-radius:12px;
  background:linear-gradient(135deg,var(--ff-navy) 0%,var(--ff-cyan) 100%);
  color:#fff;display:flex;align-items:center;justify-content:center;
}
.contact-info-content{flex:1}
.contact-info-label{font-size:13px;font-weight:var(--fw-bold);color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.contact-info-value{font-size:16px;font-weight:var(--fw-bold);color:var(--ff-navy);text-decoration:none;display:inline-block;line-height:1.5}
a.contact-info-value:hover{color:var(--ff-cyan)}

/* Map */
.contact-map-wrapper{border-radius:16px;overflow:hidden;border:2px solid rgba(48,39,130,.08)}
.contact-map-iframe{width:100%;height:280px;border:none;display:block}
@media(max-width:768px){
  .contact-section-title{font-size:24px}
  .contact-map-iframe{height:240px}
}

/* Misc page utils */
.bt-faq-section--flush{padding-top:0;border-top:none;margin-top:0}
.tarife-onerileri__title{font-size:20px;font-weight:var(--fw-extrabold);color:var(--ff-navy);text-align:center;margin-bottom:24px;padding-top:32px}
.tarife-onerileri__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:900px;margin:0 auto}
.error-card-centered{text-align:center;padding:64px 48px}
.error-emoji{font-size:72px;line-height:1;margin-bottom:16px}
.error-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.error-container{padding:4rem 0}
.error-container h2{margin:0 0 1rem}
.legal-footer-note{font-size:13px;color:var(--gray-500);margin-top:28px}


/* ── 18. ANIMATIONS ─────────────────────────────────────────────────── */
@keyframes dotPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.65)}}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes floatOrb{0%{transform:translate(0,0) scale(1)}100%{transform:translate(40px,60px) scale(1.1)}}



/* ═══════════════════════════════════════════════════════════════════════
   Altyapı Sorgula — Tarife Öneri Kartları
   ═══════════════════════════════════════════════════════════════════════ */
.tarife-card{
  background:#fff;
  border:2px solid rgba(48,39,130,.08);
  border-radius:var(--r-lg, 18px);
  padding:28px 24px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:border-color .25s, box-shadow .25s;
}
.tarife-card:hover{
  border-color:rgba(48,39,130,.18);
  box-shadow:0 8px 24px rgba(48,39,130,.10);
}
.tarife-card-badge{
  position:absolute;top:0;right:20px;
  background:linear-gradient(135deg,var(--ff-amber, #f59e0b),var(--ff-amber-dk, #d97706));
  color:#fff;
  font-size:10px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;
  padding:5px 12px;
  border-radius:0 0 8px 8px;
}
.tarife-card-header{margin-bottom:16px}
.tarife-card-type{
  font-size:11px;font-weight:700;
  color:var(--ff-cyan, #00ADEF);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:4px;
}
.tarife-card-title{
  font-size:20px;font-weight:var(--fw-extrabold, 800);
  color:var(--ff-navy, #302782);
  margin:0 0 4px;
}
.tarife-card-speed{
  font-size:13px;font-weight:600;
  color:var(--gray-500, #636B88);
}
.tarife-card-features{
  list-style:none;padding:0;margin:0 0 20px;
  flex:1;
}
.tarife-card-features li{
  display:flex;align-items:center;gap:8px;
  padding:6px 0;
  font-size:14px;color:var(--gray-600, #454C66);
  border-bottom:1px solid rgba(48,39,130,.04);
}
.tarife-card-features li:last-child{border-bottom:none}
.tarife-card-features svg{
  width:16px;height:16px;flex-shrink:0;
  color:var(--ff-cyan, #00ADEF);
  stroke-linecap:round;
}
.tarife-card-price{
  font-size:22px;font-weight:var(--fw-extrabold, 800);
  color:var(--ff-navy, #302782);
  text-align:center;
  margin-bottom:16px;
}
.tarife-card-price span{
  font-size:14px;font-weight:600;
  color:var(--gray-400, #9199B4);
}
.tarife-card-btn{
  display:block;text-align:center;
  padding:12px 24px;
  background:var(--ff-navy, #302782);
  color:#fff;
  border-radius:var(--r-md, 12px);
  font-size:14px;font-weight:700;
  text-decoration:none;
  transition:background .2s, transform .2s;
}
.tarife-card-btn:hover{
  background:var(--ff-navy-lt, #4A3DB0);
  transform:translateY(-1px);
  color:#fff;
}


/* ═══════════════════════════════════════════════════════════════════════
   Legal Pages — Sözleşmeler, KVKK, Çerez, Mesafeli Satış
   ═══════════════════════════════════════════════════════════════════════ */
.legal-page{padding:0}
.legal-layout{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:40px;
  max-width:1100px;
  margin:0 auto 40px;
  padding:40px 32px 48px;
  background:#fff;
  border-radius:var(--r-lg, 18px);
  border:2px solid rgba(48,39,130,.06);
  box-shadow:0 4px 24px rgba(48,39,130,.06);
}

/* Sidebar TOC */
.legal-toc{
  position:sticky;
  top:calc(var(--header-h, 72px) + 24px);
  align-self:start;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.legal-toc__title{
  font-size:13px;
  font-weight:var(--fw-extrabold, 800);
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ff-navy, #302782);
  margin-bottom:8px;
  padding-bottom:8px;
  border-bottom:2px solid rgba(48,39,130,.08);
}
.legal-toc a{
  font-size:14px;
  font-weight:var(--fw-medium, 500);
  color:var(--gray-500, #636B88);
  text-decoration:none;
  padding:6px 12px;
  border-radius:var(--r-sm, 8px);
  border-left:3px solid transparent;
  transition:all .2s;
}
.legal-toc a:hover{
  color:var(--ff-navy, #302782);
  background:rgba(48,39,130,.04);
  border-left-color:var(--ff-cyan, #00ADEF);
}

/* Main Content */
.legal-content{
  min-width:0;
  line-height:1.75;
  color:var(--gray-700, #2D3350);
}
.legal-content h1{
  font-size:clamp(26px,3.5vw,36px);
  font-weight:var(--fw-extrabold, 800);
  color:var(--ff-navy, #302782);
  margin:0 0 16px;
  line-height:1.2;
}
.legal-content h2{
  font-size:20px;
  font-weight:var(--fw-bold, 700);
  color:var(--ff-navy, #302782);
  margin:36px 0 12px;
  padding-top:24px;
  border-top:1px solid rgba(48,39,130,.06);
}
.legal-content h2:first-of-type{border-top:none;padding-top:0}
.legal-content h3{
  font-size:17px;
  font-weight:var(--fw-semibold, 600);
  color:var(--gray-800, #1B2040);
  margin:24px 0 8px;
}
.legal-content p{
  margin:0 0 14px;
  font-size:15px;
}
.legal-content ul,.legal-content ol{
  margin:0 0 16px;
  padding-left:24px;
}
.legal-content li{
  margin-bottom:6px;
  font-size:15px;
}
.legal-content a{
  color:var(--ff-cyan, #00ADEF);
  font-weight:var(--fw-semibold, 600);
  text-decoration:none;
}
.legal-content a:hover{text-decoration:underline}
.legal-content strong{
  font-weight:var(--fw-bold, 700);
  color:var(--gray-800, #1B2040);
}
.legal-meta{
  font-size:13px;
  font-weight:var(--fw-medium, 500);
  color:var(--gray-400, #9199B4);
  margin-bottom:24px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(48,39,130,.06);
}

/* Download links in Sözleşmeler */
.legal-content .doc-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  background:rgba(48,39,130,.04);
  border:1px solid rgba(48,39,130,.10);
  border-radius:var(--r-md, 12px);
  font-size:14px;
  font-weight:var(--fw-semibold, 600);
  color:var(--ff-navy, #302782);
  text-decoration:none;
  transition:all .2s;
  margin:4px 0;
}
.legal-content .doc-link:hover{
  background:rgba(48,39,130,.08);
  border-color:rgba(48,39,130,.20);
  text-decoration:none;
}

/* Responsive */
@media(max-width:768px){
  .legal-layout{
    grid-template-columns:1fr;
    gap:0;
    padding:24px 20px 40px;
    margin:0 12px 32px;
  }
  .legal-toc{
    position:relative;
    top:auto;
    flex-direction:row;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:28px;
    padding-bottom:20px;
    border-bottom:1px solid rgba(48,39,130,.08);
  }
  .legal-toc__title{
    width:100%;
    margin-bottom:4px;
    padding-bottom:6px;
  }
  .legal-toc a{
    font-size:13px;
    padding:5px 10px;
    border-left:none;
    background:rgba(48,39,130,.04);
    border-radius:var(--r-pill, 50px);
  }
  .legal-toc a:hover{
    border-left:none;
    background:rgba(48,39,130,.08);
  }
  .legal-content h1{font-size:24px}
  .legal-content h2{font-size:18px;margin-top:28px}
}

/* ── KURUMSAL HERO ── */
.kurumsal-hero{
  position:relative;overflow:hidden;
  min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;
  background:url('/assets/img/hero/hero-3.jpg') center right/cover no-repeat;
}
.kurumsal-hero::after{
  content:'';position:absolute;inset:0;z-index:1;
  background:rgba(48,39,130,.45);pointer-events:none;
}
.kurumsal-hero__inner{
  position:relative;z-index:5;
  max-width:700px;padding:80px 24px;
}
.kurumsal-hero .ff-hero__title{color:#fff !important;text-shadow:0 2px 16px rgba(0,0,0,.3) !important}
.kurumsal-hero .ff-hero__sub{color:#fff !important;text-shadow:0 1px 8px rgba(0,0,0,.2) !important}
.kurumsal-hero .ff-hero__eyebrow{margin-bottom:18px}
.kurumsal-hero .ff-hero__title{font-size:clamp(28px,4.5vw,48px);margin:0 0 16px}
.kurumsal-hero .ff-hero__sub{margin:0 0 28px}
.kurumsal-hero .ff-hero__cta{display:flex;gap:12px;justify-content:center}

/* ── ABOUT PHOTO ── */
.about-photo{max-width:480px;margin:0 auto 24px;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(48,39,130,.10)}
.about-photo img{display:block;width:100%;height:auto;object-fit:cover}
@media(max-width:768px){.about-photo{max-width:100%}}
