/* Keep the longer Finnish hero heading within the screen. */
.hero-cloud-ktchen__content .hero-title {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  font-size: clamp(30px, 5vw, 80px);
  line-height: 1.45;
}
.hero-cloud-ktchen__content .hero-title > .line-text {
  display: block;
  max-width: 100%;
}
@media (max-width: 991.98px) {
  .hero-cloud-ktchen__content .hero-title {
    font-size: clamp(30px, 7vw, 56px);
    line-height: 1.45;
  }
}

/* Show the complete inspection report without cropping or animation. */
.about-cloud-ktchen__thumb .thumb-image.oiva-report {
  background: #fff;
  border-radius: 0;
}
.oiva-report a { display: block; }
.about-cloud-ktchen__thumb .oiva-report img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Compact, matching icons for the three ordering steps. */
.process-icons .process-cloud-ktchen__items .process-cloud-ktchen__item {
  margin-top: 0;
}
.process-icons .process-cloud-ktchen__item .item-thumb {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 180px;
  background: #f8f6ed;
  color: var(--primary-color);
  order: 0 !important;
}
.process-icons .process-step-icon { width: 88px; height: 88px; }
.process-icons .process-cloud-ktchen__item .item-content { order: 1 !important; align-items: center; }
.process-icons .process-cloud-ktchen__item .item-number { font-size: 42px; }
.process-icons .process-cloud-ktchen__buttons { margin-top: 40px; }
@media (max-width: 767.98px) {
  .process-icons .process-cloud-ktchen__item .item-thumb { height: 150px; }
  .process-icons .process-step-icon { width: 76px; height: 76px; }
  .process-icons .process-cloud-ktchen__items { gap: 32px; }
}

.special-cloud-ktchen__items.single-special {
  grid-template-columns: minmax(0, 540px);
  justify-content: center;
}

.savon-page-nav { margin: 28px 0; }
.savon-page-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  color: var(--primary-color);
  border-bottom: 1px solid rgba(33, 119, 62, .2);
  font-size: 20px;
  font-weight: 600;
}
.savon-lunch-page .header-cloud-ktchen {
  position: relative;
  background: var(--primary-color);
}
.savon-lunch { padding: 72px 0 80px; }
.savon-lunch-heading { max-width: 1000px; margin: 0 auto 40px; text-align: center; }
.savon-lunch-eyebrow { color: var(--primary-color); text-transform: uppercase; letter-spacing: .12em; margin-bottom: 18px; }
.savon-lunch-heading h1 {
  font-size: clamp(26px, 3.6vw, 46px);
  line-height: 1.45;
  color: var(--primary-color);
  text-transform: uppercase;
  margin-bottom: 28px;
}
.savon-lunch-heading > p:last-child { font-size: 18px; line-height: 1.7; margin-bottom: 0; }
.savon-lunch-widget { width: 100%; min-width: 0; }
.savon-lunch-back { display: inline-block; color: var(--primary-color); margin-top: 32px; }
@media (max-width: 767.98px) {
  .savon-lunch { padding: 44px 0 56px; }
  .savon-lunch-heading > p:last-child { font-size: 16px; }
}

.savon-lunch-promo { display: block; }
.savon-lunch-promo .contact-info-card .title { margin-bottom: 20px; }
.savon-lunch-promo .contact-info-card p { color: var(--primary-color); line-height: 1.6; margin-bottom: 18px; }
.savon-lunch-promo-link { color: var(--primary-color); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.savon-lunch-promo:focus-visible { outline: 3px solid var(--primary-color); outline-offset: 5px; }
@media (max-width: 575.98px) {
  .savon-lunch-promo .contact-info-card { padding: 24px; left: 16px; right: 16px; bottom: 16px; }
}

.contact-cloud-ktchen__thumb.savon-lunch-promo > img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.savon-lunch-promo { align-self: start; }

.hero-cloud-ktchen-video .savon-hero-photo {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}

/* Allow the Finnish category heading to wrap within its column. */
.categories-cloud-ktchen .savon-category-title {
  font-size: clamp(28px, 3.5vw, 48px);
  line-height: 1.35;
  overflow-wrap: break-word;
  hyphens: manual;
}

.menu-logo-wrap .savon-solmu-logo { width: 100px; height: 100px; object-fit: contain; }
.hamburger_logo .savon-solmu-logo { width: 115px; height: 115px; object-fit: contain; }
.preloader-logo .savon-solmu-logo { width: 110px; height: 110px; object-fit: contain; }
.savon-download-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.hero-info .savon-download-buttons { justify-content: center; }
.savon-download-buttons .submit-btn { flex-shrink: 0; }
.savon-store-button {
  display: inline-flex; align-items: center; gap: 12px; padding: 12px 20px;
  min-height: 62px; border-radius: 10px; background: #111; color: #fff;
  font-family: Arial, sans-serif; text-align: left; line-height: 1.2;
}
.savon-store-button:hover, .savon-store-button:focus-visible { color: #fff; background: #292929; }
.savon-store-button i { font-size: 30px; }
.savon-store-button small, .savon-store-button strong { display: block; }
.savon-store-button small { font-size: 11px; margin-bottom: 4px; }
.savon-store-button strong { font-size: 20px; }
@media (max-width: 991.98px) {
  .menu-logo-wrap .savon-solmu-logo { width: 74px; height: 74px; }
}

.popular-dishes-cloud-ktchen__item .item-thumb .savon-favorite-photo {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.cta-cloud-ktchen.section { background-attachment: scroll; background-position: center; }

/* Match API-rendered opening hours and notices to the footer text. */
.footer-cloud-ktchen [data-restaurant-hours] p {
  color: var(--color-white);
  font-family: var(--ff-dm-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  margin: 0 0 12px;
}
.footer-cloud-ktchen [data-restaurant-hours] p:last-child { margin-bottom: 0; }

.savon-contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
[data-contact-status] { margin: 0; line-height: 1.6; }
[data-contact-status][data-state="error"] { color: #a02020; }
[data-contact-status][data-state="success"] { color: var(--primary-color); }
[data-contact-form] button:disabled { opacity: .6; cursor: wait; }

/* Space the two headline groups explicitly, including wider screens. */
.hero-cloud-ktchen__content .hero-title > br { display: none; }
.hero-cloud-ktchen__content .hero-title > .line-text ~ .line-text { margin-top: .22em; }

.hero-cloud-ktchen__content .hero-info { max-width: 680px; }
.savon-hero-actions { display: flex; flex-direction: column; gap: 24px; }
.savon-hero-primary, .savon-hero-stores { display: flex; justify-content: center; align-items: center; gap: 14px; flex-wrap: wrap; }
.savon-hero-primary .submit-btn { flex-shrink: 0; }
.savon-hero-stores .savon-store-button { min-width: 185px; }
@media (max-width: 449.98px) {
  .savon-hero-stores { gap: 10px; }
  .savon-hero-stores .savon-store-button { min-width: 0; padding: 12px; gap: 8px; }
  .savon-hero-stores .savon-store-button strong { font-size: 17px; }
  .savon-hero-stores .savon-store-button i { font-size: 26px; }
}
