/** Shopify CDN: Minification failed

Line 740:0 Expected "}" to go with "{"

**/
/* Custom styles for Finleys theme */
/* Irish Titan modification to ensure the content is not too wide on the right */
@media (min-width: 768px) {
  .content-overlay--top-right > * {
    align-self: flex-end;
    max-width: 33%;
    margin-inline-end: 207px;
  }
  .content-overlay--top-right > *,
  .content-overlay--top-right > * * {
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
  }
}
/* Irish Titan modification to ensure the content is not too wide on the right */
@media (min-width: 768px) {
  .content-overlay--middle-right > * {
    align-self: flex-end;
    margin-left: auto;
    max-width: 33%;
  }
  .content-overlay--middle-right > *,
  .content-overlay--middle-right > * * {
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
  }
}
/* Irish Titan modification: Constrain text content to fixed page width bounds when section is set to full width */
.image-with-text-overlay__content-wrapper.page-width {
  /* Use page-padding to keep content within page-width bounds without shrinking the overlay */
  padding-inline: var(--page-padding);
}

/* Irish Titan modification: Center the content container on mobile while keeping text left-aligned */
@media (max-width: 767.98px) {
  .image-with-text-overlay__content-wrapper {
    align-items: center;
  }
  .image-with-text-overlay__content-wrapper .rich-text {
    max-width: 90%;
    width: fit-content;
    min-width: 0;
    text-align: left;
  }
}
/* Irish Titan modification: Handle landscape orientation on mobile devices */
/* Targets mobile landscape: wider than 767px width but height constrained (actual mobile devices in landscape) */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) and (max-height: 667px), (min-width: 768px) and (max-width: 1024px) and (max-height: 667px) {
  /* Override section padding to use much smaller values for landscape mode */
  /* Target by ID selector pattern for higher specificity */
  [id^=shopify-section-] .section.image-with-text-overlay.section--padding,
  .section.image-with-text-overlay.section--padding {
    /* Use a much smaller fixed padding for landscape to prevent gap from header */
    padding-block-start: clamp(0.5rem, 2vh, 2rem) !important;
    padding-block-end: clamp(0.5rem, 2vh, 2rem) !important;
  }
  .image-with-text-overlay__content-wrapper {
    /* Reduce padding in landscape to maximize available space */
    padding: 1rem;
  }
  .image-with-text-overlay__content-wrapper .rich-text {
    /* Constrain vertical space to prevent overflow - use container-relative units */
    max-height: 80vh;
    max-height: 80dvh; /* Use dynamic viewport height for better mobile support */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    margin-inline-end: 50px;
    /* Reduce font sizes proportionally for landscape */
  }
  .image-with-text-overlay__content-wrapper .rich-text .rich-text__subheading {
    font-size: clamp(0.75rem, 2vw, 0.875rem) !important;
    line-height: 1.3;
    margin-bottom: 0.5rem;
  }
  .image-with-text-overlay__content-wrapper .rich-text .rich-text__heading {
    font-size: clamp(2.25rem, 4vw, 2.5rem) !important;
    line-height: 1.2;
    margin-bottom: 0.75rem;
    /* Scale down large heading sizes more aggressively */
  }
  .image-with-text-overlay__content-wrapper .rich-text .rich-text__heading.hd1 {
    font-size: clamp(1.5rem, 5vw, 2.5rem) !important;
  }
  .image-with-text-overlay__content-wrapper .rich-text .rich-text__heading.hd2 {
    font-size: clamp(1.25rem, 4.5vw, 2.25rem) !important;
  }
  .image-with-text-overlay__content-wrapper .rich-text .rich-text__heading.h1 {
    font-size: clamp(2.25rem, 4vw, 2.5rem) !important;
  }
  .image-with-text-overlay__content-wrapper .rich-text .rich-text__heading.h2 {
    font-size: clamp(1.125rem, 3.5vw, 1.75rem) !important;
  }
  .image-with-text-overlay__content-wrapper .rich-text .rich-text__text {
    font-size: clamp(1rem, 2.5vw, 1.25rem) !important;
    line-height: 1.4;
    margin-bottom: 0.75rem;
    /* Ensure paragraphs don't create excessive vertical space */
  }
  .image-with-text-overlay__content-wrapper .rich-text .rich-text__text p {
    margin-bottom: 0.5rem;
  }
  .image-with-text-overlay__content-wrapper .rich-text .rich-text__text p:last-child {
    margin-bottom: 0;
  }
  .image-with-text-overlay__content-wrapper .rich-text {
    /* Reduce spacing between elements */
  }
  .image-with-text-overlay__content-wrapper .rich-text > * + * {
    margin-top: 0.5rem;
  }
  .image-with-text-overlay__content-wrapper .rich-text {
    /* Reduce button/CTA font size for landscape */
  }
  .image-with-text-overlay__content-wrapper .rich-text .btn {
    font-size: clamp(1rem, 2vw, 1.25rem) !important;
  }
}
/* Button hover animation overrides - fade transition instead of swipe */
/* Remove width transition, add opacity fade transition for ::before in color mode */
.button-hover-color .btn--primary::before,
.button-hover-color .btn--secondary::before,
.button-hover-color .btn--white::before,
.button-hover-color .btn--icon::before,
.button-hover-color .btn--outline::before {
  width: calc(100% + var(--buttons-border-width, 0px)) !important;
  opacity: 0;
  transition: opacity var(--animation-button) !important;
}

