/*
Theme Name: NEXVOX V2
Theme URI: https://nexvox.fr
Author: NEXVOX / IMPACTIFY
Author URI: https://nexvox.fr
Description: Thème WordPress premium — Agence digitale full-service basée sur la Côte d'Azur. IT & Cloud · Marketing Digital · Branding & Communication. Paris · Nice · Monaco.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
Text Domain: nexvox-v2
*/

:root{
  --gold:#C9A45C;--gold-dark:#A8832A;--gold-alpha:rgba(201,164,92,0.15);
  --black:#0A0A0A;--dark:#111111;--off-white:#F5F1E8;
  --muted:#A39A8A;--text:#555555;--white:#FFFFFF;
  --font-h:'Playfair Display',Georgia,serif;
  --font-b:'Inter',sans-serif;
  --radius:4px;
  --transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
  --shadow:0 20px 60px rgba(0,0,0,0.12);
  --shadow-gold:0 8px 32px rgba(201,164,92,0.2);
  --container:1200px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-b);font-size:1rem;line-height:1.75;color:var(--text);background:#fff;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:var(--transition)}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
::selection{background:var(--gold);color:var(--black)}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--black)}
::-webkit-scrollbar-thumb{background:var(--gold)}

h1,h2,h3,h4{font-family:var(--font-h);font-weight:700;line-height:1.15;color:var(--black)}
h1{font-size:clamp(2.2rem,5vw,4rem)}
h2{font-size:clamp(1.7rem,3.5vw,2.8rem)}
h3{font-size:clamp(1.2rem,2.5vw,1.5rem)}
.nexvox-label{display:block;font-family:var(--font-b);font-size:0.68rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.nexvox-divider{width:48px;height:2px;background:var(--gold);margin:14px 0}
.nexvox-divider.center{margin-left:auto;margin-right:auto}

.nexvox-container{max-width:var(--container);margin:0 auto;padding:0 40px}
@media(max-width:768px){.nexvox-container{padding:0 20px}}

.nexvox-section{padding:88px 0}
.nexvox-section--dark{background:var(--dark)}
.nexvox-section--dark h2,.nexvox-section--dark h3{color:var(--white)}
.nexvox-section--off{background:var(--off-white)}
.nexvox-section--black{background:var(--black)}
.nexvox-section--black h2,.nexvox-section--black h3{color:var(--white)}

/* BUTTONS */
.nexvox-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-b);font-size:0.78rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:14px 32px;border:2px solid var(--gold);cursor:pointer;position:relative;overflow:hidden;transition:var(--transition);white-space:nowrap;border-radius:var(--radius)}
.nexvox-btn::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(-101%);transition:transform 0.3s ease;z-index:0}
.nexvox-btn span{position:relative;z-index:1}
.nexvox-btn:hover::before{transform:translateX(0)}
.nexvox-btn--gold{background:var(--gold);color:var(--black)}
.nexvox-btn--gold::before{background:var(--black)}
.nexvox-btn--gold:hover{color:var(--gold)}
.nexvox-btn--outline{background:transparent;color:var(--gold)}
.nexvox-btn--outline:hover{color:var(--black)}
.nexvox-btn--white{background:transparent;color:var(--white);border-color:var(--white)}
.nexvox-btn--white::before{background:var(--white)}
.nexvox-btn--white:hover{color:var(--black)}

