/* ================================================================
   Плашка каталога «Tous les produits»: кнопка + раскрывающаяся панель.
   Грузится из <head> (header.php), чтобы панель не мигала до CSS.
   ================================================================ */

/* ---------------- кнопка-триггер ---------------- */
.v-cat{position:relative;flex:0 0 auto;}
.allproducts-btn__caret{margin-left:2px;transition:transform .18s;}
.v-cat.is-open > .allproducts-btn{background:var(--v-blue);border-color:var(--v-blue);color:#fff;}
.v-cat.is-open .allproducts-btn__caret{transform:rotate(180deg);}

/* ---------------- панель ---------------- */
.v-cat-panel{
	display:none;
	position:absolute;
	top:calc(100% + 9px);
	left:0;
	z-index:100;
	width:min(1020px,calc(100vw - 50px));
	background:#ffffff;
	border:1px solid var(--v-line);
	border-radius:12px;
	box-shadow:0 22px 48px rgba(19,43,71,.18);
	overflow:hidden;
	grid-template-columns:288px minmax(0,1fr);
}
.v-cat.is-open .v-cat-panel{display:grid;}
.v-cat-panel:has(.v-cat-promo){width:min(1240px,calc(100vw - 50px));grid-template-columns:288px minmax(0,1fr) 236px;}

/* невидимый мостик: курсор идёт от кнопки к панели, не теряя наведение */
.v-cat-panel::before{content:"";position:absolute;top:-9px;left:0;right:0;height:9px;}

/* ---------------- левая колонка: рубрики ---------------- */
.v-cat-rail{background:#f6f9fc;border-right:1px solid var(--v-line);padding:8px;display:flex;flex-direction:column;gap:2px;max-height:74vh;overflow-y:auto;}
.v-cat-rail__item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:8px;text-decoration:none;color:var(--v-text);transition:background .12s,color .12s;}
.v-cat-rail__item:hover,.v-cat-rail__item.is-active{background:#ffffff;box-shadow:0 2px 8px rgba(19,43,71,.08);color:var(--v-blue-dark);}
.v-cat-rail__ico{width:38px;height:38px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:#ffffff;border:1px solid #d6e4f2;border-radius:8px;color:var(--v-blue);overflow:hidden;}
.v-cat-rail__ico svg{width:22px;height:22px;display:block;}
.v-cat-rail__ico img{width:100%;height:100%;object-fit:cover;display:block;}
.v-cat-rail__txt{min-width:0;flex:1 1 auto;}
.v-cat-rail__txt b{display:block;font-size:14px;font-weight:600;line-height:1.3;}
.v-cat-rail__txt span{display:block;font-size:11.5px;color:var(--v-muted);margin-top:2px;}
.v-cat-rail__arrow{width:15px;height:15px;flex:0 0 auto;color:var(--v-muted);}
.v-cat-rail__item.is-active .v-cat-rail__arrow{color:var(--v-blue);}

/* ---------------- правая часть: подрубрики ---------------- */
.v-cat-body{padding:20px 22px 22px;max-height:74vh;overflow-y:auto;}
.v-cat-pane{display:none;}
.v-cat-pane.is-active{display:block;}
.v-cat-pane__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--v-line);}
.v-cat-pane__title{font-size:17px;font-weight:800;color:var(--v-black);text-decoration:none;}
.v-cat-pane__title:hover{color:var(--v-blue-dark);}
.v-cat-pane__all{font-size:13px;font-weight:500;color:var(--v-blue);text-decoration:none;white-space:nowrap;}
.v-cat-pane__all:hover{text-decoration:underline;}
.v-cat-pane__empty{font-size:13.5px;color:var(--v-muted);padding:0;}

.v-cat-cols{columns:3;column-gap:26px;}
.v-cat-col{break-inside:avoid;margin-bottom:18px;}
/* «плоский» вид: подрубрики без вложенных пунктов — плотным списком */
.v-cat-cols--flat{columns:2;column-gap:26px;}
.v-cat-col--flat{margin-bottom:0;}
.v-cat-col--flat .v-cat-col__title{font-weight:500;padding:7px 0;border-bottom:1px solid var(--v-line);}
.v-cat-col--flat .v-cat-col__title:hover{color:var(--v-blue);}
.v-cat-col__title{display:block;font-size:14px;font-weight:700;color:var(--v-text);text-decoration:none;padding-bottom:7px;}
.v-cat-col__title:hover{color:var(--v-blue-dark);}
.v-cat-col__list{list-style:none;margin:0;padding:0;}
.v-cat-col__list li{padding:0 0 5px;}
.v-cat-col__list a{font-size:13.5px;color:var(--v-muted);text-decoration:none;}
.v-cat-col__list a:hover{color:var(--v-blue);}

/* ---------------- промо-виджеты внутри панели ---------------- */
.v-cat-promo{background:#f6f9fc;border-left:1px solid var(--v-line);padding:18px;max-height:74vh;overflow-y:auto;font-size:13.5px;color:var(--v-text);}
.v-cat-promo .widget + .widget{margin-top:18px;}
.v-cat-promo .widget-title{font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--v-black);padding-bottom:8px;}
.v-cat-promo p{font-size:13.5px;line-height:1.6;padding-bottom:10px;}
.v-cat-promo img{max-width:100%;height:auto;border-radius:8px;display:block;}
.v-cat-promo ul{list-style:none;margin:0;padding:0;}
.v-cat-promo li{padding:0 0 7px;font-size:13.5px;}
.v-cat-promo a{color:var(--v-blue);}
/* кнопке нужен белый текст: правило выше иначе красит её надпись в синий по синему */
.v-cat-promo a.btn-primary{color:#ffffff;padding:11px 16px;font-size:12px;}
.v-cat-promo a.btn-primary:hover{color:#ffffff;}

/* На узких экранах промо-колонка мешает — прячем, содержимое дублируется на страницах. */
@media(max-width:1300px){
	.v-cat-panel:has(.v-cat-promo){grid-template-columns:288px minmax(0,1fr);}
	.v-cat-promo{display:none;}
}
@media(max-width:1100px){
	.v-cat-cols{columns:2;}
	.v-cat-panel{width:min(860px,calc(100vw - 50px));grid-template-columns:250px minmax(0,1fr);}
	.v-cat-rail__item{gap:9px;padding:8px;}
}

/* ================================================================
   Мобильная гармошка каталога (внутри .mobile-menu)
   ================================================================ */
.v-catm{margin-bottom:10px;}
.v-catm__toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;cursor:pointer;font-family:inherit;}
.v-catm__toggle svg{width:18px;height:18px;flex:0 0 auto;transition:transform .18s;}
.v-catm.is-open .v-catm__toggle svg{transform:rotate(180deg);}
.v-catm__body{display:none;padding:6px 0 2px;}
.v-catm.is-open .v-catm__body{display:block;}
.v-catm__list,.v-catm__sub{list-style:none;margin:0;padding:0;}
.v-catm__row{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--v-line);}
.v-catm__row > a{flex:1 1 auto;display:block;padding:11px 6px;font-size:15.5px;font-weight:600;color:var(--v-text);text-decoration:none;}
.v-catm__row > a:hover{color:var(--v-blue-dark);}
.v-catm__more{width:42px;height:42px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;background:#eef4fa;border:1px solid #d6e4f2;border-radius:8px;color:var(--v-blue);cursor:pointer;transition:.15s;}
.v-catm__more svg{width:17px;height:17px;transition:transform .18s;}
.v-catm__more[aria-expanded="true"]{background:var(--v-blue);border-color:var(--v-blue);color:#fff;}
.v-catm__more[aria-expanded="true"] svg{transform:rotate(180deg);}
.v-catm__item > .v-catm__sub{display:none;padding:4px 0 8px 14px;}
.v-catm__item.is-open > .v-catm__sub{display:block;}
.v-catm__sub a{display:block;padding:8px 6px;font-size:14.5px;color:var(--v-muted);text-decoration:none;}
.v-catm__sub a:hover{color:var(--v-blue);}
.v-catm__sub--deep{display:block;padding:0 0 4px 14px;}
.v-catm__sub--deep a{font-size:13.5px;padding:6px;}
.v-catm__shop{display:block;margin-top:10px;padding:12px;background:var(--v-blue);color:#fff !important;border-radius:8px;text-align:center;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;text-decoration:none;}
.v-catm__shop:hover{background:var(--v-blue-dark);}