/* Fade in ::before on hover */
.button-hover-color .btn:not(.btn--plain, .btn--underline, .btn--link, .btn--inherit):hover::before,
.button-hover-color .btn:not(.btn--plain, .btn--underline, .btn--link, .btn--inherit).btn--active::before,
.button-hover-color .btn-hover-wrapper:hover .btn:not(.btn--plain, .btn--underline, .btn--link, .btn--inherit)::before {
  opacity: 1 !important;
}

/* Add transitions for smooth color fade animations */
.button-hover-color .btn--primary {
  transition: background-color var(--animation-button), color var(--animation-button), opacity var(--animation-button);
}

.button-hover-color .btn--secondary {
  transition: background-color var(--animation-button), color var(--animation-button), border-color var(--animation-button);
}

.button-hover-color .btn--white {
  transition: background-color var(--animation-button), color var(--animation-button);
}

.button-hover-color .btn--outline {
  transition: background-color var(--animation-button), color var(--animation-button), border-color var(--animation-button);
}

.button-hover-color .btn--icon,
.button-hover-color .btn--icon-circle {
  transition: background-color var(--animation-button), color var(--animation-button);
}

@media (hover: hover) and (pointer: fine) {
  /* Swipe animation (default mode) */
  .button-hover-swipe .btn:not(.btn--plain, .btn--underline, .btn--link, .btn--inherit):hover::before,
  .button-hover-swipe .btn:not(.btn--plain, .btn--underline, .btn--link, .btn--inherit).btn--active::before,
  .button-hover-swipe .btn-hover-wrapper:hover .btn:not(.btn--plain, .btn--underline, .btn--link, .btn--inherit)::before {
    width: calc(100% + var(--buttons-border-width, 0px));
  }
  .button-hover-swipe .btn--primary:hover {
    color: rgb(var(--color-button));
  }
  .button-hover-swipe .btn--secondary:hover,
  .button-hover-swipe .btn--icon:hover,
  .button-hover-swipe .btn--outline:hover,
  .button-hover-swipe .btn--white:hover {
    color: rgb(var(--color-button-text));
  }
  .button-hover-swipe .btn-hover-wrapper:hover .btn--icon,
  .button-hover-swipe .btn-hover-wrapper:hover .btn--secondary,
  .button-hover-swipe .btn-hover-wrapper:hover .btn--outline {
    color: rgb(var(--color-button-text));
  }
  .button-hover-swipe .btn-hover-wrapper:hover .btn--primary {
    color: rgb(var(--color-button));
  }
  /* Color change mode - same colors as swipe but instant (no transition) */
  .button-hover-color .btn--primary:hover {
    color: rgb(var(--color-button));
  }
  .button-hover-color .btn--secondary:hover,
  .button-hover-color .btn--icon:hover,
  .button-hover-color .btn--outline:hover,
  .button-hover-color .btn--white:hover {
    color: rgb(var(--color-button-text));
  }
  .button-hover-color .btn-hover-wrapper:hover .btn--icon,
  .button-hover-color .btn-hover-wrapper:hover .btn--secondary,
  .button-hover-color .btn-hover-wrapper:hover .btn--outline {
    color: rgb(var(--color-button-text));
  }
  .button-hover-color .btn-hover-wrapper:hover .btn--primary {
    color: rgb(var(--color-button));
  }
}
/* Toggle button animations - configurable per section via CSS variable */
.switch-slider,
.switch-slider:before {
  transition: all var(--section-toggle-button-animation, var(--animation-toggle-button));
}

