


html, body { overflow-x: hidden; }
body {
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}
img, video, iframe { max-width: 100%; height: auto; }
p, li, h1, h2, h3, h4, h5, h6, a { overflow-wrap: break-word; word-break: break-word; }
.container, .page-width, .site-content, .content-area, .content, .inner-wrap {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 768px) {
  body { font-size: 16px; line-height: 1.65; }
  h1 { font-size: clamp(28px, 7vw, 40px); line-height: 1.15; }
  h2 { font-size: clamp(22px, 5.8vw, 32px); line-height: 1.2; }
  h3 { font-size: clamp(18px, 5vw, 26px); line-height: 1.25; }
  .container, .page-width, .site-content, .content-area, .content, .inner-wrap,
  .entry-content, .post-content, .page-content, .single-post-content {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }
  section, .section, .wp-block-group, .wp-block-cover__inner-container {
    padding-top: 18px;
    padding-bottom: 18px;
  }
  .wp-block-columns { gap: 14px !important; }
  .wp-block-column { flex-basis: 100% !important; width: 100% !important; }
  .alignwide, .alignfull { margin-left: 0 !important; margin-right: 0 !important; }
  .alignfull > * { padding-left: 0 !important; padding-right: 0 !important; }
  button,
  input[type="submit"],
  input[type="button"],
  .button,
  a.button,
  .wp-block-button__link,
  .read-more a,
  .more-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 16px;
    border-radius: 12px;
    text-decoration: none;
    box-sizing: border-box;
  }
  .wp-block-buttons { width: 100%; }
  .wp-block-buttons .wp-block-button { width: 100%; }
  .wp-block-buttons .wp-block-button__link { width: 100%; }
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="url"],
  input[type="search"],
  select,
  textarea {
    width: 100% !important;
    font-size: 16px !important; 
    padding: 12px 12px;
    border-radius: 12px;
    box-sizing: border-box;
  }
  form p, form .form-group { margin-bottom: 12px; }
  label { display: block; margin-bottom: 6px; }
  header, .site-header, .header, .main-header {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }
  .site-logo img, .custom-logo, .logo img {
    max-height: 52px;
    width: auto;
  }
  .site-title { font-size: 20px; line-height: 1.1; }
  .site-description { font-size: 14px; }
  table { width: 100%; }
  .wp-block-table, .table-responsive, .entry-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .wp-block-embed iframe, iframe[src*="youtube"], iframe[src*="google.com/maps"] {
    width: 100% !important;
    aspect-ratio: 16 / 9;
    height: auto !important;
  }
  #secondary, .sidebar, .widget-area {
    margin-top: 18px;
  }

  /* Widgets less cramped */
  .widget { margin-bottom: 16px; }
}

/* Extra-small phones */
@media (max-width: 420px) {
  .container, .page-width, .site-content, .content-area, .content, .inner-wrap,
  .entry-content, .post-content, .page-content, .single-post-content {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .site-title { font-size: 18px; }
}
