#template-collection div[id*="header_announcements"],
#template-product div[id*="header_announcements"] {
  display: none;
}

shopify-payment-terms {
  font-size: .8em;
}

div#locksmith-content {
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.search-modal div#snize-instant-search-results {
  width: 100% !important;
}

.shogun-root img, shogun-root .shogun-image-container img {
  width: auto;
}

/*
=========================
FOOTER
=========================
*/

.reviews-badge {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: rgb(53 64 117 / 1.0);
  width: 8rem;
  height: 8rem;
  border: 3px solid rgb(239 139 27 / 1.0);
}
.reviews-badge__inner {padding: .5rem;gap: 5px;display: flex;flex-direction: column;}
.reviews-badge p {
  margin: 0;
  display: block;
  font-size: .8rem;
  text-align: center;
  text-wrap-style: pretty;
}
span.reviews-badge__main-text {font-size: 1rem;}
.reviews-badge__stars {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}
.reviews-badge__stars svg path {fill: rgb(239 139 27 / 1.0);}

/*
=========================
COLLECTION PAGE
=========================
*/

.collection-header .group-block-content {
  .collection-desc__buttons--wrap {
    display: grid;
    gap: .5rem;
    max-width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
  }
  & div:has(> a.button) {
    max-width: 100%;
  }
  & a.button {
    width: 100%;
    height: 100%;
    text-wrap-style: balance;
    text-transform: capitalize;
  }

}
.main-collection-grid .price.pbf2 {
  /* font-style: italic; */
}

@media screen and (max-width: 749px) {
  /* .collection-wrapper:has(.product-grid-mobile--large) .collection-filters-wrapper .facets-mobile-wrapper.facets-controls-wrapper {
    display: flex;
    & .column-options-wrapper {
      display: none;
    }
  } */
}


/*
=========================
PRODUCT PAGE
=========================
*/

.product-information .media-fit-contain :is(img, video, iframe, .deferred-media__poster-image) {
  object-fit: contain;
}

div:has(> .fera-container) {
  width: 100%;
}

.variant-option__select option[disabled] {
  background-color: #efefef;
  color: #bfbfbf;
}

@media screen and (max-width: 749px) {
    .text-block[class*='product_vendor'] > p,
    .text-block[class*='product_title'] > p,
    .fera-container,
    product-price div[ref='priceContainer'],
    product-price form[id^='product-form-installment'],
    #pbf-finance-avail-from {
        text-align: center;
    }
}

/* PBF Styling - START */
.shopify-app-block[id*=novuna_personal_finance] {
    width: 100%;
    position: relative;

    &:not(:has(#PBFPopup)) {
        display: none;
    }
    & #PBFPopup {
        min-width: unset;
        max-width: unset;
        padding: 10px;
        border: 1px solid #f0eeeb;
        border-radius: 5px;
        display: flex;
        align-items: center;
        flex-direction: column;
        
        & > img {
            width: 60px;
            display: block;
            position: absolute;
            top: 15px;
            left: 10px;
        }
        & .pbf-fieldset-finance,
        & .pbf-representative-example { 
            display:none;
        }

        & .pbf-finance-widget {
            display: flex;
            margin: 0;
            flex: 1 1 auto;
            flex-direction: column-reverse;
            width: 100%;

            &.expandIt {
                margin-bottom: 20px;
            }
            
            & #pbf-finance-avail-from {
                font-size: .8em;
                padding: 5px 0 0;
                white-space: nowrap;
                min-width: 93px;
            }

            & .pbf-finance-widget-button {
                display: flex;
                padding: 6px 6px;
                min-width: 150px;
                white-space: normal;
                flex: 1 1 auto;
                text-align: center;
                margin-left: 70px;
                min-height: 15px;
                margin: 0 0 0 70px;
                
                & span {
                    font-size: .8em;
                    line-height: 1.2em;
                }
                & svg {
                    width: 10px;
                    height: 10px;
                    margin-left: 5px;
                }
            }
        }

        &.finance-active .pbf-finance-widget .pbf-finance-widget-button {
            background: #70b8db
            &:before {
                left: 27px;
            }
        }

        &.pbf-product-widget .pbf-fieldset-living-uk.pbf-invisible-on-deposit-second {
            border: 1px solid red;
            border-radius: 4px;
            padding: 10px;

            & legend {padding: 0 5px;}
        }
        
        & .pbf-bottom-actions #pbf-save-button {
            width: 100%;
        }
    }
}

.shopify-app-block[id*='klarna_on_site_messaging_app_block'] {
    width: 100%;
}
/* PBF Styling - END */

