/*
Theme Name: Runtech
Theme URI: https://runtech.ch/
Author: Runtech
Description: Thème du site Runtech : informatique, domotique, AxiQuadro et Synesto. Thème « blocs » léger, sans constructeur de pages ; les pages se créent à partir des compositions Runtech.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: runtech
*/

/* ---------- Bases ---------- */
:root { --rt-radius: 16px; }
body { -webkit-font-smoothing: antialiased; }
a { text-underline-offset: 0.15em; }
img { max-width: 100%; height: auto; }

/* ---------- En-tête ---------- */
.rt-header { border-bottom: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--base); position: sticky; top: 0; z-index: 50; }
.admin-bar .rt-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .rt-header { top: 46px; } }
.rt-brand { gap: 0.6rem; }
.rt-logo-mark { margin: 0; }
.rt-logo-mark img { width: 36px; height: 36px; display: block; }
.rt-wordmark { margin: 0; font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.6rem; letter-spacing: -0.04em; line-height: 1; }
.rt-wordmark a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.rt-header .wp-block-navigation { font-weight: 500; }
.rt-header .wp-block-navigation a { text-decoration: none; }
.rt-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent); }

/* ---------- Sections ---------- */
.rt-section { padding-top: clamp(3.5rem, 8vw, 6.5rem); padding-bottom: clamp(3.5rem, 8vw, 6.5rem); }
.rt-section-tight { padding-top: clamp(2.5rem, 5vw, 4rem); padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.rt-kicker { font-size: 0.85rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--accent); margin-bottom: 0.5rem; }
.has-contrast-background-color .rt-kicker, .has-night-background-color .rt-kicker { color: var(--wp--preset--color--accent-bright); }
.rt-lead { font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.6; color: var(--wp--preset--color--muted); }
.has-contrast-background-color .rt-lead, .has-night-background-color .rt-lead { color: #C9D2E3; }
.rt-hero-title { font-size: clamp(2.4rem, 5.5vw, 4rem); line-height: 1.08; }

/* ---------- Cartes ---------- */
.rt-cards { gap: 1.5rem; }
.rt-card { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border); border-radius: var(--rt-radius); padding: 2rem; }
.rt-card > *:first-child { margin-top: 0; }
.rt-card h3 { font-size: 1.3rem; margin-top: 1rem; margin-bottom: 0.5rem; }
.rt-card p { color: var(--wp--preset--color--muted); }
.rt-card .wp-block-buttons { margin-top: 1.5rem; }
.rt-card-accent { border: 2px solid var(--wp--preset--color--accent-bright); }
.rt-icon { margin: 0; }
.rt-icon img { width: 48px; height: 48px; display: block; }

/* ---------- Listes ---------- */
.rt-checks { padding-left: 1.2rem; }
.rt-checks li { margin-bottom: 0.45rem; }
.rt-checks li::marker { color: var(--wp--preset--color--accent-bright); }

/* ---------- Étapes ---------- */
.rt-steps { counter-reset: rt-step; gap: 1.5rem; }
.rt-step { counter-increment: rt-step; border-top: 3px solid var(--wp--preset--color--contrast); padding-top: 1.25rem; }
.rt-step::before { content: counter(rt-step, decimal-leading-zero); display: block; font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.1rem; color: var(--wp--preset--color--accent); margin-bottom: 0.5rem; }
.rt-step h3 { font-size: 1.15rem; margin: 0 0 0.4rem; }
.rt-step p { margin: 0; color: var(--wp--preset--color--muted); }

/* ---------- Emplacements à remplacer ---------- */
.rt-shot { border: 2px dashed var(--wp--preset--color--border); border-radius: var(--rt-radius); background: var(--wp--preset--color--surface); min-height: 280px; display: flex; align-items: center; justify-content: center; padding: 2rem; text-align: center; color: var(--wp--preset--color--muted); }
.rt-shot p { margin: 0; font-weight: 600; }
.rt-todo { background: #FFF4E5; border-radius: 6px; padding: 0 0.3em; }

/* ---------- Bandeau d'appel ---------- */
.rt-cta { border-radius: 24px; padding: clamp(2rem, 5vw, 3.5rem); }
.rt-cta h2 { margin-top: 0; }

/* ---------- Bouton secondaire sur fond sombre ---------- */
.has-contrast-background-color .wp-block-button.is-style-outline .wp-block-button__link,
.has-night-background-color .wp-block-button.is-style-outline .wp-block-button__link { color: #FFFFFF; border-color: rgba(255, 255, 255, 0.6); }

/* ---------- Pied de page ---------- */
.rt-footer a { color: #FFFFFF; text-decoration: none; }
.rt-footer a:hover { text-decoration: underline; }
.rt-footer p { color: #C9D2E3; }
.rt-footer h3 { color: #FFFFFF; font-size: 1rem; letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 0.75rem; }
.rt-footer .rt-wordmark a { color: #FFFFFF; }
.rt-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.15); padding-top: 1.5rem; margin-top: 2.5rem; font-size: 0.9rem; }
.rt-footer-list { list-style: none; padding: 0; margin: 0; }
.rt-footer-list li { margin-bottom: 0.4rem; }

/* ---------- Synesto ---------- */
.rt-synesto-bars { display: flex; gap: 6px; align-items: flex-end; height: 40px; }

@media (max-width: 781px) {
  .rt-card { padding: 1.5rem; }
}