/* GRIDS */
.nexvox-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.nexvox-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px}
.nexvox-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:1024px){.nexvox-grid-3{grid-template-columns:1fr 1fr}.nexvox-grid-4{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.nexvox-grid-2,.nexvox-grid-3,.nexvox-grid-4{grid-template-columns:1fr}}

/* HEADER */
#nexvox-header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 0;transition:background 0.4s,padding 0.4s,box-shadow 0.4s}
#nexvox-header.scrolled{background:rgba(10,10,10,0.96);padding:13px 0;box-shadow:0 1px 0 rgba(201,164,92,0.2);backdrop-filter:blur(12px)}
.nexvox-nav{display:flex;align-items:center;justify-content:space-between;gap:24px}
.nexvox-nav__logo{font-family:var(--font-h);font-weight:700;font-size:1.4rem;color:var(--white)}
.nexvox-nav__logo em{font-style:normal;color:var(--gold)}
.nexvox-nav__links{display:flex;align-items:center;gap:28px}
.nexvox-nav__links a{font-family:var(--font-b);font-size:0.78rem;font-weight:500;letter-spacing:0.04em;color:rgba(255,255,255,0.72);position:relative;padding-bottom:2px}
.nexvox-nav__links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width 0.3s}
.nexvox-nav__links a:hover{color:var(--gold)}
.nexvox-nav__links a:hover::after{width:100%}
.nexvox-nav__cta{padding:9px 22px;font-size:0.7rem}
.nexvox-nav__toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:1001;position:relative}
.nexvox-nav__toggle span{display:block;width:24px;height:1.5px;background:var(--gold);transition:var(--transition)}
@media(max-width:960px){
  .nexvox-nav__links{display:none;position:fixed;inset:0;background:rgba(10,10,10,0.98);flex-direction:column;justify-content:center;align-items:center;gap:36px;z-index:999}
  .nexvox-nav__links.open{display:flex}
  .nexvox-nav__links a{font-size:1.1rem;color:var(--white)}
  .nexvox-nav__cta{display:none}
  .nexvox-nav__toggle{display:flex}
}

/* HERO */
.nexvox-hero{min-height:100vh;display:flex;align-items:center;background:var(--black);position:relative;overflow:hidden}
.nexvox-hero__bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 60% 50%,rgba(201,164,92,0.07) 0%,transparent 65%)}
.nexvox-hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,164,92,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(201,164,92,0.03) 1px,transparent 1px);background-size:72px 72px}
.nexvox-hero__content{position:relative;z-index:2;padding:140px 0 100px}
.nexvox-hero__badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(201,164,92,0.3);padding:6px 16px;font-family:var(--font-b);font-size:0.62rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
.nexvox-hero__badge::before{content:'';width:5px;height:5px;background:var(--gold);border-radius:50%;animation:ncd-pulse 2s infinite}
.nexvox-hero h1{font-size:clamp(2.6rem,5.5vw,4.8rem);font-weight:700;line-height:1.08;color:var(--white);margin-bottom:22px;max-width:820px}
.nexvox-hero h1 em{font-style:normal;color:var(--gold)}
.nexvox-hero__sub{font-size:1rem;color:rgba(255,255,255,0.48);max-width:500px;margin-bottom:40px;line-height:1.8}
.nexvox-hero__actions{display:flex;gap:14px;flex-wrap:wrap}
.nexvox-hero__scroll{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:rgba(255,255,255,0.22);font-size:0.58rem;letter-spacing:0.2em;text-transform:uppercase;font-family:var(--font-b)}
.nexvox-hero__scroll-line{width:1px;height:44px;background:linear-gradient(to bottom,var(--gold),transparent)}
@keyframes ncd-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.35;transform:scale(0.65)}}

