/* Public catalog pages (templates/_public/page.html): product, section, catalog index.
   On top of landing.css: its tokens (--ink, --muted, --line, --soft), header and footer. */

.pubPage{padding:28px 0 70px;min-width:0}
.pubPage h1{font-size:clamp(28px,3.2vw,42px);letter-spacing:-1.4px;line-height:1.12;margin:8px 0 16px;max-width:860px}
.pubPage h2{font-size:22px;letter-spacing:-.5px}
.pubNote{font-size:12px;color:var(--muted);margin:14px 0 0;max-width:620px}
.pubNote a{text-decoration:underline;text-underline-offset:3px}

/* -- Breadcrumbs ------------------------------------------------------------------- */
/* landing.css styles every <nav> as the header menu (and hides it on phones). */
nav.pubCrumbs,nav.pubPager{margin:0;font-weight:400}
nav.pubCrumbs{display:block}
.pubCrumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px;margin:0;padding:0;list-style:none;font-size:12px;color:var(--muted)}
.pubCrumbs li+li:before{content:'›';margin-right:8px;color:#b5b6ba}
.pubCrumbs a:hover{color:var(--ink);text-decoration:underline}
.pubCrumbs [aria-current]{color:var(--ink);overflow-wrap:anywhere}

/* -- Product ----------------------------------------------------------------------- */
.pubProduct{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;margin-top:22px;align-items:start}
.pubProduct__pictures{display:grid;gap:12px}
.pubProduct__pictures img,.pubProduct__noPicture{width:100%;aspect-ratio:4/3;object-fit:contain;border:1px solid var(--line);border-radius:14px;background:white}
.pubProduct__noPicture{background:var(--soft)}
.pubProduct__meta{font-size:12px;color:var(--muted);margin:0;overflow-wrap:anywhere}
.pubProduct__main h1{overflow-wrap:anywhere}
.pubProduct__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

/* -- Facts (components/public_facts.html) ------------------------------------------ */
.pubFacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:0}
.pubFacts__item{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:white;min-width:0}
.pubFacts dt{font-size:11px;color:var(--muted)}
.pubFacts dd{margin:3px 0 0;font-size:14px;font-weight:500;overflow-wrap:anywhere}
.pubFacts__item--price dd{font-size:16px;font-weight:600}
.pubFacts--compact{grid-template-columns:1fr;gap:2px}
.pubFacts--compact .pubFacts__item{display:flex;justify-content:space-between;gap:10px;padding:2px 0;border:0;background:none}
.pubFacts--compact dd{margin:0;font-size:12px;text-align:right}
.pubFacts--compact .pubFacts__item--price dd{font-size:13px}

/* -- Specs ------------------------------------------------------------------------- */
.pubSpecs{margin-top:48px;max-width:860px}
.pubSpecs dl{margin:14px 0 0}
.pubSpecs dl div{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.pubSpecs dt{color:var(--muted)}
.pubSpecs dd{margin:0;overflow-wrap:anywhere}

/* -- Section ----------------------------------------------------------------------- */
.pubChips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.pubChips a{display:inline-flex;gap:8px;align-items:center;min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;font-size:13px;background:var(--soft)}
.pubChips a:hover{background:#eaeaec}
.pubChips span{color:var(--muted);font-size:12px}
.pubGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:26px}

/* -- Card (components/public_product_card.html) ------------------------------------ */
.pubCard{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:white;min-width:0}
.pubCard__link{display:flex;flex-direction:column;gap:6px}
.pubCard__link:hover .pubCard__name{text-decoration:underline}
.pubCard__picture{display:block;aspect-ratio:4/3;border-radius:8px;background:var(--soft);overflow:hidden}
.pubCard__picture img{width:100%;height:100%;object-fit:contain;background:white}
.pubCard__meta{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.pubCard__name{margin:0;font-size:14px;font-weight:600;line-height:1.35;letter-spacing:0;overflow-wrap:anywhere}

/* -- Pager (components/public_pager.html) ------------------------------------------ */
.pubPager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:30px;font-size:13px;color:var(--muted)}

/* -- Catalog index and the landing's «Каталог» block ------------------------------- */
.pubSections{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:26px}
.pubSections__group{padding:22px;border:1px solid var(--line);border-radius:12px}
.pubSections__group h2{font-size:17px;margin:0 0 12px}
.pubSections__group h2 a:hover,.pubSections__group li a:hover{text-decoration:underline}
.pubSections span{color:var(--muted);font-size:12px;font-weight:400}
.pubSections ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:13px}

@media(max-width:760px){
.pubPage{padding:16px 0 48px}
.pubProduct{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:16px}
.pubProduct__pictures{grid-template-columns:repeat(2,minmax(0,1fr))}
.pubProduct__pictures>:only-child{grid-column:1/-1}
.pubProduct__noPicture,.pubCard__picture--empty{display:none}
nav.pubCrumbs{display:block}
nav.pubPager{display:flex}
.pubProduct__actions .btn{flex:1 1 100%;min-height:48px}
.pubFacts{grid-template-columns:repeat(2,minmax(0,1fr))}
.pubFacts--compact{grid-template-columns:1fr}
.pubSpecs{margin-top:34px}
.pubSpecs dl div{grid-template-columns:minmax(0,1fr);gap:2px}
.pubGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pubCard{padding:10px}
.pubChips a{min-height:44px}
.pubPager .btn{min-height:44px}
}
@media(max-width:420px){.pubGrid{grid-template-columns:minmax(0,1fr)}}
