/* ==========================================================================
   Catanduanes Food Places — submission form + details card
   Upload to the child theme's /css/ folder. Loaded by the Food Places snippet.
   ========================================================================== */

.icpf-form-wrap {
	max-width: 820px;
	margin: 0 auto;
	font-family: "Nunito", system-ui, sans-serif;
	color: #14275A;
}
.icpf-form-head { margin-bottom: 20px; }
.icpf-eyebrow {
	display: inline-block;
	margin: 0 0 8px;
	padding: 4px 12px;
	border-radius: 999px;
	background: #F1EAFB;
	color: #5B2A9A;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.icpf-form-head h2 {
	margin: 0 0 8px;
	font-family: "Fraunces", Georgia, serif;
	font-weight: 800;
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.1;
}
.icpf-form-head p { margin: 0; font-size: 17px; line-height: 1.55; color: #22304A; }

.icpf-notice {
	margin: 0 0 20px;
	padding: 14px 18px;
	border-radius: 12px;
	font-weight: 700;
}
.icpf-notice--ok  { background: #E1F4E8; color: #1D6E3E; border: 1.5px solid #9BD8A6; }
.icpf-notice--err { background: #FDE8EA; color: #A3212D; border: 1.5px solid #F2A6AE; }

.icpf-form fieldset {
	margin: 0 0 18px;
	padding: 18px 20px 20px;
	border: 1.5px solid #D6E4F2;
	border-radius: 16px;
	background: #FFFFFF;
}
.icpf-form legend {
	padding: 0 8px;
	font-family: "Fraunces", Georgia, serif;
	font-weight: 800;
	font-size: 19px;
}
.icpf-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4px 16px;
}
.icpf-field { margin: 0 0 10px; }
.icpf-field--full { grid-column: 1 / -1; }
.icpf-field label,
.icpf-consent {
	display: block;
	margin-bottom: 6px;
	font-size: 15px;
	font-weight: 800;
}
.icpf-form input[type="text"],
.icpf-form input[type="tel"],
.icpf-form input[type="email"],
.icpf-form input[type="url"],
.icpf-form select,
.icpf-form textarea {
	width: 100%;
	box-sizing: border-box;
	min-height: 46px;
	padding: 10px 14px;
	border: 1.5px solid #B9CDE2;
	border-radius: 10px;
	background: #FFFFFF;
	font: 600 16px "Nunito", system-ui, sans-serif;
	color: #14275A;
}
.icpf-form textarea { min-height: 110px; resize: vertical; }
.icpf-form input:focus,
.icpf-form select:focus,
.icpf-form textarea:focus {
	outline: 3px solid #7FD6E8;
	outline-offset: 1px;
	border-color: #1A6F8E;
}
.icpf-checks {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: 6px;
	font-weight: 700;
}
.icpf-checks label,
.icpf-consent {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 32px;
	cursor: pointer;
}
.icpf-consent { margin-top: 6px; font-weight: 700; }
.icpf-form input[type="checkbox"] { width: 18px; height: 18px; accent-color: #1A6F8E; }
.icpf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.icpf-submit {
	min-height: 50px;
	padding: 0 32px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(180deg, #1A6F8E, #0D4560);
	color: #FFFFFF;
	font: 800 17px "Nunito", system-ui, sans-serif;
	cursor: pointer;
	box-shadow: 0 3px 0 #08303F;
}
.icpf-submit:hover,
.icpf-submit:focus-visible { filter: brightness(1.1); }

/* Details card on a food place's page */
.icpf-card {
	margin: 0 0 24px;
	padding: 18px 20px;
	border: 1.5px solid #D6E4F2;
	border-top: 5px solid #E02D3C;
	border-radius: 16px;
	background: #FFFFFF;
	font-family: "Nunito", system-ui, sans-serif;
	color: #14275A;
}
.icpf-card dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 24px;
	margin: 0;
}
.icpf-card dt {
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #6B5E52;
}
.icpf-card dd { margin: 2px 0 0; font-size: 16px; font-weight: 700; }
.icpf-card__links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.icpf-btn {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 20px;
	border-radius: 999px;
	background: #0F5470;
	color: #FFFFFF;
	font-weight: 800;
	text-decoration: none;
}
.icpf-btn:hover,
.icpf-btn:focus-visible { color: #FFFFFF; filter: brightness(1.1); }
.icpf-btn--ghost {
	background: #FFFFFF;
	color: #0F5470;
	border: 2px solid #0F5470;
}
.icpf-btn--ghost:hover,
.icpf-btn--ghost:focus-visible { color: #0F5470; background: #EEF6FE; }

@media (max-width: 640px) {
	.icpf-grid,
	.icpf-card dl { grid-template-columns: 1fr; }
	.icpf-form fieldset { padding: 14px 14px 16px; }
}
