/** Shopify CDN: Minification failed

Line 608:20 Expected "]" to go with "["
Line 608:23 Unterminated string token
Line 651:0 Expected "]" to go with "["

**/
/* ============================================================================
   WHISKERY SOUR® - HEADER & FOOTER CLEANUP
   Production-ready CSS for Minimog theme standardization
   Fixes: Duplicate headers, footers, search overlays, and spacing
   ============================================================================ */

:root {
  --header-height-mobile: 60px;
  --header-height-desktop: 80px;
  --z-index-header: 1000;
  --z-index-search-overlay: 999;
  --z-index-mobile-menu: 998;
}

/* ============================================================================
   HEADER DUPLICATION FIX
   Hide desktop header on mobile, hide mobile header on desktop
   ============================================================================ */

/* Desktop header container (typically has class like .header-desktop or [data-header-variant="desktop"]) */
.header-desktop,
[data-header-variant="desktop"],
.site-header--desktop,
header.desktop-only {
  display: none;
}

/* Mobile header container (typically has class like .header-mobile or [data-header-variant="mobile"]) */
.header-mobile,
[data-header-variant="mobile"],
.site-header--mobile,
header.mobile-only {
  display: block;
}

/* Ensure proper header height on mobile */
.header-mobile,
[data-header-variant="mobile"],
.site-header--mobile,
header.mobile-only {
  height: var(--header-height-mobile);
  z-index: var(--z-index-header);
  position: relative;
}

/* Ensure single banner element */
.announcement-bar,
.header-announcement,
[data-section-type="announcement-bar"] {
  display: block !important;
}

.announcement-bar + .announcement-bar,
.header-announcement + .header-announcement,
[data-section-type="announcement-bar"] + [data-section-type="announcement-bar"] {
  display: none !important;
}

/* Desktop breakpoint (768px and up) */
@media (min-width: 768px) {
  /* Show desktop header on desktop */
  .header-desktop,
  [data-header-variant="desktop"],
  .site-header--desktop,
  header.desktop-only {
    display: block;
    height: var(--header-height-desktop);
    z-index: var(--z-index-header);
    position: relative;
  }

  /* Hide mobile header on desktop */
  .header-mobile,
  [data-header-variant="mobile"],
  .site-header--mobile,
  header.mobile-only {
    display: none !important;
  }

  /* Hide mobile menu on desktop */
  .mobile-menu,
  [data-mobile-menu],
  .drawer--mobile,
  .site-header__mobile-menu {
    display: none !important;
  }
}

/* Large desktop breakpoint (1024px and up) */
@media (min-width: 1024px) {
  .header-desktop,
  [data-header-variant="desktop"],
  .site-header--desktop,
  header.desktop-only {
    height: var(--header-height-desktop);
  }
}

/* ============================================================================
   SEARCH OVERLAY DUPLICATION FIX
   Remove duplicate search overlays, keep only one
   ============================================================================ */

.search-overlay,
[data-search-overlay],
.search-modal,
.drawer--search {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: var(--z-index-search-overlay);
  background: rgba(0, 0, 0, 0.7);
}

/* Hide all but the first search overlay */
.search-overlay ~ .search-overlay,
[data-search-overlay] ~ [data-search-overlay],
.search-modal ~ .search-modal,
.drawer--search ~ .drawer--search {
  display: none !important;
}

/* Ensure search overlay is properly positioned */
.search-overlay:not(.hidden):not([aria-hidden="true"]),
[data-search-overlay]:not(.hidden):not([aria-hidden="true"]),
.search-modal:not(.hidden):not([aria-hidden="true"]),
.drawer--search:not(.hidden):not([aria-hidden="true"]) {
  opacity: 1;
  visibility: visible;
}

.search-overlay.hidden,
[data-search-overlay][aria-hidden="true"],
.search-modal.hidden,
.drawer--search[aria-hidden="true"] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Search input styling */
.search-overlay__input,
[data-search-input],
.search-modal__input {
  width: 100%;
  padding: 16px;
  font-size: 16px;
  border: none;
  border-bottom: 1px solid #e0e0e0;
  outline: none;
}

.search-overlay__input:focus,
[data-search-input]:focus,
.search-modal__input:focus {
  border-bottom-color: #333;
}

/* ============================================================================
   FOOTER DUPLICATION FIX
   Remove duplicate social link blocks
   ============================================================================ */

