.popcorncatering-form-container
{
	max-width:	900px;
	margin:		0 auto;
	padding:	16px;
}

.popcorncatering-form
{
	font-family:	system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size:		16px;
	line-height:	1.4;

	background:		#fff;
	border:			1px solid #e5e5e5;
	border-radius:	10px;
	padding:		18px;

	color:			#111;
}

.popcorncatering-form * ,
.popcorncatering-form *::before ,
.popcorncatering-form *::after
{
	box-sizing: border-box;
}

.popcorncatering-form-title
{
	margin:		0 0 14px 0;
	padding:	0;
	font-size:	22px;
	font-weight: 700;
}

.popcorncatering-section
{
	margin:		16px 0;
	padding:	14px;
	border:		1px solid #eee;
	border-radius: 10px;

	background: #fafafa;
}

.popcorncatering-legend
{
	padding:	0 6px;
	font-weight: 700;
}

.popcorncatering-field
{
	margin: 12px 0;
}

.popcorncatering-label
{
	display:		block;
	margin-bottom:	6px;
	font-weight:	600;
}

.popcorncatering-required
{
	color: #b00020;
	margin-left: 4px;
}

.popcorncatering-input,
.popcorncatering-textarea,
.popcorncatering-file
{
	width:			100%;
	max-width:		100%;
	display:		block;

	padding:		10px 12px;
	border:			1px solid #cfcfcf;
	border-radius:	8px;

	background:		#fff;
	color:			#111;

	font-size:		16px;
	line-height:	1.3;

	outline:		none;
}

.popcorncatering-textarea
{
	min-height: 110px;
	resize: vertical;
}

.popcorncatering-input:focus,
.popcorncatering-textarea:focus,
.popcorncatering-file:focus
{
	border-color: #2b6cb0;
	box-shadow: 0 0 0 3px rgba(43, 108, 176, 0.18);
}

.popcorncatering-radio-group
{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 6px;
}

.popcorncatering-radio
{
	display: inline-flex;
	align-items: center;
	gap: 8px;

	padding: 8px 10px;
	border: 1px solid #d7d7d7;
	border-radius: 999px;
	background: #fff;

	user-select: none;
}

.popcorncatering-radio-input
{
	margin: 0;
}

.popcorncatering-checkbox
{
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.popcorncatering-checkbox-input
{
	margin: 0;
}

.popcorncatering-actions
{
	display: flex;
	align-items: center;
	gap: 12px;

	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid #eee;
}

.popcorncatering-submit
{
	appearance: none;
	border: 0;
	border-radius: 10px;
	padding: 10px 16px;

	background: #2b6cb0;
	color: #fff;
	font-weight: 700;
	cursor: pointer;

	font-size: 16px;
	line-height: 1;
}

.popcorncatering-submit:disabled
{
	opacity: 0.6;
	cursor: not-allowed;
}

.popcorncatering-status
{
	display: inline-block;
	font-weight: 700;
}

.popcorncatering-status.is-busy
{
	color: #444;
}

.popcorncatering-status.is-ok
{
	color: #1a7f37;
}

.popcorncatering-status.is-bad
{
	color: #b00020;
}

/* Defensive resets: prevent theme styles from doing weird things */
.popcorncatering-form input,
.popcorncatering-form textarea,
.popcorncatering-form button
{
	font-family: inherit;
}

.popcorncatering-form fieldset
{
	min-width: 0;
}

.popcorncatering-form legend
{
	float: none;
}

.popcorncatering-form-picker
{
	margin: 0 0 14px 0;
	padding: 14px;
	border: 1px solid #eee;
	border-radius: 10px;
	background: #fafafa;
}

/* Photo preview */
.popcorncatering-photo-preview
{
	margin-top: 10px;
	border: 1px solid #e6e6e6;
	border-radius: 10px;
	padding: 10px;
	background: #fafafa;
	cursor: pointer;
	max-width: 320px;
}

.popcorncatering-photo-preview img.popcorncatering-photo-thumb
{
	display: block;
	width: 100px;
	height: auto;
	border-radius: 8px;
}

.popcorncatering-photo-hint
{
	margin-top: 6px;
	font-size: 12px;
	opacity: 0.7;
}

/* readonly images */
.popcorncatering-file-readonly img.popcorncatering-photo-thumb
{
	max-width: 320px;
	width: 100px;
	height: auto;
	border-radius: 8px;
	border: 1px solid #e6e6e6;
}

/* After successful submission, hide the form fields but keep title + status */
.popcorncatering-form.is-submitted .popcorncatering-section,
.popcorncatering-form.is-submitted .popcorncatering-submit
{
	display: none !important;
}

.popcorncatering-form.is-submitted .popcorncatering-status
{
	display: inline-block;
	font-weight: 600;
}

/* Modal overlay */
#popcorncatering-modal
{
	position: fixed;
	inset: 0;
	display: none;
	z-index: 999999;
}

#popcorncatering-modal.is-open
{
	display: block;
}

#popcorncatering-modal .popcorncatering-modal-backdrop
{
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.65);
}

