/*
 * templatecss/partenaire.css (21/10/2026) - pages "Financer" et "Assurer" (pages/_partenaire.php), classes pt-.
 * Charte : titre a trait jaune, cartes blanches (bordure #e2e2e2, coins 8 px), bleu #2977dc, telephone d'abord.
 * Le formulaire est un cadre du partenaire (Plurielmedia) : ses couleurs ne se reglent pas ici.
 */
.pt-page { padding-bottom: 24px; }
.pt { box-sizing: border-box; max-width: 1000px; margin: 0 auto; padding: 14px 14px 0; font: 14px/1.45 Arial, Helvetica, sans-serif; color: #222; }
.pt *, .pt *::before, .pt *::after { box-sizing: border-box; }
.pt-retour { display: inline-block; padding: 8px 0; font-weight: bold; color: #2977dc; text-decoration: none; }
.pt-retour:hover { text-decoration: underline; color: #1f63bd; }
.pt-grille { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 4px; }
.pt-principal, .pt-cote { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.pt-carte { background: #fff; border: 1px solid #e2e2e2; border-radius: 8px; box-shadow: 0 1px 3px rgba(0, 0, 0, .05); padding: 14px; }
/* float / width : une regle ancienne du site fait flotter les h1 (titre et texte cote a cote sinon) */
.pt-h1 { float: none; width: auto; margin: 0 0 12px; padding: 0 0 0 10px; border-left: 5px solid #ffc702; font: bold 19px/1.25 Arial, Helvetica, sans-serif; color: #1f2a37; background: none; text-transform: none; }
.pt-aide { margin: 12px 0 0; color: #333; }
.pt-projet { display: flex; gap: 10px; align-items: center; background: #f5f8fd; border-radius: 8px; padding: 8px; }
.pt-projet img { flex: 0 0 84px; width: 84px; height: 60px; border-radius: 6px; object-fit: cover; background: #e6eaf0; }
.pt-projet-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.pt-projet-txt b { font-size: 15px; color: #1f2a37; }
.pt-projet-txt > span { font-size: 13px; color: #5b6472; }
.pt-projet-lib { font-size: 12.5px; color: #5b6472; }
.pt-form { padding: 8px; overflow: hidden; }
.pt-form iframe { display: block; width: 100% !important; max-width: 100% !important; border: 0; }
.pt-partenaire { margin: 6px 6px 2px; padding-top: 8px; border-top: 1px solid #eef0f3; font-size: 12.5px; color: #5b6472; }
.pt-mention { margin: 0; padding: 10px 14px; border: 1px solid #f5d77a; border-radius: 8px; background: #fff8e1; font-size: 13.5px; color: #1f2a37; }
.pt-etapes h2 { margin: 0 0 8px; font: bold 16px Arial, Helvetica, sans-serif; color: #1f2a37; background: none; padding: 0; border: 0; text-transform: none; }
.pt-etapes ol { margin: 0; padding: 0; list-style: none; counter-reset: pt; display: flex; flex-direction: column; gap: 8px; }
.pt-etapes li { counter-increment: pt; display: flex; gap: 10px; align-items: flex-start; }
.pt-etapes li::before { content: counter(pt); flex: 0 0 24px; height: 24px; border-radius: 50%; background: #2977dc; color: #fff; font: bold 13px/24px Arial, Helvetica, sans-serif; text-align: center; }
.pt-projet-grand { display: none; padding: 0; overflow: hidden; color: #222; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.pt-projet-grand img { display: block; width: 100%; height: 170px; object-fit: cover; background: #e6eaf0; }
.pt-projet-grand .pt-projet-lib { display: block; padding: 10px 14px 0; }
.pt-projet-nom { display: block; padding: 2px 14px 0; font-size: 16px; color: #1f2a37; }
.pt-projet-inf { display: block; padding: 2px 14px 0; font-size: 13px; color: #5b6472; }
.pt-projet-prix { display: block; padding: 6px 14px 14px; font-size: 18px; color: #1f2a37; }
.pt-autre { display: flex; align-items: center; gap: 10px; min-height: 64px; border-color: #2977dc; color: #1f2a37; text-decoration: none; transition: background-color .15s; }
.pt-autre > span:first-child { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.pt-autre b { font-size: 15px; }
.pt-autre span span { font-size: 13px; color: #5b6472; }
.pt-fl { color: #2977dc; font-size: 24px; line-height: 1; }
.pt-autre:hover, .pt-autre:focus-visible { background: #f5f8fd; text-decoration: none; }
.pt-projet-grand:hover, .pt-projet-grand:focus-visible { border-color: #2977dc; box-shadow: 0 4px 12px rgba(41, 119, 220, .15); text-decoration: none; }
.pt a:focus-visible { outline: 2px solid #1f63bd; outline-offset: 2px; }
@media (min-width: 731px) {
	.pt { padding: 18px 20px 0; }
	.pt-h1 { font-size: 22px; }
	.pt-carte { padding: 18px; }
	.pt-form { padding: 10px; }
}
/* ordinateur : formulaire a gauche, voiture et lien croise a droite (la petite carte du haut disparait) */
@media (min-width: 981px) {
	.pt-grille { grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: start; }
	.pt-projet-court { display: none; }
	.pt-projet-grand { display: block; }
	/* 21/10/2026 (gerant) : voiture toujours visible en descendant (meme reglage que la colonne de droite de la fiche,
	   templatecss/fiche-2col.css : sticky a 70 px, sous la barre du menu quand elle reapparait) */
	.pt-cote { position: sticky; top: 70px; }
}
@media (prefers-reduced-motion: reduce) { .pt * { transition: none !important; } }
/* 21/10/2026 (gerant) : coeur des favoris (.sim-heart-btn de style.css, comportement js/favoris.js) : a droite de la petite
   carte (telephone, tablette), sur la photo de la grande carte (ordinateur) */
.pt-projet .sim-heart-btn { position: static; flex: 0 0 40px; width: 40px; height: 40px; margin-left: auto; border: 0; padding: 0; }
.pt-ph { position: relative; display: block; }
.pt-ph .sim-heart-btn { top: 8px; right: 8px; width: 36px; height: 36px; border: 0; padding: 0; }
.pt .sim-heart-btn svg { width: 18px; height: 18px; }
.pt .sim-heart-btn:focus-visible { outline: 2px solid #1f63bd; outline-offset: 2px; }
