/* Mini Site Oluşturucu (Faz B) — blok stilleri. Tema değerleri _MiniSiteLayout'ta :root değişkenleriyle gelir:
   --ms-primary --ms-accent --ms-bg --ms-ink --ms-muted --ms-card --ms-line --ms-radius --ms-font-display --ms-font-body */

.ms-body { background: var(--ms-bg); color: var(--ms-ink); font-family: var(--ms-font-body); }
.ms-body h1, .ms-body h2, .ms-body h3, .ms-display { font-family: var(--ms-font-display); }

.ms-wrap { max-width: 72rem; margin: 0 auto; padding: 0 1.25rem; }
.ms-narrow { max-width: 48rem; margin: 0 auto; padding: 0 1.25rem; }
.ms-section { padding: 3.5rem 0; }
.ms-section + .ms-section { padding-top: 1rem; }
.ms-h2 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; color: var(--ms-primary); margin: 0 0 1.5rem; line-height: 1.2; }
.ms-center { text-align: center; }
.ms-muted { color: var(--ms-muted); }
.ms-card { background: var(--ms-card); border: 1px solid var(--ms-line); border-radius: var(--ms-radius); }
.ms-grid { display: grid; gap: 1rem; }
@media (min-width: 640px) { .ms-grid-2 { grid-template-columns: repeat(2, 1fr); } .ms-grid-3 { grid-template-columns: repeat(2, 1fr); } .ms-grid-4 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .ms-grid-3 { grid-template-columns: repeat(3, 1fr); } .ms-grid-4 { grid-template-columns: repeat(4, 1fr); } }
.ms-grid-photos { grid-template-columns: repeat(2, 1fr); gap: .6rem; }
@media (min-width: 640px) { .ms-grid-photos.cols-3 { grid-template-columns: repeat(3, 1fr); } .ms-grid-photos.cols-4 { grid-template-columns: repeat(4, 1fr); } }

/* Düğmeler — tema: pill | rounded | square | outline */
.ms-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .7rem 1.4rem; font-weight: 700; font-size: .9rem;
  background: var(--ms-primary); color: #fff; border: 2px solid var(--ms-primary); border-radius: var(--ms-btn-radius, 999px); text-decoration: none; transition: opacity .2s, transform .2s; }
.ms-btn:hover { opacity: .92; transform: translateY(-1px); }
.ms-btn:focus-visible, .ms-body a:focus-visible, .ms-body button:focus-visible, .ms-body summary:focus-visible { outline: 3px solid var(--ms-accent); outline-offset: 2px; }
.ms-btn.alt { background: transparent; color: inherit; border-color: currentColor; }
[data-btn="outline"] .ms-btn:not(.alt) { background: transparent; color: var(--ms-primary); }
.ms-link { color: var(--ms-link, var(--ms-accent)); font-weight: 700; text-decoration: none; }
.ms-link:hover { text-decoration: underline; }

/* Kapak */
.ms-hero { position: relative; display: flex; align-items: center; overflow: hidden; color: #fff; background: #1c1712; }
.ms-hero.h-sm { min-height: 16rem; } .ms-hero.h-md { min-height: 24rem; } .ms-hero.h-lg { min-height: 34rem; }
.ms-hero img.bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ms-hero .shade { position: absolute; inset: 0; }
.ms-hero .shade.dark { background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.65)); }
.ms-hero .shade.light { background: rgba(0,0,0,.25); }
.ms-hero .inner { position: relative; width: 100%; padding: 3rem 1.25rem; max-width: 72rem; margin: 0 auto; }
.ms-hero.a-center .inner { text-align: center; }
.ms-hero h1 { font-size: clamp(2rem, 6vw, 3.6rem); font-weight: 900; margin: 0; line-height: 1.1; text-shadow: 0 2px 20px rgba(0,0,0,.3); }
.ms-hero p { font-size: 1.1rem; opacity: .9; margin: .8rem 0 0; white-space: pre-line; }
.ms-hero .btns { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.ms-hero.a-center .btns { justify-content: center; }
.ms-hero .ms-btn.alt { color: #fff; }

/* Zengin metin */
.ms-prose { line-height: 1.75; font-size: 1.02rem; }
.ms-prose p { margin: 0 0 1em; } .ms-prose h2, .ms-prose h3 { color: var(--ms-primary); margin: 1.4em 0 .5em; }
.ms-prose a { color: var(--ms-link, var(--ms-accent)); text-decoration: underline; } .ms-prose ul, .ms-prose ol { padding-left: 1.4em; margin: 0 0 1em; }
.ms-prose blockquote { border-left: 4px solid var(--ms-accent); margin: 1em 0; padding: .2em 1em; color: var(--ms-muted); }
.ms-prose img { max-width: 100%; height: auto; border-radius: var(--ms-radius); }

/* Görsel + metin */
.ms-split { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 768px) { .ms-split { grid-template-columns: 1fr 1fr; } .ms-split.img-right .media { order: 2; } }
.ms-split .media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--ms-radius); }

