@media (max-width: 1100px) {
  .site-header__inner {
    flex-wrap: wrap;
    gap: var(--rollin-space-3);
    padding-block: var(--rollin-space-3);
  }

  .primary-navigation {
    width: 100%;
    margin-inline-start: 0;
  }

  .primary-navigation ul {
    gap: var(--rollin-space-3) var(--rollin-space-4);
  }

  .archive-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  :root {
    --rollin-gutter: 1rem;
  }

  .site-header__inner {
    justify-content: space-between;
  }

  .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .primary-navigation {
    display: none;
    padding-block: var(--rollin-space-3);
    border-top: 1px solid var(--rollin-color-line);
  }

  .primary-navigation.is-open {
    display: block;
  }

  .primary-navigation ul {
    align-items: stretch;
    flex-direction: column;
    gap: 0;
  }

  .primary-navigation li a {
    display: block;
    padding-block: 0.7rem;
    font-size: var(--rollin-text-sm);
  }

  .archive-list {
    grid-template-columns: 1fr;
  }

  .site-footer__inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-navigation {
    margin-inline-start: 0;
  }

  .footer-navigation ul {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--rollin-space-3);
  }

  .rollin-intro {
    padding-block: var(--rollin-space-7);
  }
}

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


/* Header responsive behavior */
@media (max-width: 1250px) {
  .site-header__inner {
    gap: 0.85rem;
  }

  .primary-menu {
    gap: 0.55rem;
  }

  .primary-menu > li > a {
    font-size: 0.68rem;
  }

  .header-search {
    width: 150px;
  }
}