/* STATS */
.nexvox-stats{background:var(--gold);padding:40px 0}
.nexvox-stats__inner{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.nexvox-stat{padding:14px;border-right:1px solid rgba(0,0,0,0.12)}
.nexvox-stat:last-child{border:none}
.nexvox-stat__num{font-family:var(--font-h);font-size:2.4rem;font-weight:700;color:var(--black);display:block;line-height:1;margin-bottom:4px}
.nexvox-stat__label{font-family:var(--font-b);font-size:0.65rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:rgba(0,0,0,0.5)}
@media(max-width:640px){.nexvox-stats__inner{grid-template-columns:1fr 1fr}.nexvox-stat:nth-child(2){border-right:none}.nexvox-stat:nth-child(3),.nexvox-stat:nth-child(4){border-top:1px solid rgba(0,0,0,0.1)}}

/* SERVICE CARDS */
.nexvox-service-card{background:var(--white);border:1px solid rgba(0,0,0,0.07);padding:36px 28px;position:relative;overflow:hidden;transition:var(--transition);border-radius:var(--radius)}
.nexvox-service-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--gold);transition:height 0.4s}
.nexvox-service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.nexvox-service-card:hover::before{height:100%}
.nexvox-service-card__icon{font-size:1.8rem;margin-bottom:16px;display:block}
.nexvox-service-card__title{font-family:var(--font-h);font-size:1.05rem;font-weight:700;color:var(--black);margin-bottom:8px}
.nexvox-service-card__text{font-size:0.88rem;color:var(--text);line-height:1.7}
.nexvox-service-card__link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-b);font-size:0.7rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);margin-top:18px}
.nexvox-service-card__link::after{content:'→';transition:transform 0.3s}
.nexvox-service-card:hover .nexvox-service-card__link::after{transform:translateX(4px)}

/* CLIENTS */
.nexvox-clients{background:var(--off-white);padding:48px 0;text-align:center}
.nexvox-clients__logos{display:flex;gap:36px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:24px}
.nexvox-clients__logo{padding:12px 22px;background:var(--white);border:1px solid rgba(0,0,0,0.08);border-radius:var(--radius);transition:var(--transition)}
.nexvox-clients__logo:hover{box-shadow:var(--shadow-gold);border-color:rgba(201,164,92,0.3)}
.nexvox-clients__logo img{height:38px;width:auto;object-fit:contain}

/* PORTFOLIO */
.nexvox-port-card{background:var(--dark);border:1px solid rgba(201,164,92,0.15);padding:36px;position:relative;overflow:hidden;transition:var(--transition);border-radius:var(--radius)}
.nexvox-port-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--gold)}
.nexvox-port-card:hover{border-color:rgba(201,164,92,0.4);transform:translateY(-4px);box-shadow:var(--shadow-gold)}
.nexvox-port-card__logo{height:42px;margin-bottom:22px;display:flex;align-items:center}
.nexvox-port-card__logo img{height:100%;width:auto;object-fit:contain}
.nexvox-port-card__cat{font-family:var(--font-b);font-size:0.65rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;display:block}
.nexvox-port-card h3{color:var(--white);margin-bottom:12px}
.nexvox-port-card__desc{color:var(--muted);font-size:0.88rem;line-height:1.75;margin-bottom:18px}
.nexvox-port-card__tags{display:flex;gap:8px;flex-wrap:wrap}
.nexvox-port-card__tag{padding:4px 10px;background:rgba(201,164,92,0.08);border:1px solid rgba(201,164,92,0.18);font-family:var(--font-b);font-size:0.65rem;font-weight:600;color:var(--gold);border-radius:2px}

/* TESTIMONIALS */
.nexvox-temo-card{background:var(--black);border:1px solid rgba(201,164,92,0.12);padding:32px;position:relative;border-radius:var(--radius)}
.nexvox-temo-card::before{content:'\201C';font-family:var(--font-h);font-size:48px;color:rgba(201,164,92,0.1);position:absolute;top:12px;right:20px;line-height:1}
.nexvox-temo-card__text{font-family:var(--font-h);font-style:italic;color:var(--muted);font-size:0.96rem;line-height:1.8;margin-bottom:22px}
.nexvox-temo-card__author{display:flex;align-items:center;gap:12px}
.nexvox-temo-card__avatar{width:38px;height:38px;border-radius:50%;background:var(--gold-alpha);display:flex;align-items:center;justify-content:center;font-family:var(--font-b);font-weight:700;color:var(--gold);font-size:0.78rem;flex-shrink:0}
.nexvox-temo-card__name{font-family:var(--font-b);font-weight:600;color:var(--white);font-size:0.8rem;display:block}
.nexvox-temo-card__role{color:var(--gold);font-size:0.72rem}

