/* Velora 5278: public-facing shared readability and responsive controls.
   Loaded after built-in theme/header/store CSS and BEFORE administrator custom CSS.
   Keep branding, palette, widgets, product pricing and checkout logic unchanged. */
body.public-body {
  --vl5278-focus: var(--ui-accent, var(--color-indigo-500, #f97316));
}
/* Older header presets reduced navigation labels to 9px between 1081–1320px.
   Improve the label rather than changing the menu's JS breakpoint. */
@media (min-width:1081px) and (max-width:1320px) {
  body.public-body :is(.vhw-header,.vhs-header,.vhh-stack)
    :is(.vhw-nav-link,.vhs-nav-link,.vhh-nav-link) {
    font-size:11px;
    letter-spacing:0;
    padding-inline:5px;
  }
}
/* Help, FAQ and account surfaces share the same minimum caption scale. */
body.public-body .vh-help-page .vh-help-category > small,
body.public-body .vh-help-page .vh-help-question-number,
body.public-body .vh-help-page .vh-help-hero-meta {
  font-size:12px !important;
  line-height:1.55;
}
body.public-body .vh-help-page .vh-help-contact p {
  font-size:13px;
  line-height:1.6;
}
body.public-body .vh-help-page :is(.vh-help-category,.vh-help-question-group,.vh-help-contact),
body.public-body.page-account :is(.account-card,.profile-form,.account-shell) {
  min-inline-size:0;
  max-inline-size:100%;
  box-sizing:border-box;
}
body.public-body :is(.vh-help-page,.account-shell,.store-shell) :is(h1,h2,h3,p,small,b) {
  overflow-wrap:break-word;
}
/* Strong keyboard indication without changing a theme's normal button colors. */
body.public-body main :is(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid var(--vl5278-focus);
  outline-offset:3px;
}
@media (max-width:760px) {
  /* 16px prevents automatic zoom on iOS and makes mobile forms readable. */
  body.public-body main :is(
    input:not([type]),input[type="text"],input[type="search"],
    input[type="email"],input[type="password"],input[type="tel"],
    input[type="url"],input[type="number"],select,textarea
  ):not([data-editor-input]) {
    font-size:16px !important;
    max-inline-size:100%;
    box-sizing:border-box;
  }
  body.public-body .vh-help-page .vh-help-category > small,
  body.public-body .vh-help-page .vh-help-hero-meta {
    font-size:12px !important;
  }
  body.public-body .vh-store-sale-copy {min-inline-size:0;}
  body.public-body .vh-store-sale-copy > small {font-size:12px;line-height:1.4;overflow-wrap:anywhere;}
  body.public-body .vh-store-sale-copy > b {overflow-wrap:anywhere;}
  body.public-body .vh-help-contact > a {min-block-size:44px;}
}
@media (prefers-reduced-motion:reduce) {
  body.public-body .vh-help-category,
  body.public-body .vh-help-expand {transition:none;}
}

/* Account mobile's legacy stage1 styles used 10px labels and 9px help text.
   Override only this saved account skin rather than changing all small elements. */
@media (max-width:760px) {
  html[data-theme] body.public-body.site-theme-pumkincraft.account-mobile-stage1
    .profile-form .field > label {font-size:13px!important;line-height:1.5!important;}
  html[data-theme] body.public-body.site-theme-pumkincraft.account-mobile-stage1
    .profile-form .help {font-size:12px!important;line-height:1.55!important;}
  html[data-theme] body.public-body.site-theme-pumkincraft.account-mobile-stage1
    .profile-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea) {
    font-size:16px!important;
  }
}
