/** Shopify CDN: Minification failed

Line 2659:0 Unexpected "}"
Line 6004:20 Unexpected "{"
Line 6004:29 Expected ":"
Line 6004:36 Unexpected "{"

**/
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'square-regular';
}

.hxoSelectTheme .buckscc-select-options {
	
	/* overflow-x: hidden; */
	overflow-y: auto !important;

}


main#MainContent {
    position: relative;
}
nav.breadcrumb {
    position: absolute;
    top: 160px;
    padding-left: 100px;
    z-index: 2;
}
.breadcrumb a {
    color: #000;
    text-decoration: none;
}
.homepage .breadcrumb{
  display: none;
}
.login-page .breadcrumb{
  display: none;
}
.register-page .breadcrumb{
  display: none;
}
.forgot-page .breadcrumb{
  display: none;
}
.account-page .breadcrumb{
  display: none;
}
.breadcrumb a{
  transition: all 0.4s ease-in-out;
}
.breadcrumb span{
  color: #404040;
}
.breadcrumb a:hover {
  color: #01a1ff;
  cursor: pointer;
  transition: all 0.4s ease-in-out;
}
.faq-page nav.breadcrumb {
    top: 200px;
}
.shop-detail nav.breadcrumb {
    top: 12px;
}
.page-width.page-width--narrow.section-template--22910568268081__main-padding {
    width: 100%;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #EBEBEB;
    text-transform: uppercase;
}

.page-width.page-width--narrow.section-template--22910694621489__main-padding {
    width: 100%;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #EBEBEB;
    text-transform: uppercase;
}

.page-width.page-width--narrow.section-template--22910572364081__main-padding {
    width: 100%;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    /* background: #EBEBEB; */
    text-transform: uppercase;
}

.page-width.page-width--narrow.section-template--22977191280945__main-padding {
    width: 100%;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #EBEBEB;
    text-transform: uppercase;
}

.page-width.page-width--narrow.section-template--22977880621361__main-padding {
    width: 100%;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #EBEBEB;
    text-transform: uppercase;
}

.price-starting {
    display: flex !important;
    justify-content: center;
    gap: 10px;
    font-weight: 500;
    font-family: 'Rubik', sans-serif;
}

.page-width.page-width--narrow.section-template--22977880621361__main-padding .rte #globo-formbuilder-48541 {
    display: none;
}

@media (min-width: 320px) and (max-width: 991px) {
    .shopify-section .product-detail-page {
        padding: 40px 20px 0 !important;
    }
}

.header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}

.header-wrapper {
    background: #f7f7f7 !important;
}

.header__menu-item:hover span {
    text-decoration: none;
}

summary#HeaderMenu-support {
    font-size: 14px;
    font-family: 'Rubik', sans-serif;
    margin: 0 0 0 10px;
}

.banner__buttons2 {
    padding-top: 20px;
}

.banner__buttons2 a.button {
    background: transparent;
    color: #000;
    text-decoration: underline;
}

.mega-menu {
    position: relative !important;
}

#Details-HeaderMenu-3 .mega-menu__content {
    left: 21px;
    top: 40px;
    width: 210px;
    padding: 20px 0;
    z-index: 1;
}

#MegaMenu-Content-3 ul.page-width {
    padding: 0 15px !important;
    width: auto;
    min-width: auto;
}

#MegaMenu-Content-3 .mega-menu__list--condensed .mega-menu__link {
    font-weight: 599;
    font-size: 14px;
    font-family: 'Rubik', sans-serif;
    text-transform: uppercase;
}

#MegaMenu-Content-3 .mega-menu__list--condensed .mega-menu__link:hover {
    color: #01A1FF;
    text-decoration: none;
}

.header .list-menu li details[open]>.header__menu-item {
    text-decoration: none;
}

.header__menu-item:hover {
    color: #01A1FF;
    text-decoration: none;
    border-bottom: none;
    box-shadow: none;
}

.banner-slideshow button.slider-counter__link.slider-counter__link--dots.link {
    padding: 3px 4px;
}

button:nth-child(1) span.dot {
    background: #DAC1A3;
}

button:nth-child(2) span.dot {
    background: red;
}

button:nth-child(3) span.dot {
    background: #e9c7ac;
}

button:nth-child(4) span.dot {
    background: green;
}

button:nth-child(5) span.dot {
    background: blue;
}

button:nth-child(6) span.dot {
    background: black;
}

span.header__active-menu-item {
    text-decoration: none;
    color: #01A1FF;
}

.header__inline-menu ul li a span {
    font-size: 17px;
    font-family: 'Rubik', sans-serif;
    margin: 0 0 0 10px;
}

.header img.header__heading-logo {
    width: 73px;
    height: 50px;
    object-fit: contain;
}

.header .list-menu__item {
    display: flex;
    align-items: center;
    line-height: calc(1 + 0.3 / var(--font-body-scale));
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 599;
}

.header-wrapper--border-bottom {
    border-bottom: none;
    background: #F7F7F7 !important;
}

.banner-slideshow .slideshow__text.banner__box {
    background: transparent;
}

.banner-slideshow .slideshow__text h2.banner__heading.inline-richtext.h1 {
    font-family: 'Square-regular';
    font-size: 70px;
    text-transform: uppercase;
}

.banner-slideshow .slideshow__text .banner__buttons a.button.button--primary {
    background: #01a1ff;
    border-radius: 22px;
    opacity: 100%;
    position: relative;
    top: 30px;
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
}

.banner-slideshow .slideshow__text.banner__box {
    max-width: 65.5rem;
}

.banner-slideshow .button:after,
.shopify-challenge__button:after,
.customer button:after,
.shopify-payment-button__button--unbranded:after {
    box-shadow: none;
}

.banner-slideshow .slideshow__controls.slider-buttons.slideshow__controls--border-radius-mobile {
    position: absolute;
    left: 47%;
    top: 61%;
    border: none;
}

.banner-slideshow .slider-button {
    display: none;
}

#shopify-section-template--22875943076145__slideshow_gPUcJK button.slider-counter__link.slider-counter__link--dots.link.slider-counter__link--active .dot {
    width: 15px;
    height: 15px;
}

#shopify-section-template--22875943076145__slideshow_gPUcJK button.slider-counter__link.slider-counter__link--dots.link.slider-counter__link--active {
    border: #000 solid 1px;
    border-radius: 50%;
}

.banner-slideshow .slider-counter.slider-counter--dots {
    margin: 0;
}

@media (min-width: 1541px) and (max-width: 1580px) {
    .banner-slideshow .slider.slider--everywhere .slider__slide {
        padding: 0 !important;
    }

    .banner-slideshow .slideshow__text h2.banner__heading.inline-richtext.h1 {
        font-size: 63px !important;
    }
}

@media (min-width: 1024px) and (max-width: 1541px) {
    .banner-slideshow .slider.slider--everywhere .slider__slide {
        padding: 0 !important;
    }

    .banner-slideshow .slideshow__text h2.banner__heading.inline-richtext.h1 {
        font-size: 63px !important;
    }

    .banner-slideshow .slideshow__controls.slider-buttons.slideshow__controls--border-radius-mobile {
        left: 46% !important;
        top: 61% !important;
    }
}

@media (min-width: 568px) and (max-width: 992px) {
    .banner-slideshow .slideshow__controls.slider-buttons.slideshow__controls--border-radius-mobile {
        left: 43%;
    }
}

@media (min-width: 320px) and (max-width: 991px) {

    .header__heading,
    .header__heading-link {
        justify-self: flex-start;
    }

    .header {
        grid-template-columns: 30px 4fr 1fr;
        display: grid;
        justify-content: flex-start;
        margin: 0 auto;
         /* text-align: center; */
    }

}

@media (min-width: 320px) and (max-width: 768px) {

    /* .banner--medium.banner--mobile-bottom:not(.banner--adapt) .banner__media,
    .banner--medium.banner--stacked:not(.banner--mobile-bottom):not(.banner--adapt)>.banner__media {
        height: 100%;
    } */

    /* .slideshow .slideshow__slide img {
        min-height: 650px;
    } */

    /* .banner--medium.banner--mobile-bottom:not(.banner--adapt) .banner__media,
    .banner--medium.banner--stacked:not(.banner--mobile-bottom):not(.banner--adapt)>.banner__media {
        height: 100%;
        min-height: 450px;
    }
 */
    .banner:not(.banner--mobile-bottom) .field__input,
    .banner--mobile-bottom:not(.banner--stacked) .banner__box.color-scheme-1 {
        background: #fff;
    }

    .slideshow__slide .slideshow__text-wrapper .slideshow__text h2.banner__heading {
        font-weight: 900;
        font-size: 32px;
        font-family: 'square-regular';
        text-transform: uppercase;
    }

    .slideshow__text-wrapper .banner__text p {
        font-size: 20px;
        color: #000;
        font-family: 'Rubik', sans-serif;
    }

    .slideshow__slide .slideshow__text .banner__buttons a.button.button--primary {
        background: #00a1ff;
        border-radius: 30px;
        font-size: 16px;
        font-family: 'Rubik', sans-serif;
    }

    .banner__buttons2 {
        margin-top: 0 !important;
        padding-top: 0;
    }
}

.multicolumnBanner {
    width: 100%;
    background: #EBEBEB;
    padding: 70px 0;
}

.multicolumnBanner ul li .multicolumn-card.content-container {
    background: transparent;
}

.multicolumnBanner .multicolumn-card__image-wrapper.multicolumn-card__image-wrapper--full-width.multicolumn-card-spacing {
    width: 50px;
    margin: 0 auto;
}

.multicolumnBanner ul li .multicolumn-card__info p {
    padding: 10px 20px;
    line-height: 22px;
}

.multicolumnBanner ul li .multicolumn-card__info .link {
    margin-top: 0;
}

.multicolumnBanner .page-width {
    padding: 0;
}

.multicolumnBanner .page-width ul li {
    border-right: 1px solid #d5d5d5;
}

@media (min-width: 320px) and (max-width: 820px) {
    .multicolumnBanner .page-width ul li {
        border-right: none;
    }
}

.multicolumnBanner .page-width ul li .multicolumn-card__info .rte {
    padding: 0;
    margin: 0;
}

.multicolumnBanner ul li .multicolumn-card__info .link {
    color: #00a1ff;
    text-decoration: underline;
    cursor: pointer;
}

.multicolumnBanner .multicolumn-card__info {
    padding: 10px 0 0;
}

.multicolumnBanner ul li .multicolumn-card .multicolumn-card__info span.icon-wrap {
    display: none;
}

.multicolumnBanner .page-width ul li:last-child {
    border-right: none;
}

.met-boomer-sec {
    width: 100%;
    background-image: url(/cdn/shop/files/meet-boomer-background.jpg?v=1719833268);
    min-height: 450px;
    background-size: cover;
    background-repeat: no-repeat;
}

.met-boomer-sec .image-with-text__media.image-with-text__media--adapt.global-media-settings.background-transparent.media {
    border: none;
}

.met-boomer-sec .page-width .image-with-text__media-item.image-with-text__media-item--medium.image-with-text__media-item--middle.grid__item {
    width: 0%;
}

.met-boomer-sec .page-width .image-with-text__text-item.grid__item {
    width: 30% !important;
}

@media (min-width: 1320px) and (max-width: 1560px) {
    .met-boomer-sec .page-width .image-with-text__text-item.grid__item {
        width: 30% !important;
    }
}

.met-boomer-sec .page-width .image-with-text__grid.grid.grid--gapless.grid--1-col.grid--2-col-tablet.image-with-text__grid--reverse {
    display: flex;
    gap: 20px;
}

.met-boomer-sec .page-width h2.image-with-text__heading.inline-richtext.h1 {
    font-family: 'Square-regular';
    text-transform: uppercase;
}

.met-boomer-sec div#ImageWithText--template--22875943076145__image_with_text_znLhEW {
    padding-left: 0;
}

.met-boomer-sec .image-with-text__text p {
    font-size: 18px;
}

@media (min-width: 320px) and (max-width: 991px) {
    .met-boomer-sec .page-width .image-with-text__media-item.image-with-text__media-item--medium.image-with-text__media-item--middle.grid__item {
        width: 60%;
        text-align: center;
        margin: 0 auto;
    }

    .met-boomer-sec .page-width .image-with-text__text-item.grid__item {
        width: 100% !important;
    }
}

.more-produts {
    width: 100%;
    position: relative;
    background-image: url("/cdn/shop/files/product-page-bgm.jpg?v=1720087360");
    background-size: cover;
    background-repeat: no-repeat;
    padding: 100px 0 !important;
    margin: 20px 0;
}

.multicolumn.more-produts {
    width: 100%;
    margin: 20px 0 20px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.more-produts .page-width.section-template--22875943076145__multicolumn_me4Wwa-padding.isolate.scroll-trigger.animate--slide-in {
    width: 100%;
    max-width: 100%;
    padding: 0 50px !important;
}

.more-produts .page-width h2 {
    width: 100%;
    text-align: center;
    font-family: 'Square-regular';
    text-transform: uppercase;
}

.more-produts .multicolumn-card__info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 55%;
}

.more-produts .multicolumn-card.content-container {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    width: 100%;
    max-width: 595px;
    min-height: 431px;
}

.more-produts .multicolumn-card__info .rte p {
    text-align: left;
    font-size: 18px;
    line-height: 26px;
}

.more-produts .multicolumn-card__info h3.inline-richtext {
    font-family: square-regular;
    font-size: 30px;
    text-align: left;
}

.more-produts .media.media--transparent.media--adapt {
    position: absolute;
    right: 0;
    width: 320px;
    bottom: 0;
    height: 400px;
}

.more-produts .multicolumn-card__image-wrapper.multicolumn-card__image-wrapper--full-width.multicolumn-card-spacing {
    width: 40%;
    position: relative;
}

.more-produts .multicolumn-card__info a.link.animate-arrow {
    background: #23A1FF;
    padding: 8px 17px;
    border-radius: 22px;
    color: #fff;
    font-size: 16px;
    font-family: 'Rubik', sans-serif;
}

.banner-slideshow .slider.slider--everywhere .slider__slide {
    padding: 130px 0;
}

.banner-slideshow .slideshow__text .banner__text p {
    font-size: 18px;
    color: #000;
    font-family: 'Rubik', sans-serif;
    text-transform: capitalize;
}

.more-produts slider-component.slider-mobile-gutter.page-width.page-width-desktop.scroll-trigger.animate--slide-in {
    padding: 0 !important;
    width: 100%;
    min-width: 100%;
}

.more-produts .multicolumn-card__info .icon-wrap {
    display: none;
}

.product .MagicToolboxSlides .MagicToolboxSlide img {
    width: 100%;
    max-width: 630px;
    max-height: 650px;
    object-fit: contain;
}

.product .MagicToolboxSlides .MagicToolboxSlide {
    background: #F7F7F7;
    padding: 20px 0 10px;
}

.product .MagicToolboxSelectorsContainer {
    display: inline-block;
    white-space: nowrap;
    width: 636px;
    overflow-y: auto;
}

.product .MagicToolboxSelectorsContainer {
    scrollbar-width: thin;
}

.product .MagicToolboxSelectorsContainer::-webkit-scrollbar {
    display: none;
}

.quick-add-modal .page-width.product-detail-page {
    padding: 0 0 !important;
}

.quick-add-modal .product-form__submit {
    background: #2196F3;
    color: #fff;
    border-radius: 45px;
    width: 100%;
    max-width: 160px;
    font-size: 16px;
}

.more-produts .collection__description p {
    text-align: center;
}

@media (min-width: 320px) and (max-width: 768px) {
    .more-produts .slider-mobile-gutter ul li {
        width: 100%;
        max-width: 100%;
    }

    .more-produts #Slider-template--22875943076145__featured_collection_gA7h4c {
        display: flex;
        flex-direction: column;
    }

    .more-produts slider-component.slider-mobile-gutter.page-width.page-width-desktop.scroll-trigger.animate--slide-in {
        padding: 0 10px !important;
    }

    .more-produts {
        padding: 100px 0 30px !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body #gallery div#grouped-images-2 {
      gap: 24px;
    }
    .product .MagicToolboxSelectorsContainer {
        width: 335px;
    }

    .product-detail-page .product__info-wrapper .product__title h1 {
        font-size: 35px !important;
    }
}

@media (min-width: 750px) and (max-width: 767px) {
    body .product .MagicToolboxSelectorsContainer {
        width: 335px;
    }

    .product-detail-page .product__info-wrapper .product__title h1 {
        font-size: 35px !important;
    }
}

@media (min-width: 430px) and (max-width: 749px) {
    .product .MagicToolboxSelectorsContainer {
        width: 400px !important;
    }

    .product-detail-page .product__info-wrapper .product__title h1 {
        font-size: 35px !important;
    }
}

@media (min-width: 320px) and (max-width: 429px) {
    .product .MagicToolboxSelectorsContainer {
        width: 380px !important;
    }

    .product-detail-page .product__info-wrapper .product__title h1 {
        font-size: 35px !important;
    }

    .section-template--22875943239985__related-products-padding {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .product-detail-page .product.product--medium.product--left.product--stacked.product--mobile-hide.grid.grid--1-col.grid--2-col-tablet {
        padding: 60px 0 0 !important;
    }
}

@media (min-width: 1320px) and (max-width: 1580px) {
    .more-produts .media.media--transparent.media--adapt {
        width: 260px;
        height: 340px;
    }
}

@media (min-width: 1200px) and (max-width: 1319px) {
    .more-produts .media.media--transparent.media--adapt {
        width: 180px;
        height: 250px;
    }
}

@media (min-width: 1048px) and (max-width: 1199px) {
    .more-produts .multicolumn-card.content-container {
        flex-direction: row-reverse;
        justify-content: space-between;
        max-width: 595px;
        min-height: 590px;
        flex-direction: column-reverse;
    }

    .more-produts .multicolumn-card__image-wrapper.multicolumn-card__image-wrapper--full-width.multicolumn-card-spacing {
        width: 70%;
        position: relative;
    }

    .more-produts .media.media--transparent.media--adapt {
        width: 230px;
        height: 310px;
    }

    .multicolumn-list__item.center .media--adapt img {
        top: 13px;
    }

    .more-produts .multicolumn-card__info {
        width: 100%;
    }
}

@media (min-width: 990px) and (max-width: 1047px) {
    .more-produts .multicolumn-card.content-container {
        flex-direction: row-reverse;
        justify-content: space-between;
        max-width: 595px;
        min-height: 590px;
        flex-direction: column-reverse;
    }

    .more-produts .multicolumn-card__image-wrapper.multicolumn-card__image-wrapper--full-width.multicolumn-card-spacing {
        width: 70%;
        position: relative;
    }

    .more-produts .media.media--transparent.media--adapt {
        width: 230px;
        height: 310px;
        right: -30px;
    }

    .multicolumn-list__item.center .media--adapt img {
        top: 13px;
    }

    .more-produts .multicolumn-card__info {
        width: 100%;
    }
}

@media (min-width: 320px) and (max-width: 991px) {
    .product-detail-page {
        padding-top: 40px;
    }
}

@media (min-width: 767px) and (max-width: 989px) {
    .more-produts .multicolumn-card.content-container {
        width: 100%;
        max-width: 100%;
    }
}

@media (min-width: 320px) and (max-width: 650px) {
    .more-produts .multicolumn-card.content-container {
        width: 100%;
        max-width: 100%;
    }

    .more-produts .multicolumn-card.content-container {
        justify-content: space-between;
        width: 100%;
        max-width: 595px;
        flex-direction: column-reverse;
        min-height: 510px;
    }

    .more-produts .media.media--transparent.media--adapt {
        right: -200px;
        width: 260px;
        height: 270px;
        bottom: 0;
    }

    .more-produts .multicolumn-card__image-wrapper.multicolumn-card__image-wrapper--full-width.multicolumn-card-spacing {
        width: 40%;
        position: relative;
    }

    .more-produts .multicolumn-card__info {
        width: 100%;
    }
}

#gallery {
    width: 100%;
    position: relative;
    z-index: 1;
}

#gallery:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background-image: url("/cdn/shop/files/shop-page-background.jpg?v=1719915383");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
}

/* style.css:895 - or the exact line your inspector shows for this rule */
#gallery .image.portfolio_img {
    width: 23.62% !important; /* Adjust this percentage slightly and add !important */
    box-shadow: 0 7px 29px #64646f33; /* Added shadow */
}

#gallery .gallery-heading {
    width: 100%;
    text-align: center;
    padding: 50px 0 0;
}

#gallery .gallery-heading h2 {
    font-family: square-regular;
    font-size: 45px;
    margin-bottom: 20px;
}

#gallery div#grouped-images-2 {
    display: flex;
    gap: 28px; /* This will now be more strictly adhered to for columns */
    flex-wrap: wrap;
    justify-content: flex-start; /* Changed from space-between */
    padding-bottom: 80px;
}

.portfolio_page_images a img {
    width: 100%;
    object-fit: cover;
    max-height: 250px;
    transition: all 0.4s ease-in-out;
}

#gallery .page-width {
    padding-bottom: 100px;
}

.mfp-container {
    background: #fff;
}

@media (min-width: 320px) and (max-width: 650px) {
    #gallery .image.portfolio_img {
        width: 100%;
    }

    #gallery div#grouped-images-2 {
        padding-bottom: 0;
    }

    #gallery .page-width {
        padding-bottom: 50px;
    }
}

section#shopify-section-template--22875943141681__main .page-width {
    width: 100%;
    background: #EBEBEB;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}

section#shopify-section-template--22875943141681__main .page-width h1 {
    text-transform: uppercase;
}

.contact-page h2.visually-hidden {
    display: none;
}

.contact-page .contact.page-width {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 100px;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

.contact-page {
    width: 100%;
    min-height: 750px;
    position: relative;
    z-index: 1;
}

.contact-page .contact .form-image img {
    width: 100%;
    max-width: 750px;
    min-height: 600px;
}

.contact-page form#ContactForm {
    width: 100%;
    background: #fff;
    padding: 40px;
    box-shadow: 0 7px 29px #64646f33;
    border-radius: 12px;
    border: #eee solid 1px;
}

.contact-page .contact .form-image img {
    width: 100%;
    min-width: 400px;
    object-fit: contain;
}

.contact-page .field:before,
.contact-page .field:after {
    box-shadow: none !important;
}

.contact-page .field input,
.field textarea {
    border: #e1e1e1 solid 1px;
    border-radius: 4px;
    flex-grow: initial;
    padding: 0 10px;
}

.contact-page .field input::-webkit-outer-spin-button,
.contact-page .field input::-webkit-inner-spin-button {
    margin: 0;
}

.contact-page .field input {
    padding: 0 10px !important;
}

.contact-page .field {
    display: flex;
    flex-direction: column-reverse;
    position: relative;
}

.contact-page label.field__label {
    margin: 0;
    padding: 0;
    left: 0;
    top: 0;
    position: relative;
    font-family: 'Assistant';
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 10px;
    color: #000;
}

.contact-page .field__input:focus~.field__label,
.field__input:not(:placeholder-shown)~.field__label,
.field__input:-webkit-autofill~.field__label,
.customer .field input:focus~label,
.customer .field input:not(:placeholder-shown)~label,
.customer .field input:-webkit-autofill~label {
    font-size: 16px;
    left: 0;
}

