/* Violette proportions, with Olive & Stone content and purchasing controls. */
body[data-product-reference] { --paper:#fff; --ink:#1a1a1a; --muted:#666; --fine-line:#ddd; --product-rule:#222; background:#fff; color:var(--ink); font-family:var(--mono); font-size:13px; line-height:1.6; padding-top:86px; padding-bottom:0; }
body[data-product-reference].framed-page>.page { --paper:#fff; --ink:#1a1a1a; width:100%; max-width:none; margin:0; padding:0 16px 32px; background:#fff; }
[data-product-reference] .compact-masthead { position:fixed; top:0; left:0; right:0; z-index:15; width:100%; height:86px; min-height:0; margin:0; padding:20px 16px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:32px; align-items:center; border:0; background:#fff; }
[data-product-reference] .compact-masthead .brand { grid-column:1; justify-self:start; }
[data-product-reference] .compact-masthead .wordmark { font-family:var(--mono); font-size:26px; letter-spacing:-.06em; }
[data-product-reference] .compact-masthead .compact-navigation { grid-column:2; justify-self:end; gap:32px; font:400 12px/1.6 var(--mono); text-transform:uppercase; }
[data-product-reference] .compact-masthead .cart-toggle { font:400 12px/1.6 var(--mono); text-transform:uppercase; }
[data-product-reference] .compact-navigation .site-menu>summary::after { display:none; }
[data-product-reference] .compact-navigation .site-menu>div { left:auto; right:0; text-transform:none; }
[data-product-reference] .compact-breadcrumb { position:sticky; top:86px; z-index:9; gap:6px; padding:0 0 6px; margin:0; min-height:24px; font:400 11px/1.6 var(--mono); letter-spacing:.04em; text-transform:none; background:#fff; }
[data-product-reference] .compact-breadcrumb .catalogue-back { min-height:18px; font:inherit; }
[data-product-reference] .compact-breadcrumb>span:last-child { color:var(--ink); }
[data-product-reference] .compact-product-overview { display:grid; grid-template-columns:calc(50% - 16px) 50%; gap:16px; align-items:start; }
[data-product-reference] .compact-product-overview > .photo-gallery { order:0; position:static; width:100%; margin:0; padding:0; }
[data-product-reference] .compact-product-overview > .compact-product-summary { order:1; }
[data-product-reference] .photo-gallery .gallery-images { display:flex; flex-direction:column; gap:13px; width:100%; overflow:visible; scroll-snap-type:none; background:transparent; }
[data-product-reference] .photo-gallery .gallery-images>* { flex:none; width:100%; height:auto; max-height:none; aspect-ratio:var(--product-photo-ratio,4/5); display:block; background:#eeece6; }
[data-product-reference] .photo-gallery .gallery-images .product-closeup img { display:block; width:100%; height:100%; object-fit:cover; }
[data-product-reference] .photo-gallery .product-gallery-controls,[data-product-reference] .photo-gallery .ux-gallery-hint { display:none; }
[data-product-reference] .compact-product-summary { position:sticky; top:110px; max-width:528px; width:calc(100% - 96px); margin:0 auto; padding:5px 0 26px; }
[data-product-reference] .compact-product-summary #product-title { margin:0 0 8px; font-family:var(--mono); font-weight:400; font-size:32px; line-height:1; letter-spacing:0; text-transform:none; }
[data-product-reference] .compact-price { font-size:17px; line-height:1.6; gap:6px; margin:0 0 17px; }
[data-product-reference] .compact-price small { font-size:10px; }
[data-product-reference] .compact-size-meta { margin:0 0 24px; }
[data-product-reference] .compact-size-meta #size-mode { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
[data-product-reference] .compact-size-meta p { font:400 13px/1.35 var(--mono); margin:0; }
[data-product-reference] .compact-size-meta .compact-lead-time { font-style:italic; color:#666; margin-top:2px; }
[data-product-reference] .compact-description { margin-bottom:18px; }
[data-product-reference] .compact-description p { margin:0; font:400 13px/1.35 var(--mono); }
[data-product-reference] .compact-product-summary .finish-selector { display:grid; gap:2px 12px; margin:0 0 20px; padding:0; }
[data-product-reference] .compact-product-summary .finish-selector h2 { font:400 12px/1.4 var(--mono); text-transform:uppercase; }
[data-product-reference] .compact-product-summary .finish-explore { min-height:20px; font:400 12px/1.4 var(--mono); }
[data-product-reference] .compact-product-summary .finish-fields select { border:0; border-bottom:1px solid #ddd; min-height:40px; padding:8px 24px 8px 0; font:400 14px/1.4 var(--mono); background:#fff; }
[data-product-reference] .compact-product-summary .finish-select::after { top:16px; right:3px; }
[data-product-reference] .compact-product-summary .ux-finish-preview { margin:6px 0 0; }
[data-product-reference] .compact-product-summary .ux-finish-preview img { width:40px; height:32px; }
[data-product-reference] .compact-product-summary .ux-finish-preview p { font:400 12px/1.4 var(--mono); }
[data-product-reference] .compact-product-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; }
[data-product-reference] .compact-product-actions>* { min-height:44px; padding:10px 22px; font-family:var(--mono); font-weight:400; font-size:16px; line-height:1.3; text-transform:uppercase; letter-spacing:.025em; }
[data-product-reference] .compact-product-actions #add-to-cart { background:#1a1a1a; border-color:#1a1a1a; color:#fff; }
[data-product-reference] .compact-product-actions a { border-color:#ddd; background:#fff; color:#1a1a1a; }
[data-product-reference] .compact-product-actions a:hover { background:#1a1a1a; color:#fff; border-color:#1a1a1a; }
[data-product-reference] .compact-selection-hint { margin:8px 0 0; min-height:0; font:400 12px/1.4 var(--mono); }
[data-product-reference] .compact-service-notes { display:grid; gap:9px; margin:24px 0 28px; }
[data-product-reference] .compact-service-notes p { display:flex; gap:10px; align-items:center; margin:0; font:400 12px/1.4 var(--mono); color:#3a3a3a; }
[data-product-reference] .compact-service-notes .ux-lead-time { display:none; }
.reference-service-icon { width:18px; height:18px; flex:none; }
[data-product-reference] .compact-product-summary .ux-product-details { margin:0; }
[data-product-reference] .compact-product-summary .ux-product-details>details { margin:0; border:0; border-bottom:1px solid #333; scroll-margin-top:118px; }
[data-product-reference] .compact-product-summary .ux-product-details>details>summary { min-height:43px; padding:13px 0 8px; font:400 13px/1.4 var(--mono); text-transform:uppercase; letter-spacing:0; }
[data-product-reference] .ux-product-details .expand-mark { width:10px; height:10px; }
[data-product-reference] .ux-product-details .expand-mark::before { width:9px; top:4px; }
[data-product-reference] .ux-product-details .expand-mark::after { height:9px; left:4px; }
[data-product-reference] .compact-product-summary .ux-disclosure-body,[data-product-reference] .compact-product-summary .accordion-body { padding:16px 0 20px; }
[data-product-reference] .compact-product-summary .ux-product-details :where(p,dd,dt,li) { font:400 13px/1.6 var(--mono); }
[data-product-reference] .compact-product-summary .ux-product-details h3 { margin:22px 0 8px; font:600 13px/1.4 var(--mono); }
[data-product-reference] .compact-product-summary .ux-product-details .product-specifications { margin:0; }
[data-product-reference] .compact-product-summary .ux-product-details .text-link { font-family:inherit; }
[data-product-reference] .compact-product-summary .ux-help-links a { font-size:13px; }
[data-product-reference] .ux-product-details a,
[data-product-reference] .ux-product-details a:visited { color:var(--ink); text-underline-offset:3px; }
[data-product-reference] .compact-product-summary .photo-note { margin-top:16px; font-size:12px; color:#666; }
[data-product-reference] .compact-designer { margin:48px auto 0; max-width:1200px; padding-top:28px; scroll-margin-top:110px; }
[data-product-reference] .compact-designer h2 { font-family:var(--mono); font-size:32px; text-transform:none; letter-spacing:0; }
[data-product-reference] .compact-designer :where(input,select) { font-family:var(--mono); }
[data-product-reference] .compact-custom-purchase button { font-family:var(--mono); font-size:17px; font-weight:400; text-transform:uppercase; }
[data-product-reference] .site-footer { max-width:1200px; margin:64px auto 0; font-family:var(--mono); }
[data-product-reference] :where(#mobile-menu,#cart-dialog,.product-image-dialog) { --paper:#fff; --ink:#1a1a1a; background:#fff; font-family:var(--mono); }
[data-product-reference].product-card-view { padding-top:0; }
[data-product-reference].product-card-view .compact-breadcrumb { position:static; padding-top:12px; }
[data-product-reference].product-card-view .compact-product-summary { top:16px; }
[data-product-reference].product-card-view .compact-designer { scroll-margin-top:16px; }
@media(min-width:769px) and (max-width:1100px) {
 [data-product-reference] .compact-product-summary { width:calc(100% - 40px); }
}
@media(max-width:768px) {
 body[data-product-reference] { padding-top:66px; font-size:14px; }
 body[data-product-reference].framed-page>.page { padding:0 max(10px,env(safe-area-inset-right)) 24px max(10px,env(safe-area-inset-left)); }
 [data-product-reference] .compact-masthead { min-height:0; height:66px; padding:12px max(10px,env(safe-area-inset-left)); grid-template-columns:minmax(0,1fr) auto auto; gap:22px; }
 [data-product-reference] .compact-masthead .wordmark { font-size:20px; }
 [data-product-reference] .compact-masthead .ux-menu-toggle { display:block; grid-column:2; grid-row:1; font:400 12px/1.4 var(--mono); text-transform:uppercase; }
 [data-product-reference].ux-ready .compact-masthead .compact-navigation { display:none; }
 [data-product-reference] .compact-breadcrumb { display:none; }
 [data-product-reference] .compact-product-overview { display:flex; flex-direction:column; gap:20px; }
 [data-product-reference] .photo-gallery .gallery-images { flex-direction:row; overflow-x:auto; overflow-y:hidden; gap:0; scroll-snap-type:x mandatory; scrollbar-width:none; max-height:none; }
 [data-product-reference] .photo-gallery .gallery-images::-webkit-scrollbar { display:none; }
 [data-product-reference] .photo-gallery .gallery-images>* { flex:0 0 100%; scroll-snap-align:start; max-height:none; aspect-ratio:var(--product-photo-ratio,4/5); }
 [data-product-reference] .photo-gallery .product-gallery-controls { display:flex; margin:0; padding:0; font:400 11px/1.4 var(--mono); }
 [data-product-reference] .photo-gallery .product-gallery-controls button { min-height:40px; min-width:44px; padding:8px 2px; border:0; font:inherit; text-decoration:none; }
 [data-product-reference] .compact-product-summary { position:static; max-width:none; width:100%; padding:0 0 12px; }
 [data-product-reference] .compact-product-summary #product-title { font-size:28px; margin:0 0 7px; }
 [data-product-reference] .compact-price { font-size:16px; margin-bottom:16px; }
 [data-product-reference] .compact-size-meta { margin-bottom:22px; }
 [data-product-reference] .compact-size-meta p,[data-product-reference] .compact-description p { font-size:14px; line-height:1.4; }
 [data-product-reference] .compact-description { margin-bottom:18px; }
 [data-product-reference] .compact-product-summary .finish-fields select { font-size:16px; min-height:44px; }
 [data-product-reference] .compact-product-summary .finish-selector h2 { min-height:24px; display:flex; align-items:center; }
 [data-product-reference] .compact-product-summary .finish-explore { min-height:24px; display:flex; align-items:center; }
 [data-product-reference] .compact-product-actions { grid-template-columns:1fr; gap:8px; }
 [data-product-reference] .compact-product-actions>* { min-height:46px; font-size:17px; }
 [data-product-reference] .compact-service-notes { margin:24px 0 28px; gap:12px; }
 [data-product-reference] .compact-service-notes p { font-size:13px; }
 [data-product-reference] .compact-product-summary .ux-product-details>details { scroll-margin-top:78px; }
 [data-product-reference] .compact-product-summary .ux-product-details>details>summary { min-height:48px; font-size:13px; padding:15px 0 10px; }
 [data-product-reference] .compact-product-summary .ux-product-details :where(p,dd,dt,li) { font-size:14px; }
 [data-product-reference] .compact-designer { margin-top:28px; padding:24px 0 0; scroll-margin-top:78px; }
 [data-product-reference] .compact-designer h2 { font-size:28px; }
 [data-product-reference] .site-footer { margin-top:40px; }
}
@media print {
 body[data-product-reference] { padding-top:0; }
 [data-product-reference] .compact-product-overview { display:block; }
 [data-product-reference] .compact-product-summary { position:static; width:100%; max-width:none; }
 [data-product-reference] .compact-masthead,[data-product-reference] .compact-breadcrumb { display:none; }
 [data-product-reference] .photo-gallery .gallery-images { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
}

body[data-product-reference].product-card-view { padding-top:0; }
