/*
Theme Name:   Blankslate Oratoria
Template:     blankslate
Author:       Ton Nom Ici
Version:      1.1.4
Description:  Mon thème personnalisé Oratoria basé sur Blankslate.
Text Domain:  blankslate-oratoria
*/

/* Version incrémentée – correctif CTA + correctif sections imbriquées + ajustement footer */

/* === :ROOT VARIABLES === */
:root{
    --primary-color:#0d6efd;
    --primary-darker:#0b5ed7;
    --primary-lighter:#3d8bfd;
    --secondary-color:#0a4a8f;
    --dark-color:#1A202C;
    --medium-gray-color:#4A5568;
    --light-gray-color:#A0AEC0;
    --background-light:#F7FAFC;
    --background-white:#FFFFFF;
    --border-color:#E2E8F0;
    --border-color-light:#e9ecef;

    --font-family-headings:'Lato',sans-serif;
    --font-family-body:'Lato',sans-serif;
    --base-font-size:11.5pt;
    --line-height-body:1.8;
    --line-height-heading:1.35;

    --container-width:1180px;
    --container-padding:25px;
    --border-radius:6px;
    --transition-speed:.25s;
    --transition-speed-fast:.15s;
    --shadow-soft:0 4px 15px -5px rgba(0,0,0,.08);
    --shadow-medium:0 8px 25px -8px rgba(0,0,0,.1);
    --shadow-subtle-glow:0 0 25px -5px rgba(13,110,253,.15);
}

/* === RESETS & BODY === */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    font-family:var(--font-family-body);
    line-height:var(--line-height-body);
    color:var(--dark-color);
    background:var(--background-light);
    font-size:var(--base-font-size);
    display:flex;
    flex-direction:column;
    min-height:100vh;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 var(--container-padding);position:relative;}

/* === TYPOGRAPHIE GLOBALE === */
h1,h2,h3,h4{
    font-family:var(--font-family-headings);
    font-weight:700;
    color:var(--secondary-color);
    margin-bottom:1.5rem;
    line-height:var(--line-height-heading);
}
h1{font-size:3.2em;font-weight:900;letter-spacing:-1.5px;}
.entry-title{
    font-size:2.8em;
    font-weight:900;
    color:var(--oratoria-blue,var(--primary-color));
    text-align:center;
    margin:1.5rem 0 2.5rem;
    padding-bottom:.8rem;
    border-bottom:2px solid var(--oratoria-blue,var(--primary-color));
    display:inline-block;
}
.page-header-container{text-align:center;margin-bottom:2rem;}

h2.section-title{
    font-size:2.2em;
    color:var(--oratoria-blue,var(--primary-color));
    text-align:center;
    margin-bottom:2.5rem;
    padding-bottom:.6rem;
    border-bottom:1px solid var(--border-color);
}
h3.subsection-title{
    font-size:1.6em;
    color:var(--oratoria-blue-secondary,var(--secondary-color));
    border-left:4px solid var(--oratoria-blue-secondary,var(--secondary-color));
    padding-left:.8em;
    margin:2rem 0 1.2rem;
}
p{font-weight:400;margin-bottom:1.5rem;color:var(--medium-gray-color);}
a{color:var(--oratoria-blue,var(--primary-color));text-decoration:none;}
a:hover{color:var(--oratoria-blue-darker,var(--primary-darker));text-decoration:underline;}
strong,.emphasis{font-weight:700;color:var(--oratoria-blue,var(--primary-color));}
hr{border:0;height:1px;background:var(--border-color-light);margin:2.5rem 0;}

/* === WORDPRESS CORE === */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;}
.alignnone{margin:5px 20px 20px 0;}
.aligncenter,div.aligncenter{display:block;margin:5px auto;}
.alignright{float:right;margin:5px 0 20px 20px;}
.alignleft{float:left;margin:5px 20px 20px 0;}