/* FAQ */
.nexvox-faq__item{border-bottom:1px solid rgba(0,0,0,0.07);padding:18px 0}
.nexvox-faq__q{display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:14px}
.nexvox-faq__q span{font-family:var(--font-b);font-size:0.92rem;font-weight:600;color:var(--black)}
.nexvox-faq__icon{width:28px;height:28px;min-width:28px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1.1rem;transition:var(--transition);border-radius:2px}
.nexvox-faq__item.open .nexvox-faq__icon{transform:rotate(45deg);background:var(--gold);color:var(--black)}
.nexvox-faq__answer{display:none;padding-top:12px;color:var(--text);font-size:0.9rem;line-height:1.8}
.nexvox-faq__item.open .nexvox-faq__answer{display:block}

/* CTA BAND */
.nexvox-cta-band{background:linear-gradient(135deg,var(--black) 0%,#1a0f00 50%,var(--black) 100%);text-align:center;padding:88px 0;position:relative;overflow:hidden}
.nexvox-cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 55% at 50% 50%,rgba(201,164,92,0.07) 0%,transparent 70%)}
.nexvox-cta-band h2{color:var(--white);margin-bottom:12px;position:relative}
.nexvox-cta-band>div>p{color:var(--muted);margin-bottom:36px;position:relative;max-width:480px;margin-left:auto;margin-right:auto}
.nexvox-cta-band__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative}

/* CONTACT */
.nexvox-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.nexvox-contact-card{background:var(--dark);border:1px solid rgba(201,164,92,0.18);padding:36px;border-radius:var(--radius)}
.nexvox-contact-card h3{color:var(--white);font-size:1.2rem;margin-bottom:8px}
.nexvox-contact-card p{color:var(--muted);font-size:0.88rem;margin-bottom:22px;line-height:1.7}
.nexvox-input{width:100%;padding:11px 14px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-bottom:2px solid rgba(201,164,92,0.3);color:var(--white);font-family:var(--font-b);font-size:1rem;outline:none;margin-bottom:12px;border-radius:0;-webkit-appearance:none;box-sizing:border-box;transition:border-color 0.3s}
.nexvox-input:focus{border-bottom-color:var(--gold)}
.nexvox-input::placeholder{color:rgba(163,154,138,0.5)}
.nexvox-textarea{width:100%;padding:11px 14px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-bottom:2px solid rgba(201,164,92,0.3);color:var(--white);font-family:var(--font-b);font-size:1rem;outline:none;resize:vertical;min-height:110px;border-radius:0;-webkit-appearance:none;box-sizing:border-box;transition:border-color 0.3s}
.nexvox-textarea:focus{border-bottom-color:var(--gold)}
.nexvox-textarea::placeholder{color:rgba(163,154,138,0.5)}
.nexvox-form-msg{display:none;padding:11px 14px;font-family:var(--font-b);font-size:0.8rem;font-weight:600;border-radius:var(--radius);margin-bottom:12px}
@media(max-width:820px){.nexvox-contact-grid{grid-template-columns:1fr}}

/* PAGE HERO */
.nexvox-page-hero{background:var(--black);padding:136px 0 68px;position:relative}
.nexvox-page-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.nexvox-page-hero h1{color:var(--white);margin-top:8px;max-width:680px}
.nexvox-breadcrumb{font-family:var(--font-b);font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.25);margin-bottom:14px}
.nexvox-breadcrumb a{color:var(--gold)}
.nexvox-breadcrumb span{margin:0 6px}

