/* ============================================================
   ATELIER LUNA — responsive.css
   Tested at 1920 / 1440 / 1366 / 1024 / 768 / 414 / 390
   ============================================================ */

@media (min-width: 1600px) { :root { --shell: 1280px; --shell-wide: 1400px; } }

/* ---------- ≤1200px ---------- */
@media (max-width: 1200px) {
  .nav-links { gap: .35rem; }
  .nav-links a { font-size: .875rem; padding-inline: .2rem; }
  .foot-grid { grid-template-columns: 1.5fr repeat(2, 1fr) 1fr; }
  .foot-col--legal { grid-column: 2 / -1; }
  .foot-col--legal ul { display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; }
  .foot-col--legal li { margin-bottom: 0; }
}

/* ---------- ≤1024px ---------- */
@media (max-width: 1024px) {
  :root { --nav-h: 66px; }

  .hero__grid { grid-template-columns: 1fr; gap: clamp(2.5rem, 5vw, 3.5rem); }
  .hero__copy { max-width: 620px; }
  .collage { padding: 4% 8% 8% 8%; max-width: 620px; margin-inline: auto; }

  .split, .split--60 { grid-template-columns: 1fr; gap: 2.5rem; }
  .split--flip .split__media { order: 0; }
  /* Tek sütuna düşen düzende taşma yapmasın: sağ kenara hizalanır */
  .media-stack__b { right: 0; bottom: -8%; width: 40%; }
  .sticky-col { position: static; }

  .steps { grid-template-columns: 1fr 1fr; }

  .cta-panel__inner { grid-template-columns: 1fr; }
  .cta-panel__actions { justify-content: flex-start; }

  .branch { grid-template-columns: 34% 1fr; }

  .slider__slide { flex: 0 0 calc((100% - clamp(1rem, 2vw, 1.75rem)) / 2); }

  .offset-up { margin-top: 0; }

  .foot-grid { grid-template-columns: 1fr 1fr 1fr; }
  .foot-brand { grid-column: 1 / -1; }
  .foot-col--legal { grid-column: auto; }
  .foot-col--legal ul { display: block; }
  .foot-col--legal li { margin-bottom: .7rem; }

  /* Gallery simplifies */
  .gs-3 { grid-column: span 6; }
  .gs-4 { grid-column: span 6; }
  .gs-5 { grid-column: span 6; }
  .gs-6 { grid-column: span 6; }
  .gs-7 { grid-column: span 12; }
  .gs-8 { grid-column: span 12; }
  .gs-drop { margin-top: 0; }
}

/* ---------- ≤991px — mobile navigation ---------- */
@media (max-width: 991px) {
  .nav-links, .nav-links-wrap { display: none; }
  .nav-actions { display: none; }
  .nav-mobile { display: flex; }
  .nav-spark { display: none; }

  body { padding-bottom: 62px; }
  .mobile-bar { display: grid; }
  .wa-fab { display: none; }
  .toasts { bottom: 76px; }

  .head-row { flex-direction: column; align-items: flex-start; gap: 1.25rem; }
}