@media (max-width: 1050px) {
  .site-header__inner {
    flex-wrap: wrap;
    padding-block: 0.65rem;
  }

  .menu-toggle {
    display: inline-flex;
    margin-inline-start: auto;
  }

  .site-header__panel {
    display: none;
    flex: 0 0 100%;
    align-items: stretch;
    flex-direction: column;
    gap: var(--rollin-space-4);
    padding-block: var(--rollin-space-3) var(--rollin-space-2);
    border-top: 1px solid var(--rollin-color-line);
  }

  .site-header__panel.is-open {
    display: flex;
  }

  .primary-navigation {
    width: 100%;
  }

  .primary-menu {
    align-items: stretch;
    flex-direction: column;
    gap: 0;
  }

  .primary-menu > li > a {
    display: flex;
    min-height: 42px;
    padding-block: 0.55rem;
    font-size: 0.9rem;
    border-bottom: 1px solid var(--rollin-color-line);
  }

  .site-header__tools {
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .header-search {
    flex: 1 1 220px;
    width: auto;
  }

  .header-search input[type="search"],
  .header-search input[name="s"] {
    min-height: 42px;
  }
}

@media (max-width: 480px) {
  .site-title {
    font-size: 2rem;
  }

  .custom-logo {
    max-width: 145px;
    max-height: 44px;
  }

  .site-header__tools {
    align-items: stretch;
  }

  .header-search {
    flex-basis: 100%;
  }

  .header-account {
    gap: 0.8rem;
  }

  .header-add-button {
    margin-inline-start: auto;
  }
}


/* Stage 8: consolidated responsive safeguards */
html { overflow-x: clip; }
body { min-width: 320px; }
.content-container,
.site-header__inner,
.site-footer__inner { width: min(100% - (var(--rollin-gutter) * 2), var(--rollin-container)); margin-inline: auto; }
.site-header__inner { min-width: 0; }
.site-branding,
.site-header__panel,
.site-header__tools,
.primary-navigation,
.primary-menu,
.primary-menu > li { min-width: 0; }
.site-title,
.primary-menu > li > a,
.header-add-button { overflow-wrap: anywhere; }
.site-header__panel { min-width: 0; }
.site-header__tools { min-width: 0; }
.header-search form { display: flex; min-width: 0; }
.header-search input[type="search"],
.header-search input[name="s"] { width: 100%; min-width: 0; }
.rollin-card-grid,
.rollin-activities__inner,
.rollin-hero,
.rollin-article__layout { min-width: 0; }
.rollin-card__image,
.rollin-hero__image,
.rollin-standard-page__image img,
.rollin-article__featured-image img { max-width: 100%; }
button,
input[type="submit"],
.header-add-button,
.icon-link,
.menu-toggle { touch-action: manipulation; }
.icon-link,
.menu-toggle { min-width: 42px; min-height: 42px; }
.menu-toggle { gap: .6rem; }
.menu-toggle__label { font-weight: 800; }
.rollin-card-grid > *,
.rollin-activities__track > * { min-width: 0; }

@media (min-width: 1051px) {
	.menu-toggle { display: none !important; }
	.site-header__panel { display: flex !important; }
}
@media (max-width: 1050px) {
	.site-header__inner { align-items: center; }
	.site-header__panel { display: none; }
	.site-header__panel.is-open { display: flex; }
	.primary-navigation { display: block; }
	.primary-navigation.is-open { display: block; }
	.primary-menu > li > a { min-height: 44px; }
	.site-header__tools { gap: .8rem; }
	.header-account { display: flex; align-items: center; gap: .7rem; }
}
@media (max-width: 800px) {
	.rollin-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rollin-hero { grid-template-columns: minmax(0, 1fr); }
	.rollin-hero__visual { min-width: 0; }
	.rollin-article__layout { grid-template-columns: minmax(0, 1fr); }
	.rollin-article__sidebar { position: static; }
}
@media (max-width: 620px) {
	.rollin-card-grid { grid-template-columns: minmax(0, 1fr); }
	.rollin-card__media { aspect-ratio: 16 / 9; }
	.rollin-page-heading h1,
	.rollin-standard-page__header h1 { overflow-wrap: anywhere; }
	.rollin-article__title { overflow-wrap: anywhere; }
	.rollin-article__featured-image img,
	.rollin-standard-page__image img { border-radius: var(--rollin-radius-md); }
	.site-header__tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
	.header-search { grid-column: 1 / -1; width: 100%; }
	.header-account { grid-column: 1; }
	.header-add-button { grid-column: 2; grid-row: 2; }
	.rollin-search-form-wrap form { align-items: stretch; }
}
@media (max-width: 380px) {
	.rollin-card--user { flex-direction: column; }
	.rollin-card--user .rollin-card__body { padding: .9rem 0 0; }
	.rollin-card__footer { align-items: flex-start; flex-direction: column; }
	.rollin-404__actions { display: flex; width: 100%; flex-direction: column; gap: .7rem; }
	.rollin-404__actions .button { text-align: center; }
}
@media (hover: none) {
	.rollin-card:hover { transform: none; box-shadow: none; }
	.rollin-card:hover .rollin-card__image { transform: none; }
}
@media (forced-colors: active) {
	:focus-visible { outline: 2px solid CanvasText; }
	.rollin-chip,
	.rollin-card__play,
	.rollin-card__badge { border: 1px solid currentColor; }
}
@media print {
	.site-header,
	.site-footer,
	.menu-toggle,
	.rollin-article__sidebar,
	.rollin-pagination,
	.rollin-search-form-wrap { display: none !important; }
	body { color: #000; background: #fff; }
	.rollin-page-shell { padding: 0; }
	.rollin-card { break-inside: avoid; box-shadow: none; }
}

/* Etapa 34: responzivní patička */
@media(max-width:900px){
  .site-footer__main{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}
  .site-footer__brand{grid-column:1/-1;max-width:unset}
  .site-footer__bottom{align-items:flex-start;flex-direction:column;gap:.9rem}
}
@media(max-width:520px){
  .site-footer__main{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.1rem}
  .site-footer__brand{grid-column:1/-1}
  .site-footer__column h2{font-size:.72rem}
  .site-footer__column nav{gap:.7rem}
  .site-footer__column nav a{font-size:.82rem}
  .site-footer__bottom{gap:.85rem}
  .site-footer .footer-navigation ul{flex-direction:row;gap:.75rem;flex-wrap:wrap}
  .site-footer__signature{line-height:1.6}
}