#popcorncatering-modal .popcorncatering-modal-panel
{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	max-width: min(92vw, 900px);
	max-height: 92vh;
	background: #111;
	border-radius: 14px;
	padding: 12px;
	box-shadow: 0 10px 40px rgba(0,0,0,0.4);
}

#popcorncatering-modal .popcorncatering-modal-image
{
	display: block;
	max-width: 100%;
	max-height: calc(92vh - 60px);
	margin: 0 auto;
	border-radius: 10px;
	background: #111;
}

#popcorncatering-modal .popcorncatering-modal-close
{
	position: absolute;
	right: 10px;
	top: 6px;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	border: 0;
	background: rgba(255,255,255,0.12);
	color: #fff;
	font-size: 24px;
	line-height: 38px;
	cursor: pointer;
}

#popcorncatering-modal .popcorncatering-modal-close:hover
{
	background: rgba(255,255,255,0.2);
}


/* Status dots (shared with admin style) */
.pc-dot{display:inline-block;width:10px;height:10px;border-radius:999px;vertical-align:middle;margin-right:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.12);} 
.pc-dot-green{background:#2ecc71;} 
.pc-dot-yellow{background:#f1c40f;} 
.pc-dot-grey{background:#bdc3c7;} 

.popcorncatering-status-panel{margin:0 0 16px 0;padding:12px 12px 4px 12px;border:1px solid rgba(0,0,0,0.08);border-radius:8px;background:rgba(255,255,255,0.75);} 
.popcorncatering-status-title{margin:0 0 10px 0;font-size:16px;} 
.popcorncatering-status-table{width:100%;border-collapse:collapse;} 
.popcorncatering-status-table th,.popcorncatering-status-table td{padding:8px 8px;border-bottom:1px solid rgba(0,0,0,0.06);text-align:left;} 
.popcorncatering-status-table thead th{font-weight:600;} 


.popcorncatering-admin-table
{
	table-layout: fixed;
	width: 100%;
	font-size: 12px;
}

.popcorncatering-admin-table th,
.popcorncatering-admin-table td
{
	padding: 6px 8px;
	vertical-align: middle;
}

.popcorncatering-admin-table th.pc-table-head
{
	white-space: normal;
	line-height: 1.15;
	text-align: center;
}

.popcorncatering-admin-table td.pc-cell-status,
.popcorncatering-admin-table td.pc-cell-count
{
	text-align: center;
}

.popcorncatering-admin-table .pc-col-date
{
	white-space: nowrap;
	width: 130px;
}

.popcorncatering-admin-table .pc-col-location
{
	white-space: normal;
	width: 140px;
}

.pc-dot-link
{
	text-decoration: none;
}


.pc-col-date-na code
{
	color: #888;
}

.pc-assistant-suffix
{
	display: inline-block;
	margin-left: 4px;
	font-size: 11px;
	color: #555;
	font-weight: 600;
}


.popcorncatering-field-heading
{
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 6px;
}


.popcorncatering-form-picker-head
{
	display:		flex;
	align-items:	center;
	justify-content: space-between;
	gap:		12px;
	margin-bottom:	6px;
	flex-wrap:	wrap;
}

.popcorncatering-form-picker-head .popcorncatering-label
{
	margin-bottom:	0;
}

.popcorncatering-back-to-top
{
	display:		inline-block;
	font-size:	14px;
	text-decoration: none;
	white-space:	nowrap;
}

.popcorncatering-back-to-top:hover
{
	text-decoration: underline;
}

@media (min-width: 901px)
{
	.popcorncatering-back-to-top
	{
		position:	sticky;
		top:		12px;
	}
}

.popcorncatering-columns
{
	display:		grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap:		12px;
	align-items:	end;
}

.popcorncatering-column
{
	min-width: 0;
}

.popcorncatering-col-wide
{
	grid-column: span 2;
}

.popcorncatering-col-narrow
{
	grid-column: span 1;
}

.popcorncatering-field-static
{
	margin: 0;
}

.popcorncatering-static-text
{
	padding:	10px 0;
	font-weight:	600;
	line-height:	1.3;
}

@media (max-width: 800px)
{
	.popcorncatering-columns
	{
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.popcorncatering-col-wide,
	.popcorncatering-col-narrow
	{
		grid-column: span 1;
	}

	.popcorncatering-static-text
	{
		padding-bottom: 0;
	}
}



.popcorncatering-columns.hot-food-probe-wide-row .popcorncatering-col-wide,
.popcorncatering-columns.hot-food-probe-wide-row .popcorncatering-col-narrow,
.popcorncatering-columns.hot-food-probe-top-row .popcorncatering-col-wide,
.popcorncatering-columns.hot-food-probe-top-row .popcorncatering-col-narrow
{
	grid-column:	span 1;
}

.popcorncatering-columns.hot-food-probe-wide-row
{
	grid-template-columns:	1.15fr repeat(6, minmax(0, 0.8fr));
	gap:		8px;
}

.popcorncatering-columns.hot-food-probe-wide-row .popcorncatering-col-medium
{
	grid-column: span 1;
}

.popcorncatering-columns.hot-food-probe-wide-row .popcorncatering-static-text,
.popcorncatering-columns.hot-food-probe-wide-row .popcorncatering-label
{
	font-size:	11px;
	line-height:	1.15;
	white-space:	nowrap;
}

.popcorncatering-columns.hot-food-probe-wide-row .popcorncatering-static-text
{
	padding:	6px 0;
}

.popcorncatering-columns.hot-food-probe-wide-row .popcorncatering-input
{
	font-size:	13px;
	padding:	8px 8px;
}

@media (max-width: 1100px)
{
	.popcorncatering-columns.hot-food-probe-wide-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.popcorncatering-columns.hot-food-probe-wide-row .popcorncatering-static-text,
	.popcorncatering-columns.hot-food-probe-wide-row .popcorncatering-label
	{
		white-space: normal;
	}
}


.popcorncatering-columns.hot-food-probe-hide-labels .popcorncatering-label
{
	display:	none;
}

.popcorncatering-columns.hot-food-probe-hide-labels .popcorncatering-field
{
	margin:	0;
}

.popcorncatering-columns.hot-food-probe-top-row
{
	grid-template-columns:	1.2fr repeat(4, minmax(0, 0.8fr));
	gap:		8px;
}

.popcorncatering-columns.hot-food-probe-top-row .popcorncatering-static-text,
.popcorncatering-columns.hot-food-probe-top-row .popcorncatering-label
{
	font-size:	11px;
	line-height:	1.15;
	white-space:	nowrap;
}

.popcorncatering-columns.hot-food-probe-top-row .popcorncatering-static-text
{
	padding:	6px 0;
}

.popcorncatering-columns.hot-food-probe-top-row .popcorncatering-input
{
	font-size:	13px;
	padding:	8px 8px;
}

@media (max-width: 1100px)
{
	.popcorncatering-columns.hot-food-probe-top-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.popcorncatering-columns.hot-food-probe-top-row .popcorncatering-static-text,
	.popcorncatering-columns.hot-food-probe-top-row .popcorncatering-label
	{
		white-space: normal;
	}
}


/* Keep hot food probe rows in grid on narrow screens; scroll horizontally instead of stacking */
.popcorncatering-form .popcorncatering-section
{
	overflow-x:	auto;
}

.popcorncatering-columns.hot-food-probe-top-row
{
	min-width:	620px;
}

.popcorncatering-columns.hot-food-probe-wide-row
{
	min-width:	860px;
}

@media (max-width: 1100px)
{
	.popcorncatering-columns.hot-food-probe-top-row
	{
		grid-template-columns:	1.2fr repeat(4, minmax(90px, 0.8fr));
		gap:		8px;
	}

	.popcorncatering-columns.hot-food-probe-wide-row
	{
		grid-template-columns:	1.15fr repeat(6, minmax(82px, 0.8fr));
		gap:		8px;
	}

	.popcorncatering-columns.hot-food-probe-top-row .popcorncatering-static-text,
	.popcorncatering-columns.hot-food-probe-top-row .popcorncatering-label,
	.popcorncatering-columns.hot-food-probe-wide-row .popcorncatering-static-text,
	.popcorncatering-columns.hot-food-probe-wide-row .popcorncatering-label
	{
		white-space:	nowrap;
	}
}
