/*
Theme Name: Ravalisol Drive Builder
Theme URI: https://ravalisol.fr/
Author: Hermes / WP Auto Theme Builder workflow
Description: Thème éditorial Ravalisol inspiré des codes visuels DriveActu, adapté maison/travaux/jardin/lifestyle.
Version: 1.0.0
Text Domain: ravalisol-drive-builder
*/
:root{--rvs-red:#f20d31;--rvs-dark:#0e121a;--rvs-ink:#12141b;--rvs-muted:#5f6673;--rvs-light:#f4f4f5;--rvs-line:#eadde1;--rvs-max:1600px;--rvs-pad:12%;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--rvs-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}.rvs-wrap{width:min(var(--rvs-max),calc(100% - 24%));margin:auto}.site-header{height:92px;background:#fff;border-bottom:4px solid var(--rvs-red);display:flex;align-items:center;position:sticky;top:0;z-index:1000}.rvs-head{display:flex;align-items:center;justify-content:space-between;gap:28px}.rvs-logo{font-size:38px;font-weight:900;letter-spacing:-2px;text-decoration:none;color:#111;line-height:1}.rvs-logo em{display:block;color:var(--rvs-red);font-size:12px;letter-spacing:1.6px;font-style:italic;margin-top:-4px}.main-navigation ul{display:flex;gap:34px;list-style:none;margin:0;padding:0}.main-navigation a{color:#111;text-decoration:none;font-weight:700;font-size:13px}.rvs-nav-cta,.rvs-btn{display:inline-flex;background:var(--rvs-red);color:#fff!important;text-decoration:none;border-radius:9px;padding:13px 23px;font-weight:800;font-size:13px;border:0}.rvs-burger{display:none;background:#111;color:#fff;border:0;border-radius:8px;padding:10px 12px;font-weight:900}.rvs-mobile-menu{display:none}.rvs-hero{background:linear-gradient(90deg,rgba(12,15,20,.98),rgba(12,15,20,.78)), radial-gradient(circle at 75% 45%,rgba(242,13,49,.25),transparent 33%);color:#fff;min-height:540px;display:flex;align-items:center;position:relative;overflow:hidden}.rvs-hero:after{content:"";position:absolute;right:-8%;bottom:-60px;width:70%;height:230px;background:rgba(255,255,255,.36);clip-path:polygon(0 65%,100% 25%,100% 100%,0 100%)}.rvs-kicker{color:#fff;text-transform:uppercase;font-weight:800;font-size:13px;letter-spacing:.8px}.rvs-hero h1{font-size:clamp(42px,6vw,82px);line-height:1.04;margin:14px 0 22px;text-transform:uppercase;letter-spacing:-1px;max-width:930px}.rvs-hero p{max-width:720px;color:#e2e4e9}.rvs-section{padding:92px 0}.rvs-section h2{font-size:clamp(30px,4vw,48px);line-height:1.12;margin:0 0 22px}.rvs-redline{border-top:3px solid var(--rvs-red);padding-top:26px}.rvs-why{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.rvs-eyebrow{color:var(--rvs-red);font-size:13px;text-transform:uppercase;font-weight:900}.rvs-list{padding:0;margin:25px 0 0;list-style:none}.rvs-list li{margin:13px 0;padding-left:28px;position:relative}.rvs-list li:before{content:"✚";position:absolute;left:0;color:var(--rvs-red);font-weight:900}.rvs-band{background:var(--rvs-dark);color:#fff;text-align:center;padding:78px 0 170px;clip-path:polygon(0 0,100% 0,100% 77%,50% 100%,0 77%)}.rvs-band p{max-width:720px;margin:auto;color:#d5dae2}.rvs-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}.rvs-cat{background:#fff;color:#111;text-decoration:none;border-radius:18px;padding:26px;text-align:left;min-height:170px;box-shadow:0 18px 50px rgba(0,0,0,.18);border-bottom:4px solid var(--rvs-red)}.rvs-cat span{color:var(--rvs-red);font-weight:900;text-transform:uppercase;font-size:12px}.rvs-cat strong{display:block;font-size:24px;margin-top:16px}.rvs-latest{padding-top:40px}.rvs-card-grid,.rvs-cartes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.rvs-post-card{background:#f4f4f5;border-radius:15px;overflow:hidden;min-height:470px;display:flex;flex-direction:column;border:1px solid #eee}.rvs-post-card img{width:100%;height:245px;object-fit:cover;background:#eee}.rvs-post-card .rvs-card-body{padding:24px}.rvs-badge{display:inline-flex;background:var(--rvs-red);color:#fff;padding:5px 8px;font-weight:800;font-size:12px}.rvs-post-card h3{font-size:22px;line-height:1.22;margin:16px 0 12px}.rvs-post-card h3 a{color:var(--rvs-red);text-decoration:none}.rvs-meta{font-size:12px;color:#45505c}.rvs-podcast{background:#e7e7e8;position:relative;overflow:hidden}.rvs-podcast:after{content:"";position:absolute;right:3%;top:20%;width:55%;height:70%;background:repeating-linear-gradient(18deg,transparent 0 18px,rgba(0,0,0,.06) 19px 22px);border-radius:50%;transform:rotate(-8deg)}.site-footer{background:linear-gradient(rgba(8,10,15,.86),rgba(8,10,15,.94));color:#fff;padding:70px 0 32px}.rvs-foot-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:34px}.site-footer a{color:#fff;text-decoration:none}.site-footer h3{color:var(--rvs-red);font-size:13px;text-transform:uppercase}.rvs-copy{border-top:1px solid rgba(255,255,255,.13);margin-top:40px;padding-top:20px;text-align:center;color:#9aa3af;font-size:12px}.content-area{width:min(var(--rvs-max),calc(100% - 24%));margin:0 auto;padding:70px 0;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px}.rvs-article{background:#fff}.rvs-article h1{font-size:clamp(36px,5vw,64px);line-height:1.05;margin:0 0 22px}.rvs-featured{width:100%;height:auto;border-radius:18px;margin:26px 0}.rvs-article h2{font-size:34px;line-height:1.16;margin-top:46px}.rvs-summary,.rvs-tip,.rvs-quote{border-left:5px solid var(--rvs-red);background:#fff5f7;padding:22px 26px;border-radius:0 14px 14px 0;margin:28px 0}.rvs-summary a{color:var(--rvs-red);font-weight:800}.rvs-table-wrap{overflow-x:auto;margin:28px 0}.rvs-article table{border-collapse:collapse;width:100%;min-width:620px}.rvs-article th{background:var(--rvs-dark);color:#fff}.rvs-article th,.rvs-article td{border:1px solid #e5e7eb;padding:14px;text-align:left}.rvs-article figure{margin:34px 0}.rvs-article figure img{width:100%;height:auto;border-radius:16px}.rvs-article figcaption{font-size:13px;color:#666}.widget-area{background:#f6f6f7;border-radius:18px;padding:24px;height:max-content}.page-header{background:var(--rvs-dark);color:#fff;padding:80px 0}.archive-description{color:#d6dbe4}.contact-card{background:#f6f6f7;border-radius:22px;padding:34px}.contact-card input,.contact-card textarea{width:100%;padding:14px;border:1px solid #ddd;border-radius:10px;margin:7px 0 14px}.contact-card button{cursor:pointer}.rvs-notice{padding:14px 16px;border-radius:10px;margin:15px 0}.rvs-ok{background:#e8fff1}.rvs-err{background:#fff0f2}@media(max-width:900px){.rvs-wrap,.content-area{width:calc(100% - 32px)}.main-navigation,.rvs-head>.rvs-nav-cta{display:none}.rvs-burger{display:block}.rvs-mobile-menu.open{display:block;position:absolute;top:92px;left:0;right:0;background:#fff;border-bottom:3px solid var(--rvs-red);padding:18px 24px}.rvs-mobile-menu a{display:block;color:#111;text-decoration:none;font-weight:800;padding:12px}.rvs-why,.content-area{display:block}.rvs-cat-grid,.rvs-card-grid,.rvs-cartes-grid,.rvs-foot-grid{grid-template-columns:1fr}.rvs-hero{min-height:480px}.rvs-section{padding:58px 0}body.single .content-area{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:18px 0 52px!important}body.single .site-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}body.single .rvs-article{width:100%!important;max-width:none!important;margin:0!important;padding:22px 16px 54px!important}.widget-area{display:none}}

/* Correction QA article Ravalisol: les cartes [articles_cartes] dans la sidebar ne doivent jamais rester en grille 3 colonnes. */
body.single .widget-area .rvs-cartes-grid,
body.single .widget-area .rvs-card-grid{
  display:block!important;
}
body.single .widget-area .rvs-post-card{
  min-height:0!important;
  display:block!important;
  width:100%!important;
  margin:0 0 18px!important;
  overflow:hidden!important;
}
body.single .widget-area .rvs-post-card img{
  width:100%!important;
  height:150px!important;
  object-fit:cover!important;
  display:block!important;
}
body.single .widget-area .rvs-post-card .rvs-card-body{
  padding:16px!important;
}
body.single .widget-area .rvs-post-card h3{
  font-size:18px!important;
  line-height:1.22!important;
  margin:12px 0 8px!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
body.single .widget-area .rvs-post-card p{
  font-size:14px!important;
  line-height:1.45!important;
  margin:0 0 10px!important;
}
body.single .widget-area .rvs-meta{
  font-size:11px!important;
}
@media(max-width:1100px){
  body.single .content-area{grid-template-columns:minmax(0,1fr) 280px!important;gap:28px!important;}
}
@media(max-width:900px){
  body.single .widget-area{display:none!important;}
}
