/* CinemaAPKk Design System v3 — mobile-first refinement layer (2026-10-26) */

/* ---------- Global safety: no horizontal overflow, media fits containers ---------- */
html, body { overflow-x: clip; }
img, video, iframe, embed, object { max-width: 100%; }
img, video { height: auto; }
.entry-content img, .post-content img { border-radius: 10px; }

/* ---------- Readable mobile-first typography ---------- */
body { font-size: 16.5px; line-height: 1.65; -webkit-text-size-adjust: 100%; }
.entry-content p, .post-content p { margin-bottom: 1.1em; }
.entry-content h2, .post-content h2 { font-size: clamp(1.45rem, 4.5vw, 2rem); line-height: 1.25; margin: 1.6em 0 .6em; }
.entry-content h3, .post-content h3 { font-size: clamp(1.2rem, 3.8vw, 1.55rem); line-height: 1.3; margin: 1.4em 0 .5em; }
.entry-content ul, .entry-content ol, .post-content ul, .post-content ol { padding-left: 1.35em; }
.entry-content li, .post-content li { margin-bottom: .45em; }

/* ---------- Tap targets (mobile) ---------- */
@media (max-width: 768px) {
  .menu a, .main-navigation a, .nav--toggle-small a, .ck-footer-col a, .entry-content a.wp-block-button__link { min-height: 44px; }
  .ck-footer-col li { margin-bottom: .35em; }
  .ck-footer-col a { display: inline-block; padding: .3em 0; }
  button, .button, .wp-block-button__link, input[type="submit"] { min-height: 48px; }
}

/* ---------- Buttons & CTA band: full-width, thumb-friendly on mobile ---------- */
.ck-cta-band { padding: clamp(1.4rem, 5vw, 3rem) 1.1rem; }
.ck-cta-inner { max-width: 880px; margin: 0 auto; text-align: center; }
.ck-cta-btn, .entry-content .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  padding: .95em 2em; border-radius: 999px; font-weight: 700; text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
}
.ck-cta-btn:hover, .entry-content .wp-block-button__link:hover { transform: translateY(-2px); }
@media (max-width: 600px) {
  .ck-cta-btn, .entry-content .wp-block-button__link { width: 100%; padding: 1em 1.2em; }
}

/* ---------- Cards & content blocks: modern, consistent ---------- */
.entry-content .wp-block-group, .ck-card { border-radius: 14px; }
.entry-content blockquote { border-radius: 0 12px 12px 0; padding: 1em 1.2em; margin: 1.4em 0; }
.entry-content code, .entry-content pre { border-radius: 8px; }
.entry-content pre { overflow-x: auto; padding: 1em; }

/* ---------- Tables never break mobile layouts ---------- */
@media (max-width: 768px) {
  .entry-content table, .post-content table {
    display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
    white-space: nowrap; border-radius: 10px;
  }
}

/* ---------- Footer: clean stacking, no watermark overflow ---------- */
.ck-footer, footer.ck-footer { overflow: hidden; }
.ck-footer-grid { display: grid; gap: 2rem; }
@media (max-width: 820px) {
  .ck-footer-grid { grid-template-columns: 1fr; gap: 1.4rem; }
  .ck-footer-giant { font-size: clamp(3rem, 17vw, 6rem); line-height: 1; white-space: nowrap; overflow: hidden; }
}
@media (min-width: 821px) {
  .ck-footer-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
}

/* ---------- Forms usable on touch devices ---------- */
input[type="text"], input[type="email"], input[type="search"], textarea, select {
  font-size: 16px; /* prevents iOS focus zoom */
  max-width: 100%;
}

/* ---------- Respect reduced-motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* v3.1: demoted duplicate H1 keeps heading look */
.ckds31-h1like { font-size: clamp(1.8rem, 5vw, 2.6rem); font-weight: 700; line-height: 1.2; margin: .6em 0 .4em; }
