/* DOS product detail, matching the supplied purchase-page reference. */
.template-product{background:#f3ece7;color:#48172d;font-family:'Fraunces',Georgia,serif}
.template-product .header-inner{min-height:112px;width:86%}.template-product .header-inner .brand img{width:108px;height:auto}.template-product .category-nav{padding:0 8%;justify-content:space-between;gap:24px}.template-product .category-nav a{font-family:'Fraunces',Georgia,serif;font-weight:750;font-style:italic;font-size:20px}
.dos-product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;width:100%;align-items:start}.dos-product-detail .product-media{background:white;min-width:0}.dos-product-detail .product-media img{width:100%;height:auto}.dos-product-detail .product-info{padding:100px 12% 70px;text-align:center;min-width:0}.dos-product-detail .product-info h1{font-family:'Fraunces',Georgia,serif;text-transform:uppercase;font-size:clamp(40px,5.5vw,82px);font-weight:750;line-height:.98;letter-spacing:-.045em;margin:0 0 20px;padding-bottom:24px;border-bottom:1px solid #a38792}.dos-product-detail .product-price{font-family:'Fraunces',Georgia,serif;font-weight:750;font-size:clamp(30px,3.7vw,55px);padding:6px 34px;margin:0;border-radius:20px;line-height:1.15}.dos-product-detail .shipping-caption{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:18px;margin:14px 0 40px}
.dos-product-detail .product-form{margin:0 0 30px}.product-option{padding:0;border:0;margin:22px 0;display:flex;align-items:center;gap:22px}.product-option legend{float:left;text-transform:uppercase;font-size:18px;font-weight:700;padding:10px 0;margin-right:20px}.option-values{display:flex;flex-wrap:wrap;gap:12px}.option-values label{margin:0;cursor:pointer}.option-values input{position:absolute;opacity:0;width:1px;height:1px}.option-values span{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;border:1px solid #a38792;border-radius:4px;padding:8px;font-size:16px}.option-values input:checked+span{background:#48172d;color:white}.option-values input:focus-visible+span{outline:3px solid #5977b9;outline-offset:3px}.product-quantity{display:flex;align-items:center;gap:16px;margin:16px 0}.product-quantity label{margin:0;font-size:14px}.product-quantity input{width:80px!important;padding:8px;min-height:44px}.variant-status:empty{display:none}.variant-status{font-size:14px}.product-buy-buttons{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.dos-product-detail .product-buy-buttons button{margin:0;width:100%;padding:22px 12px;border-radius:18px;font-family:'Fraunces',Georgia,serif;font-size:22px;line-height:1.1;min-height:56px}.dos-product-detail .product-accordion{padding:26px 0;border-bottom:1px solid #a38792}.dos-product-detail .product-accordion summary{font-family:'Fraunces',Georgia,serif;font-size:20px;font-weight:700}.dos-product-detail .product-accordion .rte{font-size:16px;line-height:1.5}
.product-reference-photo{width:100%;aspect-ratio:755/1100;background:url('dos-product-reference.png') 0 6.248%/199.86755% 382% no-repeat}
.demo-color span{font-size:0;width:48px;height:44px;border-radius:4px;background:var(--swatch)}.demo-color input:checked+span{background:var(--swatch);outline:2px solid #48172d;outline-offset:3px}.demo-product-options .product-option{justify-content:flex-start}.demo-product-options .product-option--color{margin-top:28px}
.template-product .related-products{width:88%;max-width:1440px;margin:auto;padding:90px 0}.template-product .related-products .section-title{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:30px;font-weight:750;margin:0 0 40px}.template-product .related-products .product-grid{gap:18px}.template-product .related-products .center{text-align:center;margin-top:40px}.template-product .related-products .button{font-family:'Fraunces',Georgia,serif;font-size:18px;border-radius:16px}.template-product .related-products .product-card h3{font-size:17px}.template-product .related-products .price{font-size:15px}
.template-product .editorial-image{min-height:0}.template-product .product-editorial-reference{width:30.5%;aspect-ratio:461/680;background:url('dos-shop-reference.png') 0 70.952254%/327.331887% 651.323529% no-repeat}.template-product .service-benefits{margin-top:-25px;position:relative;border-radius:25px 25px 0 0;padding:110px 0}
@media(max-width:1100px){.dos-product-detail .product-info{padding:50px 8%}.dos-product-detail .product-buy-buttons button{font-size:16px;padding:18px 10px}.dos-product-detail .shipping-caption{font-size:14px}.product-option legend{font-size:14px}.option-values{gap:8px}.option-values span{font-size:13px;min-width:36px}.template-product .category-nav a{font-size:16px}}
@media(max-width:767px){.template-product .header-inner{min-height:80px;width:calc(100% - 40px)}.template-product .header-inner .brand img{width:56px}.template-product .category-nav{padding:0 20px;gap:28px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.template-product .category-nav a{font-size:13px;white-space:nowrap;flex:0 0 auto;min-height:58px}.dos-product-detail{grid-template-columns:1fr}.dos-product-detail .product-info{padding:36px 24px 48px}.dos-product-detail .product-info h1{font-size:42px;padding-bottom:20px}.dos-product-detail .product-price{font-size:32px}.dos-product-detail .shipping-caption{margin-bottom:28px}.product-reference-photo{max-height:none}.product-buy-buttons{gap:12px}.dos-product-detail .product-buy-buttons button{font-size:15px;padding:16px 10px;min-height:48px;border-radius:12px}.dos-product-detail .product-accordion{padding:20px 0}.dos-product-detail .product-accordion summary{font-size:16px}.template-product .related-products{width:calc(100% - 32px);padding:48px 0}.template-product .related-products .section-title{font-size:23px;margin-bottom:24px}.template-product .related-products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.template-product .related-products .product-card h3{font-size:11px}.template-product .related-products .price{font-size:11px}.template-product .related-products .product-card__caption{padding:6px;min-height:62px}.template-product .related-products .card-bag{padding:7px}.template-product .product-editorial-reference{width:100%;aspect-ratio:4/5}.template-product .service-benefits{padding:60px 0}.template-product .benefits-grid{grid-template-columns:1fr;gap:28px}.template-product .benefits-grid .rte,.template-product .benefits-grid>div>p{display:none}}

/* Responsive product media and compact editorial filler photographs. */
.dos-product-detail .product-media{min-width:0;width:100%}.dos-product-detail .product-media>div{width:100%;overflow:hidden}.dos-product-detail .product-media img{display:block;width:100%;height:auto;max-height:850px;object-fit:contain}.dos-product-detail .product-media video,.dos-product-detail .product-media model-viewer,.dos-product-detail .product-media iframe{max-width:100%;width:100%}
.dos-product-detail .product-reference-photo{width:100%;aspect-ratio:755/1100;max-height:850px}
.template-product .product-editorial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:0;gap:0}
.template-product .product-editorial .product-editorial-reference{width:100%;aspect-ratio:461/680}
.product-editorial-fill{min-width:0;aspect-ratio:461/680;overflow:hidden}.product-editorial-fill img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%}
@media(max-width:767px){.dos-product-detail .product-media img{max-height:75svh;object-fit:contain}.dos-product-detail .product-reference-photo{max-height:none;aspect-ratio:755/1100}.template-product .product-editorial{grid-template-columns:repeat(3,minmax(0,1fr))}.template-product .product-editorial .product-editorial-reference,.product-editorial-fill{width:100%;aspect-ratio:4/5}}
/* Let the main image panel reach the delivery strip beside the product details. */
@media(min-width:768px){.dos-product-detail{align-items:stretch}.dos-product-detail .product-media{height:100%;display:flex;flex-direction:column}.dos-product-detail .product-media>div:only-child{flex:1;height:100%;min-height:0}.dos-product-detail .product-media>div:only-child img{height:100%;max-height:none;object-fit:contain}.dos-product-detail .product-reference-photo{height:100%;min-height:700px;aspect-ratio:auto;max-height:none}}

/* Product base: equal editorial frames and the shared DOS guarantee icons. */
.template-product .product-editorial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:0;height:clamp(260px,32vw,480px);overflow:hidden}
.template-product .product-editorial .product-editorial-reference,.template-product .product-editorial-fill{width:100%;height:100%;min-height:0;aspect-ratio:auto;overflow:hidden}
.template-product .product-editorial-fill img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 28%}
.template-product .product-editorial .product-editorial-reference{background-size:327.331887% 651.323529%;background-position:0% 70.952254%}
.template-product .service-benefits{position:relative;z-index:1;margin-top:-25px;border-radius:25px 25px 0 0}
.template-product .benefits-grid .icon{width:30px;height:30px;color:#48172d;fill:none;stroke:currentColor;stroke-width:2}
@media(max-width:767px){.template-product .product-editorial{height:clamp(140px,42vw,260px)}.template-product .benefits-grid .icon{width:26px;height:26px}.template-product .service-benefits{border-radius:25px 25px 0 0}}

/* Matching catalog photo on each individual product preview. */
.dos-product-detail .product-media .product-catalog-photo{width:100%;height:auto!important;min-height:0;max-height:none;aspect-ratio:320/584;flex:none!important}
.dos-product-detail h1{overflow-wrap:break-word}
/* One shared, responsive four-corner image frame for every product. */
.dos-product-detail{align-items:stretch}
.dos-product-detail .product-media{min-width:0;width:100%;padding:24px;background:#f3ece7;display:flex;flex-direction:column;gap:16px}
.dos-product-detail .product-media>div{border-radius:20px;overflow:hidden;background-color:white}
.dos-product-detail .product-media>img{border-radius:20px;background:white;display:block;width:100%;height:auto;max-height:850px;object-fit:contain}
.dos-product-detail .product-media .product-catalog-photo{border-radius:20px;width:100%;height:auto!important;aspect-ratio:320/584;background-color:white;flex:none!important;min-height:0}
.dos-product-detail .product-media .product-reference-photo{border-radius:20px;height:auto!important;min-height:0;aspect-ratio:755/1100;flex:none!important}
.dos-product-detail .product-media>div:only-child{height:auto;min-height:0;flex:none}
.dos-product-detail .product-media>div img{display:block;width:100%;height:auto;max-height:850px;object-fit:contain}
.dos-product-detail .product-info{min-width:0}
@media(max-width:767px){.dos-product-detail{grid-template-columns:minmax(0,1fr)}.dos-product-detail .product-media{padding:16px;gap:12px}.dos-product-detail .product-media>div,.dos-product-detail .product-media>img,.dos-product-detail .product-media .product-catalog-photo,.dos-product-detail .product-media .product-reference-photo{border-radius:16px}.dos-product-detail .product-media>img,.dos-product-detail .product-media>div img{max-height:75svh;object-fit:contain}.dos-product-detail .product-info{padding:36px 24px 48px}.dos-product-detail .product-info h1{font-size:clamp(32px,9vw,42px);overflow-wrap:break-word}}
/* Color choices appear as blocks, with their names retained for accessibility. */
.demo-color span{display:block;width:44px;height:44px;min-width:44px;border-radius:5px;font-size:0;background:var(--swatch);border:1px solid #48172d40}
.demo-color input:checked+span{background:var(--swatch);outline:2px solid #48172d;outline-offset:3px}
.product-option--color .option-values label:has(input[value="Blue" i]) span{font-size:0;background:#1232a5;width:44px}
.product-option--color .option-values label:has(input[value="Green" i]) span{font-size:0;background:#087a62;width:44px}
.product-option--color .option-values label:has(input[value="Cream" i]) span{font-size:0;background:#efe2bd;width:44px}
.product-option--color .option-values label:has(input[value="Purple" i]) span{font-size:0;background:#48172d;width:44px}
.product-option--color .option-values label:has(input[value="Red" i]) span{font-size:0;background:#ad141c;width:44px}
.product-option--color .option-values label:has(input[value="Orange" i]) span{font-size:0;background:#c86425;width:44px}
.product-option--color .option-values label:has(input[value="Print" i]) span{font-size:0;background:linear-gradient(135deg,#ce5428,#2d7d78,#b59a40,#593368);width:44px}
.product-option--color input:checked+span{outline:2px solid #48172d;outline-offset:3px}
/* Clean product photography with balanced white space and undistorted proportions. */
.dos-product-detail .product-media{padding:28px;background:#f3ece7;align-items:center;justify-content:flex-start}
.dos-product-detail .product-media .product-catalog-photo{width:100%;max-width:600px;aspect-ratio:320/584;border-radius:18px;background-color:#fff;border:0;box-shadow:none}
.dos-product-detail .product-media>img{width:100%;max-width:600px;max-height:800px;padding:16px;border-radius:18px;background:#fff;object-fit:contain}
.dos-product-detail .product-media .product-reference-photo{width:100%;max-width:600px;border-radius:18px;box-shadow:none}
@media(max-width:767px){.dos-product-detail .product-media{padding:16px}.dos-product-detail .product-media .product-catalog-photo,.dos-product-detail .product-media .product-reference-photo{max-width:440px;border-radius:14px}.dos-product-detail .product-media>img{max-width:440px;max-height:75svh;padding:12px;border-radius:14px}}
/* Smaller Shop and product category tab labels. */
.template-collection .category-nav a,.template-product .category-nav a{font-size:16px}
@media(max-width:1024px){.template-collection .category-nav a,.template-product .category-nav a{font-size:13px}}
@media(max-width:767px){.template-collection .category-nav a,.template-product .category-nav a{font-size:11px}}
/* Responsive product action buttons with reliable touch targets. */
@media(max-width:767px){
.dos-product-detail .product-buy-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.dos-product-detail .product-buy-buttons button{width:100%;min-width:0;min-height:48px;padding:14px 8px;margin:0;font-size:13px;line-height:1.2;border-radius:12px;white-space:normal}
.dos-product-detail .option-values{gap:8px}
.dos-product-detail .option-values span{min-width:40px;min-height:44px;padding:8px;font-size:13px}
.template-product .related-products .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:14px 26px;font-size:14px;line-height:1.2;border-radius:12px}
.template-product .related-products .card-bag{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:36px;padding:7px}
}
@media(max-width:360px){.dos-product-detail .product-buy-buttons{grid-template-columns:minmax(0,1fr);gap:10px}.dos-product-detail .product-buy-buttons button{font-size:14px}}
/* Main product image fills the panel edge to edge, as in the supplied reference. */
.dos-product-detail{align-items:stretch}
.dos-product-detail .product-media{padding:0;background:white;align-items:stretch;justify-content:flex-start;gap:0}
.dos-product-detail .product-media>div,.dos-product-detail .product-media>img,.dos-product-detail .product-media .product-catalog-photo,.dos-product-detail .product-media .product-reference-photo{width:100%;max-width:none;border-radius:0;border:0;box-shadow:none;padding:0}
.dos-product-detail .product-media>img,.dos-product-detail .product-media>div img{width:100%;max-width:none;height:auto;max-height:none;object-fit:contain;padding:0;border-radius:0}
.dos-product-detail .product-media .product-catalog-photo{aspect-ratio:320/584;height:auto!important;min-height:0;background-color:white}
.dos-product-detail .product-media .product-reference-photo{aspect-ratio:755/1100;height:auto!important;min-height:0}
@media(max-width:767px){.dos-product-detail .product-media{padding:0}.dos-product-detail .product-media>div,.dos-product-detail .product-media>img,.dos-product-detail .product-media .product-catalog-photo,.dos-product-detail .product-media .product-reference-photo{max-width:none;border-radius:0;padding:0}.dos-product-detail .product-media>img,.dos-product-detail .product-media>div img{max-height:none;padding:0}}
/* Trim the reference photo's baked-in rounded edge without altering image proportions. */
.dos-product-detail .product-media .product-catalog-photo{width:100%;height:auto!important;min-width:0;aspect-ratio:296/560;border-radius:0;background-size:509.797297297% 790.892857143%;background-repeat:no-repeat}
.dos-product-detail .product-media .product-catalog-photo.shop-photo-0{background-position:9.563066776% 7.702248643%}
.dos-product-detail .product-media .product-catalog-photo.shop-photo-1{background-position:37.180544106% 7.702248643%}
.dos-product-detail .product-media .product-catalog-photo.shop-photo-2{background-position:64.798021434% 7.702248643%}
.dos-product-detail .product-media .product-catalog-photo.shop-photo-3{background-position:92.415498763% 7.702248643%}
.dos-product-detail .product-media .product-catalog-photo.shop-photo-4{background-position:9.563066776% 26.182476092%}
.dos-product-detail .product-media .product-catalog-photo.shop-photo-5{background-position:37.180544106% 26.182476092%}
.dos-product-detail .product-media .product-catalog-photo.shop-photo-6{background-position:64.798021434% 26.182476092%}
.dos-product-detail .product-media .product-catalog-photo.shop-photo-7{background-position:92.415498763% 26.182476092%}
.dos-product-detail .product-media .product-catalog-photo.shop-photo-8{background-position:9.563066776% 45.593176531%}
.dos-product-detail .product-media .product-catalog-photo.shop-photo-9{background-position:37.180544106% 45.593176531%}/* Keep screenshot-derived catalog photos at their native resolution on desktop. */
@media(min-width:768px){.dos-product-detail .product-media{align-items:center;justify-content:center;background:#fff}.dos-product-detail .product-media .product-catalog-photo{width:296px;max-width:100%;height:auto!important;background-color:#fff;image-rendering:auto}.dos-product-detail .product-media>img{width:auto;max-width:100%;height:auto;object-fit:contain}}
/* Mobile catalog images: native-resolution limit and centered proportional layout. */
@media(max-width:767px){
.dos-product-detail .product-media{width:100%;min-width:0;align-items:center;justify-content:center;background:#fff;overflow:hidden}
.dos-product-detail .product-media .product-catalog-photo{width:min(100%,296px);max-width:100%;min-width:0;height:auto!important;aspect-ratio:296/560;flex:none!important;background-color:#fff;image-rendering:auto}
.dos-product-detail .product-media>img{width:auto;max-width:100%;min-width:0;height:auto;max-height:75svh;object-fit:contain}
.dos-product-detail .product-media .product-reference-photo{width:100%;max-width:100%;height:auto!important;min-height:0;aspect-ratio:755/1100}
}
/* Blend screenshot-photo edges into one white product panel. */
.dos-product-detail .product-media{background:#fff;border:0;box-shadow:none}
.dos-product-detail .product-media .product-catalog-photo{background-color:transparent;border:0;box-shadow:none;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 3%,#000 97%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 2%,#000 98%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 3%,#000 97%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 2%,#000 98%,transparent 100%);mask-composite:intersect}
.dos-product-detail .product-media>img,.dos-product-detail .product-media>div img{background:#fff;border:0;box-shadow:none}
/* Every selected product photo blends into the white page without altering the source. */
.dos-product-detail .product-media{background:#fff;isolation:isolate}
.dos-product-detail .product-media .product-catalog-photo,.dos-product-detail .product-media .product-reference-photo{background-color:transparent;mix-blend-mode:multiply;border:0;box-shadow:none}
.dos-product-detail .product-media>img,.dos-product-detail .product-media>div img{background:transparent;mix-blend-mode:multiply;border:0;box-shadow:none}
