/**
 * Brands PDP — Hyvä layout overrides (attribute set 9).
 * @see dev-doc/brands_pdp_implement_log.html
 */

body.brands-productdetails-body #maincontent {
    display: block !important;
    min-height: unset;
    overflow-x: hidden;
}

body.brands-productdetails-body .page-main,
body.brands-productdetails-body #maincontent.page-main,
body.brands-productdetails-body.page-layout-1column #maincontent {
    margin: 0 !important;
    margin-block: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    max-width: none;
    padding-inline: 0;
    flex-grow: 0 !important;
}

body.brands-productdetails-body #maincontent > .columns {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none;
}

body.brands-productdetails-body .product-info-main {
    display: block !important;
    max-width: none;
    width: 100%;
}

body.brands-productdetails-body .brands-wrapper {
    width: 100%;
    max-width: none;
}

/* watchSpec — pattern background (relative ../images path broken in Hyvä static; use CMS asset) */
body.brands-productdetails-body .brands-productDetails-watchSpec {
    background-image: url(/cms/images/common/pattern30.png);
    background-repeat: no-repeat;
    background-position: right -1200px top 4%;
    background-size: 2556px;
    background-color: #404242;
}

@media only screen and (max-width: 1023px) {
    body.brands-productdetails-body .brands-productDetails-watchSpec {
        background-position: right -2080px top 10%;
    }
}

/* Shared typography — old_ref brands.min.css (not in PDP extraction) */
body.brands-productdetails-body .brands-common-largetitle {
    font-size: 36px;
    line-height: 1.166667em;
    text-transform: uppercase;
}

@media only screen and (max-width: 767px) {
    body.brands-productdetails-body .brands-common-largetitle {
        font-size: 28px;
        line-height: 1.5em;
    }
}

body.brands-productdetails-body .brands-common-mainParagraph {
    font-size: 16px;
    line-height: 1.6em;
}

body.brands-productdetails-body .brands-form .brandsContactForm .brandsContactForm-title {
    text-align: center;
    color: #212121;
    font-weight: 700;
}

/* btnStrokePrimary — old site global (cms/style.css); not in vs-common.min.css */
body.brands-productdetails-body .btnStrokePrimary {
    border: none;
    margin: 0;
    padding: 0;
    width: auto;
    overflow: visible;
    background: transparent;
    color: inherit;
    font: inherit;
    outline: none;
    text-align: inherit;
    line-height: normal;
    border-radius: 0;
    cursor: pointer;
    -webkit-font-smoothing: inherit;
    -moz-osx-font-smoothing: inherit;
    -webkit-appearance: none;
    appearance: none;
    touch-action: manipulation;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    height: 44px;
    padding: 0 24px;
    text-transform: uppercase;
    text-align: center;
    border: 1px solid #99785c;
    color: #99785c;
    transition: all 0.25s;
    box-sizing: border-box;
}

body.brands-productdetails-body .btnStrokePrimary::-moz-focus-inner {
    border: 0;
    padding: 0;
}

@media only screen and (min-width: 768px) {
    body.brands-productdetails-body .btnStrokePrimary:hover {
        color: #ffffff;
        background-color: #bd9471;
        text-decoration: none;
    }
}

/* Contact specialist — full-width stroke button (old_ref brands.min.css) */
body.brands-productdetails-body
    .brands-productDetails-productTop-infoPanel-contactSpecialistBtn.btnStrokePrimary {
    display: flex;
    width: 100%;
    max-width: 400px;
    margin: 70px 0 0;
    font-size: 16px;
    letter-spacing: 0;
    line-height: 1.25em;
}

@media only screen and (max-width: 1023px) {
    body.brands-productdetails-body
        .brands-productDetails-productTop-infoPanel-contactSpecialistBtn.btnStrokePrimary {
        max-width: 330px;
    }
}

@media only screen and (max-width: 767px) {
    body.brands-productdetails-body
        .brands-productDetails-productTop-infoPanel-contactSpecialistBtn.btnStrokePrimary {
        margin: 30px auto 0;
    }
}

/* Wishlist — old_ref DOM: star left of underlined label on own row below contact */
body.brands-productdetails-body
    .brands-productDetails-productTop-infoPanel .action.towishlist::before {
    display: none !important;
}

body.brands-productdetails-body
    .brands-productDetails-productTop-infoPanel .action.towishlist {
    display: inline-block;
    margin: 30px 40px 20px 30px;
    position: relative;
    text-decoration: none !important;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    font: inherit;
    color: inherit;
}

body.brands-productdetails-body
    .brands-productDetails-productTop-infoPanel .action.towishlist svg {
    display: block;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 2px;
    position: absolute;
    left: -36px;
    top: -4px;
}

body.brands-productdetails-body
    .brands-productDetails-productTop-infoPanel .action.towishlist > span {
    padding-bottom: 4px;
    text-transform: uppercase;
    color: #99785c;
    white-space: nowrap;
    border-style: solid;
    border-color: #99785c;
    border-width: 0 0 1px;
    font-size: 18px;
    letter-spacing: 0;
    line-height: 1.25em;
    transition: all 0.2s ease-out;
}

