/* Responsive compositions first; the final fit preserves every text and action. */
.screen-section { padding-block: clamp(14px, 2.5vh, 28px) !important; min-height: 0 !important; }
.section-fit-content { display: flow-root; transform-origin: top center; }
body.content-in-view .chef-fab { visibility: hidden; pointer-events: none; }
.screen-section .title { font-size: clamp(2rem, 4.8vh, 3.6rem); }
.screen-section .eyebrow { margin-bottom: 14px; }
.screen-section .lead { font-size: clamp(.88rem, 1.8vh, 1.04rem); }
#etkinlikler .evc-list { margin-block: 20px 0; }
#etkinlikler .evc-img { aspect-ratio: auto; height: clamp(80px, 22vh, 240px); }
#etkinlikler .evc-img img { height: 100%; width: 100%; object-fit: cover; }
#etkinlikler .evc-tag { margin-top: 12px; }
#etkinlikler .evc h3 { font-size: clamp(1.3rem, 2.8vh, 1.7rem); }
#etkinlikler .evc p { font-size: .86rem; line-height: 1.5; }
#etkinlikler .evc-go { padding-top: 12px; }
#etkinlikler .ev-cta { margin-top: 20px; }
#kitchen .head { margin-bottom: 10px; }
#kitchen .dish-media { min-height: 0; height: clamp(90px, 23vh, 240px); max-height: none; aspect-ratio: auto; }
#kitchen .dish p { display: block; -webkit-line-clamp: unset; overflow: visible; }
#kitchen .tags li { display: list-item; }
#kitchen .dish-track { padding-bottom: 16px; }
#yorumlar .rv { padding: clamp(20px, 3vh, 40px); }
#yorumlar .rv-rate { margin-top: 18px; padding: 14px 16px; }
#iletisim .map { min-height: 0; height: 100%; }
#iletisim .contact-card { padding: clamp(20px, 3vh, 32px); }
#iletisim .clist { margin-top: 16px; }
#iletisim .clist li { padding-block: 10px; }
#iletisim .contact-actions { padding-top: 18px; }
#iletisim .meal { margin-top: 14px; padding: 20px 24px; }
#iletisim .mc { height: 68px; }
#anasayfa .hero-grid { min-height: 0; }
/* Kapıyı yükseklikten değil genişlikten sınırla: kapı + maymun hiç kırpılmadan birlikte küçülür */
#anasayfa .hero-art { max-width: calc(68vh * 700 / 660); }
@media (max-width: 1023px) {
    #etkinlikler .ev-top { grid-template-columns: 1fr; gap: 10px; }
    #etkinlikler .ev-top .lead { max-width: none; }
    #etkinlikler .evc-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    #etkinlikler .evc-img { height: clamp(54px, 12vh, 120px); }
}
@media (max-width: 767px) {
    .screen-section .eyebrow { margin-bottom: 8px; font-size: .62rem; }
    .screen-section .title { font-size: 1.9rem; }
    .screen-section .lead { font-size: .84rem; line-height: 1.5; }
    #etkinlikler .evc-list { gap: 14px; margin-top: 14px; }
    #etkinlikler .evc-img { border-radius: 12px; height: 68px; }
    #etkinlikler .evc-tag { margin-top: 6px; font-size: .56rem; }
    #etkinlikler .evc h3 { font-size: 1.2rem; margin-top: 3px; }
    #etkinlikler .evc p { margin-top: 4px; font-size: .76rem; line-height: 1.4; }
    #etkinlikler .evc-go { font-size: .76rem; padding-top: 6px; }
    #etkinlikler .evc-no { left: 8px; top: 8px; padding: 3px 9px; font-size: .8rem; }
    #etkinlikler .ev-cta { gap: 8px; margin-top: 14px; }
    #etkinlikler .ev-cta .btn { width: 100%; justify-content: center; min-height: 44px; }
    #etkinlikler .ev-cta small { width: 100%; text-align: center; font-size: .7rem; }
    #kitchen .head { gap: 12px; }
    #kitchen .dish { flex-basis: 84vw; }
    #kitchen .dish-body { padding: 12px 16px; }
    #kitchen .dish-media { height: 20vh; }
    #kitchen .tags { margin-block: 8px; }
    #kitchen .dish p { font-size: .8rem; }
    #yorumlar .rv { gap: 16px; padding: 20px; }
    #yorumlar .rv-copy .lead { margin-top: 10px; }
    #yorumlar .rv-rate { margin-top: 12px; padding: 10px 12px; }
    #yorumlar .platforms { margin-top: 12px; gap: 6px; }
    #yorumlar .pill { padding-inline: 10px; font-size: .74rem; }
    #yorumlar .rs-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    #yorumlar .rs { padding: 12px; grid-template-columns: 1fr; gap: 6px; }
    #yorumlar .rs-val b { font-size: 2.6rem; }
    #yorumlar .rs-src { font-size: .58rem; letter-spacing: .04em; }
    #yorumlar .rs-go { justify-self: start; font-size: .65rem; }
    #yorumlar .rs-stars { font-size: .9rem; }
    #iletisim .contact-grid { gap: 12px; }
    #iletisim .contact-card { padding: 16px; }
    #iletisim .clist { margin-top: 12px; }
    #iletisim .clist li { grid-template-columns: 30px minmax(0, 1fr); gap: 10px; padding-block: 7px; }
    #iletisim .clist i { width: 30px; height: 30px; }
    #iletisim .clist a, #iletisim .clist span { font-size: .82rem; }
    #iletisim .contact-actions { padding-top: 12px; }
    #iletisim .contact-actions .btn { flex: 1 1 auto; font-size: .76rem; padding-inline: 12px; min-height: 44px; }
    #iletisim .map { height: 120px; }
    #iletisim .map-tag { top: 8px; left: 8px; padding: 5px 10px; font-size: .66rem; }
    #iletisim .map-boat { --W: 64px; --fx: 38px; }
    #iletisim .meal { grid-template-columns: 1fr; gap: 10px; padding: 12px 16px; }
    #iletisim .meal-head { gap: 10px; }
    #iletisim .meal-ic { flex-basis: 32px; height: 32px; font-size: 1rem; }
    #iletisim .meal h3 { font-size: 1.3rem; }
    #iletisim .meal p { font-size: .72rem; margin-top: 4px; }
    #iletisim .meal-logos { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
    #iletisim .mc { height: 38px; padding: 6px; border-radius: 8px; }
    #iletisim .mc img, #iletisim .mc img.tall { max-height: 25px; }
    #anasayfa .hero-grid { gap: 18px; }
    #anasayfa h1 { font-size: clamp(2.4rem, 10vw, 3.6rem); }
    #anasayfa .lead { margin-top: 14px; }
    #anasayfa .hero-cta { margin-top: 16px; gap: 8px; }
    #anasayfa .facts { margin-top: 18px; }
    #anasayfa .hero-art { width: 220px; margin: 0 auto; justify-self: center; }
}
@media (max-height: 600px) and (min-width: 600px) {
    .screen-section .title { font-size: 1.8rem; }
    .screen-section .eyebrow { margin-bottom: 6px; font-size: .6rem; }
    .screen-section .lead { font-size: .78rem; line-height: 1.4; }
    #etkinlikler .ev-top { grid-template-columns: 1fr 1fr; gap: 20px; }
    #etkinlikler .evc-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 12px; }
    #etkinlikler .evc-img { height: 56px; }
    #etkinlikler .evc-tag { margin-top: 6px; font-size: .55rem; }
    #etkinlikler .evc h3 { font-size: 1.1rem; }
    #etkinlikler .evc p { font-size: .72rem; line-height: 1.4; }
    #etkinlikler .evc-go { font-size: .72rem; padding-top: 6px; }
    #etkinlikler .ev-cta { margin-top: 12px; }
    #etkinlikler .ev-cta .btn { min-height: 44px; }
    #yorumlar .rv { grid-template-columns: 1.2fr 1fr; gap: 20px; padding: 16px; }
    #yorumlar .rv-rate { margin-top: 10px; padding: 8px 12px; }
    #yorumlar .platforms { margin-top: 10px; }
    #yorumlar .rs { padding: 12px; }
    #yorumlar .rs-val b { font-size: 2.8rem; }
    #iletisim .contact-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
    #iletisim .contact-card { padding: 16px; }
    #iletisim .clist { margin-top: 10px; }
    #iletisim .clist li { padding-block: 6px; }
    #iletisim .clist a, #iletisim .clist span { font-size: .8rem; }
    #iletisim .contact-actions { padding-top: 10px; }
    #iletisim .contact-actions .btn { padding-inline: 10px; font-size: .75rem; }
    #iletisim .meal { grid-template-columns: 1fr 1fr; padding: 12px 16px; gap: 12px; }
    #iletisim .meal h3 { font-size: 1.4rem; }
    #iletisim .meal p { font-size: .74rem; }
    #iletisim .mc { height: 48px; padding: 8px; }
    #anasayfa .hero-grid { grid-template-columns: 1.2fr .8fr; gap: 24px; }
    #anasayfa h1 { font-size: 2.7rem; }
    #anasayfa .hero-art { width: 240px; margin: 0; justify-self: center; }
    #anasayfa .hero-cta, #anasayfa .facts { margin-top: 16px; }
    #kitchen .dish-media { height: 70px; }
    #kitchen .dish-body { padding: 10px 14px; }
    #kitchen .dish p { font-size: .76rem; }
}
@media (max-width: 374px) {
    .screen-section .title { font-size: 1.6rem; }
    #etkinlikler .evc-list { grid-template-columns: 1fr; gap: 10px; }
    #etkinlikler .evc a { display: grid; grid-template-columns: 60px 1fr; gap: 2px 10px; }
    #etkinlikler .evc-img { grid-column: 1; grid-row: 1 / 5; height: 100%; min-height: 80px; }
    #etkinlikler .evc-tag, #etkinlikler .evc h3, #etkinlikler .evc p, #etkinlikler .evc-go { grid-column: 2; margin: 0; padding: 0; }
    #etkinlikler .evc-tag { font-size: .5rem; }
    #etkinlikler .evc p { font-size: .72rem; }
    #iletisim .map { height: 80px; }
    #iletisim .meal-ic { flex-basis: 24px; height: 24px; }
    #iletisim .contact-card { padding: 12px; }
    #iletisim .clist li { padding-block: 5px; }
    #iletisim .meal { padding: 10px 12px; }
    #anasayfa .hero-art { width: 140px; }
}
#anasayfa { padding-bottom: 0 !important; }
#anasayfa .scroll-cue { position: relative; inset: auto; margin: 18px var(--gutter) 0; }
/* Keep the hammock decoration within the footer's own screen area. */
.footer > .f-fence { border-top: 96px solid var(--cream); box-sizing: content-box; }
/* Give the facts row the same breathing room above and below. */
#anasayfa .section-fit-content { padding-bottom: clamp(24px, 3.5vh, 36px); }
#anasayfa .hero-grid { align-items: end; }
#anasayfa .facts { margin-top: clamp(24px, 3.5vh, 36px); }
#anasayfa .scroll-cue { display: none; }

/* Etkinlik görselleri: dar şeritlerde (özellikle mobilde) kırpma yüzlere odaklansın */
#etkinlikler .evc-img img { object-position: 50% 30%; transform-origin: 50% 30%; }
#etkinlikler .evc-img img[src$="ev-kutlama.jpg"] { object-position: 50% 8%; transform-origin: 50% 25%; }
#etkinlikler .evc-img img[src$="ev-dogumgunu.jpg"] { object-position: 50% 12%; transform-origin: 50% 25%; }
#etkinlikler .evc-img img[src$="ev-workshop.jpg"] { object-position: 60% 30%; transform-origin: 60% 40%; }
#etkinlikler .evc-img img[src$="ev-soylesi.jpg"] { object-position: 50% 45%; transform-origin: 50% 48%; }
