/* Additions only — everything visual is the Weebly theme's own CSS. */
.pw-hp { display: none !important; }
.pw-form-status { margin-top: 12px; font-size: 14px; }
.pw-form-status:empty { display: none; }
.pw-form-status.is-ok { color: #2e6b2e; }
.pw-form-status.is-error { color: #984747; }
.pw-store-note { margin-top: 10px; font-size: 14px; color: #984747; }

/* ABT: visually hidden page heading (one <h1> per page) */
.pw-sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ABT: touch targets >= 44 px and form text >= 12 px on phones. Padding grows the hit area;
   the equal negative margin keeps the layout where the Weebly theme put it. */
@media (max-width: 767px) {
  #wsite-content a, .wsite-footer a, #header a, .wsite-social-item, #menu-button, #wsite-nav-cart-a, .blog-sidebar a, .w-fancybox {
    display: inline-block; box-sizing: content-box; min-width: 28px; min-height: 28px;
    padding: 8px 8px; margin: -8px -8px;
  }
  #wsite-content a.wsite-button, #wsite-content a.wsite-product-button { margin: 0; padding: 0 20px; min-height: 44px; line-height: 44px; }
  #wsite-content a:has(img), #header #logo a { padding: 0; margin: 0; min-height: 0; min-width: 0; }
  .wsite-form-input, .wsite-form-field select, .wsite-form-field textarea, input[type=text], input[type=email], input[type=tel] { height: 44px; min-height: 44px; font-size: 16px !important; box-sizing: border-box; }
  .wsite-form-field label, .wsite-form-sublabel, .wsite-form-label, form label, form .wsite-form-radio-label { font-size: 14px !important; }
}
@media (max-width: 767px) {
  .fc-button { min-width: 44px; min-height: 44px; }
}