/* Galeri */
.ms-photo { display: block; aspect-ratio: 1; overflow: hidden; border-radius: calc(var(--ms-radius) * .6); background: var(--ms-line); cursor: zoom-in; border: 0; padding: 0; width: 100%; }
.ms-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ms-photo:hover img { transform: scale(1.05); }
.ms-lightbox { border: 0; padding: 0; background: transparent; max-width: 94vw; max-height: 92vh; }
.ms-lightbox::backdrop { background: rgba(0,0,0,.85); }
.ms-lightbox img { max-width: 94vw; max-height: 84vh; display: block; margin: 0 auto; border-radius: 8px; }
.ms-lightbox figcaption { color: #fff; text-align: center; padding: .6rem; }
.ms-lightbox .close { position: fixed; top: 1rem; right: 1rem; background: rgba(255,255,255,.15); color: #fff; border: 0; border-radius: 999px; width: 2.6rem; height: 2.6rem; font-size: 1.4rem; cursor: pointer; }

.ms-embed { aspect-ratio: 16/9; overflow: hidden; border-radius: var(--ms-radius); background: #000; }
.ms-embed iframe { width: 100%; height: 100%; border: 0; }

/* Etkinlik / kadro / rakamlar */
.ms-person { text-align: center; }
.ms-person .ph { width: 5.5rem; height: 5.5rem; margin: 0 auto .6rem; border-radius: 999px; overflow: hidden; background: var(--ms-line); display: grid; place-items: center; font-weight: 800; color: var(--ms-muted); }
.ms-person .ph img { width: 100%; height: 100%; object-fit: cover; }
.ms-stat { text-align: center; padding: 1.5rem 1rem; }
.ms-stat b { display: block; font-family: var(--ms-font-display); font-size: clamp(2rem, 5vw, 3rem); color: var(--ms-primary); line-height: 1; }
.ms-stat span { display: block; margin-top: .5rem; color: var(--ms-muted); font-weight: 600; }

.ms-ticket { display: grid; gap: 1.5rem; align-items: center; padding: 1.5rem; }
@media (min-width: 768px) { .ms-ticket { grid-template-columns: 220px 1fr auto; } }
.ms-ticket img { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: calc(var(--ms-radius) * .6); }
.ms-ticket .date { color: var(--ms-link, var(--ms-accent)); font-weight: 800; text-transform: uppercase; letter-spacing: .05em; font-size: .85rem; }

.ms-band { color: #fff; border-radius: var(--ms-radius); padding: 2.5rem 1.5rem; text-align: center; }
.ms-band.primary { background: var(--ms-primary); } .ms-band.accent { background: var(--ms-accent); } .ms-band.dark { background: #1c1712; }
.ms-band h2 { color: #fff; margin: 0 0 .6rem; font-size: clamp(1.4rem, 3vw, 2rem); }
.ms-band p { margin: 0 auto; max-width: 40rem; opacity: .92; white-space: pre-line; }
.ms-band .btns { margin-top: 1.4rem; display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; }
.ms-band .ms-btn { background: #fff; color: #1c1712; border-color: #fff; }
.ms-band .ms-btn.alt { background: transparent; color: #fff; }

.ms-faq details { border-bottom: 1px solid var(--ms-line); padding: 1rem 0; }
.ms-faq summary { cursor: pointer; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.ms-faq summary::-webkit-details-marker { display: none; }
.ms-faq summary::after { content: "+"; color: var(--ms-accent); font-size: 1.3rem; line-height: 1; }
.ms-faq details[open] summary::after { content: "–"; }
.ms-faq details p { margin: .7rem 0 0; color: var(--ms-muted); white-space: pre-line; }

.ms-form { display: grid; gap: .9rem; }
.ms-form label { font-size: .8rem; font-weight: 700; color: var(--ms-muted); display: block; margin-bottom: .25rem; }
.ms-form input, .ms-form textarea, .ms-form select { width: 100%; padding: .7rem .9rem; border: 1px solid var(--ms-line); border-radius: calc(var(--ms-radius) * .5);
  background: var(--ms-card); color: var(--ms-ink); font: inherit; }
.ms-form textarea { min-height: 8rem; resize: vertical; }
.ms-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ms-alert { padding: .9rem 1rem; border-radius: calc(var(--ms-radius) * .5); font-weight: 600; font-size: .9rem; }
.ms-alert.ok { background: #e7f6ef; color: #0f5b3a; } .ms-alert.err { background: #fdecee; color: #8a1426; }

.ms-social { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; }
.ms-social a { padding: .55rem 1rem; border: 1px solid var(--ms-line); border-radius: 999px; background: var(--ms-card); color: var(--ms-ink); text-decoration: none; font-weight: 600; font-size: .9rem; }
.ms-social a:hover { border-color: var(--ms-accent); color: var(--ms-link, var(--ms-accent)); }

.ms-map iframe { width: 100%; height: 22rem; border: 0; border-radius: var(--ms-radius); }
.ms-press li { padding: .9rem 0; border-bottom: 1px solid var(--ms-line); list-style: none; }
.ms-press ul { padding: 0; margin: 0; }
.ms-sponsor { display: flex; align-items: center; justify-content: center; padding: 1rem; height: 7rem; background: var(--ms-card); border: 1px solid var(--ms-line); border-radius: var(--ms-radius); }
.ms-sponsor img { max-height: 4.5rem; max-width: 100%; object-fit: contain; filter: grayscale(.2); }

.ms-audio { display: grid; gap: .8rem; }
.ms-audio .row { display: grid; gap: .5rem; padding: 1rem; }
.ms-audio audio { width: 100%; }

.ms-spacer.sm { height: 1rem; } .ms-spacer.md { height: 2.5rem; } .ms-spacer.lg { height: 5rem; }
.ms-spacer hr { border: 0; border-top: 1px solid var(--ms-line); margin: 0 auto; max-width: 72rem; position: relative; top: 50%; }

.ms-empty { padding: 2rem; text-align: center; color: var(--ms-muted); border: 1px dashed var(--ms-line); border-radius: var(--ms-radius); }
@media (max-width: 767px) { .ms-hide-mobile { display: none !important; } }

/* Editör önizlemesi: seçili blok vurgusu */
.ms-preview [data-block-id] { position: relative; }
.ms-preview [data-block-id]:hover { outline: 2px dashed color-mix(in srgb, var(--ms-accent) 70%, transparent); outline-offset: -2px; cursor: pointer; }
.ms-preview [data-block-id].is-selected { outline: 3px solid var(--ms-accent); outline-offset: -3px; }
.ms-preview-bar { position: sticky; top: 0; z-index: 50; background: #1c1712; color: #fff; text-align: center; font-size: .78rem; padding: .35rem; }

@media (prefers-reduced-motion: reduce) { .ms-btn, .ms-photo img { transition: none; } .ms-btn:hover { transform: none; } }

/* Mobil menü düğmesi: tarayıcı ok işaretini gizle */
.ms-header summary { list-style: none; }
.ms-header summary::-webkit-details-marker { display: none; }

/* Blog kartları */
.ms-post { overflow: hidden; }
.ms-post-link { display: block; color: inherit; text-decoration: none; height: 100%; }
.ms-post img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.ms-post .body { padding: 1rem 1.1rem 1.2rem; }
.ms-post time { color: var(--ms-link, var(--ms-accent)); font-size: .8rem; font-weight: 700; }
.ms-post h3 { font-family: var(--ms-font-display); font-size: 1.2rem; margin: .3rem 0; line-height: 1.3; }
.ms-post p { color: var(--ms-muted); margin: 0; font-size: .92rem; }
.ms-post-link:hover h3 { color: var(--ms-primary); }