quick-add-dialog#quick-add-dialog :not(.dialog-zoomed-gallery)>.product-media-container {
    aspect-ratio:auto;
    & .product-media {
        aspect-ratio: var(--ratio);
        & :is(img, video, iframe, .deferred-media__poster-image) {
            object-fit: contain;
        }
    }
}

/*
=========================
ARTICLE PAGE
=========================
*/

.article--intro {
  color: #363636;
  font-size: 1em;
  text-align: center;
  line-height: 1.6em;
  letter-spacing: 1px;
}

.blog-post-content .shg-hr-wrapper {
  padding: 20px 0 30px;
}

#template-article[data-template="article"] .blog-post-content .shogun-heading-component h2 {
  font-size: 1.6em;
  font-weight: 200;
}



/* Lightweight styles for the collapsed/expanded states */
.rm--true {
  --rm-lines: 4;                 /* default, can be overridden via data attribute */
  --rm-line-height: 1.5;         /* fallback if JS can't compute */
  --rm-max: calc(var(--rm-lines) * 1em * var(--rm-line-height));
  position: relative;

  &:not(.rm--expanded) {
    max-height: 300px;
    overflow: hidden;
  }

  & .rm__content {
    overflow: hidden;
    max-height: var(--rm-max);
    transition: max-height 250ms ease;
  }

  & .rm__fade {
    content: "";
    position: absolute;
    inset: auto 0 2.25rem 0;       /* leaves room for the button */
    height: 3rem;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(255,255,255,0), var(--rm-fade-bg, #fff));
    opacity: 1;
    transition: opacity 150ms ease;
  }

  & .rm__btn {
    display: inline-block;
    margin-top: .5rem;
    background: none;
    border: 0;
    font: inherit;
    color: inherit;
    text-decoration: underline;
    cursor: pointer;
    padding: .25rem 0;
  }

  &.rm--expanded {
    & .rm__content {
      max-height: 9999px;
    }
    & .rm__fade { opacity: 0; }
  }
}

@media (prefers-reduced-motion: reduce) {
  .rm__content { transition: none; }
}

/* only clamp on small screens */
@media (min-width: 768px) {
  .rm--true:not(.rm--expanded), .rm__content.rm__content { max-height: none; }
  .rm__fade.rm__fade, .rm__btn.rm__btn { display: none; }
}




/*! Lazyframe
https://github.com/vb/lazyframe
---------------------------------------------- */
.lazyframe {
  position: relative;
  background-color: currentColor;
  background-repeat: no-repeat;
  background-size: cover;
}

.lazyframe__title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 15px 17px;
  z-index: 3;
}

.lazyframe__title:after {
  z-index: -1;
}

.lazyframe:hover {
  cursor: pointer;
}

.lazyframe:before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 100%;
}

.lazyframe[data-ratio="16:9"]:before {
  padding-top: 56.25%;
}

.lazyframe[data-ratio="4:3"]:before {
  padding-top: 75%;
}

.lazyframe[data-ratio="1:1"]:before {
  padding-top: 100%;
}

.lazyframe[data-ratio="3:4"]:before {
  padding-top: 133.33%;
}

.lazyframe[data-ratio="9:16"]:before {
  padding-top: 177.78%;
}
.lazyframe[data-ratio="4:1"]:before {
  padding-top: 25%;
}

.lazyframe[data-padding]:before {
  padding-top: attr(data-padding %);
}

.lazyframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
}

.lazyframe[data-vendor=youtube], .lazyframe[data-vendor=youtube_nocookie] {
  background-color: #e52d27;
  font-family: Roboto, Arial, Helvetica, sans-serif;
}