.disclosure__toggle {
  transition: all var(--section-toggle-button-animation, var(--animation-toggle-button));
}

.disclosure__toggle svg {
  transition: transform var(--section-toggle-button-animation, var(--animation-toggle-button));
}

.menu-drawer-button .hamburger-line,
.menu-drawer-button .hamburger-line::before,
.menu-drawer-button .hamburger-line::after {
  transition: all var(--section-toggle-button-animation, var(--animation-toggle-button));
}

.toggle-navigation-button {
  transition: all var(--section-toggle-button-animation, var(--animation-toggle-button));
}

.accordion-details__summary .icon-plus-toggle path.vertical {
  transition: all var(--section-toggle-button-animation, var(--animation-toggle-button));
}

.read-more__toggle {
  transition: all var(--section-toggle-button-animation, var(--animation-toggle-button));
}

.cusstom-button .icon,
.cusstom-button svg {
  color: var(--custom-link-icon-color, inherit);
}
.cusstom-button.header-icon--solid .header-icon-wrapper {
  position: relative;
  display: inline-flex;
  margin-inline-end: 1rem;
}
.cusstom-button.header-icon--solid .header-icon-wrapper::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 2.4rem);
  height: calc(100% + 2.4rem);
  border-radius: 50%;
  background-color: var(--custom-link-icon-background, rgb(var(--color-secondary-background)));
}
.cusstom-button.header-icon--solid .header-icon-wrapper svg,
.cusstom-button.header-icon--solid .header-icon-wrapper img {
  position: relative;
  z-index: 1;
}

.account-button .icon,
.account-button svg {
  color: var(--account-icon-color, inherit);
}
.account-button.header-icon--solid .header-icon-wrapper {
  position: relative;
  display: inline-flex;
  margin-inline-end: 1rem;
}
.account-button.header-icon--solid .header-icon-wrapper::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 2.4rem);
  height: calc(100% + 2.4rem);
  border-radius: 50%;
  background-color: var(--account-icon-background, rgb(var(--color-secondary-background)));
}
.account-button.header-icon--solid .header-icon-wrapper svg,
.account-button.header-icon--solid .header-icon-wrapper img {
  position: relative;
  z-index: 1;
}

.mega-menu__list {
  grid-template-columns: repeat(var(--menu-columns, 3), auto);
}
.mega-menu__list .mega-menu__column {
  padding-block-end: 2rem;
}
.mega-menu__list .mega-menu__column:first-child {
  padding-inline-start: 2rem;
}

.alert--success.branded {
  background-color: transparent;
  color: #1D349A;
  padding: 0.5rem;
}

/* Badge Overlay Component */
.badge-overlay {
  position: absolute !important;
  font-size: 0.875rem;
  line-height: 1.2;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
}

/* Badge Image - Dynamic sizing based on content */
.badge-overlay--image {
  background: transparent;
  padding: 0;
}

.badge-overlay__image {
  width: auto;
  height: auto;
  max-width: var(--badge-image-size, 8rem);
  max-height: var(--badge-image-size, 8rem);
}

