/* r9, 31.10.2026: artwork extracted from the new supplied PDF, without tracing.
   Hybrid SVG: original vectors, outlined embedded fonts, original embedded raster. */
.brand img.logo-p{width:232px;height:auto}
.footer-logo.logo-p{width:260px;height:auto;padding:12px;background:#fff;border-radius:8px}
@media(max-width:1100px){.brand img.logo-p{width:196px}}
@media(min-width:961px) and (max-width:1100px){.brand img.logo-p{width:clamp(136px,calc(100vw - 824px),196px)}.header-row,.header-info{gap:12px}}
@media(min-width:761px) and (max-width:960px){.brand img.logo-p{width:184px}}
@media(max-width:760px){.brand img.logo-p{width:150px;height:auto;max-width:100%}.footer-logo.logo-p{width:220px}}

/* plast-rus.ru r1 (24.10.2026): карточки сохраняют анонс товара. Анонс - обычный текст CMS без обрезки.
   Цена: в карточке с 26.10.2026 только «от» (уточнение заказчика); «от … до …» - на странице товара, верхняя
   граница второй строкой. */
.card-anons{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
/* 26.10.2026: под характеристиками анонс - второстепенный текст (мельче, приглушённым цветом), как подписи Maxi-Plast;
   текст не обрезается. */
dl.card-specs+.card-anons{margin-top:10px;font-size:13px;line-height:1.45;color:var(--muted)}
dl.card-specs+.card-anons strong,dl.card-specs+.card-anons b{color:var(--ink)}
.card-anons p{margin:0 0 4px}
.card-anons p:last-child{margin-bottom:0}
.card-anons ul,.card-anons ol{margin:0 0 4px;padding-left:18px}
.card-anons img{max-width:100%;height:auto}
.card-price .price-from,.card-price .price-to{display:block}
.card-price .price-to{font-size:.72em;font-weight:600;margin-top:2px}
.product-price .price-from,.product-price .price-to{display:block}
.product-price .price-to{font-size:.6em;font-weight:600;margin-top:2px}
.price-value{white-space:nowrap}
/* Горизонтальные варианты карточки (пара на ПК, последняя нечётная в каталоге, третья в группе): у карточки появился
   анонс, поэтому строки сетки заданы явно для каждого элемента - фото на всю высоту, свободное место перед ценой.
   26.10.2026: характеристики (строка 2) перед анонсом (строка 3).
   27.10.2026: у теплиц без анонса четыре строки исходной сетки, без пустой строки анонса. */
@media(min-width:1101px){
.is-pair>.product-card{grid-template-rows:auto auto auto 1fr auto auto}
.is-pair>.product-card .card-image{grid-row:1/-1}
.is-pair>.product-card>h3{grid-row:1}.is-pair>.product-card>.card-anons{grid-row:3}.is-pair>.product-card>.card-specs{grid-row:2}
.is-pair>.product-card>.card-price{grid-row:5;align-self:end}.is-pair>.product-card>.card-button{grid-row:6}
.is-pair>.product-card.no-card-anons{grid-template-rows:auto auto 1fr auto}
.is-pair>.product-card.no-card-anons>.card-price{grid-row:3}
.is-pair>.product-card.no-card-anons>.card-button{grid-row:4}
}
@media(max-width:1100px) and (min-width:761px){
.catalog-grid>.product-card:last-child:nth-child(odd){grid-template-rows:auto auto auto 1fr auto auto}
.catalog-grid>.product-card:last-child:nth-child(odd) .card-image{grid-row:1/-1}
.catalog-grid>.product-card:last-child:nth-child(odd)>h3{grid-row:1}.catalog-grid>.product-card:last-child:nth-child(odd)>.card-anons{grid-row:3}.catalog-grid>.product-card:last-child:nth-child(odd)>.card-specs{grid-row:2}
.catalog-grid>.product-card:last-child:nth-child(odd)>.card-price{grid-row:5;align-self:end}.catalog-grid>.product-card:last-child:nth-child(odd)>.card-button{grid-row:6}
.catalog-grid>.product-card.no-card-anons:last-child:nth-child(odd){grid-template-rows:auto auto 1fr auto}
.catalog-grid>.product-card.no-card-anons:last-child:nth-child(odd)>.card-price{grid-row:3}
.catalog-grid>.product-card.no-card-anons:last-child:nth-child(odd)>.card-button{grid-row:4}
}
@media(min-width:961px) and (max-width:1100px){
.product-group>.product-card:nth-child(3):last-child{grid-template-rows:auto auto auto 1fr auto auto}
.product-group>.product-card:nth-child(3):last-child .card-image{grid-row:1/-1}
.product-group>.product-card:nth-child(3):last-child>h3{grid-row:1}.product-group>.product-card:nth-child(3):last-child>.card-anons{grid-row:3}.product-group>.product-card:nth-child(3):last-child>.card-specs{grid-row:2}
.product-group>.product-card:nth-child(3):last-child>.card-price{grid-row:5;align-self:end}.product-group>.product-card:nth-child(3):last-child>.card-button{grid-row:6}
.product-group>.product-card.no-card-anons:nth-child(3):last-child{grid-template-rows:auto auto 1fr auto}
.product-group>.product-card.no-card-anons:nth-child(3):last-child>.card-price{grid-row:3}
.product-group>.product-card.no-card-anons:nth-child(3):last-child>.card-button{grid-row:4}
}
/* plast-rus.ru r1, аудит D1 (24.10.2026): на телефоне (до 760 px) .product-hero - flex-колонка, но наследует
   align-items:start сетки ПК, и блок цены сжимается до ширины текста цены. У дилера есть короткие цены («от 6 ₽ до 7 ₽»)
   и товар без цены - кнопка «Позвонить» сжималась и обрезалась. Блок цены занимает всю ширину колонки, как при длинной цене. */
@media(max-width:760px){.product-hero .product-price-block{align-self:stretch}}

/* r10, 01.11.2026: mobile header; desktop contacts and hours retain their layout. */
.site-header .hc-hours{display:flex}
.mobile-header-contacts{display:none}
@media(max-width:760px){
/* r11, 02.11.2026: right edge of the phone text follows the banner/.container line (16 px; 12 px at <=360 below);
   the left 8 px gutter of r10 keeps the menu and logo in place. */
.site-header .header-row{width:auto;margin:0 16px 0 8px;gap:4px}
.site-header .brand-p{flex:1 1 150px;min-width:0}
.site-header .brand img.logo-p{width:150px;height:auto;max-width:100%}
.mobile-header-contacts{display:flex;align-items:center;height:30px;padding-left:8px;border-left:1px solid var(--line);flex:none}
.site-header .mobile-hours{display:none}
.site-header .mobile-phone{width:auto;height:auto;justify-content:flex-start;border:0;border-radius:0;gap:4px;color:#123c5d}
.site-header .mobile-phone-icon{display:flex;color:inherit}
.site-header .mobile-phone-number{display:inline;white-space:nowrap}
}
@media(max-width:360px){.site-header .header-row{margin-right:12px}}
