.ct-shop-menu{position:relative}
.ct-shop-menu>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;font:700 11px/1.3 var(--ct-sans);letter-spacing:.16em;text-transform:uppercase;color:inherit}
.ct-shop-menu>summary::-webkit-details-marker{display:none}
.ct-shop-menu>summary:after{content:'⌄';font-size:16px}
.ct-shop-submenu{position:absolute;top:100%;left:-20px;min-width:245px;padding:12px 20px;background:#0c2e26;color:#f4eee2;box-shadow:0 12px 24px #0002;border:1px solid #ffffff26;z-index:1100}
.ct-shop-submenu a{display:flex;align-items:center;min-height:48px;font-size:11px;letter-spacing:.08em;white-space:nowrap}
.ct-shop-submenu a:focus-visible,.ct-shop-menu>summary:focus-visible{outline:2px solid #d8c7a4;outline-offset:3px}
.ct-shop-banner{display:grid;grid-template-columns:1fr 1.15fr;background:#f4eee2;color:#053d32;align-items:center;padding:48px max(24px,6vw);gap:40px}
.ct-shop-banner-copy{max-width:520px}
.ct-review-eyebrow{font:600 10px/1.5 var(--ct-sans);text-transform:uppercase;letter-spacing:.18em;color:#766440;margin:0 0 16px}
.ct-shop-banner h1{font:400 clamp(44px,4.8vw,70px)/1.04 var(--ct-serif);margin:0 0 20px;letter-spacing:-.02em}
.ct-shop-banner-copy>p:not(.ct-review-eyebrow){font-size:14px;max-width:360px;line-height:1.7;margin:0}
.ct-shop-banner-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:center}
.ct-shop-banner-products a{display:block;overflow:hidden;background:#eee4d6;border-radius:100px 100px 4px 4px}
.ct-shop-banner-products a:nth-child(2){transform:translateY(-14px)}
.ct-shop-banner-products img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;padding:12px}
.ct-shop-banner-products a:focus-visible{outline:2px solid #053d32;outline-offset:4px}
.ct-shop-tabs{flex-wrap:wrap;align-items:center}
.ct-shop-tabs>a{font:600 11px/1.4 var(--ct-sans);padding:16px;letter-spacing:.04em;text-decoration:underline;text-underline-offset:4px}
.ct-shop-tab{padding-left:22px;padding-right:22px}
.ct-shop-collection-panel{scroll-margin-top:145px}
.ct-wholesale-intro{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:56px max(24px,6vw);background:#e9e2d4;color:#053d32}
.ct-wholesale-intro>div{max-width:650px}
.ct-wholesale-intro h2{font:400 clamp(30px,3vw,44px)/1.1 var(--ct-serif);margin:0 0 14px}
.ct-wholesale-intro p:not(.ct-review-eyebrow){font-size:14px;line-height:1.7;margin:0}
.ct-wholesale-intro .button{flex-shrink:0;white-space:nowrap}
.ct-review-collection-heading{max-width:800px;margin:0 auto 32px;padding:0 24px;text-align:center}
@media(max-width:899px){
 .mobile-menu .ct-shop-menu>summary{width:100%;min-height:48px;flex-direction:row;gap:8px;font-size:11px;letter-spacing:.15em}
 .mobile-menu .ct-shop-submenu{position:static;box-shadow:none;border:0;border-left:1px solid #d8c7a4;padding:4px 0 4px 18px;margin:4px 0 12px;min-width:0}
 .mobile-menu .ct-shop-submenu a{font-size:10px;white-space:normal}
 .mobile-menu>nav{max-height:calc(100dvh - 110px);overflow-y:auto}
 .ct-shop-banner{grid-template-columns:1fr;padding:32px 22px 28px;gap:30px}
 .ct-shop-banner h1{font-size:44px;max-width:340px}
 .ct-shop-banner-products{max-width:540px;width:100%;margin:auto}
 .ct-shop-banner-products img{padding:8px;aspect-ratio:1/1.15}
 .ct-shop-tabs{position:static;flex-wrap:wrap;overflow:visible;gap:0;padding:0 8px}
 .ct-shop-tabs .ct-shop-tab{padding:17px 12px 14px;font-size:10px}
 .ct-shop-tabs>a{font-size:10px;padding:14px 12px}
 .ct-wholesale-intro{align-items:flex-start;flex-direction:column;padding:36px 24px;gap:24px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.ct-shop-banner-products--photo{display:block}
.ct-shop-banner-products--photo img{aspect-ratio:4/3;padding:0;object-fit:cover}

.ct-shop-collection-links{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin:-26px 0 32px;padding:0 20px}
.ct-shop-collection-links a{display:flex;align-items:center;min-height:48px;font:500 12px/1.4 var(--ct-sans);text-decoration:underline;text-underline-offset:5px}
@media(max-width:899px){.ct-shop-collection-links{margin:-12px 0 24px}}

@media(max-width:599px){.ct-shop-page .ct-shop-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 12px}.ct-shop-page .ct-shop-tabs .ct-shop-tab{text-align:center;width:100%}}
