/* Product and crawler catalog use the existing website typography and shell. */
.catalog-page{background:#fff;color:var(--ink);padding-bottom:0}
.catalog-page .site-header{position:relative;top:auto}
.catalog-page .header-contact{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:650}
.catalog-main{padding-top:32px;padding-bottom:64px;min-height:55vh}
.catalog-main h1{font-size:clamp(26px,2.7vw,38px);font-weight:700;line-height:1.22;letter-spacing:-1.1px;text-wrap:pretty;overflow-wrap:anywhere;margin:12px 0 18px}
.catalog-main h2{font-size:26px;line-height:1.3;margin:26px 0 14px;letter-spacing:-.7px}
.catalog-main h3{font-size:18px;line-height:1.4;margin:0 0 8px;letter-spacing:-.3px}
.catalog-main p{margin:12px 0;font-size:15px}
.catalog-main .muted,.catalog-main .eyebrow{color:var(--muted)}
.catalog-main .eyebrow{font-size:10px}
.catalog-main .back{display:inline-flex;align-items:center;min-height:44px;margin:0 0 24px;font-size:13px;color:var(--muted)}
.catalog-main .back:hover{color:var(--blue)}
.catalog-main .product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-bottom:48px;align-items:start}
.catalog-main .product>*{min-width:0}
.catalog-main .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-content:start}
.catalog-main .gallery>a{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fafafa}
.catalog-main .gallery>a:first-child{grid-column:1/-1}
.catalog-main .gallery img{display:block;width:100%;aspect-ratio:1;object-fit:contain}
.catalog-main .placeholder{display:grid;place-content:center;aspect-ratio:1;background:#f7f8fa;color:var(--muted);border-radius:18px;text-align:center}
.catalog-main .gallery>.placeholder{grid-column:1/-1}
.catalog-main .price{font-size:30px;font-weight:750;line-height:1.3;margin:24px 0 10px}
.catalog-main .availability{color:#205b4f;font-size:14px;font-weight:650}
.catalog-main .button{max-width:100%;white-space:normal;text-align:center}
.catalog-main .primary{background:var(--blue);color:#fff}
.catalog-main .primary:hover{background:#1949bd}
.catalog-main .outline{background:#fff;border-color:var(--line)}
.catalog-main .description{white-space:pre-wrap;overflow-wrap:anywhere}
.catalog-main .notice{padding:16px;background:#f3f6fa;border-radius:12px}
.catalog-main #availability{border-top:1px solid var(--line);padding-top:10px;scroll-margin-top:24px}
.catalog-main .store{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);scroll-margin-top:24px}
.catalog-main .store>div{min-width:0;overflow-wrap:anywhere}
.catalog-main .store:target{outline:2px solid var(--blue);outline-offset:8px;border-radius:8px}
.catalog-main .store p{color:var(--muted);font-size:14px;margin:7px 0}
.catalog-main .actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.catalog-main .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.catalog-main .card{border:1px solid var(--line);border-radius:18px;overflow:hidden;min-width:0;padding:0 18px 18px}
.catalog-main .card img{width:calc(100% + 36px);max-width:none;margin-left:-18px;aspect-ratio:1;object-fit:contain;background:#fafafa;display:block}
.catalog-main .card h2{font-size:16px;line-height:1.5;letter-spacing:-.3px;margin:18px 0 12px;overflow-wrap:anywhere}
.catalog-main .card .price{font-size:23px;margin:14px 0 10px}
.catalog-main summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:13px;color:var(--muted)}
.catalog-main summary:focus-visible{outline:3px solid #6996f8;outline-offset:4px}
.catalog-main .card ul{padding-left:18px;font-size:13px;overflow-wrap:anywhere}
.catalog-main .pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px;margin:32px 0;font-size:14px}
@media(max-width:1000px){.catalog-main .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-main .product{gap:28px}.catalog-main .store{align-items:flex-start;flex-direction:column;gap:16px}}
@media(max-width:700px){.catalog-main{padding-top:18px;padding-bottom:40px}.catalog-main .product{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:32px}.catalog-main .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-main h1{font-size:28px;letter-spacing:-.7px}.catalog-main h2{font-size:24px}.catalog-main .back{margin-bottom:16px}.catalog-main .actions{width:100%}.catalog-main .actions .button{flex:1 1 130px}.catalog-main .card{padding:0 12px 12px}.catalog-main .card img{width:calc(100% + 24px);margin-left:-12px}.catalog-main .card h2{font-size:14px}.catalog-main .card .price{font-size:20px}}