.lazyframe[data-vendor=youtube] .lazyframe__title, .lazyframe[data-vendor=youtube_nocookie] .lazyframe__title {
  color: #eee;
  font-family: Roboto, Arial, Helvetica, sans-serif;
  font-size: 18px;
  text-shadow: rgba(0, 0, 0, 0.498039) 0px 0px 2px;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.lazyframe[data-vendor=youtube] .lazyframe__title:hover, .lazyframe[data-vendor=youtube_nocookie] .lazyframe__title:hover {
  color: #fff;
}

.lazyframe[data-vendor=youtube] .lazyframe__title:before, .lazyframe[data-vendor=youtube_nocookie] .lazyframe__title:before {
  content: "";
  display: block;
  background: linear-gradient(rgba(0, 0, 0, 0.2), transparent);
  height: 98px;
  width: 100%;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
  -webkit-tap-highlight-color: transparent;
}

.lazyframe[data-vendor=youtube]:before, .lazyframe[data-vendor=youtube_nocookie]:before {
  padding-top: 56.25%;
}

.lazyframe[data-vendor=youtube][data-ratio="16:9"]:before, .lazyframe[data-vendor=youtube_nocookie][data-ratio="16:9"]:before {
  padding-top: 56.25%;
}

.lazyframe[data-vendor=youtube][data-ratio="4:3"]:before, .lazyframe[data-vendor=youtube_nocookie][data-ratio="4:3"]:before {
  padding-top: 75%;
}

.lazyframe[data-vendor=youtube][data-ratio="1:1"]:before, .lazyframe[data-vendor=youtube_nocookie][data-ratio="1:1"]:before {
  padding-top: 100%;
}

.lazyframe[data-vendor=youtube]:after, .lazyframe[data-vendor=youtube_nocookie]:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 68px;
  height: 48px;
  margin-left: -34px;
  margin-top: -24px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjU1LjcgNDQ2LjNjLTUzLjMuMy0xMDYuNi0uNC0xNTkuOC0zLjMtMTcuNC0xLTM0LjctMi41LTUwLjQtMTFDMzUgNDI2LjMgMjcgNDE4LjQgMjIgNDA3LjIgMTMuMiAzODguNiAxMC41IDM2OSA5IDM0OWMtMy40LTQxLjMtMy42LTgyLjYtMS44LTEyMy44IDEtMjIgMS42LTQ0IDYuOC02NS41IDItOC40IDUtMTYuNiA4LjgtMjQuNEMzMiAxMTcgNDggMTA4IDY3LjMgMTA0YzE2LjItMyAzMi44LTMgNDkuMy0zLjcgNTYtMi4zIDExMi0zLjUgMTY4LTMgNDMgLjYgODYuMiAxLjcgMTI5LjMgNCAxMy4yLjYgMjYuNi44IDM5LjMgNS41IDE3LjIgNi40IDMwIDE3LjIgMzcgMzQuNyA2LjYgMTYuOCA5LjIgMzQuMiAxMC42IDUyIDMuOCA0OC43IDQgOTcuMy43IDE0Ni0xIDE2LjMtMi4yIDMyLjctNi41IDQ4LjgtOS43IDM3LTMyLjggNTEuNS02Ni43IDUzLjgtMzYuMiAyLjUtNzIuNSAzLjgtMTA4LjggNC4zLTIxLjMuMi00Mi43IDAtNjQgMHpNMjAzLjIgMzQ0TDM0OCAyNjQuN2wtMTQ0LjgtNzkuM1YzNDR6IiBmaWxsPSIjIzFmMWYxZiIvPjxwYXRoIGQ9Ik0yMDMuMiAzNDRWMTg1LjVMMzQ4IDI2NC44IDIwMy4yIDM0NHoiIGZpbGw9IiNGRUZERkQiLz48L3N2Zz4=");
  background-position: center center;
  background-size: 100%;
  background-repeat: no-repeat;
  opacity: 0.81;
  border: none;
  z-index: 4;
}

.lazyframe[data-vendor=youtube]:hover:after, .lazyframe[data-vendor=youtube_nocookie]:hover:after {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjU1LjcgNDQ2LjNjLTUzLjMuMy0xMDYuNi0uNC0xNTkuOC0zLjMtMTcuNC0xLTM0LjctMi41LTUwLjQtMTFDMzUgNDI2LjMgMjcgNDE4LjQgMjIgNDA3LjIgMTMuMiAzODguNiAxMC41IDM2OSA5IDM0OWMtMy40LTQxLjMtMy42LTgyLjYtMS44LTEyMy44IDEtMjIgMS42LTQ0IDYuOC02NS41IDItOC40IDUtMTYuNiA4LjgtMjQuNEMzMiAxMTcgNDggMTA4IDY3LjMgMTA0YzE2LjItMyAzMi44LTMgNDkuMy0zLjcgNTYtMi4zIDExMi0zLjUgMTY4LTMgNDMgLjYgODYuMiAxLjcgMTI5LjMgNCAxMy4yLjYgMjYuNi44IDM5LjMgNS41IDE3LjIgNi40IDMwIDE3LjIgMzcgMzQuNyA2LjYgMTYuOCA5LjIgMzQuMiAxMC42IDUyIDMuOCA0OC43IDQgOTcuMy43IDE0Ni0xIDE2LjMtMi4yIDMyLjctNi41IDQ4LjgtOS43IDM3LTMyLjggNTEuNS02Ni43IDUzLjgtMzYuMiAyLjUtNzIuNSAzLjgtMTA4LjggNC4zLTIxLjMuMi00Mi43IDAtNjQgMHpNMjAzLjIgMzQ0TDM0OCAyNjQuN2wtMTQ0LjgtNzkuM1YzNDR6IiBmaWxsPSIjREQyQzI4Ii8+PHBhdGggZD0iTTIwMy4yIDM0NFYxODUuNUwzNDggMjY0LjggMjAzLjIgMzQ0eiIgZmlsbD0iI0ZFRkRGRCIvPjwvc3ZnPg==");
  opacity: 1;
}

