/* --- Formulaire d'ajout rapide (mobile) --- */
.fbro-add-wrap{
	max-width:480px;
	margin:0 auto;
	padding:20px;
	padding-bottom:60px;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.fbro-add-wrap h2{
	font-size:22px;
	margin-bottom:16px;
}
#fbro-add-form label{
	display:block;
	font-weight:600;
	margin:14px 0 6px;
	font-size:14px;
	color:#333;
}
#fbro-add-form input[type=text],
#fbro-add-form input[type=number],
#fbro-add-form input[type=date],
#fbro-add-form select,
#fbro-add-form textarea{
	width:100%;
	padding:12px 14px;
	font-size:16px; /* évite le zoom automatique iOS */
	border:1px solid #ccc;
	border-radius:24px;
	box-sizing:border-box;
	background:#fff;
}
#fbro-add-form textarea{ border-radius:14px; }

/* Zone photos - vignettes + bouton ajouter */
.fbro-photos-zone{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:6px;
}
.fbro-slot{
	position:relative;
	width:90px;
	height:90px;
	border-radius:10px;
	overflow:hidden;
	border:2px solid #e5e5e5;
}
.fbro-slot img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.fbro-slot.fbro-slot-principale{ border-color:#1a1a1a; }
.fbro-slot-remove{
	position:absolute;
	top:3px;
	right:3px;
	width:20px;
	height:20px;
	line-height:18px;
	text-align:center;
	background:rgba(0,0,0,0.65);
	color:#fff;
	border-radius:50%;
	font-size:13px;
	cursor:pointer;
}
.fbro-slot-star{
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	background:rgba(0,0,0,0.6);
	color:#fff;
	font-size:10px;
	text-align:center;
	padding:2px 0;
	cursor:pointer;
}
.fbro-slot.fbro-slot-principale .fbro-slot-star{ background:#1a1a1a; }
.fbro-slot-ajouter{
	width:90px;
	height:90px;
	border-radius:10px;
	border:2px dashed #999;
	background:#f6f6f6;
	font-size:13px;
	color:#555;
	cursor:pointer;
}

.fbro-two-cols{
	display:flex;
	gap:12px;
}
.fbro-two-cols label{ flex:1; }
.fbro-ttc-live{
	margin-top:10px;
	background:#f6f7f7;
	padding:10px 14px;
	border-left:3px solid #2271b1;
	font-size:15px;
	border-radius:4px;
}

/* Interrupteurs oui/non */
.fbro-toggle-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:12px 2px;
	border-bottom:1px solid #eee;
	font-size:15px;
}
.fbro-switch{
	position:relative;
	display:inline-block;
	width:44px;
	height:26px;
}
.fbro-switch input{
	opacity:0;
	width:0;
	height:0;
}
.fbro-switch span{
	position:absolute;
	inset:0;
	background:#ccc;
	border-radius:26px;
	transition:background .2s ease;
}
.fbro-switch span::before{
	content:"";
	position:absolute;
	width:20px;
	height:20px;
	left:3px;
	top:3px;
	background:#fff;
	border-radius:50%;
	transition:transform .2s ease;
}
.fbro-switch input:checked + span{ background:#1a1a1a; }
.fbro-switch input:checked + span::before{ transform:translateX(18px); }

#fbro-add-form button{
	width:100%;
	margin-top:14px;
	padding:14px;
	font-size:16px;
	font-weight:700;
	border:none;
	border-radius:24px;
	cursor:pointer;
}
.fbro-btn-principal{
	background:#1a1a1a;
	color:#fff;
}
.fbro-btn-secondaire{
	background:#fff;
	color:#1a1a1a;
	border:1px solid #1a1a1a !important;
}
#fbro-add-form button:disabled{ opacity:0.6; }
#fbro-add-status{
	margin-top:12px;
	font-weight:600;
	text-align:center;
}
.fbro-add-actions{
	display:none;
	flex-direction:column;
	gap:10px;
	margin-top:14px;
}
.fbro-add-actions .fbro-btn-lien{
	display:block;
	text-align:center;
	text-decoration:none;
}