.badge-overlay__image img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

/* Desktop Vertical Positions */
.badge-overlay--vertical-top {
  top: var(--badge-offset-v, 16px);
  bottom: auto;
}

.badge-overlay--vertical-center {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}

.badge-overlay--vertical-bottom {
  bottom: var(--badge-offset-v, 16px);
  top: auto;
}

/* Desktop Horizontal Positions */
.badge-overlay--horizontal-left {
  left: var(--badge-offset-h, 16px);
  right: auto;
}

.badge-overlay--horizontal-center {
  left: 50%;
  right: auto;
}

.badge-overlay--horizontal-right {
  right: var(--badge-offset-h, 16px);
  left: auto;
}

/* Combined transform for center-center */
.badge-overlay--vertical-center.badge-overlay--horizontal-center {
  transform: translate(-50%, -50%);
}

.badge-overlay--vertical-center.badge-overlay--horizontal-left,
.badge-overlay--vertical-center.badge-overlay--horizontal-right {
  transform: translateY(-50%);
}

.badge-overlay--vertical-top.badge-overlay--horizontal-center,
.badge-overlay--vertical-bottom.badge-overlay--horizontal-center {
  transform: translateX(-50%);
}

.badge-overlay--vertical-top.badge-overlay--horizontal-left,
.badge-overlay--vertical-top.badge-overlay--horizontal-right,
.badge-overlay--vertical-bottom.badge-overlay--horizontal-left,
.badge-overlay--vertical-bottom.badge-overlay--horizontal-right {
  transform: none;
}

/* Mobile Positions */
@media (max-width: 767.98px) {
  .badge-overlay {
    font-size: 0.75rem;
    padding: 0.375rem 0.75rem;
  }
  .badge-overlay__image {
    max-width: calc(var(--badge-image-size, 8rem) * 0.6);
    max-height: calc(var(--badge-image-size, 8rem) * 0.6);
  }
  .badge-overlay--vertical-mobile-top {
    top: var(--badge-offset-v-mobile, 12px) !important;
    bottom: auto !important;
  }
  .badge-overlay--vertical-mobile-center {
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
  }
  .badge-overlay--vertical-mobile-bottom {
    bottom: var(--badge-offset-v-mobile, 12px) !important;
    top: auto !important;
  }
  /* Mobile Horizontal Positions */
  .badge-overlay--horizontal-mobile-left {
    left: var(--badge-offset-h-mobile, 12px) !important;
    right: auto !important;
  }
  .badge-overlay--horizontal-mobile-center {
    left: 50% !important;
    right: auto !important;
  }
  .badge-overlay--horizontal-mobile-right {
    right: var(--badge-offset-h-mobile, 12px) !important;
    left: auto !important;
  }
  /* Combined transform for mobile center-center */
  .badge-overlay--vertical-mobile-center.badge-overlay--horizontal-mobile-center {
    transform: translate(-50%, -50%) !important;
  }
  .badge-overlay--vertical-mobile-center.badge-overlay--horizontal-mobile-left,
  .badge-overlay--vertical-mobile-center.badge-overlay--horizontal-mobile-right {
    transform: translateY(-50%) !important;
  }
  .badge-overlay--vertical-mobile-top.badge-overlay--horizontal-mobile-center,
  .badge-overlay--vertical-mobile-bottom.badge-overlay--horizontal-mobile-center {
    transform: translateX(-50%) !important;
  }
  .badge-overlay--vertical-mobile-top.badge-overlay--horizontal-mobile-left,
  .badge-overlay--vertical-mobile-top.badge-overlay--horizontal-mobile-right,
  .badge-overlay--vertical-mobile-bottom.badge-overlay--horizontal-mobile-left,
  .badge-overlay--vertical-mobile-bottom.badge-overlay--horizontal-mobile-right {
    transform: none !important;
  }
}
/* Badge Content Styling */
.badge-overlay__text-content {
  font-weight: var(--font-heading-weight, 700);
  font-size: var(--font-subheading-size);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.3;
  max-width: 370px;
}