@media only screen and (min-width: 1024px) {
    body.brands-productdetails-body
        .brands-productDetails-productTop-infoPanel .action.towishlist:hover > span {
        border-color: transparent;
    }

    body.brands-productdetails-body
        .brands-productDetails-productTop-infoPanel .action.towishlist:hover svg g {
        fill: #a37e2c;
    }
}

body.brands-productdetails-body
    .brands-productDetails-productTop-infoPanel .action.towishlist.active svg g {
    fill: #a37e2c !important;
}

/* Contact form thank-you visibility (Alpine) */
body.brands-productdetails-body .brands-form .brandsContactFormThankyou.is-visible {
    display: block;
}

/* Swiper replaces slick — YMAL arrows */
body.brands-productdetails-body .youMayAlsoLike-carousel {
    position: relative;
}

body.brands-productdetails-body .brands-ymal-arrow {
    position: absolute;
    top: 50%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    padding: 0;
    border: none;
    background-color: transparent;
    background-image: url(/cms/images/tudor/common/slider-arrow.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 32px;
    font-size: 0;
    cursor: pointer;
    z-index: 2;
    transition: all 0.2s ease-out;
}

body.brands-productdetails-body .brands-ymal-arrow--prev {
    left: -40px;
    transform: rotate3d(0, 1, 0, 180deg);
}

body.brands-productdetails-body .brands-ymal-arrow--next {
    right: -40px;
}

body.brands-productdetails-body .brands-ymal-arrow--disabled {
    opacity: 0.35;
    pointer-events: none;
}

@media only screen and (max-width: 1023px) {
    body.brands-productdetails-body .brands-ymal-arrow--prev {
        left: 0;
    }

    body.brands-productdetails-body .brands-ymal-arrow--next {
        right: 0;
    }
}

body.brands-productdetails-body .youMayAlsoLike-slider.swiper .swiper-slide {
    height: auto;
}

body.brands-productdetails-body .youMayAlsoLike-slider .brands-youMayAlsoLike-watchItem {
    display: block !important;
    min-width: 100%;
    max-width: 100%;
}

/* Gallery thumbnail active state */
body.brands-productdetails-body .brands-productDetails-productTop-thumbnail.active {
    opacity: 1;
}

body.brands-productdetails-body .brands-productDetails-productTop-thumbnail:not(.active) {
    opacity: 0.5;
}

/* Contact form — labels above fields (column-reverse); no float-label shrink on .active */
body.brands-productdetails-body .brands-contactForm textarea + label {
    display: block;
    color: #212121;
}

/* YMAL — white section background (old_ref) */
body.brands-productdetails-body .brands-productDetails-youMayAlsoLike {
    background-color: #fff;
}

body.brands-productdetails-body .brands-productDetails-youMayAlsoLike-wrapper {
    background-color: #fff;
}

/* PDP bottom spacing — old_ref .mycustom-div { padding-bottom: 100px } */
body.brands-productdetails-body .brands-wrapper {
    padding-bottom: 100px;
}

@media only screen and (max-width: 1023px) {
    body.brands-productdetails-body .brands-wrapper {
        padding-bottom: 100px;
    }
}

/* Alpine x-cloak until init */
body.brands-productdetails-body .brands-productDetails-youMayAlsoLike [x-cloak] {
    display: none !important;
}

/* Hide standalone Admin/Hyvä Recently Viewed widget — YMAL tab handles it */
body.brands-productdetails-body [x-data="initRecentlyViewedProductsComponent"] {
    display: none !important;
}

/* YMAL tab panels — hide inactive slider (old_ref inline style; fallback if Alpine off) */
body.brands-productdetails-body .youMayAlsoLike-carousel.hide,
body.brands-productdetails-body .youMayAlsoLike-slider.hide,
body.brands-productdetails-body .block-viewed-products-grid.hide {
    display: none !important;
    overflow: hidden;
    height: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none;
}

/* Recently viewed carousel — reuse YMAL arrow positioning inside block-content */
body.brands-productdetails-body .block-viewed-products-grid .youMayAlsoLike-carousel {
    position: relative;
}

/* Recently viewed nested inside YMAL wrapper — avoid double horizontal padding */
body.brands-productdetails-body
    .brands-productDetails-youMayAlsoLike-wrapper
    .block-viewed-products-grid {
    max-width: none;
    margin: 0;
}

body.brands-productdetails-body
    .brands-productDetails-youMayAlsoLike-wrapper
    .block-viewed-products-grid
    .block-content {
    padding-left: 0;
    padding-right: 0;
}

/* Tab buttons — match old_ref anchor appearance */
body.brands-productdetails-body .youMayAlsoLike-tabPanel .youMayAlsoLike-tabBtn {
    background: transparent;
    border-top: none;
    border-left: none;
    border-right: none;
    padding: 0;
    cursor: pointer;
    font: inherit;
    text-decoration: none;
}
