/*
Theme Name: Agent du WEB
Theme URI: https://agentduweb.com
Author: Agent du WEB
Description: Theme maison Agent du WEB, construit sur un moteur de rendu de modules Pluggio. Header et footer uniques, contenu de page assemble a partir de modules JSON.
Version: 0.1.0
Text Domain: agentduweb
*/

:root{
  --color-ink:#0B1F33;
  --color-blue:#2F80ED;
  --color-coral:#FF6B5F;
  --color-surface:#F5F8FB;
  --color-line:#DCE4EC;
  --color-white:#FFFFFF;
  --font-display:"Plus Jakarta Sans","Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --container-max:1180px;
  --text-max:720px;
  --gap:24px;
  --radius-field:4px;
  --radius-card:10px;
  --radius-visual:18px;
  --radius-pill:999px;
  --motion:200ms;
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-ink);
  background:var(--color-white);
  line-height:1.55;
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  margin:0 0 16px;
  line-height:1.2;
}
h2{font-size:clamp(28px,3.4vw,44px);letter-spacing:-.02em;}
h3{font-size:clamp(20px,1.8vw,25px);}
a{color:var(--color-blue);}
.o-container{max-width:var(--container-max);margin:0 auto;padding-inline:24px;}
@media (min-width:900px){.o-container{padding-inline:40px;}}

.pluggio-module{padding-block:64px;}
.pluggio-module--surface{background:var(--color-surface);}

.c-button{
  display:inline-block;
  padding:12px 24px;
  border-radius:var(--radius-pill);
  background:var(--color-coral);
  color:var(--color-white);
  text-decoration:none;
  font-weight:600;
  transition:transform var(--motion), box-shadow var(--motion);
}
.c-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,107,95,.35);}
.c-button--coral{background:var(--color-coral);}
.c-button--blue{background:var(--color-blue);}
.c-button--blue:hover{box-shadow:0 10px 24px rgba(47,128,237,.35);}

/* Header / Footer */
.adw-header{border-bottom:1px solid var(--color-line);}
.adw-header__bar{display:flex;align-items:center;justify-content:space-between;padding-block:16px;}
.adw-header__logo img{height:36px;display:block;}
.adw-header__nav ul{list-style:none;display:flex;gap:24px;margin:0;padding:0;}
.adw-header__nav a{color:var(--color-ink);text-decoration:none;font-weight:500;}

.adw-footer{background:var(--color-ink);color:var(--color-white);padding-block:48px;}
.adw-footer a{color:var(--color-white);}
.adw-footer__grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.adw-footer__legal{margin-top:32px;font-size:13px;opacity:.7;}

/* Hero centered */
.c-hero--centered{text-align:center;}
.c-hero--centered h1{font-size:clamp(42px,6.5vw,80px);max-width:min(28ch,900px);margin-inline:auto;}
.c-hero--centered p{font-size:clamp(16px,1.3vw,19px);max-width:var(--text-max);margin:16px auto 24px;color:#4A5F75;}
.c-hero--centered .c-button{padding:17px 34px;font-size:17px;}

/* Feature grid */
.c-feature-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.c-feature-grid li{background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-card);padding:24px;}
.c-feature-grid li h3{font-size:18px;}

/* CTA band */
.c-cta-band{background:var(--color-ink);color:var(--color-white);text-align:center;border-radius:0;padding-block:110px;}
.c-cta-band h2{color:var(--color-white);font-size:clamp(32px,4vw,48px);}
.c-cta-band .c-button{margin-top:16px;padding:18px 40px;font-size:18px;}

/* === Tokens additionnels (bibliotheque de modules) === */
:root{
  --color-cream:#FFF8F2;
  --color-mist:#F4F7FB;
  --color-blue-2:#79B6FF;
  --shadow:0 24px 80px rgba(11,31,51,.14);
}