/* --- Fiche peinture (front public) --- */
.fbro-fiche{
	margin-top:24px;
	padding:20px;
	border:1px solid #e2e2e2;
	border-radius:10px;
	background:#fafafa;
}
.fbro-fiche-infos{
	list-style:none;
	margin:18px 0;
	padding:0;
}
.fbro-fiche-infos li{
	padding:6px 0;
	border-bottom:1px solid #eee;
	font-size:15px;
}
.fbro-cta{
	display:inline-block;
	padding:14px 26px;
	background:#1a1a1a;
	color:#fff !important;
	text-decoration:none;
	border-radius:6px;
	font-weight:700;
	letter-spacing:.3px;
	margin-top:20px;
}
.fbro-cta:hover{ background:#333; }

/* --- Carrousel de photos + lightbox --- */
.fbro-carrousel{
	display:flex;
	gap:10px;
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	padding-bottom:4px;
	-webkit-overflow-scrolling:touch;
}
.fbro-carrousel a{
	flex:0 0 auto;
	scroll-snap-align:start;
	display:block;
	border-radius:8px;
	overflow:hidden;
	width:78%;
	max-width:420px;
}
.fbro-carrousel img{
	width:100%;
	height:auto;
	display:block;
	aspect-ratio:4/5;
	object-fit:cover;
	cursor:zoom-in;
}
.fbro-lightbox-overlay{
	position:fixed;
	inset:0;
	background:rgba(10,9,8,0.92);
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:9999;
	padding:20px;
	touch-action:pinch-zoom;
}
.fbro-lightbox-overlay img{
	max-width:100%;
	max-height:100%;
	object-fit:contain;
}
.fbro-lightbox-close{
	position:absolute;
	top:18px;
	right:22px;
	color:#fff;
	font-size:30px;
	line-height:1;
	cursor:pointer;
}

/* --- Grille de cartes (galerie par rubrique) --- */
.fbro-grille-galerie{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
	gap:24px;
	margin:30px 0;
}
.fbro-carte-tableau{
	display:block;
	text-decoration:none;
	color:inherit;
	border:1px solid #eee;
	border-radius:8px;
	overflow:hidden;
	transition:box-shadow .25s ease, transform .25s ease;
}
.fbro-carte-tableau:hover{
	transform:translateY(-3px);
	box-shadow:0 8px 20px rgba(0,0,0,0.08);
}
.fbro-carte-image{
	position:relative;
	aspect-ratio:4/5;
	background:#f2f2f2;
	overflow:hidden;
}
.fbro-carte-image img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.fbro-badge{
	position:absolute;
	top:12px;
	left:12px;
	font-size:11px;
	letter-spacing:.5px;
	text-transform:uppercase;
	padding:5px 10px;
	border-radius:3px;
	color:#fff;
}
.fbro-badge-dispo{ background:#2f8f4e; }
.fbro-badge-reserve{ background:#c98a00; }
.fbro-badge-vendu{ background:#b3261e; }
.fbro-carte-infos{ padding:14px 16px; }
.fbro-carte-infos h3{ font-size:16px; margin:0 0 6px; }
.fbro-carte-infos p{ font-size:13px; color:#666; margin:0 0 4px; }
.fbro-carte-prix{ font-weight:700; color:#1a1a1a !important; }
.fbro-galerie-vide{ text-align:center; color:#888; padding:40px 0; }

/* --- Bloc de proportions (silhouette) --- */
.fbro-proportion{
	margin-top:24px;
	padding-top:20px;
	border-top:1px solid #eee;
}
.fbro-proportion-titre{
	font-size:13px;
	text-transform:uppercase;
	letter-spacing:1px;
	color:#888;
	margin:0 0 12px;
}
.fbro-proportion svg{
	width:100%;
	max-width:420px;
	height:auto;
	display:block;
}