.contact-page .contact__button button {
    background: #10ADFD;
    font-size: 16px;
    font-family: 'Rubik', sans-serif;
    border-radius: 50px;
    margin: 0 auto;
    display: flex;
    padding: 7px 20px;
    width: 100%;
    max-width: 112px;
}

@media (min-width: 320px) and (max-width: 991px) {
    .contact-page .contact.page-width .form-image {
        display: none;
    }
}

.contact-page.login-boomer .field label {
    position: relative;
    left: 0;
    text-align: left;
    top: 0;
}

.contact-page.login-boomer button {
    background: #01A1FF;
    border-radius: 45px;
    font-size: 16px;
    font-weight: 600;
    font-family: 'Rubik', sans-serif;
    margin-top: 20px;
    margin-bottom: 20px;
    color: #fff;
    top: 13px;
}

.about-page {
    width: 100%;
    position: relative;
    padding: 0 !important;
}

.about-page #ImageWithText--template--22910568268081__image_with_text_AxAnAV {
    padding: 0 50px;
}

.about-page:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background-image: url("/cdn/shop/files/about-bgm.jpg?v=1719926347");
    background-size: cover;
    background-repeat: no-repeat;
}

section#shopify-section-template--22875943207217__main .page-width h1 {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
}

.about-page .image-with-text__grid.grid {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.about-page h2.image-with-text__heading.inline-richtext.h1 {
    font-family: 'square-regular';
    font-size: 32px;
    text-transform: uppercase;
}

.about-page #ImageWithText--template--22875943207217__image_with_text_AxAnAV {
    padding: 0 50px;
}

.about-page .image-with-text.image-with-text--no-overlap.isolate.scroll-trigger.animate--slide-in {
    padding: 100px 0;
}

.about-page .image-with-text__text p {
    width: 100%;
    line-height: 35px;
    font-size: 18px;
    margin: 0;
}

.about-page .text-under-img p {
    width: 100%;
    line-height: 35px;
    font-size: 18px;
    margin: 0;
}

.text-under-img {
    margin-top: 40px;
}

@media (min-width: 749px) and (max-width: 991px) {
    .image-with-text__media {
        padding-bottom: 0 !important;
        height: 560px;
    }

    .met-boomer-sec .fade .item img {
        width: 100% !important;
        height: 563px !important;
    }
}

@media (min-width: 320px) and (max-width: 548px) {
    /* .image-with-text__media.image-with-text__media--adapt.global-media-settings.background-transparent.media {
        padding-bottom: 0 !important;
        width: auto;
        height: 420px !important;
    } */

    .met-boomer-sec .fade .item img {
        width: 380px !important;
    }
}

@media (min-width: 320px) and (max-width: 768px) {
    .about-page #ImageWithText--template--22910568268081__image_with_text_AxAnAV {
        padding: 50px 0 0;
    }

    .product-page-accordion .accordion h3.accordion__title.inline-richtext.h4 {
        font-size: 18px !important;
    }

    .product-page-accordion .grid__item .accordion .accordion__content {
        flex-direction: column;
    }

    .product-page-accordion .grid__item .accordion .accordion__content p:nth-child(2) {
        margin-left: 0 !important;
    }
}

@media (min-width: 320px) and (max-width: 1024px) {
    .about-page .image-with-text__text-item.grid__item {
        width: 100%;
    }

    .about-page .image-with-text__media-item.image-with-text__media-item--medium.image-with-text__media-item--top.grid__item {
        width: 100%;
    }

    .about-page #ImageWithText--template--22910568268081__image_with_text_AxAnAV {
        padding: 30px 0 0;
    }
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    right: 7px !important;
    top: 47px !important;
    cursor: pointer;
}

.search-header-top .field__input:not(:placeholder-shown)~.field__label {
    left: -60px;
    top: 11px;
}

.menu-combine .footer-block.grid__item.scroll-trigger.animate--slide-in .footer-block__details-content {
    display: flex;
    flex-direction: column;
}

.menu-combine .footer-block--newsletter .footer-block__newsletter {
    text-align: left;
    flex-grow: 1;
}

.menu-combine .footer-block--newsletter.scroll-trigger.animate--slide-in {
    margin-top: 0;
}

.menu-combine .footer__follow-on-shop {
    display: none;
}

.footer__content-bottom.scroll-trigger.animate--slide-in {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
}

.footer-block--menu ul li a.link.link--text.list-menu__item.list-menu__item--link {
    font-size: 17px;
    text-decoration: none;
    line-height: 22px;
}

footer button#Subscribe {
    background: #000;
    color: #fff;
    border-radius: 0 7px 7px 0;
    right: 0;
}

.newsletter-form__field-wrapper .field {
    border: none;
}

footer .footer__content-bottom.scroll-trigger.animate--slide-in {
    display: flex;
    flex-direction: row-reverse;
    background: #000;
    color: #fff;
    align-items: center;
    padding: 0 0 12px !important;
    justify-content: center;
    width: 100%;
    opacity: 1;
}

footer {
    width: 100%;
    padding: 50px 0 0 !important;
    border-top: none !important;
    margin-top: 10px !important;
}

footer .footer__content-top.page-width {
    margin-bottom: 50px;
}

footer .footer__content-bottom-wrapper {
    display: flex;
    width: 100%;
    padding: 0 300px !important;
    min-width: auto;
}

footer .footer-block__newsletter h2.footer-block__heading.inline-richtext {
    font-weight: 500;
    font-family: 'Rubik', sans-serif;
    color: #000;
    margin-bottom: 10px;
    font-size: 16px;
    text-transform: capitalize;
}

.shopify-payment-button {
    display: none;
}

.color_variation a span svg {
    width: 24px;
    height: 24px;
}

.color_variation a span {
    align-items: center;
    display: flex;
}

.color_variation a {
    display: flex;
    gap: 10px;
    color: #2196F3;
    text-decoration: none;
    font-size: 16px;
    font-weight: 400;
}

.color_variation {
    width: 100%;
    display: block;
    margin-bottom: 10px;
}

.color_variation input {
    margin-top: 10px;
}

.color-input {
    display: none;
}

.color_variation input.color-input {
    width: 100%;
    min-height: 45px;
    border: #eee solid 1px;
    background: #f9f9f9;
}

.product fieldset.js.product-form__input.product-form__input--swatch {
    border-bottom: 1px solid #b7b7b7b7;
    padding-bottom: 25px;
    position: relative;
    width: 100%;
    min-width: 100%;
}

.product product-form.product-form {
    margin: 0;
}

#shopify-section-template--22910572364081__rich_text_xmA8mk .rich-text.content-container.color-scheme-1.gradient.rich-text--full-width.content-container--full-width.section-template--22910572364081__rich_text_xmA8mk-padding {
    min-height: 420px;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}

footer .field:after,
.select:after,
.customer .field:after,
.customer select:after,
.localization-form__select:after {
    border-radius: 0 7px 7px 0;
}

footer .field__input:focus,
.select__select:focus,
.customer .field input:focus,
.customer select:focus,
.localization-form__select:focus.localization-form__select:after {
    border-radius: 0 7px 7px 0;
}

footer .footer-block__details-content p a {
    text-decoration: none;
    margin-left: 36px;
}

 footer .footer-block .footer-block__details-content p a {
    position: relative;
}
footer .footer-block .footer-block__details-content p a:before {
    position: absolute;
    content: '';
     /* background-image: url("/cdn/shop/files/email.png?v=1720698187");  */
    width: 100%;
    height: 100%;
    left: -33px;
    background-size: cover;
    background-repeat: no-repeat;
    top: 0;
    background-image: unset !important;
}  

footer .footer__content-bottom .footer__content-bottom-wrapper.page-width:first-child {
    display: none;
}

footer .footer__content-bottom-wrapper.page-width {
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
}

footer .footer__content-bottom-wrapper .footer__copyright small.copyright__content {
    font-size: 14px;
    font-family: 'Rubik', sans-serif;
}

footer .footer__content-top.page-width {
    padding-bottom: 50px !important;
}

footer h2.footer-block__heading {
    font-weight: 600;
}

footer .footer-block__image-wrapper {
    margin: 0 0 20px;
}

footer .footer__column--info {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding-left: 0;
    padding-right: 0;
}

.footer-block__newsletter .newsletter-form__field-wrapper .field label.field__label {
    display: none;
}

.footer-block__newsletter .newsletter-form__field-wrapper .field__input {
    padding: 0 0 0 10px;
}

@media (min-width: 320px) and (max-width: 568px) {
    .more-produts .page-width.section-template--22875943076145__multicolumn_me4Wwa-padding.isolate.scroll-trigger.animate--slide-in {
        padding: 0 !important;
    }

    #gallery .gallery-heading h2 {
        font-size: 35px;
    }

    footer .footer__column--info {
        padding-top: 30px;
    }
}

.collection-hero.color-scheme-1.gradient {
    width: 100%;
    background: #EBEBEB;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}

section#shopify-section-template--22875943207217__main {
    width: 100%;
    background: #EBEBEB;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 150px;
}

.shop-page .multicolumn-card.content-container {
    background: #fff !important;
}

.shop-page {
    width: 100%;
    position: relative;
}

.shop-page::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background-image: url("/cdn/shop/files/shop-page-background.jpg?v=1719915383");
    background-repeat: no-repeat;
    background-size: cover;
}

.shop-page .multicolumn-card.content-container {
    display: flex;
    flex-direction: column-reverse;
}

.shop-page .multicolumn-card h3.inline-richtext {
    font-family: 'square-regular';
    font-size: 37px;
    margin-bottom: 0;
}

.shop-page .multicolumn-card .multicolumn-card__info .rte {
    margin-top: 0;
}

.shop-page .multicolumn-card .multicolumn-card__info .rte p {
    font-size: 22px;
    color: #000;
    padding: 0;
    margin: 0;
}

.shop-page .multicolumn-card__info a {
    background: #01a1ff;
    color: #fff;
    padding: 10px 30px;
    border-radius: 22px;
    font-size: 16px;
    font-weight: 600;
    margin-top: 10px;
}

.shop-page .multicolumn-card__info a .icon-wrap {
    display: none;
}

.shop-page .page-width ul li .multicolumn-card {
    box-shadow: 0 7px 29px #64646f33;
    border-radius: 14px;
}

.shop-page .page-width ul li {
    padding: 7px 6px;
}

.faq-page .shopify-section .page-width h1.main-page-title.page-title.h0.scroll-trigger.animate--fade-in {
    top: -30px;
}

.shopify-section .page-width h1.main-page-title.page-title.h0.scroll-trigger.animate--fade-in {
    margin-bottom: 0;
    font-weight: 700;
    font-family: 'square-regular';
    position: relative;
}

.collection-hero .collection-hero__text-wrapper h1.collection-hero__title {
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    font-family: 'square-regular';
}



.section-template--22875943043377__product-grid-padding.gradient {
    width: 100%;
    position: relative;
    padding: 0;
}

.section-template--22875943043377__product-grid-padding.gradient:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background-image: url("/cdn/shop/files/shop-page-bgm.jpg?v=1720071678");
    background-size: cover;
    background-repeat: no-repeat;
}

.section-template--22875943043377__product-grid-padding ul#product-grid {
    padding: 50px 0;
    margin: 0;
}

.faq .grid__item .accordion .accordion__content p:nth-child(1) {
    white-space: normal !important;
    font-weight: 500 !important;
}

.faq .accordion h3.accordion__title.inline-richtext.h4 {
    font-size: 32px;
    font-family: 'square-regular';
    text-transform: uppercase;
    padding: 10px 0;
}

.faq .accordion summary .icon-caret {
    width: 24px;
    height: 24px;
}

.faq .grid__item .accordion .accordion__content {
    display: flex;
    align-items: flex-start;
    transition: all 0.4s ease-in-out;
    flex-direction: column;
}

.faq .grid__item .accordion .accordion__content p {
    margin: 0;
    padding: 0;
}

.faq .grid__item .accordion .accordion__content p:nth-child(2) {
    transition: all 0.4s ease-in-out;
}

.faq .collapsible-content summary:hover {
    background: none;
    transition: all 0.4s ease-in-out;
}

.faq .collapsible-content summary:hover .accordion__title {
    text-decoration: none;
    transition: all 0.4s ease-in-out;
}

.product-detail-page .product.product--medium.product--left.product--stacked.product--mobile-hide.grid.grid--1-col.grid--2-col-tablet {
    padding: 60px 0;
}

.faq {
    padding: 0 0 70px;
}

.faq-yanet-main .faq-question-title {
    font-size: 32px !important;
}

.faq-answer-content {
    color: #000000;
    background-color: transparent !important;
}

@media (min-width: 320px) and (max-width: 881px) {
    .faq-yanet-main .faq-question-title {
        font-size: 14px !important;
    }
}

.searh-accordion input {
    width: 100%;
    max-width: 50%;
    min-height: 50px;
    padding: 10px;
    border: #eee solid 1px;
    font-size: 16px;
    color: #000;
    outline: none;
}

.searh-accordion input:focus-visible {
    outline: none;
    box-shadow: none;
}

.searh-accordion input:focus-visible {
    box-shadow: none;
    border: none;
}

.searh-accordion {
    margin-bottom: 30px;
}

.searh-accordion button {
    background: #01A1FF;
    color: #fff;
    height: 50px;
    width: 125px;
    border: none;
    border-radius: 0 45px 45px 0;
    margin-left: -5px;
    font-size: 16px;
}

.faq-page-title {
    color: #000 !important;
}

.product-regis .group-1 a {
    color: #01a1ff;
    font-size: 14px;
    text-decoration: none;
}

.form-check a {
    color: #01A1FF;
    text-decoration: none;
}

.form-column-checkbox a {
    color: #01A1FF;
    text-decoration: none;
}

.multi-Text-product {
    font-size: 20px;
    font-weight: 600;
    color: #000;
}


@media (min-width: 320px) and (max-width: 767px) {
    .section-template--22875943043377__product-grid-padding ul#product-grid {
        padding: 50px 0;
        margin: 0;
        flex-direction: column;
    }
}

.support-page {
    width: 100%;
    text-align: center;
    position: relative;
    z-index: 1;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.support-page:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-image: url("/cdn/shop/files/support-bgm.png?v=1720003210");
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1;
}

.support-page .page-width .multicolumn-list li {
    border-right: 1px solid #b9b9b9;
}

.support-page .page-width .multicolumn-list li:nth-child(3) {
    border-right: transparent;
}

.support-page .title-wrapper-with-link h2.title.inline-richtext.h1 {
    width: 100%;
    text-align: center;
    font-family: 'Square-regular';
    font-size: 32px;
}

.support-page .page-width p:nth-child(even) {
    font-size: 18px;
    margin-bottom: 50px;
}

.support-page .multicolumn-card__image-wrapper.multicolumn-card__image-wrapper--full-width.multicolumn-card-spacing {
    width: 50px;
    margin: 0 auto;
}

.support-page .multicolumn-card.content-container {
    width: 100%;
    text-align: center;
}

.support-page .multicolumn-card.content-container {
    background: transparent !important;
}

@media (min-width: 320px) and (max-width: 991px) {
    .support-page .page-width .multicolumn-list li {
        border-right: none;
    }
}

.product-detail-page {
    width: 100%;
    position: relative;
    z-index: 1;
    padding-top: 40px;
}

@media (min-width: 1580px) and (max-width: 1920px) {
    .product-detail-page {
        padding: 70px 305px !important;
    }
}

@media (min-width: 1579px) and (max-width: 1760px) {
    .product .MagicToolboxSelectorsContainer {
        width: 586px;
    }
}

@media (min-width: 1025px) and (max-width: 1578px) {
    .product .MagicToolboxSelectorsContainer {
        width: 530px;
    }
}

@media (min-width: 991px) and (max-width: 1024px) {
    .product .MagicToolboxSelectorsContainer {
        width: 486px;
    }

    .product {
        padding-top: 40px !important;
    }
}

.product-detail-page:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-image: url("/cdn/shop/files/product-page-bgm.jpg?v=1720087360");
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1;
}

product-info#MainProduct-template--22875943239985__main {
    padding: 0;
    margin: 0;
}

.product-detail-page .product__info-wrapper p.product__text.inline-richtext.caption-with-letter-spacing {
    display: none;
}

.product-detail-page .product__info-wrapper .product__title h1 {
    font-size: 45px;
    font-family: 'square-regular';
    text-transform: uppercase;
}

.product-detail-page .price__container span.price-item.price-item--regular {
    font-size: 24px;
    font-weight: 500;
}

.product-detail-page #variant-selects-template--22875943239985__main legend.form__label {
    font-size: 20px;
    color: #000;
    margin-bottom: 10px;
}

.product-detail-page .price__container span.price-item.price-item--regular {
    font-size: 24px;
    font-weight: 600;
    font-family: 'Rubik', sans-serif;
}

.product-detail-page .product-form__input--swatch .swatch-input__input+.swatch-input__label {
    width: 18px;
    height: 18px;
    margin: 0 auto;
}

.flex-d-product-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 10px 20px 0 0;
    justify-content: center;
}

.flex-d-product-page p {
    margin: 6px 0 0 0;
    font-weight: 700;
}

.product-detail-page .swatch-input__input:active+.swatch-input__label,
.swatch-input__input:checked+.swatch-input__label {
    padding: 3px;
}

.product-detail-page div#Quantity-Form-template--22875943239985__main {
    display: none;
}

.product-detail-page .wallet-button-fade-in {
    display: none;
}

.product-detail-page button#ProductSubmitButton-template--22875943239985__main {
    width: 100%;
    background: #01A1FF;
    color: #fff;
    font-size: 19px;
    font-family: 'Rubik', sans-serif;
    border-radius: 22px;
}

.product-detail-page button#ProductSubmitButton-template--22875943239985__main:after {
    border: none;
    box-shadow: none;
}

.product-detail-page button#ProductSubmitButton-template--22875943239985__main:before {
    border: none;
    box-shadow: none;
}

.product-page-accordion .accordion h3.accordion__title.inline-richtext.h4 {
    font-size: 32px;
    font-family: 'square-regular';
    text-transform: uppercase;
    padding: 10px 0;
}

.product-page-accordion .accordion summary .icon-caret {
    width: 24px;
    height: 24px;
}

.product-page-accordion .grid__item .accordion .accordion__content {
    display: flex;
    align-items: flex-start;
    transition: all 0.4s ease-in-out;
}

.product-page-accordion .grid__item .accordion .accordion__content p {
    margin: 0;
    padding: 0;
}

.product-page-accordion .grid__item .accordion .accordion__content p:nth-child(1) {
    white-space: nowrap;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 900;
    font-family: square-regular !important;
    color: #000;
    transition: all 0.4s ease-in-out;
}

.product-page-accordion .grid__item .accordion .accordion__content p:nth-child(2) {
    margin-left: 60px;
    transition: all 0.4s ease-in-out;
}

.product-page-accordion .collapsible-content summary:hover {
    background: none;
    transition: all 0.4s ease-in-out;
}

.product-page-accordion .collapsible-content summary:hover .accordion__title {
    text-decoration: none;
    transition: all 0.4s ease-in-out;
}

.product-detail-page .product.product--medium.product--left.product--stacked.product--mobile-hide.grid.grid--1-col.grid--2-col-tablet {
    padding: 60px 0;
}

.product-page-accordion {
    padding-bottom: 70px;
}

.more-produts .page-width {
    width: 100%;
    min-width: 100%;
    padding: 0 30px !important;
    max-width: 100%;
}

.more-produts p:nth-child(even) {
    width: 100%;
    text-align: center;
    margin: 0 0 50px;
    padding: 0;
}

.more-produts .title-wrapper-with-link.title-wrapper--self-padded-mobile.title-wrapper--no-top-margin.multicolumn__title {
    margin-bottom: 20px;
}

.cart-page form#cart {
    width: 100%;
    z-index: 2;
    position: relative;
}

.cart-page form div#main-cart-items {
    border-bottom: none;
}

.cart-footer .cart__footer .cart__blocks {
    background: #fff;
    box-shadow: 0 7px 29px #64646f33;
}

.cart-footer .cart__footer .cart__blocks {
    background: #F7F7F7;
    padding: 40px;
}

share-button#Share-template--22875943239985__main {
    display: none;
}

cart-items.gradient.color-scheme-1.isolate.section-template--22875943010609__cart-items-padding {
    position: relative;
    z-index: 1;
}

.cart-footer .cart__blocks {
    width: 55rem;
}

.cart__ctas button {
    width: 100%;
    min-width: 100%;
    margin-bottom: 8px;
}

.cart__dynamic-checkout-buttons.additional-checkout-buttons {
    width: 100%;
    max-width: 100%;
}

ul.p28_J2fRvZNDqyZkZ2H9 {
    justify-content: center;
}

.cart-footer .totals {
    justify-content: space-between;
}

.cart-footer .buckscc-currency-box {
    border-left: none;
}

.cart-footer .cart__blocks {
    width: 100%;
}

.button:after,
.shopify-challenge__button:after,
.customer button:after,
.shopify-payment-button__button--unbranded:after {
    box-shadow: none !important;
}

.footer__column.footer__localization.isolate {
    display: none;
}

.buckscc-currency-box {
    margin-left: 20px;
    border-right: 2px solid #d9d9d9;
    padding-left: 7px;
    z-index: 1;
    margin-right: 13px;
}

footer .footer__payment ul.list.list-payment {
    justify-content: flex-start;
    padding: 0;
    margin-top: 15px;
}

.payment-h2 h2 {
    margin-top: 0;
    margin-bottom: 10px;
    font-family: 'Rubik', sans-serif;
    font-weight: 500;
    font-size: 17px;
}

.payment-social-media a svg {
    width: 20px;
    height: 20px;
}

.payment-social-media {
    display: flex;
    gap: 10px;
}

.payment-flex {
    display: flex;
    gap: 10px;
    border-bottom: 1px solid #d9d9d9;
    padding-bottom: 12px;
}

.footer-block__details-content p {
    padding: 0;
    margin: 0;
}

.login-boomer {
    width: 100%;
    position: relative;
    z-index: 1;
}

.login-boomer.customer:not(.account):not(.order) {
    max-width: 100%;
    /* padding: 80px 40%; */
    padding: 80px 30%;
}

.login-boomer:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-image: url("/cdn/shop/files/support-bgm.png?v=1720003210");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
}

.globo-form-app {
    box-shadow: 0 7px 29px #64646f33 !important;
    min-width: 48%;
    width: 100%;
    border-radius: 12px !important;
}

.globo-form-app button.action.next.submit.classic-button.wizard__submit {
    background: #01A1FF;
    border: none;
    font-size: 16px;
    border-radius: 45px;
    margin: 20px auto 0;
    text-align: center;
    width: 100%;
    max-width: 120px;
    display: flex;
    justify-content: center;
}

.globo-form-app label span.label-content {
    font-size: 16px;
    padding-bottom: 10px;
}

.globo-form-app .globo-form-control input,
.globo-form-control textarea,
.globo-form-control select {
    background: transparent;
    border: #b9b9b9 solid 1px;
    box-shadow: none;
    margin-top: 10px;
    min-height: 45px;
}

.globo-form-app.boxed-layout .g-container {
    z-index: 1;
    position: relative;
}

.shopify-challenge__container .g-recaptcha {
    margin-bottom: 22px;
}

