/*
Theme Name: Comparateur Elévateurs
Theme URI: https://www.comparateur-elevateurs.com
Author: Média Squad
Description: Thème WooCommerce pour comparateur-elevateurs.com — pages de contenu, fiche produit et pages catégorie.
Version: 1.0
Requires PHP: 7.4
Text Domain: comparateur-elevateurs
*/

:root{
  --cec-accent:#C9863B;
  --cec-accent-dark:#a86b2c;
  --cec-text:oklch(25% 0.02 250);
  --cec-text-soft:oklch(45% 0.02 250);
  --cec-text-mute:oklch(55% 0.02 250);
  --cec-border:oklch(90% 0.01 60);
  --cec-bg-soft:oklch(95% 0.008 60);
  --cec-bg-page:oklch(98% 0.008 60);
  --cec-blue:oklch(55% 0.16 250);
}

body{ margin:0; font-family:Helvetica, Arial, sans-serif; color:var(--cec-text); }
.cec-heading{ font-family:'Poppins', Helvetica, Arial, sans-serif; }
a{ color:var(--cec-accent); }
a:hover{ color:var(--cec-accent-dark); }

/* ---- Sidebar / mobile nav ---- */
.cec-sidebar{
  position:fixed; top:0; left:0; width:280px; height:100vh; background:#fff;
  border-right:1px solid var(--cec-border); display:flex; flex-direction:column;
  padding:28px 0px; z-index:10; overflow-y:auto;
}
.cec-logo{ display:flex; align-items:center; gap:8px; margin-bottom:44px; }
.cec-logo-mark{ width:22px; height:22px; border-radius:4px; background:linear-gradient(135deg, oklch(60% 0.14 220), var(--cec-accent)); flex:none; }
.cec-logo-text{ font-size:13px; font-weight:800; letter-spacing:.02em; color:var(--cec-text); line-height:1.1; }
.cec-nav{ 
    display:flex; flex-direction:column;  list-style: none;
    }
.cec-nav li {
    list-style: none;
    border-top:1px solid #eee;
}
.cec-nav a { 
    text-decoration:none;
    text-transform: uppercase;
    font-family: "Raleway", sans-serif;
    font-size: 15px;
    font-weight: normal;
    width:100%;
    display: inline-block;
    padding: 15px 10px;
    }
.cec-nav a:hover{
    background-color: rgb(186, 132, 55);
    font-size: 15px;
    font-weight: normal;
    color:white !important;
    }
.sub-menu { 
    margin-left: -30px !important;
    }
.sub-menu a { 
    text-decoration:none;
    text-transform: uppercase;
    font-family: "Raleway", sans-serif;
    font-size: 13px;
    font-weight: normal;
    width:100%;
    display: inline-block;
    padding: 10px 10px 10px 10px;
    color: rgb(114, 114, 114);
    }
.sub-menu a:hover { 
    font-size: 13px;
    }
.cec-sidebar-footer{ margin-top:auto; padding-top:32px; }
.cec-sidebar-footer p{ font-size:11px; color:var(--cec-text-mute); line-height:1.6; text-align:center; }
.cec-sidebar-footer a{ display:block; text-align:center; font-size:11px; text-decoration:underline; }

.cec-topbar{
  display:none; position:fixed; top:0; left:0; right:0; height:62px; background:#fff;
  border-bottom:1px solid var(--cec-border); align-items:center; justify-content:space-between;
  padding:0 18px; z-index:30;
}
.cec-topbar button{ background:none; border:none; padding:6px; display:flex; align-items:center; cursor:pointer; }
.cec-mobile-menu{
  display:none; position:fixed; top:62px; left:0; right:0; background:#fff;
  border-bottom:1px solid var(--cec-border); flex-direction:column; padding:18px; gap:20px; z-index:29;
}
.cec-mobile-menu.is-open{ display:flex; }
.cec-mobile-menu a{ text-decoration:none; color:oklch(30% 0.02 250); font-size:13px; font-weight:700; letter-spacing:.06em; }