/* === HEADER === */
.site-header{
    background:var(--background-white);
    padding:1.5rem 0;
    box-shadow:0 2px 8px rgba(0,0,0,.05);
    position:sticky;top:0;z-index:1000;
    border-bottom:1px solid var(--border-color);
    transition:box-shadow var(--transition-speed) ease;
}
.site-header.scrolled{padding:.8rem 0;box-shadow:0 4px 10px rgba(0,0,0,.07);}
.site-header .container{display:flex;justify-content:space-between;align-items:center;}
.logo{height:146px;transition:opacity var(--transition-speed) ease,height var(--transition-speed) ease;}
.site-header.scrolled .logo{height:90px;}
.logo:hover{opacity:.85;}
.main-navigation{display:flex;align-items:center;}
.nav-links-container{display:flex;align-items:center;}
ul.nav-links{display:flex;align-items:center;list-style:none;margin:0;padding:0;}
ul.nav-links li{margin-left:38px;}
ul.nav-links li a{font-weight:400;font-size:1.05em;color:var(--medium-gray-color);padding:.5em .2em;position:relative;letter-spacing:.3px;transition:color var(--transition-speed) ease;line-height:1;}
ul.nav-links li a::after{content:'';position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:0;height:2.5px;background:var(--primary-color);transition:width var(--transition-speed) cubic-bezier(.19,1,.22,1);transform-origin:center;}
ul.nav-links li a:hover::after,ul.nav-links li.current-menu-item>a::after,ul.nav-links li.current-menu-ancestor>a::after{width:100%;}
ul.nav-links li.current-menu-item>a,ul.nav-links li.current-menu-ancestor>a,ul.nav-links li a:hover{color:var(--primary-darker);}
.menu-toggle{display:none;background:none;border:0;font-size:30px;color:var(--dark-color);cursor:pointer;}

/* === MAIN CONTENT & SECTIONS === */
main#content>section{padding:90px 0;position:relative;overflow:hidden;}
/* alternance uniquement pour sections de 1er niveau */
main#content>section:nth-of-type(even):not(.cta-banner){background:var(--background-white);}

/* === HERO SECTION === */
.hero{background:var(--primary-color);color:var(--background-white);text-align:center;padding:130px 0 150px;position:relative;}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(0,0,0,.05));z-index:1;}
.hero::after{content:'';position:absolute;inset:0;z-index:0;opacity:.8;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpolygon fill='rgba(255,255,255,0.04)' points='15,0 30,30 0,30'/%3E%3Cpolygon fill='rgba(255,255,255,0.03)' points='0,0 30,0 15,30'/%3E%3C/svg%3E") repeat 0 0/25px;}
.hero>.container{position:relative;z-index:2;}
.hero h1{color:var(--background-white);font-size:3.8em;text-shadow:0 2px 5px rgba(0,0,0,.15);}
.hero .subtitle{font-size:1.6em;font-weight:300;color:rgba(255,255,255,.9);margin-bottom:3rem;max-width:800px;margin-inline:auto;}
.cta-button{display:inline-block;background:var(--background-white);color:var(--primary-darker);padding:18px 48px;border-radius:var(--border-radius);font-weight:700;font-size:1.15em;text-decoration:none;box-shadow:var(--shadow-soft),0 1px 2px rgba(0,0,0,.05);position:relative;overflow:hidden;z-index:1;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow var(--transition-speed) ease,background var(--transition-speed) ease,color var(--transition-speed) ease;}
.cta-button::before{content:'';position:absolute;inset:0 auto 0 -100%;width:50%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-25deg);transition:left .5s ease;z-index:-1;}
.cta-button:hover::before{left:150%;}
.cta-button:hover{background:var(--secondary-color);color:var(--background-white);transform:translateY(-4px) scale(1.03);box-shadow:var(--shadow-medium),0 0 20px rgba(13,110,253,.2);}

/* === INTRO SECTION === */
.intro-section{text-align:center;}
.intro-section h2{color:var(--dark-color);font-size:2.4em;margin-bottom:1rem;}
.intro-section p{font-size:1.25em;max-width:850px;margin-inline:auto;color:var(--medium-gray-color);line-height:1.8;}
.intro-section .emphasis{font-weight:400;color:var(--primary-color);border-bottom:1px dotted var(--primary-color);padding-bottom:1px;}