/* Variantes de fond de module */
.pluggio-module--dark{color:var(--color-white);background:var(--color-ink);}
.pluggio-module--dark p{color:#D5E3F0;}
.pluggio-module--blue{color:var(--color-white);background:linear-gradient(120deg,var(--color-ink) 0%,#1558A4 54%,var(--color-blue) 100%);}
.pluggio-module--blue p{color:#D5E3F0;}
.pluggio-module--cream{background:var(--color-cream);}
.pluggio-module--mist{background:var(--color-mist);}
.pluggio-module--coral{background:var(--color-coral);color:var(--color-white);}

/* Composants partages de la bibliotheque de modules */
h3{font-size:22px;line-height:1.08;}
.c-kicker{display:inline-block;color:var(--color-coral);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;}
.c-grid{display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr));}
.c-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.c-card{position:relative;padding:30px;border:1px solid var(--color-line);border-radius:var(--radius-visual);background:var(--color-white);box-shadow:0 10px 35px rgba(11,31,51,.05);transition:transform var(--motion), box-shadow var(--motion);}
.c-card:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(11,31,51,.13);}
.c-card--dark{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:var(--color-white);}
.c-card--dark p{color:#C5D7E9;}
.c-card--featured{grid-column:span 2;min-height:290px;background:linear-gradient(135deg,#EFF6FF,#D9EBFF);}
.c-card--coral{background:linear-gradient(135deg,var(--color-coral),#FF9A76);color:var(--color-white);border:0;}
.c-card--coral p{color:#FFF4F1;}
.c-card--blue{background:linear-gradient(135deg,#EFF6FF,#D9EBFF);border-color:transparent;}
.c-card--mist{background:var(--color-mist);border-color:transparent;}
.c-card--cream{background:var(--color-cream);border-color:transparent;}
.c-number{font-size:64px;font-weight:900;letter-spacing:-.06em;}
.c-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:16px;background:var(--color-ink);color:var(--color-white);font-weight:900;font-size:18px;margin-bottom:18px;}
.c-pill{display:inline-flex;padding:8px 12px;border-radius:var(--radius-pill);background:var(--color-mist);font-size:13px;font-weight:700;}
.c-pill--blue{background:#DCEEFF;color:#145BA6;}
.c-pill--coral{background:#FFE1DD;color:#AE3C33;}
.c-visual{position:relative;min-height:340px;border-radius:28px;background:linear-gradient(145deg,var(--color-ink),var(--color-blue));box-shadow:var(--shadow);overflow:hidden;}
.c-visual--photo{background:#E9EDF2;}
.c-visual--photo:before,.c-visual--photo:after{display:none;}
.c-visual--photo img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover;}
.c-card--photo{padding:0;overflow:hidden;}
.c-card--photo img{display:block;width:100%;height:100%;min-height:270px;object-fit:cover;}
.c-visual:before,.c-visual:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);}
.c-visual:before{width:330px;height:330px;right:-100px;top:-120px;background:rgba(255,107,95,.72);}
.c-visual:after{width:300px;height:300px;left:-120px;bottom:-160px;background:rgba(121,182,255,.6);}
.c-window{position:absolute;inset:54px 44px;background:rgba(255,255,255,.94);border-radius:15px;padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.22);z-index:1;}
.c-window__bar{display:flex;gap:6px;margin-bottom:20px;}
.c-window__bar i{width:9px;height:9px;border-radius:50%;background:var(--color-coral);}
.c-window__bar i:nth-child(2){background:#F3C969;}
.c-window__bar i:nth-child(3){background:#5DC98D;}
.c-window__line{height:12px;margin:12px 0;border-radius:var(--radius-pill);background:var(--color-line);}
.c-window__line--short{width:58%;}
.c-window__line--blue{background:#93C6FF;}
.c-orb{position:absolute;width:220px;height:220px;border-radius:50%;background:linear-gradient(135deg,var(--color-blue),var(--color-coral));opacity:.35;}
.c-stat-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;}
.c-stat{padding:18px 20px;border-left:3px solid var(--color-coral);background:rgba(255,255,255,.08);}
.c-stat strong{display:block;font-size:34px;line-height:1;}
.c-marquee{display:flex;gap:54px;flex-wrap:wrap;align-items:center;opacity:.72;}
.c-marquee span{font-size:22px;font-weight:900;letter-spacing:-.03em;}
.c-list{display:grid;gap:14px;padding:0;list-style:none;}
.c-list li{display:flex;gap:14px;align-items:flex-start;}
.c-list li:before{content:"\2197";color:var(--color-coral);font-weight:900;}
.c-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0;}
.c-tabs button{border:1px solid var(--color-line);border-radius:var(--radius-pill);padding:11px 15px;background:var(--color-white);font-weight:800;cursor:pointer;}
.c-tabs button.is-active{background:var(--color-ink);color:var(--color-white);}
.c-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:stretch;}
.c-panel__main{padding:36px;border-radius:var(--radius-visual);background:var(--color-mist);}
.c-chart{display:flex;align-items:end;gap:12px;height:180px;padding:20px;background:var(--color-ink);border-radius:var(--radius-visual);}
.c-chart i{flex:1;border-radius:8px 8px 2px 2px;background:linear-gradient(var(--color-blue-2),var(--color-blue));}
.c-chart i:nth-child(2){height:60%;}
.c-chart i:nth-child(3){height:78%;}
.c-chart i:nth-child(4){height:48%;}
.c-chart i:nth-child(5){height:92%;}
.c-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:32px;}
.c-footer-grid ul{padding:0;list-style:none;color:#B9CBDE;}
.c-footer-grid li{margin:9px 0;}
table{width:100%;border-collapse:collapse;background:var(--color-white);border-radius:16px;overflow:hidden;box-shadow:0 10px 35px rgba(11,31,51,.06);}
th,td{padding:18px;text-align:left;border-bottom:1px solid var(--color-line);}
th{background:var(--color-ink);color:var(--color-white);}
tr:last-child td{border-bottom:0;}
details{padding:22px 0;border-bottom:1px solid var(--color-line);}
summary{cursor:pointer;font-size:20px;font-weight:800;}
form{display:grid;gap:12px;}
input,textarea,select{width:100%;padding:15px 16px;border:1px solid var(--color-line);border-radius:10px;font:inherit;background:var(--color-white);}
.c-form-card{padding:34px;border-radius:var(--radius-visual);background:var(--color-white);box-shadow:var(--shadow);}

/* Composants specifiques a certains modules */
.c-announcement-bar{padding-block:13px;}
.c-announcement-bar .o-container{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;}
.c-quote-highlight__mark{font-size:72px;color:var(--color-coral);display:block;}
.c-quote-highlight blockquote{font-size:clamp(30px,4vw,54px);line-height:1.08;max-width:900px;margin:auto;}
.c-testimonial blockquote{font-size:clamp(30px,4vw,58px);line-height:1.06;max-width:920px;margin:24px 0;}
.c-testimonial figcaption{color:#BBD0E3;}

@media(max-width:820px){.c-grid,.c-grid--2,.c-panel,.c-footer-grid{grid-template-columns:1fr;}.c-card--featured{grid-column:auto;}}

/* Composants partages - batch 2 */
.c-button--outline{border-color:var(--color-ink);background:transparent;color:var(--color-ink);}
.c-button--light{background:var(--color-white);color:var(--color-ink);}
.c-icon--blue{background:var(--color-blue);}
.c-icon--coral{background:var(--color-coral);}
.c-icon--muted{background:#52708C;}
.c-icon--on-coral{background:var(--color-white);color:var(--color-coral);}
.c-pill--on-coral{background:var(--color-white);color:var(--color-coral);}
.c-icon--round{border-radius:50%;}


/* Hero plein ecran (etape 5 - 18/09/2026) : accueil + pages services */
@media (min-width:900px){
  [data-module^="hero-"]{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}
[data-module^="hero-"].has-bg-image{
  position:relative;
  background-size:cover;
  background-position:center;
  color:var(--color-white);
}
[data-module^="hero-"].has-bg-image::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(11,31,51,.55), rgba(11,31,51,.7));
  z-index:0;
}
[data-module^="hero-"].has-bg-image > *{position:relative;z-index:1;}
[data-module^="hero-"].has-bg-image h1,
[data-module^="hero-"].has-bg-image p,
[data-module^="hero-"].has-bg-image .c-kicker{color:var(--color-white);}


/* Ameliorations visuelles (18/09/2026) - retour utilisateur sur home/services */
[data-module="metrics-strip"] .c-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:40px;}
[data-module="process-steps"] .c-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.c-card .c-button{margin-top:14px;}


/* Retour utilisateur round 2 (18/09/2026) */
.c-cta-band p{max-width:620px;margin:14px auto 6px;color:#D5E3F0;font-size:17px;}

/* Section image-text : quand une vraie photo est utilisee, taille fixe demandee
   (750x1200 sur PC) au lieu du mockup generique 340px de haut. */
@media (min-width:900px){
  [data-module="image-text"] .o-container.c-panel{grid-template-columns:750px 1fr;align-items:center;gap:56px;}
  [data-module="image-text"] .c-visual--photo{width:750px;height:1200px;min-height:0;}
  [data-module="image-text"] .c-visual--photo img{width:100%;height:100%;object-fit:cover;min-height:0;}
}
[data-module="image-text"] .c-visual--photo{border-radius:var(--radius-visual);overflow:hidden;}
