/*
Theme Name:        Avocat Franta 2026
Description:       Thème du Cabinet d'Avocats Cujas (avocatfranta.com). Réécriture moderne du thème « Avocat Franta » (Simple Framework, 2014) avec une apparence identique.
Version:           1.0.0
Requires at least: 6.5
Requires PHP:      8.1
Text Domain:       avocatfranta-2026
License:           GNU General Public License v2 or later
*/

/* ==========================================================================
   Reset (Eric Meyer) — repris de l'ancien thème
   ========================================================================== */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, code,
del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; }

table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align: middle; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }
a img { border: none; }

.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix { display: block; }
.clear { clear: both; }

/* Accessibilité : texte réservé aux lecteurs d'écran */
.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; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background: #fff; clip: auto; clip-path: none; color: #000; display: block; font-size: 14px; height: auto; left: 5px; padding: 15px 23px; top: 5px; width: auto; z-index: 100000; }

/* Focus visible au clavier uniquement (l'ancien thème supprimait tout contour) */
:focus { outline: none; }
:focus-visible { outline: 2px solid #a27e4f; outline-offset: 2px; }

/* ==========================================================================
   Document
   ========================================================================== */
body, input, textarea { font-size: 15px; }
body { color: #555; font-family: 'Roboto', sans-serif; }
img { max-width: 100%; height: auto; }
.left { float: left; }
.right { float: right; }
.bold { font-weight: bold; }

/* Liens */
a { transition: all 0.3s ease; color: #A78A71; text-decoration: none; }
a:hover { text-decoration: none; }
.push-menu { height: 45px; padding: 0 15px; line-height: 45px; color: #fff; font-size: 20px; text-transform: uppercase; position: relative; display: none; background: #000; border: 0; width: 100%; text-align: left; font-family: inherit; cursor: pointer; }
.push-menu span { width: 0; height: 0; margin: 15px 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 10px solid #fff; float: right; }
.push-menu.expanded span { border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 10px solid #fff; border-top: 0; }
.entry-content a:link, .entry-content a:active, .entry-content a:visited { color: #A78A71; text-decoration: none; }
.entry-content a:hover { text-decoration: none; }
a.more { padding: 5px 10px; color: #fff; font-weight: bold; text-transform: uppercase; font-family: 'Montserrat', sans-serif; border-radius: 3px; background: #a27e4f; display: inline-block; }
a.more:hover { color: #fff; background: #000; }

/* Titres */
h1, h2, h3, h4, h5, h6 { font-weight: bold; clear: both; color: #000; font-family: 'Montserrat', sans-serif; }
h1 { font-size: 50px; padding: 0; margin-bottom: 30px; }
h2 { font-size: 40px; padding: 0; margin-bottom: 20px; }
h3 { font-size: 18px; padding: 0; margin-bottom: 15px; }
h4 { font-size: 14px; padding: 0; margin-bottom: 0; }
h5 { font-size: 12px; padding: 0; }
h6 { font-size: 10px; }

/* Rythme vertical */
.entry-meta { margin-bottom: 10px; }
p, pre, ul, ol, dl, dd, blockquote, address, table, fieldset, form, .gallery-row, .comment-list ul, .comment-list ol { margin-bottom: 20px; }
.sentry, .widget, .comment, .navigation-links { margin-bottom: 40px; }

/* Mise en page */
.sfeed { float: right; }
.aside { float: left; }
.footer { clear: both; }

/* ==========================================================================
   En-tête
   ========================================================================== */
.header { text-align: center; background: url(assets/images/bg-home-1.jpg) no-repeat top center; background-size: cover; }
.header .phone-number .address { padding-left: 30px; font-size: 11px; text-align: left; display: block; }
.header .phone-number { float: right; font-size: 22px; color: #fff; font-family: 'Montserrat', sans-serif; }
.header .phone-number a { color: #fff; }
.header .phone-number ul { list-style: none; display: inline-block; }
.header .phone-number ul li { display: inline-block; padding-left: 10px; }
.header h1 { margin: 80px 0; color: #fff; text-transform: uppercase; text-align: center; }
.header h2 { color: #fff; font-size: 20px; font-style: italic; font-weight: normal; text-align: center; font-family: "Times New Roman", Times, serif; }
.header a.more { padding: 20px 40px; margin: 40px 0; font-size: 18px; text-transform: uppercase; display: inline-block; }
.header a.more:hover { color: #a27e4f; background: #fff; }

/* Menu */
.nav { margin: 10px 0; float: right; line-height: 1; font-family: 'Montserrat', sans-serif; clear: both; }
.nav, .nav * { list-style: none; margin-left: 0; }
.nav li { float: left; padding: 0; margin-left: 20px; position: relative; }
.nav ul li { width: 100%; }
.nav a { display: block; position: relative; color: #fff; text-transform: uppercase; line-height: 40px; font-size: 14px; }
.nav li.current-menu-item a,
.nav li.current_page_parent a,
.nav a:hover { color: #a27e4f; }
.nav ul { position: absolute; top: -9999em; width: 20em; }
.nav li:hover ul, .nav li:focus-within ul { left: -1px; top: 29px; z-index: 99; }

/* ==========================================================================
   Accueil
   ========================================================================== */
.services { text-align: center; padding: 40px 0; }
.services h2 { text-transform: uppercase; }
.services .service-icon { padding-bottom: 20px; display: block; }
.services .service-icon img { padding: 10px; border: 2px solid #a27e4f; border-radius: 100px; transition: all 1s ease-in-out; }
.services .box:hover img { transform: rotate(360deg); }
/* Bordure dorée ajoutée autour de l'image (et non incluse dans sa taille), comme sur l'ancien thème */
.services .service-icon img, .cabinet img { box-sizing: content-box; }
/* L'ancien thème (doctype XHTML, mode « presque standard ») n'ajoutait pas d'espace sous ces images seules sur leur ligne */
.services .service-icon img, .cabinet img { vertical-align: top; }

.domains { text-align: center; padding: 40px 0; background: #f7f7f7; }
.domains h2, .domains h3 { text-transform: uppercase; }
.domains h3 { padding-left: 50px; line-height: 40px; background: url(assets/images/icon-j.png) no-repeat left center; }
.domains .box { text-align: justify; }
#content .domains .box a.more:hover { color: #fff; }

.cabinet { text-align: center; padding: 40px 0; background: #f7f7f7; }
.cabinet h2 { text-transform: uppercase; }
.cabinet img { margin-bottom: 20px; display: inline-block; border-radius: 200px; border: 3px solid #a27e4f; }
.cabinet a.more { padding: 20px 40px; }
#content .cabinet a.more:hover { color: #fff; }

.articles { text-align: center; padding: 40px 0; }
.articles h2 { text-transform: uppercase; }
.articles .box { min-height: 200px; text-align: justify; }
.articles h3 { text-align: left; }
#content a.more:hover { color: #fff; }
.home .articles .cute-12-laptop a.more { padding: 20px 40px; }
.home .prezentare p { text-align: justify; }

/* ==========================================================================
   Contenu
   ========================================================================== */
#content a:hover { color: #000; }
.page-title { font-size: 14px; font-weight: bold; }
.page-title span { font-style: italic; font-weight: normal; }
.entry-title, .entry-title a { color: #000; font-size: 30px; line-height: 34px; }
.entry-title a:hover { color: #A78A71; text-decoration: none; }
.article p { line-height: 22px; }
.singular .entry-title { margin: 0; }
.singular.page .entry-title { margin-bottom: 30px; }

.post-date { font-size: 12px; color: #000; text-transform: uppercase; text-align: center; font-weight: bold; }
.post-date .day { width: 30px; height: 30px; margin: 0 auto; line-height: 30px; margin-bottom: 5px; font-size: 18px; color: #fff; border-radius: 100px; background: #a27e4f; display: block; }

.category .post, .blog .post, .search .post { clear: both; }
.category .post h2, .blog .post h2, .search .post h2 { margin: 0; line-height: 30px; }

/* Formulaires (recherche, commentaires) */
.wpcf7-form { margin: 0; }
form .input-text, form .input-textarea { width: 90%; padding: 5px; font-size: 16px; border-radius: 0; border: 1px solid #A27E4F; resize: none; }
form .input-submit { padding: 5px 10px; color: #fff; font-weight: bold; text-transform: uppercase; font-family: 'Montserrat', sans-serif; border: 0; border-radius: 3px; background: #a27e4f; display: inline-block; cursor: pointer; }
form .input-submit:hover { color: #fff; background: #000; }

.form-section { clear: both; margin-bottom: 10px; }
.form-section label { display: block; line-height: 30px; }
.form-section .input-text, .form-section .input-textarea { width: 100%; }
.form-section .info { font-size: 11px; margin: 0; }

/* Commentaires */
.add-comment { padding-bottom: 20px; display: inline-block; }
.comment-list { list-style: none; }
.comment-list .comment { padding-bottom: 10px; margin-bottom: 20px; border-bottom: 1px solid #E9E5DC; }
.comment-list .comment .administrator { padding: 10px; background: #E9E5DC; }
.comment-list .comment-author .avatar-link { float: left; margin: 0 10px 10px 0; }
.comment-list .comment-meta { font-size: 11px; }
.comment-list .comment-content { clear: both; }
.comment-list .comment ul.children { padding-left: 20px; list-style: none; }
.comment-list .moderation { padding: 10px; color: #fff; background: #5DA424; clear: both; }
#comment-form .input-textarea { min-height: 220px; }

.comments-navigation { padding: 10px 0; margin-bottom: 10px; }
.comments-navigation a { padding: 5px 10px; background: #f4f4f4; display: inline-block; }
.comments-navigation .current { padding: 5px 10px; color: #fff; background: #A27E4F; display: inline-block; }

/* Message affiché au visiteur après l'envoi d'un commentaire (modération) */
.comment-moderation-notice { margin: 0 0 20px; padding: 14px 18px; background: #eef6ee; border: 1px solid #b9d8b9; border-left: 4px solid #5a8f5a; border-radius: 6px; color: #2f5f2f; font-family: Roboto, sans-serif; font-size: 15px; line-height: 1.5; }

/* Barre latérale */
.aside .widget { padding-bottom: 10px; margin-bottom: 20px; border-bottom: 1px solid #E9E5DC; }
.aside .widget-title { padding: 5px 10px; color: #fff; background: #A27E4F; }
.aside ul { list-style: none; margin: 0; }
.aside ul li { margin-bottom: 10px; }
.aside .widget.widget_search { border: 0; }
.aside .widget.widget_search .input-text { width: 55%; }
.aside ul.contact li { margin: 0; }
.aside ul.contact a { display: block; padding: 10px 0; color: #777; font-size: 13px; border-top: 1px solid #A27E4F; }
.aside ul.contact a span { display: block; font-size: 26px; color: #a78a71; font-weight: bold; text-transform: uppercase; font-family: 'Montserrat', sans-serif; }
.aside ul.contact a:hover span { color: #000; }
.aside ul.contact li:first-child a { border: 0; }

/* Navigation entre articles */
.navigation-links { margin: 20px 0; overflow: hidden; }
.navigation-links .nav-previous { width: 50%; float: left; }
.navigation-links .nav-next { width: 50%; float: right; text-align: right; }
.single .navigation-links { padding: 10px 0; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; }

/* Boutons de partage (extension Simple Social Buttons) */
.home .simplesocialbuttons { display: none; }
.home .header .simplesocialbuttons { display: block; text-align: center; }
.home .header div.simplesocialbutton { display: inline-block; float: none; }
.simplesocialbuttons { padding: 15px 0; }
.home div.simplesocialbuttons.simplesocialbuttons-align-left { text-align: center; }
.simplesocialbuttons .ssb-fb-like { height: 20px; }

/* ==========================================================================
   Pied de page
   ========================================================================== */
.footer { padding: 20px 0; color: #8d8d8d; background: #1d0e0e; }
.footer a { color: #8d8d8d; }
.footer a:hover { color: #a78a71; }
.footer ul { list-style: none; }
.footer ul li { padding-bottom: 10px; line-height: 22px; font-size: 16px; }
.footer ul li i { color: #a78a71; font-size: 16px; }
.footer .social ul { float: right; }
.footer .social li { float: left; }
.footer .social li a { width: 40px; height: 40px; line-height: 40px; margin: 0 5px; font-size: 20px; text-align: center; border-radius: 150px; display: block; }
.footer .social li a.twitter:hover { color: #fff; background: #00aced; }
.footer .social li a.facebook:hover { color: #fff; background: #3b5998; }
.footer .social ul li a i { padding-top: 13px; display: block !important; line-height: 40px !important; }
.footer .social ul li a:hover i { color: #fff; }

.footer-bottom { color: #8d8d8d; font-size: 12px; text-align: center; border-top: 1px solid #3f3232; background: #291a1a; }
.footer-bottom p { margin: 0; }
.footer-bottom a { color: #8d8d8d; }

/* Alignements WordPress */
.alignleft { float: left; }
.alignright { float: right; }
.aligncenter { margin-left: auto; margin-right: auto; display: block; clear: both; }
img.alignleft { margin: 3px 20px 20px 0; }
img.alignright { margin: 3px 0 20px 20px; }
img.aligncenter { margin: 20px auto; }

/* ==========================================================================
   Formulaire de contact (Contact Form 7) — repris du « CSS additionnel »
   ========================================================================== */
.wpcf7 { background:#faf7f2; border:1px solid #eadfce; border-radius:10px; padding:24px 24px 20px; margin-top:16px; }
.wpcf7 form fieldset { border:0; margin:0; padding:0; min-width:0; }
.wpcf7 form p { margin:0 0 16px; overflow:visible; }
.wpcf7 form label { display:block; float:none; width:auto; margin:0 0 6px; padding:0; font-family:Montserrat, sans-serif; font-size:13px; font-weight:600; letter-spacing:.02em; color:#3a2f25; }
.wpcf7 .wpcf7-form-control-wrap { display:block; float:none; width:100%; margin:0; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 textarea { display:block; box-sizing:border-box; width:100%; max-width:100%; margin:0; padding:11px 14px; font-family:Roboto, sans-serif; font-size:15px; line-height:1.4; color:#2b2b2b; background:#fff; border:1px solid #d9cbb8; border-radius:6px; box-shadow:none; transition:border-color .15s, box-shadow .15s; }
.wpcf7 textarea { height:150px; min-height:150px; resize:vertical; }
.wpcf7 input[type=text]:focus, .wpcf7 input[type=email]:focus, .wpcf7 textarea:focus { outline:none; border-color:#a27e4f; box-shadow:0 0 0 3px rgba(162,126,79,.18); }
.wpcf7 .wpcf7-submit { display:inline-block; margin:4px 0 0; padding:12px 32px; font-family:Montserrat, sans-serif; font-size:14px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:#a27e4f; border:0; border-radius:6px; cursor:pointer; transition:background .15s, transform .05s; }
.wpcf7 .wpcf7-submit:hover, .wpcf7 .wpcf7-submit:focus-visible { background:#8a6a40; }
.wpcf7 .wpcf7-submit:active { transform:translateY(1px); }
.wpcf7 .wpcf7-spinner { vertical-align:middle; }
.wpcf7 .wpcf7-not-valid { border-color:#c0392b; }
.wpcf7 .wpcf7-not-valid-tip { margin-top:4px; font-size:13px; color:#c0392b; }
.wpcf7 form .wpcf7-response-output { margin:16px 0 0; padding:10px 14px; border-radius:6px; font-size:14px; }
.wpcf7 form.sent .wpcf7-response-output { border-color:#5a8f5a; background:#eef6ee; color:#2f5f2f; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output { border-color:#c0392b; background:#fbeeee; color:#8a2a1f; }

/* ==========================================================================
   Responsive (mêmes points de rupture que l'ancien thème)
   ========================================================================== */
@media all and (max-width: 980px) {
	.wrapper, .container { width: 100%; }
	.push-menu { display: block; clear: both; }
	ul.nav { display: none; width: 100%; height: auto; border-radius: 0; float: none; }
	ul.nav.is-open { display: block; }
	ul.nav li { width: 100%; float: none; display: block; clear: both; }
	.header .phone-number { text-align: center; }
}
@media all and (max-width: 640px) {
	a.more { display: block; }
	.header h1 { font-size: 30px; }
	.footer .social ul { float: none; }
	.wpcf7 { padding:18px 16px; }
	.wpcf7 .wpcf7-submit { width:100%; }
}