/* === SERVICES OVERVIEW === */
.services-overview{background:var(--background-light);position:relative;}
.services-overview::before,.services-overview::after{content:'';position:absolute;top:0;bottom:0;width:80px;background:var(--primary-color);opacity:.015;pointer-events:none;z-index:0;}
.services-overview::before{left:5%;transform:skewX(-10deg);} .services-overview::after{right:5%;transform:skewX(10deg);}
.services-overview h2{text-align:center;color:var(--dark-color);font-size:2.2em;margin-bottom:2.5rem;padding-bottom:.6rem;border-bottom:1px solid var(--border-color);}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:45px;margin-top:55px;}
.service-item{background:var(--background-white);padding:40px 35px;border-radius:var(--border-radius);box-shadow:0 5px 15px rgba(0,0,0,.05);transition:transform var(--transition-speed) ease,box-shadow var(--transition-speed) ease,background var(--transition-speed) ease;display:flex;flex-direction:column;text-align:left;position:relative;overflow:hidden;}
.service-item::after{content:'';position:absolute;bottom:0;left:0;width:0;height:4px;background:var(--primary-color);transition:width .4s cubic-bezier(.25,.8,.25,1);}
.service-item:hover{transform:translateY(-10px) scale(1.02);box-shadow:var(--shadow-medium),var(--shadow-subtle-glow);background:#fdfdff;}
.service-item:hover::after{width:100%;}
.service-item>*{position:relative;z-index:1;}
.service-icon-wrapper{width:48px;height:48px;background:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:25px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),background .3s ease;}
.service-icon-wrapper .material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 300,'GRAD' 0,'opsz' 24;font-size:28px;color:var(--background-white);}
.service-item:hover .service-icon-wrapper{transform:translateY(-5px) rotate(-8deg) scale(1.1);background:var(--primary-darker);}
.service-item h3{margin-bottom:15px;font-size:1.4em;letter-spacing:-.5px;}
.service-item p{font-size:1em;margin-bottom:25px;flex-grow:1;color:var(--medium-gray-color);font-weight:300;line-height:1.7;}
.learn-more{font-weight:700;font-size:.95em;color:var(--primary-color);text-decoration:none;display:inline-flex;align-items:center;margin-top:auto;padding:6px 0;}
.learn-more:hover{color:var(--primary-darker);}
.learn-more::after{content:'→';margin-left:8px;transition:transform var(--transition-speed) ease;font-size:1.1em;}
.learn-more:hover::after{transform:translateX(6px) scale(1.1);}

/* === CTA BANNER === */
.cta-banner{background:var(--secondary-color);color:var(--background-white);text-align:center;padding:60px 0;position:relative;}
.cta-banner::before{content:'';position:absolute;top:50%;left:50%;width:220px;height:220px;transform:translate(-50%,-50%);background:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 2L3 14h9l-1 8L21 10h-9L13 2z' fill='rgba(255,255,255,0.05)'/%3E%3C/svg%3E") no-repeat center;}
.cta-banner h2{color:var(--background-white);font-size:2.2em;margin-bottom:.8rem;font-weight:700;}
.cta-banner .cta-subtext{font-size:1.25em;font-weight:300;color:rgba(255,255,255,.85);margin:.2rem auto 1.5rem;max-width:700px;}
.cta-banner p:not(.cta-subtext){font-size:1.1em;margin-bottom:2rem;line-height:1.7;color:rgba(255,255,255,.9);max-width:800px;margin-inline:auto;}
.cta-button-secondary{display:inline-block;background:var(--primary-color);color:var(--background-white);padding:16px 45px;border-radius:var(--border-radius);font-weight:700;font-size:1.1em;border:2px solid var(--primary-color);box-shadow:0 3px 10px rgba(13,110,253,.2);transition:background var(--transition-speed) ease,color var(--transition-speed) ease,transform .2s ease,box-shadow var(--transition-speed) ease;margin:.5rem 0 2rem;}
.cta-button-secondary:hover{background:var(--background-white);color:var(--secondary-color);transform:translateY(-3px) scale(1.03);box-shadow:0 6px 18px rgba(255,255,255,.15);}

/* === FOOTER === */
.site-footer{background:var(--dark-color);color:var(--light-gray-color);padding:70px 0 35px;font-size:.95em;margin-top:auto;position:relative;}
.site-footer::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:var(--primary-color);opacity:.5;border-radius:1.5px;}

/* Conteneur colonnes footer */
.site-footer .footer-content{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding:0 var(--container-padding);}
/* Chaque colonne partage l'espace */
.site-footer .footer-content .footer-logo-area,
.site-footer .footer-content .footer-contact,
.site-footer .footer-content .footer-links{flex:1;max-width:300px;text-align:left;}

/* Footer logo area */
.footer-logo-area{flex-shrink:0;}
.logo-footer{height:120px;margin-bottom:8px;}
.footer-logo-area p{color:var(--light-gray-color);font-size:1em;font-weight:300;margin:0;}

