/* ŁG Premium – Mobile Layout Fix 1.1.0
   Complete replacement of v1.0.x, not a patch appended to earlier CSS.
   No negative -60px offsets; avoid forcing 100% width on every descendant.
   Layout is driven by centered, bounded containers and minmax(0,1fr) grid tracks.
*/
@media screen and (max-width: 767px) {
  /* Responsive containers: 16px safe gutter on both sides.
     Reset any earlier asymmetric/negative margins without shifting the page. */
  body.lgp-experience .lgp-wrap {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    transform: none !important;
  }
  body.lgp-experience #lgp-main,
  body.lgp-experience .lgp-footer,
  body.lgp-experience .lgp-header {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  body.lgp-experience .lgp-wrap > * { min-width: 0; }

  /* Contact page: one column at phone widths, no intrinsic-content overflow. */
  body.lgp-experience .lgp-contact-page .lgp-process-contact-grid,
  body.lgp-experience .lgp-contact-page .lgp-map-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    min-width: 0 !important;
  }
  body.lgp-experience .lgp-contact-page .lgp-process-contact-grid > *,
  body.lgp-experience .lgp-contact-page .lgp-map-grid > *,
  body.lgp-experience .lgp-contact-page .lgp-reviews-head > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.lgp-experience .lgp-contact-page .lgp-lead,
  body.lgp-experience .lgp-contact-page .lgp-lead-form,
  body.lgp-experience .lgp-contact-page .lgp-map-box,
  body.lgp-experience .lgp-contact-page .lgp-reviews-empty {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  body.lgp-experience .lgp-contact-page .lgp-lead-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.lgp-experience .lgp-contact-page :is(.lgp-field,.lgp-field-wide),
  body.lgp-experience .lgp-contact-page .lgp-lead-form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea) {
    grid-column: 1 / -1;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  body.lgp-experience .lgp-contact-page .lgp-form-privacy label {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
  }
  body.lgp-experience .lgp-contact-page .lgp-form-privacy input[type=checkbox] {
    flex: 0 0 auto;
    width: auto !important;
  }
  body.lgp-experience .lgp-contact-page .lgp-form-privacy span {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  body.lgp-experience .lgp-contact-page .lgp-form-bottom,
  body.lgp-experience .lgp-contact-page .lgp-map-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 12px !important;
    box-sizing: border-box;
  }
  body.lgp-experience .lgp-contact-page .lgp-form-bottom .lgp-btn,
  body.lgp-experience .lgp-contact-page .lgp-map-actions > *,
  body.lgp-experience .lgp-contact-page .lgp-reviews-empty .lgp-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box;
    text-align: center;
    white-space: normal !important;
  }
  body.lgp-experience .lgp-contact-page .lgp-reviews-head,
  body.lgp-experience .lgp-contact-page .lgp-reviews-empty {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  body.lgp-experience .lgp-contact-page .lgp-contact-photo.lgp-wrap {
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.lgp-experience .lgp-contact-page .lgp-contact-photo img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    box-sizing: border-box;
  }

  /* Footer: restore original brand + 2-column (nav | contact) arrangement.
     Previous v1.0.1 changed all footer columns to one column, causing a
     visual regression even though the e-mail was separated correctly. */
  body.lgp-experience .lgp-footer .lgp-footer-main {
    display: grid !important;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.35fr) !important;
    column-gap: 14px !important;
    row-gap: 28px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    align-items: start !important;
  }
  body.lgp-experience .lgp-footer .lgp-footer-main > * {
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  body.lgp-experience .lgp-footer .lgp-footer-main > :first-child {
    grid-column: 1 / -1 !important;
  }
  body.lgp-experience .lgp-footer .lgp-footer-main > :nth-child(2) {
    grid-column: 1 !important;
  }
  body.lgp-experience .lgp-footer .lgp-footer-main > :nth-child(3) {
    grid-column: 2 !important;
  }
  body.lgp-experience .lgp-footer .lgp-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 9px !important;
    min-width: 0 !important;
    text-align: left !important;
  }
  body.lgp-experience .lgp-footer .lgp-footer-contact > :is(h2,a,p) {
    display: block !important;
    position: static !important;
    float: none !important;
    flex: 0 0 auto !important;
    align-self: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    white-space: normal !important;
    line-height: 1.55 !important;
  }
  body.lgp-experience .lgp-footer .lgp-footer-contact > h2 { margin-bottom: 6px !important; }
  body.lgp-experience .lgp-footer .lgp-footer-contact > a.lgp-footer-phone {
    font-size: clamp(21px, 5.7vw, 27px) !important;
    letter-spacing: -.02em;
    line-height: 1.22 !important;
    white-space: nowrap !important;
  }
  body.lgp-experience .lgp-footer .lgp-footer-contact > a[href^='mailto:'] {
    font-size: clamp(11px, 3.05vw, 13px) !important;
    line-height: 1.55 !important;
  }
  body.lgp-experience .lgp-footer .lgp-footer-contact > :is(p,.lgp-footer-address) {
    font-size: 12px !important;
  }
  body.lgp-experience .lgp-footer .lgp-footer-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    max-width: 100%;
    min-width: 0;
  }
  body.lgp-experience .lgp-footer .lgp-logo-footer,
  body.lgp-experience .lgp-footer .lgp-logo-footer img {
    max-width: 100% !important;
    box-sizing: border-box;
  }

  /* Fixed call-to-action bar is independent from .lgp-wrap and the document
     width. Both buttons share available viewport width with safe-area support. */
  body.lgp-experience .lgp-mobile-action {
    display: grid !important;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.25fr) !important;
    gap: 8px !important;
    position: fixed !important;
    inset-inline: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 9px 12px calc(9px + env(safe-area-inset-bottom,0px)) !important;
    transform: none !important;
    box-sizing: border-box !important;
    z-index: 999 !important;
    background: #fff;
    align-items: stretch !important;
  }
  body.lgp-experience .lgp-mobile-action > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 12px 6px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }
  body.lgp-experience .lgp-footer { padding-bottom: max(84px, calc(80px + env(safe-area-inset-bottom,0px))) !important; }
}
