/*
Theme Name: TechInnov Pro
Theme URI: https://refletcompany.com
Author: Reflet Company
Version: 5.0.0
Text Domain: techinnov
*/

/* ═══════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
    --primary:    #2d2d2d;
    --accent:     #f97316;
    --dark:       #0f172a;
    --gray:       #64748b;
    --light-gray: #94a3b8;
    --white:      #ffffff;
    --bg-light:   #f8faff;
    --border:     #e8f0ff;
    --radius:     20px;
    --radius-sm:  12px;
    --shadow:     0 8px 32px rgba(0,87,184,.09);
    --transition: all .3s ease;
    --font:       'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

html{scroll-behavior:smooth;font-size:16px;}
body{
    font-family: var(--font);
    color: var(--dark);
    background: var(--white);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

img{max-width:100%;height:auto;display:block;}
a{color:var(--primary);text-decoration:none;transition:var(--transition);}
a:hover{color:var(--accent);}
ul{list-style:none;}
button{cursor:pointer;font-family:inherit;}
p{line-height:1.75;color:var(--gray);}

h1,h2,h3,h4,h5,h6{
    font-family: var(--font);
    font-weight: 700;
    line-height: 1.2;
    color: var(--dark);
}
h1{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;}
h2{font-size:clamp(1.4rem,3vw,2.2rem);font-weight:800;}
h3{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:700;}
h4{font-size:1.1rem;font-weight:700;}
h5{font-size:1rem;font-weight:700;}
h6{font-size:.9rem;font-weight:600;}

/* ═══════════════════════════════════════════
   CONTAINER
═══════════════════════════════════════════ */
.container{max-width:1240px;margin:0 auto;padding:0 1.5rem;}
.container-sm{max-width:900px;margin:0 auto;padding:0 1.5rem;}
.container-xs{max-width:700px;margin:0 auto;padding:0 1.5rem;}

/* ═══════════════════════════════════════════
   TYPOGRAPHY GLOBALE
═══════════════════════════════════════════ */
.text-primary{color:var(--primary)!important;}
.text-accent{color:var(--accent)!important;}
.text-gray{color:var(--gray)!important;}
.text-white{color:white!important;}
.text-center{text-align:center;}
.text-sm{font-size:.875rem!important;}
.text-xs{font-size:.78rem!important;}
.font-bold{font-weight:700!important;}
.font-black{font-weight:900!important;}

/* ═══════════════════════════════════════════
   LAYOUT UTILITAIRES
═══════════════════════════════════════════ */
.flex{display:flex;}
.flex-center{display:flex;align-items:center;justify-content:center;}
.flex-between{display:flex;align-items:center;justify-content:space-between;}
.gap-1{gap:.5rem;}
.gap-2{gap:1rem;}
.gap-3{gap:1.5rem;}
.mt-1{margin-top:.5rem;}
.mt-2{margin-top:1rem;}
.mt-3{margin-top:1.5rem;}
.mb-2{margin-bottom:1rem;}
.mb-3{margin-bottom:1.5rem;}
.section{padding:5rem 0;}
.section-sm{padding:3rem 0;}

