/*
Theme Name: Cumulus
Description: Jednoduchá bloková šablona pro Cumulus servis.
Version: 1.0.0
Requires at least: 6.8
Requires PHP: 8.2
Text Domain: cumulus
*/
html { scroll-behavior: smooth; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
a { text-underline-offset: .2em; }
a:focus-visible, button:focus-visible { outline: 3px solid #ffb545; outline-offset: 4px; }
.cumulus-header { border-bottom: 1px solid #dce5ea; padding: 18px 24px; background: #fff; }
.cumulus-header .wp-block-site-logo { flex-shrink: 0; }
.cumulus-header .wp-block-site-logo img { display: block; }
.cumulus-header .wp-block-navigation { font-size: 15px; font-weight: 600; }
.cumulus-header .wp-block-navigation-item__content { padding: 10px 0; }
.cumulus-header .wp-block-navigation-item__content:hover { color: #147cbe; }
.cumulus-home { padding: 0 24px 80px; }
.cumulus-hero { padding: 64px 0; align-items: center !important; gap: 64px !important; }
.cumulus-hero h1 { font-size: clamp(2.6rem, 5vw, 4.5rem); line-height: 1.05; letter-spacing: -.045em; margin: 16px 0 24px; }
.cumulus-hero .wp-block-image { margin: 0; }
.cumulus-hero img { width: 100%; aspect-ratio: 1.18; object-fit: cover; border-radius: 28px; }
.cumulus-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #147cbe; }
.cumulus-lead { font-size: 21px; color: #536577; }
.cumulus-service-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.cumulus-service-card { border: 1px solid #dce5ea; border-radius: 20px; overflow: hidden; margin: 0 !important; background: #fff; }
.cumulus-service-card .wp-block-image { margin: 0; }
.cumulus-service-card .wp-block-image a { display: block; width: 100%; }
.cumulus-service-card .wp-block-image img { display: block; width: 100%; aspect-ratio: 1.8; object-fit: cover; transition: transform .2s; }
.cumulus-service-card:hover .wp-block-image img { transform: scale(1.02); }
.cumulus-card-copy { padding: 24px 28px 28px; }
.cumulus-card-copy h3 { font-size: clamp(1.4rem, 2vw, 1.8rem); line-height: 1.2; margin: 0 0 10px; }
.cumulus-card-copy h3 a { text-decoration: none; }
.cumulus-card-copy p { margin: 12px 0 0; color: #536577; }
.cumulus-card-link { font-size: 15px; font-weight: 700; }
.cumulus-card-link a { color: #147cbe; }
.cumulus-content { padding: 52px 24px 80px; }
.cumulus-content .wp-block-post-title { font-size: clamp(2.2rem, 4vw, 3.6rem); line-height: 1.13; letter-spacing: -.025em; overflow-wrap: anywhere; }
.cumulus-content .wp-block-post-content { margin-top: 36px; }
.cumulus-content .wp-block-post-content img { height: auto; }
.cumulus-content .wp-block-post-featured-image img { max-height: 460px; object-fit: cover; border-radius: 20px; }
.cumulus-section-photo img { width: 100%; max-height: 480px; object-fit: cover; border-radius: 20px; }
.cumulus-section-links { border: 1px solid #dce5ea; background: #f4f8fb; padding: 24px 28px; border-radius: 16px; }
.cumulus-section-links h2 { margin-top: 0; font-size: 24px; }
.cumulus-section-links li { margin: 8px 0; }
.wp-block-post-date { font-size: 14px; color: #536577; }
.wp-block-table { overflow-x: auto; }
.wp-block-table table { width: 100%; border-collapse: collapse; font-size: 16px; }
.wp-block-table td, .wp-block-table th { padding: 12px 16px; border: 1px solid #dce5ea; vertical-align: top; }
.wp-block-table tr:nth-child(even) { background: #f4f8fb; }
.wp-block-gallery { gap: 16px !important; }
.wp-block-gallery img { border-radius: 10px; }
.cumulus-footer { background: #102c44; color: #fff; padding: 44px 24px; }
.cumulus-footer a { color: #fff; }
.cumulus-footer .wp-block-site-title { font-size: 22px; font-weight: 700; }
.cumulus-footer p { font-size: 15px; color: #c4d4e2; }
.cumulus-footer .wp-block-navigation { font-size: 15px; }
@media (max-width: 900px) {
  .cumulus-hero { gap: 32px !important; padding: 40px 0; }
  .cumulus-header .wp-block-navigation { font-size: 14px; gap: 18px; }
}
@media (max-width: 600px) {
  .cumulus-header { padding: 12px 20px; }
  .cumulus-header .wp-block-site-logo img { width: 145px; }
  .cumulus-header .wp-block-navigation__responsive-container.is-menu-open { padding: 24px; }
  .cumulus-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 44px; align-items: flex-start; }
  .cumulus-header .is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 20px; font-size: 22px; }
  .cumulus-home, .cumulus-content { padding-left: 20px; padding-right: 20px; }
  .cumulus-hero { padding: 32px 0 44px; gap: 28px !important; }
  .cumulus-hero h1 { font-size: 44px; }
  .cumulus-hero img { aspect-ratio: 1.55; border-radius: 18px; }
  .cumulus-service-grid { grid-template-columns: 1fr; gap: 22px; }
  .cumulus-card-copy { padding: 22px; }
  .cumulus-content { padding-top: 32px; padding-bottom: 52px; }
  .cumulus-content .wp-block-post-title { font-size: 36px; }
  .cumulus-section-links { padding: 20px; }
  .wp-block-table table { min-width: 440px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .cumulus-service-card .wp-block-image img { transition: none; }
}