.faq-yanet-main .faq-question-title {
    color: #000 !important;
    background-color: transparent !important;
    border-bottom: 1px solid #d9d9d9;
}

.faq-yanet-main .faq-main-content .faq-question-title svg {
    fill: #000 !important;
}

.root-faq-template .yanet-logo {
    display: none !important;
}

@media (min-width: 768px) and (max-width: 991px) {
    .login-boomer.customer:not(.account):not(.order) {
        max-width: 100%;
        padding: 80px 10%;
    }
}

@media (min-width: 320px) and (max-width: 767px) {
    .login-boomer.customer:not(.account):not(.order) {
        max-width: 100%;
        padding: 80px 10%;
    }

    .faq .accordion h3.accordion__title.inline-richtext.h4 {
        font-size: 18px;
    }

    .faq {
        padding: 0 0;
    }

    .contact-page .contact.page-width {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }

    .support-page {
        padding: 30px 0;
    }
}

@media (min-width: 320px) and (max-width: 991px) {
    footer .footer__content-bottom-wrapper {
        padding: 0 !important;
    }
}

@media (min-width: 1320px) and (max-width: 1540px) {
    .more-produts .media.media--transparent.media--adapt {
        width: 230px;
        height: 280px;
    }

    .more-produts .multicolumn-card.content-container {
        min-height: 350px;
    }

    .more-produts .multicolumn-card__info {
        align-items: flex-start;
        justify-content: flex-start;
    }

    .more-produts .multicolumn-card__info h3.inline-richtext {
        font-size: 20px;
        text-transform: uppercase;
    }

    .banner-slideshow .slider.slider--everywhere .slider__slide {
        padding: 50px 0;
    }

    .banner-slideshow .slideshow__text h2.banner__heading.inline-richtext.h1 {
        font-size: 50px;
    }

    .banner-slideshow .slideshow__controls.slider-buttons.slideshow__controls--border-radius-mobile {
        left: 47%;
        top: 61%;
    }

    #gallery .page-width {
        padding-bottom: 0;
    }

    .about-page .image-with-text__grid.grid {
        align-items: normal;
    }
}

@media (min-width: 1490px) and (max-width: 1920px) {
    .product-page-accordion .collapsible-content-wrapper-narrow.page-width {
        width: 100%;
        min-width: 100%;
        padding: 0 225px;
    }

    .faq .collapsible-content-wrapper-narrow.page-width {
        width: 100%;
        min-width: 100%;
        padding: 0 225px;
    }
}

@media (min-width: 1024px) and (max-width: 1489px) {
    .product-page-accordion .collapsible-content-wrapper-narrow.page-width {
        width: 100%;
        min-width: 100%;
        padding: 0 10rem;
    }

    .faq .collapsible-content-wrapper-narrow.page-width {
        width: 100%;
        min-width: 100%;
        padding: 0 10rem;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .product-page-accordion .collapsible-content-wrapper-narrow.page-width {
        width: 100%;
        min-width: 100%;
        padding: 0 5rem;
    }

    .faq .collapsible-content-wrapper-narrow.page-width {
        width: 100%;
        min-width: 100%;
        padding: 0 5rem;
    }
}

@media (min-width: 320px) and (max-width: 1024px) {
    .about-page .image-with-text__grid.grid {
        flex-direction: column;
    }

    .color_variation a {
        align-items: flex-start;
    }
}

.product-detail-page-link {
    background: #01A1FF;
    padding: 7px 20px;
    border-radius: 45px;
    color: #fff;
    font-family: 'Rubik', sans-serif;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .search-modal__form {
        width: 90%;
    }
}

.product-detail-page .MagicToolboxSlides a#m360CrA1379648716749 {
    color: #F7F7F7 !important;
}

.search-page button {
    background: transparent !important;
    color: #b9b9b9 !important;
}

@media (min-width: 1025px) and (max-width: 1920px) {
    h1.header__heading {
         /* width: 273px; */
        width: 120px;  
    }
}

@media (min-width: 890px) and (max-width: 1024px) {
    h1.header__heading {
      width: 100%;
      /* max-width: 170px;  */
      max-width: 80px;
    }
    /* .header--middle-left .header__heading-link, .header--top-left .header__heading-link {
        width: 100px;
    } */
}

.cart-count-bubble {
    top: 3px;
}

.header__icon:not(.header__icon--summary),
.header__icon span {
    padding: 0;
    margin: 0;
    width: auto;
}

details:hover .mega-menu[open] .mega-menu__content {
    opacity: 1;
    transform: translateY(0);
}

a#HeaderMenu-link-support {
    text-decoration: none;
}

svg.icon-svg {
    width: 25px;
    height: 30px;
}

.support-page .multicolumn-card__info h3 {
    font-family: 'Rubik', sans-serif;
    margin: 0;
}

.support-page .multicolumn-card__info {
    padding-top: 10px;
}

.support-page .multicolumn-card__info .rte {
    margin: 0;
}

.template-search facet-filters-form.facets.small-hide {
    display: none;
}

.template-search__header h1.h2.center {
    font-family: 'square-regular';
    font-size: 52px;
    text-transform: uppercase;
    font-weight: 700;
}

h1#login {
    text-transform: uppercase;
}

.customer h1 {
    text-transform: uppercase;
}

.globo-form-app .message.success .gfb__content-title {
    margin-bottom: 0 !important;
}

.cart-page h1.title.title--primary {
    text-transform: uppercase;
}

svg.modal__toggle-open.icon.icon-search {
    width: 25px;
    height: 25px;
    position: relative;
    top: -2px;
    left: -2px;
}

footer a.link.link--text.list-menu__item.list-menu__item--link.list-menu__item--active {
    color: #01a1ff;
}

a#HeaderMenu-link-support:hover {
    color: #01A1FF;
}

a#HeaderMenu-link-support {
    text-decoration: none;
    color: rgb(18, 18, 18, 0.75);
}

.buckscc-currency-box .buckscc-select-styled {
    background: transparent !important;
}

.met-boomer-sec .fade .item img {
    width: 580px;
    height: 550px;
    object-fit: contain;
    position: relative;
    right: 20px;
    top: 30px;
}

.faq-header-2 .faq-page-title {
    font-family: 'square-regular' !important;
    font-size: 52px !important;
}

.faq-header-2 .faq-intro-text {
    display: none;
}

.root-faq-template .category-yanet-main {
    display: none;
}

.root-faq-template div#Uncategorized {
    display: none;
}

.root-faq-template .listed-faq {
    user-select: auto;
    overflow-wrap: break-word;
    padding-right: 16px;
    word-break: break-word;
    font-family: square-regular;
}

@media (min-width: 1024px) and (max-width: 1920px) {
}

@media (min-width: 1320px) and (max-width: 1580px) {

}

@media (min-width: 1320px) and (max-width: 1367px) {

}

@media (min-width: 1025px) and (max-width: 1320px) {
}


.homepage-fade-slider .slider {
    width: 100%;
}

.homepage-fade-slider .slick-slide {
    margin: 0 0;
}

.homepage-fade-slider .slick-slide img {
    width: 100%;
    min-height: 650px;
}

@media (min-width: 1024px) and (max-width: 1680px) {
    .homepage-fade-slider .slick-slide img {
        width: 100%;
        min-height: 530px;
    }
}

@media (min-width: 991px) and (max-width: 1023px) {
    .homepage-fade-slider .slick-slide img {
        width: 100%;
        min-height: 450px;
    }

}

@media (min-width: 767px) and (max-width: 990px) {

    .homepage-fade-slider .slick-slide img {
        width: 100%;
        min-height: 350px;
    }

}

.homepage-fade-slider .slick-slide {
    transition: all 0.3s ease-in-out;
    opacity: 0.2;
}

.homepage-fade-slider .slick-next {
    display: none !important;
}

.homepage-fade-slider .slick-dots li button {
    width: 12px;  /* This is the colored area */
    height: 12px; /* This is the colored area */
    padding: 5px; /* This padding is inside the button, around the 10x10 colored area */
    border-radius: 50%;
    display: block; /* Good for predictable sizing */
    box-sizing: border-box; /* Crucial for consistent size calculation */
    border: none; /* Explicitly ensure no border on the button itself */
    outline: none; /* Ensure no outline interference */
}

.homepage-fade-slider .slick-dots {
    position: relative;
    bottom: 2px; /* Try this value and adjust up or down in small increments */
    left: 0;
    height: 35px;
    list-style: none;
    text-align: center; /* Keep this if you have it or want dots centered */
    padding: 0; /* Ensure no default padding is interfering with positioning */
}


.homepage-fade-slider .slick-dotted.slick-slider {
    margin-bottom: -8px;
}

/* === DEFINITIVE, STABLE & POLISHED DOT STYLES === */

/* The main container for the dots */
.homepage-fade-slider .my-custom-dots {
  margin: 20px 0 25px 0;
  padding: 0;
  list-style: none;
  line-height: 0;
  text-align: center;
  width: 100%;
}

/* The container for each dot */
.homepage-fade-slider .my-custom-dots li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  margin: 0 4px;
  padding: 0;
  /* Sizing for a tighter circle */
  width: 16px; 
  height: 16px;
  box-sizing: border-box;
  /* ✅ FIX: A fast, snappy transition for a responsive feel */
  transition: transform 0.15s ease-in-out, outline-color 0.15s ease-in-out, background-color 0.2s ease-in-out;
  outline: 1px solid transparent;
  outline-offset: 2px;
  border: none;
  cursor: pointer;
}

/* The inner colored button */
.homepage-fade-slider .my-custom-dots li button {
  width: 14px; /* Dots are ~15% bigger */
  height: 14px;
  border-radius: 50%;
  display: block;
  border: none;
  cursor: pointer;
  /* ✅ FIX: Fast transition for the shrink effect */
  transition: transform 0.15s ease-in-out;
}

/* Hover effect for UNSELECTED dots */
.homepage-fade-slider .my-custom-dots li:not(.slick-active):hover {
  background-color: #f0f0f0; /* The grey circle hover */
  transform: scale(1.1);
}

/* The active dot's LI container (the outer circle) */
.homepage-fade-slider .my-custom-dots li.slick-active {
  transform: scale(1.1);
  outline-color: #000;
  background-color: transparent !important; /* Prevents grey hover on active dot */
}

/* Hover effect for the CURRENTLY SELECTED dot */
.homepage-fade-slider .my-custom-dots li.slick-active:hover {
  outline-color: #aaaaaa; /* Black ring becomes grey on hover */
}

/* Shrinks the inner colored dot when its LI is active */
.homepage-fade-slider .my-custom-dots li.slick-active button {
  transform: scale(0.85);
}

/* Dot Colors */
.my-custom-dots li:nth-child(1) button { background: #F9DEB9; }
.my-custom-dots li:nth-child(2) button { background: #9F2624; }
.my-custom-dots li:nth-child(3) button { background: #FFCA6E; }
.my-custom-dots li:nth-child(4) button { background: #00B140; }
.my-custom-dots li:nth-child(5) button { background: #0047BB; }
.my-custom-dots li:nth-child(6) button { background: #25282B; }
    /* padding: 4px; is now inherited from the general li rule */
    /* border-radius: 50%; is now inherited */
    /* margin-right: 6px; /* CAUTION: This different margin WILL still cause a 1px shift. */
                            /* For perfect smoothness, make margins consistent. For example, remove this line */
                            /* OR adjust the general .homepage-fade-slider .slick-dots li margin. */
                            /* For now, let's leave it to see the main fix, then refine margin if needed. */
}

div#shopify-section-template--22910572364081__closeby_locator_WACYPR {
    width: 100%;
    background-image: url(/cdn/shop/files/product-page-bgm.jpg?v=1720087360);
    height: 100%;
    background-size: cover;
    margin-bottom: 10px;
    padding: 60px 0;
}

.section-template--22977880621361__custom_liquid_cT9ENY-padding {
    width: 100%;
    height: 100%;
    background-image: url(/cdn/shop/files/shop-page-bgm.jpg?v=1720071678);
    background-repeat: no-repeat;
    background-size: cover;
}

.section-template--22910568268081__image_with_text_AxAnAV-padding.gradient.color-scheme-1.about-page {
    width: 100%;
    background-image: url(/cdn/shop/files/shop-page-bgm.jpg?v=1720071678);
    background-size: cover;
    background-repeat: no-repeat;
    height: 100%;
}

.mfp-content .mfp-figure {
    position: relative;
}

.gallery-inner-content {
    position: absolute;
    top: -138px;
    left: 4px;
    background: rgb(0, 0, 0, 0.50);
    width: 100%;
    padding: 30px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.gallery-inner-content .mfp-title {
    font-size: 24px;
    font-weight: 700;
    padding-bottom: 8px;
    font-family: 'square-regular';
    text-transform: uppercase;
}

.gallery-inner-content .mfp-description {
    width: 80%;
    line-height: 24px;
}

.gallery-inner-content .mfp-credit {
    font-weight: 600;
    font-size: 18px;
    position: relative;
    width: 20%;
    text-align: start;
    right: -40px;
}

.gallery-inner-content .mfp-credit:before {
    position: absolute;
    content: "Photo-Credit:";
    left: -130px;
    font-weight: 500;
    text-transform: uppercase;
}

@media (min-width: 320px) and (max-width: 1024px) {
    .gallery-inner-content .mfp-title {
      font-size: 24px;
      line-height: 32px;
    }
    .mfp-content {
      position: fixed;
      top: -40px;
      left: 0;
    }
    .gallery-inner-content .mfp-description {
      width: 100%;
    }
    .gallery-inner-content .mfp-credit {
      font-size: 18px;
      width: 100%;
      text-align: start;
      right: 0px;
    }
    .gallery-inner-content {
        align-items: flex-start;
        flex-direction: column;
    }

    .gallery-inner-content .mfp-credit {
        left: 120px;
        top: 7px;
    }

    #gallery .page-width {
        padding-bottom: 0;
    }
}

.field:hover.field:after {
    border-radius: 0 7px 7px 0;
}

.support-page .multicolumn-card__info a {
    background: #01A1FF;
    color: #fff;
    padding: 8px 20px;
    border-radius: 45px;
    margin-right: 0;
    padding-right: 10px;
    font-family: 'Rubik', sans-serif;
    font-size: 16px;
}

.support-page .multicolumn-card__info .icon-wrap svg.icon.icon-arrow {
    display: none;
}

@media screen and (min-width: 768px) {
    .banner,
    slideshow-component {
        display: none;
    }

    a#cart-icon-bubble {
        position: relative;
        top: 0px;
    }

    .hxoSelectTheme .buckscc-select span {
        align-self: center;
        font-size: 14px;
        margin: 0 4px 0 6px;
        font-weight: 900;
    }

    .create-account-password {
        margin-top: -10px;
    }

    span.footer-get-touch {
        display: flex;
    }

    .footer-get-touch p a {
        margin-left: 10px !important;
        padding: 0;
        margin-top: 0 !important;
    }

    .footer-get-touch svg {
        position: relative;
        top: 3px;
    }

    .about-page .image-with-text__content {
        padding: 0 50px;
    }
}

@media (min-width: 1024px) and (max-width: 1680px) {
    #gallery .page-width {
        padding-bottom: 0;
    }
}

.buckscc-currency-box .hxoSelectTheme.hxoFlag-circle .buckscc-select .hxoFlag {
    background-position-x: -4px !important;
    background-size: 28px !important;
    border-radius: 50px;
    height: 18px !important;
    min-width: 20px !important;
    width: 20px !important;
}


@media (min-width: 1240px) and (max-width: 1920px) {
    a.header__heading-link.link.link--text.focus-inset {
        width: 249px;
    }
}

.footer .footer__blocks-wrapper {
    display: flex;
    gap: 0;
}

@media (max-width: 1024px) {
    body .footer .footer__blocks-wrapper {
        flex-direction: column;
    }

    body .footer .footer-block.grid__item.scroll-trigger.animate--slide-in {
        width: 100%;
        flex-direction: column;
    }

    body .footer-block.grid__item.footer-block--menu.scroll-trigger.animate--slide-in:nth-child(2) {
        padding-left: 0;
    }

    body .footer-block.grid__item.footer-block--menu.scroll-trigger.animate--slide-in:nth-child(3) {
        padding-left: 0;
    }

    body .footer-block.grid__item.footer-block--menu.scroll-trigger.animate--slide-in:nth-child(4) {
        padding-left: 0;
    }

    body .newsletter-form {
        max-width: 100%;
    }

    body .newsletter-form__field-wrapper {
        max-width: 100%;
    }

    body footer .footer-block__image-wrapper {
        margin: 0 auto 30px;
    }
}

.footer .footer-block.grid__item.scroll-trigger.animate--slide-in {
    width: 17%;
    display: flex;
    flex-direction: column;
}

.footer-block.grid__item.footer-block--menu.scroll-trigger.animate--slide-in:nth-child(2) {
    padding-left: 90px;
}

.footer-block.grid__item.footer-block--menu.scroll-trigger.animate--slide-in:nth-child(3) {
    padding-left: 40px;
}

.footer-block.grid__item.footer-block--menu.scroll-trigger.animate--slide-in:nth-child(4) {
    padding-left: 40px;
}

.terms_condition_section .rich-text__blocks.left {
    width: 100%;
    min-width: 100%;
}

.announcement-bar__message {
    color: #fff;
    font-family: 'Rubik', sans-serif;
}



.more-produts .card-information>*:not(.visually-hidden:first-child)+*:not(.rating):not(.card__information-volume-pricing-note) {
    margin-top: 1.7rem;
}

.faq-footer-text {
    margin-top: 0 !important;
    position: relative;
    top: -40px;
}

/* .okboomer_light-box.free-gift-lightbox-div.show-popup {
    position: relative;
} */

.okboomer_light-box-inner {
    position: fixed;
    top: 0;
    width: 100%;
    min-height: 100vh;
    background: #fff;
    z-index: 1049;
    overflow-y: auto;
}

.okboomer_light-box-inner button.close-popup-button {
    position: absolute;
    right: 20px;
    top: 20px;
    background: #000;
    padding: 10px 15px;
    border-radius: 5px;
}

.okboomer_light-box-inner button.close-popup-button svg {
    fill: #fff;
}

.okboomer_light-box .slick-slider img {
    width: 100%;
    max-height: 380px;
    object-fit: contain;
    border: 1px solid #eee;
}

.learn_more_details ul {
    padding: 0;
    list-style: none;
}

.learn_more_details ul li {
    padding: 0 20px;
    position: relative;
}

.learn_more_details ul li:before {
    position: absolute;
    content: '';
    list-style: circle;
    width: 6px;
    height: 6px;
    left: 1px;
    top: 11px;
    border: #000 solid 1px;
    border-radius: 100%;
}

#shopify-section-template--23746465038641__main {
    background: white !important;
}

.collection .card-information p {
    width: 100%;
    padding: 0 40px;
    text-align: center;
    word-break: break-word;
}

.policies-page {
    padding-bottom: 20px;
}

.heading-product-rgistration {
    width: 100%;
    text-align: center;
}

.heading-product-rgistration h4 {
    font-size: 40px;
    margin: 0;
}

.about-page img {
    width: 100%;
}

section#shopify-section-template--23746464907569__main .page-width {
    width: 100%;
    background: #EBEBEB;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}
section#shopify-section-template--23746465071409__custom_liquid_cT9ENY .heading-product-rgistration{
    width: 100%;
    background: #EBEBEB;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}

section#shopify-section-template--23746464940337__main .page-width{
    width: 100%;
    background: #EBEBEB;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}

section#shopify-section-template--23746464776497__main .page-width {
    width: 100%;
    background: #EBEBEB;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}
section#shopify-section-template--23746465104177__main .page-width{
    width: 100%;
    background: #EBEBEB;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}
section#shopify-section-template--23746465005873__main .page-width {
    width: 100%;
    background: #ebebeb;
    min-width: 100%;
    min-height: 190px;
    display: flex;
    justify-content: center;
    align-items: center;
}

section#shopify-section-template--23746465038641__main h1 {
    width: 100%;
    background: #EBEBEB;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
}

section#shopify-section-template--23746465038641__main h1:after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    min-height: 150px;
    background: #EBEBEB;
    left: -100px;
    z-index: -1;
}

section#shopify-section-template--23746465038641__main h1:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    min-height: 150px;
    background: #EBEBEB;
    right: -100px;
    z-index: -1;
}

.mfp-figure button.mfp-close {
    background: #fff;
    width: 24px;
    height: 24px;
    padding: 19px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    position: absolute;
}
/* .cart-item cart-remove-button {
  margin: 0rem 0 0 1.5rem !important;
  position: relative;
  top: -5px;
}
.page-width.cart-page a.button {
  min-height: auto;
} */

@media (max-width: 991px) {
    body .image-with-text__content {
        padding: 20px 0;
    }

    .collection .card-information p {
        width: 100%;
        text-align: center;
        padding: 0 10px;
    }

    body .collection .card-information {
        width: 100%;
        text-align: center;
    }
}

@media screen and (min-width: 768px) {
    .faq-page .content-for-layout .shopify-section:first-child {
        padding-bottom: 80px;
        background: #ebebeb;
    }

    /* --- FAQ Page: Correct Search Bar Positioning --- */
.faq-page .form-group.searh-accordion {
    /* Resets the old positioning, placing it back in the natural flow */
    position: static; 
    top: auto;
    
    /* Center the search bar and control its size */
    width: 100%;
    max-width: 600px; /* You can adjust this value */
    margin: 0 auto;   /* This centers the element horizontally */

    /* Control the spacing around it */
    padding-top: 40px;    /* Space between the title banner and search bar */
    padding-bottom: 50px; /* Space between the search bar and the FAQ list */

    /* Remove old background styling */
    background: transparent;
}
}

 /* .contact-page .shopify-section.section:nth-child(2):before {
    position: absolute;
    content: '';
    background-image: url("/cdn/shop/files/contact-background.jpg?v=1734075229");
    width: 100%;
    height: 100%;
    left: 0;
    background-size: contain;
    background-repeat: no-repeat;
    max-height: 680px;
    background-position: center center;
    bottom: -40px;
}  */

.product-description_section {
    font-size: 24px;
    margin-top: 50px !important;
    margin-bottom: 0;
    border-bottom: 1px solid #b7b7b7b7;
    padding-bottom: 20px;
}

.product-tabs {
    margin-top: 50px;
}

.tabs-nav {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    border-bottom: 1px solid #ddd;
}

.tabs-nav .tab-link {
    padding: 10px 20px;
    cursor: pointer;
    border: #ddd solid 1px;
    border-bottom: none;
    margin-right: 10px;
}

