/* Rapport Plugin Styles — v1.2.4 */

#content {
	margin-top: 1.5em;
}

/* -----------------------------------------------------------------------
   Feedback form wrapper
----------------------------------------------------------------------- */

.remark-rapport-form {
	font-size: initial;
}

.remark-rapport-form form > div {
	margin-top: 0.5rem;
}

.remark-rapport-form label {
	opacity: 0.8;
	font-size: 80%;
}

.remark-rapport-form input[type="email"],
.remark-rapport-form textarea {
	width: 100%;
}

/* Form title */
.remark-rapport-form .remark-rapport-feedback-title {
	margin-bottom: 0.5em;
}

/* Explanatory text above the form */
.remark-rapport-form .remark-rapport-feedback-explanation {
	margin-bottom: 1em;
	opacity: 0.8;
}

/* Textarea section */
.remark-rapport-form .remark-rapport-feedback-textarea {
	margin-bottom: 0.5rem;
}

/* Photo upload button */
.remark-rapport-camera-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	background: #0073aa;
	color: white;
	border-radius: 6px;
	cursor: pointer;
	margin: 0 auto;
}

.remark-rapport-camera-button:hover {
	background: #005177;
}

.remark-rapport-camera-button .dashicons,
.remark-rapport-camera-button .remark-rapport-camera-icon {
	font-size: 32px;
	width: 32px;
	height: 32px;
	line-height: 1;
}

/* Image preview after photo selection */
.remark-rapport-form .remark-rapport-image-preview {
	margin-top: 10px;
	text-align: center;
}

.remark-rapport-form .remark-rapport-image-preview img {
	max-width: 200px;
	border: 1px solid #ccc;
	border-radius: 4px;
}

/* Contact opt-in section */
.remark-rapport-form .remark-rapport-feedback-contact {
	clear: both;
}

.remark-rapport-form .remark-rapport-feedback-contact div {
	margin-left: 1.5rem;
}

.remark-rapport-form .remark-rapport-feedback-contact div a {
	line-height: 1.5rem;
}

/* Submit button section */
.remark-rapport-feedback-submit {
	margin-top: 1rem;
	text-align: center;
}

.remark-rapport-feedback-submit button {
	background: #0073aa;
	color: #fff;
	border: none;
	padding: 10px 28px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 1em;
}

.remark-rapport-feedback-submit button:hover {
	background: #005177;
}

/* Thank you message shown after successful submission */
.remark-rapport-feedback-thankyou {
	padding: 1em;
	margin: 1em 0;
	text-align: center;
}

/* "More feedback?" button shown inside thank-you message */
.remark-rapport-more-feedback {
	display: inline-block;
	margin-top: 0.75em;
}

a.remark-rapport-more-feedback.button {
	text-decoration: none;
}

/* Inline validation error message */
.remark-rapport-form .remark-rapport-feedback-error {
	padding: 0.75em 1em;
	background: #fef7f7;
	border-left: 4px solid #dc3232;
	margin: 0.5em 0;
	color: #dc3232;
}

/* Generic error (e.g. from [rapport_feedback] shortcode) */
.remark-rapport-error {
	padding: 0.75em 1em;
	background: #fef7f7;
	border-left: 4px solid #dc3232;
	color: #dc3232;
	margin: 0.5em 0;
}

/* External link icon */
.remark-rapport-form a[target]::after {
	content: "🗗";
	margin-left: 4px;
	display: inline-block;
	vertical-align: super;
}

/* Contact checkbox width */
#allow_contact_checkbox {
	width: 1.25em;
}

/* -----------------------------------------------------------------------
   [rapport_cases] shortcode grid
----------------------------------------------------------------------- */

.remark-rapport-objects-list {
	margin-top: 4em;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 10px;
}

.remark-rapport-object-item {
	flex: 0 0 calc(50% - 5px);
	max-width: 200px;
	box-sizing: border-box;
	text-decoration: none;
	color: inherit;
	background-color: white;
	padding: 5px 10px;
	border-radius: 8px;
}

.remark-rapport-object-item h3 {
	font-size: 18px;
	margin-bottom: 0.5em;
}

.remark-rapport-object-item h3 a {
	color: inherit !important;
	text-decoration: none !important;
}

