/* Namdaris responsive layout. Original desktop composition is retained. */
.nm-menu-toggle { display: none; }
.nm-album-grid { display: contents; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid #a34b2f;
  outline-offset: 3px;
}
.nm-lightbox {
  box-sizing: border-box;
  width: min(960px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 24px);
  margin: auto;
  padding: 16px;
  border: 1px solid #dac6ae;
  border-radius: 8px;
  background: #f3e8d6;
  color: #422d2b;
}
.nm-lightbox::backdrop { background: rgb(25 15 12 / 85%); }
.nm-lightbox img {
  display: block;
  width: 100%;
  height: auto;
  max-height: calc(100dvh - 180px);
  object-fit: contain;
  margin: 12px auto;
}
.nm-lightbox-tools { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.nm-lightbox button {
  min-width: 44px;
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid #725344;
  border-radius: 4px;
  background: #422d2b;
  color: #f7ead6;
  font: inherit;
  cursor: pointer;
}
.nm-lightbox-caption { flex: 1; text-align: center; }
@media (max-width: 1049px) {
  html, body { overflow-x: visible; }
  body { font-size: 16px; line-height: 1.55; }
  *, *::before, *::after { box-sizing: border-box; }
  #conteiner2, #conteiner { width: 100%; min-height: 0; margin: 0; }
  #top-nav-bckg { display: none; }
  #header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: auto;
    min-height: 72px;
    padding: 16px 20px;
    background: #3e2b2a;
  }
  #logo { float: none; height: 36px; margin: 0 100px 0 0; }
  #logo a, #logo img { display: block; }
  #top-nav-cont { float: none; width: 100%; height: auto; padding: 0; }
  .nm-menu-toggle {
    width: 100%;
    min-height: 44px;
    margin-top: 14px;
    padding: 8px 12px;
    border: 1px solid #b5987c;
    border-radius: 4px;
    background: transparent;
    color: #f4dfc5;
    font: inherit;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
  }
  .nm-nav-ready .nm-menu-toggle { display: flex; justify-content: space-between; align-items: center; }
  .nm-menu-toggle::after { content: '\2630'; font-size: 22px; line-height: 1; }
  .nm-menu-toggle[aria-expanded="true"]::after { content: '\00d7'; }
  .nm-nav-ready #top-nav-cont { display: none; }
  .nm-nav-ready #top-nav-cont.nm-nav-open { display: block; }
  ul.top-menu { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; padding-top: 12px; }
  .top-menu li { float: none; min-width: 0; }
  .top-menu li a, .top-menu .last a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
    min-height: 46px;
    padding: 8px;
    border: 1px solid rgb(229 193 164 / 35%);
    border-radius: 3px;
    line-height: 1.3;
  }
  .top-menu .active a { background: rgb(229 193 164 / 17%); }
  .top-menu li a:hover, .top-menu .active a { display: flex; }
  #langv {
    top: 12px;
    right: 14px;
    display: flex;
    gap: 4px;
    padding: 0;
    background: none;
  }
  #langv br { display: none; }
  #langv a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; }
  #langv img { display: block; }
  #intro-page-content {
    width: 100%;
    height: auto;
    padding-top: 64.7%;
    background-size: 100% auto;
    background-position: center top;
    box-shadow: 0 3px 12px rgb(0 0 0 / 30%);
  }
  ul.intro-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 20px;
    background: #d9c3a2;
  }
  .intro-nav li { min-width: 0; }
  #intro-page-content .intro-nav li a, #intro-page-content .intro-nav li a:hover, #intro-page-content .intro-nav .active a {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    min-height: 56px;
    margin: 0;
    padding: 12px;
    border: 1px solid #9e7d60;
    border-radius: 4px;
    background: #efe0c8;
    color: #422d2b;
    font-size: 17px;
    line-height: 1.3;
    text-align: center;
  }
  #intro-page-content .intro-nav li a:hover { background: #f7ecda; }
  #page-content, #page-content-parmums, #page-content-kontakti {
    height: auto;
    min-height: calc(100dvh - 220px);
    padding: clamp(24px, 5vw, 48px);
    background: #e2ceb0;
    box-shadow: 0 3px 12px rgb(0 0 0 / 25%);
  }
  #left-col, #center-col-wraper { display: none; }
  #center-col { width: 100%; height: auto; margin: 0; padding: 0; overflow: visible; overflow-wrap: anywhere; }
  #center-col::after { display: block; clear: both; content: ''; }
  #center-col h1 { font-size: 28px; line-height: 1.25; margin-bottom: 22px; }
  #center-col p { margin-bottom: 12px; }
  #center-col img { max-width: 100%; height: auto; }
  #center-col ul, #center-col ol { padding-left: 24px; }
  #page-content-parmums #center-col > img { margin-bottom: 18px !important; }
  #page-content-parmums #center-col > img:not(:first-of-type) { clear: both; }
  #page-content-kontakti #center-col { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
  #page-content-kontakti #center-col::after { display: none; }
  #page-content-kontakti #center-col { flex-direction: column; }
  #page-content-kontakti h1 { flex-basis: auto; }
  #page-content-kontakti #center-col > p { order: 3; }
  #page-content-kontakti h1 { flex-basis: 100%; margin-bottom: 0; }
  #page-content-kontakti #center-col > br { display: none; }
  #page-content-kontakti #center-col > table { width: min(100%, 340px); order: 1; }
  #page-content-kontakti #center-col > div {
    float: none !important;
    order: 2;
    width: 100% !important;
    padding: 24px 0 0 !important;
    border-left: 0 !important;
    border-top: 1px solid #aa896d;
  }
  #page-content-kontakti .form { max-width: 560px; }
  .form table, .form tbody, .form tr, .form td { display: block; width: 100%; }
  .form td { padding: 0; }
  .form label { display: block; margin: 0 0 5px; }
  .form input#name, .form input#email, .form input#subject, .form textarea#text {
    width: 100%;
    min-height: 44px;
    margin: 0 0 16px;
    padding: 10px 12px;
    border: 1px solid #a3866b;
    border-radius: 4px;
    background: #fcf8f0;
    color: #422d2b;
    font: inherit;
    font-size: 16px;
  }
  .form textarea#text { min-height: 150px; resize: vertical; }
  .form-buttons input { min-height: 46px; margin-top: 16px; padding: 10px 24px; font: inherit; }
  .galerija-tituls {
    width: calc(33.333333% - 12px);
    height: auto;
    min-height: 0;
    margin: 6px;
    padding: 5px;
    background: #f8efdf;
  }
  .galerija-tituls a { display: block; }
  .nm-album-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .nm-album-grid .galerija-tituls { float: none; width: 100%; margin: 0; }
  .galerija-tituls a img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin: 0; }
  .galerija-tituls p { min-height: 3em; margin: 0 !important; padding: 8px 3px 3px; font-size: 15px; line-height: 1.4; }
  .gal-item { width: calc(25% - 8px); padding: 3px; margin: 4px; }
  .gal-item a, .gal-item img { display: block; width: 100%; }
  #foother { padding: 22px 20px; font-size: 12px; line-height: 1.6; }
}
@media (max-width: 600px) {
  ul.top-menu { grid-template-columns: 1fr; }
  .top-menu li a, .top-menu .last a { justify-content: flex-start; padding: 12px; }
  ul.intro-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 18px; }
  .intro-nav li:last-child { grid-column: 1 / -1; }
  .galerija-tituls { width: calc(50% - 12px); }
  .nm-album-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gal-item { width: calc(33.333333% - 8px); }
}
@media (max-width: 360px) {
  #header { padding-left: 16px; padding-right: 16px; }
  #logo { width: 165px; height: auto; margin-right: 96px; }
  #logo img { width: 165px; height: auto; }
  #langv { right: 10px; }
  #page-content, #page-content-parmums, #page-content-kontakti { padding: 20px 16px; }
  .g-recaptcha { transform: scale(.9); transform-origin: left top; margin-bottom: -8px; }
}

/* Compact services copy and signature on phones and tablets. */
@media (max-width: 1049px) {
  #center-col .nm-services-content .nm-service-spacer { display: none; }
  #center-col .nm-services-content p { margin: 0 0 12px; }
  #center-col .nm-services-content .nm-service-signature { margin: 0; text-align: left; }
  #center-col .nm-services-content .nm-signature-indent { display: none; }
}

/* Visible homepage summary for visitors and search engines. */
.nm-seo-intro { box-sizing: border-box; width: 100%; padding: 24px 32px; background: #e2ceb0; font-size: 16px; line-height: 1.6; }
.nm-seo-intro h1 { margin: 0 0 10px; font-size: 25px; line-height: 1.3; }
.nm-seo-intro .nm-intro-links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 12px; }
.nm-seo-intro a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1049px) { .nm-seo-intro { padding: 24px; } }