.tabs-nav .tab-link.active {
    background-color: #f9f9f9;
    font-weight: bold;
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.variant-description {
    margin-top: 10px;
    font-size: 14px;
    color: #555;
}

.variant_with_text {
    position: absolute;
    display: flex;
    top: 40px;
    gap: 10px;
}

.variant_with_text p {
    width: 28px;
    height: 28px;
    display: block;
    margin: 0 7px;
}

.corner_protectors_section {
    width: 100%;
    border-top: 1px solid #bcbcbc;
    padding: 10px 0 0;
}

.corner_protectors_section h4 {
    margin: 0;
}

.corner_protectors_section:nth-child(even) {
    margin: 0 !important;
    padding-top: 20px;
}

.corner_protectors_section:nth-child(2) p {
    padding-top: 10px !important;
}

.okboomer_product .okboomer_light-box .slick-slider img {
    width: 100%;
    max-height: 340px;
    object-fit: contain;
}

.image_product_page_section {
    width: 100%;
    margin: 100px auto;
    text-align: center;
    position: relative;
    max-width: 330px;
    max-height: 746px;
}

.image_product_page_section img {
    width: 100%;
    max-width: 330px;
    margin: 0 auto;
}

.image_product_content_section {
    position: absolute;
    top: 41%;
    left: 34px;
    right: auto;
    width: calc(100% - 67px);
    background: #d2d6d9;
    padding: 10px;
    border-radius: 0 0 15px 15px;
}

.image_product_content_section h4 {
    font-size: 45px;
    margin: 0;
}

.image_product_content_section h5 {
    font-size: 22px;
    margin: 0;
}

.image_product_content_section h6 {
    font-size: 17px;
    margin: 0;
}

.learn_more_details {
    width: 100%;
    max-width: 780px;
    background: #f7f7f7;
    padding: 50px;
    margin: 0 auto;
}

.button-close button {
    background: #000;
    color: #fff;
    padding: 10px 20px;
    border: none;
    transition: all 0.4s ease-in-out;
}

.button-close button.no-opacity {
    background: #000;
    opacity: 0.25;
    transition: all 0.4s ease-in-out;
}

.button-close button.no-opacity:hover {
    background: #000;
    opacity: 100%;
    transition: all 0.4s ease-in-out;
}

.learn_more_details h4 {
    font-size: 18px;
    margin-bottom: 0;
    font-family: rubik, sans-serif;
    font-size: 600;
}

.more_actions {
    margin-bottom: 10px;
}

.okboomer_t {
    border: #ccc solid 1px;
    padding: 5px;
    margin: 5% 0;
    transition: 0.5s;
}

.okboomer_t:hover {
    transition: 0.5s;
}

.table_details {
    margin: 0 auto;
}

.table_details table.table {
    width: 100%;
    min-width: 1000px;
    margin: 0 auto;
}

.table_details .table tr,
th,
td {
    border: #b9b9b9 solid 1px;
    padding: 10px;
}

.table_details .table tbody tr:nth-child(even) {
    background: #eee;
}

.table_details h4 {
    background: #eee;
    margin: 0;
    padding: 12px;
    text-align: center;
}

button#ProductSubmitButton-template--23746465202481__main {
    width: 100%;
    background: #01A1FF;
    color: #fff;
    font-size: 19px;
    font-family: 'Rubik', sans-serif;
    border-radius: 22px;
}

.banner-content p:nth-child(3) {
    font-weight: 600;
}

.portfolio_page_images a:hover img {
    transform: scale(1.1);
    transition: all 0.4s ease-in-out;
}

.image.portfolio_img a {
    max-height: 250px;
    display: block;
    overflow: hidden;
    width: 100%;
    transition: all 0.4s ease-in-out;
}

/* This rule now styles both the custom OK Boomer button AND all other standard
   Add to Cart buttons for a consistent look. */
button#open-lightbox-learn-more,
.product-form__submit[name="add"] {
    background: #01a1ff !important;
    color: #fff !important;
    font-family: 'Rubik', sans-serif !important;
    font-size: 18px !important;
    font-weight: 50 !important;
    border-radius: 75px !important;
    border: none !important;
    padding: 14px 30px !important;
    line-height: 1.3 !important;
    min-height: 52px !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative; /* Add position relative */
}

.okboomer_light-box section.fade.slider.slick-initialized.slick-slider.slick-dotted {
    transform: translate(0%, 10%);
}

button#open-lightbox-custom-engraving {
    background: #000;
    color: #fff;
    font-size: 16px;
    border-radius: 75px;
}
@media screen and (min-width: 990px) {
  .cart__warnings {
      padding: 7rem 0 5rem !important;
  }
}
@media (max-width: 1024px) {
    .okboomer_light-box .image-with-text__grid.grid.grid--gapless.grid--1-col.grid--2-col-tablet {
      flex-direction: column;
    }
    .okboomer_light-box .image-with-text__media-item.image-with-text__media-item--medium.image-with-text__media-item--top.grid__item {
      max-height: 100%;
      width: 100%;
    }
    .okboomer_light-box .image-with-text__text-item.grid__item {
      width: 100%;
    }
    .gallery-inner-content {
      top: -168px;
    }
    .tabs-nav {
      overflow-y: auto;
    }
    .tabs-nav .tab-link {
      white-space: nowrap;
    }
    .flex-d-product-page {
      margin: 10px 10px 0 0;
    }
    .okboomer_light-box-inner {
        position: fixed;
        top: 0;
        background: #fff;
        z-index: 1049;
        min-height: 100vh;
    }

    /* .contact-page .shopify-section.section:nth-child(2):before {
        display: none;
    } */

    .okboomer_light-box .slick-slide img {
        width: 100%;
        height: 100%;
    }

    .more-produts .card-information {
        width: 100%;
        text-align: center;
    }

}
@media(max-width: 991px){
    body section#shopify-section-template--23746465038641__main h1:before {
      right: 87px;
    }
    body section#shopify-section-template--23746465038641__main h1:after {
      left: 87px;
    }
    body .custom-builds-lightbox-div .section-template--23746464710961__lightbox_image_with_text_BhUqaV-padding.gradient.color-scheme-1, .customer-support-lightbox-div .section-template--23746464710961__lightbox_image_with_text_wb7NbL-padding.gradient.color-scheme-1 {
      display: block !important;
    }
    body .okboomer_light-box.free-gift-lightbox-div .image-with-text.image-with-text--no-overlap.isolate.scroll-trigger.animate--slide-in {
      min-height: auto;
      display: block;
    }
    body .custom-builds-lightbox-div .section-template--23746464710961__lightbox_image_with_text_BhUqaV-padding.gradient.color-scheme-1, .customer-support-lightbox-div .section-template--23746464710961__lightbox_image_with_text_wb7NbL-padding.gradient.color-scheme-1 {
      display: block;
    }
    body .warranty-lightbox-div .section-template--23746464710961__lightbox_image_with_text_8exgxG-padding.gradient.color-scheme-1 {
      display: block;
    }
    body .okboomer_light-box .image-with-text.image-with-text--no-overlap.isolate.scroll-trigger.animate--slide-in {
        margin-top: 80px;
      }
    body .custom-builds-lightbox-div .section-template--23746464710961__lightbox_image_with_text_BhUqaV-padding.gradient.color-scheme-1, .customer-support-lightbox-div .section-template--23746464710961__lightbox_image_with_text_wb7NbL-padding.gradient.color-scheme-1 {
     display: block;
    }
    .custom-builds-lightbox-div .section-template--23746464710961__lightbox_image_with_text_BhUqaV-padding.gradient.color-scheme-1, .customer-support-lightbox-div .section-template--23746464710961__lightbox_image_with_text_wb7NbL-padding.gradient.color-scheme-1 {
      flex-direction: column;
    }
    body .okboomer_light-box.free-gift-lightbox-div .image-with-text__text-item.grid__item {
      margin-top: 30px;
    }
    body .okboomer_light-box.free-gift-lightbox-div .image-with-text__grid.grid.grid--gapless.grid--1-col.grid--2-col-tablet {
      margin-top: 70px;
    }
    body .okboomer_light-box section.fade.slider.slick-initialized.slick-slider.slick-dotted {
      transform: translateY(0);
    }
}
@media (max-width: 768px) {
  .terms-conditions nav.breadcrumb {
    top: 190px;
    padding-left: 10px!important;
  }
  .warranty nav.breadcrumb {
    top: 190px;
    padding-left: 10px!important;
  }
  .returns-refunds nav.breadcrumb {
    top: 190px;
    padding-left: 10px!important;
  }
  .custom-engraving-policy nav.breadcrumb {
    top: 190px;
    padding-left: 10px!important;
  }
  .modifications-and-cancellations-policy nav.breadcrumb {
    top: 190px;
    padding-left: 10px!important;
  }
  .digital-gift-card-policy nav.breadcrumb {
    top: 190px;
    padding-left: 10px!important;
  }
  .privacy-policy nav.breadcrumb {
    top: 190px;
    padding-left: 10px!important;
  }
  body section#shopify-section-template--23746465038641__main h1:after {
    left: 7px;
  }
  body section#shopify-section-template--23746465038641__main h1:before {
    right: 7px;
  }
    body .gallery-inner-content {
      top: -258px;
    }
}  
@media (max-width: 380px) {
    body .product .MagicToolboxSelectorsContainer {
        width: 330px !important;
    }
}

@media (min-width: 1025px) and (max-width: 1579px) {
    #gallery div#grouped-images-2 {
        gap: 25px;
    }
}

@media (min-width: 646px) and (max-width: 991px) {
    #gallery div#grouped-images-2 {
        gap: 12px;
    }
}

.corner_protectors_section p {
    font-size: 14px;
    margin: 0;
}
.temporary_text {
    /* position: absolute; */   /* Good, commented out for now */
    /* bottom: 20px; */         /* Good, commented out for now */
    margin: 0 auto;             /* This was in your version - good for centering block if width isn't 100% */
    text-align: center;         /* This will center the text *inside* the div */
    width: 100%;                /* Makes the div take full available width */
    /* transform: translateY(-45px); */ /* Good, commented out for now */
    background-color: lightblue; /* Excellent for making it visible for testing */
    padding: 10px 0;            /* My suggestion: Add some padding for visibility */
    color: black;               /* My suggestion: Ensure text is visible */
    z-index: 10;                /* My suggestion: Bring it to the front */
}
.temporary_text p {
    margin: 0;
    font-weight: 600;
    font-size: 18px;
    color: #000;
}
.gallery-sub-heading h4 {
    font-family: Rubik,sans-serif;
    font-size: 18px;
    text-align: center;
    margin: 0 0 40px;
}
.okboomer_light-box.free-gift-lightbox-div .image-with-text.image-with-text--no-overlap.isolate.scroll-trigger.animate--slide-in {
    width: 100%;
    min-height: calc(100vh - 190px);
    display: flex;
    align-items: center;
    justify-content: center;
}
.okboomer_light-box.free-gift-lightbox-div .image-with-text__media-item.image-with-text__media-item--medium.image-with-text__media-item--top.grid__item {
    max-height: 350px;
}
.okboomer_light-box .global-media-settings{
  border: none;
}
.okboomer_light-box.free-gift-lightbox-div section.fade.slider.slick-initialized.slick-slider.slick-dotted {
  height: auto;
}
.custom-builds-lightbox-div .section-template--23746464710961__lightbox_image_with_text_BhUqaV-padding.gradient.color-scheme-1 {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.customer-support-lightbox-div .section-template--23746464710961__lightbox_image_with_text_wb7NbL-padding.gradient.color-scheme-1 {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.customer-support-lightbox-div .slick-slider img {
    object-fit: cover;
    min-width: 100%;
    max-width: 100%;
}
.warranty-lightbox-div .section-template--23746464710961__lightbox_image_with_text_8exgxG-padding.gradient.color-scheme-1 {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.okboomer_light-box .image-with-text__text p a {
  transition: all 0.4s ease-in-out;
}
.okboomer_light-box .image-with-text__text p a:hover {
  color: #01a1ff;
  transition: all 0.4s ease-in-out;
}
select#select-gift-card-design {
    min-height: 35px;
    padding: 5px;
    outline: none;
    box-shadow: none;
}
.okboomer_light-box.custom-builds-lightbox-div section.fade.slider.slick-initialized.slick-slider.slick-dotted {
    transform: translateY(0);
}
.okboomer_light-box.custom-builds-lightbox-div .image-with-text__media--placeholder.image-with-text__media--adapt {
    height: 80rem;
}
.okboomer_light-box.custom-builds-lightbox-div .slick-slider img {
    width: 100%;
    max-height: min-content;
    object-fit: contain;
    border: 1px solid #eee;
}
a.button.shop-now-button-products {
    color: #fff;
    display: flex;
    margin: 0 auto;
    width: 100%;
    max-width: 175px;
    border-radius: 75px;
    font-size: 16px;
    background: #01a1ff;
    justify-content: center;
    align-items: center;
    margin-top: 5px;
}
a#size-chart-show {
    font-size: 14px;
    color: #01a1ff;
}
/* a#open-lightbox-corner-protector {
    color: #000;
    transition: all 0.4s ease-in-out;
} */
/* --- Commenting out this conflicting pill button rule ---
a#open-lightbox-corner-protector {
    transition: all .4s ease-in-out;
    background: #01a1ff;
    color:#fff!important;
    padding: 8px 10px 8px 20px;
    border-radius: 45px;
    margin-right: 0;
    font-family: Rubik, sans-serif;
    font-size: 16px;
    display: block;
    max-width: 143px;
    margin-bottom: 20px;
    text-decoration: none;
    margin-top: 10px;
}
--- End Comment --- */
a#open-lightbox-corner-protector:hover {
  color: #01a1ff;
  transition: all 0.4s ease-in-out;
}
.globo-form-app.boxed-layout.gfb-style-classic.gfb-font-size-medium {
    margin-top: 90px;
}
@media(min-width: 1025px) and (max-width: 1680px){
  .learn_more_details {
    overflow-y: scroll;
    height: 100vh;
  }
  .learn_more_details ul{
    margin: 0;
  }
  .learn_more_details p {
    margin: 0;
}
  body .custom-size-show-fields label {
    padding: 10px 14px !important;
  }
  .okboomer_light-box.custom-builds-lightbox-div .image-with-text__media--placeholder.image-with-text__media--adapt {
    height: 70rem;
  }
  .privacy-policy .page-width--narrow {
    width: 100%;
    max-width: 100%;
    padding: 0 125px;
  }
  .terms-conditions .page-width--narrow {
    width: 100%;
    max-width: 100%;
    padding: 0 125px;
  }
  .warranty .page-width--narrow {
    width: 100%;
    max-width: 100%;
    padding: 0 125px;
  }
  .returns-refunds .page-width--narrow {
    width: 100%;
    max-width: 100%;
    padding: 0 125px;
  }
  .custom-engraving-policy .page-width--narrow {
    width: 100%;
    max-width: 100%;
    padding: 0 125px;
  }
  .modifications-and-cancellations-policy .page-width--narrow {
    width: 100%;
    max-width: 100%;
    padding: 0 125px;
  }
  .digital-gift-card-policy .page-width--narrow {
    width: 100%;
    max-width: 100%;
    padding: 0 125px;
  }
  .privacy-policy .page-width--narrow {
    width: 100%;
    max-width: 100%;
    padding: 0 125px;
  }
}
@media(max-width : 1579px){
  nav.breadcrumb {
    padding-left: 125px;
  }
}
@media(max-width: 1024px){
  .learn_more_details {
    overflow-y: scroll;
    height: 100vh;
  }
  body .table_details table.table {
    overflow-y: auto;
  }
  body nav.breadcrumb {
    padding-left: 10px;
    width: 100%;
  }
  .temporary_text p {
    font-size: 16px;
  }
  .about-page .image-with-text__content {
    padding: 0 0px;
  }
}
@media(max-width: 820px){
  body #gallery div#grouped-images-2 {
    gap: 11px;
  }
}
@media(max-width: 768px){
  body .shop-product-wrapper .card.card--standard {
    padding: 10px;
  }
  .faq-page .shopify-section .page-width h1.main-page-title.page-title.h0.scroll-trigger.animate--fade-in {
    top: -30px;
  }
  .shop-collection nav.breadcrumb {
    top: 150px;
  }
  body .okboomer_light-box .image-with-text__media {
    height: 320px;
    }
  .shop-collection .card--standard>.card__content {
    padding: 0 30px;
  }
  .temporary_text {
    position: relative;
    bottom: 0;
    margin: 0 auto;
    top: 0;
  }
  .okboomer_light-box-inner {
    overflow-y: auto !important;
    height: 100vh;
  }
  section#shopify-section-template--23746465038641__main h1 {
    font-size: 24px;
    text-align: center;
  }
  body .okboomer_light-box.custom-builds-lightbox-div .image-with-text__media--placeholder.image-with-text__media--adapt {
    height: 46rem;
  }
}
@media(max-width: 695px){
  .faq-page .shopify-section .page-width h1.main-page-title.page-title.h0.scroll-trigger.animate--fade-in {
    top: 0px;
  }
}
@media(max-width: 396px){
  body .okboomer_light-box .image-with-text__media {
    height: 160px;
  }
  body .mfp-wrap {
    overflow: auto;
  }
  body .mfp-container {
    overflow-y: auto;
  }
  body .gallery-inner-content {
    top: 0;
  }
  body .gallery-inner-content .mfp-credit {
    text-align: left;
    width: 100%;
  }
  body .gallery-inner-content .mfp-credit {
    left: 0;
    margin-top: 30px;
  }
  body .gallery-inner-content .mfp-credit:before {
    top: -21px;
    left: 0;
  }
  body #gallery .gallery-heading h2 {
    font-size: 24px;
  }
  body .gallery-sub-heading h4 {
    font-size: 15px;
  }
}
.shop-detail .table_details {
    margin: 0 auto;
    width: 100%;
    min-height: calc(100vh - 50px);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.shop-detail .table_details h4 {
    width: 100%;
}
div#returns-tab p {
    margin: 5px 0;
}
div#details-tab p{
  margin: 5px 0;
}
div#details-tab p{
  margin: 5px 0;
}
div#specifications-tab p{
  margin: 5px 0;
}
.shop-detail .contact-page .field__input:focus + .field__label,
.field__input:not(:placeholder-shown) + .field__label {
  top: 0;
  transform: translateY(-3px);
  font-size: 8px;
  transition: all 0.4s ease-in-out;
}
.shop-detail .field__input:not(:placeholder-shown)~.field__label, .customer .field input:not(:placeholder-shown)~label {
    font-size: 12px;
    left: 18px;
}
.shop-detail .customer .field input:focus~label{
  left: 15px;
  position: absolute;
  font-size: 12px;
  color: #007bff;
  transition: all 0.4s ease-in-out;
  top: 5px;
}
.shop-detail .field__input:not(:placeholder-shown)+.field__label {
    top: 9px;
    transform: translateY(-3px);
    font-size: 12px;
    transition: all .4s ease-in-out;
    left: 20px;
}
.policies-page {
    width: 100%;
    padding: 50px 0;
}
._optionList_1yit2_83 {
    max-height: auto !important;
}
img.regist-yellow {
    width: 100%;
    max-width: 170px;
    margin: 20px 0;
}
.closeby-overlay .slick-slide img {
    width: auto !important;
    height: auto !important;
    max-width: 220px !important;
    min-height: 75px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}









/* Multicolumn Product Grid Style Code Start here*/

.shop-product-wrapper {
	 width: 100%;
	 min-height: 650px;
	 margin-bottom: 10px;
	 padding: 10px;
}
 .shop-product-wrapper .card.card--standard {
	 background: #fff;
	 border-radius: 12px;
	 box-shadow: 0 7px 29px #64646f33;
	 flex-direction: column;
	 padding: 40px;
	 box-sizing: border-box;
	 position: relative;
}
 .shop-product-wrapper .card.card--standard .card__inner {
	 order: 2;
	 text-align: center;
	 width: 100%;
	 min-height: 340px;
	 max-height: 340px;
	 background-color: transparent;
}
 .shop-product-wrapper .card.card--standard .card__inner .card__media {
	 width: 100%;
	 max-width: 100%;
	 object-fit: contain;
	 margin: 0 auto;
	 text-align: center;
}
 .shop-product-wrapper .card.card--standard .card__inner .card__media img {
	 position: static;
	 object-fit: contain;
	 width: 100%;
	 height: 100%;
}
 .shop-product-wrapper .card.card--standard .card__content {
	 text-align: center;
	 display: flex;
	 flex-direction: column;
	 justify-content: space-between;
}
.shop-product-wrapper .card.card--standard .card__content .button,
.shop-product-wrapper .card.card--standard .card__content .product-detail-page-link {
	 background: #01a1ff;
	 border-radius: 45px;
	 font-family: Rubik, sans-serif;
	 font-size: 16px;
	 text-transform: capitalize;
	 margin: 20px 0;
	 color: #fff;
	 display: flex;
	 margin: 5px auto 0;
	 width: 100%;
	 max-width: 175px;
	 border-radius: 75px;
	 justify-content: center;
	 align-items: center;
}
 .shop-product-wrapper .card.card--standard .card__content .card__information h3 {
	 font-size: 36px;
	 font-family: square-regular;
}
 @media (min-width: 821px) and (max-width: 1024px) {
	 .shop-product-wrapper .card.card--standard .card__content .card__information h3 {
		 font-size: 26px;
	}
}
 .shop-product-wrapper .card.card--standard .card__content .card__information .price {
	 text-align: center;
}
 .shop-product-wrapper .card.card--standard .card__content .quick-add {
	 margin-bottom: 40px;
}
.product-media-modal__content img {
    width: 100%;
    max-width: 500px;
}
 /* Multicolumn Product Grid Style Code End here */



/* 04-03-25 css */

.announcement-bar-section .announcement-bar span {
  text-transform: uppercase;
}
.announcement-bar-section .announcement-bar .announcement-bar__message {
  min-height: 3.5rem;
}
.collection slider-component.slider-mobile-gutter.page-width.page-width-desktop.scroll-trigger.animate--slide-in ul {
    width: 100%;
    max-width: 1730px;
    margin: 0 auto;
}
.gallery-inner-content {
    left: 0px;
}
.customer-support-lightbox-div .image-with-text.image-with-text--no-overlap.isolate.scroll-trigger.animate--slide-in,
.warranty-lightbox-div .image-with-text.image-with-text--no-overlap.isolate.scroll-trigger.animate--slide-in {
    width: 100%;
    min-height: calc(100vh - 190px);
    display: flex;
    align-items: center;
    justify-content: center;
}
ul.list-unstyled.list-social.footer__list-social {
    display: none;
}
.page-width--narrow {
  max-width: 72.6rem;
  padding: 0;
  width: 100%;
  background: #ebebeb;
  min-width: 100%;
  min-height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
}
footer .footer__content-top.page-width {
  margin-bottom: 0;
}
footer .footer-block__details-content p a {
  top: 0px;
}
a.bluesky-icon svg {
  width: 20px;
  height: 22px;
}
#gallery  .portfolio_page_images a img {
  max-height: 450px;
}
#gallery  .image.portfolio_img a {
  max-height: 450px;
  width: 100%;
}
.mfp-content img.mfp-img {
    min-width: 100% !important;
    min-height: auto !important;
}
.mfp-content .mfp-bottom-bar {
  margin-top: 15px!important;
}
.mfp-content .gallery-inner-content {
    top: auto;
    bottom: 56px;
}
.mfp-content .gallery-inner-content .mfp-title {
    line-height: 34px;
}
.mfp-content .gallery-inner-content {
    /* display: block; */
      flex-wrap: wrap;
}
.mfp-content .gallery-inner-content .gallery-wrap {
    order: 2;
}
.mfp-content .gallery-inner-content .mfp-credit {
    width: 75%;
    right: -130px!important;
    top: 10px;
    line-height: 28px;
}
.mfp-content .gallery-inner-content .mfp-credit {
    order: 1;
    margin-bottom: 15px;
}
.mfp-content .gallery-inner-content .mfp-description {
    width: 100%;
}
.met-boomer-sec .fade .item img {
    width: 460px;
    top: 0;
}
.mfp-gallery .mfp-arrow-left {
    left: 22%;
}
.mfp-gallery .mfp-arrow-right {
    right: 22%;
}
.gallery-inner-content .mfp-credit:before {
    position: absolute;
    content: "Photo Credit:";
    left: -130px;
    font-weight: 600;
    text-transform: uppercase;
}
.okboomer_light-box-inner {
    position: fixed;
    top: 100px;
    width: 100%;
    z-index: 1049;
    overflow-y: hidden;
    max-width: 1560px;
    margin: 0 auto;
    left: 0;
    right: 0;
    box-shadow: 0 0 15px 3px #e6e6e6;
    background: inherit;
    min-height: auto;
}
.okboomer_light-box.show-popup {
    width: 100%;
    height: 100%;
    background: rgb(255 255 255 / 84%);
    z-index: 9 !important;
    position: absolute;
    top: 0;
    overflow-y: hidden !important;
}
.okboomer_light-box.free-gift-lightbox-div .image-with-text.image-with-text--no-overlap.isolate.scroll-trigger.animate--slide-in,
.okboomer_light-box.custom-builds-lightbox-div  .image-with-text.image-with-text--no-overlap.isolate.scroll-trigger.animate--slide-in,
.okboomer_light-box.customer-support-lightbox-div .image-with-text.image-with-text--no-overlap.isolate.scroll-trigger.animate--slide-in,
.okboomer_light-box.warranty-lightbox-div .image-with-text.image-with-text--no-overlap.isolate.scroll-trigger.animate--slide-in {
    width: 100%;
    min-height: calc(53vh - 0px);
}
.okboomer_light-box.warranty-lightbox-div .image-with-text__media.image-with-text__media--adapt.global-media-settings.background-transparent.media {
    padding-bottom: 65.942122% !important;
}
.okboomer_light-box.warranty-lightbox-div  .image-with-text__grid.grid.grid--gapless.grid--1-col.grid--2-col-tablet {
    align-items: center;
}

