/* Compléments au thème Kadence pour pascaldupont.fr.
   Les couleurs, les polices, l'en-tête et le pied de page sont réglés dans Kadence
   (inc/reglages-kadence.php et inc/entete-pied.php). Ce fichier ne contient que ce que
   Kadence ne sait pas faire. Les classes pd-* sont posées sur les blocs (champ « Classe CSS »). */

/* Focus clavier visible partout */
:focus-visible { outline: 2px solid #c8b287; outline-offset: 3px; }

/* Héros : silhouettes de montagnes derrière le texte (classe pd-hero sur la rangée) */
.pd-hero { position: relative; overflow: hidden; }
.pd-hero::before,
.pd-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; pointer-events: none; z-index: 0; }
.pd-hero::before { display: block; bottom: -1px; height: 62%; background: #232f3c; opacity: .75; clip-path: polygon(0 62%, 14% 34%, 26% 52%, 41% 18%, 55% 46%, 68% 28%, 82% 50%, 100% 30%, 100% 100%, 0 100%); }
.pd-hero::after { bottom: -1px; height: 40%; background: #0d1217; clip-path: polygon(0 55%, 18% 30%, 33% 52%, 52% 22%, 70% 48%, 86% 28%, 100% 46%, 100% 100%, 0 100%); }
.pd-hero > .kt-row-column-wrap { position: relative; z-index: 1; }

/* Cartes de films : léger zoom de la vignette au survol (classe pd-carte sur la colonne) */
.pd-carte .kb-image-is-ratio-size, .pd-carte figure { overflow: hidden; }
.pd-carte img { transition: transform .4s ease; }
.pd-carte:hover img, .pd-carte:focus-within img { transform: scale(1.03); }

/* Champs de formulaire lisibles sur fond sombre */
::placeholder { color: #8794a0; opacity: 1; }

/* Formulaire de contact [pd_formulaire] */
.pd-formulaire { display: grid; gap: 1.1rem; }
.pd-formulaire p { margin: 0; }
.pd-formulaire .pd-deux { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
@media (max-width: 600px) { .pd-formulaire .pd-deux { grid-template-columns: minmax(0, 1fr); } }
.pd-formulaire .pd-champ { display: grid; gap: .4rem; }
.pd-formulaire label { font-size: .85rem; color: #a9b6c0; }
.pd-formulaire input[type="text"], .pd-formulaire input[type="email"], .pd-formulaire input:not([type]), .pd-formulaire select, .pd-formulaire textarea {
	width: 100%; font: inherit; color: #e8e6e1; background: #17202a; border: 1px solid #2c3a49; border-radius: 2px; padding: .75rem .9rem; box-shadow: none;
}
.pd-formulaire input:focus, .pd-formulaire select:focus, .pd-formulaire textarea:focus { border-color: #c8b287; outline: none; }
.pd-formulaire textarea { min-height: 10rem; resize: vertical; }
.pd-formulaire .pd-consentement { font-size: .85rem; color: #a9b6c0; }
.pd-formulaire .pd-consentement label { display: flex; gap: .6rem; align-items: flex-start; font-size: .85rem; }
.pd-formulaire .pd-consentement input { width: auto; margin-top: .3rem; accent-color: #a3302f; }
.pd-formulaire .pd-consentement a { color: #e8e6e1; text-decoration: underline; text-underline-offset: .25em; }
.pd-formulaire .pd-bouton { font: 500 .95rem/1.2 "Hanken Grotesk", system-ui, sans-serif; letter-spacing: .04em; color: #ece8df; background: #a3302f; border: 1px solid #a3302f; border-radius: 2px; padding: .9rem 1.5rem; cursor: pointer; }
.pd-formulaire .pd-bouton:hover { background: #c0403d; border-color: #c0403d; }
.pd-formulaire .pd-retour { font-size: .95rem; }
.pd-formulaire .pd-retour-ok { color: #c8b287; }
.pd-formulaire .pd-retour-erreur { color: #f0a8a5; }
.pd-piege { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Respect des préférences de mouvement réduit */
@media (prefers-reduced-motion: reduce) {
	.pd-carte img { transition: none; }
	.pd-carte:hover img, .pd-carte:focus-within img { transform: none; }
}

/* Listes à deux colonnes (presse, repères, références) : tableau pd-liste */
.pd-liste table, table.pd-liste { width: 100%; border-collapse: collapse; }
.pd-liste { margin: 0; }
.pd-liste td { border: 0; border-bottom: 1px solid #2c3a49; padding: .7rem 0; vertical-align: baseline; color: #e8e6e1; font-size: 1rem; }
.pd-liste tr:first-child td { border-top: 1px solid #2c3a49; }
.pd-liste td + td { text-align: right; padding-left: 1rem; white-space: nowrap; font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: .78rem; color: #a9b6c0; }

/* Étapes numérotées (liste ordonnée pd-etapes) */
ol.pd-etapes { list-style: none; counter-reset: etape; margin: 0; padding: 0; border-top: 1px solid #2c3a49; }
ol.pd-etapes li { counter-increment: etape; position: relative; padding: 1rem 0 1rem 3rem; margin: 0; border-bottom: 1px solid #2c3a49; color: #a9b6c0; }
ol.pd-etapes li::before { content: counter(etape); position: absolute; left: 0; top: .85rem; font-family: "Newsreader", Georgia, serif; font-size: 1.6rem; line-height: 1; color: #c8b287; }
ol.pd-etapes li strong { color: #e8e6e1; font-weight: 500; }

/* Repère « à compléter » des pages légales */
mark:not(.kt-highlight) { background: transparent; color: #c8b287; border-bottom: 1px dashed #c8b287; }

/* Titres équilibrés ; l'accent du titre d'accueil ne se coupe pas */
.entry-content :is(h1, h2, h3), .pd-equilibre { text-wrap: balance; }
.pd-hero h1 mark.kt-highlight { white-space: nowrap; }
@media (max-width: 767px) {
	.pd-hero::before { height: 50%; }
	.pd-hero::after { height: 30%; }
}

/* Noms de clients (liste pd-noms) */
ul.pd-noms { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 3rem; font-family: "Newsreader", Georgia, serif; font-size: clamp(1.5rem, 3vw, 2.2rem); line-height: 1.2; color: #e8e6e1; }
ul.pd-noms li { margin: 0; }

/* Menu : « Devis » en bouton à contour, comme dans la maquette */
@media (min-width: 1025px) {
	#site-navigation .primary-menu-container > ul > li.pd-menu-devis > a {
		border: 1px solid #a9b6c0; border-radius: 2px; padding: .4rem .9rem; margin-left: .6rem; color: #e8e6e1 !important;
	}
	#site-navigation .primary-menu-container > ul > li.pd-menu-devis > a:hover { background: #e8e6e1; color: #0d1217 !important; text-decoration: none; }
}

/* Flou derrière la rangée de l'en-tête uniquement (jamais sur #masthead : il casserait le collant) */
.site-main-header-wrap .site-header-row-container-inner { -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }

/* Tableaux de listes : le style natif de WordPress (bordures sur chaque cellule) est remplacé */
.wp-block-table.pd-liste table { border: 0; }
.wp-block-table.pd-liste td, .wp-block-table.pd-liste th { border: 0; border-bottom: 1px solid #2c3a49; background: transparent; padding: .7rem 0; }
.wp-block-table.pd-liste tr:first-child td { border-top: 1px solid #2c3a49; }
.wp-block-table.pd-liste td + td { border-left: 0; }
.wp-block-table.pd-liste { margin: 0; }

/* Listes : aucun retrait ni puce hérités du thème */
.entry-content ul.pd-noms, .entry-content ol.pd-etapes, ul.wp-block-list.pd-noms, ol.wp-block-list.pd-etapes { padding-left: 0; margin-left: 0; margin-bottom: 0; }
.entry-content ol.pd-etapes li { padding-left: 3rem; }
