/* Shared viewport rules, loaded after each page-specific bundle. */
:root { --gt-admin-offset:0px; --gt-sticky-header-bottom:72px; --gt-dialog-gap:12px; --gt-development-height:0px; }
.store-modal-backdrop { z-index:100010; }
.gt-modal-backdrop { z-index:100030; }
.gt-theme.admin-bar .site-header,
.gt-theme.admin-bar .site-header.header-scrolled { top:var(--gt-admin-offset); }
.store-toolbar-wrap { top:var(--gt-sticky-header-bottom); }

.gt-modal-backdrop,
.store-modal-backdrop,
.gt-consent-backdrop {
  box-sizing:border-box;
  height:100vh;
  height:100dvh;
  padding:calc(var(--gt-admin-offset) + var(--gt-dialog-gap) + env(safe-area-inset-top,0px)) max(var(--gt-dialog-gap),env(safe-area-inset-right,0px)) calc(var(--gt-dialog-gap) + env(safe-area-inset-bottom,0px)) max(var(--gt-dialog-gap),env(safe-area-inset-left,0px));
  align-items:center;
  overflow:auto;
  overscroll-behavior:contain;
}
.gt-modal-backdrop .contact-dialog,
.store-modal-backdrop .quick-view-modal,
.store-modal-backdrop .comparison-modal,
.gt-consent-backdrop .gt-consent-dialog {
  min-height:0;
  max-height:calc(100vh - var(--gt-admin-offset) - 2 * var(--gt-dialog-gap) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  max-height:calc(100dvh - var(--gt-admin-offset) - 2 * var(--gt-dialog-gap) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  max-width:100%;
  overflow:auto;
  overscroll-behavior:contain;
}
.contact-direct-email { margin-top:12px; font-size:.85rem; overflow-wrap:anywhere; }
.contact-direct-email a,.footer-email { color:#e7a1e7; text-decoration:underline; text-underline-offset:3px; }
.footer-contact { justify-self:end; display:grid; gap:6px; text-align:right; }

@media (max-width:850px) {
  .footer-contact { justify-self:start; text-align:left; }
  .top-line .social-cluster .top-email-link { display:block; min-width:0; max-width:none; font-size:.625rem; letter-spacing:.025em; white-space:nowrap; }
  .top-line .social-banner { justify-content:space-between; gap:8px; padding-inline:0; }
  .top-line .social-cluster { min-width:0; }
  .top-line .phone-line { flex-shrink:0; }
  .mobile-links { max-height:calc(100dvh - var(--gt-sticky-header-bottom) - var(--gt-development-height) - 20px); overflow-y:auto; overscroll-behavior:contain; }
  .header-commerce .commerce-menu { position:static; }
  .commerce-menu .commerce-dropdown,
  .account-menu .commerce-dropdown {
    position:absolute;
    top:calc(100% + 8px);
    right:max(12px,env(safe-area-inset-right,0px));
    left:auto;
    width:min(320px,calc(100vw - 24px));
    max-height:calc(100dvh - var(--gt-sticky-header-bottom) - var(--gt-development-height) - 20px);
    overflow:auto;
    overscroll-behavior:contain;
  }
}
@media (max-width:600px) {
  .blog-category-nav > .container { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .blog-category-nav a,
  .blog-category-nav a:first-child,
  .blog-category-nav a:nth-child(odd) {
    min-width:0;
    min-height:124px;
    padding:18px 14px;
    gap:8px;
    grid-template-columns:auto minmax(0,1fr);
    border:0;
    border-bottom:1px solid #3e2844;
  }
  .blog-category-nav a:nth-child(odd) { border-right:1px solid #3e2844; }
  .blog-category-nav a > strong { font-size:.8rem; overflow-wrap:anywhere; }
  .blog-category-nav a > small { grid-column:1 / -1; font-size:.72rem; }
  .blog-category-nav a > svg { display:none; }
  .gt-modal-backdrop .contact-dialog { padding:28px 20px; }
  .gt-modal-backdrop .contact-title { font-size:2.8rem; }
  .contact-dialog > .contact-symbol { width:44px; height:44px; font-size:1.5rem; }
}
