/* Product related/viewed premium rails. Scoped rollout 20260508 premium polish. */
.bruno-product-rail {
    --br-bg: #fbfaf7;
    --br-paper: #fffdf9;
    --br-gold: #bea680;
    --br-text: #534d51;
    --br-ink: #3c3b36;
    --br-line: rgba(190, 166, 128, .36);
    --br-shadow: 0 18px 46px rgba(60, 59, 54, .08);
    position: relative;
    margin: 54px 0 0;
    padding: 0 0 28px;
    color: var(--br-text);
    content-visibility: auto;
    contain-intrinsic-size: 560px;
}

.bruno-product-rail--viewed {
    margin-top: 36px;
}

.bruno-product-rail .container {
    width: auto;
    max-width: 1360px;
    padding-left: 20px;
    padding-right: 20px;
}

.bruno-product-rail__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
}

.bruno-product-rail__title {
    position: relative;
    display: block;
    margin: 0;
    color: var(--br-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(22px, 2.4vw, 34px);
    line-height: 1.12;
    font-weight: 400;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bruno-product-rail__title:after { display: none; }

.bruno-product-rail__lead {
    max-width: 360px;
    margin: 8px 0 0;
    color: rgba(83, 77, 81, .72);
    font-size: 14px;
    line-height: 1.6;
}

.bruno-product-rail .controll {
    position: relative;
}

.bruno-product-rail .bruno-products-strip {
    margin-left: 0;
    margin-right: 0;
}

.bruno-product-rail .owl-stage-outer {
    padding: 2px 0 28px;
}

.bruno-product-rail .owl-stage {
    display: flex;
}

.bruno-product-rail .owl-item {
    display: flex;
}

.bruno-product-rail .item.products {
    display: flex;
    width: 100%;
    min-height: 100%;
    padding: 0;
}

.bruno-product-rail .catalog-box1 {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    background: var(--br-paper);
    border: 1px solid rgba(190, 166, 128, .24);
    box-shadow: var(--br-shadow);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    cursor: pointer;
}

.bruno-product-rail .catalog-box1:hover {
    transform: translateY(-2px);
    border-color: rgba(190, 166, 128, .42);
    box-shadow: 0 22px 54px rgba(60, 59, 54, .12);
}

.bruno-product-rail .catalog-box1 .image,
.bruno-product-rail .catalog-box1 .image a {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 571 / 435;
    overflow: hidden;
    background: #f2eee7;
}

.bruno-product-rail .catalog-box1 .image img {
    display: block;
    width: 100%;
    height: 100% !important;
    aspect-ratio: auto;
    object-fit: cover;
    transition: transform .45s ease;
}

.bruno-product-rail .catalog-box1:hover .image img {
    transform: scale(1.035);
}

.bruno-product-rail .price,
.bruno-product-rail .catalog-box1-price,
.bruno-product-rail .catalog-box1-text,
.bruno-product-rail .button.b3,
.bruno-product-rail .button_detal,
.bruno-product-rail .btn,
.bruno-product-rail .tag-new,
.bruno-product-rail [class*="price"],
.bruno-product-rail [class*="material"],
.bruno-product-rail [class*="variant"] {
    display: none !important;
}

.bruno-product-rail .products-like-this,
.bruno-product-rail .catalog-box1 > div:not(.image) {
    flex: 1 1 auto;
    min-height: 94px;
    padding: 22px 22px 24px;
    background: var(--br-paper);
}

.bruno-product-rail .catalog-box-title {
    min-height: 52px;
    margin: 0;
    color: var(--br-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(20px, 1.45vw, 24px);
    line-height: 1.18;
    font-weight: 700;
    letter-spacing: 0;
}

.bruno-product-rail .catalog-box-title a {
    color: inherit;
    text-decoration: none;
    transition: color .18s ease;
}

.bruno-product-rail .catalog-box1:hover .catalog-box-title a,
.bruno-product-rail .catalog-box1:focus .catalog-box-title a,
.bruno-product-rail .catalog-box1:focus-within .catalog-box-title a {
    color: #9a7a4d;
}

.bruno-product-rail .catalog-box1:focus {
    outline: 2px solid rgba(190, 166, 128, .65);
    outline-offset: 4px;
}

.bruno-product-rail .owl-prev,
.bruno-product-rail .owl-next {
    position: absolute;
    top: -78px;
    z-index: 5;
    display: inline-grid !important;
    place-items: center;
    width: 46px;
    height: 46px;
    overflow: hidden;
    border: 1px solid var(--br-gold) !important;
    border-radius: 0 !important;
    background: linear-gradient(135deg, rgba(190, 166, 128, .10), rgba(255, 253, 249, .92)) !important;
    color: var(--br-ink) !important;
    box-shadow: 0 0 0 0 rgba(190, 166, 128, .34) !important;
    opacity: 1 !important;
    transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
    animation: br-rail-arrow-idle-cue 2.6s ease-in-out infinite;
}

.bruno-product-rail .owl-prev { right: max(76px, calc((100vw - 1360px) / 2 + 76px)); }
.bruno-product-rail .owl-next { right: max(20px, calc((100vw - 1360px) / 2 + 20px)); }

.bruno-product-rail .owl-prev:before,
.bruno-product-rail .owl-next:before {
    content: "";
    position: absolute;
    inset: -40% auto -40% -65%;
    width: 56%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .78), transparent);
    transform: skewX(-18deg) translateX(0);
    animation: br-rail-arrow-sheen 3.1s ease-in-out infinite;
    pointer-events: none;
}

.bruno-product-rail .owl-prev:hover,
.bruno-product-rail .owl-next:hover {
    background: var(--br-gold) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 24px rgba(190, 166, 128, .32) !important;
    animation-play-state: paused;
}

.bruno-product-rail .owl-prev:active,
.bruno-product-rail .owl-next:active {
    transform: translateY(1px) scale(.94) !important;
}

.bruno-product-rail .owl-prev .fa,
.bruno-product-rail .owl-next .fa {
    position: relative;
    z-index: 1;
    display: block;
    font-size: 16px;
    line-height: 1;
    transition: transform .18s ease;
}

.bruno-product-rail .owl-prev:hover .fa { transform: translateX(-5px); }
.bruno-product-rail .owl-next:hover .fa { transform: translateX(5px); }

@keyframes br-rail-arrow-idle-cue {
    0%, 100% { box-shadow: 0 0 0 0 rgba(190, 166, 128, .26); }
    50% { box-shadow: 0 0 0 7px rgba(190, 166, 128, 0); }
}

@keyframes br-rail-arrow-sheen {
    0%, 58% { transform: skewX(-18deg) translateX(0); opacity: 0; }
    66% { opacity: 1; }
    84%, 100% { transform: skewX(-18deg) translateX(310%); opacity: 0; }
}

.bruno-product-rail .bruno-products-strip:not(.owl-loaded) {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 48px) / 4);
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 3px 2px 28px;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.bruno-product-rail .bruno-products-strip:not(.owl-loaded)::-webkit-scrollbar { display: none; }
.bruno-product-rail .bruno-products-strip:not(.owl-loaded) > .item.products { scroll-snap-align: start; }

