/* === Template Métier/Ville Craft (Tailwind) === */
:root {
    --color-primary:   #1a1a2e;
    --color-secondary: #c9a84c;
    --color-text:      #374151;
    --color-bg:        #fafaf8;
    --font-heading: 'Cormorant Garamond', Georgia, serif;
    --font-body: 'Inter', system-ui, sans-serif;
}

/* Base : body en font body (Inter) */
body { font-family: var(--font-body); color: var(--color-text); }

/* Tous les Hn en font heading (Cormorant Garamond) */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
}

/* Contenu pages de service */
.page-content { font-family: var(--font-body); font-size: 1.05rem; line-height: 1.9; color: var(--color-text); }
.page-content h2 { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 700; color: var(--color-primary); margin: 2.5rem 0 1rem; letter-spacing: -.01em; }
.page-content h3 { font-family: var(--font-heading); font-size: 1.15rem; font-weight: 600; color: var(--color-secondary); margin: 2rem 0 .75rem; }
.page-content p { margin-bottom: 1.4rem; }
.page-content ul, .page-content ol { padding-left: 1.75rem; margin-bottom: 1.4rem; }
.page-content li { margin-bottom: .5rem; }
.page-content a { color: var(--color-primary); }
.page-content img { border-radius: 4px; margin: 1.5rem 0; }

/* Images injectées sous les H2 */
.article-image-h2 { width: 100%; max-height: 380px; object-fit: cover; border-radius: 4px; margin: 1rem 0 1.75rem; }

/* Zones de contenu accueil */
.zone-content { font-family: var(--font-body); font-size: 1.05rem; line-height: 1.9; color: var(--color-text); }
.zone-content h2 { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 700; color: var(--color-primary); margin: 2.5rem 0 1rem; letter-spacing: -.01em; }
.zone-content h3 { font-family: var(--font-heading); font-size: 1.15rem; font-weight: 600; color: var(--color-secondary); margin: 2rem 0 .75rem; }
.zone-content p { margin-bottom: 1.4rem; }
.zone-content ul, .zone-content ol { padding-left: 1.75rem; margin-bottom: 1.4rem; }
.zone-content li { margin-bottom: .5rem; }
.zone-content a { color: var(--color-primary); }
.zone-content img { border-radius: 4px; margin: 1.5rem 0; }
.zone-content blockquote { border-left: 3px solid var(--color-secondary); padding: 1rem 1.5rem; margin: 2rem 0; font-style: italic; color: #6b7280; }

/* Contenu articles de blog */
.article-content { font-family: var(--font-body); font-size: 1.05rem; line-height: 1.9; color: var(--color-text); }
.article-content h2 { font-family: var(--font-heading); font-size: 1.4rem; font-weight: 700; color: var(--color-primary); margin: 2.5rem 0 1rem; }
.article-content h3 { font-family: var(--font-heading); font-size: 1.1rem; font-weight: 600; color: var(--color-secondary); margin: 1.75rem 0 .5rem; }
.article-content p { margin-bottom: 1.4rem; }
.article-content ul { padding-left: 1.5rem; margin-bottom: 1.4rem; }
.article-content img { border-radius: 4px; margin: 1.5rem 0; }
.article-content blockquote { border-left: 3px solid var(--color-secondary); padding: 1rem 1.5rem; margin: 2rem 0; font-style: italic; color: #6b7280; }

:root {
    --color-primary:   #a38736;
    --color-secondary: #454545;
    --color-text:      #212529;
    --color-bg:        #ffffff;
    --color-muted:     #f7f8fa;
    --color-border:    #ebedf1;
    --color-premium:   #b8860b;
    --radius: 0;
    --card-shadow: none;
    --card-border: 1px solid var(--color-border);
    --card-bg: var(--color-bg);
    --btn-radius: 3px;
    --img-radius: 0;
}

/* ── Base responsive (généré automatiquement) ── */
*, *::before, *::after { box-sizing: border-box; }

/* Empêche le défilement horizontal */
html, body { overflow-x: hidden; max-width: 100%; }

/* Images et vidéos toujours dans leur conteneur */
img, video { max-width: 100%; height: auto; }
/* iframe : largeur 100% mais hauteur respectée (ex. Google Maps) */
iframe, embed, object { max-width: 100%; }

/* Tableaux : scroll horizontal si besoin, jamais de débordement */
table { max-width: 100%; }
.zone-content table,
.page-content table,
.article-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Texte long (URL, code) : retour à la ligne forcé */
.zone-content,
.page-content,
.article-content {
    overflow-wrap: break-word;
    word-break: break-word;
}