/* ============================================================
 * Prism — Design principal (v4.4)
 * ============================================================ */

/* Variables */
:root {
    --prism-red: #E2003A;
    --prism-red-dark: #B8002F;
    --prism-black: #111;
    --prism-white: #fff;
    --prism-gray: #6B7280;
    --prism-gray-light: #F3F4F6;
    --prism-gray-lighter: #F9FAFB;
    --prism-border: #E5E7EB;
    --prism-radius: 12px;
    --prism-shadow: 0 1px 3px rgba(0,0,0,.04);
    --prism-container: 1280px;
}

/* Reset */
*,*::before,*::after{box-sizing:border-box}
body{font-family:Inter,system-ui,sans-serif;color:var(--prism-black);background:var(--prism-white);line-height:1.6;-webkit-font-smoothing:antialiased;margin:0}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--prism-red);text-decoration:none}
a:hover{color:var(--prism-red-dark)}
.container,.prism-container{max-width:var(--prism-container);margin:0 auto;padding:0 24px}
.site-content,.container-narrow{max-width:800px;margin:0 auto;padding:0 24px}
.prism-home{padding-top:32px}
.prism-search{padding-top:48px;padding-bottom:24px}
.prism-search .wp-block-search{margin:0 0 32px}
.prism-not-found{max-width:680px;margin:0 auto;padding:120px 24px;text-align:center}
.prism-not-found h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.3rem,7vw,4.5rem);margin:0 0 12px}
.prism-not-found .wp-block-search{margin:32px auto;max-width:500px}
.prism-editorial{margin:0 0 56px}.prism-editorial-header{border-bottom:2px solid var(--prism-black);margin-bottom:20px}.prism-editorial-header h2{font-family:'Playfair Display',Georgia,serif;font-size:1.6rem;margin:0;padding-bottom:8px}.prism-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.prism-editorial-card{border:1px solid var(--prism-border);border-radius:12px;overflow:hidden;background:#fff}.prism-editorial-card img{width:100%;height:180px;object-fit:cover}.prism-editorial-card-body{padding:16px}.prism-editorial-category{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.prism-editorial-card h3{font-size:1.05rem;line-height:1.3;margin:0}.prism-editorial-card h3 a{color:var(--prism-black)}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--prism-border)}
.header-inner{max-width:var(--prism-container);margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}
.site-branding{align-items:center;gap:10px;min-width:0}
.site-branding .wp-block-site-logo{margin:0}
.site-branding .custom-logo-link{display:block}
.site-title{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.3px;white-space:nowrap}
.site-title a{color:var(--prism-black);text-decoration:none}
.site-logo-mark{width:32px;height:32px;background:var(--prism-red);border-radius:6px}
.site-logo-text{font-size:1.2rem;font-weight:800;color:var(--prism-black);letter-spacing:-.3px}

/* Navigation */
.main-nav .wp-block-navigation__container{display:flex;gap:0;height:64px;margin:0;padding:0;list-style:none}
.main-nav .wp-block-navigation-item,.main-nav .menu-item{height:100%;display:flex;align-items:center;position:relative}
.main-nav .wp-block-navigation-item__content,.main-nav .menu-item>a{display:flex;align-items:center;gap:6px;padding:0 16px;height:100%;text-decoration:none;color:#333;font-size:.88rem;font-weight:600;border-bottom:3px solid transparent;transition:all .15s;white-space:nowrap}
.main-nav .wp-block-navigation-item__content:hover,.main-nav .current-menu-item>.wp-block-navigation-item__content,.main-nav .current-menu-item>a,.main-nav .menu-item>a:hover{color:var(--prism-red);border-bottom-color:var(--prism-red)}
.caret{display:inline-block;width:0;height:0;margin-left:2px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;vertical-align:middle}
.menu-icon{font-size:1rem}

/* Mega Menu */
.mega-submenu{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:900px;background:var(--prism-white);box-shadow:0 12px 40px rgba(0,0,0,.15);border-radius:0 0 12px 12px;display:none;border-top:3px solid var(--prism-red);z-index:999}
.has-mega-menu:hover>.mega-submenu,.has-mega-menu.active>.mega-submenu{display:block}
.mega-inner{padding:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mega-col h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#9CA3AF;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--prism-border)}
.mega-col a{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;color:#333;text-decoration:none;font-size:.85rem;font-weight:500;transition:all .15s;margin-bottom:2px}
.mega-col a:hover{background:var(--prism-gray-light);color:var(--prism-red)}
.mega-thumb{width:56px;height:40px;border-radius:6px;object-fit:cover;flex-shrink:0}
.mega-desc{font-size:.7rem;color:var(--prism-gray);line-height:1.3;font-weight:400}

/* Dropdown */
.dropdown-menu{position:absolute;top:100%;left:0;background:var(--prism-white);box-shadow:0 4px 20px rgba(0,0,0,.1);border-radius:8px;padding:8px 0;min-width:200px;display:none;z-index:999;list-style:none}
.has-dropdown:hover>.dropdown-menu{display:block}
.dropdown-menu a{display:block;padding:8px 20px;color:#333;font-size:.85rem}
.dropdown-menu a:hover{background:var(--prism-gray-light)}

/* Hero */
.hero-article{position:relative;min-height:500px;display:flex;align-items:flex-end;overflow:hidden;border-radius:16px;margin-bottom:40px}
.hero-image{position:absolute;inset:0}
.hero-image img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,#000,transparent 60%)}
.hero-content{position:relative;z-index:2;padding:48px;max-width:700px}
.hero-category{display:inline-block;background:var(--prism-red);color:#fff;padding:4px 14px;border-radius:4px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.hero-title{font-family:'Playfair Display',Georgia,serif;font-size:2.2rem;font-weight:900;line-height:1.1;margin:0 0 12px}
.hero-title a{color:#fff}
.hero-excerpt{color:rgba(255,255,255,.8);font-size:1rem;margin-bottom:16px}
.hero-meta{color:rgba(255,255,255,.5);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;display:flex;gap:16px}

/* Cards Grid */
.magazine-grid > .wp-block-post-template,.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 0 40px;padding:0;list-style:none}
.magazine-grid > .wp-block-query-pagination{margin-top:0}
.post-card,.article-card{border-radius:var(--prism-radius);overflow:hidden;border:1px solid var(--prism-border);transition:all .3s cubic-bezier(.16,1,.3,1);background:var(--prism-white)}
.post-card:hover,.article-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.magazine-grid .wp-block-post,.post-card,.article-card{border-radius:var(--prism-radius);overflow:hidden;border:1px solid var(--prism-border);background:var(--prism-white)}
.magazine-grid .wp-block-post-featured-image img,.post-card img,.article-card img{width:100%;height:200px;object-fit:cover;transition:transform .4s}
.post-card:hover img{transform:scale(1.04)}
.post-card-body,.article-card-body{padding:20px}
.post-card-category,.article-card-category{font-size:.68rem;font-weight:800;color:var(--prism-red);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;display:block}
.post-card h3,.article-card h3{font-size:1.05rem;font-weight:700;line-height:1.3;margin:0 0 8px}
.post-card h3 a,.article-card h3 a{color:var(--prism-black)}
.post-card-excerpt,.article-card-excerpt{font-size:.85rem;color:var(--prism-gray);line-height:1.5;margin-bottom:12px}
.post-card-footer,.article-card-footer{display:flex;justify-content:space-between;font-size:.72rem;color:var(--prism-gray);text-transform:uppercase;letter-spacing:.05em}

/* Section Header */
.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px}
.section-title{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;font-weight:900;position:relative;padding-bottom:8px}
.section-title::after{content:'';display:block;width:30px;height:3px;background:var(--prism-red);margin-top:8px}
.section-link{font-size:.85rem;font-weight:700}

/* Single Post */
.single-article{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start;max-width:var(--prism-container);margin:40px auto;padding:0 24px}
.single-article-content{background:var(--prism-white);border-radius:16px;padding:48px;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.entry-header{margin-bottom:24px}
.entry-category{display:inline-block;background:var(--prism-red);color:#fff;padding:4px 14px;border-radius:4px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.entry-title{font-family:'Playfair Display',Georgia,serif;font-size:2.2rem;font-weight:900;line-height:1.12;margin:0 0 16px}
.entry-meta{display:flex;align-items:center;gap:16px;color:var(--prism-gray);font-size:.85rem;padding-bottom:20px;border-bottom:1px solid var(--prism-border)}
.entry-content{font-size:1.1rem;line-height:1.85;color:#333;padding-top:20px}
.entry-content h2{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;margin:40px 0 16px}
.entry-content p{margin-bottom:24px}
.post-thumbnail{border-radius:12px;overflow:hidden;margin:24px 0}
.post-thumbnail img{width:100%;border-radius:12px}
.entry-footer{margin-top:40px;padding-top:24px;border-top:1px solid var(--prism-border)}
.entry-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.entry-tags a{font-size:.8rem;padding:4px 14px;border-radius:20px;background:var(--prism-gray-light);color:var(--prism-gray);font-weight:600}
.entry-tags a:hover{background:var(--prism-red);color:#fff}
.post-navigation{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}

/* Sidebar */
.sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:24px}
.sidebar-widget{background:var(--prism-white);border-radius:12px;padding:24px;border:1px solid var(--prism-border)}
.sidebar-widget h3{font-family:'Playfair Display',Georgia,serif;font-size:1.1rem;font-weight:900;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--prism-red)}
.sidebar-widget ul{list-style:none;padding:0;margin:0}
.sidebar-widget li{padding:12px 0;border-bottom:1px solid var(--prism-border)}
.sidebar-widget li:last-child{border-bottom:none}
.sidebar-widget li a{color:var(--prism-black);font-size:.9rem;font-weight:500}

/* Category */
.cat-hero{background:var(--prism-black);padding:80px 0;text-align:center;color:#fff}
.cat-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:2.5rem;font-weight:900;margin:0 0 12px}
.cat-hero p{color:rgba(255,255,255,.6);font-size:1.05rem;max-width:500px;margin:0 auto}
.subcat-bar{background:var(--prism-white);border-bottom:1px solid var(--prism-border);position:sticky;top:64px;z-index:50}
.subcat-inner{max-width:var(--prism-container);margin:0 auto;padding:0 24px;display:flex;overflow-x:auto}
.subcat-inner a{padding:14px 20px;font-size:.82rem;font-weight:600;color:var(--prism-gray);border-bottom:2px solid transparent;white-space:nowrap}
.subcat-inner a:hover,.subcat-inner a.active{color:var(--prism-black);border-bottom-color:var(--prism-red)}
.featured-card{display:grid;grid-template-columns:1fr 1fr;border-radius:16px;overflow:hidden;border:1px solid var(--prism-border);margin-bottom:40px}
.featured-card img{width:100%;height:100%;object-fit:cover;min-height:360px}
.featured-card-body{padding:40px;display:flex;flex-direction:column;justify-content:center;background:var(--prism-gray-light)}

/* Footer */
.site-footer{background:var(--prism-black);color:rgba(255,255,255,.45);padding:64px 24px 32px;margin-top:64px}
.footer-grid{max-width:var(--prism-container);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-grid h4{color:#fff;font-size:.8rem;font-weight:700;margin-bottom:16px;text-transform:uppercase;letter-spacing:.06em}
.footer-grid ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.footer-grid a{font-size:.85rem;transition:color .15s}
.footer-grid a:hover{color:#fff}
.footer-nav .wp-block-navigation__container{padding:0;margin:0;list-style:none}
.footer-nav .menu-item{margin-bottom:10px}
.footer-contact{display:flex;gap:24px;padding:20px 0;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1);font-size:.9rem}
.footer-contact a{color:var(--prism-red)}
.footer-bar{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap;gap:12px}

/* Animations */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.animate{opacity:0}
.animate.visible{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) forwards}

/* Pagination */
.pagination,.nav-links{display:flex;justify-content:center;gap:8px;margin-top:40px}
.pagination a,.pagination span,.nav-links a,.nav-links span{padding:10px 18px;border-radius:8px;font-size:.9rem;font-weight:600;border:1px solid var(--prism-border);color:var(--prism-black)}
.pagination .current,.nav-links .current{background:var(--prism-red);color:#fff;border-color:var(--prism-red)}
.pagination a:hover,.nav-links a:hover{background:var(--prism-gray-light)}

/* Breadcrumb */
.breadcrumb{padding:16px 0;font-size:.8rem;color:var(--prism-gray)}
.breadcrumb a{color:var(--prism-gray);text-decoration:none}
.breadcrumb span{color:var(--prism-black)}

/* Buttons */
.btn,.button,button[type=submit],.wp-block-button__link{display:inline-block;padding:10px 24px;border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s;border:none;background:var(--prism-red);color:#fff}
.btn:hover,button[type=submit]:hover,.wp-block-button__link:hover{background:var(--prism-red-dark);transform:translateY(-1px)}

/* Search */
.search-form{display:flex;gap:8px}
.search-form input{flex:1;padding:10px 16px;border-radius:8px;border:1px solid var(--prism-border);font-family:Inter,sans-serif}

/* À la une (1 grand + 2 petits) */
.featured-1-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:48px}
.featured-main{border-radius:12px;overflow:hidden;border:1px solid var(--prism-border);position:relative;min-height:420px}
.featured-main img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.featured-main-body{position:relative;z-index:2;padding:36px;display:flex;flex-direction:column;justify-content:flex-end;height:100%;background:linear-gradient(to top,#000,transparent 70%);color:#fff}
.featured-main-body h3{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;margin:0 0 8px}
.featured-main-body h3 a{color:#fff}
.featured-side{display:flex;flex-direction:column;gap:24px}
.featured-side-item{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;border-radius:10px;overflow:hidden;border:1px solid var(--prism-border);padding:16px;transition:all .2s}
.featured-side-item:hover{background:var(--prism-gray-lighter)}
.featured-side-item img{width:120px;height:90px;object-fit:cover;border-radius:8px}
.featured-side-item h4{font-size:.88rem;font-weight:700;margin:0 0 4px}
.featured-side-item h4 a{color:var(--prism-black)}
.fs-meta{font-size:.7rem;color:var(--prism-gray)}

/* Vidéos */
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.video-card{border-radius:12px;overflow:hidden;border:1px solid var(--prism-border);transition:all .2s}
.video-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.video-thumb{position:relative;height:220px;overflow:hidden}
.video-thumb img{width:100%;height:100%;object-fit:cover}
.video-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.2)}
.video-play svg{width:48px;height:48px;opacity:.9}
.video-card h3{padding:16px 20px 4px;font-size:1rem;font-weight:700;margin:0}
.video-meta{padding:0 20px 16px;font-size:.78rem;color:var(--prism-gray)}

/* Les + populaires */
.popular-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--prism-border);border:1px solid var(--prism-border);border-radius:12px;overflow:hidden;margin-bottom:48px}
.popular-item{background:#fff;padding:28px 24px;text-align:center;transition:all .2s}
.popular-item:hover{background:var(--prism-gray-lighter)}
.popular-item .rank{font-family:'Playfair Display',Georgia,serif;font-size:2.2rem;font-weight:900;color:var(--prism-red);line-height:1;margin-bottom:10px}
.popular-item h3{font-size:.95rem;font-weight:700;line-height:1.35;margin:0 0 8px}
.popular-item h3 a{color:var(--prism-black)}
.pop-meta{font-size:.72rem;color:var(--prism-gray);text-transform:uppercase;letter-spacing:.05em}
.search-form button{padding:10px 20px}

/* Forms */
textarea,input[type=text],input[type=email],input[type=url],input[type=search]{width:100%;padding:12px 16px;border-radius:8px;border:1px solid var(--prism-border);font-family:Inter,sans-serif;font-size:.9rem}

/* Comments */
.comments-area{margin-top:40px;padding-top:24px;border-top:1px solid var(--prism-border)}
.comment-list{list-style:none;padding:0}
.comment{padding:20px 0;border-bottom:1px solid var(--prism-border)}
.comment-author{font-weight:700;margin-bottom:4px}
.comment-meta{font-size:.8rem;color:var(--prism-gray);margin-bottom:8px}

/* Responsive */
@media(max-width:768px){
    .main-nav .wp-block-navigation__responsive-container-open{display:flex}
    .main-nav .wp-block-navigation__container{height:auto;gap:0}
    .main-nav .menu-item>a{padding:10px 8px;font-size:.78rem}
    .single-article{grid-template-columns:1fr}
    .sidebar{position:static}
    .magazine-grid > .wp-block-post-template,.cards-grid{grid-template-columns:1fr}
    .prism-editorial-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
    .hero-article{min-height:350px;border-radius:0}
    .hero-content{padding:32px 24px}
    .hero-title{font-size:1.5rem}
    .mega-submenu{position:static;width:auto;transform:none;box-shadow:none}
    .featured-card{grid-template-columns:1fr}
    .featured-1-2{grid-template-columns:1fr}
    .featured-main{min-height:280px}
    .featured-side-item{grid-template-columns:80px 1fr;padding:12px}
    .featured-side-item img{width:80px;height:65px}
    .popular-grid{grid-template-columns:1fr}
    .video-grid{grid-template-columns:1fr}
}

/* Utility */
.has-mega-menu{position:relative}
.text-center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.clearfix::after{content:'';display:table;clear:both}