.lazyframe[data-vendor=vimeo] {
  background-color: #00adef;
}

.lazyframe[data-vendor=vimeo] .lazyframe__title {
  font-family: "Helvetica Neue", Helvetica, Arial;
  color: #00adef;
  font-size: 20px;
  font-weight: bold;
  text-rendering: optimizeLegibility;
  -webkit-user-select: none;
          user-select: none;
  -webkit-font-smoothing: auto;
  -webkit-tap-highlight-color: transparent;
  background-color: rgba(0, 0, 0, 0.5);
}

.lazyframe[data-vendor=vimeo]:before {
  padding-top: 48.25%;
}

.lazyframe[data-vendor=vimeo][data-ratio="16:9"]:before {
  padding-top: 56.25%;
}

.lazyframe[data-vendor=vimeo][data-ratio="4:3"]:before {
  padding-top: 75%;
}

.lazyframe[data-vendor=vimeo][data-ratio="1:1"]:before {
  padding-top: 100%;
}

.lazyframe[data-vendor=vimeo]:after {
  content: "";
  height: 40px;
  width: 65px;
  display: block;
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 3;
  background-color: rgba(0, 0, 0, 0.5);
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgYmFzZVByb2ZpbGU9InRpbnkiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTcuNzY1IDE2Ljg5bDguNDctNC44OS04LjQ3LTQuODkiLz48L3N2Zz4=");
  background-position: center center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  border-radius: 5px;
  position: relative;
}

.lazyframe[data-vendor=vimeo]:hover:after {
  background-color: #00adef;
}

.lazyframe[data-vendor=vine] {
  background-color: #00bf8f;
}

.lazyframe[data-vendor=vine] .lazyframe__title {
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 16px;
  white-space: nowrap;
  z-index: 3;
  positon: relative;
}

.lazyframe[data-vendor=vine] .lazyframe__title:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
  height: 115px;
  padding: 24px 70px 24px 24px;
  background: linear-gradient(to top, rgba(23, 23, 23, 0) 0, rgba(23, 23, 23, 0.7) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#b3171717", endColorstr="#00171717", GradientType=0 );
}

.lazyframe[data-vendor=vine]:before {
  padding-top: 100%;
}

.lazyframe[data-vendor=vine][data-ratio="16:9"]:before {
  padding-top: 56.25%;
}

.lazyframe[data-vendor=vine][data-ratio="4:3"]:before {
  padding-top: 75%;
}

.lazyframe[data-vendor=vine][data-ratio="1:1"]:before {
  padding-top: 100%;
}

.lazyframe[data-vendor=vine]:after {
  content: "";
  width: 60px;
  height: 60px;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 4;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMzYiIGhlaWdodD0iMTM2IiB2aWV3Qm94PSIwIDAgMTM2IDEzNiI+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTU2IDQ0Yy0uNyAwLTEuNC4yLTIgLjUtMS4yLjgtMiAyLTIgMy41djQwYzAgMS40LjggMi44IDIgMy41LjYuMyAxLjMuNSAyIC41czEuNC0uMiAyLS41bDM0LjYtMjBjMS4zLS43IDItMiAyLTMuNSAwLTEuNC0uNy0yLjgtMi0zLjVMNTggNDQuNWMtLjYtLjMtMS4zLS41LTItLjV6Ii8+PC9zdmc+");
  background-color: rgba(0, 0, 0, 0.5);
  background-size: cover;
  background-repeat: no-repeat;
  margin-top: -30px;
  margin-left: -30px;
  border-radius: 50%;
}

.lazyframe[data-vendor=vine]:hover:after {
  background-color: rgba(0, 0, 0, 0.75);
}


/* Seasonal / Other */

@media screen and (min-width: 750px) {
  .slide-group--black-friday h2 {
    font-size: 2.5rem;
  }
}