/* Footer social links container */
.footer-social-links,
[data-footer-section="social"],
.footer__social {
  margin: 16px 0;
  padding: 16px 0;
}

/* Hide duplicate social link sets */
.footer-social-links + .footer-social-links,
[data-footer-section="social"] + [data-footer-section="social"],
.footer__social + .footer__social {
  display: none !important;
}

/* Social link list styling */
.footer-social-links__list,
[data-footer-social-list],
.footer__social-list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 12px;
  flex-wrap: wrap;
}

/* Individual social link items */
.footer-social-links__item,
[data-footer-social-item],
.footer__social-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #f5f5f5;
  transition: all 0.3s ease;
}

.footer-social-links__item:hover,
[data-footer-social-item]:hover,
.footer__social-item:hover {
  background: #333;
  transform: translateY(-2px);
}

.footer-social-links__item a,
[data-footer-social-item] a,
.footer__social-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #333;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-social-links__item:hover a,
[data-footer-social-item]:hover a,
.footer__social-item:hover a {
  color: #fff;
}

/* ============================================================================
   FOOTER STRUCTURE & SPACING
   Ensure consistent footer layout
   ============================================================================ */

.site-footer,
[data-section-type="footer"],
footer.footer {
  background: #ffffff;
  border-top: 1px solid #e0e0e0;
  padding: 40px 0;
  margin-top: 60px;
}

.footer-container,
.footer__container,
[data-footer-container] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.footer-content,
.footer__content,
[data-footer-content] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 32px;
  margin-bottom: 32px;
}

.footer-section,
.footer__section,
[data-footer-section] {
  padding-bottom: 16px;
}

.footer-section__title,
.footer__title,
[data-footer-title] {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 16px;
  color: #333;
}

