/*
 Theme Name:   TrouveTonRabais.ca - GeneratePress Child
 Theme URI:    https://trouvetonrabais.ca/
 Description:  Child theme ultra-rapide pour GeneratePress (homepage légère, populaires sans plugin, catégories principales et related posts)
 Author:       TrouveTonRabais
 Author URI:   https://trouvetonrabais.ca/
 Version:      1.0.0
 Template:     generatepress
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  tonsite-gp
*/

:root{
  --ts-bg:#faf7ff;
  --ts-primary:#6a0dad;
  --ts-primary-2:#a84ae3;
  --ts-text:#2c004b;
  --ts-muted:#6d5a82;
}
body{background:var(--ts-bg);}
.ts-container{max-width:1200px;margin:0 auto;padding: clamp(14px,2.5vw,24px);}
.ts-title{color:var(--ts-text);font-weight:800;text-transform:uppercase;letter-spacing:.5px;text-align:center;margin:8px 0 22px;}
.ts-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(10px,2vw,22px);}
.ts-card{background:#fff;border:1px solid #efe6ff;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.04);transition:transform .2s ease, box-shadow .2s ease;}
.ts-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(168,74,227,.18);}
.ts-thumb{aspect-ratio:16/9;object-fit:cover;width:100%;display:block;}
.ts-card h3{font-size:15px;line-height:1.45;padding:12px 12px 14px;margin:0;color:var(--ts-text);}
.ts-card a{color:inherit;text-decoration:none;}
.ts-badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;background:linear-gradient(90deg,var(--ts-primary),var(--ts-primary-2));color:#fff;}
.ts-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.ts-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:linear-gradient(90deg,#8c3cff,#b84dff,#a34aff);color:#fff;font-weight:800;text-transform:uppercase;text-decoration:none;box-shadow:0 0 18px rgba(150,80,255,.35);}
.ts-cta:hover{filter:brightness(1.05);}
.ts-col-3{grid-column:span 3}
.ts-col-4{grid-column:span 4}
.ts-col-6{grid-column:span 6}
.ts-col-12{grid-column:span 12}
@media (max-width: 1024px){
  .ts-col-md-6{grid-column:span 6}
  .ts-col-md-12{grid-column:span 12}
}
@media (max-width: 640px){
  .ts-col-sm-12{grid-column:span 12}
}
.ts-section{background:#fff0;border:0;border-radius:18px;margin:20px 0;padding:0;}
.ts-section .ts-title{margin-top:0}
.ts-popular-grid .ts-card h3{font-weight:800;text-transform:uppercase}
.ts-popular-grid .ts-thumb{border-bottom:1px solid #efe6ff}
.ts-cat-grid .ts-cat-item{background:#fff;border:1px solid #efe6ff;border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 2px 10px rgba(0,0,0,.04);}
.ts-cat-grid .ts-cat-item .label{font-weight:800;color:var(--ts-text);text-transform:uppercase}
.ts-cat-grid .ts-cat-item .count{font-size:12px;color:var(--ts-muted)}
.ts-cat-grid .ts-dot{width:12px;height:12px;border-radius:50%;background:var(--ts-primary-2);box-shadow:0 0 0 4px #f2e9ff}
.ts-related-wrap{margin-top:28px}
.ts-related-grid .ts-card h3{font-weight:700}
.ts-ad-slot{min-height:250px;border:1px dashed #e5ccff;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#9b68ff;background:#fff;}
img{transition:opacity .25s ease, transform .25s ease}
img[loading="lazy"]{opacity:.0;transform:translateY(6px)}
img.lazyloaded, img[decoding="async"]{opacity:1;transform:none}