/** Shopify CDN: Minification failed

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

**/
header {
    z-index: 2 !important;
}
label.block-swatch.is-disabled {
    pointer-events: none;
    cursor: not-allowed;
}
#size-fieldset {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s cubic-bezier(.25, .46, .45, .94);
    margin-top: 10px;
}
.custom_video_banner div:nth-child(3){
    z-index:1;
}
.product .product-gallery>button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.product .product-gallery>button#prev-slide {
    left: 30px;
}

.product .product-gallery>button#next-slide {
    right: 30px;
}

.product .product-gallery>span#slide-counter {
    position: absolute;
    bottom: 30px;
    left: 30px;
}

.product .product-gallery carousel-navigation.page-dots {
    display: none;
}

.product .product-gallery {
    gap: 0;
}

.product .product-gallery button.ar-button-hover-shadow {
    position: absolute;
    bottom: 43px;
    left: 50%;
    transform: translateX(-50%);
}

.product .product-gallery>span#slide-counter {
    position: absolute;
    bottom: 50px;
    left: 30px;
}

.product-info span#blankwall-container {
    display: none;
}

.variant-picker .variant-picker__option-values {
    flex-direction: column;
}

.variant-picker .variant-picker__option-values label.block-swatch {
    width: 100%;
    padding: 12px 16px;
}

.variant-picker .variant-picker__option-values label.block-swatch .label_zie_text {
    width: 100%;
    display: grid;
    grid-template-columns: 80px auto 80px;
    gap: 10px;
}

.variant-picker .variant-picker__option-values label.block-swatch .label_zie_text span {
    text-align: center;
    color: #868994;
}

.variant-picker .variant-picker__option-values label.block-swatch .label_zie_text span:first-child {
    color: #000;
    font-weight: 600;
    text-align: left;
}

.variant-picker .variant-picker__option-values label.block-swatch .label_zie_text span:last-child {
    text-align: right;
    color: #000;
}

span.circle {
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50px;
    background: #02a6ff;
}

.variant-picker__option-info button.link {
    color: #5d5f69;
    font-size: 11px;
}

.variant-picker__option-info legend {
    font-weight: 500;
    font-size: 11px;
}

.variant-picker__option .variant-picker__option-values {
    gap: 0px;
}

.option-2 .variant-picker__option-values,
.option-3 .variant-picker__option-values {
    display: flex;
    flex-direction: row;
}

.option-2 .variant-picker__option-values .block-swatch,
.option-3 .variant-picker__option-values .block-swatch {
    width: auto !important;
}



.product-list .product-card .product-card__quick-add-button {
    position: absolute;
    border-radius: 20px;
    padding: 6px 10px;
    bottom: 10px;
    right: 0;
    left: 0;
    z-index: 0;
    width: max-content;
    margin: 0 auto;
}
#blankwall-container #ar-button{
    padding: 6px 10px !important;
}
.quick-buy-modal__gallery-wrapper .product-gallery {
    position: relative;
}

.quick-buy-modal__gallery-wrapper .product-gallery #prev-slide {
    position: absolute;
    top: 223px;
    left: 5px;
}

.quick-buy-modal__gallery-wrapper .product-gallery #next-slide {
    position: absolute;
    top: 223px;
    right: 5px;
}

.quick-buy-modal__gallery-wrapper .product-gallery__image-list .product-gallery__carousel .product-gallery__media img {
    min-height: 530px;
    object-fit: cover;
}

/* .product-gallery__image-list .product-gallery__carousel .product-gallery__media{
    min-height: 700px;
} */

.product-gallery__image-list .product-gallery__carousel .product-gallery__media img {
    object-fit: cover;
    height: 100%;
    max-height: 1290px;
    min-height: 1px;
}

/* .product-gallery__image-list .contents .product-gallery__carousel {
        max-height: 700px !important;
} */
 
.quick-buy-modal__gallery-wrapper .product-gallery {
    gap: 0;
}

.quick-buy-modal__gallery-wrapper .product-gallery .page-dots {
    display: none;
}