.okboomer_light-box.free-gift-lightbox-div section.fade.slider.slick-initialized.slick-slider.slick-dotted,
.okboomer_light-box.custom-builds-lightbox-div section.fade.slider.slick-initialized.slick-slider.slick-dotted,
.okboomer_light-box.customer-support-lightbox-div section.fade.slider.slick-initialized.slick-slider.slick-dotted,
.okboomer_light-box.warranty-lightbox-div section.fade.slider.slick-initialized.slick-slider.slick-dotted {
    height: auto;
}
.okboomer_light-box-inner .page-width {
  padding: 0 60px !important;
}
.section-template--24120864899377__lightbox_image_with_text_kL8W3F-padding,
.section-template--24120864899377__lightbox_image_with_text_wb7NbL-padding,
.section-template--24120864899377__lightbox_image_with_text_8exgxG-padding,
.section-template--24120864899377__lightbox_image_with_text_BhUqaV-padding {
  padding-top: 0!important;
  padding-bottom: 0!important;
}
.okboomer_light-box .slick-slider img {
  border: 0;
}
.okboomer_light-box.free-gift-lightbox-div .slick-slider img,
.okboomer_light-box.custom-builds-lightbox-div .slick-slider img,
.okboomer_light-box.customer-support-lightbox-div .slick-slider img,
.okboomer_light-box.warranty-lightbox-div .slick-slider img {
  width: 100%;
  max-height: 380px;
  object-fit: inherit;
  border: 0;
}
.okboomer_light-box.custom-builds-lightbox-div .image-with-text__media--placeholder.image-with-text__media--adapt {
  height: 0;
  background: #fff;
}
.okboomer_light-box.custom-builds-lightbox-div section.fade.slider.slick-initialized.slick-slider.slick-dotted {
  transform: translateY(13%);
}
.okboomer_light-box.customer-support-lightbox-div  section.fade.slider.slick-initialized.slick-slider.slick-dotted {
  transform: translateY(3%);
}

/* other page css  */
.shopify-section .page-width h1.main-page-title.page-title.h0.scroll-trigger.animate--fade-in {
  text-transform: uppercase;
}
nav.breadcrumb {
    display: none;
}
.page-width.section-template--24120865292593__multicolumn_eLg93K-padding.isolate.scroll-trigger.animate--slide-in {
    padding: 50px 0 60px !important;
}
.page-width.section-template--24120865292593__multicolumn_eLg93K-padding.isolate.scroll-trigger.animate--slide-in p {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 15px;
}
.page-width.section-template--24120865292593__multicolumn_eLg93K-padding.isolate.scroll-trigger.animate--slide-in slider-component.slider-mobile-gutter {
  padding-top: 40px;
}
.page-width.section-template--24120865292593__multicolumn_eLg93K-padding.isolate.scroll-trigger.animate--slide-in slider-component.slider-mobile-gutter .multicolumn-card.content-container .multicolumn-card__info p {
  padding: 15px;
}
.searh-accordion button {
  position: absolute;
}
.about-page h2.image-with-text__heading.inline-richtext.h1 {
  display: none;
}
.about-page .image-with-text.image-with-text--no-overlap.isolate.scroll-trigger.animate--slide-in {
  padding: 60px 0;
}
.section-template--24120864964913__custom_liquid_hLQAGw-padding {
   padding-bottom: 10px !important;
}

.about-page .image-with-text__text p strong,
.about-page .text-under-img p strong{
    font-size: 18px;
    padding: 5px 0;
    display: inline-block;
    font-family: square-regular;
}
.heading-product-rgistration {
    text-align: center;
    max-width: 72.6rem;
    padding: 0;
    width: 100%;
    background: #ebebeb;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.heading-product-rgistration h4 {
    text-transform: uppercase;
}

.faq-page .collapsible-content-wrapper-narrow.page-width {
    padding: 0 0px !important;
}
.faq-page .collapsible-content__grid.collapsible-content__grid--reverse {
    padding-left: 100px;
    padding-right: 100px;
}

.contact-page orm-embed#app-embed {
    position: relative;
}
.contact-page  form-embed#app-embed:before {
    position: absolute;
    content: "";
    background-image: url(/cdn/shop/files/contact-background.jpg?v=1734075229);
    width: 100%;
    height: 100%;
    left: 0;
    background-size: contain;
    background-repeat: no-repeat;
    max-height: 680px;
    background-position: center center;
    bottom: -40px;
}
.globo-form-app .globo-form-control input, 
.globo-form-app .globo-form-control textarea,
.globo-form-app .globo-form-control select {
    border-radius: 5px;
} 

.met-boomer-sec .image-with-text__content {
    padding: 6rem 7rem 1rem 0rem;
    padding-left: 11rem;
}
.temporary_text {
    bottom: 80px;
}
.okboomer_light-box.customer-support-lightbox-div.show-popup .image-with-text__media-item.image-with-text__media-item--medium.image-with-text__media-item--top.grid__item {
    display: none;
}
input#\34 8541-text-7 {
    color: #ada2a2;
}
input#\34 8541-text-7:placeholder {
   color: #ada2a2 !important;
}
button#quick-add-template--24120864604465__product-grid10110152376625-submit {
    min-width: 177px;
    min-height: 44.8px;
}
.shop-detail .field__input:not(:placeholder-shown)+.field__label {
    top: 0px;
    transform: translateY(-7px);
}
.recipient-fields .recipient-fields__field input {
    font-size: 14px;
}
.recipient-fields span.error-message {
    display: block;
}
.okboomer_light-box.okboomer_product.lightbox-product-page-custom-engraving {
    width: 100%;
    height: 100%;
    background: #ffffffd6;
    z-index: 9 !important;
    position: absolute;
    top: 0;
    overflow-y: hidden !important;
}
.okboomer_light-box.okboomer_product.lightbox-product-page-custom-engraving .image_product_page_section {
    width: 100%;
    margin: 6px auto;
    max-width: 330px;
    max-height: 100%;
}
.okboomer_light-box.okboomer_product.lightbox-product-page-custom-engraving .image_product_page_section img {
    width: 100%;
    max-width: 330px;
    margin: 0 auto;
    height: 100%;
    max-height: 580px;
}
.customer .field input:not(:placeholder-shown)~label {
    left: 0 !important;
    top: -2px !important;
}
.customer .field input:focus~label{
   top: -4px;
}
.color_variation input.color-input {
    border-radius: 4px;
    padding: 0 10px;
}
.related-products .card-information>*:not(.visually-hidden:first-child)+*:not(.rating):not(.card__information-volume-pricing-note) {
    margin-top: 1.7rem;
}
.corner_protectors_section label.form-check-label span {
    border: 1px solid #121212;
    border-radius: 50%;
    padding: 0px 15px;
    margin-right: 10px;
}

@media (min-width: 1025px) and (max-width: 1920px) {
  h1.header__heading {
    max-width: 235px;
  }
}
@media(max-width: 1600px){
  .okboomer_light-box-inner {
      width: 100%;
      max-width: 97%;
  }
  .okboomer_light-box-inner .page-width {
     max-width: 100%;
  }
  .section-template--24120865128753__main-padding {
        padding-bottom: 28px !important;
  }
  .temporary_text {
    bottom: 40px;
  }
}
@media(max-width: 1540px){
  #gallery  .portfolio_page_images a img {
    max-height: 350px;
  }
  #gallery  .image.portfolio_img a {
    max-height: 350px;
  }
}
@media (min-width: 320px) and (max-width: 1366px) {
   .okboomer_light-box.okboomer_product.lightbox-product-page-custom-engraving .okboomer_light-box-inner {
     top:0px;
   }
  .okboomer_light-box.okboomer_product.lightbox-product-page-custom-engraving .image_product_page_section img {
    max-height: 480px;
  }
  body .okboomer_light-box .image-with-text.image-with-text--no-overlap.isolate.scroll-trigger.animate--slide-in {
        margin-top: 20px;
  }
  .okboomer_light-box-inner {
    top: 0;
  }
}
@media(max-width: 1200px){
  #gallery   .portfolio_page_images a img {
     max-height: 300px;
   }
   #gallery  .image.portfolio_img a {
     max-height: 300px;
   }
  .mfp-gallery .mfp-arrow-left {
     left: 15%;
  }
  .mfp-gallery .mfp-arrow-right {
     right: 15%;
  }
  .met-boomer-sec .fade .item img {
    width: 430px;
    right: 50px;
   }
}
@media(max-width: 1100px){
  footer .footer-block .footer-block__details-content p a:before {
      display:none;
  }
  /* h1.header__heading {
    max-width: 160px;
  } */
}
@media(max-width: 1040px){
  #gallery .image.portfolio_img {
    width: 31%;
  }
}
@media(max-width: 1024px){
  .mfp-content .gallery-inner-content .mfp-credit {
      left: auto;
  }
  .okboomer_light-box-inner {
        width: 100%;
        max-width: 100%;
        top: 0;
        background: #fff;
        min-height: 100%;
    }
  .okboomer_light-box-inner button.close-popup-button {
     z-index: 9;
  }
  .okboomer_light-box .image-with-text__text-item.grid__item .image-with-text__content {
     padding: 20px 0;
   }
   .okboomer_light-box .image-with-text__text-item.grid__item {
      margin-top: 60px !important;
   }
   .okboomer_light-box .image-with-text__text-item.grid__item .image-with-text__content h2.image-with-text__heading.inline-richtext.h1 {
      font-size: 28px;
   }
  .okboomer_light-box.custom-builds-lightbox-div .image-with-text__media--placeholder.image-with-text__media--adapt {
    height: auto;
   }
    .okboomer_light-box.custom-builds-lightbox-div .image-with-text__text-item.grid__item,
    .okboomer_light-box.customer-support-lightbox-div .image-with-text__text-item.grid__item{
      margin-top: 0px !important;
   }
   .faq-page .collapsible-content-wrapper-narrow.page-width {
      padding: 0 5rem !important;
   }
   .faq-page .collapsible-content__grid.collapsible-content__grid--reverse {
      padding-left: 0;
      padding-right: 0;
  }
  .contact-page form-embed#app-embed:before{
     display:none;
  } 
  .contact-page ._inline_stahb_47 {
    justify-content: center!important;
  }
  .faq-page  p#no-results-message {
    margin-top: 20px !important;
  }
  .faq-page .content-for-layout .shopify-section .form-group.searh-accordion {
     background: transparent;
     left: -50px;
     top: -165px;
  }
}
@media(max-width: 991px){
  h1.header__heading {
     max-width: 160px;
  }
  svg.icon.icon-twitter {
    width: 17px;
    height: 22px;
  }
  .mfp-gallery .mfp-arrow-left {
    left: 5%;
  }
  .mfp-gallery .mfp-arrow-right {
      right: 5%;
  }
  .okboomer_light-box .image-with-text__text-item.grid__item {
      margin-top: 30px !important;
   }
    .okboomer_light-box.custom-builds-lightbox-div .image-with-text__media--placeholder.image-with-text__media--adapt {
       height: auto;
    }
    .okboomer_light-box.customer-support-lightbox-div .image-with-text__media {
       height: 380px;
    }
    .okboomer_light-box.warranty-lightbox-div .image-with-text__media {
       height: 380px;
    }
    .page-width.section-template--24120865292593__multicolumn_eLg93K-padding.isolate.scroll-trigger.animate--slide-in {
       padding: 50px 0 30px !important;
    }
    .page-width.section-template--24120865292593__multicolumn_eLg93K-padding.isolate.scroll-trigger.animate--slide-in slider-component.slider-mobile-gutter {
       padding-top: 20px;
    }
    .temporary_text {
        bottom: 20px;
    }
  .okboomer_light-box.warranty-lightbox-div .image-with-text__media.image-with-text__media--adapt.global-media-settings.background-transparent.media {
      padding-bottom: 0 !important; 
   }
   .met-boomer-sec div#ImageWithText--template--24120864899377__image_with_text_znLhEW {
     padding: 6rem 0rem 7rem 0rem;
  }
  button.menu-drawer__close-button.link.link--text.focus-inset {
    line-height: calc(1 + .3 / var(--font-body-scale));
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 600;
    font-family: Rubik, sans-serif;
  }
}
@media(max-width: 820px){
#gallery .image.portfolio_img {
    width: 24%; /* Or your desired increased width */
    border: 3px solid red !important; /* Temporary - just for testing */
}
    #gallery  .portfolio_page_images a img {
    max-height: 250px;
  }
  #gallery .image.portfolio_img a {
    max-height: 250px;
  }
}
@media(max-width: 768px) {
  span.footer-get-touch {
    display: flex;
    margin-bottom: 10px;
  }
  footer .footer-block__details-content p a {
    margin-left: 10px;
  }
  footer .footer-block__details-content p a {
    top: -3px;
  }
  .footer-block.grid__item.scroll-trigger.animate--slide-in:last-child {
    margin-bottom: 0;
  }
  .met-boomer-sec .fade .item img {
     margin: 0 auto;
     right: 0;
  }
  .mfp-gallery .mfp-arrow-left {
     left: 0;
  }
  .mfp-gallery .mfp-arrow-right {
      right: 0;
  }
  .okboomer_light-box .image-with-text__text-item.grid__item {
      margin-top: 30px !important;
   }
   .okboomer_light-box .image-with-text__text-item.grid__item .image-with-text__content h2.image-with-text__heading.inline-richtext.h1 {
      font-size: 22px;
   }
   .okboomer_light-box-inner .page-width {
      padding: 0 30px !important;
   }
  .page-width.section-template--24120865292593__multicolumn_eLg93K-padding.isolate.scroll-trigger.animate--slide-in {
    padding: 20px 0 10px !important;
  }
  .faq-page .collapsible-content-wrapper-narrow.page-width {
    padding: 0 1rem !important;
  }
  .okboomer_light-box.warranty-lightbox-div .image-with-text__media {
     height: 320px;
  }
  .searh-accordion {
    position: relative;
    left: -50px;
  }
  .faq-page .content-for-layout .shopify-section .form-group.searh-accordion {
    top: auto;
  }
}
 @media(max-width: 767px) {
 .banner .slideshow__media.banner__media.media {
     height: 100%;
     min-height: 650px;
     position: static;
  }
} 
@media(max-width: 580px) {
 /* .banner .slideshow__media.banner__media.media {
     min-height: 500px;
  } */
  /* .slideshow .slideshow__slide img {
    min-height: fit-content;
    max-height: 400px;
  } */
  .gallery-inner-content .mfp-title {
        font-size: 20px;
        line-height: 30px;
    }
}
@media(max-width: 480px){
   .mfp-content .gallery-inner-content .mfp-title {
        font-size: 16px;
        line-height: 26px;
        padding-right: 15px;
    }
  .met-boomer-sec .fade .item img {
     height: 300px;
    width: 300px !important;
   }
   /* .banner .slideshow__media.banner__media.media {
       min-height: auto;
    } */
   .okboomer_light-box .image-with-text__text-item.grid__item .image-with-text__content {
        padding: 0px 0;
    }
    .okboomer_light-box .image-with-text__text-item.grid__item .image-with-text__content h2.image-with-text__heading.inline-richtext.h1 {
        font-size: 20px;
    }
}
@media(max-width: 440px){
    .okboomer_light-box .image-with-text__text-item.grid__item {
        margin-top: 0px !important;
    }
    .okboomer_light-box.warranty-lightbox-div .image-with-text__text-item.grid__item {
        margin-top: 30px !important;
    }
     p#no-results-message {
        padding-left: 50px;
    }
}
@media(max-width: 396px){
  .mfp-content .gallery-inner-content .mfp-credit {
    left: inherit;
  }
  /* .banner .slideshow__media.banner__media.media {
       height: 32rem !important;
    } */
    .okboomer_light-box.warranty-lightbox-div .image-with-text__media {
       height: 160px;
    }
}
@media(max-width: 350px){
  .mfp-content .gallery-inner-content .mfp-credit {
    width: 100%;
  }
     p#no-results-message {
        padding-left: 70px;
    }
}
@media (min-width: 320px) and (max-width: 650px) {
    #gallery .image.portfolio_img {
        width: 48%;
        max-height: 450px;
    }
    #gallery .portfolio_page_images a img{
      max-height: 300px;  
    }
   .gallery-inner-content {
      padding: 15px;
   }
  .banner .slideshow__media.banner__media.media {
    height: 100%;
    min-height: 500px;
    position: static;
  }
  .met-boomer-sec div#ImageWithText--template--24120864899377__image_with_text_znLhEW {
          padding: 1rem 0rem 7rem;
      }
  }
@media (min-width: 767px) and (max-width: 990px) {
}
@media (min-width: 770px) and (max-width: 820px) {
}
@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
    .mfp-img-mobile img.mfp-img {
        max-height: 100% !important;
    }
    .mfp-content .gallery-inner-content {
      bottom: 5px;
  }
}

.learn_more_details ul li {
    font-size: 18px;
    color: rgb(var(--color-foreground));
    font-weight: 400;
}

body footer .footer-block .footer-block__details-content p a:before { 
   background-image: inherit !important;
} 
.mfp-container {
    background: #ffffffd6;
}
body button._formSubmitButton_1nihh_77 {
    border-radius: 40px !important;
    width: 200px;
    margin: 0 auto;
}
.customer a {
    color: #3ab5fd;
}
.field.connfirm-password-field label {
  font-size: 16px !important;
  left: 0 !important;
}
.customer .field label {
  color: #000;
}
.product-detail-page .product-form__input--pill input[type=radio]+label {
  border: 0;
}
.product-detail-page .corner_protectors_section h4 {
  display: none;
}
.learn_more_details {
  width: 100%;
  max-width: 100%;
}
.okboomer_light-box-inner button.close-popup-button {
   z-index: 9;
}
a#open-lightbox-corner-protector {
  color: #01a1ff;
  transition: all .4s ease-in-out;
}
button#open-lightbox-custom-engraving {
  max-width: 330px !important;
}
button#open-lightbox-custom-engraving {
  background: #01a1ff;
}
.product-description_section {
  text-transform: uppercase;
}
.product-detail-page .tabs-nav .tab-link {
  padding: 10px 50px;
}
.related-products__heading {
  font-size: 40px;
  text-align: center;
  text-transform: uppercase;
}
.product-detail-page .shop-product-wrapper {
  padding: 10px 5px 10px 0px;
}
.color-scheme-1.gradient.product-detail- {
  padding-bottom: 80px;
}
button#ProductSubmitButton-template--24120865423665__main{
  background: #01a1ff;
  color: #fff;
  font-size: 18px;
  border-radius: 75px;
  width: 230px !important;
}
.page-width.cart-page a.underlined-link {
  color: #01a1ff;
}
.page-width.cart-page h1.cart__empty-text {
  text-transform: uppercase;
}
.page-width.cart-page a.button {
  background: #01a1ff;
  border: none;
  color: #fff;
  font-size: 16px;
  font-family: Rubik, sans-serif;
  padding: 7px 20px;
  border-radius: 32px;
  margin-top: 12px;
}
.learn_more_details h4 {
  font-size: 30px;
  font-family: square-regular;
  margin-top: 0;
}
.learn_more_details p {
  font-size: 18px;
  color: rgb(var(--color-foreground));
  font-weight: 400;
}
.learn_more_details ul li {
  padding: 0 20px 5px;
  position: relative;
}
a#gift\ card-show {
  color: #01a1ff;
  text-transform: capitalize;
}
.shop-product-wrapper .card.card--standard .card__content .card__information h3 {
  font-size: 30px;
}
.shop-detail .table_details {
  min-height: calc(60vh - 50px);
}
a#size-chart-show {
   display: block;
   margin-top: 15px;
}
.okboomer_light-box.okboomer_product.lightbox-size-chart {
    width: 100%;
    height: 100%;
    background: #ffffffd6;
    z-index: 9 !important;
    position: absolute;
    top: 0;
    overflow-y: hidden !important;
}
.okboomer_light-box.okboomer_product.lightbox-gift-card-policy {
    width: 100%;
    height: 100%;
    background: #ffffffd6;
    z-index: 9 !important;
    position: absolute;
    top: 0;
    overflow-y: hidden !important;
}
.okboomer_light-box.okboomer_product.lightbox-corner-protector-div {
    width: 100%;
    height: 100%;
    background: #ffffffd6;
    z-index: 9 !important;
    position: absolute;
    top: 0;
    overflow-y: hidden !important;
}
.recipient-fields .field:after{
   border-radius: 0;
    border-top-left-radius: 0;
}
/* .recipient-fields label.field__label {
    margin-top: 10px;
} */

