/*
Theme Name: Ouattara Tidiane
Theme URI: https://ouattaratidiane.com
Author: Toliwork Tech
Description: Thème officiel du blog Ouattara Tidiane, compatible Elementor.
Version: 2.7.0
Text Domain: ouattara-tidiane
*/

:root{--ot-ink:#111311;--ot-cream:#f4f0e8;--ot-paper:#fbfaf7;--ot-gold:#a77d42;--ot-muted:#5e625b;--ot-line:rgba(17,19,17,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px;overflow-x:hidden}body{margin:0;background:var(--ot-paper);color:var(--ot-ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}
.ot-header{height:96px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:flex-end;border-bottom:1px solid var(--ot-line);background:rgba(251,250,247,.95);position:sticky;top:0;z-index:100;backdrop-filter:blur(14px)}
.ot-nav ul{list-style:none;display:flex;gap:38px;margin:0;padding:0;font-size:12px;text-transform:uppercase;letter-spacing:.14em}.ot-nav a:hover{color:var(--ot-gold)}
.ot-menu-button{display:none;border:0;background:none;font-size:27px;cursor:pointer;color:var(--ot-ink);line-height:1;padding:10px;position:relative;z-index:102}
.ot-wrap{width:min(1180px,calc(100% - 48px));margin:auto}
.ot-hero{min-height:calc(100vh - 96px);padding:clamp(60px,8vw,110px) 0;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(44px,7vw,110px);align-items:center}
.ot-eyebrow,.ot-kicker{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ot-gold);margin:0 0 22px}
.ot-title,.ot-section-title,.ot-card-title,.ot-single-title{font-family:Georgia,"Times New Roman",serif;font-weight:400}.ot-title{font-size:clamp(68px,9vw,136px);line-height:.8;letter-spacing:-.06em;margin:0}.ot-title em{color:var(--ot-gold);font-weight:400}.ot-hero-text{max-width:580px;font-size:clamp(17px,1.55vw,22px);line-height:1.7;color:#525650;margin:42px 0 36px}
.ot-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.ot-button{display:inline-flex;padding:17px 25px;background:var(--ot-ink);color:#fff;text-transform:uppercase;letter-spacing:.11em;font-size:11px}.ot-text-link{font-size:13px;font-weight:700;border-bottom:1px solid var(--ot-line);padding-bottom:6px}
.ot-portrait-frame{padding:14px;border:1px solid var(--ot-line);transform:rotate(1.5deg);background:#fff}.ot-portrait-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:53% center;display:block}.ot-domain{text-align:right;text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:#6e716d}
.ot-about{background:var(--ot-cream);padding:clamp(80px,11vw,160px) 0}.ot-two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.ot-section-title{font-size:clamp(48px,6vw,88px);line-height:.95;letter-spacing:-.045em;margin:0}.ot-copy{padding-top:34px}.ot-copy p{font-size:16px;line-height:1.8;color:var(--ot-muted)}.ot-copy .ot-lead{color:var(--ot-ink);font:30px/1.45 Georgia,serif;margin-top:0}
.ot-publications{background:var(--ot-ink);color:#fff;padding:clamp(80px,10vw,145px) 0}.ot-section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:65px}.ot-section-head>p{color:#a8aaa5;line-height:1.8;max-width:440px}.ot-article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ot-card{border-top:1px solid rgba(255,255,255,.25);padding-top:18px}.ot-card-image{width:100%;aspect-ratio:1.15;object-fit:cover;display:block}.ot-card-body{padding:26px 4px}.ot-meta{color:#d2aa6f;text-transform:uppercase;font-size:10px;letter-spacing:.13em}.ot-card-title{font-size:28px;line-height:1.2;margin:16px 0}.ot-card p{color:#acafa9;font-size:14px;line-height:1.7}.ot-read{display:inline-block;margin-top:15px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.ot-quote{padding:clamp(90px,13vw,180px) 0;text-align:center}.ot-quote blockquote{font:clamp(36px,5vw,68px)/1.15 Georgia,serif;letter-spacing:-.035em;max-width:1000px;margin:0 auto 30px}.ot-quote p{color:#7a7d77;text-transform:uppercase;letter-spacing:.17em;font-size:10px}
.ot-contact{background:var(--ot-cream);padding:clamp(80px,10vw,135px) 0}.ot-contact-card{border-top:1px solid var(--ot-ink);padding-top:24px}.ot-phone{display:inline-block;font:42px/1.2 Georgia,serif;margin:18px 0}.ot-email{display:block;font-size:clamp(15px,1.7vw,20px);margin:8px 0;text-decoration:underline;text-decoration-color:#b8b9b3;text-underline-offset:5px}
.ot-page{padding:90px 0;min-height:55vh}.ot-page h1{font:clamp(48px,7vw,88px)/1 Georgia,serif}.ot-content{font:18px/1.85 Georgia,serif;color:#444;max-width:800px}.ot-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.ot-blog-card{border:1px solid var(--ot-line);background:#fff}.ot-blog-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.ot-blog-card-body{padding:24px}.ot-blog-card h2{font:28px/1.15 Georgia,serif;margin:12px 0}
.ot-single{padding:70px 0 110px}.ot-single-hero{width:100%;max-height:650px;object-fit:cover}.ot-single-inner{max-width:850px;margin:55px auto 0}.ot-single-title{font-size:clamp(40px,6vw,72px);line-height:1.04;letter-spacing:-.04em;margin:18px 0 35px}.ot-single-content{font:19px/1.85 Georgia,serif;color:#4d514b}.ot-single-content img{margin:25px 0}.ot-footer{padding:60px clamp(24px,7vw,112px) 30px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.ot-footer-links{display:flex;flex-direction:column;gap:12px;font-size:13px}.ot-footer-contact a,.ot-footer-contact p{display:block;color:#777;font-size:12px;margin:5px 0}.ot-copyright{grid-column:1/-1;border-top:1px solid var(--ot-line);padding-top:24px;font-size:11px;color:#777}
.elementor-editor-active .ot-header{position:relative}

/* Fidélité à la maquette originale : neutralise les styles globaux Elementor. */
body{background:var(--ot-paper)!important;color:var(--ot-ink)!important}
.ot-wrap{width:min(100%,1440px)!important;max-width:1440px!important;margin-left:auto!important;margin-right:auto!important}
.elementor .ot-hero{
  min-height:calc(100vh - 96px);
  padding:clamp(64px,8vw,120px) clamp(24px,7vw,112px)!important;
  display:grid!important;
  grid-template-columns:1.05fr .95fr!important;
  gap:clamp(44px,7vw,120px)!important;
  align-items:center!important;
  position:relative;
  overflow:hidden;
  width:100%!important;
  max-width:1440px!important;
  margin-inline:auto!important;
}
.elementor .ot-hero>.e-con,
.elementor .ot-two-col>.e-con,
.elementor .ot-section-head>.e-con{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  flex:none!important;
}
.ot-hero:after{
  content:"OT";
  position:absolute;
  right:-5vw;
  bottom:-12vw;
  font:400 35vw/.7 Georgia,"Times New Roman",serif;
  color:rgba(167,125,66,.06);
  pointer-events:none;
}
.ot-hero>.e-con{position:relative;z-index:2}
.ot-eyebrow .elementor-heading-title,.ot-kicker .elementor-heading-title{
  color:var(--ot-gold)!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
}
.ot-title .elementor-heading-title{
  color:var(--ot-ink)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(68px,9vw,142px)!important;
  line-height:.78!important;
  letter-spacing:-.06em!important;
  font-weight:400!important;
}
.ot-title i,.ot-title em,.ot-title .elementor-heading-title i{color:var(--ot-gold)!important;font-weight:400}
.ot-portrait-frame{padding:14px!important;border:1px solid var(--ot-line)!important}
.ot-portrait-frame img{
  width:100%!important;
  aspect-ratio:4/5;
  object-fit:cover!important;
  object-position:53% center!important;
  filter:saturate(.8) contrast(.98);
}
.ot-about{padding:clamp(80px,11vw,170px) clamp(24px,8vw,130px)!important;background:var(--ot-cream)!important}
.elementor .ot-two-col{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:clamp(48px,8vw,120px)!important;width:min(100%,1440px)!important;max-width:1440px!important;margin-inline:auto!important}
.ot-section-title .elementor-heading-title{
  color:var(--ot-ink)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(48px,6vw,90px)!important;
  line-height:.95!important;
  font-weight:400!important;
  letter-spacing:-.045em!important;
}
.ot-copy p{color:var(--ot-muted)!important}.ot-copy .ot-lead{color:var(--ot-ink)!important}
.ot-publications{padding:clamp(80px,10vw,150px) clamp(24px,7vw,112px)!important;background:var(--ot-ink)!important;color:#fff!important}
.elementor .ot-section-head{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important;gap:50px!important;align-items:end!important;margin-bottom:70px;width:100%!important}
.ot-publications .ot-section-title .elementor-heading-title{color:#fff!important}
.ot-section-head p{color:#a8aaa5!important}
.ot-article-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;width:100%!important}
.ot-card-image{width:100%!important;aspect-ratio:1.15;object-fit:cover!important}
.ot-publications .ot-meta,.ot-publications .ot-meta a{color:#d2aa6f!important}
.ot-publications .ot-card-title,.ot-publications .ot-card-title a{color:#fff!important}
.ot-publications .ot-card p{color:#acafa9!important}
.ot-publications .ot-read{color:#ddd!important}
.ot-quote{padding:clamp(90px,13vw,190px) 10vw!important;background:var(--ot-paper)!important}
.ot-quote blockquote{color:var(--ot-ink)!important;font-size:clamp(36px,5vw,72px)}.ot-quote p{color:#7a7d77!important}
.ot-contact{padding:clamp(80px,10vw,140px) clamp(24px,8vw,130px)!important;background:var(--ot-cream)!important}
.ot-phone,.ot-email{color:var(--ot-ink)!important}
@media(max-width:900px){.ot-header{height:78px;position:sticky;top:0;justify-content:flex-end}.ot-menu-button{display:block}.ot-nav{display:none;position:absolute;left:0;right:0;top:77px;background:var(--ot-paper);padding:20px 24px 26px;border-bottom:1px solid var(--ot-line);box-shadow:0 14px 30px rgba(17,19,17,.10);z-index:101}.ot-nav.open{display:block}.ot-nav ul{flex-direction:column;gap:0}.ot-nav li{display:block;border-bottom:1px solid var(--ot-line)}.ot-nav li:last-child{border-bottom:0}.ot-nav a{display:block;padding:16px 4px;font-size:13px}.ot-hero,.ot-two-col,.ot-section-head{grid-template-columns:1fr}.ot-article-grid,.ot-blog-grid{grid-template-columns:1fr}.ot-footer{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.ot-title{font-size:66px}.ot-footer{grid-template-columns:1fr}.ot-single-content{font-size:17px}.ot-phone{font-size:34px}}
@media(max-width:900px){
  .elementor .ot-hero,.elementor .ot-two-col,.elementor .ot-section-head{grid-template-columns:1fr!important}
  .ot-portrait-frame img{aspect-ratio:4/3;object-position:center 48%!important}
  .ot-article-grid{grid-template-columns:1fr!important}
  .ot-card,.ot-card>a{display:block!important}
}

/* Les cartes restent fidèles à la maquette : image en haut, texte en dessous. */
.ot-card,.ot-card>a,.ot-card-body{display:block!important;width:100%!important;min-width:0!important}
.ot-card-image{display:block!important;width:100%!important}
.ot-card-title,.ot-card p,.ot-meta{overflow-wrap:anywhere}
@media(max-width:580px){
  .ot-title .elementor-heading-title{font-size:67px!important}
  .ot-card{display:block}
}

/* v2 — accueil natif fidèle à la maquette de référence.
   Cette structure ne dépend plus des anciennes données Elementor enregistrées. */
.ot-home{width:100%;overflow:hidden}
.ot-home .ot-hero{
  width:100%;max-width:none;margin:0;
  min-height:calc(100vh - 96px);
  padding:clamp(64px,8vw,120px) clamp(24px,7vw,112px);
  display:grid;grid-template-columns:1.05fr .95fr;align-items:center;
  gap:clamp(44px,7vw,120px);position:relative;overflow:hidden
}
.ot-home .ot-hero-intro,.ot-home .ot-hero-details,.ot-home .ot-hero-image{position:relative;z-index:2;min-width:0}
.ot-home .ot-hero-intro{grid-column:1;align-self:end}
.ot-home .ot-hero-details{grid-column:1;align-self:start}
.ot-home .ot-hero-image{grid-column:2;grid-row:1 / span 2}
.ot-home .ot-hero-mark{position:absolute;right:-5vw;bottom:-12vw;font:400 35vw/.7 Georgia,"Times New Roman",serif;color:rgba(167,125,66,.06)}
.ot-home .ot-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(68px,9vw,142px);line-height:.78;letter-spacing:-.06em;font-weight:400;margin:0;color:#111311;text-transform:none}
.ot-home .ot-title em{font-family:inherit;color:#a77d42;font-weight:400}
.ot-home .ot-eyebrow,.ot-home .ot-kicker{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#a77d42;margin:0 0 22px}
.ot-home .ot-hero-text{max-width:580px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(17px,1.55vw,22px);font-weight:400;line-height:1.7;color:#525650;margin:42px 0 36px}
.ot-home .ot-portrait-frame{padding:14px;border:1px solid rgba(17,19,17,.14);transform:rotate(1.5deg);background:#fff}
.ot-home .ot-portrait-frame img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:53% center;filter:saturate(.8) contrast(.98)}
.ot-home .ot-domain{font-family:Arial,Helvetica,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.2em;text-align:right;margin:16px 0 0;color:#6e716d}
.ot-home .ot-about{width:100%;padding:clamp(80px,11vw,170px) clamp(24px,8vw,130px);background:#f4f0e8}
.ot-home .ot-two-col{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10vw}
.ot-home .ot-section-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6vw,90px);line-height:.95;font-weight:400;letter-spacing:-.045em;margin:0;color:#111311;text-transform:none}
.ot-home .ot-copy{padding-top:34px;max-width:650px}
.ot-home .ot-copy p{font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:400;line-height:1.8;color:#5e625b}
.ot-home .ot-copy .ot-lead{font-family:Georgia,"Times New Roman",serif;font-size:30px;line-height:1.45;color:#111311;margin-top:0}
.ot-home .ot-publications{width:100%;padding:clamp(80px,10vw,150px) clamp(24px,7vw,112px);background:#111311;color:#fff}
.ot-home .ot-section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:50px;margin-bottom:70px}
.ot-home .ot-publications .ot-section-title{color:#fff}
.ot-home .ot-section-head>p{font-family:Arial,Helvetica,sans-serif;color:#a8aaa5;font-size:16px;line-height:1.8;max-width:440px;margin:0 0 8px}
.ot-home .ot-article-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px;width:100%}
.ot-home .ot-card{display:block!important;width:100%;min-width:0;border-top:1px solid rgba(255,255,255,.25);padding-top:18px}
.ot-home .ot-card>a{display:block!important;width:100%;color:inherit}
.ot-home .ot-card-image{display:block;width:100%;height:auto;aspect-ratio:1.15;object-fit:cover}
.ot-home .ot-card-body{display:block;padding:26px 4px}
.ot-home .ot-meta,.ot-home .ot-meta a{font-family:Arial,Helvetica,sans-serif;color:#d2aa6f!important;text-transform:uppercase;font-size:10px;letter-spacing:.13em}
.ot-home .ot-card-title{font-family:Georgia,"Times New Roman",serif;color:#fff!important;font-size:28px;line-height:1.2;font-weight:400;margin:18px 0;text-transform:none}
.ot-home .ot-card p{font-family:Arial,Helvetica,sans-serif;color:#acafa9!important;font-size:14px;line-height:1.7;margin:0}
.ot-home .ot-read{font-family:Arial,Helvetica,sans-serif;display:inline-block;margin-top:18px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#ddd}
.ot-home .ot-quote{width:100%;padding:clamp(90px,13vw,190px) 10vw;text-align:center;background:#fbfaf7}
.ot-home .ot-quote-mark{display:block;color:#a77d42;font:100px/1 Georgia,"Times New Roman",serif;height:72px}
.ot-home .ot-quote blockquote{max-width:1000px;margin:0 auto 34px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,5vw,72px);line-height:1.15;font-weight:400;letter-spacing:-.035em;color:#111311}
.ot-home .ot-quote p{font-family:Arial,Helvetica,sans-serif;color:#7a7d77;text-transform:uppercase;letter-spacing:.17em;font-size:10px}
.ot-home .ot-contact{width:100%;padding:clamp(80px,10vw,140px) clamp(24px,8vw,130px);background:#f4f0e8}
.ot-home .ot-contact-card{border-top:1px solid #111311;padding-top:24px}
.ot-home .ot-contact-card>p{font-family:Arial,Helvetica,sans-serif;color:#686c65;line-height:1.7}
.ot-home .ot-phone{display:inline-block;font-family:Georgia,"Times New Roman",serif;font-size:42px;line-height:1.2;margin:18px 0;color:#111311}
.ot-home .ot-emails{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:20px}
.ot-home .ot-email{font-family:Arial,Helvetica,sans-serif;color:#111311;font-size:clamp(15px,1.7vw,20px);text-decoration:none;border-bottom:1px solid #b8b9b3;padding-bottom:3px;margin:0}
@media(max-width:900px){
  .ot-home .ot-hero{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:32px!important;
    min-height:0!important;
    padding:48px 24px 64px!important
  }
  .ot-home .ot-hero-intro{
    order:1!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    align-self:stretch!important
  }
  .ot-home .ot-hero-image{
    order:2!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:590px;
    margin:0 auto!important
  }
  .ot-home .ot-hero-details{
    order:3!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    align-self:stretch!important
  }
  .ot-home .ot-portrait-frame img{aspect-ratio:4/3;object-position:center 48%}
  .ot-home .ot-two-col,.ot-home .ot-section-head{grid-template-columns:1fr}
  .ot-home .ot-article-grid{grid-template-columns:1fr!important}
}
@media(max-width:580px){
  .ot-home .ot-hero{gap:26px!important;padding:38px 20px 52px!important}
  .ot-home .ot-title{font-size:clamp(52px,18vw,67px);line-height:.84;letter-spacing:-.055em}
  .ot-home .ot-eyebrow{font-size:10px;margin-bottom:16px}
  .ot-home .ot-portrait-frame{padding:8px;transform:none}
  .ot-home .ot-portrait-frame img{aspect-ratio:4/5;object-position:53% center}
  .ot-home .ot-domain{text-align:center;font-size:9px;overflow-wrap:anywhere}
  .ot-home .ot-hero-text{font-size:17px;line-height:1.65;margin:0 0 26px}
  .ot-home .ot-actions{align-items:flex-start;flex-direction:column}
  .ot-home .ot-copy .ot-lead{font-size:24px}
  .ot-home .ot-phone{font-size:34px}
  .ot-home .ot-email{max-width:100%;overflow-wrap:anywhere}
}