.footer-section__link,
.footer__link,
[data-footer-link] {
  display: block;
  font-size: 14px;
  line-height: 1.8;
  color: #666;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-section__link:hover,
.footer__link:hover,
[data-footer-link]:hover {
  color: #333;
}

/* Mobile footer layout */
@media (max-width: 767px) {
  .footer-content,
  .footer__content,
  [data-footer-content] {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .site-footer,
  [data-section-type="footer"],
  footer.footer {
    padding: 30px 0;
    margin-top: 40px;
  }

  .footer-container,
  .footer__container,
  [data-footer-container] {
    padding: 0 16px;
  }
}

/* ============================================================================
   COPYRIGHT SECTION
   Fix year and ensure single copyright block
   ============================================================================ */

.footer-copyright,
.footer__copyright,
[data-footer-section="copyright"] {
  border-top: 1px solid #e0e0e0;
  padding-top: 20px;
  margin-top: 32px;
  text-align: center;
  font-size: 13px;
  color: #999;
}

/* Hide duplicate copyright blocks */
.footer-copyright + .footer-copyright,
.footer__copyright + .footer__copyright,
[data-footer-section="copyright"] + [data-footer-section="copyright"] {
  display: none !important;
}

.footer-copyright__text,
.footer__copyright-text,
[data-copyright-text] {
  margin: 8px 0;
}

/* ============================================================================
   ANNOUNCEMENT BAR STANDARDIZATION
   ============================================================================ */

.announcement-bar,
.header-announcement,
[data-section-type="announcement-bar"] {
  background: #333;
  color: #fff;
  padding: 12px 20px;
  text-align: center;
  font-size: 13px;
  line-height: 1.4;
  z-index: var(--z-index-header);
  position: relative;
}

.announcement-bar__close,
.header-announcement__close,
[data-close-announcement] {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  padding: 4px;
  transition: opacity 0.2s ease;
}

.announcement-bar__close:hover,
.header-announcement__close:hover,
[data-close-announcement]:hover {
  opacity: 0.8;
}

/* Announcement bar link styling */
.announcement-bar a,
.header-announcement a,
[data-section-type="announcement-bar"] a {
  color: #fff;
  text-decoration: underline;
  transition: opacity 0.2s ease;
}

.announcement-bar a:hover,
.header-announcement a:hover,
[data-section-type="announcement-bar"] a:hover {
  opacity: 0.8;
}

/* ============================================================================
   Z-INDEX LAYERING & STACKING CONTEXT
   Ensure proper layering across all elements
   ============================================================================ */

.site-header,
header,
[data-section-type="header"] {
  z-index: var(--z-index-header);
  position: relative;
}

.sticky-header,
header.sticky,
[data-sticky-header] {
  position: sticky;
  top: 0;
  z-index: calc(var(--z-index-header) - 1);
}

.mobile-menu,
[data-mobile-menu],
.drawer--mobile {
  z-index: var(--z-index-mobile-menu);
}

.modal,
.dialog,
[data-modal],
[role="dialog"] {
  z-index: calc(var(--z-index-search-overlay) + 1);
}

.modal-backdrop,
.dialog-backdrop,
[data-modal-backdrop] {
  z-index: var(--z-index-search-overlay);
}

/* Prevent z-index conflicts */
body {
  position: relative;
}

/* ============================================================================
   PAGE LAYOUT & SPACING STANDARDIZATION
   ============================================================================ */

.page-wrapper,
[data-page-wrapper],
main {
  min-height: calc(100vh - var(--header-height-mobile));
  display: flex;
  flex-direction: column;
}

/* Account for sticky header */
.sticky-header ~ .page-wrapper,
header.sticky ~ [data-page-wrapper] {
  min-height: 100vh;
}

/* Main content spacing */
.main-content,
[data-main-content],
.page-content {
  flex: 1;
  padding: 40px 20px;
}

@media (min-width: 768px) {
  .main-content,
  [data-main-content],
  .page-content {
    padding: 60px 40px;
  }

  .page-wrapper,
  [data-page-wrapper],
  main {
    min-height: calc(100vh - var(--header-height-desktop));
  }
}

/* ============================================================================
   PRODUCT PAGE DUPLICATE FIX
   Reduce DOM elements in recently viewed/related sections
   ============================================================================ */

/* Hide duplicate product blocks */
.product-block + .product-block[data-product-id] {
  /* Allow multiple products but ensure no exact duplicates */
}

/* Remove duplicate product sections */
.recently-viewed,
[data-section-type="recently-viewed"] {
  margin-top: 40px;
}

.recently-viewed + .recently-viewed,
[data-section-type="recently-viewed"] + [data-section-type="recently-viewed"] {
  display: none !important;
}

.related-products,
[data-section-type="related-products"] {
  margin-top: 40px;
}

.related-products + .related-products,
[data-section-type="related-products"] + [data-section-type="related-products"] {
  display: none !important;
}

/* ============================================================================
   NAVIGATION CONSISTENCY
   ============================================================================ */

.site-nav,
[data-site-nav],
nav[role="navigation"] {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 24px;
}

.site-nav__item,
[data-nav-item] {
  position: relative;
  display: flex;
  align-items: center;
  height: var(--header-height-desktop);
}

.site-nav__link,
[data-nav-link] {
  color: #333;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.2s ease;
  padding: 0 12px;
  border-bottom: 2px solid transparent;
}

.site-nav__link:hover,
[data-nav-link]:hover,
.site-nav__link.active,
[data-nav-link].active {
  color: #000;
  border-bottom-color: #333;
}

@media (max-width: 767px) {
  .site-nav,
  [data-site-nav],
  nav[role="navigation"] {
    display: none;
  }

  .site-nav__item,
  [data-nav-item] {
    height: auto;
    padding: 12px 0;
  }

  .site-nav__link,
  [data-nav-link] {
    border-bottom: none;
    padding: 0;
  }

  .site-nav__link:hover,
  [data-nav-link]:hover {
    border-bottom: none;
  }
}

/* ============================================================================
   ACCESSIBILITY & PRINT STYLES
   ============================================================================ */

@media print {
  .site-header,
  [data-section-type="header"],
  .site-footer,
  [data-section-type="footer"],
  .mobile-menu,
  .search-overlay,
  .announcement-bar {
    display: none;
  }

  .page-wrapper,
  [data-page-wrapper"],
  main {
    min-height: auto;
    padding: 0;
  }
}

/* Ensure keyboard navigation visibility */
.site-nav__link:focus-visible,
[data-nav-link]:focus-visible,
.footer-section__link:focus-visible,
[data-footer-link]:focus-visible {
  outline: 2px solid #333;
  outline-offset: 2px;
}

/* ============================================================================
   UTILITY CLASSES
   ============================================================================ */

.hidden {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* ============================================================================
   END OF HEADER & FOOTER CLEANUP CSS
   ============================================================================ */