.terms-conditions .page-width--narrow, 
.warranty .page-width--narrow,
.returns-refunds .page-width--narrow, 
.privacy-policy .page-width--narrow, 
.custom-engraving-policy .page-width--narrow, 
.modifications-and-cancellations-policy .page-width--narrow,
.digital-gift-card-policy .page-width--narrow {
    flex-wrap: wrap;
    background: transparent;
}
.terms-conditions h1.main-page-title.page-title,
.warranty h1.main-page-title.page-title,
.returns-refunds h1.main-page-title.page-title, 
.privacy-policy h1.main-page-title.page-title, 
.custom-engraving-policy h1.main-page-title.page-title, 
.modifications-and-cancellations-policy h1.main-page-title.page-title,
.digital-gift-card-policy h1.main-page-title.page-title {
    width: 100%;
    background: #ebebeb;
    min-width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
}
.terms-conditions h1.main-page-title.page-title:before,
.warranty h1.main-page-title.page-title:before,
.returns-refunds h1.main-page-title.page-title:before, 
.privacy-policy h1.main-page-title.page-title:before, 
.custom-engraving-policy h1.main-page-title.page-title:before, 
.modifications-and-cancellations-policy h1.main-page-title.page-title:before,
.digital-gift-card-policy h1.main-page-title.page-title:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    min-height: 150px;
    background: #ebebeb;
    right: -100px;
    z-index: -1;
}
.terms-conditions h1.main-page-title.page-title:after,
.warranty h1.main-page-title.page-title:after,
.returns-refunds h1.main-page-title.page-title:after, 
.privacy-policy h1.main-page-title.page-title:after, 
.custom-engraving-policy h1.main-page-title.page-title:after, 
.modifications-and-cancellations-policy h1.main-page-title.page-title:after,
.digital-gift-card-policy h1.main-page-title.page-title:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    min-height: 150px;
    background: #ebebeb;
    left: -100px;
    z-index: -1;
}
@media(max-width: 1500px){
  .color-scheme-1.gradient.product-detail- {
      padding-bottom: 30px;
  }
}

@media(max-width: 1024px){
.terms-conditions .page-width--narrow, 
.warranty .page-width--narrow,
.returns-refunds .page-width--narrow, 
.privacy-policy .page-width--narrow, 
.custom-engraving-policy .page-width--narrow, 
.modifications-and-cancellations-policy .page-width--narrow,
.digital-gift-card-policy .page-width--narrow {
      padding: 0 15px !important;
  }
  ._inline_stahb_47 {
    justify-content: center;
    margin-top: 40px;
  }
}

@media (max-width: 991px) {
.terms-conditions h1.main-page-title.page-title:after,
.warranty h1.main-page-title.page-title:after,
.returns-refunds h1.main-page-title.page-title:after, 
.privacy-policy h1.main-page-title.page-title:after, 
.custom-engraving-policy h1.main-page-title.page-title:after, 
.modifications-and-cancellations-policy h1.main-page-title.page-title:after,
.digital-gift-card-policy h1.main-page-title.page-title:after {
        /* left: 87px; */
         left: 10px;
    }
.terms-conditions h1.main-page-title.page-title:before,
.warranty h1.main-page-title.page-title:before,
.returns-refunds h1.main-page-title.page-title:before, 
.privacy-policy h1.main-page-title.page-title:before, 
.custom-engraving-policy h1.main-page-title.page-title:before, 
.modifications-and-cancellations-policy h1.main-page-title.page-title:before,
.digital-gift-card-policy h1.main-page-title.page-title:before {
        right: 87px;
    }
}

@media (min-width: 1025px) and (max-width: 1680px) {
  .privacy-policy .page-width--narrow, 
  .terms-conditions .page-width--narrow, 
  .warranty .page-width--narrow,
  .returns-refunds .page-width--narrow, 
  .custom-engraving-policy .page-width--narrow, 
  .modifications-and-cancellations-policy .page-width--narrow,
  .digital-gift-card-policy .page-width--narrow {
        width: 100%;
        max-width: 100%;
        padding: 0 100px;
    }
}

@media(max-width: 767px){
  .terms-conditions h1.main-page-title.page-title,
  .warranty h1.main-page-title.page-title,
  .returns-refunds h1.main-page-title.page-title, 
  .privacy-policy h1.main-page-title.page-title, 
  .custom-engraving-policy h1.main-page-title.page-title, 
  .modifications-and-cancellations-policy h1.main-page-title.page-title,
  .digital-gift-card-policy h1.main-page-title.page-title{
      font-size: 24px;
      text-align: center;
  }
}

@supports (-webkit-touch-callout: none) {
  nav.breadcrumb {
    z-index: auto!important;
  } 
  /* .banner .slideshow__media.banner__media.media {
    min-height: 500px;
    position: inherit;
  } */
}

@media screen and (-webkit-min-device-pixel-ratio:0) { 
  nav.breadcrumb {
    z-index: auto!important;
  }
  button.menu-drawer__close-button.link.link--text.focus-inset {
    line-height: calc(1 + .3 / var(--font-body-scale));
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 400;
    font-family: Rubik, sans-serif;
  }
}  

@media(max-width: 750px){}

@media screen and (max-width: 750px){ 
    @media not all and (min-resolution:.001dpcm) {
        @media {
          .slideshow__media.banner__media{
              height: 100%;
              min-height: calc(100vh - 320px);
              display: flex;
              align-items: center;
              justify-content: center;
        }
        .slideshow__media.banner__media img{
              object-fit: cover;
              object-position: top center;
        }
      }
    }  
 } 

.shop-product-wrapper .card.card--standard .card__content .card__information .price {
    text-transform: capitalize;
}
.okboomer_light-box.okboomer_product.lightbox-corner-protector-div .learn_more_details p {
    margin-top: 0;
}
body.returns-refunds .page-width.page-width--narrow.section-template--24120865227057__main-padding {
  justify-content: left;
}
.digital-gift-card-policy .page-width.page-width--narrow.section-template--24120865227057__main-padding {
   justify-content: left;
}

/* === START: GLOBAL Header Stability & Menu Centering (v11.2 - Less Aggressive & Overflow Fix) === */
@media screen and (min-width: 992px) { /* Desktop breakpoint */

  /* 1. Header Grid Structure */
  .header.page-width {
    display: grid !important; /* Keep for safety */
    grid-template-columns: 234px 1fr 260px !important; /* Keep for safety */
    align-items: center; /* Removed !important */
    column-gap: 15px; /* Removed !important */
    width: 100%;
  }

  /* 2. Assign grid columns */
  .header.page-width > .header__heading-link,
  .header.page-width > h1.header__heading {
    grid-column: 1 / 2 !important; /* Keep for safety */
    justify-self: start; /* Removed !important */
    margin: 0 !important; /* Keep for safety (margins often overridden) */
  }

  .header.page-width > .header__icons {
    grid-column: 3 / 4 !important; /* Keep for safety */
    justify-self: end; /* Removed !important */
    margin: 0 !important; /* Keep for safety */
    width: 260px !important; /* Keep for safety */
    display: flex !important; /* Keep for safety */
    justify-content: flex-end; /* Removed !important */
    align-items: center; /* Removed !important */
  }

  /* 3. Menu Navigation Wrapper - Using FLEX and Centering */
  .header.page-width nav.header__inline-menu {
    grid-column: 2 / 3 !important; /* Keep for safety */
    width: 100% !important; /* Keep for safety */
    display: flex !important; /* Keep for safety */
    justify-content: center !important; /* Keep for safety */
    align-items: center; /* Removed !important */
    margin: 0 !important; /* Keep for safety */
    padding: 0 !important; /* Keep for safety */
    /* overflow: hidden; */ /* <--- REMOVED THIS! Potential fix for dropdown cutoff. */
  }

  /* 4. UL Menu List - Force it to be inline-flex and NOT take full width */
  .header.page-width nav.header__inline-menu > ul.list-menu--inline {
    display: inline-flex !important; /* Keep for safety */
    width: auto !important; /* Keep for safety */
    max-width: 100%;
    margin: 0 !important; /* Keep for safety */
    padding: 0 !important; /* Keep for safety */
    flex-grow: 0 !important; /* Keep for safety */
    flex-shrink: 0 !important; /* Keep for safety */
  }
}
/* === END: GLOBAL Header Stability & Menu Centering (v11.2) === */

/* Placeholder Styling for Bucks Currency Converter - START */
/* Add this towards the end of your assets/style.css file */

.header__icons {
  display: flex; /* Ensures items align nicely in a row */
  align-items: center; /* Vertically aligns items in the middle */
  min-height: 38px; /* Matches the measured height of the selector */
}

/* Target the outermost container that Bucks injects into .header__icons.
   This is likely '.buckscc-currency-box'.
   This rule gives it a minimum width as soon as it's added by Bucks.
*/
.header__icons > .buckscc-currency-box {
  min-width: 98.73px; /* Use your measured width of the selector */
  /* The Bucks app itself should handle its internal height within this width */
}

/* Placeholder Styling for Bucks Currency Converter - END */

/* --- Homepage Logo Alignment Fix --- */
/* This targets the H1 wrapper of the logo, which is the first grid item */
@media screen and (min-width: 992px) { /* Ensure it's for desktop */
  body.homepage .header.page-width > h1.header__heading {
    padding-left: 7.5px !important; /* START WITH 10px, ADJUST AS NEEDED */
    /* Ensure box-sizing doesn't make the 234px column wider with padding */
    box-sizing: border-box !important; 
  }

  /* As a fallback, if your logo is directly an <a> tag as the grid item */
  body.homepage .header.page-width > a.header__heading-link {
    padding-left: 7.5px !important; /* START WITH 10px, ADJUST AS NEEDED */
    box-sizing: border-box !important;
  }
}



/* --- Round Corners for Gallery Images --- */
.portfolio_page_images .portfolio_img img {
  border-radius: 10px; /* You can adjust this value for more or less rounding */
  /* The overflow: hidden on the parent 'a' tag is already helping,
     but we can add it here too for the image itself if needed, though often not necessary
     if the parent link already has it and is the direct container for the rounding effect. */
}

/* Ensure the link container also respects the rounding if it has a background or border later */
.portfolio_page_images .portfolio_img a {
  border-radius: 8px; /* Match the image's border-radius */
  display: block; /* Ensures the 'a' tag properly contains the image for rounding */
  overflow: hidden; /* This is crucial and you already have it in your style.css! */
}
/* --- END --- */



/* === START: HOMEPAGE BANNER - FINAL CSS === */

section.homepage-fade-slider {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    background-color: #f0f0f0; /* Fallback background if needed */

    /* --- FINAL BORDERS (removed !important) --- */
    /* border-top: 3px solid red;
    /* border-left: 3px solid blue;
    /* border-right: 3px solid green;
    /* border-bottom: 5px solid orange;
    /* --- END FINAL BORDERS --- */

    /* Space for Dots & Bottom Border */
    /* padding-bottom: 5px; /* Adjust if more/less space needed for dots */

    /* Initial Hiding & Reveal */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-in-out; /* Smooth fade-in */
    overflow: hidden;
}

section.homepage-fade-slider.slider-ready-and-visible {
    opacity: 1;
    visibility: visible;
}

/* The Slick Slider Container */
.fade2.slick-slider {
    width: 100%;
    aspect-ratio: 1920 / 725; /* CSS sets the aspect ratio */
    height: auto;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 1; /* Below content & dots */
    overflow: hidden; /* Ensure slides are clipped */
}