.quick-buy-modal__gallery-wrapper .product-gallery #blankwall-container {
    position: absolute;
    bottom: 25px;
    left: 50%;
    transform: translate(-50%);
}
.product-info{
    z-index: unset;
}
.collection-toolbar{
    z-index: 1;
}
#size-fieldset .variant-picker{
    width: 100%;
}
#size-fieldset{
    transition: 500ms all linear;
}
.custom_video_banner{
    z-index: 0;
}
.product-info .product-info__block-list .product-info__block-item .text-wrapp {
    display: flex;
    justify-content: space-between;
}
.variant-picker__option-info .cstm_size_guide_btn{
    font-weight: 700;
    text-decoration: underline;
}
.mob_left_search{
    display:none;
}
@media(max-width: 1440px){
    .product-gallery__image-list .product-gallery__carousel .product-gallery__media img {
    max-height: 900px;
    min-height: 1px;
}
}
@media (max-width:998px) {
    .hamburger_search {
    display: flex;
    gap: 20px;
}
.header__secondary-nav .contents .header__search-link{
display: none;
}
    .mob_left_search{
    display:block;
}

        .product-gallery__image-list .product-gallery__carousel .product-gallery__media img {
    max-height: unset;
    min-height: unset;
}
    /* .product-gallery__image-list .contents .product-gallery__carousel {
        max-height: unset !important;
     } */

    #size-fieldset .variant-picker {
        position: absolute;
        bottom: 0px;
        width: 100%;
        background: #fff;
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;
        padding: 48px 20px 20px 20px;
    }



@media(max-width: 700px) {
    /* .product-gallery__image-list .product-gallery__carousel{
        max-height: 800px;
    } */
            .product-gallery__image-list .product-gallery__carousel .product-gallery__media img {
    max-height: 100%;
    min-height: 100%;
}
.product .product-gallery>button#prev-slide {
    left: 0px;
}

.product .product-gallery>button#next-slide {
    right: 00px;
}
    .quick-buy-modal__gallery-wrapper .product-gallery #prev-slide,
    .quick-buy-modal__gallery-wrapper .product-gallery #next-slide {
        display: none !important;
    }
    #size-fieldset .variant-picker{
        max-height: 450px;
        overflow-y: auto;
    }
}
@media(max-width: 480px) {
.hamburger_search {
    gap: 15px;
}

}
@media(max-width: 380px) {
.product-info  .product-info__block-item .variant-picker .variant-picker__option-fine-art.option-3 .block-swatch{
 padding: 10px 9px;
}
}

/* ── CRO-15-START — Product gallery: fixed-height carousel ── */
/* Updated 2026-05-03 (v3 — narrowed contain override to slide 2 only).
   - Fixed-height 4:5 carousel across all breakpoints (replaces adaptive-height).
   - Default object-fit: cover (fills carousel; slight edge crop).
   - Override: products tagged "gallery-contain" use object-fit: contain on
     SLIDE 2 ONLY (the bare-print image — first lifestyle slide stays cover). */

.product-gallery__carousel {
  max-height: none !important;
}

.product-gallery__media {
  aspect-ratio: 4 / 5;
  position: relative;
  overflow: hidden;
  background: #f5f3ee;
}

