/* Widen WordPress's default constrained block width for this landing layout. */
.dw-header.is-layout-constrained > .dw-header-inner,
.dw-hero.is-layout-constrained > .dw-hero-grid,
.dw-section.is-layout-constrained > *,
.dw-final.is-layout-constrained > * {
  max-width: 1180px !important;
  width: 100%;
}
.dw-hero-grid { margin-inline: auto; }
.dw-hero-image { width: 100%; }
.dw-header .dw-site-name a { width: 225px; height: 54px; background-size: 225px auto; }
.dw-header .wp-block-navigation__container { gap: 1.25rem; }
@media (max-width: 480px) {
  .dw-header .dw-site-name a { width: 165px; height: 48px; background-size: 165px auto; }
}

/* LINE contact surfaces. The markup is omitted when DW_CARE_LINE_URL is unset. */
.dw-line-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 11px 18px;
  border: 1px solid rgba(255, 255, 255, .68);
  border-radius: 14px;
  color: #fff;
  background: rgba(255, 255, 255, .06);
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.dw-line-button:hover {
  border-color: #39d575;
  color: #fff;
  background: rgba(57, 213, 117, .14);
  transform: translateY(-1px);
}
.dw-line-header-button {
  min-height: 46px;
  border: 1px solid rgba(6, 160, 72, .46);
  color: #08723b;
  background: #fff;
  box-shadow: none;
  white-space: nowrap;
}
.dw-line-header-button:hover {
  border-color: #06a048;
  color: #075d32;
  background: rgba(6, 199, 85, .07);
}
.dw-line-hero { margin-top: 14px; }
.dw-line-hero-button { min-height: 52px; }
.dw-line-final { margin-top: 28px; }
.dw-line-qr {
  width: fit-content;
  padding: 14px;
  border-radius: 20px;
  color: #102c48;
  background: #fff;
  box-shadow: 0 18px 42px rgba(0, 10, 24, .25);
  text-align: center;
}
.dw-line-qr a { display: block; }
.dw-line-qr img { display: block; width: 180px; height: 180px; }
.dw-line-qr p { margin: 9px 0 0; font-size: .86rem; font-weight: 700; }
.dw-line-final-mobile,
.dw-mobile-sticky { display: none; }

@media (max-width: 768px) {
  .dw-line-header-button,
  .dw-line-qr { display: none; }
  .dw-line-hero { margin-top: 12px; }
  .dw-line-hero-button,
  .dw-line-final-mobile { display: flex; width: 100%; min-height: 56px; }
  .dw-line-final { margin-top: 20px; }
  body.dw-has-sticky-contact { padding-bottom: 72px; }
  .dw-mobile-sticky {
    position: fixed;
    z-index: 999;
    right: 12px;
    bottom: max(10px, env(safe-area-inset-bottom));
    left: 12px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: 58px;
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 18px;
    background: rgba(6, 31, 56, .96);
    box-shadow: 0 16px 38px rgba(0, 12, 28, .34);
    backdrop-filter: blur(14px);
  }
  .dw-mobile-sticky a {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    color: #fff;
    font-size: .92rem;
    font-weight: 700;
    text-decoration: none;
  }
  .dw-mobile-sticky .dw-mobile-sticky-line {
    border: 1px solid rgba(73, 220, 132, .54);
    color: #c9f7da;
    background: rgba(6, 199, 85, .11);
  }
  .dw-mobile-sticky a:last-child {
    background: linear-gradient(135deg, #16aeb2 0%, #087db1 100%);
  }
}

.dw-analytics-consent[hidden] { display: none !important; }
.dw-analytics-consent {
  position: fixed; left: 20px; right: 20px; bottom: 20px; z-index: 10000;
  max-width: 760px; margin: 0 auto; padding: 18px 20px;
  color: #fff; background: #0b1f3a; border-radius: 16px;
  box-shadow: 0 16px 44px rgba(2, 15, 35, .28);
}
.dw-analytics-consent p { margin: 0 0 12px; line-height: 1.6; }
.dw-analytics-consent div { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.dw-analytics-consent button {
  min-height: 44px; padding: 0 16px; border: 0; border-radius: 12px;
  color: #fff; background: linear-gradient(135deg, #0f9f98, #1677c8); font: inherit; cursor: pointer;
}
.dw-analytics-consent button.is-secondary { background: transparent; box-shadow: inset 0 0 0 1px rgba(255,255,255,.58); }
.dw-analytics-consent a { color: #fff; text-underline-offset: 3px; }
@media (max-width: 480px) {
  .dw-analytics-consent { left: 12px; right: 12px; bottom: 76px; padding: 16px; }
  .dw-analytics-consent div { align-items: stretch; }
  .dw-analytics-consent button { flex: 1 1 calc(50% - 5px); }
  .dw-analytics-consent a { flex-basis: 100%; text-align: center; }
}
