/* White & Navy theme (image map enabled) */
:root{
  --navy:#0a1a3c;
  --navy-2:#0f2a66;
  --blue:#2563eb;
  --blue-2:#38bdf8;
  --text:#0b1324;
  --muted:#51607e;
  --card:#ffffff;
  --bg:#f7f9ff;
  --line:#e7ecf6;
  --shadow:0 10px 30px rgba(4,20,57,.10);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial}
img{max-width:100%;display:block}

.container{width:min(1100px,92%);margin-inline:auto}
.section{padding:64px 0}
.section h2{font-size:clamp(24px,2.6vw,36px);margin:0 0 10px}
.section-lead{color:var(--muted);margin:0 0 24px}

.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy)}
.logo img{width:34px;height:34px}
.brand{font-weight:800;color:var(--navy)}

.nav{display:flex;gap:18px;align-items:center}
.nav a{color:var(--navy);text-decoration:none;opacity:.9}
.nav .btn{margin-left:6px}

.hamburger{display:none;background:none;border:0;width:42px;height:36px;position:relative}
.hamburger span{position:absolute;left:8px;right:8px;height:2px;background:var(--navy);border-radius:2px;transition:.25s}
.hamburger span:nth-child(1){top:10px}
.hamburger span:nth-child(2){top:17px}
.hamburger span:nth-child(3){top:24px}