/* Multi-line Badge Styling */
.badge-overlay--multi_line {
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
}

.badge-overlay__multi-line {
  text-align: left;
}

.badge-overlay__header {
  font-weight: var(--font-heading-weight, 700);
  font-size: var(--font-subheading-size);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin-bottom: 0.25rem;
  max-width: 370px;
}

.badge-overlay__subhead {
  font-weight: var(--font-heading-weight, 600);
  font-size: var(--font-body-size);
  line-height: 1.2;
  margin-bottom: 0.125rem;
  color: rgb(var(--color-button, var(--color-foreground)));
}

.badge-overlay__tertiary {
  font-size: calc(var(--font-body-size) / 1.5);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  opacity: 0.8;
  line-height: 1.2;
  font-weight: var(--font-heading-weight, 700);
}

@media (max-width: 767.98px) {
  .badge-overlay--multi_line {
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
  }
}
/* Placeholder Styling */
.badge-overlay--placeholder {
  opacity: 0.6;
}

.badge-overlay__placeholder {
  opacity: 0.7;
  font-style: italic;
}

.badge-overlay__placeholder.placeholder-svg {
  opacity: 0.5;
  width: 5rem;
  height: 5rem;
}

/* Flex Positioning Mode (for use inside flex containers) */
.badge-overlay--flex {
  position: relative !important;
  flex: 1;
}

/* Flex vertical alignment - align-self for flex-row containers */
.badge-overlay--flex-vertical-top {
  align-self: flex-start;
}

.badge-overlay--flex-vertical-center {
  align-self: center;
}

.badge-overlay--flex-vertical-bottom {
  align-self: flex-end;
}

