/* Shop page from the supplied catalog reference. */
.template-collection{background:#f3ece7;color:#48172d;font-family:'Fraunces',Georgia,serif}
.template-collection .header-inner{min-height:112px;width:86%}.template-collection .header-inner .brand img{width:108px;height:auto}.template-collection .bag{border-radius:12px;padding:10px;min-height:44px}
.template-collection .category-nav{justify-content:space-between;gap:24px;padding:0 8%;min-height:76px}.template-collection .category-nav a{font-family:'Fraunces',Georgia,serif;font-weight:750;font-style:italic;font-size:20px;padding:24px 0;text-decoration:none}.template-collection .category-nav a[aria-current=page]:after{height:8px}
.shop-catalog{width:86%;max-width:1440px;padding:96px 0 160px}.shop-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 18px}
.shop-product-grid .product-card__image{aspect-ratio:320/584;background:white;border-radius:20px;overflow:hidden}.shop-product-grid .product-card__image img{width:100%;height:100%;object-fit:contain}.shop-product-grid .product-card__caption{min-height:74px;border-radius:16px;border:1px solid #8c6574;padding:6px 7px 6px 14px;margin-top:16px;gap:8px}.shop-product-grid .product-card h3{font-family:'Fraunces',Georgia,serif;font-size:18px;line-height:1.1;font-weight:750;margin:0 0 6px}.shop-product-grid .price{font-family:'Fraunces',Georgia,serif;font-size:16px;font-weight:650}.shop-product-grid .card-bag{padding:10px;border-radius:12px}.shop-product-grid .card-bag .icon{width:30px;height:30px}
.shop-reference-photo{width:100%;height:100%;background-image:url('dos-shop-reference.png');background-repeat:no-repeat}
.shop-editorial{background:white;min-height:0;display:flex}.shop-editorial-reference{width:30.5%;aspect-ratio:461/680;background-image:url('dos-shop-reference.png');background-size:327.331887% 651.323529%;background-position:0% 70.952254%;background-repeat:no-repeat}
.template-collection .service-benefits{position:relative;margin-top:-36px;padding:110px 0;border-radius:48px 48px 0 0}.template-collection .benefits-grid h2{font-size:16px}.template-collection .benefits-grid .rte{font-size:9px;max-width:260px}.template-collection .benefits-grid .icon{width:32px;height:32px}
@media(max-width:1100px){.shop-catalog{padding:64px 0 100px}.shop-product-grid .product-card h3{font-size:14px}.shop-product-grid .price{font-size:12px}.shop-product-grid .card-bag .icon{width:24px;height:24px}.template-collection .category-nav a{font-size:16px}}
@media(max-width:767px){.template-collection .header-inner{min-height:80px;width:calc(100% - 40px)}.template-collection .header-inner .brand img{width:68px}.template-collection .category-nav{justify-content:flex-start;padding:0 20px;gap:28px;min-height:58px;overflow-x:auto;scrollbar-width:none}.template-collection .category-nav a{font-size:13px;padding:20px 0;min-height:58px}.shop-catalog{width:calc(100% - 32px);padding:36px 0 60px}.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.shop-product-grid .product-card__image{border-radius:14px}.shop-product-grid .product-card__caption{min-height:62px;padding:6px;margin-top:10px;border-radius:10px;gap:5px}.shop-product-grid .product-card h3{font-size:11px;overflow-wrap:break-word}.shop-product-grid .price{font-size:11px}.shop-product-grid .card-bag{padding:7px}.shop-product-grid .card-bag .icon{width:20px;height:20px}.shop-editorial-reference{width:58%}.template-collection .service-benefits{margin-top:-24px;padding:60px 0;border-radius:28px 28px 0 0}.template-collection .benefits-grid{grid-template-columns:1fr;gap:28px}.template-collection .benefits-grid .rte,.template-collection .benefits-grid>div>p{display:none}}
.shop-photo-0{background-size:471.5625% 758.3904109589041%;background-position:8.746846089150546% 7.438231469440833%}
.shop-photo-1{background-size:471.5625% 758.3904109589041%;background-position:36.92178301093356% 7.438231469440833%}
.shop-photo-2{background-size:471.5625% 758.3904109589041%;background-position:65.09671993271657% 7.438231469440833%}
.shop-photo-3{background-size:471.5625% 758.3904109589041%;background-position:93.27165685449958% 7.438231469440833%}
.shop-photo-4{background-size:471.5625% 758.3904109589041%;background-position:8.746846089150546% 26.033810143042913%}
.shop-photo-5{background-size:471.5625% 758.3904109589041%;background-position:36.92178301093356% 26.033810143042913%}
.shop-photo-6{background-size:471.5625% 758.3904109589041%;background-position:65.09671993271657% 26.033810143042913%}
.shop-photo-7{background-size:471.5625% 758.3904109589041%;background-position:93.27165685449958% 26.033810143042913%}
.shop-photo-8{background-size:471.5625% 758.3904109589041%;background-position:8.746846089150546% 45.56566970091027%}
.shop-photo-9{background-size:471.5625% 758.3904109589041%;background-position:36.92178301093356% 45.56566970091027%}

/* Fill the Shop editorial base with three equally sized photographs. */
.template-collection .shop-editorial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;min-height:0}
.template-collection .shop-editorial-reference{width:100%;aspect-ratio:461/680}
.shop-editorial-fill{min-width:0;aspect-ratio:461/680;overflow:hidden;background:white}
.shop-editorial-fill img,.template-collection .shop-editorial>img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 30%}
@media(max-width:767px){.template-collection .shop-editorial{grid-template-columns:1fr}.template-collection .shop-editorial-reference,.shop-editorial-fill{width:100%;aspect-ratio:4/5}}

