/* Product PSD: 1440 px, 667 px gallery, 76 px gutter, Montserrat and ESV blue. */
body.esv-product-page { background: #fff; }
.esv-product-page #maincontent { max-width: 1440px; width: 100%; padding: 0; margin: 0 auto; }
.esv-product-page .columns, .esv-product-page .column.main { padding: 0; width: 100%; max-width: none; margin: 0; }
.esv-product-page .breadcrumbs { max-width: 1440px; margin: 0 auto; padding: 16px 36px 15px; font: 400 12px/18px Montserrat,sans-serif; color: #737b87; box-shadow: none; background: white; }
.esv-product-page .breadcrumbs .container { padding: 0; max-width: none; }
.esv-product-page .breadcrumbs .items { padding: 0; font: inherit; }
.esv-product-page .breadcrumbs a:hover { color: var(--esv-blue); }
.esv-product-page #maincontent > .messages { padding-inline: 36px; }
.esv-pdp { color: #3d4756; font: 400 14px/1.6 Montserrat,sans-serif; }
.esv-pdp *, .esv-pdp *::before, .esv-pdp *::after { box-sizing: border-box; }
.esv-pdp [hidden] { display: none !important; }
.esv-pdp a { text-decoration: none; }
.esv-pdp a:hover { text-decoration: underline; text-underline-offset: 4px; }
.esv-pdp :is(a,button,input,[tabindex]):focus-visible { outline: 2px solid var(--esv-blue); outline-offset: 3px; }
.esv-pdp-main { display: grid; grid-template-columns: minmax(0,667fr) minmax(0,625fr); gap: 76px; padding: 0 36px 50px; align-items: start; }
.esv-pdp-gallery { min-width: 0; }
.esv-pdp #gallery { display: block; }
.esv-pdp #gallery-main { border: 1px solid #d3d3d3; border-radius: 4px; }
.esv-pdp #gallery-main img { display: block; width: 100%; height: auto; padding: 16px; object-fit: contain; }
.esv-pdp #gallery > .snap-pager { justify-content: start; margin-top: 24px; padding: 0; gap: 20px; }
.esv-pdp #gallery [data-pager] { justify-content: start; gap: 20px; padding: 0; width: 100%; }
.esv-pdp #gallery [data-pager] .snap-marker { flex: 0 0 calc((100% - 80px)/5); width: auto; height: auto; aspect-ratio: 1; padding: 5px; border: 1px solid #d3d3d3; border-radius: 4px; background: white; box-shadow: none; }
.esv-pdp #gallery [data-pager] .snap-marker[aria-current="true"] { border-color: var(--esv-blue); box-shadow: 0 0 0 1px var(--esv-blue); }
.esv-pdp #gallery [data-pager] img { display: block; width: 100%; height: 100%; object-fit: contain; }
.esv-pdp #gallery .snap-marker[data-overflow] { display: none; }
.esv-pdp #gallery .btn { border: 1px solid #d3d3d3; background: #fff; color: #657080; box-shadow: none; }
.esv-pdp #gallery dialog { z-index: 100; }
.esv-pdp-gallery-hint { position: absolute; bottom: 17px; right: 105px; z-index: 1; font-size: 10px; font-weight: 600; pointer-events: none; }
.esv-pdp-brand { display: inline-flex; align-items: center; min-height: 71px; margin: -16px 0 30px; color: var(--esv-blue); font-size: 26px; font-weight: 600; }
.esv-pdp-brand img { width: 149px; height: 71px; object-fit: contain; }
.esv-pdp-title { margin: 0 0 8px; font-size: 32px; font-weight: 600; line-height: 1.25; letter-spacing: .1px; }
.esv-pdp-subheading { margin: 0 0 14px; font-size: 17px; line-height: 1.5; letter-spacing: 1px; text-transform: uppercase; }
.esv-pdp-identifiers { display: flex; align-items: center; gap: 20px; margin-bottom: 20px; }
.esv-pdp-identifiers > p { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; color: #757e8d; font-size: 11px; }
.esv-pdp-actions { display: flex; gap: 8px; margin-left: auto; }
.esv-pdp-actions button { display: block; width: 44px; height: 44px; min-width: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent center / auto 30px no-repeat; box-shadow: none; }
.esv-pdp-actions button:hover { background-color: #f0f5fc; }
.esv-pdp-actions #add-to-wishlist { background-image: url('../images/product/bookmark.png'); }
.esv-pdp-actions #add-to-compare { background-image: url('../images/product/compare.png'); }
.esv-pdp-actions button svg { display: none; }
.esv-pdp-price { margin: 0 0 32px; }
.esv-pdp-price .price { font-family: inherit; font-size: 40px; font-weight: 600; line-height: 1.2; color: #0082ff; }
.esv-pdp-price .old-price .price { color: #737b87; font-size: 18px; font-weight: 400; text-decoration: line-through; }
.esv-pdp-price :is(.final-price-excl-tax,.price-excl-tax,.old-price-excl-tax) .price { font-size: 14px; font-weight: 400; color: #737b87; }
.esv-pdp-price .price-label { font-size: 12px; }
.esv-pdp #product_addtocart_form { margin-bottom: 0; }
.esv-pdp #product_addtocart_form:has(select,textarea,input:not([type="hidden"])) { margin: 0 0 24px; }
.esv-pdp #product_addtocart_form :is(select,textarea,input:not([type="hidden"])) { max-width: 100%; }
.esv-pdp-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin: 0 0 30px; }
.esv-pdp-quantity { display: flex; align-items: center; border: 1px solid #d3d3d3; border-radius: 7px; min-height: 44px; }
.esv-pdp-quantity button { display: grid; place-items: center; width: 44px; height: 44px; border: 0; background: white; padding: 0; border-radius: 7px; cursor: pointer; }
.esv-pdp-quantity button:disabled { opacity: .35; cursor: default; }
.esv-pdp-quantity input { width: 48px; min-height: 44px; border: 0; padding: 6px 0; border-radius: 0; box-shadow: none; color: #222; font: 600 17px/1 Montserrat,sans-serif; appearance: textfield; }
.esv-pdp-quantity input::-webkit-inner-spin-button, .esv-pdp-quantity input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.esv-pdp #product-addtocart-button { min-height: 44px; border: 0; border-radius: 7px; padding: 12px 20px; background: #0082ff; box-shadow: none; color: white; text-transform: uppercase; letter-spacing: .8px; font: 600 14px/20px Montserrat,sans-serif; }
.esv-pdp #product-addtocart-button:hover { background: #0066df; }
.esv-pdp #product-addtocart-button > svg { display: none; }
.esv-pdp #product-addtocart-button > span { display: block; }
.esv-pdp-callout { display: flex; align-items: start; gap: 14px; padding: 18px 14px; background: #f1f5fc; border-radius: 4px; margin: 0 0 14px; max-width: 530px; font-size: 12px; line-height: 1.6; }
.esv-pdp-callout > img { flex: none; width: 34px; height: 34px; object-fit: contain; }
.esv-pdp-callout p { margin: 0; }
.esv-pdp-callout a { color: var(--esv-blue); }
.esv-pdp-highlights .esv-pdp-richtext { font-size: 12px; }
.esv-pdp-highlights .esv-pdp-richtext > p { margin: 0 0 8px; }
.esv-pdp-highlights .esv-pdp-richtext > p:last-child { margin-bottom: 0; }
.esv-pdp-stock { display: flex; align-items: center; gap: 16px; margin-top: 34px; font-size: 12px; }
.esv-pdp-stock > img { opacity: .55; }
.esv-pdp-stock p { margin: 0; }
.esv-pdp-stock .stock { justify-content: start; text-align: left; }
.esv-pdp-details { padding: 0 36px 54px; }
.esv-pdp-tabs { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 14px; overflow-x: auto; }
.esv-pdp-tabs button { flex: 1 0 auto; min-height: 48px; border: 0; padding: 12px 18px; color: #737b87; background: transparent; text-transform: uppercase; font-size: 14px; font-weight: 600; letter-spacing: 1.25px; cursor: pointer; }
.esv-pdp-tabs button[aria-selected="true"] { color: #0082ff; }
.esv-pdp-details-grid { display: grid; grid-template-columns: minmax(0,2.05fr) minmax(0,1fr); gap: 40px; align-items: start; }
.esv-pdp-details-grid:not(:has(.esv-pdp-expertise)) { grid-template-columns: minmax(0,1fr); }
.esv-pdp-panels { min-width: 0; }
.esv-pdp-panels > section { padding: 26px 24px; border: 1px solid #d3d3d3; border-radius: 4px; }
.esv-pdp-richtext { font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.esv-pdp-richtext :is(p,ul,ol) { margin: 0 0 18px; }
.esv-pdp-richtext :is(h2,h3) { font-size: 24px; font-weight: 600; line-height: 1.4; margin: 0 0 20px; }
.esv-pdp-richtext ul { list-style: disc; padding-left: 20px; }
.esv-pdp-richtext ul li::marker { color: var(--esv-blue); }
.esv-pdp-richtext ol { list-style: decimal; padding-left: 20px; }
.esv-pdp-richtext li { margin-bottom: 10px; }
.esv-pdp-richtext strong { font-weight: 600; }
.esv-pdp-richtext a { color: var(--esv-blue); text-decoration: underline; }
.esv-pdp-richtext :is(img,iframe,video,table) { max-width: 100%; }
.esv-pdp-richtext iframe { width: 100%; aspect-ratio: 16/9; height: auto; }
.esv-pdp-overview.is-collapsed { max-height: 370px; overflow: hidden; }
.esv-pdp-overview > p:first-child > strong:first-child { display: inline-block; font-size: 26px; line-height: 1.3; margin-bottom: 10px; }
.esv-pdp-readmore { min-height: 44px; margin-top: 20px; color: var(--esv-blue); background: none; border: 0; padding: 8px 0; font-size: 12px; font-weight: 600; cursor: pointer; }
.esv-pdp-expertise { padding: 28px 24px; border: 1px solid #d3d3d3; border-radius: 4px; background: #f1f5fc; font-size: 14px; }
.esv-pdp-expertise h2 { display: flex; align-items: center; gap: 14px; font-size: 20px; letter-spacing: 1.5px; font-weight: 400; margin: 0 0 28px; text-transform: uppercase; }
.esv-pdp-expertise h2 img { width: 30px; height: 33px; }
.esv-pdp-expertise p { margin: 0 0 22px; }
.esv-pdp-expertise .esv-pdp-phone { font-size: 19px; font-weight: 600; }
.esv-pdp-expertise a { color: var(--esv-blue); overflow-wrap: anywhere; }
.esv-pdp-expertise .esv-pdp-contact { display: block; width: fit-content; margin: 28px 0 0 auto; padding: 10px 14px; min-height: 44px; border-radius: 6px; color: white; background: #647085; font-size: 13px; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; }
.esv-pdp-recommendations { padding: 14px 36px 42px; }
.esv-pdp-recommendations h2 { color: #3c4c6b; font-weight: 400; }
.esv-pdp .esv-product h3 { margin: 0; }
.esv-pdp .esv-product { position: relative; }
.esv-pdp .esv-product button[data-addto="wishlist"] { position: absolute; z-index: 1; top: 4px; right: 4px; width: 44px; min-height: 44px; padding: 0; border: 0; background: url('../images/product/bookmark.png') center / 18px 26px no-repeat; }
.esv-pdp .esv-product button[data-addto="wishlist"] svg { display: none; }
.esv-pdp .esv-product button[data-addto="wishlist"]:hover { background-color: #f1f5fc; }
.esv-pdp .esv-scroll-range { --esv-scroll-thumb: 33%; display: block; width: 100%; height: 11px; margin: 0; padding: 0; border: 0; border-radius: 8px; appearance: none; background: #ccc; cursor: pointer; }
.esv-pdp .esv-product-track:has(+ .esv-scroll-range) { scrollbar-width: none; }
.esv-pdp .esv-product-track:has(+ .esv-scroll-range)::-webkit-scrollbar { display: none; }
.esv-pdp-insight { padding: 24px 38px 36px; margin: 0 0 20px; }
.esv-pdp-insight h2 { display: flex; align-items: center; gap: 18px; font-size: 30px; margin-bottom: 28px; }
.esv-pdp-insight h2 img { width: 54px; height: 37px; }
.esv-pdp-insight__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) 150px; gap: 28px; align-items: center; }
.esv-pdp-insight__grid > a { display: flex; align-items: center; gap: 16px; font-size: 13px; line-height: 1.5; }
.esv-pdp-insight__grid > a > img { width: 145px; height: 90px; object-fit: cover; border-radius: 3px; }
.esv-pdp-insight__grid strong { display: block; color: #d4dce9; font-weight: 600; }
.esv-pdp-insight__grid span > span, .esv-pdp-insight__all { display: block; margin-top: 8px; color: #52a6ff; font-size: 12px; font-weight: 600; }
.esv-pdp-insight__grid:has(> a:nth-child(3):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)) 180px; }
.esv-pdp-benefits { background: #f1f5fc; margin-top: 15px; }
.esv-pdp-benefits .esv-benefits { min-height: 180px; }
.esv-pdp-benefits .esv-benefits h3 { color: #3d4756; }
@media (max-width: 1100px) {
    .esv-pdp-main { gap: 36px; padding-inline: 24px; }
    .esv-pdp-title { font-size: 26px; }
    .esv-pdp-subheading { font-size: 14px; }
    .esv-pdp-brand { margin-bottom: 20px; }
    .esv-pdp-price .price { font-size: 34px; }
    .esv-pdp-tabs button { padding-inline: 10px; font-size: 12px; }
    .esv-pdp-details { padding-inline: 24px; }
    .esv-pdp-details-grid { grid-template-columns: minmax(0,1.7fr) minmax(0,1fr); gap: 24px; }
    .esv-pdp-insight__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .esv-pdp-insight__grid:has(> a:nth-child(3):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .esv-pdp-insight__grid > a > img { width: 110px; }
}
@media (max-width: 767px) {
    .esv-product-page .breadcrumbs { padding: 16px; font-size: 10px; }
    .esv-pdp-main { grid-template-columns: minmax(0,1fr); gap: 32px; padding: 0 16px 30px; }
    .esv-pdp #gallery [data-pager], .esv-pdp #gallery > .snap-pager { gap: 12px; }
    .esv-pdp #gallery [data-pager] .snap-marker { flex-basis: calc((100% - 48px)/5); }
    .esv-pdp-brand { margin: 0 0 18px; min-height: 45px; }
    .esv-pdp-brand img { height: 45px; width: 100px; }
    .esv-pdp-title { font-size: 26px; }
    .esv-pdp-identifiers { gap: 10px; }
    .esv-pdp-subheading { font-size: 13px; }
    .esv-pdp-price { margin-bottom: 24px; }
    .esv-pdp-buy { gap: 12px; }
    .esv-pdp #product-addtocart-button { flex-grow: 1; padding-inline: 12px; }
    .esv-pdp-stock { margin-top: 24px; }
    .esv-pdp-details { padding: 0 16px 30px; }
    .esv-pdp-details-grid { grid-template-columns: minmax(0,1fr); }
    .esv-pdp-tabs { justify-content: start; gap: 6px; }
    .esv-pdp-tabs button { flex-grow: 0; font-size: 11px; letter-spacing: .6px; }
    .esv-pdp-panels > section, .esv-pdp-expertise { padding: 20px 18px; }
    .esv-pdp-richtext { font-size: 14px; }
    .esv-pdp-overview > p:first-child > strong:first-child { font-size: 22px; }
    .esv-pdp-recommendations { padding: 16px 16px 32px; }
    .esv-pdp-insight { padding: 24px 16px; }
    .esv-pdp-insight h2 { font-size: 22px; }
    .esv-pdp-insight h2 img { width: 40px; height: auto; }
    .esv-pdp-insight__grid, .esv-pdp-insight__grid:has(> a:nth-child(3):last-child) { grid-template-columns: minmax(0,1fr); gap: 24px; }
    .esv-pdp-insight__all { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) { .esv-pdp * { scroll-behavior: auto !important; } }