/* Each Slide Item */
.fade2 .item {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

/* The Image Itself */
.fade2 .item .img-slider {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover !important; /* Crucial for filling */
    object-position: center center !important;
    z-index: 1; /* Image behind content */
    /* Removed black debug border */
}

/* Content */
.homepage-fade-slider .banner-content { /* Changed from div.banner-content to .banner-content for broader match */
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    z-index: 5; /* Content above image */
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
    color: #000;
}

/* --- Your Content Styles --- */
.homepage-fade-slider .banner-content h1 {
    text-transform: uppercase;
    font-size: 72px;
    text-align: center;
    margin-bottom: 10px;
    margin-top: 0;
    line-height: 0.99;
    color: #000;
    font-family: 'square-regular';
    max-width: 50%;
}
@media (max-width: 1024px) {
    .homepage-fade-slider .banner-content h1 { font-size: 48px; max-width: 80%; }
}
@media (max-width: 768px) {
    .homepage-fade-slider .banner-content h1 { font-size: 36px; max-width: 90%; }
}

.homepage-fade-slider .banner-content p {
    font-size: 18px;
    margin: 0 0 10px 0;
    font-family: 'Rubik', sans-serif;
    color: #000;
}

.homepage-fade-slider .banner-content p:has(span.money) {
    margin-bottom: 0px;
    font-weight: 600;
}

.homepage-fade-slider .banner-content .button-global {
    background: #01A1FF;
    border: none;
    color: #fff !important;
    font-size: 16px;
    font-family: 'Rubik', sans-serif;
    padding: 10px 30px;
    border-radius: 32px;
    text-decoration: none;
    margin: 10px 0 15px 0;
    display: inline-block;
    cursor: pointer;
}

.homepage-fade-slider .banner-content .temporary_text {
    text-align: center;
    background-color: transparent; /* <<< THIS SHOULD REMOVE THE BLUE */
    padding: 5px 0;
    line-height: 1.4;
    margin-top: 0px;
    width: 100%;
    color: #000;
}

.homepage-fade-slider .banner-content .temporary_text p {
    margin: 15px 0 0px 0;
    font-family: 'Assistant', var(--font-body-family);
    font-size: 20px;
    font-weight: 600;
    color: #000;
}
/* --- End Content Styles --- */

/* --- Custom Dots (Now in content flow) --- */
ul.my-custom-dots {
    /* position: absolute; */ /* <<< REMOVED */
    /* bottom: 75px; */ /* <<< REMOVED */
    /* left: 0; right: 0; */ /* <<< REMOVED */
    text-align: center;
    z-index: 10; /* Still good to keep it high */
    height: auto; /* Let content define height */
    margin: 0px 0 15px 0; /* Adjust top/bottom margin as needed for spacing */
                           /* Example: 10px above, 15px below */
    padding: 0;
    list-style: none;
    line-height: 0;
    width: 100%; /* Take full width to center dots within it */
}

/* Individual Dot LI */
.my-custom-dots li {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: 0 1px;
    padding: 2px;
    border: 1px solid transparent;
    box-sizing: border-box;
    width: 25px;
    height: 25px;
    transition: border-color 0.1s ease-in-out;
}

/* Individual Dot Button */
.my-custom-dots li button {
    width: 12px; height: 12px; padding: 0; border-radius: 50%;
    display: block; box-sizing: border-box; border: none;
    outline: none; font-size: 0; cursor: pointer;
    /* Default color removed, specific colors will apply */
}

/* Dot Colors */
.my-custom-dots li:nth-child(1) button { background: #F9DEB9; }
.my-custom-dots li:nth-child(2) button { background: #9F2624; }
.my-custom-dots li:nth-child(3) button { background: #FFCA6E; }
.my-custom-dots li:nth-child(4) button { background: #00B140; }
.my-custom-dots li:nth-child(5) button { background: #0047BB; }
.my-custom-dots li:nth-child(6) button { background: #25282B; }

/* Active Dot */
.my-custom-dots li.slick-active { border-color: #000; }

/* === END: HOMEPAGE BANNER - FINAL CSS === */

/* ========== START: SHOP PAGE PRODUCT CARD TWEAKS ========== */

/* 1. Reduces the vertical space around the price */
.shop-product-wrapper .price {
    margin-top: 1rem !important;      /* Reduces space above the price */
    margin-bottom: 1.5rem !important; /* Reduces space between price and button */
}

/* 2. Fixes capitalization and the horizontal gap in "Starting at $799.00" */
.price-starting {
    text-transform: none !important; /* Forces "at" to be lowercase */
    gap: 0.5rem !important;          /* ADJUSTED: Reduces the gap between "at" and the price */
}

/* ========== START: ABOUT US PAGE IMAGE LAYOUT (v3 - Direct Target) ========== */
/*
  Add the CSS class "about-us-image-layout" to your "Image with text" 
  section in the theme editor to activate these styles.
*/

/* Style the main grid container */
.about-us-image-layout .image-with-text__grid {
    display: flex !important;          /* Ensure it's a flex container */
    flex-wrap: nowrap !important;     /* Prevent image and text from stacking on wide screens */
    align-items: flex-start !important; /* Align items to the top */
    gap: 30px !important;             /* Adds space between image and text, adjust as needed */
}

/* Target the image directly as a flex item */
.about-us-image-layout .image-with-text__grid > img {
    flex-basis: 33% !important;  /* Set desired width. Try 25%, 40%, or a pixel value like 300px. */
    flex-grow: 0 !important;     /* Don't allow image to grow */
    flex-shrink: 0 !important;   /* Don't allow image to shrink beyond its flex-basis */
    
    width: 33% !important;       /* Reinforce width to override HTML attributes/sizes */
    max-width: 33% !important;   /* Absolute max width */
    height: auto !important;       /* Maintain aspect ratio */
    object-fit: contain;         /* Ensure whole image is visible, scaled down */
}

/* Target the text container as a flex item */
.about-us-image-layout .image-with-text__grid > .image-with-text__text-item {
    flex-basis: auto !important; /* Let it take up the remaining space */
    flex-grow: 1 !important;     /* Allow text block to grow and fill available space */
    width: auto !important;      /* Allow it to calculate its own width based on flex properties */
}

/* On smaller screens, stack the image and text */
@media (max-width: 767px) {
    .about-us-image-layout .image-with-text__grid {
         flex-direction: column !important; /* Stack them */
         gap: 20px !important;              /* Adjust gap for stacked layout */
    }
    .about-us-image-layout .image-with-text__grid > img,
    .about-us-image-layout .image-with-text__grid > .image-with-text__text-item {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-right: 0 !important; /* Reset any right margin from desktop */
    }
}
/* ========== END: ABOUT US PAGE IMAGE LAYOUT ========== */


/* ========== START: ABOUT US PAGE IMAGE & TEXT WRAP (Image Height Fix) ========== */
/*
  Assumes the class "about-us-image-layout" is on the main section element.
*/

.about-us-image-layout .image-with-text__grid {
    display: block !important; 
    overflow: auto !important; 
    padding: 0 !important;    
    margin: 0 !important;     
    border: none !important;  
    width: 100% !important;   
    box-sizing: border-box !important;
}

/* Style the image's column container (the one that floats) */
.about-us-image-layout .image-with-text__grid > .image-with-text__media-item {
    float: left !important;
    width: 45% !important;        /* CURRENT: Image column width - adjust as needed later */
    max-width: 540px !important;   /* CURRENT: Optional max pixel width - adjust as needed later */
    height: auto !important;       /* Allow height to be determined by content */
    margin: 0 30px 20px 0 !important; 
    padding: 0 !important;        
    box-sizing: border-box !important;
    border: none !important;       
    box-shadow: none !important;   
}

/* Style the direct wrapper of the image (inside the media-item) */
.about-us-image-layout .image-with-text__media-item .image-with-text__media {
    display: block !important; /* Ensure it behaves like a block */
    height: auto !important;      /* Let the image determine the height */
    min-height: unset !important; /* Override any theme min-height */
    padding-bottom: 0 !important; /* Override Shopify's aspect-ratio padding trick if active */
    overflow: visible !important; /* Prevent clipping of the image */
    position: static !important;  /* Override any relative/absolute that might affect clipping */
}

/* Ensure the image itself displays correctly within its containers */
.about-us-image-layout .image-with-text__media-item .image-with-text__media img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important; /* Ensures the whole image is visible, scaled to fit */
    max-width: 100% !important;   /* Ensure image doesn't overflow its direct parent */
    position: static !important; /* Ensure normal positioning */
    border-radius: 8px !important;
}

/* Text blocks container and individual text block styling */
.about-us-image-layout .image-with-text__grid > .image-with-text__heading,
.about-us-image-layout .image-with-text__grid > .image-with-text__text {
    width: auto !important; 
    display: block !important; 
    overflow: hidden !important; 
    max-width: 100%; 
    float: none !important;
    clear: none !important;
    margin-left: 0 !important; 
    margin-right: 0 !important;
    overflow-wrap: break-word !important; 
    word-wrap: break-word !important;
    margin-top: 1.5rem !important; 
}

/* Heading specific styles */
.about-us-image-layout .image-with-text__heading {
    font-size: inherit !important;
    font-weight: bold !important;
    line-height: 1.4 !important;
    margin-bottom: 0.25rem !important;
}

/* Remove top margin for the very first text/heading block after the image */
.about-us-image-layout .image-with-text__grid > .image-with-text__media-item + .image-with-text__heading,
.about-us-image-layout .image-with-text__grid > .image-with-text__media-item + .image-with-text__text {
    margin-top: 0 !important; 
}

/* Remove top margin for a text block that immediately follows a heading */
.about-us-image-layout .image-with-text__heading + .image-with-text__text {
    margin-top: 0 !important;
}

/* Paragraph spacing within text blocks */
.about-us-image-layout .image-with-text__text p {
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
}
.about-us-image-layout .image-with-text__text p:last-child {
    margin-bottom: 0 !important;
}

/* Responsive */
@media (max-width: 767px) {
    .about-us-image-layout .image-with-text__grid > .image-with-text__media-item {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 20px 0 !important;
    }
     .about-us-image-layout .image-with-text__grid > .image-with-text__heading,
     .about-us-image-layout .image-with-text__grid > .image-with-text__text {
        width: 100% !important; 
        overflow: visible !important; 
    }
}

/* Overall section padding (ensure this is still here or at the top of this block) */
.about-us-image-layout {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}
/* ========== END: ABOUT US PAGE LAYOUT ========== */

/* ========== START: ABOUT US - REVEALED BACKGROUND SEPARATORS ========== */

/* Optional: If your main page background ISN'T already the desired grey */
/*
body.template-page-about-us {
    background-color: #f0f0f0 !important; 
}
.template-page-about-us .shopify-section {
    background-color: #ffffff !important; 
}
*/

/* 1. Main "Image with Text" section (class .about-us-image-layout) */
.about-us-image-layout {
    padding-top: 100px !important;    /* Internal top padding */
    padding-bottom: 50px !important;   /* REDUCED: Internal bottom padding */
    margin-bottom: none !important;   /* This creates the grey bar above the multicolumn */
    border-bottom: none !important;
    margin-top: 0 !important; 
}

/* Make sure the page title section doesn't have a bottom margin if it's followed by our section */
.template-page-about-us #shopify-section-main.shopify-section { /* Or your specific page title section selector */
    margin-bottom: 0 !important;
    padding-bottom: 20px !important; 
    background-color: #ffffff !important; /* Or its specific banner color */
    border-bottom: none !important;
}

/* 2. The Multicolumn section (the middle one) */
.section-template--24470016360753__multicolumn_9PFK34-padding {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    /* border-top: none !important; */
    /* border-bottom: none !important; */
    /* padding-top: 100px !important; */
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}

/* 3. The section AFTER the multicolumn (e.g., your gallery) 
      From your page.about-us.json, the gallery section ID includes "gallery_ELQQRE" */
.section-template--24470016360753__gallery_ELQQRE-padding { /* Adjust selector if needed */
    margin-top: 0 !important; 
    border-top: none !important;
    padding-bottom: 0 !important; /* Remove extra padding if it's the last content section */
    margin-bottom: 0 !important; /* No margin if it's the last */
}

/* Ensure the very LAST section on the page has no bottom margin from our general rules, if any */
.template-page-about-us main#MainContent > .shopify-section:last-child {
    margin-bottom: 0 !important;
    border-bottom: none !important; /* Also ensure no lingering border */
    padding-bottom: 36px !important; /* Restore some final page padding, adjust as needed */
}

/* ========== END: ABOUT US - REVEALED BACKGROUND SEPARATORS ========== */

/*
  Force center alignment for product cards inside the
  dynamically loaded "You May Also Like" section.
*/
.product-detail .card__content {
  align-items: center !important;
}

/*
  ================================================================
  FINAL STYLES FOR "YOU MAY ALSO LIKE" SECTION
  ================================================================
*/

/* This targets the product recommendations component directly */
product-recommendations.related-products {
  display: block;
  box-sizing: border-box !important;

  /* This adds the top grey bar */
  margin-top: 20px !important;

  /* This adds the padding INSIDE the section */
  padding-top: 60px !important;
  padding-bottom: 80px !important; /* A bit extra for balance */
  padding-left: 100px !important;
  padding-right: 100px !important;
}

/* This targets the title inside the recommendations */
product-recommendations.related-products .related-products__heading {
  font-size: 4rem; /* Matching the homepage title */
  text-transform: uppercase;
  margin-bottom: 3rem;
}


/* --- Responsive Adjustments --- */
@media (max-width: 991px) {
  product-recommendations.related-products {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  product-recommendations.related-products .related-products__heading {
    font-size: 3.2rem;
  }
}

@media (max-width: 767px) {
  product-recommendations.related-products {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
   product-recommendations.related-products .related-products__heading {
    font-size: 2.8rem;
  }
}

/*
/* ==================================================================== */
/* == FINAL, PERFECTED DIVIDER SYSTEM (v2)                           == */
/* ==================================================================== */

/*
** STEP 1: A universal reset to prevent any conflicts.
*/
.product__info-container .product-form__input,
.product__info-container .corner_protectors_section {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important; /* This overrides the '44rem' limit */
  min-width: 100% !important; /* This overrides the 'fit-content' rule */
}

/*
** STEP 2: The definitive divider rule that applies a consistent
** border and spacing AFTER the correct sections.
*/
.product__info-container .product-form__input--swatch,
.product__info-container .product-form__input--swatch + .product-form__input--pill, /* This new line targets the "Fit" options */
.product__info-container .finishing-options-fieldset,
.product__info-container .product-form__input--pill,
.product__info-container .corner_protectors_section:not(.corner_protectors_section2) {
  border-bottom: 1px solid rgba(var(--color-foreground), 0.2) !important;
  padding-bottom: 1.5rem !important;
  margin-bottom: 1.5rem !important;
  max-width: 100% !important; /* This overrides the '44rem' limit */
  min-width: 100% !important; /* This overrides the 'fit-content' rule */
}

/*
** STEP 3: Explicitly remove any border from the "Quantity" block.
*/
.product__info-container .product-form__quantity {
    border-bottom: none !important;
}

/*
** Adds 15px of space directly above the "Add to Cart" button container.
*/
.product-form__buttons {
  margin-top: 30px !important;
}

/* =================================================================== */
/* == FORCED DIVIDER FOR CORNER PROTECTORS OPTION                 == */
/* =================================================================== */
/*
  This is a high-specificity override to fix a stubborn conflict
  with the product option dividers.
*/
.product__info-container fieldset.corner-protectors-fieldset {
    border-bottom: 1px solid rgba(var(--color-foreground), 0.2) !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

/*
============================================================
== START: Hyper-Specific Divider for Digital Gift Card
== This rule targets the gift card product by its unique ID
== to add the divider and ensures no other page is affected.
============================================================
*/
product-info[data-product-id="10113311113521"] .product-form__input--pill {
  border-bottom: 1px solid rgba(var(--color-foreground), 0.2) !important;
  padding-bottom: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

/*
============================================================
== START: Gift Card Full-Width Divider Fix
== Hides the short line and adds a full-width divider
== after the "Select Your Design" dropdown.
============================================================
*/

/* Step 1: Hide the default, short line that comes with the recipient form. */
.recipient-fields hr {
  display: none !important;
}

/* Step 2: Add a new, proper divider to the "Select Your Design" section above it. */
/* This is hyper-targeted to the gift card page using its unique product ID. */
product-info[data-product-id="10113311113521"] .corner_protectors_section2 {
  border-bottom: 1px solid rgba(var(--color-foreground), 0.2) !important;
  padding-bottom: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

/* --- START: Rounded Corners for Product Page Images --- */

/* 1. Main Product Image Container */
/* This rule targets the container of the main product image, rounds its corners,
   and ensures the image inside is clipped to the new rounded shape. */
.product-detail-page .product-media-container {
    border-radius: 14px; /* You can adjust this value */
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(white, black); /* Fix for Safari clipping issues */
}

/* 2. Product Thumbnail Images */
/* This rule targets the individual thumbnail links/buttons, rounds their corners,
   and clips the thumbnail image inside. */
.product-detail-page .thumbnail-list .thumbnail {
    border-radius: 8px; /* A smaller radius for the thumbnails looks balanced */
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(white, black); /* Fix for Safari clipping issues */
}

/* --- END: Rounded Corners for Product Page Images --- */


/* --- START: Rounded Corners for Quantity Selector (v4 - Final Fix) --- */

/* 1. This rule styles the main container. It sets the desired border,
   border-radius, and clips the inner content. */
quantity-input.quantity {
    border-radius: 22px !important;
    overflow: hidden !important;
    border: 1px solid rgba(var(--color-foreground), 0.4) !important;
}

/* 2. This rule targets the theme's ::after pseudo-element, which creates
   a "fake" border using a box-shadow. We disable it to prevent the
   double-border effect. */
quantity-input.quantity::after {
    box-shadow: none !important;
}

/* 3. These rules remove the default borders and backgrounds from the
   internal elements for a seamless look. */
quantity-input.quantity > .quantity__button {
    border: none !important;
}
quantity-input.quantity > .quantity__input {
    border: none !important;
    background-color: transparent !important;
    text-align: center;
}

/* --- END: Rounded Corners for Quantity Selector (v4 - Final Fix) --- */

/* --- START: Adjust Product Page Column Widths (52/48 Split) --- */

/* This targets the two-column layout on product pages for screens
   wider than 990px. We are adjusting the width to a 52% (image)
   and 48% (info) split to prevent content from wrapping with different currencies. */
@media screen and (min-width: 990px) {
  
  /* Sets the image column to 52% width */
  .product--medium:not(.product--no-media) .product__media-wrapper {
    max-width: 52% !important;
    width: calc(52% - var(--grid-desktop-horizontal-spacing) / 2) !important;
  }
  
  /* Sets the info/options column to 48% width */
  .product--medium:not(.product--no-media) .product__info-wrapper {
    max-width: 48% !important;
    width: calc(48% - var(--grid-desktop-horizontal-spacing) / 2) !important;
  }
}

/* --- END: Adjust Product Page Column Widths --- */

/* --- Add to Cart Loading State with Spinner Overlay --- */

/* When the button is loading, make the text semi-transparent */
.product-form__submit.loading,
.product-form__submit[aria-busy="true"] {
    opacity: 0.85;
}

/* Position the spinner directly in the center, on top of the text */
.product-form__submit.loading .loading__spinner,
.product-form__submit[aria-busy="true"] .loading__spinner {
    display: block !important;
    position: absolute !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 2.2rem;
    height: 2.2rem;
}

/* Style the spinner's circle to be white */
.product-form__submit.loading .spinner > .path,
.product-form__submit[aria-busy="true"] .spinner > .path {
    stroke: #ffffff;
}



/* =================================================================== */
/* == FINAL & CONSOLIDATED STYLES FOR GIFT CARD RECIPIENT FORM      == */
/* =================================================================== */

/* --- This is the layout rule that keeps the labels on top. --- */
.recipient-fields .field { 
    display: flex !important; 
    flex-direction: column-reverse !important; 
}

/* --- Styles for the field headers (e.g., "Recipient Name*") --- */
.recipient-fields .field .field__label {
    /* Behavior Fixes: Stop the jumping/animation */
    position: static !important;
    transform: none !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    
    /* Typography Fixes: Applying your exact styles */
    color: rgb(28, 28, 28) !important;
    font-family: Assistant, sans-serif !important;
    font-weight: 400 !important; /* Normal weight, NOT bold */
    font-size: 16px !important;
    letter-spacing: normal !important;
    line-height: 20px !important;
    text-transform: none !important;
    
    /* Spacing */
    padding: 0 !important;
    padding-bottom: 10px !important;
    margin: 0 !important;
}

/* --- Styles for the input boxes --- */
.recipient-fields .field .field__input,
.recipient-fields .field .text-area {
    border: 1px solid #b9b9b9 !important;
    border-radius: 5px !important;
    min-height: 45px !important;
    padding: 1rem !important;
    font-size: 14px !important;
    color: #000 !important;
    background: transparent !important;
}

/* --- Style for the placeholder text inside the box --- */
.recipient-fields .field .field__input::placeholder,
.recipient-fields .field .text-area::placeholder {
    opacity: 1 !important;
    color: #8c8c8c !important;
}

/* --- Style for WHEN A FIELD IS CLICKED (Focus State) --- */
.recipient-fields .field .field__input:focus,
.recipient-fields .field .text-area:focus {
   border-color: #b9b9b9 !important; /* Keep border grey */
   box-shadow: none !important;
   outline: none !important;
}

/* --- Final Neutralization & Cleanup --- */
/* This overrides any lingering theme rules that try to animate the label. */
.recipient-fields .field:before, 
.recipient-fields .field:after { 
    display: none !important; 
}

.recipient-fields .field__input:focus ~ .field__label,
.recipient-fields .field__input:not(:placeholder-shown) ~ .field__label {
    transform: none !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    top: auto !important;
    left: auto !important;
}

/* --- Hiding extra text and dividers --- */
.recipient-form span.form__label-info,
label.recipient-form-field-label--space-between { /* This line was re-added */
    display: none !important;
}

/* =================================================================== */
/* == Final Polish for Gift Card Delivery Options (v3 - Black Text) == */
/* =================================================================== */

/* 1. Styles the "Delivery" header to be SOLID BLACK. */
.recipient-delivery-options > .form__label {
    color: #000000 !important; /* Changed to pure black */
    font-family: Assistant, sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    letter-spacing: normal !important;
    line-height: 20px !important;
    text-transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    padding-bottom: 10px !important;
}

/* 2. Styles the radio button text ("Send Immediately", etc.) to be SOLID BLACK. */
.recipient-radio-group label {
    color: #000000 !important;
}

/* 3. Adds spacing to the radio buttons themselves. */
.recipient-radio-group {
    margin-bottom: 1rem;
}

/* 4. Moves the "Send On" date field container up when visible. */
[id^="SendOn-container-"] {
    margin-top: -10px;
}

/* --- Adds rounded corners to the Gift Card Design dropdown --- */
#select-gift-card-design {
    border-radius: 5px !important;
}

/* --- Hides the duplicate list of errors on the gift card form --- */
.product-form__recipient-error-message-wrapper ul {
  display: none !important;
}

/* --- Hides the main error icon above the recipient form --- */
.product-form__recipient-error-message-wrapper > h2.form__message {
  display: none !important;
}

/* =============================================================== */
/* == Styles for Gift Card Message Field & Character Counter    == */
/* =============================================================== */

/* 1. Set the height of the Message textarea */
#Recipient-message-{{ section.id }} {
    height: 12rem; /* You can adjust this value */
}

/* 2. Style the container for the character counter text */
.recipient-form-field-label--space-between {
    display: flex;
    justify-content: flex-end; /* Pushes the counter to the right */
    width: 100%;
}

/* 3. Style the character counter text itself */
.recipient-char-counter {
    font-size: 1.2rem;
    color: rgba(var(--color-foreground), 0.75);
    padding-top: 0.5rem;
}

/* =================================================================== */
/* == Final Polish for Recipient Form Helper Text & Spacing (v2)    == */
/* =================================================================== */

/* 1. Hide ALL optional/helper <span> tags by default. */
.recipient-form .recipient-fields span {
  display: none;
}

/* 2. Create exceptions to SHOW only the spans we WANT to see. */
.recipient-form .required-asterisk,
.recipient-form .recipient-char-counter,
.recipient-form .error-message { /* This class was added */
  display: inline !important;
}

/* 3. Style the character counter. */
.recipient-form .recipient-char-counter {
    display: block !important;
    text-align: right;
    font-size: 12.8px !important;
    padding-top: 0.5rem;
    color: rgba(var(--color-foreground), 0.75);
}

/* 4. Reduce the gap AFTER the "Message" field section. */
.recipient-fields > .recipient-fields__field:nth-child(3) {
    margin-bottom: 1.5rem !important; /* Reduced from the default */
}

/* =============================================================== */
/* == Increases the height of the Gift Card Message Field       == */
/* =============================================================== */

/* This more specific selector will override the theme's default height */
.recipient-form .recipient-fields textarea[id^="Recipient-message-"] {
  height: 8.5rem !important; /* You can adjust this value up or down! */
}

/* =================================================================== */
/* == FINAL, UNIFIED STYLES FOR GIFT CARD FORM AND ALL FEATURES     == */
/* =================================================================== */

/* --- Main Form Spacing & Layout --- */
.recipient-fields {
    row-gap: 1.5rem; /* Controls the gap between all fields */
}

/* This is the master rule that fixes the layout for each field */
.recipient-fields .field { 
    display: flex !important; 
    flex-direction: column-reverse !important; 
}

/* --- Message Field Height --- */
textarea[id^="Recipient-message-"] {
    height: 12rem !important; /* Doubles the height of the message box */
}

/* --- Character Counter Positioning & Styling --- */
/* 1. Make the Message field's container the positioning anchor */
.recipient-fields > .recipient-fields__field:has([id^="Recipient-message-"]) {
    position: relative;
    padding-bottom: 3rem !important; /* Creates space INSIDE for the counter */
    margin-bottom: 0 !important;      /* Removes margin to tighten gap below */
}

/* 2. Position the counter absolutely inside the container */
.recipient-form .recipient-char-counter {
    display: block !important;
    position: absolute !important;
    bottom: 1rem;
    right: 0.5rem;
    width: auto;
    text-align: right;
    font-size: 12.8px !important; /* Your requested font size */
    color: rgba(var(--color-foreground), 0.75);
    margin: 0 !important;
    padding: 0 !important;
}

/* --- Helper Text & Asterisk visibility --- */
/* 1. Hide all extra helper spans by default */
.recipient-form .recipient-fields span {
  display: none;
}

/* 2. Create exceptions to SHOW the spans we want */
.recipient-form .required-asterisk,
.recipient-form .recipient-char-counter {
  display: inline !important; 
}

/* 3. Add space before the asterisk */
.recipient-form .required-asterisk {
  display: inline-block !important;
  margin-left: 0.4rem;
}

/* =================================================================== */
/* == CONSISTENT FOCUS STYLE: Gift Card Recipient Form              == */
/* =================================================================== */

/* This applies the blue focus ring to all input and textarea fields
   within the recipient form, matching the new login page style. */
.recipient-form .field .field__input:focus,
.recipient-form .field .text-area:focus {
    border-color: #01a1ff !important;
    box-shadow: 0 0 0 1px #01a1ff !important;
    outline: none !important;
}

/* =================================================================== */
/* == TEST: DEALERS PAGE BACKGROUND WITH CONTACT US IMAGE           == */
/* =================================================================== */

/*
  This targets the map section on the Dealers page and applies
  the Contact Us background image to test functionality.
*/
#shopify-section-template--24579833692465__closeby_locator_WACYPR {
    /* Using the Contact Us image link for this test */
    background: url('/cdn/shop/files/Contact_Us.jpg?v=1719923959') center/cover no-repeat !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* =================================================================== */
/* == FINAL, UNIFIED FIX FOR THE SHOP PAGE BACKGROUND               == */
/* =================================================================== */

/*
    Step 1: Target the main container using the stable :has() selector.
    Apply the background here. This makes the entire section textured.
*/
div:has(> #ProductGridContainer) {
    background: url('/cdn/shop/files/shop-page-bgm.jpg?v=1720071678') center/cover no-repeat !important;
}

/*
    Step 2: Target the problematic inner div that you identified.
    Make its background transparent and REMOVE its padding so it no
    longer creates the white bars at the top and bottom.
*/
.section-template--24579833168177__product-grid-padding {
    background: transparent !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/*
    Step 3: Add our OWN padding to the product grid itself to create
    the desired spacing above and below the products.
*/
#ProductGridContainer {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* =================================================================== */
/* == FIX: ABOUT US PAGE BACKGROUND                                 == */
/* =================================================================== */

/*
    This targets the main content section on the About Us page using its
    stable 'about-us-image-layout' class and applies the new background.
*/
.about-us-image-layout {
    background: url('/cdn/shop/files/about-bgm.jpg?v=1719926347') center/cover no-repeat !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* =================================================================== */
/* == FIX: FAQ PAGE BACKGROUND                                      == */
/* =================================================================== */

/*
  This targets the main container on the FAQ page by looking for
  the div that :has() the '.faq-page__header' inside it.
*/
div:has(> .faq-page__header) {
    background: url('/cdn/shop/files/Contact_Us.jpg?v=1719923959') repeat !important;
    padding-bottom: 60px !important;
}

/* =================================================================== */
/* == CART PAGE: FINAL & DEFINITIVE BACKGROUND FIX                == */
/* =================================================================== */

/*
  This targets the specific section on the cart page by its ID.
  Using the full, unique ID gives us the highest possible
  specificity to ensure our styles are applied without question.
*/

#shopify-section-template--24579833135409__cart-items {
    /* Apply the textured background directly to the main section wrapper */
    background: url('/cdn/shop/files/about-bgm.jpg?v=1719926347') center/cover no-repeat !important;

    /* Override the section's default padding to prevent white bars */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/*
  This targets the <cart-items> element INSIDE that section.
  We make its background transparent so the texture from the
  parent section can show through.
*/
#shopify-section-template--24579833135409__cart-items > cart-items {
    background: transparent !important;

    /*
      We restore the padding here, on the inside element, to keep
      the content spaced correctly from the edges of the background.
    */
    padding-top: 60px !important;
    padding-bottom: 0px !important;
}

/*
  Finally, this makes the separate cart footer section transparent
  as well, for a seamless look all the way down the page.
*/
body.template-cart .cart__footer-wrapper {
   background: transparent !important;
}

/* =================================================================== */
/* == CART PAGE: CORRECTED Padding for Checkout Footer            == */
/* =================================================================== */

/*
  This targets the correct inner container for the checkout box
  using the section's unique ID for specificity, and sets an
  equal top and bottom padding to make it look balanced.
*/
#shopify-section-template--24579833135409__cart-footer .cart__footer {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}

/* =================================================================== */
/* == FINAL POLISH: PRODUCT REGISTRATION PAGE SPACING               == */
/* =================================================================== */

/*
    Step 1: Apply the textured background to the main container.
    The top padding has been removed to fix the "white bar" issue.
*/
div:has(> #globo-formbuilder-48541) {
    background: url('/cdn/shop/files/Contact_Us.jpg?v=1719923959') center/cover no-repeat !important;
    padding-bottom: 60px !important;
}

/*
    Step 2: Style the form itself as a white card, centered horizontally.
*/
#globo-formbuilder-48541 .globo-form-app {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 7px 29px rgba(100, 100, 111, 0.2) !important;
    padding: 40px !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/*
    Step 3 (The Fix): Add 60px of space ABOVE the form container.
    This pushes it down from the grey title banner.
*/
#globo-formbuilder-48541 {
    margin-top: 60px !important;
}

/* Fix for Globo Form Builder input color on Product Registration */
input#\34 8541-text-7,
input#\34 8541-text-7:not(:placeholder-shown) {
    color: #000000 !important;
}

/*
 * Styles for the "Learn More" link next to product option titles
 */
.variant__learn-more-link {
  color: #01a1ff;
  text-decoration: underline;
  font-size: 14px;
  font-weight: 400; /* Use 400 for normal or 600 for semi-bold if needed */
  font-family: 'Assistant', sans-serif; /* Ensures font consistency */
}

/* =================================================================== */
/* == CART ENGRAVING LINK STYLE                                     == */
/* =================================================================== */
.cart-item__edit-engraving {
  margin-top: 1rem;
}

.cart-item__edit-engraving .link {
  font-size: 1.4rem;
  color: #01a1ff;
  text-decoration: underline;
}

/* =================================================================== */
/* == CART DIVIDER STYLE  - OK BOOMER ITEM                          == */
/* =================================================================== */
/*
 * Final, forceful style for the cart item engraving divider.
 * This ensures it displays correctly over any theme conflicts.
 */
.cart-item__engraving-divider {
  display: block !important;
  width: calc(100% - 70px) !important;
  height: 1px !important;
  margin: 1rem 0 !important;
  background-color: rgba(var(--color-foreground), 0.2) !important;
  border: none !important;
}

/* --- FINAL v4: Polished Cart Option Styling & Wrapping --- */

/* This rule helps contain the floating label properly */
#main-cart-items .cart-item__properties .product-option {
  overflow: hidden;
}

/* Style the label (dt) and make it float to the left */
#main-cart-items .cart-item__properties .product-option dt {
  float: left;
  /* This creates a consistent space after the colon */
  margin-right: 0.5em; 

  /* The "soft bold" styling */
  font-weight: 600 !important;
  opacity: 0.85 !important;
}

/* Style the value (dd) to ensure it clears the float correctly */
#main-cart-items .cart-item__properties .product-option dd {
  /* Reset styles to ensure clarity */
  opacity: 1 !important;
  font-weight: 400 !important;
  color: var(--color-foreground) !important;
}

/* =================================================================== */
/* == CART PAGE: Final Polish for Buttons                         == */
/* =================================================================== */

/* This targets the main "Check Out" button */
.cart__checkout-button {
  background: #01a1ff !important;
  color: #fff !important;
  border-radius: 22px !important; /* Matches your Add to Cart button */
  font-size: 19px !important; /* Matches your Add to Cart button */
  font-family: 'Rubik', sans-serif !important;
  border: none !important;
}

/* This ensures the checkout button doesn't have a strange hover/focus outline */
.cart__checkout-button:after {
  box-shadow: none !important;
}

/* =================================================================== */
/* == CART PAGE: Add rounded corners to the checkout container     == */
/* =================================================================== */

.cart-footer .cart__footer .cart__blocks {
  border-radius: 14px !important; /* Matches other card elements on your site */
}

/* =================================================================== */
/* == CART PAGE: Add rounded corners to product thumbnails        == */
/* =================================================================== */

.cart-item__image-container {
  /* This creates the rounded corners, matching your other cards */
  border-radius: 14px !important; 

  /* This is crucial to clip the sharp corners of the image inside */
  overflow: hidden !important; 

  /* This is a compatibility fix to ensure rounding works perfectly on Safari */
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

/* =================================================================== */
/* == REVISION 3.0: UNIFIED CUSTOMER ACCOUNT PAGES (FINAL)          == */
/* == With perfectly consistent internal form spacing.              == */
/* =================================================================== */

/* --- 1. Main Form Container (The White Card) --- */
.login-boomer.customer #login ~ div,
.login-boomer.customer #recover ~ div,
.login-boomer.customer.register > form {
  background: #fff;
  /* This padding now creates a consistent "frame" on all sides */
  padding: 40px;
  box-shadow: 0 7px 29px rgba(100, 100, 111, 0.2);
  border-radius: 12px;
  border: 1px solid #eee;
  margin-top: 2rem;
}

/* --- 2. Page Headings (Login, Create Account, etc.) --- */
.login-boomer.customer h1 {
  text-align: center;
  font-size: 42px;
  font-family: 'square-regular', sans-serif;
  text-transform: uppercase;
  margin-bottom: 0;
}

/* --- 3. Input Fields & Static Labels (Unified) --- */
.login-boomer.customer .field {
    display: flex !important;
    flex-direction: column-reverse !important;
    margin-bottom: 2rem !important; /* Unified spacing between fields */
}

.login-boomer.customer .field label {
    position: static !important;
    transform: none !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    color: rgb(28, 28, 28) !important;
    font-family: 'Assistant', sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    padding: 0 0 10px 0 !important;
    margin: 0 !important;
}

.login-boomer.customer .field input {
    border: 1px solid #b9b9b9 !important;
    border-radius: 5px !important;
    min-height: 45px !important;
    padding: 1rem !important;
    font-size: 16px !important;
    font-family: 'Rubik', sans-serif !important;
    background: transparent !important;
    color: #000 !important;
}

.login-boomer.customer .field:before,
.login-boomer.customer .field:after {
    display: none !important;
}

.login-boomer.customer .field input:focus {
    border-color: #01a1ff !important;
    box-shadow: 0 0 0 1px #01a1ff !important;
    outline: none !important;
}

/* --- 4. Primary Buttons (Unified Styles) --- */
.login-boomer.customer button {
  background: #01a1ff !important;
  color: #fff !important;
  font-family: 'Rubik', sans-serif !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  border-radius: 50px !important;
  border: none !important;
  padding: 12px 30px !important;
  min-height: 48px !important;
  width: 100%;
}

/* Specific top margin for Login page button */
.login-boomer.customer.login button {
    margin-top: 1.5rem;
}

/* Specific top margin for Register page button (final user value) */
.login-boomer.customer.register button {
    margin-top: 0rem;
}

/* --- 5. Secondary Links (Unified) --- */
.login-boomer.customer a {
  display: block;
  text-align: center;
  color: #01a1ff;
  font-family: 'Rubik', sans-serif;
  font-size: 1.4rem;
  text-decoration: none;
  margin-top: 2rem;
  transition: color 0.2s ease;
}

.login-boomer.customer a:hover {
  color: #007acc;
  text-decoration: underline;
}

.login-boomer.customer .field + a {
    margin-top: 1.5rem;
}

/* --- 6. Consistent Inner Form Spacing (THE FIX) --- */
/* This ensures the first and last elements in the form respect the container's padding. */
.login-boomer.customer form > *:first-child {
  margin-top: 0 !important;
}
.login-boomer.customer form > *:last-child {
  margin-bottom: 0 !important;
}

/* --- 7. Consistent Focus Style for Gift Card Recipient Form --- */
.recipient-form .field .field__input:focus,
.recipient-form .field .text-area:focus {
    border-color: #01a1ff !important;
    box-shadow: 0 0 0 1px #01a1ff !important;
    outline: none !important;
}

/* =================================================================== */
/* == END: REVISION 3.0 - UNIFIED CUSTOMER ACCOUNT PAGE STYLES      == */
/* =================================================================== */

/* =================================================================== */
/* == FINAL & CORRECT Customer Account Error Styling              == */
/* =================================================================== */

/* --- 1. Base Style for ALL Error Messages --- */
.login-boomer.customer .form__message {
  display: flex;
  align-items: center;
  font-family: 'Assistant', sans-serif !important;
  font-size: 1.4rem !important;
  color: #d9534f !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0;
  font-weight: 400 !important;
}

/* --- 2. Error Icon Styling --- */
.login-boomer.customer .form__message svg {
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.8rem;
  flex-shrink: 0;
}

.login-boomer.customer .form__message svg * {
  fill: #d9534f !important;
  stroke: white !important;
}

/* --- 3. Per-Field Error Placement (Register Page) --- */
.login-boomer.customer.register .field + .form__message {
  margin-top: -1.2rem;   /* Pulls the message up under the field */
  margin-bottom: 1.2rem;  /* Adds space before the next field */
  justify-content: flex-start;
}

/* --- 4. General Error Placement (Login Page) --- */
/* This styles the error message in its NEW position above the button */
.login-boomer.customer.login a + .form__message {
    margin-top: 2rem;
    margin-bottom: 1.5rem;
    justify-content: center;
}

/* --- 5. Final Cleanup --- */
/* This permanently hides the old bulleted list of errors */
.login-boomer.customer form > ul,
.login-boomer.customer h2.form__message + ul {
    display: none !important;
}

/* This prevents input borders from turning red on error */
.login-boomer.customer .field input[aria-invalid="true"] {
    border-color: #b9b9b9 !important;
    box-shadow: none !important;
}

/* This ensures the blue focus style works even on an invalid field */
.login-boomer.customer .field input[aria-invalid="true"]:focus {
    border-color: #01a1ff !important;
    box-shadow: 0 0 0 1px #01a1ff !important;
}

/* Hides the 'First Name' error on page load by default */
#RegisterForm-FirstName-error {
  display: none;
}

/*
* Reduces the top margin on the password mismatch error message
* to counteract a style that pushes its input field up,
* aligning it perfectly with the other errors on the Register page.
*/
#RegisterForm-PasswordMismatch-error {
  margin-top: -3.2rem !important;
}

/* Apply blue focus outline to Powerful Form Builder fields */
.globo-form-app .globo-form-control input:focus,
.globo-form-app .globo-form-control textarea:focus,
.globo-form-app .globo-form-control select:focus {
  border-color: #01a1ff !important;
  box-shadow: 0 0 0 1px #01a1ff !important;
  outline: none !important;
}

/*
===================================================================
== ADDED: Disable shrinking label effect on Login/Register pages ==
===================================================================
*/

/*
  This targets the label ONLY when its corresponding input is
  focused or filled, and forces it to remain in its static,
  default state.
*/
.login-boomer.customer .field input:focus ~ label,
.login-boomer.customer .field input:not(:placeholder-shown) ~ label {
    /* Revert to a static, non-animated position */
    position: static !important;
    transform: none !important;

    /* Ensure the font size does NOT change from its default 16px */
    font-size: 16px !important;

    /* Reset any positional properties from the floating effect */
    top: auto !important;
    left: auto !important;
}

/* =================================================================== */
/* == FINAL & DEFINITIVE SEARCH STYLES                              == */
/* =================================================================== */

/* This CSS assumes the HTML structure where the <label>
   is outside and to the left of the <div class="field"> */

/* 1. Main container to align the external label and the search field */
.template-search .search__container,
.search-modal .search__container {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* 2. Style for the permanent, external "Search" label */
.template-search .search__container > .field__label,
.search-modal .search__container > .field__label {
  font-size: 1.6rem !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 500 !important;
  color: rgb(18, 18, 18) !important;
  flex-shrink: 0;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 3. The container for the input and icons. IT HAS NO BORDER. */
.template-search .field,
.search-modal .field {
  position: relative;
  flex-grow: 1;
  display: flex;
  align-items: center;
  /* Resetting the container to be invisible */
  border: none !important;
  padding: 0 !important;
  min-height: auto;
  background: transparent !important;
}

/* 4. Style the input field itself. THIS IS NOW THE VISIBLE BOX. */
.template-search .search__input,
.search-modal .search__input {
  width: 100%;
  border: 1px solid #b9b9b9 !important; /* Thin grey border */
  border-radius: 5px !important; /* Rounded corners */
  min-height: 48px;
  background-color: #ffffff !important;
  color: rgb(18, 18, 18) !important;
  font-size: 1.6rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  
  /* Right padding makes space for the absolutely positioned icons */
  padding: 0 6.5rem 0 1.2rem !important;
}

/* 5. The focus state is applied DIRECTLY TO THE INPUT, not the container. */
.template-search .search__input:focus,
.search-modal .search__input:focus {
  border-color: #01a1ff !important;
  box-shadow: 0 0 0 1px #01a1ff !important;
  outline: none !important;
}

/* 6. Position the buttons absolutely, inside the .field container. */
.template-search .field__button,
.search-modal .field__button {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* 7. Position each icon horizontally from the right */
.template-search .search__button,
.search-modal .search__button {
  right: 1.2rem !important; /* Magnifying glass */
}

.template-search .reset__button,
.search-modal .reset__button {
  right: 4.2rem !important; /* 'X' icon */
}

/* 8. Hide the original floating label HTML if it still exists inside the .field div */
.template-search .field > .field__label,
.search-modal .field > .field__label {
   display: none !important;
}

/*
  FINAL FIX: A highly specific selector to override stubborn
  theme styles and enforce rounded corners on the search input.
*/
.template-search form.search .field .search__input,
.search-modal form.search .field .search__input {
  border-radius: 5px !important;
}

.template-search .search__input:focus,
.search-modal .search__input:focus {
outline: none !important; /* Hides the default focus outline /
/ Keep your existing custom focus styles below, like the border and box-shadow */
border-color: #01a1ff !important;
box-shadow: 0 0 0 1px #01a1ff !important;
}

/*
  FINAL FIX: Hides the theme's default "pseudo-border" on the
  search field, which was causing the sharp-cornered grey box.
*/
.template-search .field::after,
.search-modal .field::after {
  display: none !important;
}

/* --- Search Bar Fix: Remove Vertical Line Separator --- */
.search .reset__button::after {
  display: none !important;
}

/* --- Search Bar Fix: Adjust Padding After Removing Reset Button --- */
.template-search .search__input,
.search-modal .search__input {
  /* Reduced right-padding from 6.5rem to 5rem to account for one less icon */
  padding-right: 5rem !important;
}

/* =================================================================== */
/* == OK Boomer Co. - Search Bar Visual Cleanup                     == */
/* =================================================================== */

/* 1. Hide the inner "clear text" button in the modal, as the main
      close button now handles its functionality. */
.search-modal .reset__button {
  display: none !important;
}

/* 2. Hide the vertical line separator that came with it. */
.search .reset__button::after {
  display: none !important;
}

/* 3. Adjust the input padding to reclaim the space. */
.search-modal .search__input {
  /* We reduce the padding on the right to compensate for the hidden icon. */
  padding-right: 5rem !important;
}

/* =================================================================== */
/* == Search Results Page: FINAL Adaptive Layout Styles           == */
/* =================================================================== */

/* 1. The main layout container (Defaults to 2 columns) */
.search-layout__container {
  display: grid;
  grid-template-columns: 1fr 320px; /* Flexible main column, fixed sidebar */
  gap: 6rem;
  align-items: flex-start;
  max-width: 1400px;
  margin-top: 3rem;
}

/* 2. THE ADAPTIVE FIX: When the sidebar is missing, switch to a single, full-width column. */
.search-layout__container.search-layout--no-sidebar {
  grid-template-columns: 1fr;
}


/* 3. The main area for the flowing product grid */
.search-layout__main .product-grid-flow {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.product-grid-flow__item {
  flex-grow: 1;
}

/* 4. Define the product card sizes for each layout scenario */

/* --- When sidebar IS visible (2-column layout), we fit 3 products in the main area --- */
.search-layout__container:not(.search-layout--no-sidebar) .product-grid-flow__item {
  flex-basis: calc(33.333% - 1.5rem);
}

/* --- When sidebar IS NOT visible (1-column layout), we fit 4 products across the page --- */
.search-layout__container.search-layout--no-sidebar .product-grid-flow__item {
  flex-basis: calc(25% - 1.5rem);
}


/* 5. The right sidebar for related links */
.search-layout__sidebar {
  position: sticky;
  top: 4rem;
}

.search-layout__sidebar-title {
  font-family: 'square-regular', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 1.8rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 1rem;
}

/* Re-using the clean list styles from before */
.search-results__link-list { list-style: none; padding: 0; margin: 0; }
.search-results__link { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding: 1.2rem; text-decoration: none; border-radius: 8px; transition: background-color 0.2s ease; }
.search-results__link:hover { background-color: #f7f7f7; }
.search-results__link-title { font-family: 'Rubik', sans-serif; font-size: 1.6rem; font-weight: 500; color: #01a1ff; transition: color 0.2s ease; }
.search-results__link:hover .search-results__link-title { color: #007acc; }
.search-results__link-meta { font-family: 'Assistant', sans-serif; font-size: 1.3rem; color: #6e6e6e; margin-top: 0.3rem; }
.search-results__link-type { display: none; }


/* 6. Responsive styles for smaller screens (unchanged, but still important) */
@media screen and (max-width: 1200px) {
  /* On medium-large screens, drop to 3 columns when full-width */
  .search-layout__container.search-layout--no-sidebar .product-grid-flow__item {
    flex-basis: calc(33.333% - 1.5rem);
  }
}

@media screen and (max-width: 990px) {
  /* Stack the columns on tablets and mobile */
  .search-layout__container {
    grid-template-columns: 1fr;
    gap: 5rem;
  }
  .search-layout__sidebar {
    position: static;
    top: auto;
    border-top: 1px solid #e5e5e5;
    padding-top: 4rem;
  }
  /* On tablets, both layouts use 2 columns */
  .search-layout__container:not(.search-layout--no-sidebar) .product-grid-flow__item,
  .search-layout__container.search-layout--no-sidebar .product-grid-flow__item {
    flex-basis: calc(50% - 1rem);
  }
}

@media screen and (max-width: 480px) {
  /* A single column of products on small mobile */
  .product-grid-flow__item {
    flex-basis: 100%;
  }
}

/* =================================================================== */
/* == Search Results Page - Final Search Bar Styles               == */
/* =================================================================== */

/* 1. Target ONLY the search page form using our new class */
.search-page-form .field {
  position: relative;
  display: flex;
  align-items: center;
}

.search-page-form .search__input {
  /* Replicate the exact styles from the working header search */
  border-radius: 5px !important;
  min-height: 48px !important;
  height: 48px !important;
  border: 1px solid #b9b9b9 !important;
  padding: 0 6.5rem 0 1.2rem !important; /* Make room for 2 icons */
  transition: all 0.2s ease !important;
}

/* --- 2. Create the correct blue focus state --- */
.search-page-form .search__input:focus {
  border-color: #01a1ff !important;
  box-shadow: 0 0 0 1px #01a1ff !important;
  outline: none !important;
}

/* --- 3. Vertically center the icons (The main fix) --- */
.search-page-form .field__button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* This is the key for vertical centering */
  height: 4.4rem;
  width: 4.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --- 4. Position the icons --- */
.search-page-form .search__button {
  right: 1.2rem;
}

.search-page-form .reset__button {
  right: 4.2rem;
}

/* --- 5. Clean up any conflicting default styles --- */
.search-page-form .field::after,
.search-page-form .reset__button::after {
  display: none !important;
}

/* =================================================================== */
/* == Search Results Page: Final Search Bar Layout                  == */
/* =================================================================== */

/* --- 1. Main Flexbox Container --- */
/* This aligns the "Search" label, the input field, and the 'X' button. */
.search-page-form .search__container {
  display: flex;
  align-items: center;
  gap: 1.5rem; /* Adjust space between elements */
}

/* --- 2. Input Field + Inner Icon Container --- */
/* This container now only holds the input and the magnifying glass. */
.search-page-form .field {
  position: relative !important; /* Anchor for the inner icon */
  flex-grow: 1; /* Allows the field to take up available space */
}

/* --- 3. The Search Input Field --- */
.search-page-form .search__input {
  /* Make space for the single magnifying glass icon on the right */
  padding-right: 5rem !important;
}

/* --- 4. The Magnifying Glass Icon (Alignment Fix) --- */
.search-page-form .search__button {
  position: absolute !important;
  top: 50% !important;
  right: 1.2rem !important;
  transform: translateY(-50%) !important; /* Guarantees vertical centering */

  /* Resets to prevent conflicts */
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 4.4rem !important;
  width: 4.4rem !important;
}

/* --- 5. The External 'X' Reset Button --- */
.search-page-reset-button {
  flex-shrink: 0; /* Prevents the button from shrinking */
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  line-height: 1; 
}

/* --- 6. The 'X' SVG Icon Itself --- */
/* This styles the 'X' to match the one from the header modal */
.search-page-reset-button svg {
  width: 2.2rem;
  height: 2.2rem;
  display: block;
}

/* =================================================================== */
/* == Search Results Page: Final Layout and Positioning             == */
/* =================================================================== */

/* Aligns the "Search" label, input field, and 'X' button */
form.search-page-form .search__container {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* Positions the inner magnifying glass */
form.search-page-form .field {
  position: relative !important;
  flex-grow: 1;
}

/* Makes space for the magnifying glass */
form.search-page-form .search__input {
  padding-right: 5rem !important;
}

/* Vertically centers the magnifying glass */
form.search-page-form .search__button {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: 1.2rem !important;
}

/* Styles the 'X' button container */
form.search-page-form .search-page-reset-button {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer;
  line-height: 1;
}

/* Final tweak: Corrects the color of the 'X' on the search results page */
form.search-page-form .search-page-reset-button {
  color: rgb(var(--color-foreground)) !important;
}

/* =================================================================== */
/* == Search Bar: Final Resize Prevention Fix                       == */
/* =================================================================== */

/* --- 1. Base style for the 'X' button --- */
/* This forces the button to always take up space in the layout,
   overriding the theme's default `.hidden` class. */
form.search-page-form .search-page-reset-button {
  display: flex !important; 
  align-items: center;
  justify-content: center;
  visibility: visible;
  opacity: 1;
  transition: opacity 150ms ease, visibility 150ms ease;
}

/* --- 2. Override for the '.hidden' class --- */
/* This rule now FORCES the button to remain visible and clickable
   even when the theme's JavaScript adds the '.hidden' class. */
form.search-page-form .search-page-reset-button.hidden {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Overrides padding-top for the search results grid */
.template-search #ProductGridContainer {
  padding-top: 0px !important;
}

/* This targets the search page specifically and removes the
   textured background image that is being applied by a general rule. */
.template-search.login-boomer::before {
  display: none !important;
}

/* =================================================================== */
/* == "No Results" Message Styling                                  == */
/* =================================================================== */

/* This targets the <p> tag that contains the "no results" text
   and centers it on the page. */
.template-search__header > p[role="status"] {
  text-align: center;
  width: 100%;
  margin-top: 5rem; /* Adds a bit of space below the search bar */
}

/* Styles the container for the "no products" message */
.search__no-products-message p {
  margin-top: 2rem;
  color: rgba(var(--color-foreground), 0.75);
}

/* =================================================================== */
/* == Definitive Background for Search Results Page                 == */
/* =================================================================== */

/*
  This single rule replaces all previous attempts. It forces the background
  pseudo-element to display and sets the correct new image.
*/
.template-search.login-boomer::before {
  /* --- IMPORTANT: Force the element to be visible --- */
  display: block !important;
  content: '' !important;

  /* --- Positioning to cover the background --- */
  position: absolute !important;
  width: 100% !important;
  height: 100% !important;
  top: 0 !important;
  left: 0 !important;
  z-index: -1 !important;

  /* --- The New Background Image --- */
  background-image: url('/cdn/shop/files/Contact_Us.jpg?v=1719923959') !important;

  /* --- Background Display Properties --- */
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* =================================================================== */
/* == FINAL SOLUTION: Bypassing JS Conflict by Scaling Parent Div   == */
/* =================================================================== */

/* --- Base Card Layout (Unchanged) --- */
.template-search ul#product-grid > li.grid__item { display: flex !important; }
.template-search .shop-product-wrapper .card.card--standard {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    padding: 2.5rem !important;
}
.template-search .card__inner {
    height: 200px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 2rem !important;
    overflow: hidden;
}
.template-search .card__content {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 0 !important;
}

/* =================================================================== */
/* == Search Results Fade-In Animation                            == */
/* =================================================================== */

/*
 * Step 1: Define the animation.
 * This creates a sequence that moves an element from being invisible
 * and slightly lower on the page to its final, visible position.
*/
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*
 * Step 2: Apply the animation to the search results grid.
 * We target the container by its ID (#ProductGridContainer) only on
 * the search page to ensure no other grids are affected.
*/
.template-search #ProductGridContainer {
  /* You can adjust the 0.8s to make the animation faster or slower */
  animation: fadeInUp 0.8s ease-out forwards;
}

/* =================================================================== */
/* == FINAL FIX: Applying Textured Background to Policy Pages       == */
/* =================================================================== */

/*
  This targets the main content section on each policy page
  and applies the background directly to it, ensuring it's visible.
*/
body.terms-conditions main#MainContent > .shopify-section,
body.warranty main#MainContent > .shopify-section,
body.returns-refunds main#MainContent > .shopify-section,
body.privacy-policy main#MainContent > .shopify-section,
body.custom-engraving-policy main#MainContent > .shopify-section,
body.modifications-and-cancellations-policy main#MainContent > .shopify-section,
body.digital-gift-card-policy main#MainContent > .shopify-section {
    background: url('/cdn/shop/files/about-bgm.jpg?v=1719926347') !important;
    background-size: cover !important;
}

/* --- OKB: Prevent layout shift on product image change --- */
.product__media-item.is-active {
  /* This is the key: forces the container to be square (or your desired ratio) */
  aspect-ratio: 1 / 1;
  /* Adds a placeholder background color while the image loads */
  background-color: #f2f2f2;
}

/* Ensure the image itself fills the container without distortion */
.product__media-item.is-active .product-media {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* --- OKB: Final fix to prevent image gallery layout shift --- */
.product__media-list {
  position: relative; /* Ensures proper layout for slider components */
  aspect-ratio: 1 / 1;
  background-color: #f8f8f8; /* A subtle placeholder color for loading */
}

/* --- OKB: Smooth fade-in for loaded product images --- */
.product__media-item.is-active .product-media {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}

.product__media-item.is-active.is-loading .product-media {
  opacity: 0;
}

/* --- Product Gallery FOUC Prevention (v3 - Final) --- */

/* This hides BOTH the main image list and the thumbnail list
   when the parent media-gallery is initializing. */
media-gallery.gallery-initializing .product__media-list,
media-gallery.gallery-initializing .thumbnail-list {
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 250ms ease-in-out;
}

/* This is the default state to ensure visibility is restored correctly. */
media-gallery .product__media-list,
media-gallery .thumbnail-list {
  visibility: visible;
}

/* --- FIX v4: Round the direct container of the product images --- */
.slider-mobile-gutter > .product__media-list {
  border-radius: 14px;
  overflow: hidden;
  /* Safari compatibility fix */
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

/*
============================================================
== FINAL FIX: NATIVE CURRENCY SELECTOR VISIBILITY
============================================================
*/

/* --- This section handles the DESKTOP selector --- */
@media screen and (min-width: 990px) {
  /* This ensures the wrapper in the main header is visible on desktop */
  .header .desktop-localization-wrapper {
    display: block !important;
  }
}

/* --- This section handles the MOBILE selector --- */
/* This ensures the selector inside the slide-out mobile menu is visible */
.menu-drawer__localization localization-form {
  display: block !important;
  padding: 1.2rem 2rem;
  border-top: 1px solid rgba(var(--color-foreground), 0.08);
}

/* ========================================================================= */
/* == Custom Styling for Selecty Market Selector App                      == */
/* ========================================================================= */

/* 1. Add and position the vertical separator on the right */
.header__icons selector-root {
  display: flex !important;
  align-items: center !important;
  border-right: 1px solid rgba(var(--color-foreground), 0.15) !important;
  padding-right: 1.5rem !important;
  margin-right: 1.5rem !important;
}
