/* =========================================================
   Moyak Insurance – product category tiles
   Seamless grid (no gaps) with the original orange hover.
   The tiles themselves remain plain core blocks in the editor;
   this file only adds the hover state, which block settings
   cannot express on their own.
   ========================================================= */
.moyak-product-tiles {
	gap: 1px !important;                                  /* thin gridlines, no spacing */
	background-color: var(--wp--preset--color--border);  /* gridline colour */
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	overflow: hidden;
}

.moyak-product-tiles > .wp-block-group {
	border: 0 !important;
	border-radius: 0 !important;
	transition: background 0.2s ease, color 0.2s ease;
}

/* Hover = brand orange gradient, white label + white icon (matches original) */
.moyak-product-tiles > .wp-block-group:hover {
	background: linear-gradient(to bottom, #f68545, #f2572d) !important;
}
.moyak-product-tiles > .wp-block-group:hover p,
.moyak-product-tiles > .wp-block-group:hover a {
	color: #ffffff !important;
}
.moyak-product-tiles > .wp-block-group:hover img {
	filter: brightness(0) invert(1);                     /* dark icon -> white on hover */
}

/* Hero video — show the FULL frame, scaled to fit the first view (no cropping) */
.wp-block-video.moyak-hero {
	text-align: center;
	background-color: #ffffff;
	margin-top: 0;
	margin-bottom: 0;
}
.wp-block-video.moyak-hero video {
	max-height: 72vh;
	width: auto;
	max-width: 100%;
	display: inline-block;
	vertical-align: middle;
}

/* Make the product tiles read as clickable (they now open the quote form). */
.moyak-product-tiles > .wp-block-group {
	cursor: pointer;
}

/* =========================================================
   Request a Quote – modal
   ========================================================= */
.moyak-quote-overlay {
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: rgba(20, 20, 20, 0.55);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 24px 16px;
	overflow-y: auto;
}
.moyak-quote-overlay[hidden] { display: none; }
body.moyak-modal-open { overflow: hidden; }

.moyak-quote-modal {
	position: relative;
	background: #ffffff;
	width: 100%;
	max-width: 600px;
	border-radius: 12px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	padding: 24px 24px 22px;
	margin: auto;
	color: #2b2b2b;
	font-size: 0.9rem;
	line-height: 1.4;
}

.moyak-quote-close {
	position: absolute;
	top: 10px;
	right: 14px;
	background: transparent;
	border: 0;
	font-size: 28px;
	line-height: 1;
	color: #6c6c6c;
	cursor: pointer;
	padding: 4px 8px;
}
.moyak-quote-close:hover { color: #f2582d; }

.moyak-quote-head { text-align: center; margin-bottom: 14px; }
.moyak-quote-eyebrow {
	margin: 0 0 3px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #f2582d;
}
.moyak-quote-head h2 { margin: 0 0 5px; font-size: 1.35rem; line-height: 1.2; }
.moyak-quote-sub { margin: 0; font-size: 0.85rem; line-height: 1.4; color: #6c6c6c; }

.moyak-fs {
	border: 1px solid #e9e9e9;
	border-radius: 8px;
	padding: 10px 14px 12px;
	margin: 0 0 12px;
}
.moyak-fs legend {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #363636;
	padding: 0 6px;
}
.moyak-help { margin: 0 0 8px; font-size: 0.85rem; color: #6c6c6c; }

.moyak-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px 16px;
}
/* Label = caption line (text + asterisk inline) above its field. */
.moyak-grid > label,
.moyak-block {
	display: block;
	font-size: 0.8rem;
	font-weight: 600;
	color: #363636;
	line-height: 1.3;
}
.moyak-block { margin-bottom: 10px; }
.moyak-block:last-child { margin-bottom: 0; }

.moyak-quote-modal input[type="text"],
.moyak-quote-modal input[type="tel"],
.moyak-quote-modal input[type="email"],
.moyak-quote-modal input[type="date"],
.moyak-quote-modal textarea {
	display: block;
	width: 100%;
	margin-top: 4px;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.3;
	padding: 7px 10px;
	border: 1px solid #d6d6d6;
	border-radius: 6px;
	background: #fff;
	color: #2b2b2b;
	box-sizing: border-box;
}
.moyak-quote-modal input:focus,
.moyak-quote-modal textarea:focus {
	outline: none;
	border-color: #f2582d;
	box-shadow: 0 0 0 2px rgba(242, 88, 45, 0.18);
}

.moyak-checks {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px 16px;
}
.moyak-check {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.9rem;
	font-weight: 500;
	color: #2b2b2b;
}
.moyak-check input { width: auto; margin: 0; }

.req { color: #f2582d; }
.opt { color: #9a9a9a; font-weight: 400; }

.moyak-verify .moyak-captcha {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.95rem;
	font-weight: 600;
}
.moyak-verify .moyak-captcha input {
	width: 90px;
	flex: 0 0 auto;
}

/* honeypot – visually hidden, off-screen */
.moyak-hp {
	position: absolute;
	left: -5000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.moyak-quote-error {
	margin: 4px 0 12px;
	padding: 10px 12px;
	background: #fdecea;
	border: 1px solid #f2582d;
	border-radius: 6px;
	color: #c0341a;
	font-size: 0.9rem;
}

.moyak-quote-actions { text-align: center; }
.moyak-quote-submit {
	display: inline-block;
	background: linear-gradient(135deg, #f68545 0%, #f2582d 100%);
	color: #fff;
	border: 0;
	border-radius: 8px;
	font-size: 1.05rem;
	font-weight: 700;
	padding: 12px 34px;
	cursor: pointer;
	transition: opacity 0.2s ease;
}
.moyak-quote-submit:hover { opacity: 0.92; }
.moyak-quote-submit:disabled { opacity: 0.6; cursor: default; }

@media (max-width: 600px) {
	.moyak-grid,
	.moyak-checks { grid-template-columns: 1fr; }
	.moyak-quote-modal { padding: 22px 18px 20px; }
}

/* =========================================================
   Contact page – inline [moyak_contact_form]
   Reuses the modal's shared classes; only needs the field
   styling (the modal's inputs are scoped to .moyak-quote-modal)
   and a success message.
   ========================================================= */
.moyak-contact-form { color: #2b2b2b; font-size: 0.9rem; line-height: 1.4; }
.moyak-contact-form .moyak-grid { margin-bottom: 12px; }
.moyak-contact-form input[type="text"],
.moyak-contact-form input[type="tel"],
.moyak-contact-form input[type="email"],
.moyak-contact-form textarea {
	display: block;
	width: 100%;
	margin-top: 4px;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.3;
	padding: 8px 10px;
	border: 1px solid #d6d6d6;
	border-radius: 6px;
	background: #fff;
	color: #2b2b2b;
	box-sizing: border-box;
}
.moyak-contact-form input:focus,
.moyak-contact-form textarea:focus {
	outline: none;
	border-color: #f2582d;
	box-shadow: 0 0 0 2px rgba(242, 88, 45, 0.18);
}
.moyak-contact-form .moyak-quote-actions { text-align: left; }

.moyak-contact-success {
	margin: 4px 0 12px;
	padding: 10px 12px;
	background: #eaf7ee;
	border: 1px solid #2e9e54;
	border-radius: 6px;
	color: #1d7a3e;
	font-size: 0.9rem;
}

/* Inline [moyak_quote_form] call-to-action at the foot of category pages */
.moyak-quote-cta {
	max-width: 880px;
	margin: 3rem auto;
	padding: 2rem clamp(1rem, 4vw, 2.5rem);
	background: #f6f7f9;
	border: 1px solid #e3e6ea;
	border-radius: 14px;
}
.moyak-quote-cta .moyak-quote-head { text-align: center; margin-bottom: 1.5rem; }
.moyak-quote-cta .moyak-quote-eyebrow {
	text-transform: uppercase; letter-spacing: 1.5px; font-weight: 700;
	font-size: .8rem; color: #d35400; margin: 0 0 .35rem;
}
.moyak-quote-cta h2 { margin: 0 0 .35rem; }
.moyak-quote-cta .moyak-quote-sub { margin: 0; color: #6c6c6c; }
.moyak-quote-form-inline .moyak-quote-actions { text-align: center; margin-top: 1.25rem; }