.product-gallery__media img,
.product-gallery__media video,
.product-gallery__media model-viewer {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Tag override — gallery-contain: applies object-fit: contain to slide 2 only.
   By AB convention, slide 1 = lifestyle hero (looks best filling); slide 2 =
   bare print (must not be cropped). */
.product-gallery--fit-contain .product-gallery__media:nth-child(2) img,
.product-gallery--fit-contain .product-gallery__media:nth-child(2) video,
.product-gallery--fit-contain .product-gallery__media:nth-child(2) model-viewer {
  object-fit: contain !important;
}
/* ── CRO-15-END ── */
/* ── CRO-PDP-CLEANUP-START — Tier 1 PDP polish (A,D) ── */
/* Updated 2026-05-03 (v3 — added Shop Pay container narrowing). */

/* A. Shop Pay (dynamic checkout) — visually subordinate to ATC.
   Container narrowed to 85% width and centered, so the primary ATC button
   reads as dominant. Also tightens the gap to "More payment options" link. */
.shopify-payment-button {
  max-width: 85%;
  margin-left: auto !important;
  margin-right: auto !important;
}
.shopify-payment-button__more-options {
  margin-top: 0.25rem !important;
  padding-top: 0 !important;
}
.shopify-payment-button__button {
  margin-bottom: 0.25rem !important;
}

/* D. Star rating — scale to 75%, anchored right to align with
   Size guide / Medium guide / Frame guide CTA links. */
.klaviyo-star-rating-widget {
  transform: scale(0.75);
  transform-origin: right center;
}
/* ── CRO-PDP-CLEANUP-END ── */
/* ── CRO-11-STICKY-ATC-START — mobile sticky ATC always visible ── */
/* Tier 1 item #11/#12 — Mobile sticky ATC visible from page load EXCEPT when
   either the static ATC is in viewport (avoid duplication) or the footer is
   in viewport (avoid overlap). The companion JS (custom.js, marker
   CRO-11-STICKY-ATC-JS-START) toggles .cro-hide-sticky based on intersection
   observers. v2 — 2026-05-03. */
@media (max-width: 768px) {
  .product-sticky-bar {
    opacity: 1 !important;
    visibility: visible !important;
    transition: opacity .2s, visibility .2s !important;
  }
  .product-sticky-bar.cro-hide-sticky {
    opacity: 0 !important;
    visibility: hidden !important;
  }
  body { padding-bottom: 76px; }
}
/* ── CRO-11-STICKY-ATC-END ── */
/* ── CRO-E-OVERLAY-V2-START — PDP gallery overlay (Path B) ── */
/* Tier 1 item E v2 (Path B, 2026-05-03). Custom slide counter + View in Room
   pill + heart favourites overlay at bottom of product gallery. Replaces
   Klaviyo + Blankwall injected UI with our own theme-controlled markup.
   Snippet at snippets/cro-pdp-gallery-overlay.liquid; behaviour in custom.js
   under marker CRO-E-OVERLAY-V2-JS. */

/* Hide ONLY Blankwall's #ar-button itself (we render our own visible pill;
   the actual #ar-button is positioned invisibly over our pill via JS).
   CRITICAL: do NOT hide #blankwall-container or .shopify-block parents —
   those contain the AR modal (#ar-modal) which Blankwall pops up on click.
   If parent is opacity:0 / clipped, the modal renders but is invisible. */
button[id="ar-button"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  pointer-events: none !important;
  opacity: 0 !important;
}
/* Hide other Blankwall UI bits visually (no clicks needed on these) but
   keep them in the layout so Blankwall's JS can find / show them */
#blankwall-container > #ar-button-icon,
#blankwall-container > #ar-button-text {
  /* Don't separately hide — they're inside the hidden ar-button */
}
/* Slide counter (theme's own) — safe to fully hide; no click needed */
#slide-counter { display: none !important; }
/* Klaviyo wishlist slots — same off-screen pattern (clicks need to forward) */
.product-info__block-item:has(.kl-hub-favorites-slot) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* Fallback for browsers without :has() — JS adds this class on the wrapper */
.cro-fav-wrapper-hidden {
  display: none !important;
}

/* Position context — gallery already has position: relative from CRO-15.
   Grid with 1fr / auto / 1fr columns: counter justified to start, VIR
   centered in middle column (truly centered regardless of side widths),
   heart justified to end. */
.cro-pdp-overlay {
  position: absolute;
  bottom: 1.875rem;
  left: 0;
  right: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  z-index: 10;
  pointer-events: none;
  font-family: inherit;
}
.cro-pdp-overlay > *:nth-child(1) { justify-self: start; padding-left: 0.5rem; }
.cro-pdp-overlay > *:nth-child(2) { justify-self: center; }
.cro-pdp-overlay > *:nth-child(3) { justify-self: end; padding-right: 0.5rem; }
.cro-pdp-overlay > * { pointer-events: auto; }