/* Hero */
.hero{padding:64px 0;background:linear-gradient(180deg,#ffffff 0%, #eef4ff 100%)}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.hero h1{font-size:clamp(28px,3.6vw,46px);margin:0 0 8px;color:var(--navy)}
.hero p{color:var(--muted);margin:0 0 16px}
.grad{background:linear-gradient(90deg,var(--blue),var(--blue-2));-webkit-background-clip:text;background-clip:text;color:transparent}

.badges{display:flex;gap:12px;flex-wrap:wrap;padding:0;margin:14px 0 0;list-style:none}
.badges li{background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:999px;font-size:14px;color:var(--navy)}

.hero-media{display:flex;justify-content:center}
.hero-media img{filter:drop-shadow(var(--shadow));opacity:.95}

/* Buttons */
.btn{display:inline-block;background:linear-gradient(90deg,var(--blue),var(--blue-2));color:#fff;padding:12px 18px;border-radius:12px;text-decoration:none;font-weight:700;box-shadow:var(--shadow);transition:transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn-outline{background:transparent;border:2px solid var(--navy);color:var(--navy)}

/* Cards & grid */
.cards{grid-template-columns:repeat(3,1fr);display:grid;gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);min-height:120px}
.card h3{margin:0 0 6px;font-size:18px;color:var(--navy)}
.card .desc{margin:0;color:var(--muted)}

/* Service details (click-to-open) */
.service{cursor:pointer;position:relative}
.service .details{display:none;margin-top:12px;color:#1f2a44;border-top:1px dashed var(--line);padding-top:12px}
.service.open{outline:2px solid rgba(37,99,235,.2)}
.service.open .details{display:block}

/* Highlight & stats */
.highlight{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.checklist{margin:0;padding-left:18px;color:#1f2a44}
.checklist li{margin:10px 0}

.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stat{background:#fff;border:1px solid var(--line);padding:16px;border-radius:14px;text-align:center}
.stat strong{display:block;font-size:28px;color:var(--navy)}

.testimonials .author{display:block;margin-top:8px;color:var(--muted);font-size:14px}

/* Contact */
.contact-list{list-style:none;padding:0;margin:0;color:#1f2a44}
.contact-list a{color:var(--blue)}
.map{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#fff;min-height:220px}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:none}
.map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.map-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted)}

.note{margin-top:12px;color:var(--muted);font-size:14px}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:18px 0;background:#fff}
.footer-inner{display:flex;justify-content:space-between;align-items:center}
.footer-links{display:flex;gap:16px}
.footer-links a{color:var(--muted);text-decoration:none}

/* Dialog */
dialog{background:#fff;color:var(--text);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px;max-width:540px}
dialog::backdrop{background:rgba(0,0,0,.25)}

/* Responsive */
@media (max-width: 900px){
  .hero-inner, .split{grid-template-columns:1fr}
  .nav{display:none;position:absolute;right:16px;top:62px;background:#fff;padding:12px;border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:12px}
  .hamburger{display:block}
  .cards{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){
  .cards{grid-template-columns:1fr}
}


/* === User-requested change: make only the service boxes light blue === */
.section.services .card,
.services .card,
.card.service {
  background: #ADD8E6 !important;
}


/* Küçük bilgi kutucuğu */
.card.service .info-box {
  background: #e0f0ff;
  color: #0a1a3c;
  font-size: 14px;
  padding: 6px 10px;
  border-radius: 8px;
  margin-top: 8px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}


/*__APPT_MODAL__*/
.modal[aria-hidden="true"] { display: none; }
.modal { position: fixed; inset: 0; z-index: 1000; }
.modal-backdrop { position:absolute; inset:0; background: rgba(0,0,0,0.35); }
.modal-dialog { position:relative; max-width: 720px; margin: 8vh auto; background:#fff; border-radius:16px; padding:20px; box-shadow: 0 20px 60px rgba(0,0,0,0.25); }
.modal-close { position:absolute; top:10px; right:12px; background:none; border:0; font-size:26px; line-height:1; cursor:pointer; }
.modal .muted { color: var(--muted); margin: 0 0 10px; }

.calendar { display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
.calendar-days { display:grid; grid-template-columns: repeat(2, 1fr); gap:10px; max-height: 50vh; overflow:auto; padding-right:6px; }
.calendar-slots { display:grid; grid-template-columns: repeat(2, 1fr); gap:10px; align-content:start; }

.day, .slot { background:#f5f8ff; border:1px solid var(--line); border-radius:10px; padding:10px; cursor:pointer; text-align:center; }
.day.active { background:#e0f0ff; border-color: var(--blue); }
.slot:hover, .day:hover { filter: brightness(0.97); }

@media (max-width: 560px) {
  .calendar { grid-template-columns: 1fr; }
  .calendar-days { grid-template-columns: repeat(3, 1fr); }
}


/*__REVIEWS_SLIDER__*/
.slider { position: relative; display: grid; grid-template-columns: 40px 1fr 40px; gap: 10px; align-items: center; }
.slider .track { overflow: hidden; position: relative; }
.slider .track { display: flex; transition: transform .4s ease; }
.slider .slide { min-width: 100%; box-sizing: border-box; padding: 16px; background: #f5f8ff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
.slider .nav { background: #eaf1ff; border: 1px solid var(--line); border-radius: 10px; height: 40px; width: 40px; cursor: pointer; }
.slider .nav:hover { filter: brightness(.96); }
.review-text { font-size: 15px; color: #333; margin: 0 0 10px; line-height: 1.45; }
.review-meta { display: flex; justify-content: space-between; font-size: 14px; color: var(--muted); font-weight: 600; }
.dots { display: flex; justify-content: center; gap: 6px; margin-top: 10px; grid-column: 1 / -1; }
.dots button { width: 8px; height: 8px; border-radius: 50%; border: 0; background: #cdd9f6; cursor: pointer; }
.dots button.active { background: #6b8cff; }

@media (max-width: 560px){
  .slider { grid-template-columns: 32px 1fr 32px; }
  .slider .slide { padding: 12px; }
}



/* Reviews static grid overrides */
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}
.review-card {
  background: #f5f8ff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.review-text { font-size: 15px; color: #333; margin: 0 0 10px; line-height: 1.5; }
.review-meta { display: flex; justify-content: space-between; font-size: 14px; color: var(--muted); font-weight: 600; }

/* Remove slider layout effects if leftover */
.slider, .track, .slide, .nav, .dots { display: none !important; }


/* Enhanced Reviews */
.review-card { position: relative; display: flex; flex-direction: column; }
.review-header { display:flex; justify-content: space-between; align-items: center; margin-bottom:6px; font-size: 13px; }
.review-source { padding:2px 6px; border-radius:6px; font-weight:600; font-size:12px; }
.review-source.google { background:#eaf1ff; color:#0a1a3c; }
.review-source.yandex { background:#fff0d9; color:#b45309; }
.review-date { color: var(--muted); font-size:12px; }
.reviews-footer { margin-top:20px; text-align:center; }
.btn-more { display:inline-block; background:var(--blue-2); color:#fff; padding:8px 16px; border-radius:8px; text-decoration:none; font-size:14px; }
.btn-more:hover { filter:brightness(.9); }


/* Different pastel colors for service cards */
.card.service:nth-child(1) { background: #cce5ff !important; } /* Açık mavi */
.card.service:nth-child(2) { background: #e6ffe6 !important; } /* Açık yeşil */
.card.service:nth-child(3) { background: #fff0e6 !important; } /* Açık turuncu/pembe */
.card.service:nth-child(4) { background: #f9e6ff !important; } /* Açık mor */
.card.service:nth-child(5) { background: #e6f7ff !important; } /* Açık buz mavisi */
.card.service:nth-child(6) { background: #fef9e7 !important; } /* Açık sarı */
.card.service:nth-child(7) { background: #fbe6ff !important; } /* Açık lila */
.card.service:nth-child(8) { background: #e8ffe6 !important; } /* Açık nane yeşili */


/* === Background video hero (from BlackSpa look) === */
.hero{position:relative;min-height:52vh;display:flex;align-items:center;overflow:hidden;background:#000;margin-top:0;padding:0}
.hero .hero-media{position:absolute;inset:0}
.bg-video{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.7)}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.45))}
.hero .hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;padding:56px 0 40px}
.hero .hero-text{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.hero .hero-text h1{color:#fff}
.hero .hero-text p{color:#f4efec}
@media (max-width:720px){.hero{min-height:46vh}.hero .hero-inner{padding:36px 0}}
