/* Shared media transitions and readable copy; individual layout grids stay native. */
body.pn-site.pn-theme-system .pn-site-frame :is(.pn-vitrine,.pn-comfort-banner),
body.pn-site.pn-theme-system .pn-site-frame :is(.pn-vitrine,.pn-comfort-banner) *{font-weight:400!important}
/* One sharp photograph fills the card; a separate wash only softens the copy side. */
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-vitrine-photo.pn-vitrine-photo{
 position:absolute;inset:0!important;width:100%!important;height:100%!important;
 display:block;overflow:hidden;border-radius:inherit;background:transparent!important;
 pointer-events:none;mask-image:none!important;-webkit-mask-image:none!important;
}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-vitrine-photo:before{content:none;filter:none;opacity:1}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-vitrine-photo:after{
 content:'';position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(90deg,color-mix(in srgb,var(--pnt-surface) 88%,transparent),color-mix(in srgb,var(--pnt-surface) 72%,transparent) 20%,color-mix(in srgb,var(--pnt-surface) 36%,transparent) 35%,transparent 40%);
}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-vitrine-photo.pn-vitrine-photo img{
 inset:0!important;width:100%!important;max-width:none!important;height:100%!important;object-fit:cover!important;
 object-position:center!important;transform:none!important;scale:1!important;border-radius:inherit!important;
 background:transparent!important;mask-image:none!important;-webkit-mask-image:none!important;
}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-promo,.pn-vitrine-collection)>div{
 width:44%!important;display:block;padding:12px!important;background:transparent!important;border-radius:0!important;max-width:none;
}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-product,.pn-showcase-product,.pn-panorama-product)>div{
 width:44%!important;display:block;padding:clamp(10px,3cqh,20px) clamp(12px,2cqw,24px)!important;
}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-product,.pn-showcase-product,.pn-panorama-product) h2{
 font-size:clamp(17px,7cqh,26px);line-height:1.18;letter-spacing:0;margin:8px 0;
}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-product,.pn-showcase-product,.pn-panorama-product) .pn-showcase-price{
 font-size:clamp(19px,8cqh,28px);line-height:1.15;margin:8px 0;
}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-product,.pn-showcase-product,.pn-panorama-product) .pn-showcase-rating{font-size:11px;gap:5px 7px}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-product,.pn-showcase-product,.pn-panorama-product) :is(.pn-pill,.pn-showcase-action .button){font-size:12px;padding:8px 12px;line-height:1.35}
/* Give the title and reviews the whole copy width, with price and action together. */
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-wide,.pn-showcase-product,.pn-panorama-product) .pn-vitrine-copy-inner{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 12px}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-wide,.pn-showcase-product,.pn-panorama-product) .pn-vitrine-copy-inner>*{grid-column:1/-1;order:1;margin:0!important}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-wide,.pn-showcase-product,.pn-panorama-product) .pn-showcase-price{grid-column:1;order:2}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-wide,.pn-showcase-product,.pn-panorama-product) :is(.pn-showcase-action,.pn-vitrine-copy-inner>.pn-pill){grid-column:2;order:2;justify-self:start}
body.pn-site.pn-theme-system .pn-site-frame .pn-reference-portrait-copy{padding:20px 24px 18px}
body.pn-site.pn-theme-system .pn-site-frame .pn-reference-portrait-copy h2{font-size:clamp(27px,3vw,42px);margin:0 0 10px;line-height:1.12;letter-spacing:0}
body.pn-site.pn-theme-system .pn-site-frame .pn-reference-portrait-copy p{font-size:14px;line-height:1.4;margin:0 0 12px}
body.pn-site.pn-theme-system .pn-site-frame .pn-portrait-scene{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden;border-radius:inherit;pointer-events:none}
body.pn-site.pn-theme-system .pn-site-frame .pn-portrait-scene:before{content:none}
@media(min-width:781px){
 body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine-sized .pn-vitrine-copy-inner{width:calc(100% / var(--pn-copy-scale,1))!important}
}
/* Keep the photograph continuous; only the left copy area receives a matte wash. */
body.pn-site.pn-theme-system .pn-site-frame .pn-wide-banner.pn-comfort-banner{
 height:150px!important;min-height:150px!important;max-height:150px;aspect-ratio:auto;padding:0!important;
}
body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-comfort-scene{
 inset:0;width:100%;height:100%;border-radius:inherit;mask-image:none;-webkit-mask-image:none;
}
body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-scene:before{content:none;filter:none;opacity:1}
body.pn-site.pn-theme-system .pn-site-frame .pn-wide-banner.pn-comfort-banner .pn-comfort-scene img{
 inset:0 0 0 auto!important;width:100%!important;max-width:1200px!important;height:100%!important;
 scale:1!important;transform:none!important;object-fit:cover!important;object-position:right 52%!important;mask-image:none!important;-webkit-mask-image:none!important;
}
body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-scene:after{
 content:'';position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(90deg,#fffcf6e8 0%,#fffcf6c4 20%,#fffcf68a 30%,#fffcf600 40%);
}
body.pn-site.pn-theme-system .pn-site-frame .pn-wide-banner.pn-comfort-banner>.pn-comfort-copy{
 width:40%;height:100%;padding:10px 20px;display:flex;flex-direction:column;align-items:flex-start;
 justify-content:center;gap:5px;background:transparent!important;
}
body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-eyebrow{margin:0;flex:none;width:fit-content;max-width:100%;font-size:8px;padding:2px 6px;letter-spacing:.2px;gap:4px;line-height:1.25}
body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-eyebrow .pn-icon{width:13px;height:13px}
body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner h2{font-size:clamp(19px,1.65vw,24px);line-height:1.1;letter-spacing:0;margin:0}
body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner h2 .pn-panorama-accent{display:inline}
body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner p{font-size:11px;line-height:1.3;margin:0}
body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-actions{display:flex;align-items:center;gap:14px;width:100%;min-width:0}
body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-button{flex:none;align-self:flex-start;font-size:12px;padding:6px 10px;gap:6px;line-height:1.3}
body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-panorama-trust{flex:1;min-width:0;margin:0;gap:6px;max-width:270px}
body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-panorama-trust>span{flex-direction:row;text-align:left;gap:4px;font-size:8px;line-height:1.15}
body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-panorama-trust .pn-icon{width:20px;height:20px;flex-basis:20px;padding:4px}
/* Expose the hero photograph above and below the curved white panel. */
body.pn-site.pn-theme-system .pn-site-frame .pn-reference-panel .pn-hero-copy{
 margin-block:25px 15px;height:calc(100% - 40px)!important;align-self:flex-start;
}
@media(max-width:1100px){
 body.pn-site.pn-theme-system .pn-site-frame .pn-wide-banner.pn-comfort-banner>.pn-comfort-copy{padding:8px 14px;gap:4px}
 body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner h2{font-size:19px}
 body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-actions{gap:8px}
 body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-panorama-trust>span{flex-direction:column;text-align:center;font-size:7px;gap:2px}
}
@media(max-width:780px){
 body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-vitrine-copy-inner{width:100%!important}
 body.pn-site.pn-theme-system .pn-site-frame .pn-wide-banner.pn-comfort-banner>.pn-comfort-copy{width:62%;padding:8px 12px;gap:4px}
 body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-scene:after{background:linear-gradient(90deg,#fffcf6e8,#fffcf6b0 35%,#fffcf666 55%,#fffcf600 70%)}
 body.pn-site.pn-theme-system .pn-site-frame .pn-wide-banner.pn-comfort-banner .pn-comfort-scene img{object-position:65% center!important}
 body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner h2{font-size:17px}
 body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner p{font-size:9px;line-height:1.25}
 body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-eyebrow{font-size:6px;letter-spacing:0;padding:2px 4px}
 body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-button{font-size:9px;padding:5px 7px;gap:4px}
 body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-button .pn-icon{width:12px;height:12px}
 body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-panorama-trust{gap:2px}
 body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-panorama-trust>span{font-size:6px;gap:2px}
 body.pn-site.pn-theme-system .pn-site-frame .pn-comfort-banner .pn-panorama-trust .pn-icon{width:15px;height:15px;flex-basis:15px;padding:3px}
}

/* The short scene stays fitted while the banner link is hovered or focused. */
body.pn-site.pn-theme-system .pn-site-frame .pn-wide-banner.pn-comfort-banner:is(:hover,:focus-visible,:has(:focus-visible)) .pn-comfort-scene img{transform:none!important}
body.pn-site.pn-theme-system .pn-site-frame .pn-reference-panorama .pn-hero-copy :is(h1,p,.pn-eyebrow){margin:0;max-width:none}
body.pn-site.pn-theme-system .pn-site-frame .pn-panorama-actions{display:flex;align-items:center;gap:14px;min-width:0}
body.pn-site.pn-theme-system .pn-site-frame .pn-panorama-actions .pn-panorama-trust{margin:0;flex:1;gap:8px}
body.pn-site.pn-theme-system .pn-site-frame .pn-panorama-actions .pn-panorama-trust>span{font-size:10px;gap:5px}
body.pn-site.pn-theme-system .pn-site-frame .pn-panorama-actions .pn-panorama-trust .pn-icon{width:22px;height:22px;flex-basis:22px;padding:4px}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-product,.pn-panorama-product,.pn-showcase-product) :is(p,.pn-reference-description){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
@media(max-width:780px){
 body.pn-site.pn-theme-system .pn-site-frame .pn-panorama-actions{flex-wrap:wrap}
 body.pn-site.pn-theme-system .pn-site-frame .pn-panorama-actions .pn-panorama-trust{flex-basis:100%}
 body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-promo,.pn-vitrine-collection)>div{width:48%!important}
}

body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-hero-image{object-fit:cover!important}

/* Horizontal hero copies use the same translucent transition as the product cards. */
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine:not(.pn-reference-panel):not(.pn-reference-mosaic):not(.pn-vitrine-showcase):not(.pn-vitrine-mosaic) .pn-hero-copy{
 background:linear-gradient(90deg,color-mix(in srgb,var(--pnt-surface) 88%,transparent),color-mix(in srgb,var(--pnt-surface) 65%,transparent) 55%,transparent)!important;
}
body.pn-site.pn-theme-system .pn-site-frame :is(.pn-reference-portrait-copy,.pn-vitrine-showcase .pn-hero-copy){
 background:linear-gradient(0deg,color-mix(in srgb,var(--pnt-surface) 88%,transparent),color-mix(in srgb,var(--pnt-surface) 65%,transparent) 65%,transparent)!important;
}

/* Let every hero use the whole copy width, rather than a narrow heading measure. */
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-hero-copy{padding:12px!important}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-hero-copy .pn-vitrine-copy-inner{display:grid;gap:8px}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-hero-copy :is(h1,p,.pn-eyebrow){margin:0!important;max-width:none!important}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine:not(.pn-reference-panorama) .pn-hero-copy h1{font-size:clamp(32px,11cqh,54px);line-height:1.08;letter-spacing:-.5px}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-hero-copy p{font-size:14px;line-height:1.35}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-hero-copy .pn-eyebrow{font-size:10px;line-height:1.3;padding:3px 8px;letter-spacing:.4px;width:fit-content}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-hero-copy .pn-eyebrow .pn-icon{width:14px;height:14px;flex-basis:14px}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-hero-copy .pn-button{justify-self:start;min-height:32px!important;font-size:14px;line-height:1.3;padding:6px 12px;gap:8px}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-hero-copy .pn-hero-trust{margin:0;gap:8px}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-hero-copy .pn-hero-trust>span{font-size:10px;gap:5px}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine .pn-hero-copy .pn-hero-trust .pn-icon{width:22px;height:22px;flex-basis:22px}

/* Compact side cards keep their title at its intended size instead of shrinking all copy. */
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-product,.pn-panorama-product,.pn-showcase-product) .pn-showcase-rating{font-size:10px;gap:4px;line-height:1.2}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-product,.pn-panorama-product,.pn-showcase-product) .pn-showcase-rating .star-rating{font-size:10px;flex-shrink:0}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-product,.pn-panorama-product,.pn-showcase-product) :is(.pn-pill,.pn-showcase-action .button){min-height:32px!important;font-size:11px;padding:5px 6px;gap:4px;max-width:100%}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-product,.pn-panorama-product,.pn-showcase-product) .pn-pill .pn-icon{width:14px;height:14px}
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-wide,.pn-panorama-product,.pn-showcase-product) .pn-vitrine-copy-inner{gap:6px 8px}

/* Narrow cards give the cart action its own line so its label never splits. */
body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-product,.pn-panorama-product,.pn-showcase-product) :is(.pn-pill,.pn-showcase-action .button){white-space:nowrap}
@container pn-vitrine-card (max-width:420px){
 body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-wide,.pn-panorama-product,.pn-showcase-product) .pn-vitrine-copy-inner{grid-template-columns:minmax(0,1fr)}
 body.pn-site.pn-theme-system .pn-site-frame .pn-vitrine :is(.pn-reference-wide,.pn-panorama-product,.pn-showcase-product) :is(.pn-showcase-price,.pn-showcase-action,.pn-vitrine-copy-inner>.pn-pill){grid-column:1/-1}
}
