 /*
Theme Name: CTM Rénovation
Theme URI: https://ctm-renovation.fr
Author: BeeClickable
Author URI: https://beeclickable.fr
Description: Thème WordPress personnalisé pour CTM Rénovation, basé sur Twenty Twenty-Five mais avec header, surheader, footer et pages sur-mesure.
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ctm-renovation
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news

Copyright (c) 2025 BeeClickable. All rights reserved.
*/

/* Import des polices */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');

/* Styles de base pour le body */
body {
    font-family: 'Inter', Arial, sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
}

/* Styles responsifs généraux */
.container {
    width: 100%;
    padding-right: 1rem;
    padding-left: 1rem;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 640px) {
    .container {
        max-width: 640px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 768px;
    }
}

@media (min-width: 1024px) {
    .container {
        max-width: 1024px;
    }
}

@media (min-width: 1280px) {
    .container {
        max-width: 1280px;
    }
}

/* Correction pour les images responsives */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ===== Courtier (wrapper .courtier-content) — bulle grise Étape 1 responsive ===== */
/* Garantit que les paragraphes/listes du contenu se cassent correctement */
.courtier-content p,
.courtier-content li {
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* Les blocs Gutenberg avec fond (bulle grise) ne doivent pas empêcher les retours à la ligne */
.courtier-content .has-background {
  white-space: normal !important;
}
/* Autoriser la césure automatique si le navigateur la supporte */
.courtier-content { hyphens: auto; }
@media (max-width: 640px) {
  /* Liens critiques (tel / devis) passent à la ligne si besoin */
  .courtier-content a[href^="tel:"],
  .courtier-content a[href*="devis"],
  .courtier-content a[href*="contact"] {
    display: inline-block;
    white-space: normal;
    line-height: 1.5;
  }
  .courtier-content p,
  .courtier-content li {
    font-size: 0.95rem;
    line-height: 1.55;
  }
  /* Override fort au cas où une classe utilitaire impose whitespace-nowrap */
  .courtier-content, .courtier-content * {
    white-space: normal !important;
  }
  /* Exception: ne pas couper le libellé "devis" (le lien doit rester entier) */
  .courtier-content a[href*="devis"] {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
}

/* Correction pour les cartes sur mobile */
.presta-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.presta-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
}

/* Amélioration de la lisibilité sur mobile */
@media (max-width: 767px) {
    h1 {
        font-size: 2rem !important;
        line-height: 1.2 !important;
    }
    
    h2 {
        font-size: 1.75rem !important;
    }
    
    h3 {
        font-size: 1.5rem !important;
    }
    
    p, li, a, span, div {
        font-size: 1rem !important;
        line-height: 1.6 !important;
    }
    
    .presta-card {
        margin-bottom: 1.5rem;
    }
}

/* Styles pour les pages légales */
/* Styles pour les pages légales */
.legal-page {
    font-family: 'Inter', Arial, sans-serif;
    font-size: 1rem; /* 16px par défaut */
    line-height: 1.7;
    color: #333;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem 2rem;
}

/* Style de base pour les liens dans les pages légales */
.legal-page a:not([href]):not([tabindex]) {
    color: inherit;
    text-decoration: none;
    cursor: default;
}

/* Style des liens normaux */
.legal-page a[href] {
    color: #2563eb;
    text-decoration: none;
    transition: color 0.2s ease;
}

.legal-page a[href]:hover {
    color: #1e4db3;
    text-decoration: underline;
}

.legal-page h1,
.legal-page h2,
.legal-page h3,
.legal-page h4,
.legal-page h5,
.legal-page h6 {
    font-family: 'Playfair Display', serif;
    margin-top: 2rem;
    margin-bottom: 1rem;
    font-weight: 600;
    color: #257896; /* Couleur bleue spécifiée */
}

.legal-page h1 {
    font-size: 2.25rem; /* 36px */
    line-height: 1.2;
    margin-bottom: 1.5rem;
    border-bottom: none; /* Suppression du séparateur */
    padding-bottom: 0; /* Suppression de l'espacement pour le séparateur */
}

.legal-page h2 {
    font-size: 1.75rem; /* 28px */
    margin-top: 2.5rem;
}

.legal-page h3 {
    font-size: 1.5rem; /* 24px */
    margin-top: 2rem;
}

.legal-page p {
    margin-bottom: 1.25rem;
    color: #4a4a4a;
    line-height: 1.8;
}

/* Style pour les listes non ordonnées */
.legal-page ul {
    list-style-type: disc;
    padding-left: 1.5em;
    margin-bottom: 1.5em;
}

/* Style pour les listes ordonnées */
.legal-page ol {
    list-style-type: decimal;
    padding-left: 1.5em;
    margin-bottom: 1.5em;
}

/* Style pour les éléments de liste */
.legal-page li {
    margin-bottom: 0.5em;
    line-height: 1.6;
}

/* Style pour les titres de section */
.legal-page h2, 
.legal-page h3, 
.legal-page h4 {
    margin-top: 2em;
    margin-bottom: 0.8em;
    line-height: 1.3;
}

/* Style pour le texte en gras */
.legal-page strong {
    font-weight: 600;
    color: #2c3e50;
}

/* Style pour le texte en italique */
.legal-page em {
    font-style: italic;
}

/* Style pour les citations */
.legal-page blockquote {
    border-left: 4px solid #e0e6ed;
    padding-left: 1em;
    margin: 1.5em 0;
    color: #666;
    font-style: italic;
}

.legal-page a {
    color: #2563eb;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.legal-page a:hover {
    color: #1e6a8c; /* Version plus foncée pour le survol */
}

.legal-page ul,
.legal-page ol {
    margin-bottom: 1.25rem;
    padding-left: 1.5rem;
}

.legal-page li {
    margin-bottom: 0.5rem;
}

.legal-page .entry-header {
    text-align: center;
    margin-bottom: 2rem;
    padding-bottom: 0;
    border-bottom: none;
}

.legal-page .entry-content {
    max-width: 800px;
    margin: 0 auto;
}

/* Styles spécifiques pour les pages de mentions légales, politique de confidentialité et cookies */
.page-template-page-mentions-legales .entry-content,
.page-template-page-politique-confidentialite .entry-content,
.page-template-page-politique-cookies .entry-content {
    background: #fff;
    padding: 2.5rem;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/* Correction : empêcher le texte du footer d'être en gras */
.ctm-footer, .ctm-footer * {
    font-weight: 400 !important;
}

