/* The shop follows the quiet, photographic language of the reference stores. */
.catalog,.store-dialog,body:not(.is-admin)>footer{--text:#292a27;--muted:#7b7c75;--accent:#5c6654;--line:#deded7;--panel:#f4f4ee;color:var(--text);color-scheme:light}
.catalog{background:#fcfcf9;border:0;padding:0 5% 90px}
.catalog>.collection-header{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;height:90px;gap:24px;margin:0 auto;padding:8px 0;background:#fcfcf9;border-bottom:1px solid var(--line)}
.collection-header .logo{font-size:26px;letter-spacing:.25em;color:#282b25}
.collection-header nav{display:flex;align-items:center;gap:36px;font-size:13px}
.collection-header nav a{position:relative;padding:10px 0;color:#74756d}
.collection-header nav .current{color:#282b25}
.collection-header nav .current:after{content:'';height:1px;background:currentColor;position:absolute;left:0;right:0;bottom:4px}
.collection-header nav span{font-size:11px;padding-left:3px}
.saved-toggle{display:flex;justify-content:center;align-items:center;gap:9px;min-width:52px;min-height:44px;background:none;border:0;color:#3d4238;padding:8px 0 8px 8px;font-size:12px}
.saved-toggle svg{width:21px;height:21px}
.saved-toggle[aria-pressed=true] svg{fill:#58654b;stroke:#58654b}
.shop-heading{max-width:1440px;margin:0 auto;padding:72px 0 58px;text-align:center}
.shop-kicker{font-size:10px;letter-spacing:.21em;color:#96978b;margin-bottom:17px}
.shop-heading h2{font:400 clamp(38px,4vw,56px)/1.15 'Forum',Georgia,serif;margin:0 0 13px;letter-spacing:0}
.shop-heading>p:last-child{font-size:13px;color:#7b7c75;margin:0}
.catalog .catalog-tools{scroll-margin-top:110px;margin-bottom:0}
.catalog .search-sort{display:grid;grid-template-columns:minmax(200px,1fr) 210px auto 192px;gap:18px;padding:0 0 22px;border-bottom:1px solid var(--line)}
.catalog input,.catalog select,.store-dialog input,.store-dialog textarea{background:transparent;color:var(--text);border:1px solid var(--line);border-radius:0;min-height:46px;font-size:13px}
.catalog .search{border:1px solid var(--line);padding-left:14px;min-width:0}
.catalog .search svg{width:20px;height:20px;flex:0 0 20px;color:#777e6f}
.catalog .search input{border:0;outline-offset:-2px;padding:11px 13px}
.catalog .search-sort select{width:100%;padding:11px 12px}
.catalog .outline{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:46px;font-size:12px;border-color:var(--line);padding:10px 16px;transition:border-color .2s,background .2s}
.catalog .outline svg{width:20px;height:20px}
.catalog .outline[aria-expanded=true]{background:#e9eae2;border-color:#929b85}
.catalog .outline:hover{border-color:#929b85}
.catalog .filter-panel{padding:25px 0;margin-bottom:0;grid-template-columns:repeat(4,minmax(0,1fr)) auto auto;gap:18px;border-bottom:1px solid var(--line)}
.catalog .filter-panel label{font-size:12px;color:#73776d}
.catalog .filter-panel input,.catalog .filter-panel select{margin-top:8px}
.catalog .filter-panel .checkbox{padding-bottom:12px}
.catalog .filter-panel .checkbox input{min-height:0;accent-color:#59664c}
.catalog .text-button{color:#5f6956;font-size:12px}
.catalog-summary{display:flex;justify-content:space-between;gap:20px;max-width:1440px;margin:22px auto 24px;font-size:11px;color:#7b7c75}
.catalog-summary span:last-child{color:#98998f}
.catalog .products-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 22px}
.catalog .product-card{position:relative;background:none;color:var(--text);cursor:default;transition:none;min-width:0}
.catalog .product-card:hover{transform:none}
.catalog .product-image{aspect-ratio:1;background:#9a9a9a;border:0;display:block}
.catalog .product-image:after{display:none}
.product-photo{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none;display:grid;place-items:center;overflow:hidden}
.catalog .product-photo>img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.catalog .product-photo>img.alt-photo{position:absolute;inset:0;opacity:0;transition:opacity .55s,transform .8s cubic-bezier(.22,.61,.36,1)}
.save-stone{position:absolute;right:12px;top:12px;z-index:2;width:39px;height:39px;display:grid;place-items:center;border:0;border-radius:50%;background:#fcfcf9de;color:#353d2e;transition:background .2s}
.save-stone svg{width:19px;height:19px}
.save-stone[aria-pressed=true] svg{fill:#48593b;stroke:#48593b}
.save-stone:hover{background:#fff}
.availability{position:absolute;top:17px;left:14px;padding:3px 7px;background:#fcfcf9dc;color:#575f50;font-size:9px;letter-spacing:.035em;pointer-events:none}
.quick-view{position:absolute;left:14px;right:14px;bottom:14px;background:#fcfcf9f0;color:#3e4635;text-align:center;padding:12px;font-size:10px;letter-spacing:.06em;pointer-events:none;opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s}
.product-card:focus-within .quick-view{opacity:1;transform:none}
@media(hover:hover){.product-card:hover .quick-view{opacity:1;transform:none}.product-card:hover .product-photo>img{transform:scale(1.035)}.product-card:hover .product-photo>img.alt-photo{opacity:1}}
.catalog .product-meta{padding:16px 0 0}
.catalog .product-meta .sku{float:none;display:block;color:#939588;font-size:10px;letter-spacing:.07em;margin:0 0 6px;min-height:15px}
.catalog .product-meta h3{font:400 15px/1.5 'Manrope',Arial,sans-serif;color:#363b30;margin:0 0 5px}
.catalog .product-meta h3 button{font:inherit;line-height:inherit;color:inherit;text-align:left;background:none;border:0;padding:0}
.catalog .product-meta h3 button:hover{text-decoration:underline;text-underline-offset:4px}
.catalog .product-meta p{font-size:12px;line-height:1.6;color:#8b8c82;margin:0 0 9px;min-height:19px}
.catalog .price-row{font-size:14px;color:#454d3b;font-weight:400;margin-top:8px}
.catalog .stock{font-size:10px;color:#8a8e81}
.catalog .photo-pending{color:#f0f0e9;width:100%;height:100%;justify-content:center}
.catalog .photo-pending .monogram{color:#ebeee5a0}
.catalog .sample-gem .sample-art{mix-blend-mode:normal}
.catalog .sample-gem small{color:#eef0e7;font-size:10px}
.catalog .empty{font-size:14px;color:var(--muted)}
.catalog .empty button{display:block;border:0;border-bottom:1px solid #8a947c;background:none;font-size:12px;padding:4px 0;margin:20px auto 0;color:#5a654e}
.catalog #loadError{color:#8b4747;font-size:13px;margin:15px auto;max-width:1440px}
.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:8px;max-width:1440px;margin:60px auto 0;padding-top:30px;border-top:1px solid var(--line)}
.catalog-pagination button{min-width:42px;height:44px;padding:0 10px;border:1px solid transparent;background:none;color:#86897d;font-size:12px}
.catalog-pagination button[aria-current=page]{border-color:#8e9780;color:#36432a}
.catalog-pagination button:hover{border-color:var(--line)}
.catalog-pagination button:disabled{opacity:.3;cursor:default}
.catalog-pagination .page-ellipsis{font-size:12px;color:#a0a395;padding:0 4px}
.catalog-pagination .page-caption{margin-left:22px;font-size:11px;color:#909585}
.store-dialog{background:#fcfcf9;border:1px solid #c3c9b9;padding:0;box-shadow:0 20px 100px #0004}
.store-dialog::backdrop{background:#0c100ac2;backdrop-filter:blur(8px)}
#productDialog{width:min(94vw,1100px)}
.store-dialog .close{color:#3f4936;background:#fcfcf9e0;right:13px;top:12px;min-width:40px;height:40px;line-height:1}
.store-dialog .detail-grid{grid-template-columns:1.05fr .95fr}
.store-dialog .detail-photo{display:block;background:#e9ebe2;min-height:0;max-height:none;padding:0;align-self:start}
.gallery-main{aspect-ratio:1;background:#9a9a9a;display:grid;place-items:center}
.gallery-main img{width:100%;height:100%;max-height:none;object-fit:contain}
.gallery-thumbs{display:flex;gap:9px;padding:14px;overflow-x:auto}
.gallery-thumbs:empty{display:none}
.gallery-thumbs button{flex:0 0 65px;aspect-ratio:1;padding:0;border:1px solid transparent;background:#9a9a9a;overflow:hidden}
.gallery-thumbs button[aria-pressed=true]{border-color:#414f34;outline:1px solid #414f34;outline-offset:2px}
.gallery-thumbs button img{width:100%;height:100%;object-fit:contain}
.store-dialog .detail-info{padding:54px 35px 35px;min-width:0}
.store-dialog .eyebrow{color:#8d9481;font-size:10px;letter-spacing:.12em;margin-bottom:14px}
.store-dialog h2{font:400 36px/1.15 'Forum',Georgia,serif;color:#333d2c;margin:0 0 18px}
.store-dialog .detail-price{font-size:24px;color:#48563b;margin:0 0 24px}
.store-dialog .specs{margin:20px 0 28px}
.store-dialog .specs div{border-color:var(--line);font-size:12px;padding:9px 0;gap:20px}
.store-dialog .specs dt{color:#8a8f80}
.store-dialog .specs dd{color:#4c5641;overflow-wrap:anywhere}
.store-dialog .primary{background:#435337;border:1px solid #435337;color:#f7f8f3;justify-content:center;gap:30px;width:100%;min-height:51px;padding:14px 18px;font-size:12px}
.store-dialog .primary:hover{background:#33412a;transform:none}
.store-dialog .source-hint{color:#8a9081;font-size:11px;line-height:1.7;margin:12px 0 0;text-align:center}
.store-dialog .detail-description{font-size:12px;line-height:1.8;color:#7a826e;white-space:pre-line;margin-top:25px}
.store-dialog .detail-photo .photo-pending{color:#eef0e8;min-height:300px}
.store-dialog .detail-photo .sample-gem{min-height:0;aspect-ratio:1}
.store-dialog .detail-photo .sample-gem small{color:#fff}
#requestDialog{padding:45px;width:min(92vw,560px)}
#requestDialog em{color:#5d6a50}
#requestDialog label{color:#69735c;font-size:12px}
#requestDialog .privacy{color:#989e8f}
.admin-source-note{font-size:13px;color:var(--muted);max-width:850px;margin:24px 0}
.admin-source-note a{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
body:not(.is-admin)>footer{background:#f3f4ee;border-color:#e2e4da;padding:38px 5%;gap:30px;flex-wrap:wrap}
body:not(.is-admin)>footer .logo{color:#4b5542;font-size:23px}
body:not(.is-admin)>footer>a:last-child{color:#939b88;font-size:11px}
@media(min-width:1700px){.catalog{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}
@media(max-width:1150px){.catalog .products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog .search-sort{grid-template-columns:minmax(180px,1fr) 175px auto 175px;gap:10px}.catalog .filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.store-dialog .detail-info{padding:50px 27px 30px}}
@media(max-width:760px){
 .catalog{padding:0 5% 55px}
 .catalog>.collection-header{height:73px;gap:15px}
 .collection-header .logo{font-size:21px;letter-spacing:.2em}
 .collection-header nav{gap:15px;font-size:11px}
 .collection-header nav span{display:none}
 .saved-toggle{min-width:42px;gap:5px}
 .saved-toggle svg{width:18px;height:18px}
 .shop-heading{padding:48px 0 36px}
 .shop-kicker{font-size:8px;letter-spacing:.18em;margin-bottom:13px}
 .shop-heading h2{font-size:38px}
 .shop-heading>p:last-child{font-size:12px}
 .catalog .search-sort{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding-bottom:18px}
 .catalog .search{grid-column:1/3}
 .catalog #categorySelect{grid-column:1/3}
 .catalog .outline{justify-content:center;gap:18px}
 .catalog input,.catalog select,.catalog .outline{font-size:12px}
 .catalog-summary{font-size:10px;margin:19px auto;gap:12px}
 .catalog-summary span:last-child{font-size:9px;text-align:right}
 .catalog .products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 14px}
 .save-stone{width:32px;height:32px;top:8px;right:8px}
 .save-stone svg{width:17px;height:17px}
 .availability{left:8px;top:10px;font-size:8px;padding:3px 5px;max-width:calc(100% - 47px)}
 .quick-view{display:none}
 .catalog .product-meta{padding-top:12px}
 .catalog .product-meta .sku{font-size:9px;margin-bottom:4px}
 .catalog .product-meta h3{font-size:12px;line-height:1.6}
 .catalog .product-meta p{font-size:10px;min-height:16px;margin-bottom:7px}
 .catalog .price-row{font-size:13px;margin-top:5px}
 .catalog .filter-panel{grid-template-columns:1fr 1fr;gap:16px 12px}
 .catalog .filter-panel .checkbox{font-size:11px}
 .catalog-pagination{gap:3px;flex-wrap:wrap;margin-top:38px;padding-top:24px}
 .catalog-pagination button{min-width:35px;padding:0 5px}
 .catalog-pagination .page-caption{width:100%;text-align:center;margin:12px 0 0}
 .store-dialog .detail-grid{grid-template-columns:1fr}
 .store-dialog .detail-info{padding:29px 24px}
 .store-dialog h2{font-size:32px}
 .store-dialog .detail-price{font-size:22px}
 .gallery-thumbs{padding:12px}
 .gallery-thumbs button{flex-basis:56px}
 #requestDialog{padding:36px 24px}
 body:not(.is-admin)>footer{gap:18px;display:flex}
 body:not(.is-admin)>footer>span{font-size:10px}
 body:not(.is-admin)>footer>a{font-size:10px}
}
@media(max-width:380px){.collection-header nav{gap:10px;font-size:10px}.collection-header .logo{font-size:19px}.collection-header nav a:last-child{max-width:75px;line-height:1.4}.catalog-summary span:last-child{max-width:130px}}
@media(prefers-reduced-motion:reduce){.catalog *, .store-dialog *{transition:none!important}}