.cec-main{ margin-left:280px; width:100%; }
.cec-mobile-footer{ display:none; padding:28px 24px; background:#fff; border-top:1px solid var(--cec-border); }
.cec-mobile-footer p{ font-size:12px; color:var(--cec-text-mute); line-height:1.6; text-align:center; margin-bottom:8px; }
.cec-mobile-footer a{ display:block; text-align:center; font-size:12px; text-decoration:underline; }

@media (max-width:767.98px){
  .cec-sidebar{ display:none !important; }
  .cec-main{ margin-left:0 !important; padding-top:62px !important; }
  .cec-topbar{ display:flex !important; }
  .cec-mobile-footer{ display:block !important; }
}

/* ---- Buttons ---- */
.cec-btn{
  display:inline-block; background:var(--cec-accent); border:none; color:#fff !important;
  font-weight:700; letter-spacing:.04em; padding:12px 22px; border-radius:6px; font-size:12px;
  text-decoration:none !important; text-align:center;
}
.cec-btn:hover{ background:var(--cec-accent-dark); }
.cec-btn-lg{ padding:13px 26px; font-size:14px; }
.cec-btn-outline{
  padding:12px 22px; border-radius:6px; font-size:12px; font-weight:700; letter-spacing:.04em;
  text-decoration:none !important; background:rgba(255,255,255,.12); color:#fff !important; border:1px solid rgba(255,255,255,.5);
}

/* ---- Hero (homepage) ---- */
.cec-hero{ position:relative; height:75vh; overflow:hidden;
    background-image: url('assets/img/cibes-air-textile-wool-staircase-1280x960-1-8uiH.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    }
.cec-hero-scrim{ position:absolute; inset:0; 
    background:linear-gradient(180deg, rgba(20,22,30,.55), rgba(20,22,30,.35));
    
     pointer-events:none; }
.cec-hero-content{ position:relative; z-index:2; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:0 40px; }
.cec-hero-content h1{ color:#fff; font-size:38px; font-weight:800; max-width:640px; line-height:1.25; margin-bottom:28px; }

/* ---- Category hero variants ---- */
.cec-cat-hero-banner{ position:relative; background:var(--cec-blue); overflow:hidden; padding:64px 60px; }
.cec-cat-hero-photo{ position:relative; overflow:hidden; min-height:440px; display:flex; align-items:center; }
.cec-cat-hero-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cec-cat-hero-photo .cec-hero-scrim{ background:rgba(20,22,26,.55); }
.cec-cat-hero-inner{ position:relative; z-index:2; padding:60px; max-width:820px; }
.cec-cat-hero-inner h1{ color:#fff; font-size:34px; font-weight:800; margin-bottom:18px; line-height:1.25; }
.cec-cat-hero-inner p{ color:rgba(255,255,255,.9); font-size:16px; margin-bottom:26px; }

.cec-cat-title-wrap{ text-align:center; margin-bottom:44px; }
.cec-cat-title-wrap h2{ display:inline-block; font-size:28px; font-weight:800; letter-spacing:.04em; color:var(--cec-text); border-bottom:3px dotted var(--cec-accent); padding-bottom:12px; margin-bottom:14px; }
.cec-cat-title-wrap p{ color:var(--cec-text-soft); font-size:15px; }

/* ---- Product cards / grid ---- */
.cec-product-grid{ padding:56px 60px 80px; }
.cec-card{
  background:#fff; border:1px solid var(--cec-border); border-radius:8px; overflow:hidden;
  height:100%; display:flex; flex-direction:column; transition:transform .15s ease, box-shadow .15s ease;
}
.cec-card:hover{ transform:translateY(-4px); box-shadow:0 10px 24px rgba(20,24,38,.12); }
.cec-card img{ width:100%; height:190px; object-fit:cover; display:block; background:var(--cec-bg-soft); }
.cec-card-body{ padding:16px; text-align:center; display:flex; flex-direction:column; gap:12px; flex:1; }
.cec-card-body .cec-card-title{ font-size:15px; font-weight:700; color:var(--cec-text); }
.cec-card-body .cec-btn{ margin-top:auto; padding:9px 14px; font-size:11px; }

/* ---- Category-choice cards (home) ---- */
.cec-choice-card{ background:#fff; border:1px solid var(--cec-border); border-radius:8px; padding:28px 20px; text-align:center; height:100%; display:flex; flex-direction:column; justify-content:space-between; gap:22px; }
.cec-choice-card .cec-choice-name{ font-size:12px; font-weight:800; letter-spacing:.03em; color:var(--cec-text); }

/* ---- Single product page ---- */
.cec-product-page{ padding:56px 60px 80px; max-width:1120px; }
.cec-product-page h1{ font-size:30px; font-weight:800; color:var(--cec-text); margin-bottom:28px; }
.cec-product-hero-img{ width:auto !important; max-width:560px; height:550px !important; object-fit:cover; border-radius:4px; display:block; }
.cec-points-forts h2{ font-size:16px; font-weight:800; text-decoration:underline; color:var(--cec-text); margin-bottom:14px; }
.cec-points-forts p{ font-size:15px; color:oklch(30% 0.02 250); margin-bottom:4px; }
.cec-product-body h3{ font-size:15px; font-weight:800; color:var(--cec-text); margin-bottom:8px; margin-top:24px; }
.cec-product-body p{ font-size:15px; line-height:1.75; color:oklch(30% 0.02 250); }
.cec-spec-table{ width:100%; font-size:15px; line-height:1.85; color:oklch(30% 0.02 250); margin-bottom:30px; border-collapse:collapse; }
.cec-spec-table th{ text-align:left; font-weight:800; padding:6px 12px 6px 0; vertical-align:top; white-space:nowrap; }
.cec-spec-table td{ padding:6px 0; }
.cec-product-cta{ text-align:center; margin:44px 0; }
.cec-gallery img{ width:100%; height:160px; object-fit:cover; border-radius:4px; display:block; }