/* FOOTER */
#nexvox-footer{background:var(--black);border-top:1px solid rgba(201,164,92,0.14);padding:68px 0 0}
.nexvox-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px;padding-bottom:44px}
.nexvox-footer__logo{font-family:var(--font-h);font-weight:700;font-size:1.35rem;color:var(--white);margin-bottom:10px;display:block}
.nexvox-footer__logo em{font-style:normal;color:var(--gold)}
.nexvox-footer__tagline{color:var(--muted);font-size:0.84rem;line-height:1.65;margin-bottom:18px;max-width:230px}
.nexvox-footer__socials{display:flex;gap:10px}
.nexvox-footer__social{width:34px;height:34px;border:1px solid rgba(201,164,92,0.22);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:0.75rem;font-family:var(--font-b);font-weight:700;transition:var(--transition);border-radius:2px;text-decoration:none}
.nexvox-footer__social:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,164,92,0.07)}
.nexvox-footer__heading{font-family:var(--font-b);font-size:0.65rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--white);margin-bottom:16px}
.nexvox-footer__links{display:flex;flex-direction:column;gap:9px}
.nexvox-footer__links a{color:var(--muted);font-size:0.86rem;transition:color 0.3s}
.nexvox-footer__links a:hover{color:var(--gold)}
.nexvox-footer__bottom{border-top:1px solid rgba(255,255,255,0.06);padding:18px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.nexvox-footer__copy{color:rgba(255,255,255,0.16);font-size:0.75rem;font-family:var(--font-b)}
.nexvox-footer__legal a{color:rgba(255,255,255,0.16);font-size:0.75rem;margin-left:16px;font-family:var(--font-b);transition:color 0.3s}
.nexvox-footer__legal a:hover{color:var(--gold)}
@media(max-width:820px){.nexvox-footer__grid{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:480px){.nexvox-footer__grid{grid-template-columns:1fr}.nexvox-footer__bottom{flex-direction:column;text-align:center}}

/* ANIMATIONS */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity 0.6s ease,transform 0.6s ease}
[data-reveal].revealed{opacity:1;transform:none}
[data-reveal][data-delay="1"]{transition-delay:0.1s}
[data-reveal][data-delay="2"]{transition-delay:0.2s}
[data-reveal][data-delay="3"]{transition-delay:0.3s}
[data-reveal][data-delay="4"]{transition-delay:0.4s}

/* BLOG */
.nexvox-post-card{background:#fff;border:1px solid rgba(0,0,0,0.07);overflow:hidden;transition:var(--transition);border-radius:var(--radius)}
.nexvox-post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.nexvox-post-card__thumb{aspect-ratio:16/9;background:var(--off-white);position:relative;overflow:hidden}
.nexvox-post-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
.nexvox-post-card:hover .nexvox-post-card__thumb img{transform:scale(1.05)}
.nexvox-post-card__cat{position:absolute;top:12px;left:12px;background:var(--gold);color:var(--black);font-family:var(--font-b);font-size:0.6rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:3px 9px;border-radius:2px}
.nexvox-post-card__body{padding:24px}
.nexvox-post-card__date{font-size:0.7rem;color:var(--gold);font-family:var(--font-b);margin-bottom:8px;display:block}
.nexvox-post-card__title{font-family:var(--font-h);font-size:0.98rem;font-weight:700;color:var(--black);margin-bottom:8px;line-height:1.4;transition:color 0.3s}
.nexvox-post-card:hover .nexvox-post-card__title{color:var(--gold)}
.nexvox-post-card__excerpt{font-size:0.86rem;color:var(--text);line-height:1.7}

/* WP CORE */
.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute;width:1px}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid rgba(0,0,0,0.1);font-family:var(--font-b);font-size:0.8rem;font-weight:600;color:var(--text);margin:0 2px;border-radius:2px}
.page-numbers.current,.page-numbers:hover{background:var(--gold);border-color:var(--gold);color:var(--black)}

/* MOBILE */
@media(max-width:768px){
  .nexvox-section{padding:56px 0}
  .nexvox-hero__content{padding:110px 0 76px}
  .nexvox-hero h1{font-size:clamp(1.9rem,7vw,3rem)}
  .nexvox-hero__actions{flex-direction:column}
  .nexvox-btn{width:100%;justify-content:center}
  .nexvox-cta-band{padding:56px 0}
  .nexvox-cta-band__actions{flex-direction:column;align-items:center}
  .nexvox-page-hero{padding:110px 0 48px}
  #nexvox-footer{padding:48px 0 0}
}