@media (max-width: 1023px) {
    .bruno-product-rail .bruno-products-strip:not(.owl-loaded) { grid-auto-columns: calc((100% - 24px) / 2); }
}

@media (max-width: 767px) {
    .bruno-product-rail {
        contain-intrinsic-size: 520px;
        overflow: hidden;
        margin-top: 38px;
        padding-bottom: 18px;
    }

    .bruno-product-rail .container {
        width: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }

    .bruno-product-rail__header {
        display: block;
        margin-bottom: 16px;
    }

    .bruno-product-rail__lead { font-size: 13px; }

    .bruno-product-rail .controll .owl-prev,
    .bruno-product-rail .controll .owl-next,
    .bruno-product-rail .controll .owl-nav {
        display: none !important;
    }

    .bruno-product-rail.is-native-snap .owl-stage-outer {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        margin-left: -16px;
        margin-right: -16px;
        padding-left: 16px;
        padding-right: 16px;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .bruno-product-rail.is-native-snap .owl-stage-outer::-webkit-scrollbar { display: none; }

    .bruno-product-rail.is-native-snap .owl-stage {
        display: flex !important;
        gap: 14px;
        width: auto !important;
        transform: none !important;
        transition: none !important;
    }

    .bruno-product-rail.is-native-snap .owl-item {
        width: minmax(246px, 78vw) !important;
        width: 78vw !important;
        min-width: 246px !important;
        max-width: 330px;
        flex: 0 0 78vw;
        scroll-snap-align: start;
    }

    .bruno-product-rail.is-native-snap .item.products {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .bruno-product-rail .products-like-this,
    .bruno-product-rail .catalog-box1 > div:not(.image) {
        min-height: 74px;
        padding: 15px 15px 17px;
    }

    .bruno-product-rail .catalog-box-title {
        min-height: 42px;
        font-size: 16px;
    }

    .bruno-product-rail .bruno-products-strip:not(.owl-loaded) {
        grid-auto-columns: minmax(246px, 78vw);
        gap: 14px;
        margin-left: -16px;
        margin-right: -16px;
        padding-left: 16px;
        padding-right: 16px;
        scroll-snap-type: x mandatory;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bruno-product-rail .owl-prev,
    .bruno-product-rail .owl-next,
    .bruno-product-rail .owl-prev:before,
    .bruno-product-rail .owl-next:before,
    .bruno-product-rail .catalog-box1,
    .bruno-product-rail .catalog-box1 .image img {
        animation: none !important;
        transition: none !important;
    }
}

/* Final override: keep Owl nav in premium header position, not legacy side controls. */
.bruno-product-rail .controll > .owl-prev,
.bruno-product-rail .controll > .owl-next,
.bruno-product-rail .owl-nav .owl-prev,
.bruno-product-rail .owl-nav .owl-next {
    top: -78px !important;
    bottom: auto !important;
    left: auto !important;
    margin: 0 !important;
}
.bruno-product-rail .controll > .owl-prev,
.bruno-product-rail .owl-nav .owl-prev { right: max(76px, calc((100vw - 1360px) / 2 + 76px)) !important; }
.bruno-product-rail .controll > .owl-next,
.bruno-product-rail .owl-nav .owl-next { right: max(20px, calc((100vw - 1360px) / 2 + 20px)) !important; }


/* Final override: unified carousel button animation for related/viewed. */
.bruno-product-rail .controll > .owl-prev,
.bruno-product-rail .controll > .owl-next,
.bruno-product-rail .owl-nav .owl-prev,
.bruno-product-rail .owl-nav .owl-next {
    animation: br-rail-arrow-idle-cue 2.6s ease-in-out infinite !important;
    animation-delay: 0s !important;
    transform: none !important;
}

.bruno-product-rail .controll > .owl-prev:before,
.bruno-product-rail .controll > .owl-next:before,
.bruno-product-rail .owl-nav .owl-prev:before,
.bruno-product-rail .owl-nav .owl-next:before {
    animation: br-rail-arrow-sheen 3.1s ease-in-out infinite !important;
    animation-delay: 0s !important;
}

.bruno-product-rail .controll > .owl-prev:hover,
.bruno-product-rail .controll > .owl-next:hover,
.bruno-product-rail .owl-nav .owl-prev:hover,
.bruno-product-rail .owl-nav .owl-next:hover {
    transform: translateY(-1px) !important;
    animation-play-state: paused !important;
}

.bruno-product-rail .controll > .owl-prev:hover:before,
.bruno-product-rail .controll > .owl-next:hover:before,
.bruno-product-rail .owl-nav .owl-prev:hover:before,
.bruno-product-rail .owl-nav .owl-next:hover:before {
    animation-play-state: paused !important;
}

.bruno-product-rail .controll > .owl-prev .fa,
.bruno-product-rail .controll > .owl-next .fa,
.bruno-product-rail .owl-nav .owl-prev .fa,
.bruno-product-rail .owl-nav .owl-next .fa {
    transform: none !important;
    transition: transform .18s ease !important;
}

.bruno-product-rail .controll > .owl-prev:hover .fa,
.bruno-product-rail .controll > .owl-next:hover .fa,
.bruno-product-rail .owl-nav .owl-prev:hover .fa,
.bruno-product-rail .owl-nav .owl-next:hover .fa {
    transform: scale(1.08) !important;
}


/* Final override: center chevron icons inside premium square nav buttons. */
.bruno-product-rail .controll > .owl-prev,
.bruno-product-rail .controll > .owl-next,
.bruno-product-rail .owl-nav .owl-prev,
.bruno-product-rail .owl-nav .owl-next {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 46px !important;
}

.bruno-product-rail .controll > .owl-prev .fa,
.bruno-product-rail .controll > .owl-next .fa,
.bruno-product-rail .owl-nav .owl-prev .fa,
.bruno-product-rail .owl-nav .owl-next .fa {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 18px !important;
    text-align: center !important;
}

.bruno-product-rail .controll > .owl-prev .fa:before,
.bruno-product-rail .controll > .owl-next .fa:before,
.bruno-product-rail .owl-nav .owl-prev .fa:before,
.bruno-product-rail .owl-nav .owl-next .fa:before {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    line-height: 18px !important;
    text-align: center !important;
}


/* Final override: reduce the whitespace after reviews before product rails. */
@media (min-width: 768px) {
    .bruno-product-rail--related {
        margin-top: -120px !important;
    }
}

@media (max-width: 767px) {
    .bruno-product-rail--related {
        margin-top: 20px !important;
    }
}


/* Sample match 20260508: bigger cards, tighter gutters, stronger product names. */
@media (min-width: 1199px) {
    .bruno-product-rail .catalog-box1 .image,
    .bruno-product-rail .catalog-box1 .image a {
        aspect-ratio: 300 / 230;
    }

    .bruno-product-rail .owl-stage-outer {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (min-width: 768px) {
    .bruno-product-rail .catalog-box-title a {
        display: block;
        max-width: 100%;
        font-family: Georgia, "Times New Roman", serif !important;
        font-weight: 700 !important;
        letter-spacing: -0.01em;
    }
}

/* Sample title/layout alignment 20260508: product names like approved mockup. */
.bruno-product-rail .products-like-this,
.bruno-product-rail .catalog-box1 > div:not(.image) {
    text-align: left !important;
}

.bruno-product-rail .catalog-box-title {
    text-align: left !important;
    display: block !important;
}

.bruno-product-rail .catalog-box-title a {
    text-align: left !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    font-size: clamp(20px, 1.5vw, 24px) !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

@media (min-width: 768px) {
    .bruno-product-rail .products-like-this,
    .bruno-product-rail .catalog-box1 > div:not(.image) {
        padding: 22px 24px 28px !important;
    }

    .bruno-product-rail .catalog-box-title {
        min-height: 56px !important;
    }
}

@media (min-width: 1199px) {
    .bruno-product-rail .owl-stage-outer {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .bruno-product-rail .owl-nav .owl-prev,
    .bruno-product-rail .controll > .owl-prev {
        right: max(76px, calc((100vw - 1360px) / 2 + 76px)) !important;
    }

    .bruno-product-rail .owl-nav .owl-next,
    .bruno-product-rail .controll > .owl-next {
        right: max(20px, calc((100vw - 1360px) / 2 + 20px)) !important;
    }
}

/* Force final sample layout 20260508. Must override legacy catalog card centering. */
@media (min-width: 768px) {
  .bruno-product-rail .container {
    max-width: 1360px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .bruno-product-rail .owl-stage-outer {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .bruno-product-rail .catalog-box1 {
    min-height: 100% !important;
  }

  .bruno-product-rail .catalog-box1 .image,
  .bruno-product-rail .catalog-box1 .image a {
    aspect-ratio: 300 / 230 !important;
  }

  .bruno-product-rail .catalog-box1 .products-like-this,
  .bruno-product-rail .catalog-box1 > div.products-like-this,
  .bruno-product-rail .catalog-box1 > div:not(.image) {
    display: block !important;
    text-align: left !important;
    align-items: initial !important;
    justify-content: initial !important;
    padding: 22px 24px 28px !important;
    min-height: 108px !important;
  }

  .bruno-product-rail .catalog-box1 .catalog-box-title,
  .bruno-product-rail .catalog-box1 .products-like-this .catalog-box-title {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
    min-height: 58px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 23px !important;
    line-height: 1.14 !important;
    font-weight: 700 !important;
  }

  .bruno-product-rail .catalog-box1 .catalog-box-title a,
  .bruno-product-rail .catalog-box1 .products-like-this .catalog-box-title a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 23px !important;
    line-height: 1.14 !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
  }

  .bruno-product-rail .controll > .owl-prev,
  .bruno-product-rail .owl-nav .owl-prev {
    right: max(76px, calc((100vw - 1360px) / 2 + 76px)) !important;
  }

  .bruno-product-rail .controll > .owl-next,
  .bruno-product-rail .owl-nav .owl-next {
    right: max(20px, calc((100vw - 1360px) / 2 + 20px)) !important;
  }
}

/* Product page: lift Viewed rail closer to Projects. */
body.product-product .bruno-product-rail--viewed,
.product-page .bruno-product-rail--viewed {
  margin-top: 0 !important;
}

@media (min-width: 768px) {
  body.product-product .projects-block-section + .bruno-product-rail--viewed,
  .product-page .projects-block-section + .bruno-product-rail--viewed {
    margin-top: -6px !important;
  }
}

/* Mobile polish 20260509: compact rails, swipe-only controls. */
@media (max-width: 767px) {
  body.product-product .bruno-product-rail,
  .product-page .bruno-product-rail {
    margin-top: 18px !important;
    padding-bottom: 10px !important;
    contain-intrinsic-size: 430px !important;
  }

  body.product-product .bruno-product-rail--related,
  .product-page .bruno-product-rail--related {
    margin-top: -10px !important;
  }

  body.product-product .bruno-product-rail--viewed,
  .product-page .bruno-product-rail--viewed {
    margin-top: 8px !important;
  }

  body.product-product .bruno-product-rail .container,
  .product-page .bruno-product-rail .container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.product-product .bruno-product-rail__header,
  .product-page .bruno-product-rail__header {
    margin-bottom: 12px !important;
    padding-right: 0 !important;
  }

  body.product-product .bruno-product-rail__title,
  .product-page .bruno-product-rail__title {
    font-size: 30px !important;
    line-height: 1.05 !important;
    letter-spacing: .075em !important;
  }

  body.product-product .bruno-product-rail__lead,
  .product-page .bruno-product-rail__lead {
    margin-top: 8px !important;
    max-width: 310px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  body.product-product .bruno-product-rail .owl-prev,
  body.product-product .bruno-product-rail .owl-next,
  body.product-product .bruno-product-rail .owl-nav,
  body.product-product .bruno-product-rail .controll > .owl-prev,
  body.product-product .bruno-product-rail .controll > .owl-next,
  .product-page .bruno-product-rail .owl-prev,
  .product-page .bruno-product-rail .owl-next,
  .product-page .bruno-product-rail .owl-nav,
  .product-page .bruno-product-rail .controll > .owl-prev,
  .product-page .bruno-product-rail .controll > .owl-next {
    display: none !important;
  }

  body.product-product .bruno-product-rail.is-native-snap .owl-stage-outer,
  .product-page .bruno-product-rail.is-native-snap .owl-stage-outer {
    margin-left: -18px !important;
    margin-right: -18px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.product-product .bruno-product-rail.is-native-snap .owl-stage,
  .product-page .bruno-product-rail.is-native-snap .owl-stage {
    gap: 12px !important;
  }

  body.product-product .bruno-product-rail.is-native-snap .owl-item,
  .product-page .bruno-product-rail.is-native-snap .owl-item {
    width: 74vw !important;
    min-width: 232px !important;
    max-width: 305px !important;
    flex-basis: 74vw !important;
  }

  body.product-product .bruno-product-rail .catalog-box1 .image,
  body.product-product .bruno-product-rail .catalog-box1 .image a,
  .product-page .bruno-product-rail .catalog-box1 .image,
  .product-page .bruno-product-rail .catalog-box1 .image a {
    aspect-ratio: 300 / 210 !important;
  }

  body.product-product .bruno-product-rail .products-like-this,
  body.product-product .bruno-product-rail .catalog-box1 > div:not(.image),
  .product-page .bruno-product-rail .products-like-this,
  .product-page .bruno-product-rail .catalog-box1 > div:not(.image) {
    min-height: 62px !important;
    padding: 13px 14px 15px !important;
  }

  body.product-product .bruno-product-rail .catalog-box-title,
  .product-page .bruno-product-rail .catalog-box-title {
    min-height: 34px !important;
    font-size: 18px !important;
    line-height: 1.12 !important;
  }

  body.product-product .bruno-product-rail .catalog-box-title a,
  .product-page .bruno-product-rail .catalog-box-title a {
    font-size: 18px !important;
    line-height: 1.12 !important;
  }
}