.remark-rapport-object-item > a {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.remark-rapport-object-item a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.remark-rapport-object-item .remark-rapport-object-excerpt {
	font-size: 0.85em;
	color: #666;
	margin-top: 0.25em;
	margin-bottom: 1em;
}

/* Empty state message */
.remark-rapport-no-objects {
	color: #888;
	font-style: italic;
}

/* -----------------------------------------------------------------------
   Featured image — single maintenance_object
----------------------------------------------------------------------- */

.single-maintenance_object .remark-featured-image {
	cursor: pointer;
}

/* Mobile: full width square */
@media (max-width: 639px) {
	.single-maintenance_object .remark-featured-image {
		width: 100%;
		aspect-ratio: 1 / 1;
		overflow: hidden;
		margin-bottom: 2em;
	}
	.single-maintenance_object .remark-featured-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
}

/* Desktop: top right 300x300 */
@media (min-width: 640px) {
	.single-maintenance_object .remark-featured-image {
		float: right;
		width: 300px;
		height: 300px;
		overflow: hidden;
		margin: 0 0 1em 1em;
	}
	.single-maintenance_object .remark-featured-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
}

/* -----------------------------------------------------------------------
   Report thread entries (meta box + external page)
----------------------------------------------------------------------- */

.remark-rapport-success-message {
	background: #edfaed;
	border: 1px solid #b2dfb2;
	padding: 10px 14px;
	border-radius: 4px;
	margin-bottom: 20px;
}

.remark-rapport-thread-entry {
	padding: 10px 14px;
	margin-bottom: 10px;
	border-left: 4px solid #ddd;
	background: #f9f9f9;
	border-radius: 0 4px 4px 0;
	overflow: hidden;
}

.remark-rapport-thread-entry.remark-rapport-thread-reply {
	border-left-color: #2271b1;
	background: #fff;
}

.remark-rapport-thread-entry .remark-rapport-entry-meta {
	font-size: 11px;
	color: #999;
	margin-bottom: 5px;
}

.remark-rapport-thread-entry .remark-rapport-entry-body {
	margin: 0;
	white-space: pre-wrap;
	font-size: 13px;
}

.remark-rapport-thread-entry .remark-rapport-entry-photo {
	float: right;
	margin: 0 0 6px 12px;
	cursor: zoom-in;
}

.remark-rapport-thread-entry .remark-rapport-entry-photo img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: 3px;
	display: block;
}

.remark-rapport-thread-append {
	margin-top: 16px;
	border-top: 1px solid #eee;
	padding-top: 14px;
	clear: both;
}

.remark-rapport-thread-append textarea {
	width: 100%;
	box-sizing: border-box;
	font-size: 13px;
}

/* -----------------------------------------------------------------------
   Lightbox overlay
----------------------------------------------------------------------- */

.remark-lightbox-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	z-index: 99999;
	cursor: pointer;
}

.remark-lightbox-overlay.active {
	display: flex;
	align-items: center;
	justify-content: center;
}

.remark-lightbox-overlay img {
	max-width: 90%;
	max-height: 90%;
	object-fit: contain;
}

/* -----------------------------------------------------------------------
   ACF fields rendered on frontend
   Fix prepend/append display — ACF only styles these in wp-admin
----------------------------------------------------------------------- */

/* 12-column grid layout for ACF fields.
   Set the wrapper class on an ACF field to remark-col-1 through remark-col-12
   to control its width. Fields without a column class take full width.
   On mobile all fields collapse to full width. */
.remark-rapport-acf-group {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75em;
}

.remark-rapport-acf-group .acf-field {
	flex: 0 0 100%;
	min-width: 0;
	box-sizing: border-box;
}

.remark-rapport-acf-group .acf-field.remark-col-1  { flex-basis: calc(1  / 12 * 100% - 0.75em); }
.remark-rapport-acf-group .acf-field.remark-col-2  { flex-basis: calc(2  / 12 * 100% - 0.75em); }
.remark-rapport-acf-group .acf-field.remark-col-3  { flex-basis: calc(3  / 12 * 100% - 0.75em); }
.remark-rapport-acf-group .acf-field.remark-col-4  { flex-basis: calc(4  / 12 * 100% - 0.75em); }
.remark-rapport-acf-group .acf-field.remark-col-5  { flex-basis: calc(5  / 12 * 100% - 0.75em); }
.remark-rapport-acf-group .acf-field.remark-col-6  { flex-basis: calc(6  / 12 * 100% - 0.75em); }
.remark-rapport-acf-group .acf-field.remark-col-7  { flex-basis: calc(7  / 12 * 100% - 0.75em); }
.remark-rapport-acf-group .acf-field.remark-col-8  { flex-basis: calc(8  / 12 * 100% - 0.75em); }
.remark-rapport-acf-group .acf-field.remark-col-9  { flex-basis: calc(9  / 12 * 100% - 0.75em); }
.remark-rapport-acf-group .acf-field.remark-col-10 { flex-basis: calc(10 / 12 * 100% - 0.75em); }
.remark-rapport-acf-group .acf-field.remark-col-11 { flex-basis: calc(11 / 12 * 100% - 0.75em); }
.remark-rapport-acf-group .acf-field.remark-col-12 { flex-basis: 100%; }

@media (max-width: 600px) {
	.remark-rapport-acf-group .acf-field[class*="remark-col-"] {
		flex-basis: 100%;
	}
}

.remark-rapport-acf-group .acf-input {
	display: flex;
	align-items: stretch;
}

.remark-rapport-acf-group .acf-input-wrap {
	flex: 1;
}

.remark-rapport-acf-group .acf-input-prepend,
.remark-rapport-acf-group .acf-input-append {
	display: flex;
	align-items: center;
	padding: 0 8px;
	background: #f0f0f0;
	border: 1px solid #ccc;
	white-space: nowrap;
	font-size: 0.9em;
	line-height: 1;
}

.remark-rapport-acf-group .acf-input-prepend {
	border-right: none;
	border-radius: 3px 0 0 3px;
}

.remark-rapport-acf-group .acf-input-append {
	order: 1;
	border-left: none;
	border-radius: 0 3px 3px 0;
}

.remark-rapport-acf-group .acf-is-prepended,
.remark-rapport-acf-group .acf-is-appended {
	flex: 1;
}

.remark-rapport-acf-group .acf-is-prepended {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.remark-rapport-acf-group .acf-is-appended {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
