/*
Theme Name: Resono Migration
Description: WordPress theme migrated from the 2016 resono WebEdition site.
Version: 1.0.1
Text Domain: resono
*/

:root { --resono-gold: #aa9b6e; }
body { overflow-x: hidden; }
.resono-contact label { display: block; font-weight: 600; margin: 1rem 0 .35rem; }
.resono-contact input:not([type=checkbox]), .resono-contact textarea { width: 100%; max-width: 650px; }
.resono-contact button { background: var(--resono-gold); color: #fff; padding: .8rem 1.5rem; border: 0; cursor: pointer; }
.resono-contact .error { color: #ad2929; }
.resono-contact .honeypot { position: absolute; left: -9999px; }
.resono-nav { align-items: center; display: flex; flex-wrap: wrap; justify-content: space-between; }
.resono-nav .menu { display: flex; flex-wrap: wrap; list-style: none; margin: 0; }
.resono-nav .menu li { margin: .2rem .55rem; }
.resono-nav .menu a { color: inherit; }
.resono-nav .menu-item-has-children { position: relative; }
.resono-nav .sub-menu { display: none; position: absolute; top: 100%; left: 0; z-index: 300; min-width: 230px; margin: 0; padding: .5rem; list-style: none; background: #fff; box-shadow: 0 5px 16px #0002; }
.resono-nav .menu-item-has-children:hover > .sub-menu, .resono-nav .menu-item-has-children:focus-within > .sub-menu { display: block; }
.resono-nav .sub-menu li { display: block; margin: 0; }
.resono-nav .sub-menu a { display: block; padding: .4rem .5rem; }
.resono-nav .logo img { max-width: 220px; height: auto; }
.resono-menu-toggle { display: none; background: transparent; border: 1px solid var(--resono-gold); color: #666; padding: .5rem .8rem; }
.resono-page { min-height: 40vh; }
.resono-page img { max-width: 100%; height: auto; }
.resono-page .accordion-title { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 42%); align-items: center; gap: 1rem; min-height: 210px; padding: 1rem 2rem; line-height: 1.3; overflow: hidden; }
.resono-page .accordion-title img { display: block; width: 100%; max-width: 100%; height: auto; max-height: 240px; object-fit: contain; margin: 0; }
.resono-page .accordion-title:not(:has(img)) { display: block; min-height: 0; }
.resono-footer { padding: 2rem 0; }
@media (max-width: 1023px) {
  #resono-menu.resono-nav { position: relative; inset: auto; z-index: 200; padding: .7rem; background: #fff; }
  .resono-nav .logo img { max-width: 150px; }
  .resono-menu-toggle { display: inline-block; }
  #resono-main-nav { display: none; flex-basis: 100%; }
  #resono-main-nav.is-open { display: block; }
  .resono-nav .menu { width: 100%; display: block; padding: .5rem 0; }
  .resono-nav .menu li { margin: .2rem 0; }
  .resono-nav .menu a { display: block; padding: .45rem; border-bottom: 1px solid #eee; }
  .resono-nav .sub-menu { display: block; position: static; min-width: 0; padding: 0 0 0 1rem; box-shadow: none; }
}
@media (max-width: 639px) {
  .resono-page .accordion-title { grid-template-columns: 1fr; text-align: center; gap: .5rem; min-height: 0; padding: 1rem; }
  .resono-page .accordion-title img { width: auto; max-width: 100%; height: auto; max-height: 180px; margin: 0 auto; }
  .box_page-main-img_txt { position: static; }
  .box_page-main-img_txt h1 { margin: .5rem auto 1rem; }
  .section_img-link_txt { position: static; }
  .section_img-link_txt h3 { font-size: 1.3rem; margin: .6rem 0 1.2rem; }
  .box_section-main-img { margin-bottom: 1.5rem; }
  .resono-page .row { max-width: 100%; }
}