/* Contact et liens */
.footer-contact p, .footer-links ul li{margin-bottom:12px;font-weight:300;}
.footer-contact a, .footer-links ul a{color:var(--light-gray-color);transition:color var(--transition-speed) ease,padding-left var(--transition-speed-fast) ease,opacity var(--transition-speed-fast) ease;}
.footer-contact a:hover, .footer-links ul a:hover{color:var(--background-white);padding-left:8px;}
.footer-links ul a::before{content:"› ";opacity:0;margin-right:-8px;transition:opacity var(--transition-speed-fast) ease,margin-right var(--transition-speed-fast) ease;}
.footer-links ul a:hover::before{opacity:1;margin-right:3px;}

/* Copyright centré en dessous */
.site-footer .copyright{max-width:var(--container-width);margin:60px auto 20px;text-align:center;border-top:1px solid var(--medium-gray-color);padding-top:35px;opacity:0.7;}
.site-footer .copyright p{margin:8px 0;font-size:0.9em;color:var(--light-gray-color);font-weight:300;}

/* === ANIMATIONS === */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.175,.885,.32,1.275),transform .9s cubic-bezier(.175,.885,.32,1.275);} .reveal.visible{opacity:1;transform:translateY(0);}

/* === RESPONSIVE === */
@media(max-width:1200px){.container{max-width:960px;}h1{font-size:2.8em;} .hero h1{font-size:3.4em;} .logo{height:130px;} .site-header.scrolled .logo{height:80px;} .logo-footer{height:100px;}}
@media(max-width:992px){.services-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;} .hero h1{font-size:3em;} .hero .subtitle{font-size:1.4em;} .logo{height:115px;} .site-header.scrolled .logo{height:70px;} .logo-footer{height:90px;} ul.nav-links li{margin-left:28px;} ul.nav-links li a{font-size:1em;} section{padding:70px 0;} .services-overview h2{font-size:2em;} .cta-banner p:not(.cta-subtext){font-size:1.15em;}}
@media(min-width:993px){.services-overview h2{font-size:2.6em;} .service-item p{font-size:1.05em;} .cta-banner p:not(.cta-subtext){font-size:1.25em;color:rgba(255,255,255,.95);} .cta-banner h2{font-size:2.4em;}}
@media(max-width:768px){:root{--base-font-size:11pt;}h1{font-size:2.4em;} .hero h1{font-size:2.8em;} .hero .subtitle{font-size:1.25em;} h2{font-size:1.8em;} .intro-section h2{font-size:2em;} .services-overview h2{font-size:2em;} .cta-banner h2{font-size:2em;} .cta-banner p:not(.cta-subtext){font-size:1.1em;margin-bottom:1.5rem;} h3{font-size:1.3em;} section{padding:60px 0;} .logo{height:100px;} .site-header.scrolled .logo{height:60px;} .logo-footer{height:75px;} .site-header{padding:1rem 0;} .site-header.scrolled{padding:.8rem 0;} .menu-toggle{display:block;} .main-navigation .nav-links-container{display:none;flex-direction:column;width:100%;background:var(--background-white);position:absolute;top:100%;left:0;box-shadow:0 10px 20px rgba(0,0,0,.08);border-top:1px solid var(--border-color);max-height:calc(100vh - 60px);overflow-y:auto;z-index:999;} .main-navigation .nav-links-container.active{display:flex;} ul.nav-links{flex-direction:column;width:100%;} ul.nav-links li{margin:0;width:100%;} ul.nav-links li a{display:block;padding:16px var(--container-padding);border-bottom:1px solid var(--border-color);width:100%;} ul.nav-links li a::after{display:none;} ul.nav-links li:last-child a{border-bottom:none;} .services-grid{grid-template-columns:1fr;} .footer-content{flex-direction:column;} }
@media(max-width:480px){:root{--base-font-size:10.5pt;} .container{padding:0 15px;} h1{font-size:2em;} .hero h1{font-size:2.4em;} .hero .subtitle{font-size:1.15em;} .cta-button,.cta-button-secondary{font-size:1em;padding:14px 30px;} .logo{height:85px;} .site-header.scrolled .logo{height:55px;} .services-grid{gap:25px;} .service-item{padding:30px 25px;} .service-item p{font-size:.95em;} .services-overview h2{font-size:1.8em;} .cta-banner h2{font-size:1.8em;} .cta-banner p:not(.cta-subtext){font-size:1em;} }