/* ---------- ≤768px ---------- */
@media (max-width: 768px) {
  :root { --nav-h: 62px; --nav-top: 12px; }

  .hero { padding-bottom: 2.5rem; }
  .hero__proof { gap: 1rem 1.75rem; margin-top: 2rem; padding-top: 1.5rem; }
  .collage { padding: 4% 6% 10% 6%; }
  .collage__badge { right: 0; top: auto; bottom: 12%; max-width: 165px; padding: .65rem .9rem; }
  .collage__card--a { width: 38%; }
  .collage__card--b { width: 42%; }

  .steps { grid-template-columns: 1fr; }

  .branch { grid-template-columns: 1fr; }
  .branch__media { aspect-ratio: 16 / 9; min-height: 0; }

  .slider__slide { flex: 0 0 100%; }
  .slider__nav { display: none; }
  .slider__dots { display: flex; }

  .promo, .promo__body { min-height: 300px; }
  .promo--tall, .promo--tall .promo__body { min-height: 360px; }

  .pack__actions { grid-template-columns: 1fr; }

  .media-stack__b { position: static; width: 100%; margin-top: 1rem; border: 0; box-shadow: none; aspect-ratio: 16/9; border-radius: var(--r-card); }

  .cta-lift { margin-bottom: clamp(-6rem, -14vw, -5rem); }
  .site-foot { padding-top: clamp(8rem, 22vw, 10rem); }

  .foot-grid { grid-template-columns: 1fr 1fr; }
  .foot-bottom { flex-direction: column; align-items: flex-start; }

  .lb__prev { left: 10px; } .lb__next { right: 10px; }
  .lb__btn { width: 44px; height: 44px; }
  .lb__close { top: 12px; right: 12px; }
  .lb__img { max-height: calc(100vh - 210px); }

  .inline-cta { flex-direction: column; align-items: flex-start; }
}

/* ---------- ≤575px ---------- */
@media (max-width: 575px) {
  :root { --gutter: 1.15rem; }

  .hero__actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .hero__actions .btn { width: 100%; }
  .hero__proof { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem; }

  .collage { padding: 2% 0 12% 0; }
  .collage__main { width: 86%; }
  .collage__card--a { width: 40%; top: 0; }
  .collage__card--b { width: 44%; }
  .collage__badge { max-width: 150px; }
  .collage__badge-v { font-size: 1rem; }

  .card__body { padding: 1.25rem; }
  .card__foot { flex-direction: column; align-items: stretch; gap: .6rem; }
  .card__foot .btn { width: 100%; }
  .card__foot .tlink { justify-content: center; }

  .gs-3, .gs-4, .gs-5, .gs-6 { grid-column: span 12; aspect-ratio: 4 / 3; }

  .filters__count { width: 100%; margin-left: 0; }

  .cta-panel__actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .cta-panel__actions .btn { width: 100%; }

  .foot-grid { grid-template-columns: 1fr; gap: 2rem; }
  .foot-legal { gap: .4rem 1.15rem; }

  .err404 .btn-row .btn { width: 100%; }
  .quote__text { font-size: 1.09375rem; }
  .price-row { grid-template-columns: 1fr auto; }
}

/* ---------- ≤414px ---------- */
@media (max-width: 414px) {
  .brand__name { font-size: 1.2rem; }
  .brand__sub { font-size: 8px; letter-spacing: .18em; }
  .menu-list a { font-size: 1.25rem; }
  .mobile-bar { grid-template-columns: 1fr 1fr; }
  .mobile-bar a.is-call { display: none; }
}

/* ---------- ≤390px ---------- */
@media (max-width: 390px) {
  :root { --gutter: 1rem; }
  .brand__sub { display: none; }
  .collage__badge { display: none; }
  .hero__proof-num { font-size: 1.4rem; }
}

/* ---------- Print ---------- */
@media print {
  .nav-wrap, .mobile-bar, .wa-fab, .toasts, .menu-panel, .site-foot, .filters, .cta-lift { display: none !important; }
  body { background: #fff; padding-bottom: 0; }
  .rv, .rv.armed { opacity: 1 !important; transform: none !important; }
  .card, .pack, .form-card { box-shadow: none; break-inside: avoid; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 10px; color: #666; }
}

/* ---- pieces added with components section 18 ---- */
@media (max-width: 991px) { .stats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .stats { grid-template-columns: 1fr 1fr; gap: .75rem; } }

/* ---------- Touch targets on small screens ---------- */
@media (max-width: 991px) {
  .brand { min-height: 44px; align-items: center; }
  .foot-col li a,
  .foot-legal a,
  .crumbs a { display: inline-block; padding-block: 6px; }
  .consent input[type="checkbox"] { width: 20px; height: 20px; }
  .consent { grid-template-columns: 22px 1fr; }
  .metaline, .card__kicker { line-height: 1.9; }
}