/* Slide counter — plain text, no pill background */
.cro-pdp-overlay__counter {
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  color: rgba(0, 0, 0, 0.9);
  background: transparent;
  padding: 0;
  line-height: 1.4;
  white-space: nowrap;
}

/* View in Room pill — visible custom button. Blankwall's actual #ar-button
   stays in its original DOM (so its modal/tooltip context works) but is
   positioned invisibly on top via JS for "trusted" click forwarding. */
.cro-pdp-overlay__vir {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  background: rgba(255, 255, 255, 0.95);
  color: #1a1a1a;
  border: none;
  padding: 0 0.875rem;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.cro-pdp-overlay__vir-text { line-height: 1; }
/* Click-through Blankwall button — the JS sets all positioning inline; this
   class is just a marker / safety net to ensure it stays interactable. */
button#ar-button.cro-pdp-overlay__vir-clickthrough {
  cursor: pointer !important;
}
/* Hidden duplicate Blankwall buttons (off-screen via the default rule) */
button#ar-button.cro-vir-hidden-instance {
  display: none !important;
}

/* Heart button — circle. Use absolute centering for icon (bulletproof
   against any inherited button/inline-flex layout quirks). */
.cro-pdp-overlay__heart {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
  padding: 0;
  margin: 0;
  background: rgba(255, 255, 255, 0.95);
  color: #1a1a1a;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.cro-pdp-overlay__heart .cro-pdp-overlay__heart-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 14px;
  margin: 0;
  padding: 0;
  display: block;
  transform: translate(-50%, -50%);
}
.cro-pdp-overlay__heart:hover { box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18); }
.cro-pdp-overlay__heart:active { transform: scale(0.93); }

/* Heart filled state — toggle outline ↔ filled SVG via .is-active */
.cro-pdp-overlay__heart .cro-pdp-overlay__heart-icon--filled { display: none; }
.cro-pdp-overlay__heart.is-active .cro-pdp-overlay__heart-icon--outline { display: none; }
.cro-pdp-overlay__heart.is-active .cro-pdp-overlay__heart-icon--filled { display: block; }
/* ── CRO-E-OVERLAY-V2-END ── */
/* ── CRO-G-HEADER-START — narrow + transparent mobile header ── */
/* Tier 1 item G (added 2026-05-03). Mobile-only header tweaks:
   - Narrower (reduced padding-block)
   - Semi-transparent with backdrop-blur ("tinted glass") so image content
     shows through while icons stay readable
   - Slightly smaller logo */
@media (max-width: 768px) {
  /* Narrow header + smaller logo: applies sitewide on mobile.
     Transparent-on-load + image-to-top reverted 2026-05-03 — header now
     uses theme default (solid white) on all pages. */
  x-header.header {
    padding-block: 0.375rem !important;
  }
  .header__logo-image {
    --header-logo-width: 110px !important;
  }

  /* Show account icon in mobile header (between favourites and cart).
     Theme hides it via .sm-max:hidden on desktop-only display; we override.
     Account icon click opens the Klaviyo Customer Hub (chat / orders /
     profile / favourites / rewards). */
  .header__account-link.sm-max\:hidden {
    display: revert !important;
  }

  /* Re-style Klaviyo customer hub launcher on mobile as a chat-icon FAB
     that sits at the right edge of the sticky ATC bar (or alone when sticky
     ATC isn't visible). Replaces the purple person icon with a white chat
     bubble; black square instead of round; positioned bottom-right tighter
     to align with sticky ATC vertical rhythm. */
  .kl-hub-launcher {
    background: #1a1a1a !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 20px 20px !important;
    border-radius: 0 !important;
    /* Match the ATC button's computed height exactly (theme .button class
       renders 42.6px tall from padding + line-height — not a hard-coded
       value, but CSS happily takes fractional px). */
    width: 42.6px !important;
    height: 42.6px !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18) !important;
  }
  /* Hide Klaviyo's inner content (their person SVG / label) — we use the
     background-image chat icon instead */
  .kl-hub-launcher > * { display: none !important; }
  /* Position the launcher's wrapper widget bottom-right with the SAME inset
     the sticky ATC bar uses on its left (theme uses padding: var(--container-gutter)
     all sides, so matching right + bottom makes the chat square symmetric to
     the ATC button — equal margin from right edge AND equal vertical position
     to ATC). Override any animation-driven transform that would shift it. */
  [class*="HubLauncherWidget"] {
    position: fixed !important;
    bottom: var(--container-gutter, 1rem) !important;
    right: var(--container-gutter, 1rem) !important;
    transform: none !important;
    z-index: 60 !important;
  }
  /* When sticky ATC is visible, reserve space on its right so the ATC button
     sits beside (not under) the chat square. 44px chat + container-gutter
     inset + 8px breathing room. Sticky ATC visibility is controlled by
     .cro-hide-sticky from CRO-11-STICKY-ATC. */
  .product-sticky-bar:not(.cro-hide-sticky) {
    padding-right: calc(var(--container-gutter, 1rem) + 52px) !important;
  }
}

