/* Shared product blocks: editorial content, CMS preview and mobile product actions. */
.cms-product-block{margin:32px 0;scroll-margin-top:24px;color:inherit}
.cms-product-block h2{font-size:clamp(22px,2.6vw,30px);line-height:1.25;margin:0 0 20px}
[data-cms-product-variant][hidden]{display:none!important}
.cms-product-icon{flex:none;color:var(--pst-red,var(--bs-primary,#b00020));display:block}
.cms-product-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0;border-block:1px solid var(--pst-line,#e1e5eb)}
.cms-product-summary>div{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:12px;padding:20px 0;align-content:start}
.cms-product-summary .cms-product-icon{grid-row:1/3;margin-top:2px}
.cms-product-summary dt{font-size:15px;font-weight:700;line-height:1.4;margin:0 0 5px}
.cms-product-summary dd{margin:0;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.cms-product-details__list{padding-left:22px;margin:0;max-width:72ch}
.cms-product-details__list li{padding:0 0 14px;line-height:1.7}
.cms-product-reference{font-size:13px;color:var(--pst-muted,#596178);margin:12px 0 0}
.cms-product-faq details{border-bottom:1px solid var(--pst-line,#e1e5eb)}
.cms-product-faq summary{list-style:none;display:flex;align-items:center;gap:12px;cursor:pointer;min-height:64px;padding:16px 0;font-size:16px;font-weight:600;line-height:1.5}
.cms-product-faq summary::-webkit-details-marker{display:none}
.cms-product-faq summary::after{content:'+';font-size:26px;font-weight:400;margin-left:auto;padding-left:12px}
.cms-product-faq details[open] summary::after{content:'−'}
.cms-product-faq details>div{padding:0 0 22px 38px;line-height:1.7;max-width:72ch}
.cms-product-faq details p{margin:0 0 12px}
.cms-product-upsell{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cms-product-upsell .cms-catalog__card{padding:0;overflow:hidden;border-radius:8px;border:1px solid var(--pst-line,#e1e5eb);background:#fff}
.cms-product-upsell .cms-catalog__card a{display:grid;gap:8px;color:inherit;text-decoration:none;padding-bottom:16px}
.cms-product-upsell .cms-catalog__card img{width:100%;height:170px;object-fit:contain;background:#f7f4ef;margin:0}
.cms-product-upsell .cms-catalog__card :is(strong,span){margin:0 14px;font-size:14px;line-height:1.5}
.cms-product-upsell .cms-catalog__card strong{font-size:17px}
.cms-product-upsell .cms-catalog__price{color:var(--pst-red,var(--bs-primary,#b00020));font-weight:700}
.cms-product-collection-link{font-weight:600;display:inline-block;padding:14px 0}
.cms-product-section-nav{display:flex;flex-wrap:wrap;gap:8px 24px;border-bottom:1px solid var(--pst-line,#e1e5eb);padding:12px 0;margin:24px 0}
.cms-product-section-nav a{color:inherit;text-decoration:none;font-weight:600;padding:8px 0;border-bottom:2px solid transparent}
.cms-product-section-nav a:hover{border-color:var(--pst-red,var(--bs-primary,#b00020))}
.cms-product-dock,.cms-product-mobile-picker{display:none}
.cms-product-format-dialog:not([open]){display:none}
.cms-product-format-dialog{border:0;border-radius:16px 16px 0 0;padding:24px;max-width:560px;width:100%;max-height:80dvh;box-sizing:border-box;overflow:auto;color:var(--pst-navy,#172033);background:#fff;margin:auto auto 0}
body:has(.cms-product-format-dialog[open]){overflow:hidden}
.cms-product-format-dialog::backdrop{background:rgba(16,30,80,.45)}
.cms-product-format-dialog__heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}
.cms-product-format-dialog__heading h2{margin:0;font-size:22px}
.cms-product-format-dialog__heading button{border:0;background:transparent;color:inherit;font-size:30px;line-height:1;width:44px;height:44px;flex:none}
.cms-product-format-dialog__choices{display:grid;gap:10px;padding-bottom:env(safe-area-inset-bottom)}
.cms-product-format-dialog__choices button{display:flex;justify-content:space-between;gap:16px;text-align:left;align-items:center;min-height:60px;padding:14px 16px;background:#fff;color:inherit;border:1px solid #b9c2ce;border-radius:6px;font:inherit;cursor:pointer}
.cms-product-format-dialog__choices button span{max-width:30ch}
.cms-product-format-dialog__choices button strong{white-space:nowrap}
.cms-product-format-dialog__choices button[aria-pressed=true]{border:2px solid var(--pst-red,var(--bs-primary,#b00020));background:var(--pst-blue,#f5f6f8)}
.cms-product-sidebar :is(button,a):focus-visible,.cms-product-section-nav a:focus-visible,.cms-product-faq summary:focus-visible{outline:3px solid var(--pst-red,var(--bs-primary,#b00020));outline-offset:3px}
@media(max-width:991.98px){

 .cms-page-layout--product>article{grid-row:2;min-width:0}
 .cms-page-layout--product>:not(article){grid-row:1;min-width:0}
 .cms-product-sidebar[data-cms-products-enhanced=true] .cms-product-choice>:is(label,input){display:none}
 .cms-product-sidebar[data-cms-products-enhanced=true] .cms-product-choice{border:0;padding:0}
 .cms-product-sidebar[data-cms-products-enhanced=true] .cms-product-choice__details img{display:none}
 .cms-product-sidebar[data-cms-products-enhanced=true] .cms-product-choice__details>strong{display:none}
 .cms-product-sidebar[data-cms-products-enhanced=true] .cms-product-choice__details{padding:12px 0 0;grid-template-columns:1fr 1fr;align-items:center;gap:12px}
 .cms-product-sidebar[data-cms-products-enhanced=true] .cms-product-mobile-picker{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;border:1px solid #b9c2ce;border-radius:6px;padding:12px 14px;text-align:left;background:white;color:inherit;font:inherit;min-height:48px}
 .cms-product-sidebar[data-cms-products-enhanced=true] .cms-product-dock{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,1fr);align-items:center;gap:16px;position:static;padding:12px max(16px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom));border-top:1px solid #dce2e8;background:#fff;box-shadow:0 -4px 18px rgba(16,30,80,.08);color:var(--pst-navy,#172033)}
 .cms-product-dock__format{display:grid;gap:2px;text-align:left;border:0;background:transparent;padding:0;color:inherit;font:inherit;cursor:pointer;min-width:0}
 .cms-product-dock__format>[data-cms-format-label]{font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
 .cms-product-dock__format strong{font-size:19px;line-height:1.3;color:var(--pst-red,var(--bs-primary,#b00020))}
 .cms-product-dock__change{font-size:12px;text-decoration:underline;text-underline-offset:3px}
 .cms-product-dock .cms-product-create{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;font-size:15px;white-space:normal;line-height:1.4;color:#fff!important;text-decoration:none;background:var(--pst-red,var(--bs-primary,#b00020));border-color:var(--pst-red,var(--bs-primary,#b00020));font-weight:600;width:100%}
 .cms-product-dock .cms-product-choice__unavailable{font-size:12px;line-height:1.4;display:block}
 .cms-product-summary{gap:0 20px}
 .cms-product-section-nav{gap:4px 18px;font-size:14px}
}
@media(max-width:575.98px){
 .cms-product-block{margin:28px 0}
 .cms-product-summary>div{grid-template-columns:24px minmax(0,1fr);gap:4px 10px;padding:16px 0}
 .cms-product-summary .cms-product-icon{width:24px;height:24px}
 .cms-product-summary dt{font-size:14px}
 .cms-product-summary dd{font-size:13px;line-height:1.55}
 .cms-product-upsell{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .cms-product-upsell .cms-catalog__card:last-child{grid-column:1/-1}
 .cms-product-upsell .cms-catalog__card img{height:140px}
 .cms-product-faq summary{font-size:15px}
 .cms-product-format-dialog{padding:20px 16px}
}
@media(prefers-reduced-motion:no-preference){html:has(.cms-product-sidebar){scroll-behavior:smooth}}
