@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

body[data-page="catalog"]{
  --course-accent:#887ef3;
  --book-accent:#087d91;
  --pack-accent:#056c41;
  --catalog-ink:#103b2e;
  --catalog-paper:#f5f5f5;
  --catalog-lime:#d3ef8d;
  --wrap:1240px;
  --border:#c8d4ca;
  font-family:Manrope,Arial,sans-serif;
  color:var(--catalog-ink);
  background:var(--catalog-paper);
  padding-bottom:0;
}
body[data-page="catalog"] .wrap{max-width:1240px}
body[data-page="catalog"] .site-header{background:#fff;border-bottom:1px solid #bed1c3}
body[data-page="catalog"] .nav-inner{height:76px;min-height:76px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0}
body[data-page="catalog"] .desktop-nav{justify-self:start;margin:0;gap:32px}
body[data-page="catalog"] .desktop-nav a{font-size:14px;font-weight:700;color:#17392f;line-height:1.4}
body[data-page="catalog"] .desktop-nav a.is-active{border-color:#0e5a3e}
body[data-page="catalog"] .brand{min-width:0;justify-self:center;display:block;width:248px;line-height:0}
body[data-page="catalog"] .brand img{display:block;width:100%;height:auto}
body[data-page="catalog"] .nav-actions{justify-self:end;margin:0}
body[data-page="catalog"] .button{border-radius:10px}
body[data-page="catalog"] .button-dark{background:#104b39;border-color:#104b39;color:#fff}
body[data-page="catalog"] .button-dark:hover{background:#176249}
body[data-page="catalog"] .nav-actions .button{min-width:158px;min-height:52px;padding:12px 18px;font-size:12px}
body[data-page="catalog"] a:focus-visible,body[data-page="catalog"] button:focus-visible,body[data-page="catalog"] input:focus-visible,body[data-page="catalog"] select:focus-visible{outline:3px solid #6c45c9;outline-offset:3px}
body[data-page="catalog"] #products{background:var(--catalog-paper);padding:38px 0 112px}
body[data-page="catalog"] .catalog-head{display:block;margin:0 0 26px}
body[data-page="catalog"] .catalog-head h1{font-size:clamp(48px,5.3vw,70px);line-height:1.1;letter-spacing:-.062em;font-weight:800;color:#103b2e}
body[data-page="catalog"] .filter-panel{background:var(--catalog-lime);border:0;border-radius:10px;padding:29px 28px 27px}
body[data-page="catalog"] .filter-row:has(#catalog-series){display:grid;grid-template-columns:350fr 170fr 230fr 210fr 190fr;gap:13px}
body[data-page="catalog"] .field{display:flex;flex-direction:column;gap:9px;min-width:0}
body[data-page="catalog"] .field span{font-size:12px;font-weight:800;line-height:1.3;color:#114532}
body[data-page="catalog"] .field input,body[data-page="catalog"] .field select{width:100%;height:55px;min-height:55px;border:0;border-radius:6px;background:#fff;padding:0 15px;color:#173f32;font-size:14px;outline-color:#215945}
body[data-page="catalog"] .field input::placeholder{color:#697f70;opacity:1}
body[data-page="catalog"] .field select{appearance:none;padding-right:50px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23143d30' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 24px center}
body[data-page="catalog"] .filter-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}
body[data-page="catalog"] .type-tabs{display:flex;flex-wrap:wrap;gap:7px}
body[data-page="catalog"] .type-tabs button{min-height:43px;padding:8px 18px;border:1px solid #9dbb8a;border-radius:25px;background:transparent;color:#144632;font-size:12px;font-weight:700;white-space:nowrap}
body[data-page="catalog"] .type-tabs button:hover{background:#e7f6bb}
body[data-page="catalog"] .type-tabs button.is-selected{background:#104b39;border-color:#104b39;color:#fff}
body[data-page="catalog"] .reset-link{background:transparent;border:0;padding:8px 10px;color:#114532;text-decoration:underline;text-underline-offset:2px;font-size:12px;font-weight:700;white-space:nowrap}
body[data-page="catalog"] .reset-link:hover{color:#005e3a}
body[data-page="catalog"] .results-bar{display:block;margin:46px 0 20px;padding:0 0 18px;border-bottom:1px solid #dedede}
body[data-page="catalog"] .results-bar strong{font-size:19px;line-height:1.4;color:#333;font-weight:700}
body[data-page="catalog"] .products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
body[data-page="catalog"] .product-card{--category-accent:var(--course-accent);--category-surface:color-mix(in srgb,var(--category-accent) 75%,#0a1f18);display:flex;flex-direction:column;min-width:0;min-height:312px;padding:20px 24px 0;background:#fff;border:0;border-radius:11px;overflow:hidden;color:#25292b;text-decoration:none}
body[data-page="catalog"] .product-card.type-book{--category-accent:var(--book-accent);--category-surface:var(--book-accent)}
body[data-page="catalog"] .product-card.type-pack{--category-accent:var(--pack-accent);--category-surface:var(--pack-accent)}
body[data-page="catalog"] .product-head{display:flex;align-items:center;gap:8px;min-height:30px}
body[data-page="catalog"] .product-kind{flex:none;color:var(--category-surface);background:none;border:0;border-radius:0;padding:0;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.035em}
body[data-page="catalog"] .product-series{margin:0 0 0 auto;padding:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#666b68;font-size:11px;line-height:1.3}
body[data-page="catalog"] .product-grade{flex:none;display:flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:9px;background:var(--category-surface);color:#fff;font-size:11px;white-space:nowrap}
body[data-page="catalog"] .product-title{display:block;margin:18px 0 9px;color:#25292b}
body[data-page="catalog"] .product-title h3{font-size:clamp(21px,1.75vw,28px);line-height:1.16;letter-spacing:-.055em;font-weight:800;overflow-wrap:anywhere;margin:0}
body[data-page="catalog"] .product-subtitle{font-size:14px;line-height:1.55;color:#666b68;margin:0 0 13px}
body[data-page="catalog"] .product-volume{font-size:12px;font-weight:800;color:#25292b;margin-top:auto;padding:5px 0 3px}
body[data-page="catalog"] .product-price{font-size:16px;line-height:1.3;font-weight:800;color:#25292b;margin-top:auto;padding:0 0 18px}
body[data-page="catalog"] .product-volume+.product-price{margin-top:0}
body[data-page="catalog"] .product-price.is-unconfirmed{font-size:13px;font-weight:700;color:#666b68}
body[data-page="catalog"] .product-bottom{display:block;margin:0 -24px;padding:0;border:0}
body[data-page="catalog"] .product-link{display:flex;align-items:center;min-height:56px;padding:12px 27px;background:var(--category-surface);color:#fff;text-decoration:none;font-size:13px;font-weight:800}
body[data-page="catalog"] .product-card:hover .product-link{color:#fff;filter:none}
body[data-page="catalog"] .empty-state{padding:46px 24px;background:#fff;border:1px solid #d9e2d5;border-radius:10px}
body[data-page="catalog"] .empty-state b{font-size:22px}
body[data-page="catalog"] .empty-state p{color:#425d4a}
body[data-page="catalog"] .empty-state .button{color:#104b39;border-color:#104b39}
body[data-page="catalog"] .footer{background:#0a1f18;color:#fff;border:0;padding:62px 0 22px}
body[data-page="catalog"] .foot-grid{gap:40px}
body[data-page="catalog"] .foot-brand{font-size:25px}
body[data-page="catalog"] .footer p,body[data-page="catalog"] .footer a,body[data-page="catalog"] .footer .small-note,body[data-page="catalog"] .foot-bottom{color:#a9b8af}
body[data-page="catalog"] .footer b{color:#f4f6f1}
body[data-page="catalog"] .footer .small-note{display:none}
body[data-page="catalog"] .foot-bottom{border-color:#2c4439}
body[data-page="catalog"] .mobile-sticky-cta{display:none}
@media(max-width:1100px){
  body[data-page="catalog"] .filter-row:has(#catalog-series){grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-page="catalog"] .filter-row .field:last-child{grid-column:1/-1}
  body[data-page="catalog"] .products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-page="catalog"] .desktop-nav{gap:18px}
}
@media(max-width:800px){
  body[data-page="catalog"] .nav-inner{display:flex;justify-content:space-between;height:70px;min-height:70px}
  body[data-page="catalog"] .brand{justify-self:auto;width:218px}
  body[data-page="catalog"] .desktop-nav,body[data-page="catalog"] .nav-actions{display:none}
  body[data-page="catalog"] .menu-toggle{margin-left:auto;border:1px solid #afc4b5;border-radius:8px}
  body[data-page="catalog"] .mobile-nav:not([hidden]){background:#fff}
  body[data-page="catalog"] #products{padding:48px 0 88px}
  body[data-page="catalog"] .catalog-head h1{font-size:clamp(44px,7vw,61px)}
}
@media(max-width:580px){
  body[data-page="catalog"] .wrap{width:calc(100% - 36px)}
  body[data-page="catalog"] .nav-inner{height:66px;min-height:66px}
  body[data-page="catalog"] .brand{width:185px}
  body[data-page="catalog"] #products{padding:39px 0 70px}
  body[data-page="catalog"] .catalog-head{margin-bottom:24px}
  body[data-page="catalog"] .catalog-head h1{font-size:clamp(39px,10.2vw,52px);line-height:1.04}
  body[data-page="catalog"] .filter-panel{padding:18px}
  body[data-page="catalog"] .filter-row:has(#catalog-series){grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 9px}
  body[data-page="catalog"] .field:first-child,body[data-page="catalog"] .field:last-child{grid-column:1/-1}
  body[data-page="catalog"] .field span{font-size:11px}
  body[data-page="catalog"] .field input,body[data-page="catalog"] .field select{height:50px;min-height:50px;font-size:13px;padding:0 11px}
  body[data-page="catalog"] .filter-bottom{display:block;margin-top:20px}
  body[data-page="catalog"] .type-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body[data-page="catalog"] .type-tabs button{min-height:42px;padding:7px 8px;font-size:11px}
  body[data-page="catalog"] .reset-link{margin:12px 0 0;padding:7px 0}
  body[data-page="catalog"] .results-bar{margin:30px 0 16px;padding-bottom:14px}
  body[data-page="catalog"] .results-bar strong{font-size:17px}
  body[data-page="catalog"] .products-grid{grid-template-columns:1fr;gap:12px}
  body[data-page="catalog"] .product-card{min-height:300px;padding:19px 20px 0}
  body[data-page="catalog"] .product-title h3{font-size:25px}
  body[data-page="catalog"] .product-bottom{margin-left:-20px;margin-right:-20px}
  body[data-page="catalog"] .product-link{padding:12px 20px}
  body[data-page="catalog"] .foot-grid{grid-template-columns:1fr}
  body[data-page="catalog"] .foot-grid>div:last-child{grid-column:auto}
  body[data-page="catalog"] .footer{padding-top:52px}
}
@media(prefers-reduced-motion:reduce){body[data-page="catalog"] *,body[data-page="catalog"] *::before,body[data-page="catalog"] *::after{transition:none!important;animation:none!important}}

/* Category color is inherited from the existing catalog tokens. */
body[data-page="catalog"] .product-card{position:relative;transition:transform 280ms ease-out,box-shadow 280ms ease-out}
body[data-page="catalog"] .product-link::after{content:"↗";display:inline-block;margin-left:auto;font-size:18px;line-height:1;transition:transform 280ms ease-out}
@media(hover:hover) and (pointer:fine){
  body[data-page="catalog"] .product-card:hover{transform:translateY(-5px);box-shadow:0 0 0 1px var(--category-accent),0 18px 36px rgba(10,43,29,.14)}
  body[data-page="catalog"] .product-card:hover .product-link::after{transform:translateX(4px)}
}
body[data-page="catalog"] .product-card:focus-visible{outline:3px solid #174b38;outline-offset:3px;box-shadow:0 14px 30px rgba(10,43,29,.12)}
@media(prefers-reduced-motion:reduce){body[data-page="catalog"] .product-card,body[data-page="catalog"] .product-link::after{transition:none!important;transform:none!important}}
