/* 
 * Child Theme Styles
 * 
 * This file imports Tailwind CSS and our custom fonts.
 * The fonts.css file contains only the essential font imports
 * and CSS custom properties that override Tailwind's defaults.
 */

/* Import fonts first to ensure they're available */
@import "./fonts.css";

/* Import Tailwind CSS */
@import "tailwindcss";

/* Override Tailwind's font-sans to use our custom font */
:root {
  --font-sans: var(--font-outfit);
}

/* Custom child theme styles below */

/* ============================================
   JamStorage Block Style Overrides
   Using theme.json variables for consistency
   ============================================ */

/* Banner Content - Use Secondary Colour Background */
.banner__content {
	background-color: var(--wp--preset--color--secondary, #2f3568) !important;
}

/* Footer Template 3 Styles */
.footer-template-3 {
	background-color: var(--wp--preset--color--neutral-dark, #111430);
	color: var(--wp--preset--color--surface, #FFF);
}

.footer-template-3__contact-btn {
	background-color: var(--wp--preset--color--primary, #ec1c2d);
}

.footer-template-3__contact-btn:hover {
	background-color: var(--wp--preset--color--secondary, #2f3568);
}

/* Header Simple Block Overrides */
.header-simple {
	/* Add any header-specific overrides here */
}

/* Hero Simple Centered Block Overrides */
.hero-simple-centered {
	/* Add any hero-specific overrides here */
}

/* Hero Image Tiles Block Overrides */
.hero-image-tiles {
	/* Ensure buttons use JamStorage branding */
}

.hero-image-tiles__button--primary {
	background-color: var(--wp--preset--color--primary, #ec1c2d);
	color: var(--wp--preset--color--surface, #FFF);
}

.hero-image-tiles__button--primary:hover {
	background-color: var(--wp--preset--color--secondary, #2f3568);
}

/* CTA Center Dark Block Overrides */
.cta-center-dark__container {
	background-color: var(--wp--preset--color--neutral-dark, #111430);
}

.cta-center-dark__title {
	color: var(--wp--preset--color--surface, #FFF);
}

.cta-center-dark__description {
	color: var(--wp--preset--color--surface, #FFF);
}

.cta-center-dark__button--primary {
	background-color: var(--wp--preset--color--primary, #ec1c2d);
	color: var(--wp--preset--color--surface, #FFF);
}

.cta-center-dark__button--primary:hover {
	background-color: var(--wp--preset--color--secondary, #2f3568);
}

/* Features Grid Block Overrides */
.features-grid {
	/* Add any features grid overrides here */
}

/* Testimonials Block Overrides */
.testimonials {
	/* Add any testimonials overrides here */
}

/* Logos Simple With Heading Block Overrides */
.logos-simple-with-heading {
	/* Add any logos block overrides here */
}

/* Pages Grid Block Overrides */
.pages-grid {
	/* Add any pages grid overrides here */
}

/* Pricing Blocks Overrides */
.pricing-two-tiers,
.pricing-three-tiers {
	/* Add any pricing block overrides here */
}

/* Override bold font-weight to use 600 instead of 700 */
strong,
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong,
p strong {
	font-weight: 600;
}


.header-template-2 {
	box-shadow: 0 1px 15px -3px rgb(0 0 0 / 20%);

	.header-template-2__cta-link {
		color: #fff !important;
	}
}

/* Header Template 3 Dark Mode Styles */
.header-template-3 {
	background-color: var(--wp--preset--color--neutral-dark, #111430) !important;
	color: var(--wp--preset--color--surface, #FFF) !important;
}

/* Navigation container - dark background */
.header-template-3 nav {
	background-color: var(--wp--preset--color--neutral-dark, #111430) !important;
}

/* Top level menu buttons - white text */
.header-template-3__nav-button,
.header-template-3__nav-link,
.header-template-3__mobile-button {
	color: var(--wp--preset--color--surface, #FFF) !important;
}

.header-template-3__nav-button:hover,
.header-template-3__nav-link:hover {
	color: rgb(255 255 255 / 75%) !important;
}


/* Nav icon - white */
.header-template-3__nav-icon {
	color: var(--wp--preset--color--surface, #FFF) !important;
	fill: var(--wp--preset--color--surface, #FFF) !important;
	stroke: var(--wp--preset--color--surface, #FFF) !important;
}

/* Dropdown - align bottom with header bottom */
.header-template-3__dropdown {
	position: absolute !important;
	bottom: 0 !important;
	transform: translateY(100%) !important;
	padding-top: 0 !important;
}

/* Menu list inner - ensure links remain dark */
.header-template-3__menu-list-inner,
.header-template-3__menu-list-inner a {
	color: var(--wp--preset--color--neutral-dark, #111430) !important;
}

.header-template-3__menu-list-inner a:hover {
	color: var(--wp--preset--color--primary, #ec1c2d) !important;
}

/* Navigation links - white text (excluding submenu) */
.header-template-3 > nav > a,
.header-template-3 > nav .menu-item > a,
.header-template-3 nav > ul > li > a,
.header-template-3 .wp-block-navigation > ul > li > a {
	color: var(--wp--preset--color--surface, #FFF) !important;
}

.header-template-3 > nav > a:hover,
.header-template-3 > nav .menu-item > a:hover,
.header-template-3 nav > ul > li > a:hover,
.header-template-3 .wp-block-navigation > ul > li > a:hover {
	color: rgb(255 255 255 / 75%) !important;
}

/* Submenu - keep white background and dark text */
.header-template-3 .sub-menu,
.header-template-3 ul.sub-menu,
.header-template-3 .wp-block-navigation__submenu-container,
.header-template-3 nav .sub-menu,
.header-template-3 nav ul.sub-menu {
	background-color: var(--wp--preset--color--surface, #FFF) !important;
	color: var(--wp--preset--color--neutral-dark, #111430) !important;
}

/* Submenu links - dark text (not white) */
.header-template-3 .sub-menu a,
.header-template-3 ul.sub-menu a,
.header-template-3 .wp-block-navigation__submenu-container a,
.header-template-3 nav .sub-menu a,
.header-template-3 nav ul.sub-menu a {
	color: var(--wp--preset--color--neutral-dark, #111430) !important;
}

.header-template-3 .sub-menu a:hover,
.header-template-3 ul.sub-menu a:hover,
.header-template-3 .wp-block-navigation__submenu-container a:hover,
.header-template-3 nav .sub-menu a:hover,
.header-template-3 nav ul.sub-menu a:hover {
	color: var(--wp--preset--color--primary, #ec1c2d) !important;
}

/* ============================================
   WordPress Core List Block Styles
   ============================================ */

/* Style list bullets with theme red colour and increase line-height */
.wp-block-list li,
.entry-content ul li,
.entry-content ol li,
ul li,
ol li {
	line-height: 1.25;
}

/* Style the actual bullet/marker with theme red */
.wp-block-list li::marker,
.entry-content ul li::marker,
.entry-content ol li::marker,
ul li::marker,
ol li::marker {
	color: var(--wp--preset--color--primary, #ec1c2d);
}

:is(ul.wp-block-list,.wp-block-list ul:not(.block-editor-block-variation-picker__variations)) li::before {
	top: .75em;
}

.wp-block-media-text .wp-block-media-text__media img {
	border-radius: 10px;
}

/* Ensure media-text blocks stack properly on mobile */
@media (width <= 600px) {
	/* Force single column layout on mobile - including inside groups */
	.wp-block-media-text,
	.wp-block-group .wp-block-media-text,
	.wp-block-group[class*="is-layout-constrained"] .wp-block-media-text {
		grid-template-columns: 100% !important;
		display: grid !important;
	}
	
	/* Ensure media and content stack vertically - including inside groups */
	.wp-block-media-text__media,
	.wp-block-group .wp-block-media-text__media,
	.wp-block-group[class*="is-layout-constrained"] .wp-block-media-text__media {
		grid-column: 1 !important;
		grid-row: 1 !important;
		margin-bottom: 1rem;
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.wp-block-media-text__content,
	.wp-block-group .wp-block-media-text__content,
	.wp-block-group[class*="is-layout-constrained"] .wp-block-media-text__content {
		grid-column: 1 !important;
		grid-row: 2 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	
	/* Handle reversed layout (media on right) - still stack with media first on mobile */
	.wp-block-media-text.has-media-on-the-right,
	.wp-block-group .wp-block-media-text.has-media-on-the-right,
	.wp-block-group[class*="is-layout-constrained"] .wp-block-media-text.has-media-on-the-right {
		grid-template-columns: 100% !important;
	}
	
	.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media,
	.wp-block-group .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media,
	.wp-block-group[class*="is-layout-constrained"] .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}
	
	.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content,
	.wp-block-group .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content,
	.wp-block-group[class*="is-layout-constrained"] .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
		grid-column: 1 !important;
		grid-row: 2 !important;
	}
}

/* ============================================
   WordPress Core Table Block Styles
   ============================================ */

.wp-block-table table {
	border: 2px solid #000;
	border-collapse: collapse;
	width: 100%;
}

/* Header row styles */
.wp-block-table thead th {
	background-color: #2F3568;
	color: #FFF;
	font-weight: bold;
	border: 2px solid #000;
	padding: 10px;
}

.wp-block-table thead tr {
	border-bottom: 2px solid #000;
}

/* Body row styles - alternating backgrounds */

/* Lighter rows (even rows: 2nd, 4th, 6th, etc.) */
.wp-block-table tbody tr:nth-child(even) td {
	background-color: #F8F8F8;
	color: #333;
	border: 2px solid #000;
	padding: 10px;
}

/* Darker rows (odd rows: 1st, 3rd, 5th, etc.) */
.wp-block-table tbody tr:nth-child(odd) td {
	background-color: #EEE;
	color: #333;
	border: 2px solid #000;
	padding: 10px;
}

/* First column in darker rows - slightly darker background */
.wp-block-table tbody tr:nth-child(odd) td:first-child {
	background-color: #F2F3F8;
}

/* All table cells - base styles */
.wp-block-table td {
	border: 2px solid #000;
	padding: 10px;
	color: #333;
}

/* ============================================
   Ninja Forms Field Styles
   Match theme form field styling
   ============================================ */

/* Labels */
.ninja-forms-cont label,
.nf-field-label label,
.nf-field-label {
	display: block;
	margin-bottom: 7px;
	font-weight: normal;
}

/* Input fields and textareas */
.ninja-forms-cont input[type="text"],
.ninja-forms-cont input[type="email"],
.ninja-forms-cont input[type="tel"],
.ninja-forms-cont input[type="number"],
.ninja-forms-cont input[type="url"],
.ninja-forms-cont input[type="date"],
.ninja-forms-cont input[type="time"],
.ninja-forms-cont input[type="password"],
.ninja-forms-cont textarea,
.nf-field-element input[type="text"],
.nf-field-element input[type="email"],
.nf-field-element input[type="tel"],
.nf-field-element input[type="number"],
.nf-field-element input[type="url"],
.nf-field-element input[type="date"],
.nf-field-element input[type="time"],
.nf-field-element input[type="password"],
.nf-field-element textarea {
	display: block;
	width: 100%;
	padding: 2.5% 3%;
	font-size: 16px;
	box-sizing: border-box;
	color: #000;
	background: #FFF 0% 0% no-repeat padding-box;
	border: 1px solid rgb(17 20 48 / 30%);
	border-radius: 10px;
}

/* Ninja Forms disabled / readonly inputs (e.g. calculated total) */
.ninja-forms-cont input:disabled,
.ninja-forms-cont input[readonly],
.ninja-forms-cont textarea:disabled,
.ninja-forms-cont textarea[readonly],
.ninja-forms-cont select:disabled,
.nf-field-element input:disabled,
.nf-field-element input[readonly],
.nf-field-element textarea:disabled,
.nf-field-element textarea[readonly],
.nf-field-element select:disabled {
	background-color: rgb(17 20 48 / 8%);
	color: rgb(17 20 48 / 60%);
	cursor: not-allowed;
	opacity: 0.9;
}

@media (width >= 360px) {
	.ninja-forms-cont input[type="text"],
	.ninja-forms-cont input[type="email"],
	.ninja-forms-cont input[type="tel"],
	.ninja-forms-cont input[type="number"],
	.ninja-forms-cont input[type="url"],
	.ninja-forms-cont input[type="date"],
	.ninja-forms-cont input[type="time"],
	.ninja-forms-cont input[type="password"],
	.ninja-forms-cont textarea,
	.nf-field-element input[type="text"],
	.nf-field-element input[type="email"],
	.nf-field-element input[type="tel"],
	.nf-field-element input[type="number"],
	.nf-field-element input[type="url"],
	.nf-field-element input[type="date"],
	.nf-field-element input[type="time"],
	.nf-field-element input[type="password"],
	.nf-field-element textarea {
		padding-top: 15px;
		padding-bottom: 15px;
	}
}

/* Select dropdowns */
.ninja-forms-cont select,
.nf-field-element select {
	padding: 5px 30px;
	background: #FFF 0% 0% no-repeat padding-box;
	border: 1px solid rgb(17 20 48 / 50%);
	border-radius: 10px;
	color: #333;
	box-sizing: border-box;
	width: 100%;
	font-size: 16px;
}

@media (width >= 1060px) {
	.ninja-forms-cont select,
	.nf-field-element select {
		padding: 10px 30px;
	}
}

/* Form light theme variant - override to maintain white background */
.form--light .ninja-forms-cont input:not([type="submit"], [type="button"]),
.form--light .ninja-forms-cont textarea,
.form--light .nf-field-element input:not([type="submit"], [type="button"]),
.form--light .nf-field-element textarea {
	background: #FFF 0% 0% no-repeat padding-box;
	border: 1px solid rgb(17 20 48 / 50%);
	border-radius: 10px;
}

/* Field wrap spacing */
.ninja-forms-cont .field-wrap {
	margin-bottom: 30px;
}

.ninja-forms-cont .field-wrap.submit-wrap {
	margin-bottom: 0;
}

/* File upload fields */
.ninja-forms-cont input[type="file"],
.nf-field-element input[type="file"] {
	width: 100%;
	padding: 0;
}

/* Submit buttons - maintain existing button styles */

/* Button styles are handled by theme button styles */

/* Checkbox and radio button styling */
.ninja-forms-cont input[type="checkbox"],
.ninja-forms-cont input[type="radio"],
.nf-field-element input[type="checkbox"],
.nf-field-element input[type="radio"] {
	width: auto;
	display: inline-block;
	margin-right: 8px;
}

/* Error messages */
.ninja-forms-error-msg,
.nf-error-msg {
	color: var(--wp--preset--color--primary, #ec1c2d);
	font-size: 0.875rem;
	margin-top: 5px;
}

/* Required field indicators */
.ninja-forms-req-symbol,
.nf-req-symbol {
	color: var(--wp--preset--color--primary, #ec1c2d);
}

/* Ninja Forms Next/Previous Buttons - Match .header-template-2__cta-link style */
.nf-next-previous input,
.nf-next-previous .nf-previous,
.nf-next-previous .nf-next {
	background-color: var(--wp--preset--color--primary, #ec1c2d);
	color: #fff !important;
	border: none;
	border-radius: 6px;
	padding: 12px 24px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	position: relative;
	transition: background-color 0.2s ease;
}

.nf-next-previous .nf-previous {
	background-color: var(--wp--preset--color--neutral-dark, #ec1c2d);
}

.nf-next-previous input:hover,
.nf-next-previous .nf-previous:hover,
.nf-next-previous .nf-next:hover {
	background-color: var(--wp--preset--color--secondary, #2f3568);
}

/* Previous button - arrow pointing left (::before on parent li; input cannot have pseudo-elements) */
.nf-next-previous .nf-previous,
.nf-next-previous input.nf-previous {
	padding-left: 40px;
}

.nf-next-previous li.nf-previous-item {
	position: relative;
}

.nf-next-previous li.nf-previous-item::before {
	content: '←';
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.2em;
	line-height: 1;
	color: #fff;
	pointer-events: none;
	z-index: 1;
}

/* Next button - arrow pointing right (::after on parent li; input cannot have pseudo-elements) */
.nf-next-previous .nf-next,
.nf-next-previous input.nf-next {
	padding-right: 40px;
}

.nf-next-previous li.nf-next-item {
	position: relative;
}

.nf-next-previous li.nf-next-item::after {
	content: '→';
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.2em;
	line-height: 1;
	color: #fff;
	pointer-events: none;
	z-index: 1;
}

.nf-form-fields-required {
	display: none;
}

.nf-field-description {
	margin-bottom: 30px;
}

/* ============================================
   Quote Acceptance Form - Layout and styles to match screenshot
   Add class .nf-quote-acceptance-wrap to the group block containing this form
   Ninja Forms wraps fields in .nf-form-content > .nf-mp-body > nf-fields-wrap > nf-field
   ============================================ */

/* Form title: large, bold, dark, centred at top (when Ninja Forms outputs it) */
.nf-quote-acceptance-wrap .nf-form-title {
	display: block;
	font-size: 1.75rem;
	font-weight: 700;
	color: #333;
	text-align: center;
	margin-bottom: 0.25rem;
}

.nf-quote-acceptance-wrap .nf-form-title:empty {
	display: none;
}

/* Form content full width so grid spans the whole panel */
.nf-quote-acceptance-wrap .nf-form-content,
.nf-quote-acceptance-wrap .nf-mp-body,
.nf-quote-acceptance-wrap nf-fields-wrap {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* Grid items fill their cell so fields (and inputs) span full width */
.nf-quote-acceptance-wrap nf-fields-wrap nf-field {
	min-width: 0;
}

.nf-quote-acceptance-wrap nf-fields-wrap nf-field .nf-field-container,
.nf-quote-acceptance-wrap nf-fields-wrap nf-field .nf-field-element {
	max-width: 100%;
}

/* Grid: 12 columns on desktop for exact layout (3-col top, 2×3 declared, 2-col insurance, 2×3 contact, 4-col checkboxes) */
.nf-quote-acceptance-wrap nf-fields-wrap {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (width >= 768px) {
	.nf-quote-acceptance-wrap nf-fields-wrap {
		grid-template-columns: repeat(12, 1fr);
		gap: 1rem 1.25rem;
	}

	/* Full-width (span 12): required note, hr, headings/notes, add-contact dropdown, hr, signature block, DD, submit */
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(1),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(5),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(6),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(7),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(14),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(15),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(18),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(19),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(26),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(33),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(34),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(35),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(40),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(41),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(42),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(43),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(44),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(45),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(46),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(47) {
		grid-column: 1 / -1;
	}

	/* Top block: Full Name, Quote/Ref, Storage Start Date — 3 equal columns spanning full width (span 4 each = 12/12) */
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(2),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(3),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(4) {
		grid-column: span 12;
		width: 100%;
	}
}

@media (width >= 768px) {
	/* Declared Value 2×3: Furniture, Boxed Content, Electricals, Clothing, Other, TOTAL (span 4 each) */
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(8),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(9),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(10),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(11),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(12),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(13) {
		grid-column: span 4;
	}

	/* Insurance: 2 dropdowns side-by-side (span 6 each) */
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(16),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(17) {
		grid-column: span 12;
	}

	/* Contact 1: 2×3 — Full Name, Phone, Email, Address Line 1, City, Postcode (span 4 each) */
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(20),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(21),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(22),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(23),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(24),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(25) {
		grid-column: span 4;
	}

	/* Second contact (conditional): 2×3 — same layout as contact 1 (span 4 each) */
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(27),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(28),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(29),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(30),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(31),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(32) {
		grid-column: span 4;
	}

	/* Additional services: 4 checkboxes in one horizontal row (span 3 each) */
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(36),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(37),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(38),
	.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(39) {
		grid-column: span 3;
	}
}

.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(6),
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(15),
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(19),
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(34) {
	text-align: center;

	.nf-field-element {
		font-size: 1.4em;
	}
}

/* Required note (first field): right-aligned, smaller, light grey */
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:first-child .nf-field-element,
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:first-child .nf-label-span {
	text-align: right;
	color: #666;
	font-size: 0.875em;
	margin-bottom: 0.5rem;
}

.nf-quote-acceptance-wrap nf-fields-wrap nf-field:first-child .nf-field-label {
	text-align: right;
}

/* Section headings (html): bold, dark */
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(6) .nf-field-element,
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(19) .nf-field-element,
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(28) .nf-field-element {
	font-weight: 700;
	color: #333;
}

/* Section notes (html): smaller, lighter grey */
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(7) .nf-field-element,
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(15) .nf-field-element,
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(29) .nf-field-element {
	text-align: center;
}

/* Section separators (hr): thin horizontal line */
.nf-quote-acceptance-wrap .nf-field-container.hr-container hr {
	border: none;
	border-top: 4px solid #333;
	margin: 1.5em 0;
}

/* Direct Debit: style link as red button (field 46 is DD html) */
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(46) .nf-field-element a {
	display: inline-block;
	background-color: var(--wp--preset--color--primary, #ec1c2d) !important;
	color: #fff !important;
	border: none;
	border-radius: 6px;
	padding: 12px 24px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(46) .nf-field-element a:hover {
	background-color: var(--wp--preset--color--secondary, #2f3568) !important;
	color: #fff !important;
}

.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(46) .nf-field-element p {
	margin-bottom: 0.5em;
}

/* Submit: solid red button with arrow */
.nf-quote-acceptance-wrap .nf-field-container.submit-container input[type="submit"] {
	display: inline-block;
	background-color: var(--wp--preset--color--primary, #ec1c2d) !important;
	color: #fff !important;
	border: none;
	border-radius: 6px;
	padding: 12px 24px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.nf-quote-acceptance-wrap .nf-field-container.submit-container input[type="submit"]:hover {
	background-color: var(--wp--preset--color--secondary, #2f3568) !important;
}

/* Legacy class targets if DD link has them */
.nf-quote-acceptance-wrap .nf-dd-btn,
.nf-quote-acceptance-wrap .nf-quote-acceptance-btn {
	display: inline-block;
	background-color: var(--wp--preset--color--primary, #ec1c2d) !important;
	color: #fff !important;
	border: none;
	border-radius: 6px;
	padding: 12px 24px;
	font-weight: 600;
	text-decoration: none;
}

.nf-quote-acceptance-wrap .nf-dd-btn:hover,
.nf-quote-acceptance-wrap .nf-quote-acceptance-btn:hover {
	background-color: var(--wp--preset--color--secondary, #2f3568) !important;
	color: #fff !important;
}

/* Checkboxes: label to the right, inline so 4 sit in one row */
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(36) .nf-field-wrap,
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(37) .nf-field-wrap,
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(38) .nf-field-wrap,
.nf-quote-acceptance-wrap nf-fields-wrap nf-field:nth-child(39) .nf-field-wrap {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

/* Mobile: single column */
@media (width <= 767px) {
	.nf-quote-acceptance-wrap nf-fields-wrap {
		grid-template-columns: 1fr;
	}
}

.instant-quote-form {
	.nf-field-label {
		width: 100%;
		text-align: center;
	}

	.nf-field-description {
		text-align: center;
	}
}

/* ============================================
   Location Detail Block - Override WordPress Core Link Styles
   ============================================ */

/* Ensure location detail area links maintain underlines */

/* Override WordPress core rule: a:where(:not(.wp-element-button)) */
a:where(:not(.wp-element-button)):is(.location-detail__area-link),
a.location-detail__area-link {
	text-decoration: underline !important;
}

.location-detail__area,
.location-detail__areas-column .location-detail__area {
	text-decoration: underline !important;
}

/* Testimonials block: gradient overlay "from" colour */
.rm-testimonials {
  --testimonials-overlay-from: var(--wp--preset--color--neutral-dark);
} 

/* Mortor Board */
@media (width <= 767px) {
	.mortor-board {
		padding: 30px !important;
	}
}

.mortor-board {
	.is-layout-flex {
		gap: 1.5em !important;
	}

	.is-layout-flex .is-vertical.is-layout-flex {
		gap: .5em !important;
	}

	.is-layout-flex .wp-block-heading {
		font-size: 1.2em !important;
	}
}