/* /catalog (J 10/24). Home page palette: sky gradient, navy ink, blue/orange/mint. Cart buttons are styled by names.css (Add orange, In cart mint, Checkout blue). */
.page-catalog{--ct-ink:#0e1630;--ct-muted:#4a5378;--ct-line:#e1e8f5;--ct-navy:#06204a;--ct-blue:#0a4aa8;--ct-mint:#0b5a3f;--ct-mint-soft:#ddf3ea;--ct-edge:#5b678c}
.cat-hero{background:linear-gradient(180deg,#e3f4ff 0%,#fff 100%);padding:clamp(40px,6vw,72px) 0 clamp(20px,3vw,32px);text-align:center}
.cat-hero h1{margin:.1em 0 .3em;color:var(--ct-ink);font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.1}
.cat-hero .lead{max-width:760px;margin:0 auto 18px;color:var(--ct-muted);font-size:clamp(1.02rem,1.6vw,1.2rem)}
.cat-hero .nopay-note{display:flex;justify-content:center;max-width:820px;margin:0 auto;text-align:left;color:var(--ct-ink);background:#fff;border:1px solid var(--ct-line)}
.cat-hero .nopay-note .ic{color:#0c5cd0}
.cat-sec{background:linear-gradient(180deg,#fff 0,#eef5ff 100%);padding:12px 0 clamp(40px,6vw,72px)}
.cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
@media (min-width:1100px){.cat-grid[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.cat-grid{grid-template-columns:minmax(0,1fr);gap:18px}}
.cat-tools{display:none;justify-content:flex-end;margin:0 0 16px}
@media (min-width:1100px){.cat-tools{display:flex}}
.cat-view{display:inline-flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;background:#fff;border:1px solid var(--ct-line);border-radius:999px;box-shadow:0 4px 14px rgba(14,22,48,.06)}
.cat-view-l{color:var(--ct-muted);font-weight:700;font-size:.9rem}
.cat-vbtn{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 16px;min-height:40px;border:2px solid var(--ct-edge);border-radius:999px;background:#fff;color:var(--ct-ink);font:inherit;font-weight:800;font-size:.92rem;cursor:pointer;transition:background .15s,color .15s}
.cat-vbtn svg{fill:none;stroke:currentColor;stroke-width:1.8;flex:0 0 auto}
.cat-vbtn:hover{background:#eef5ff}
.cat-vbtn[aria-pressed="true"]{background:var(--ct-navy);border-color:var(--ct-navy);color:#fff}
.cat-vbtn[aria-pressed="true"] svg{fill:rgba(255,255,255,.28)}
.cat-vbtn:focus-visible{outline:3px solid var(--ct-ink);outline-offset:3px}
.cat-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ct-line);border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(14,22,48,.08);color:var(--ct-ink)}
.cat-art{background:#e5eefb;line-height:0;aspect-ratio:360/176}
.cat-art img{display:block;width:100%;height:auto}
.cat-body{display:flex;flex-direction:column;flex:1;padding:20px 20px 22px}
.cat-kind{display:flex;align-items:center;gap:.4em;margin:0 0 4px;color:var(--ct-blue);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.cat-kind .ic{width:1.15em;height:1.15em}
.cat-card h2{margin:0 0 6px;color:var(--ct-ink);font-size:1.45rem;line-height:1.2}
.cat-tag{margin:0 0 8px;color:var(--ct-ink);font-weight:700;font-size:1rem;line-height:1.35}
.cat-sum{margin:0 0 12px;color:var(--ct-muted);font-size:.95rem;line-height:1.5}
.cat-feat{flex:1 0 auto;margin:0 0 16px;padding:0;list-style:none;font-size:.93rem;line-height:1.4}
.cat-feat li{position:relative;margin:0 0 6px;padding-left:24px;color:var(--ct-ink)}
.cat-feat li::before{content:"\2713" / "";position:absolute;left:0;top:0;color:#0f7a55;font-weight:800}
.cat-card fieldset{margin:0 0 14px;padding:0;border:0;min-width:0}
.cat-card legend{padding:0;margin:0 0 6px;color:var(--ct-ink);font-weight:800;font-size:.92rem}
.cat-req{color:var(--ct-muted);font-weight:600}
.cat-hint{margin:0 0 8px;color:var(--ct-muted);font-size:.88rem}
.cat-seg{display:flex;flex-wrap:wrap;gap:8px}
.cat-opt{position:relative;flex:1 1 0;min-width:0}
.cat-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cat-opt label{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.2em .5em;min-height:44px;padding:.4em .7em;border:2px solid var(--ct-edge);border-radius:999px;background:#fff;color:var(--ct-ink);font-weight:800;font-size:.95rem;line-height:1.15;text-align:center;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.cat-opt input:checked+label{background:var(--ct-navy);border-color:var(--ct-navy);color:#fff}
.cat-opt input:focus-visible+label{outline:3px solid var(--ct-ink);outline-offset:2px;box-shadow:0 0 0 6px #ffd60a}
.cat-opt input:not(:checked)+label:hover{background:#eef3fb}
.cat-badge{display:inline-block;padding:.12em .55em;border-radius:999px;background:var(--ct-mint-soft);color:var(--ct-mint);font-size:.72rem;font-weight:800;line-height:1.3}
.cat-opt input:checked+label .cat-badge{background:#ffd60a;color:var(--ct-ink)}
.cat-err{margin:8px 0 0;color:#b42318;font-weight:700;font-size:.9rem}
.cat-chan.is-bad .cat-opt label{border-color:#b42318}
.cat-extra{margin-top:10px}
.cat-extra-h{margin:0 0 4px;color:var(--ct-ink);font-weight:800;font-size:.9rem}
.cat-check{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--ct-ink);font-size:.93rem;cursor:pointer}
.cat-check[hidden]{display:none}
.cat-check input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--ct-navy)}
.cat-check input:focus-visible{outline:3px solid var(--ct-ink);outline-offset:2px}
.cat-xp{color:var(--ct-muted);font-size:.88rem}
.cat-buy{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:2px 0 0;padding-top:14px;border-top:1px solid var(--ct-line)}
.cat-price{flex:1 1 210px;min-width:0;margin:0;padding:0;border:0}
.cat-main{margin:0;color:var(--ct-ink);font-size:1.05rem;line-height:1.35}
.cat-main b{font-size:1.65rem;font-weight:800;letter-spacing:-.01em}
.cat-lead{display:block;color:var(--ct-muted);font-size:.85rem;font-weight:700}
.cat-plus{color:var(--ct-muted)}
.cat-free{color:var(--ct-mint);font-weight:800;font-size:.95rem}
.cat-subp{min-height:1.4em;margin:4px 0 0;color:var(--ct-muted);font-size:.88rem;line-height:1.4}
.cat-subp .cat-save{color:var(--ct-mint)}
.cat-cta{display:flex;align-items:center;gap:6px 16px;flex:0 1 auto;flex-wrap:wrap}
.cat-cta .btn{flex:0 0 auto;min-width:112px;white-space:nowrap}
.cat-cta .more-link{color:var(--ct-blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cat-cta .more-link:focus-visible{outline:3px solid var(--ct-ink);outline-offset:3px;border-radius:4px}
.cat-fine{max-width:900px;margin:28px auto 0;color:var(--ct-muted);font-size:.85rem;line-height:1.5;text-align:center}
@media (max-width:640px){.cat-body{padding:18px 16px 20px}.cat-price{flex-basis:100%}.cat-cta{flex:1 1 100%;flex-wrap:nowrap;gap:14px}.cat-cta .btn{flex:1 1 0;min-width:0}.cat-cta .more-link{flex:0 0 auto;padding:10px 4px;white-space:nowrap}}
@media (min-width:1100px){.cat-cta .more-link{white-space:nowrap}}
@media (prefers-reduced-motion:reduce){.cat-opt label,.cat-vbtn{transition:none}}

/* AA: site footer copyright (#9aa1b8 = 2.6:1) darkened on this page only */
.page-catalog .lp-footer .lp-copy{color:#5a6384}
