/* Shared alignment and form corrections for all six storefronts. */
@layer tt-card-layout {
  html body #content .tt-subcategory-section > .tt-category-container {
    width: calc(100% - 48px) !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    box-sizing: border-box !important;
  }
  html body #content .tt-subcategory-grid { align-items: stretch !important; }
  html body #content .tt-subcategory-card { min-width: 0 !important; height: auto !important; box-sizing: border-box !important; }
  html body #content .tt-subcategory-info { min-width: 0 !important; }
  html body #content .tt-subcategory-name { overflow-wrap: anywhere !important; }
  html body #content :is(.tt-about-cta, .tt-legal-cta, .tt-cta-box, .tt-blog-cta) {
    border: 1px solid #b7d3d7 !important;
    box-sizing: border-box !important;
  }
  html body #content .tt-cat-lock-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px 24px !important;
    padding: 32px !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
  }
  html body #content .tt-cat-lock-form > label {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
  }
  html body #content .tt-cat-lock-form label > span { margin: 0 !important; line-height: 1.4 !important; }
  html body #content .tt-cat-lock-form :is(input:not([type=hidden]):not(.tt-cat-hp), select) {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    line-height: 26px !important;
    position: static !important;
    float: none !important;
  }
  html body #content .tt-cat-lock-form :is(.tt-cat-form-head, .tt-cat-alert, .tt-cat-captcha-field, button) { grid-column: 1 / -1 !important; min-width: 0 !important; }
  html body #content .tt-cat-captcha { display: grid !important; grid-template-columns: 120px minmax(0, 1fr) !important; align-items: center !important; gap: 12px !important; }
  html body #content .tt-cat-captcha img { width: 120px !important; height: 48px !important; margin: 0 !important; padding: 0 !important; object-fit: contain; box-sizing: border-box !important; }
  html body #content #tt-blog-grid { scroll-margin-top: 90px; }
  @media (max-width: 1024px) {
    html body #content .tt-subcategory-section > .tt-category-container { width: calc(100% - 28px) !important; }
    html body #content .tt-subcategory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  }
  @media (max-width: 620px) {
    html body #content .tt-cat-lock-form { grid-template-columns: minmax(0, 1fr) !important; padding: 22px 18px !important; }
    html body #content .tt-cat-form-head { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
    html body #content .tt-cat-form-head span { text-align: left !important; }
    html body #content .tt-subcategory-grid { grid-template-columns: minmax(0, 1fr) !important; }
  }
}
@layer tt-storefront-typography {
  html body #tt-nav #tt-nav-cats > li > :is(a, .tt-nav-toggle) { font-size: var(--tt-nav-fit-size, 14px) !important; }
  html body #content :is(.tt-about-cta, .tt-legal-cta, .tt-cta-box, .tt-blog-cta) .tt-info-btn { border: 0 !important; }
}
@layer tt-teal-buttons {
  html body #tt-nav #tt-nav-cats > li.tt-nav-active-parent > :is(a, button),
  html body #tt-nav #tt-nav-cats > li > a.tt-nav-active { background: #12646c !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
  html body #content .tt-contact-hero .tt-contact-btn-light,
  html body #content .tt-contact-hero .tt-contact-btn-light:is(:hover, :focus-visible, :active) { background: #ffffff !important; border: 2px solid #ffffff !important; color: #12646c !important; -webkit-text-fill-color: #12646c !important; }
  html body #content .tt-contact-hero .tt-contact-btn-light * { color: inherit !important; -webkit-text-fill-color: inherit !important; }
}
html body #tt-nav #tt-nav-cats > li > a.tt-nav-category-link { padding-right: 2px !important; }
html body #tt-nav #tt-nav-cats > li > .tt-nav-category-link + .tt-nav-toggle { display: inline-flex !important; align-items: center; justify-content: center; width: 20px !important; padding-inline: 2px !important; flex-shrink: 0; }