/* ═══════════════════════════════════════════
   HEADER
═══════════════════════════════════════════ */
.ti-topbar{background:#050a1a;color:rgba(255,255,255,.7);font-size:.78rem;padding:.4rem 0;position:relative;z-index:101;}
.ti-topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.ti-topbar__left,.ti-topbar__right{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;}
.ti-topbar a{color:rgba(255,255,255,.7);display:flex;align-items:center;gap:.3rem;font-size:.78rem;}
.ti-topbar a:hover{color:var(--accent);}
.ti-topbar i{font-size:.72rem;}

.ti-header{background:#fff;box-shadow:0 2px 20px rgba(0,0,0,.07);position:sticky;top:0;z-index:1000;transition:box-shadow .3s;}
.ti-header.scrolled{box-shadow:0 4px 30px rgba(0,87,184,.13);}
.ti-header__inner{display:flex;align-items:center;gap:1.5rem;height:75px;}

/* Logo */
.ti-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
.ti-logo img{object-fit:contain;display:block;}
.ti-logo__text{font-size:1.5rem;font-weight:900;letter-spacing:-.02em;color:var(--dark);line-height:1;white-space:nowrap;}
.ti-logo__text strong{color:var(--primary);}
.ti-logo__text em{color:var(--accent);font-style:normal;}

/* Navigation */
.ti-nav{flex:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.15rem;}
.ti-nav a{
    color:var(--dark);
    font-size:.875rem;
    font-weight:600;
    padding:.45rem .8rem;
    border-radius:8px;
    white-space:nowrap;
    text-decoration:none;
    position:relative;
    transition:var(--transition);
}
.ti-nav a::after{content:'';position:absolute;bottom:3px;left:50%;right:50%;height:2px;background:var(--primary);border-radius:2px;transition:left .25s,right .25s;}
.ti-nav a:hover::after,.ti-nav a.active::after,.ti-nav a.current-menu-item::after{left:.8rem;right:.8rem;}
.ti-nav a:hover,.ti-nav a.active{color:var(--primary);background:rgba(0,87,184,.06);}

/* CTA header */
.ti-header__cta{display:flex;align-items:center;gap:.6rem;flex-shrink:0;}
.ti-header__shop{display:inline-flex;align-items:center;gap:.4rem;border:2px solid var(--primary);color:var(--primary);padding:.4rem 1rem;border-radius:50px;font-size:.82rem;font-weight:700;text-decoration:none;transition:var(--transition);white-space:nowrap;}
.ti-header__shop:hover{background:var(--primary);color:white;}
.ti-header__wa{display:inline-flex;align-items:center;gap:.4rem;background:#25d366;color:white;padding:.45rem 1rem;border-radius:50px;font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap;box-shadow:0 4px 15px rgba(37,211,102,.3);transition:var(--transition);}
.ti-header__wa:hover{background:#1ab855;transform:translateY(-1px);color:white;}

/* Burger */
.ti-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:6px;}
.ti-burger span{display:block;width:24px;height:2px;background:var(--dark);border-radius:2px;transition:all .3s;}
.ti-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.ti-burger.open span:nth-child(2){opacity:0;}
.ti-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Page Hero intérieure */
.ti-page-hero{position:relative;background:linear-gradient(135deg,#0a0f1e,#0d1f5c);padding:5rem 0 3.5rem;overflow:hidden;}
.ti-page-hero__inner{position:relative;z-index:2;}
.ti-page-hero h1{font-size:clamp(1.6rem,4vw,3rem);font-weight:900;color:white;margin-top:.75rem;text-shadow:0 2px 20px rgba(0,0,0,.3);}
.ti-page-hero__shine{position:absolute;top:-50%;left:-20%;width:60%;height:200%;background:linear-gradient(105deg,transparent 40%,rgba(249,115,22,.07) 50%,transparent 60%);animation:heroShine 6s ease-in-out infinite;pointer-events:none;}
@keyframes heroShine{0%,100%{transform:translateX(-100%)}50%{transform:translateX(300%)}}
.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:rgba(255,255,255,.6);flex-wrap:wrap;}
.breadcrumb a{color:var(--accent);}

/* ═══════════════════════════════════════════
   BOUTONS
═══════════════════════════════════════════ */
.btn-primary,.ti-btn-primary{
    display:inline-flex;align-items:center;gap:.6rem;
    background:var(--primary);color:white;
    padding:.875rem 2rem;border-radius:50px;
    font-weight:700;text-decoration:none;border:none;cursor:pointer;
    transition:var(--transition);
    box-shadow:0 6px 20px rgba(0,87,184,.3);
    font-family:inherit;font-size:.95rem;
    position:relative;overflow:hidden;
    white-space:nowrap;
}
.btn-primary:hover,.ti-btn-primary:hover{background:#003d8a;transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,87,184,.4);color:white;}
.btn-accent{display:inline-flex;align-items:center;gap:.6rem;background:var(--accent);color:white;padding:.875rem 2rem;border-radius:50px;font-weight:700;text-decoration:none;border:none;cursor:pointer;transition:var(--transition);box-shadow:0 6px 20px rgba(249,115,22,.3);font-family:inherit;font-size:.95rem;white-space:nowrap;}
.btn-accent:hover{background:#c2410c;transform:translateY(-2px);color:white;}
.btn-outline{display:inline-flex;align-items:center;gap:.6rem;border:2px solid var(--primary);color:var(--primary);padding:.825rem 1.9rem;border-radius:50px;font-weight:700;text-decoration:none;background:transparent;cursor:pointer;transition:var(--transition);font-family:inherit;font-size:.95rem;}
.btn-outline:hover{background:var(--primary);color:white;}
.btn-sm{padding:.5rem 1.2rem!important;font-size:.82rem!important;}

/* ═══════════════════════════════════════════
   CONTENU ARTICLES (single.php, pages)
═══════════════════════════════════════════ */
.entry-content{font-size:1rem;line-height:1.85;color:#334155;max-width:72ch;}
.entry-content > * + *{margin-top:1.25rem;}
.entry-content h1{font-size:clamp(1.4rem,3.5vw,2rem);color:var(--dark);margin-top:2.5rem;margin-bottom:.75rem;font-weight:800;}
.entry-content h2{font-size:clamp(1.2rem,3vw,1.65rem);color:var(--primary);margin-top:2rem;margin-bottom:.6rem;font-weight:700;}
.entry-content h3{font-size:clamp(1rem,2.5vw,1.3rem);color:var(--accent);margin-top:1.75rem;margin-bottom:.5rem;}
.entry-content h4{font-size:1rem;color:var(--dark);font-weight:700;margin-top:1.5rem;}
.entry-content p{margin-bottom:1.25rem;font-size:1rem;line-height:1.85;color:#334155;}
.entry-content ul,.entry-content ol{padding-left:1.5rem;margin-bottom:1.25rem;}
.entry-content li{margin-bottom:.4rem;line-height:1.7;color:#334155;}
.entry-content ul li{list-style:disc;}
.entry-content ol li{list-style:decimal;}
.entry-content a{color:var(--primary);text-decoration:underline;text-underline-offset:3px;}
.entry-content a:hover{color:var(--accent);}
.entry-content img{max-width:100%;border-radius:var(--radius-sm);margin:1.5rem 0;}
.entry-content blockquote{border-left:4px solid var(--accent);padding:1rem 1.5rem;background:#fff7ed;border-radius:0 12px 12px 0;margin:1.75rem 0;font-style:italic;color:#7c3200;}
.entry-content pre{background:#f1f5f9;padding:1.5rem;border-radius:12px;overflow-x:auto;font-size:.875rem;margin:1.5rem 0;}
.entry-content code{background:#f1f5f9;padding:.15rem .4rem;border-radius:4px;font-size:.875rem;}
.entry-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;}
.entry-content th{background:var(--primary);color:white;padding:.75rem 1rem;text-align:left;font-weight:600;}
.entry-content td{padding:.7rem 1rem;border-bottom:1px solid var(--border);}
.entry-content tr:nth-child(even) td{background:#f8faff;}
.entry-content hr{border:none;border-top:2px solid var(--border);margin:2rem 0;}

/* ═══════════════════════════════════════════
   ARTICLE SINGLE — LAYOUT
═══════════════════════════════════════════ */
.single-article-wrap{padding:3rem 0 5rem;}
.single-article-grid{display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:start;}
.single-article-header{margin-bottom:2rem;}
.single-article-meta{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-bottom:1rem;}
.single-meta-item{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--light-gray);}
.single-meta-item i{font-size:.75rem;color:var(--accent);}
.single-meta-item a{color:var(--light-gray);}
.single-meta-item a:hover{color:var(--primary);}
.single-article-title{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:900;color:var(--dark);line-height:1.2;margin-bottom:.5rem;}
.single-article-featured{border-radius:var(--radius);overflow:hidden;margin-bottom:2.5rem;}
.single-article-featured img{width:100%;max-height:480px;object-fit:cover;}
.single-article-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);}
.single-nav-link{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--dark);padding:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);transition:var(--transition);flex:1;max-width:280px;}
.single-nav-link:hover{border-color:var(--primary);color:var(--primary);}
.single-nav-link.next{justify-content:flex-end;text-align:right;}
.single-nav-link small{display:block;font-size:.72rem;color:var(--light-gray);text-transform:uppercase;letter-spacing:.05em;}
.single-nav-link strong{font-size:.875rem;display:block;}

/* Sidebar article */
.single-sidebar{position:sticky;top:90px;}
.sidebar-widget{background:white;border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);margin-bottom:1.5rem;border:1px solid var(--border);}
.sidebar-widget-title{font-size:.875rem;font-weight:700;color:var(--dark);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem;padding-bottom:.6rem;border-bottom:2px solid var(--accent);display:inline-block;}
.sidebar-search input{width:100%;padding:.65rem 1rem;border:1.5px solid var(--border);border-radius:50px;font-family:inherit;font-size:.875rem;outline:none;transition:border-color .2s;}
.sidebar-search input:focus{border-color:var(--primary);}
.sidebar-cats li{margin-bottom:.4rem;}
.sidebar-cats a{display:flex;justify-content:space-between;align-items:center;color:var(--gray);font-size:.875rem;padding:.3rem 0;transition:color .2s;}
.sidebar-cats a:hover{color:var(--primary);}
.sidebar-recent li{margin-bottom:.8rem;padding-bottom:.8rem;border-bottom:1px solid var(--border);}
.sidebar-recent li:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none;}
.sidebar-recent a{font-size:.875rem;font-weight:600;color:var(--dark);display:block;margin-bottom:.2rem;line-height:1.4;}
.sidebar-recent a:hover{color:var(--primary);}
.sidebar-recent time{font-size:.75rem;color:var(--light-gray);}

/* ═══════════════════════════════════════════
   BLOG ARCHIVE
═══════════════════════════════════════════ */
.blog-archive-wrap{padding:3rem 0 5rem;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.blog-card{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);transition:var(--transition);}
.blog-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,87,184,.12);}
.blog-card-img{height:200px;overflow:hidden;position:relative;background:linear-gradient(135deg,var(--primary),#003d8a);}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.blog-card:hover .blog-card-img img{transform:scale(1.05);}
.blog-card-cat{position:absolute;top:1rem;left:1rem;background:var(--accent);color:white;padding:.22rem .7rem;border-radius:20px;font-size:.72rem;font-weight:700;}
.blog-card-body{padding:1.4rem;}
.blog-card-meta{display:flex;gap:1rem;margin-bottom:.7rem;}
.blog-card-meta span{font-size:.75rem;color:var(--light-gray);display:flex;align-items:center;gap:.3rem;}
.blog-card-meta i{font-size:.7rem;color:var(--primary);}
.blog-card h3{font-size:.975rem;font-weight:700;line-height:1.4;margin-bottom:.6rem;}
.blog-card h3 a{color:var(--dark);}
.blog-card h3 a:hover{color:var(--primary);}
.blog-card p{font-size:.83rem;color:var(--gray);line-height:1.65;margin-bottom:1rem;}
.blog-card-link{font-size:.82rem;font-weight:700;color:var(--accent);display:inline-flex;align-items:center;gap:.35rem;}
.blog-card-link:hover{gap:.7rem;}
.blog-card-link i{font-size:.7rem;}

/* ═══════════════════════════════════════════
   PAGINATION
═══════════════════════════════════════════ */
.pagination-wrap{display:flex;justify-content:center;gap:.5rem;margin-top:3rem;flex-wrap:wrap;}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-size:.875rem;font-weight:600;text-decoration:none;color:var(--dark);border:1.5px solid var(--border);transition:var(--transition);}
.page-numbers:hover,.page-numbers.current{background:var(--primary);color:white;border-color:var(--primary);}

/* ═══════════════════════════════════════════
   PAGE GENERIQUE (page.php)
═══════════════════════════════════════════ */
.page-article-wrap{padding:3rem 0 5rem;}
.page-article-grid{display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start;}
.page-article-body{font-size:1rem;line-height:1.85;color:#334155;}
.page-article-body h2{color:var(--primary);margin:2rem 0 .75rem;}
.page-article-body h3{color:var(--accent);margin:1.5rem 0 .6rem;}

/* ═══════════════════════════════════════════
   WOOCOMMERCE
═══════════════════════════════════════════ */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;list-style:none;padding:0;}
.woocommerce ul.products li.product{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .3s;}
.woocommerce ul.products li.product:hover{transform:translateY(-5px);}
.woocommerce ul.products li.product img{width:100%;height:220px;object-fit:cover;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1rem;font-weight:700;padding:1rem 1rem 0;color:var(--dark);}
.woocommerce ul.products li.product .price{padding:.5rem 1rem;color:var(--accent);font-weight:700;font-size:1.1rem;}
.woocommerce ul.products li.product .button{display:block;margin:0 1rem 1rem;background:var(--primary);color:white;text-align:center;border-radius:50px;padding:.7rem;font-weight:600;font-size:.9rem;border:none;width:calc(100% - 2rem);cursor:pointer;transition:background .3s;}
.woocommerce ul.products li.product .button:hover{background:var(--accent);}

/* ═══════════════════════════════════════════
   DIVERS
═══════════════════════════════════════════ */
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:#f1f5f9;}
::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:var(--accent);}
::selection{background:var(--accent);color:white;}

/* ═══════════════════════════════════════════
   RESPONSIVE GLOBAL
═══════════════════════════════════════════ */
@media(max-width:1024px){
    .ti-header__cta .ti-header__shop{display:none;}
    .single-article-grid{grid-template-columns:1fr;}
    .page-article-grid{grid-template-columns:1fr;}
    .blog-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
    .ti-burger{display:flex;}
    .ti-nav{
        position:fixed;top:0;right:-100%;
        width:min(300px,85vw);height:100vh;
        background:white;flex-direction:column;align-items:flex-start;justify-content:flex-start;
        padding:5rem 1.5rem 2rem;
        box-shadow:-10px 0 40px rgba(0,0,0,.15);
        transition:right .35s cubic-bezier(.4,0,.2,1);
        z-index:9999;overflow-y:auto;gap:.2rem;
    }
    .ti-nav.open{right:0;}
    .ti-nav a{width:100%;font-size:1rem;padding:.7rem 1rem;border-radius:10px;}
    .ti-header__cta{display:none;}
    .blog-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
    .container{padding:0 1rem;}
    .ti-topbar__left .ti-topbar__sep{display:none;}
    .ti-header__inner{height:65px;}
    h1{font-size:1.5rem;}
    h2{font-size:1.25rem;}
    h3{font-size:1.05rem;}
    .section{padding:3rem 0;}
    .single-article-nav{flex-direction:column;}
    .single-nav-link{max-width:100%;}
}