/* Shop guarantees share the landing icon treatment and 25px top corners. */
.template-collection .service-benefits{border-radius:25px 25px 0 0;margin-top:-25px}
.template-collection .benefits-grid .icon{width:30px;height:30px;color:#48172d;stroke-width:2}
@media(max-width:767px){.template-collection .service-benefits{border-radius:25px 25px 0 0;margin-top:-25px}.template-collection .benefits-grid .icon{width:26px;height:26px}}
/* Shop mobile layout: readable cards, swipeable tabs and clean stacked sections. */
@media(max-width:767px){
.template-collection .header-inner{min-height:80px;width:calc(100% - 40px);padding:16px 0}
.template-collection .header-inner .brand img{width:56px;min-width:0;height:auto}
.template-collection .bag{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;padding:9px}
.template-collection .category-nav{display:flex;justify-content:flex-start;gap:28px;padding:0 20px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;min-height:58px}
.template-collection .category-nav a{flex:0 0 auto;font-size:13px;min-height:58px;padding:20px 0;white-space:nowrap}
.template-collection .category-nav::-webkit-scrollbar{display:none}
.template-collection .shop-catalog{width:calc(100% - 32px);padding:32px 0 56px}
.template-collection .shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
.template-collection .product-card{min-width:0}
.template-collection .shop-product-grid .product-card__image{width:100%;aspect-ratio:320/584;border-radius:14px}
.template-collection .shop-product-grid .product-card__caption{padding:6px;min-height:68px;gap:6px;border-radius:12px;margin-top:10px}
.template-collection .shop-product-grid .product-card__caption>div{min-width:0;flex:1}
.template-collection .shop-product-grid .product-card h3{font-size:11px;line-height:1.2;overflow-wrap:break-word;margin-bottom:5px}
.template-collection .shop-product-grid .price{font-size:11px;line-height:1.2}
.template-collection .shop-product-grid .card-bag{width:36px;height:44px;display:flex;align-items:center;justify-content:center;padding:7px;flex-shrink:0;border-radius:9px}
.template-collection .shop-product-grid .card-bag .icon{width:20px;height:20px}
.template-collection .shop-editorial{grid-template-columns:minmax(0,1fr);gap:0}
.template-collection .shop-editorial-reference,.template-collection .shop-editorial-fill{width:100%;aspect-ratio:4/5;min-width:0}
.template-collection .shop-editorial-fill img{width:100%;height:100%;object-fit:cover}
.template-collection .service-benefits{height:auto;padding:60px 0;border-radius:25px 25px 0 0;margin-top:-25px}
.template-collection .service-benefits .container{width:calc(100% - 40px)}
.template-collection .benefits-grid{grid-template-columns:minmax(0,1fr);gap:28px;text-align:center}
.template-collection .benefits-grid .rte,.template-collection .benefits-grid>div>p{display:none}
.template-collection .benefits-grid h2{font-size:14px;line-height:1.3;margin:12px 0 0}
.template-collection .benefits-grid .icon{width:26px;height:26px}
.template-collection .site-footer{padding:48px 0 28px}
.template-collection .site-footer .container{width:calc(100% - 40px)}
.template-collection .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 24px}
.template-collection .footer-grid>div:first-child{grid-column:1/-1}
.template-collection .footer-grid nav a{display:flex;align-items:center;min-height:44px;margin-bottom:8px}
.template-collection .footer-newsletter{grid-column:1/-1;width:100%;min-width:0;margin:0}
.template-collection .newsletter-field{width:100%;height:56px}
.template-collection .newsletter-field input{min-width:0;font-size:16px}
.template-collection .newsletter-field button{width:46px;flex:0 0 46px;min-height:44px;padding:8px}
.template-collection .footer-bottom{flex-direction:column;align-items:flex-start;gap:20px;font-size:11px;line-height:1.4}
.template-collection .social-links{gap:12px}
.template-collection .social-links a,.template-collection .social-links>span{width:32px;height:32px}
}
@media(max-width:360px){.template-collection .shop-product-grid{gap:20px 8px}.template-collection .shop-product-grid .product-card h3{font-size:10px}.template-collection .shop-product-grid .card-bag{width:30px;padding:5px}}
@media(min-width:768px) and (max-width:1024px){.template-collection .shop-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 16px}.template-collection .category-nav{padding:0 5%;gap:20px}.template-collection .category-nav a{font-size:15px}.template-collection .shop-catalog{width:90%;padding:64px 0 80px}}
/* Compact mobile editorial strip and icon-only cart. */
@media(max-width:767px){
.template-collection .shop-editorial{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.template-collection .shop-editorial-reference,.template-collection .shop-editorial-fill{aspect-ratio:4/5;width:100%;height:auto}
.template-collection .shop-editorial-fill img{object-fit:cover;object-position:center 25%}
.dos-header .bag>span:not(.visually-hidden){display:none}
.template-index .header-inner>.bag{min-width:44px;width:44px;height:44px;padding:9px;gap:0}
}
/* Swipeable collection navigation on phones and tablets. */
@media(max-width:1024px){
.template-collection .category-nav{display:flex;justify-content:flex-start;flex-wrap:nowrap;gap:28px;padding:0 20px;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none}
.template-collection .category-nav a{flex:0 0 auto;white-space:nowrap;scroll-snap-align:center;min-height:58px}
.template-collection .category-nav::-webkit-scrollbar{display:none}
}
/* Consistent mobile footer on landing and Shop pages. */
@media(max-width:767px){
.site-footer,.template-index .site-footer,.template-collection .site-footer{padding:40px 0 24px}
.site-footer .container,.template-index .site-footer .container,.template-collection .site-footer .container{width:calc(100% - 40px);max-width:none}
.site-footer .footer-grid,.template-index .footer-grid,.template-collection .footer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;row-gap:28px}
.site-footer .footer-grid>*{min-width:0}
.site-footer .footer-grid>div:first-child{grid-column:1/-1}
.site-footer .footer-grid .brand img{width:68px;min-width:0;height:auto}
.site-footer .footer-tagline{font-size:10px;line-height:1.4;margin:16px 0 0}
.site-footer .footer-grid h2{font-size:14px;line-height:1.25;margin:0 0 14px}
.site-footer .footer-grid nav a{font-size:12px;line-height:1.3;min-height:44px;display:flex;align-items:center;margin:0;padding:6px 0}
.site-footer .footer-grid .footer-newsletter,.template-index .footer-newsletter,.template-collection .footer-newsletter{grid-column:1/-1;justify-self:stretch;width:100%;min-width:0;max-width:none;margin:0}
.site-footer .footer-newsletter h2{font-size:12px;text-align:left;margin-bottom:12px}
.site-footer .newsletter-field{display:flex;align-items:stretch;width:100%;height:52px;min-height:52px;padding:4px;border-radius:12px}
.site-footer .newsletter-field input{display:block;flex:1 1 0;width:0;min-width:0;max-width:100%;font-size:16px;padding:8px 12px;border:0;background:white;color:#48172d}
.site-footer .newsletter-field button,.template-index .site-footer .newsletter-field button{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-height:44px;height:44px;margin:0;padding:8px;border-radius:9px}
.site-footer .footer-bottom,.template-index .footer-bottom,.template-collection .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px;margin-top:28px;padding-top:18px;font-size:10px;line-height:1.4}
.site-footer .social-links{display:flex;flex-wrap:wrap;gap:12px}
.site-footer .social-links a,.site-footer .social-links>span{display:flex;align-items:center;justify-content:center;width:36px;height:36px}
.site-footer .social-links svg{width:26px;height:26px}
}
/* Discreet pagination below the product grid. */
.pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;margin:44px 0 0;font-family:'Fraunces',Georgia,serif;font-size:14px}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:44px;margin:0;padding:8px;text-decoration:none;border-radius:8px;color:#48172d}
.pagination a:hover{background:#48172d0c}
.pagination [aria-current="page"]{font-weight:700;text-decoration:underline;text-underline-offset:7px}
.pagination .pagination-arrow{font-family:Arial,sans-serif;font-size:18px}
.pagination .pagination-gap{min-width:24px;opacity:.5}
@media(max-width:767px){.pagination{margin-top:32px;font-size:13px}}
/* 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}}