/* Mobile flex positioning */
@media (max-width: 767.98px) {
  .badge-overlay--flex-vertical-mobile-top {
    align-self: flex-start !important;
  }
  .badge-overlay--flex-vertical-mobile-center {
    align-self: center !important;
  }
  .badge-overlay--flex-vertical-mobile-bottom {
    align-self: flex-end !important;
  }
}
.product-table {
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.product-table__info-row {
  padding: 0.8rem 1.6rem;
  border-bottom: 1px solid rgba(var(--color-border), 0.5);
}
.product-table__info-sub {
  padding-left: 1.6rem;
  font-size: calc(var(--font-body-size) * 0.9);
}
.product-table__table {
  width: 100%;
  border-collapse: collapse;
  font-size: calc(var(--font-body-size) * 0.95);
  line-height: 1.5;
}
.product-table__header {
  padding: 1.2rem 1.6rem;
  text-align: left;
  font-weight: 600;
  color: rgb(var(--color-foreground));
  background-color: rgba(var(--color-foreground), 0.05);
  border-bottom: 1px solid rgba(var(--color-border), var(--color-border-alpha, 1));
}
.product-table__header--us, .product-table__header--metric, .product-table__header--value {
  text-align: right;
}
.product-table__header--group {
  text-align: center;
  border-bottom: 1px solid rgba(var(--color-border), 0.5);
}
.product-table__header--sub {
  text-align: center;
  font-weight: 500;
  font-size: calc(var(--font-body-size) * 0.9);
  padding: 0.8rem 1rem;
}
.product-table__cell {
  padding: 1rem 1.6rem;
  border-bottom: 1px solid rgba(var(--color-border), 0.5);
  vertical-align: middle;
}
.product-table__cell--us, .product-table__cell--metric, .product-table__cell--value {
  text-align: right;
  white-space: nowrap;
}
.product-table__cell--nutrient, .product-table__cell--name {
  font-weight: 500;
}
.product-table__row:hover {
  background-color: rgba(var(--color-foreground), 0.02);
}
.product-table__row:last-child .product-table__cell {
  border-bottom: none;
}
.product-table__row--indent .product-table__cell--nutrient {
  padding-left: 3.2rem;
  font-weight: 400;
}
.product-table__footnotes {
  padding: 1rem 1.6rem;
  border-top: 1px solid rgba(var(--color-border), 0.5);
  font-size: calc(var(--font-body-size) * 0.85);
}
.product-table__footnote {
  margin-bottom: 0.4rem;
}
.product-table__footnote:last-child {
  margin-bottom: 0;
}
.product-table__statement {
  padding: 1rem 1.6rem;
  border-top: 1px solid rgba(var(--color-border), 0.5);
  font-size: calc(var(--font-body-size) * 0.9);
  background-color: rgba(var(--color-foreground), 0.02);
}
.product-table__note {
  padding: 1rem 1.6rem;
  text-align: left;
  font-size: calc(var(--font-body-size) * 0.9);
  font-style: italic;
  border-top: 1px solid rgba(var(--color-border), 0.5);
}
.product-table__pet-nutrition-facts .product-table__header--nutrient {
  width: 50%;
}
.product-table__pet-nutrition-facts .product-table__header--us,
.product-table__pet-nutrition-facts .product-table__header--metric {
  width: 25%;
}
.product-table__nutrients .product-table__header--name {
  width: 70%;
}
.product-table__nutrients .product-table__header--value {
  width: 30%;
}
.product-table__feeding-guide .product-table__cell {
  text-align: center;
}
.product-table__feeding-guide .product-table__header--group {
  border-left: 1px solid rgba(var(--color-border), 0.5);
}
.product-table__feeding-guide .product-table__header--group:first-child {
  border-left: none;
}

@media screen and (max-width: 749px) {
  .product-table__info-row {
    padding: 0.6rem 1rem;
    font-size: calc(var(--font-body-size) * 0.9);
  }
  .product-table__table {
    font-size: calc(var(--font-body-size) * 0.85);
  }
  .product-table__header, .product-table__cell {
    padding: 0.8rem 1rem;
  }
  .product-table__header--sub {
    padding: 0.6rem 0.8rem;
    font-size: calc(var(--font-body-size) * 0.8);
  }
  .product-table__pet-nutrition-facts .product-table__header--nutrient {
    width: 40%;
  }
  .product-table__pet-nutrition-facts .product-table__header--us,
  .product-table__pet-nutrition-facts .product-table__header--metric {
    width: 30%;
  }
  .product-table__footnotes, .product-table__statement, .product-table__note {
    padding: 0.8rem 1rem;
    font-size: calc(var(--font-body-size) * 0.8);
  }
  .product-table__row--indent .product-table__cell--nutrient {
    padding-left: 2rem;
    font-weight: 400;
  }
  /* video captions on About Finley's page */
  .vid-caption {
    display: none !important;
  }
}

/* Bazaarvoice fix for Ratings Summary links not working */
div[data-bv-show="inpage_submission"] {display:inherit;}
div[data-bv-show="inpage_submission"]:empty {display: block !important;}

/* Customization for BNB Amazon Buy Now Button */
#bnb-buy-now-button > div > div > a > span {  
  font-weight: 800 !important;
}
#bnb-buy-now-button > div > div > a {
  transition: background-color .4s ease, color .4s ease, opacity .4s ease !important;
}
#bnb-buy-now-button > div > div > a:hover {  
  border: 1px solid #1b5091 !important;
  background-color: #fff !important;  
}
#bnb-buy-now-button > div > div > a:hover > span {  
  font-weight: 800 !important;
  color: #1b5091 !important;
}

/* Customization for qikify forms */
.bcontact-embed {
  width: 100% !important;
}
.bcontact-content {  
  padding: 20px 0 !important;
.bcontact-field-heading {
  font-weight: 600;
}
.bcontact-title,
.bcontact-description {
  display: none;
}
.bcontact-notification-content {
  right: 65px !important;
}

/* Bold Subscriptions custom styles for selected purchase options box */
input:checked + .bsub-widget__group-header {
  border: 2px solid #002f87 !important;
  background-color: #f2f4f9 !important;
  font-size: 1.1em !important;
  font-weight: bold !important;
}

/*# sourceMappingURL=custom.css.map */
