/* Tonifil: category pages + product card details (tonifil-plp.php).
   Revert: remove the require_once of tonifil-plp.php in functions.php. */

/* ---- Category header: big title, one-sentence deck, no panel ---- */
body.tax-product_cat .ast-archive-description{margin-bottom:6px}
body.tax-product_cat .ast-archive-description .page-title{font-family:'Clash Display',sans-serif;font-weight:600;font-size:clamp(30px,4.2vw,46px);line-height:1.02;letter-spacing:-.02em;color:#17222E;margin:0}
body.tax-product_cat .ast-archive-description .page-title::before{display:none}
body.tax-product_cat .tf-cat-deck{margin:10px 0 0;max-width:60ch;font-size:16px;line-height:1.55;color:#5B6675;background:none;border:0;box-shadow:none;padding:0}
body.tax-product_cat .tf-cat-deck::before{content:none!important;display:none!important}

/* ---- Sub-category tiles: photo on top, name + count below, compact ---- */
.woocommerce .tf-catstrip--grid{margin:14px 0 20px}
.woocommerce .tf-catstrip--grid .tf-catstrip__track{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.woocommerce .tf-catstrip--grid .tf-catstrip__card{border-radius:12px}
.woocommerce .tf-catstrip--grid .tf-catstrip__img{aspect-ratio:auto;height:104px;display:flex;align-items:center;justify-content:center;background:#F4F8FD}
.woocommerce .tf-catstrip--grid .tf-catstrip__img img{width:100%;height:100%;object-fit:contain;padding:8px;border-radius:0}
.woocommerce .tf-catstrip--grid .tf-catstrip__body{padding:9px 12px 10px;border-top:1px solid #E3EAF2}
.woocommerce .tf-catstrip--grid .tf-catstrip__t{font-size:14px;font-weight:700;line-height:1.25;min-height:0}
.woocommerce .tf-catstrip--grid .tf-catstrip__n{display:block;margin-top:2px;padding:0;background:none;border:0;border-radius:0;font-size:12px;font-weight:500;color:#5B6675}
@media(max-width:600px){
  .woocommerce .tf-catstrip--grid{margin:10px 0 14px}
  .woocommerce .tf-catstrip--grid .tf-catstrip__track{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:126px;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 8px;scrollbar-width:none}
  .woocommerce .tf-catstrip--grid .tf-catstrip__track::-webkit-scrollbar{display:none}
  .woocommerce .tf-catstrip--grid .tf-catstrip__card{scroll-snap-align:start}
  .woocommerce .tf-catstrip--grid .tf-catstrip__card:hover{transform:none}
  .woocommerce .tf-catstrip--grid .tf-catstrip__img{height:78px}
  .woocommerce .tf-catstrip--grid .tf-catstrip__body{padding:7px 9px 8px}
  .woocommerce .tf-catstrip--grid .tf-catstrip__t{font-size:12.5px}
  .woocommerce .tf-catstrip--grid .tf-catstrip__n{font-size:11px}
}

/* ---- Product cards: brand, catalog no., variants, "от" price ---- */
.woocommerce ul.products li.product .tf-card-brand{display:block;margin:0 0 3px;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#0A6CD4;line-height:1.3}
.woocommerce ul.products li.product .tf-card-kit{display:inline-block;margin:0 0 6px;padding:3px 8px;border-radius:6px;background:#17222E;color:#fff;font-size:11.5px;font-weight:700;line-height:1.3}
.woocommerce ul.products li.product .tf-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin:-2px 0 8px;font-size:12px;line-height:1.3;color:#5B6675}
.woocommerce ul.products li.product .tf-card-sku{font-variant-numeric:tabular-nums;letter-spacing:.01em}
.woocommerce ul.products li.product .tf-card-var{padding:2px 8px;border:1px solid #CFE0F5;border-radius:6px;background:#F4F8FD;color:#095BB0;font-weight:600}
/* bolder, easier-to-read price on every card */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price ins .amount{font-weight:700;font-size:19px;letter-spacing:-.005em}
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .amount{font-weight:500;font-size:14px}
.woocommerce ul.products li.product .price .tf-from{font-size:12px;font-weight:600;color:#5B6675;margin-right:2px}
/* ---- Ready-made kits: double-width warm card (text left, photo right) ---- */
.woocommerce ul.products{grid-auto-flow:dense}
.woocommerce ul.products li.product.tf-kit{grid-column:1 / -1;display:grid !important;grid-template-columns:minmax(0,1fr) 112px;column-gap:14px;align-items:start;padding:16px;background:#FCEAD7;border-color:#F3D3B2}
@media(min-width:700px){
  .woocommerce ul.products li.product.tf-kit{grid-column:span 2;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);column-gap:20px;padding:20px}
}
.woocommerce ul.products li.product.tf-kit:hover{border-color:#E0700F}
.woocommerce ul.products li.product.tf-kit .astra-shop-thumbnail-wrap{grid-column:2;grid-row:1 / span 3;align-self:stretch;display:flex;align-items:center;background:#fff;border-radius:12px;overflow:hidden}
.woocommerce ul.products li.product.tf-kit .astra-shop-thumbnail-wrap a.woocommerce-loop-product__link{margin:0;background:#fff;width:100%}
.woocommerce ul.products li.product.tf-kit a img{background:#fff}
.woocommerce ul.products li.product.tf-kit .astra-shop-summary-wrap{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-self:stretch;min-width:0}
.woocommerce ul.products li.product.tf-kit > :not(.astra-shop-thumbnail-wrap):not(.astra-shop-summary-wrap){grid-column:1}
.woocommerce ul.products li.product.tf-kit .tf-card-kit{align-self:flex-start}
/* sale / new badges sit on the photo, not over the kit text */
.woocommerce ul.products li.product.tf-kit .astra-shop-thumbnail-wrap{position:relative}
/* kit text reads left-aligned (Astra aligns card text right on desktop) */
.woocommerce ul.products li.product.tf-kit .astra-shop-summary-wrap,
.woocommerce ul.products li.product.tf-kit .tinv-wraper{text-align:left}
/* full title, no clamp: long uppercase words wrap instead of overflowing */
.woocommerce ul.products li.product.tf-kit .woocommerce-loop-product__title{font-family:'Clash Display',sans-serif;font-weight:600;font-size:clamp(17px,1.45vw,20px);line-height:1.15;letter-spacing:0;min-height:0;display:block;-webkit-line-clamp:unset;overflow:visible;overflow-wrap:anywhere;hyphens:auto;padding-bottom:8px !important}
.woocommerce ul.products li.product.tf-kit .tf-kit-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:3px;counter-reset:tfkit;font-size:13.5px;line-height:1.35;color:#17222E}
.woocommerce ul.products li.product.tf-kit .tf-kit-list li{display:flex;gap:8px;align-items:baseline;margin:0}
.woocommerce ul.products li.product.tf-kit .tf-kit-list li::before{counter-increment:tfkit;content:counter(tfkit);min-width:12px;font-size:11.5px;font-weight:700;color:#E0700F;font-variant-numeric:tabular-nums}
.woocommerce ul.products li.product.tf-kit .tf-kit-desc{margin:0 0 12px;font-size:13.5px;line-height:1.45;color:#3A4655}
.woocommerce ul.products li.product.tf-kit .price{margin-top:auto;padding-top:10px;border-top:1px solid #EFCFAE}
.woocommerce ul.products li.product.tf-kit .button{align-self:flex-start;margin-top:10px !important}
@media(max-width:699px){
  .woocommerce ul.products li.product.tf-kit .astra-shop-thumbnail-wrap{grid-row:1;align-self:start;aspect-ratio:1/1}
  .woocommerce ul.products li.product.tf-kit .tf-kit-list{font-size:12.5px}
  .woocommerce ul.products li.product.tf-kit .button{align-self:stretch}
}
@media(max-width:600px){
  .woocommerce ul.products li.product .tf-card-brand{font-size:10.5px}
  .woocommerce ul.products li.product .tf-card-meta{font-size:11px;gap:4px 6px}
}

/* ---- Below the products: full category text + help box ---- */
.tf-plp-about{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:start;margin:44px 0 10px;padding-top:36px;border-top:1px solid #E3EAF2}
.tf-plp-about--help-only{grid-template-columns:minmax(0,1fr);max-width:640px}
.tf-plp-about__text h2{font-family:'Clash Display',sans-serif;font-weight:600;font-size:clamp(22px,2.4vw,28px);line-height:1.1;letter-spacing:-.01em;color:#17222E;margin:0 0 14px}
.tf-plp-about__text p{max-width:68ch;margin:0 0 12px;font-size:15.5px;line-height:1.7;color:#3A4655}
.tf-plp-about__text p:last-child{margin-bottom:0}
/* descriptions are stored as <br>-separated lines: give them paragraph rhythm */
.tf-plp-about__text br{display:block;content:"";margin-bottom:11px}
.tf-plp-about__text a{color:#0A6CD4;text-decoration:underline;text-underline-offset:2px}
.tf-plp-about__text strong,.tf-plp-about__text b{color:#17222E;font-weight:600}
.tf-plp-help{background:#F4F8FD;border:1px solid #E3EAF2;border-radius:16px;padding:22px 24px}
.tf-plp-help h3{font-family:'Clash Display',sans-serif;font-weight:600;font-size:19px;line-height:1.2;color:#17222E;margin:0 0 8px}
.tf-plp-help p{margin:0 0 16px;font-size:15px;line-height:1.6;color:#5B6675}
.tf-plp-help__btn{display:inline-block;padding:11px 20px;border-radius:8px;background:#0A6CD4;color:#fff!important;font-weight:700;font-size:15px;text-decoration:none!important;transition:background .2s}
.tf-plp-help__btn:hover{background:#095BB0}
.tf-plp-help__btn:focus-visible{outline:2px solid #F5821F;outline-offset:2px}
@media(max-width:860px){
  .tf-plp-about{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:32px;padding-top:26px}
  .tf-plp-about__text p{font-size:15px}
  .tf-plp-help{padding:18px}
}