/* Header favourites icon: remove the hardcoded white circle background;
   keep only the heart stroke (sitewide, not just mobile) */
#favorites-icon-bubble svg circle { display: none !important; }

/* Cart badge dot: remove the white border ring (sitewide) */
.header__cart-dot { box-shadow: none !important; }
/* ── CRO-G-HEADER-END ── */
/* ── CRO-DRAWER-START — generic slide-in drawer + reviews ── */
/* Tier 1 item H — generic drawer + reviews integration. */

.cro-drawer {
  position: fixed;
  inset: 0;
  z-index: 100;
  pointer-events: none;
}
.cro-drawer:not([hidden]) { pointer-events: auto; }
.cro-drawer__bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.25s ease;
}
.cro-drawer.is-open .cro-drawer__bg { opacity: 1; }

.cro-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(420px, 100%);
  background: #fff;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.25s ease;
  box-shadow: -2px 0 12px rgba(0, 0, 0, 0.12);
}
.cro-drawer.is-open .cro-drawer__panel { transform: translateX(0); }

.cro-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  flex-shrink: 0;
}
.cro-drawer__heading {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.cro-drawer__close {
  background: transparent;
  border: none;
  padding: 0.5rem;
  margin: -0.5rem;
  cursor: pointer;
  color: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cro-drawer__close:hover { opacity: 0.7; }

.cro-drawer__content {
  padding: 1.25rem;
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.cro-drawer__loading,
.cro-drawer__fallback {
  text-align: center;
  padding: 2rem 1rem;
  color: rgba(0, 0, 0, 0.6);
}
.cro-drawer__fallback-link {
  display: inline-block;
  margin-top: 0.5rem;
  font-weight: 500;
  text-decoration: underline;
}

/* Body lock when drawer open (prevents background scroll) */
body.cro-drawer-open { overflow: hidden; }

/* Star widget click affordance — make whole widget look clickable */
.klaviyo-star-rating-widget { cursor: pointer; }
/* ── CRO-DRAWER-END ── */
/* ── CRO-CHEVRONS-START — gallery prev/next chevron restyle ── */
/* Strip the white circle background and thicken the chevron stroke on the
   gallery prev/next buttons (rendered in snippets/product-gallery.liquid).
   SVG inline markup has hardcoded fill/stroke + 50% opacity — override here
   so we don't have to touch the snippet. */
#prev-slide,
#next-slide {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
#prev-slide svg,
#next-slide svg {
  opacity: 1 !important;
}
#prev-slide svg circle,
#next-slide svg circle {
  display: none !important;
}
#prev-slide svg path,
#next-slide svg path {
  stroke-width: 1.5 !important;
}
/* ── CRO-CHEVRONS-END ── */
