/* =========================================================================
   Praveg Solar - Shared Marketing Page Styles
   Used by: template-industries-we-serve.php + template-solar-subsidy.php
   (and any future custom page template in this same family).

   Upload to your theme, e.g.:
     wp-content/themes/solaris/assets/css/praveg-pages-shared.css
   Each template enqueues it with:
     wp_enqueue_style( 'praveg-pages-shared', get_stylesheet_directory_uri()
       . '/assets/css/praveg-pages-shared.css', array(), '1.0.0' );

   Keeping this in ONE cached file (instead of copy-pasted inside every
   template's <style> block) is what "kam CSS" means here: the browser
   downloads it once and reuses it on every page that includes it, and
   you only maintain the design system (colours, hero, button, CTA
   band) in a single place.
   ========================================================================= */

.mtfe-pg{
	--pg-dark:#0f2e28;
	--pg-dark2:#1E3935;
	--pg-gold:#F4C13D;
	--pg-gold2:#c9a84c;
	--pg-cream:#faf8f2;
	--pg-muted:#3a4a46;
	--pg-border:#e7e2d6;
	font-family:"Inter",sans-serif;
	color:var(--pg-dark);
	background:#fff;
	overflow:hidden;
}
.mtfe-pg *{ box-sizing:border-box; }

/* ---------- Container ---------- */
.mtfe-pg-wrap{ width:100%; max-width:1240px; margin:0 auto; padding:0 24px; }
.mtfe-pg-wrap--narrow{ max-width:760px; }

/* ---------- Heading scale (shared clamp sizes) ----------
   font-weight is set explicitly here too - this is what fixes the
   "text too big" bug: the theme/Elementor Global Typography kit's
   own h1/h2/h3 rules no longer get a chance to win. Individual
   templates only override weight where a specific heading wants a
   lighter/bolder look (e.g. hero h1 at weight 400 with a bold accent
   word) - that's 1 line locally, not a duplicated rule. */
.mtfe-pg h1{ font-size:clamp(2rem,4.6vw,3.4rem); line-height:1.12; font-weight:700; margin:0 0 20px; }
.mtfe-pg h2{ font-size:clamp(1.5rem,2.6vw,2.15rem); line-height:1.25; font-weight:700; margin:0 0 16px; }
.mtfe-pg h3{ font-size:1.05rem; line-height:1.3; font-weight:700; margin:0 0 8px; }

/* ---------- Eyebrow label ---------- */
.mtfe-pg-eyebrow{
	display:inline-flex; align-items:center; gap:.5rem;
	text-transform:uppercase; letter-spacing:.08em; font-size:.76rem; font-weight:600;
	color:var(--pg-gold2); margin:0 0 12px;
}
.mtfe-pg-eyebrow--center{ display:flex; justify-content:center; text-align:center; }
.mtfe-pg-eyebrow__dot{ width:7px; height:7px; border-radius:50%; background:currentColor; display:inline-block; }

/* ---------- Hero (dark, gold seam, badge + title + lead) ---------- */
.mtfe-pg-hero{
	background:var(--pg-dark);
	background-image:radial-gradient(1200px 500px at 85% -10%, rgba(244,193,61,0.18), transparent 60%);
	color:#faf8f2;
	padding:clamp(44px,6.5vw,72px) 0 clamp(48px,7vw,76px);
	text-align:center;
	border-top:3px solid var(--pg-gold);
}
.mtfe-pg-hero .mtfe-pg-eyebrow{ color:var(--pg-gold); justify-content:center; }
.mtfe-pg-hero h1{ color:#fff; max-width:820px; margin:0 auto 18px; }
.mtfe-pg-hero h1 .mtfe-pg-accent,
.mtfe-pg-hero h1 strong{ color:var(--pg-gold); font-weight:800; }
.mtfe-pg-hero__lead{ max-width:680px; margin:0 auto 10px; font-size:1.06rem; line-height:1.7; color:#d9e4e0; }
.mtfe-pg-hero__note{ color:var(--pg-gold); font-weight:600; font-size:.95rem; margin:14px 0 0; }

/* ---------- Section rhythm (light/tinted/dark bands) ---------- */
.mtfe-pg-section{ padding:clamp(48px,6vw,72px) 0; }
.mtfe-pg-section--tinted{ background:var(--pg-cream); }
.mtfe-pg-section--dark{ background:var(--pg-dark); color:#fff; }
.mtfe-pg-section--dark .mtfe-pg-eyebrow{ color:var(--pg-gold); }
.mtfe-pg-section h2{ text-align:center; color:var(--pg-dark); }
.mtfe-pg-section--dark h2{ color:#fff; }
.mtfe-pg-section__intro{ text-align:center; color:var(--pg-muted); max-width:640px; margin:0 auto 40px; line-height:1.7; }
.mtfe-pg-section--dark .mtfe-pg-section__intro{ color:#d9e4e0; }

/* ---------- Gold pill button & Phone CTA (Equalized Dimensions) ---------- */
.mtfe-animated-btn-wrap{ display:inline-flex; }
.mtfe-animated-btn--solar,
.pvg-phone-link{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:54px;
	height:54px;
	box-sizing:border-box;
	border-radius:100px;
	font-size:16px;
	font-weight:700;
	line-height:1;
	text-decoration:none;
	cursor:pointer;
	font-family:inherit;
	transition:all .3s ease;
}
.mtfe-animated-btn--solar{
	background:var(--pg-gold);
	color:var(--pg-dark2);
	border:none;
	padding:0 30px;
	gap:12px;
}
.mtfe-animated-btn--solar:hover{
	transform:translateY(-3px);
	box-shadow:0 14px 30px rgba(244,193,61,0.45);
	color:var(--pg-dark2);
}
.mtfe-animated-btn--solar svg{
	width:20px;
	height:20px;
	stroke:currentColor;
	fill:none;
	stroke-width:2.5;
}

.pvg-phone-link{
	color:var(--pg-gold);
	background:transparent;
	padding:0 26px;
	gap:10px;
	border:1.5px solid rgba(244,193,61,0.5);
}
.pvg-phone-link:hover{
	background:rgba(244,193,61,0.15);
	border-color:var(--pg-gold);
	color:#ffffff;
	transform:translateY(-3px);
}
.pvg-phone-link svg{
	width:18px;
	height:18px;
	stroke:currentColor;
	fill:none;
	stroke-width:2;
}

@media (max-width:600px){
	.pvg-ah-hero-ctas,
	.mtfe-pg-hero-ctas{
		display:flex;
		flex-direction:column;
		width:100%;
		gap:12px;
	}
	.pvg-ah-hero-ctas .mtfe-animated-btn--solar,
	.pvg-ah-hero-ctas .pvg-phone-link,
	.mtfe-pg-hero-ctas .mtfe-animated-btn--solar,
	.mtfe-pg-hero-ctas .pvg-phone-link{
		width:100%;
		justify-content:center;
	}
}

/* ---------- Closing CTA band (light, gold seams - deliberately NOT
   dark, so it reads as a distinct break between whatever dark section
   comes before it and the theme's own dark footer) ---------- */
.mtfe-pg-cta{
	background:linear-gradient(135deg, var(--pg-cream) 0%, #fff 100%);
	color:var(--pg-dark);
	padding:clamp(56px,8vw,88px) 0 clamp(48px,7vw,72px);
	text-align:center;
	border-top:3px solid var(--pg-gold);
	border-bottom:3px solid var(--pg-gold);
}
.mtfe-pg-cta h2{ color:var(--pg-dark); }
.mtfe-pg-cta h2 b, .mtfe-pg-cta h2 strong{ font-weight:800; color:var(--pg-gold2); }
.mtfe-pg-cta p{ max-width:580px; margin:0 auto 30px; color:var(--pg-muted); line-height:1.7; }
.mtfe-pg-cta__links{ margin-top:30px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 26px; }
.mtfe-pg-cta__links a{ color:var(--pg-dark2); font-size:.9rem; text-decoration:none; border-bottom:1px solid var(--pg-border); padding-bottom:2px; }
.mtfe-pg-cta__links a:hover{ color:var(--pg-gold2); border-color:var(--pg-gold2); }

/* ---------- Small reusable bits ---------- */
.mtfe-pg-callout{
	display:flex; gap:14px; align-items:flex-start;
	background:#fff8e6; border:1px solid #f0d999; border-radius:12px;
	padding:16px 20px; font-size:.92rem; color:#6b5622; line-height:1.6;
}
.mtfe-pg-callout svg{ flex-shrink:0; width:20px; height:20px; stroke:#c9a84c; fill:none; stroke-width:2; margin-top:2px; }
.mtfe-pg-callout b{ color:#4d3d13; }

.mtfe-pg-check-item{
	display:flex; gap:14px; align-items:flex-start;
	background:#fff; border:1px solid var(--pg-border); border-radius:12px; padding:16px 18px;
}
.mtfe-pg-check-item__icon{
	flex-shrink:0; width:26px; height:26px; border-radius:50%;
	background:var(--pg-gold); display:flex; align-items:center; justify-content:center;
}
.mtfe-pg-check-item__icon svg{ width:14px; height:14px; stroke:var(--pg-dark2); fill:none; stroke-width:3; }
.mtfe-pg-check-item p{ margin:0; color:var(--pg-muted); line-height:1.6; font-size:.95rem; }
.mtfe-pg-check-item a{ color:var(--pg-dark); font-weight:600; text-decoration:underline; }

/* ---------- FAQ accordion (native details/summary, no JS) ---------- */
.mtfe-pg-faq{ max-width:760px; margin:0 auto; display:grid; gap:12px; }
.mtfe-pg-faq details{ background:#fff; border:1px solid var(--pg-border); border-radius:12px; padding:0; overflow:hidden; }
.mtfe-pg-faq summary{
	cursor:pointer; list-style:none; padding:18px 50px 18px 22px; font-weight:600; color:var(--pg-dark);
	position:relative; font-size:.98rem;
}
.mtfe-pg-faq summary::-webkit-details-marker{ display:none; }
.mtfe-pg-faq summary::after{
	content:'+'; position:absolute; right:22px; top:50%; transform:translateY(-50%);
	font-size:1.4rem; color:var(--pg-gold2); font-weight:400; transition:transform .25s ease;
}
.mtfe-pg-faq details[open] summary::after{ transform:translateY(-50%) rotate(45deg); }
.mtfe-pg-faq__answer{ padding:0 22px 20px; color:var(--pg-muted); line-height:1.7; font-size:.92rem; }

/* ---------- Chips (areas served, tags) ---------- */
.mtfe-pg-chips{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; max-width:820px; margin:0 auto; }
.mtfe-pg-chip{
	background:#fff; border:1px solid var(--pg-border); color:var(--pg-dark2);
	font-size:.85rem; font-weight:600; padding:8px 16px; border-radius:100px;
}

/* ---------- Link grid (services grid, etc.) ---------- */
.mtfe-pg-link-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.mtfe-pg-link-card{
	display:block; text-decoration:none; background:#fff; border:1px solid var(--pg-border);
	border-radius:14px; padding:22px 20px; transition:transform .25s ease, box-shadow .25s ease;
}
.mtfe-pg-link-card:hover{ transform:translateY(-3px); box-shadow:0 14px 28px rgba(15,46,40,0.1); }
.mtfe-pg-link-card__icon{
	width:44px; height:44px; border-radius:50%; background:var(--pg-cream);
	display:flex; align-items:center; justify-content:center; margin-bottom:14px;
}
.mtfe-pg-link-card__icon svg{ width:22px; height:22px; stroke:var(--pg-gold2); fill:none; stroke-width:1.8; }
.mtfe-pg-link-card h3{ color:var(--pg-dark); margin:0 0 6px; }
.mtfe-pg-link-card p{ margin:0; color:var(--pg-muted); font-size:.85rem; line-height:1.55; }

/* ---------- Local presence / office card ---------- */
.mtfe-pg-office{
	display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:flex-start;
	background:#fff; border:1px solid var(--pg-border); border-radius:16px;
	padding:26px 28px; max-width:820px; margin:0 auto;
}
.mtfe-pg-office__icon{
	width:52px; height:52px; border-radius:50%; background:var(--pg-gold);
	display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.mtfe-pg-office__icon svg{ width:26px; height:26px; stroke:var(--pg-dark2); fill:none; stroke-width:1.8; }
.mtfe-pg-office h3{ margin:0 0 8px; color:var(--pg-dark); }
.mtfe-pg-office p{ margin:0 0 10px; color:var(--pg-muted); line-height:1.7; font-size:.95rem; }
.mtfe-pg-office p:last-child{ margin-bottom:0; }
.mtfe-pg-office__meta{ display:flex; flex-wrap:wrap; gap:16px; margin-top:14px; }
.mtfe-pg-office__meta span{ display:flex; align-items:center; gap:6px; font-size:.85rem; color:var(--pg-dark2); font-weight:600; }
.mtfe-pg-office__meta svg{ width:15px; height:15px; stroke:var(--pg-gold2); fill:none; stroke-width:2; flex-shrink:0; }

/* ---------- Photo strip (local project tiles) ---------- */
.mtfe-pg-photo-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.mtfe-pg-photo-tile{ position:relative; border-radius:14px; overflow:hidden; aspect-ratio:4/3; background:var(--pg-cream); }
.mtfe-pg-photo-tile img{ width:100%; height:100%; object-fit:cover; display:block; }
.mtfe-pg-photo-tile__caption{
	position:absolute; left:0; right:0; bottom:0;
	background:linear-gradient(0deg, rgba(15,46,40,0.85), transparent);
	color:#fff; font-size:.78rem; font-weight:600; padding:20px 12px 10px;
}
.mtfe-pg-photo-tile--placeholder{
	display:flex; align-items:center; justify-content:center; text-align:center;
	color:var(--pg-muted); font-size:.78rem; padding:14px; border:1.5px dashed var(--pg-border);
}

/* ---------- Lead form ---------- */
.mtfe-pg-lead-form{ max-width:480px; margin:0 auto; text-align:left; display:grid; gap:12px; }
.mtfe-pg-lead-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mtfe-pg-lead-form input, .mtfe-pg-lead-form select, .mtfe-pg-lead-form textarea{
	width:100%; border:1px solid var(--pg-border); border-radius:10px; padding:11px 14px;
	font-family:inherit; font-size:.92rem; color:var(--pg-dark); background:#fff;
}
.mtfe-pg-lead-form input:focus, .mtfe-pg-lead-form select:focus, .mtfe-pg-lead-form textarea:focus{ outline:2px solid var(--pg-gold); outline-offset:1px; }
.mtfe-pg-lead-form button{ justify-self:center; margin-top:4px; }
.mtfe-pg-hero .mtfe-pg-lead-form{ background:#fff; border-radius:16px; padding:22px; margin-top:26px; }

/* ---------- Responsive ---------- */
@media (max-width:880px){
	.mtfe-pg-cta__links{ gap:8px 18px; }
	.mtfe-pg-link-grid{ grid-template-columns:1fr 1fr; }
	.mtfe-pg-photo-strip{ grid-template-columns:1fr 1fr; }
	.mtfe-pg-office{ grid-template-columns:1fr; text-align:center; }
	.mtfe-pg-office__icon{ margin:0 auto; }
	.mtfe-pg-office__meta{ justify-content:center; }
}
@media (max-width:560px){
	.mtfe-pg-link-grid{ grid-template-columns:1fr; }
	.mtfe-pg-photo-strip{ grid-template-columns:1fr 1fr; }
	.mtfe-pg-lead-form__row{ grid-template-columns:1fr; }
}

/* =========================================================================
   Contact Form 7 Styling for Dark Hero Cards Across All Pages
   ========================================================================= */
div[class*="-zoho-card"],
.mtfe-city-formcard,
.pvg-lead-form-card {
	background: rgba(15, 46, 40, 0.88);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1px solid rgba(244, 193, 61, 0.4);
	border-radius: 20px;
	padding: 24px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
}
div[class*="-zoho-card"] .wpcf7-form,
.mtfe-city-formcard .wpcf7-form {
	display: block;
	width: 100%;
}
div[class*="-zoho-card"] .wpcf7-form .schedule-form-items,
.mtfe-city-formcard .wpcf7-form .schedule-form-items {
	margin-bottom: 12px;
	width: 100%;
}
div[class*="-zoho-card"] .wpcf7-form label,
.mtfe-city-formcard .wpcf7-form label {
	display: block;
	width: 100%;
	margin: 0;
}
div[class*="-zoho-card"] .wpcf7-form input[type="text"],
div[class*="-zoho-card"] .wpcf7-form input[type="email"],
div[class*="-zoho-card"] .wpcf7-form input[type="tel"],
div[class*="-zoho-card"] .wpcf7-form select,
div[class*="-zoho-card"] .wpcf7-form textarea,
.mtfe-city-formcard .wpcf7-form input[type="text"],
.mtfe-city-formcard .wpcf7-form input[type="email"],
.mtfe-city-formcard .wpcf7-form input[type="tel"],
.mtfe-city-formcard .wpcf7-form select,
.mtfe-city-formcard .wpcf7-form textarea {
	width: 100% !important;
	box-sizing: border-box;
	background: #ffffff !important;
	color: #0f2e28 !important;
	border: 1px solid #d5dfdc !important;
	border-radius: 10px !important;
	padding: 12px 16px !important;
	font-size: 0.95rem !important;
	font-family: inherit;
	line-height: 1.4;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
div[class*="-zoho-card"] .wpcf7-form input:focus,
div[class*="-zoho-card"] .wpcf7-form select:focus,
div[class*="-zoho-card"] .wpcf7-form textarea:focus,
.mtfe-city-formcard .wpcf7-form input:focus,
.mtfe-city-formcard .wpcf7-form select:focus,
.mtfe-city-formcard .wpcf7-form textarea:focus {
	outline: none;
	border-color: #F4C13D !important;
	box-shadow: 0 0 0 3px rgba(244, 193, 61, 0.35) !important;
}
div[class*="-zoho-card"] .wpcf7-form textarea,
.mtfe-city-formcard .wpcf7-form textarea {
	min-height: 85px !important;
	resize: vertical;
}
div[class*="-zoho-card"] .wpcf7-form input[type="submit"],
.mtfe-city-formcard .wpcf7-form input[type="submit"] {
	width: 100% !important;
	background: #F4C13D !important;
	color: #0f2e28 !important;
	border: none !important;
	border-radius: 100px !important;
	padding: 14px 28px !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	cursor: pointer !important;
	letter-spacing: 0.02em;
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
	margin-top: 4px;
}
div[class*="-zoho-card"] .wpcf7-form input[type="submit"]:hover,
.mtfe-city-formcard .wpcf7-form input[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(244, 193, 61, 0.45);
	background: #e5b32e !important;
}
div[class*="-zoho-card"] .wpcf7-not-valid-tip,
.mtfe-city-formcard .wpcf7-not-valid-tip {
	color: #ffb8b8 !important;
	font-size: 0.8rem !important;
	font-weight: 600;
	margin-top: 4px;
	display: block;
}
div[class*="-zoho-card"] .wpcf7-response-output,
.mtfe-city-formcard .wpcf7-response-output {
	border-radius: 10px !important;
	font-size: 0.88rem !important;
	margin: 12px 0 0 !important;
	padding: 10px 14px !important;
	color: #ffffff !important;
	border: 1px solid #F4C13D !important;
	background: rgba(244, 193, 61, 0.15) !important;
}
div[class*="-zoho-card"] .wpcf7-spinner,
.mtfe-city-formcard .wpcf7-spinner {
	filter: brightness(0) invert(1);
	margin: 8px auto 0;
	display: block;
}

/* --- Country Phone Field & Dropdown Text Overrides --- */
.intl-tel-input,
.iti,
.country-select {
	display: block !important;
	width: 100% !important;
	position: relative !important;
	color: #0f2e28 !important;
	font-family: inherit !important;
}

.intl-tel-input .selected-flag,
.iti .selected-flag,
.iti__selected-flag,
.country-select .selected-flag {
	color: #0f2e28 !important;
	background: transparent !important;
	padding: 0 8px !important;
}

.intl-tel-input .selected-flag .selected-dial-code,
.iti .selected-flag .selected-dial-code,
.iti__selected-dial-code,
.intl-tel-input .selected-dial-code,
.iti .selected-dial-code {
	color: #0f2e28 !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	line-height: 1.4 !important;
}

.intl-tel-input .selected-flag .iti-arrow,
.iti .selected-flag .iti-arrow,
.iti__arrow,
.country-select .selected-flag .arrow {
	border-top-color: #0f2e28 !important;
}

.intl-tel-input .country-list,
.iti .country-list,
.iti__country-list,
.country-select .country-list,
.country-select ul.country-list {
	background-color: #ffffff !important;
	color: #0f2e28 !important;
	border: 1px solid #d5dfdc !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 36px rgba(15, 46, 40, 0.25) !important;
	z-index: 999999 !important;
	font-size: 0.92rem !important;
	padding: 6px 0 !important;
	max-height: 250px !important;
	overflow-y: auto !important;
}

.intl-tel-input .country-list .country,
.iti .country-list .country,
.iti__country,
.country-select .country-list .country {
	color: #1a2a26 !important;
	padding: 9px 14px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	display: flex !important;
	align-items: center !important;
	cursor: pointer !important;
	transition: background-color 0.15s ease, color 0.15s ease !important;
}

.intl-tel-input .country-list .country .country-name,
.iti .country-list .country .country-name,
.iti__country-name,
.country-select .country-list .country .country-name,
.country-select .country-name {
	color: #0f2e28 !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	margin-right: 8px !important;
}

.intl-tel-input .country-list .country .dial-code,
.iti .country-list .country .dial-code,
.iti__dial-code {
	color: #556c66 !important;
	font-weight: 600 !important;
	font-size: 0.88rem !important;
	margin-left: auto !important;
}

.intl-tel-input .country-list .country:hover,
.intl-tel-input .country-list .country.highlight,
.iti .country-list .country:hover,
.iti .country-list .country.highlight,
.iti__country--highlight,
.country-select .country-list .country:hover,
.country-select .country-list .country.highlight {
	background-color: #eef5f2 !important;
	color: #0f2e28 !important;
}

.intl-tel-input .country-list .country:hover .country-name,
.intl-tel-input .country-list .country.highlight .country-name,
.iti__country--highlight .iti__country-name {
	color: #0f2e28 !important;
}

.intl-tel-input .country-list .country:hover .dial-code,
.intl-tel-input .country-list .country.highlight .dial-code,
.iti__country--highlight .iti__dial-code {
	color: #0f2e28 !important;
}

.intl-tel-input .country-list .divider,
.iti .country-list .divider,
.country-select .country-list .divider {
	border-bottom: 1px solid #e7e2d6 !important;
	margin: 6px 0 !important;
	padding-bottom: 0 !important;
}

div[class*="-zoho-card"] select,
.mtfe-city-formcard select,
.wpcf7 select,
select.wpcf7-form-control {
	color: #0f2e28 !important;
	background-color: #ffffff !important;
	cursor: pointer !important;
}

div[class*="-zoho-card"] select option,
.mtfe-city-formcard select option,
.wpcf7 select option,
select.wpcf7-form-control option {
	color: #0f2e28 !important;
	background-color: #ffffff !important;
	font-size: 0.95rem !important;
	padding: 10px 14px !important;
}

/* =========================================================================
   Commercial Solar 8-Field Quote Form Layout & Styling
   ========================================================================= */
.pvg-commercial-cf7-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px 16px;
	text-align: left;
}
.pvg-commercial-cf7-grid .pvg-cf7-field {
	display: flex;
	flex-direction: column;
}
.pvg-commercial-cf7-grid .pvg-cf7-field label {
	display: block;
	font-size: 0.82rem;
	font-weight: 700;
	color: #ffffff !important;
	margin-bottom: 5px;
	letter-spacing: 0.02em;
}
.pvg-commercial-cf7-grid .pvg-cf7-field input[type="text"],
.pvg-commercial-cf7-grid .pvg-cf7-field input[type="email"],
.pvg-commercial-cf7-grid .pvg-cf7-field input[type="tel"],
.pvg-commercial-cf7-grid .pvg-cf7-field select {
	width: 100% !important;
	background: #ffffff !important;
	color: #0f2e28 !important;
	border: 1px solid #d5dfdc !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	font-size: 0.9rem !important;
	line-height: 1.4 !important;
}
.pvg-commercial-cf7-grid .pvg-cf7-submit-col {
	grid-column: span 2;
	margin-top: 6px;
}
.pvg-commercial-cf7-grid .pvg-cf7-submit-col input[type="submit"] {
	width: 100% !important;
	background: #F4C13D !important;
	color: #0f2e28 !important;
	border: none !important;
	border-radius: 100px !important;
	padding: 14px 28px !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
}
.pvg-commercial-cf7-grid .pvg-cf7-submit-col input[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(244, 193, 61, 0.45);
	background: #e5b32e !important;
}
@media (max-width: 640px) {
	.pvg-commercial-cf7-grid {
		grid-template-columns: 1fr;
	}
	.pvg-commercial-cf7-grid .pvg-cf7-submit-col {
		grid-column: span 1;
	}
}

/* =========================================================================
   Country Phone Field (intl-tel-input) Layout & Text Spacing Fix
   Fixes flag and dial code (+91) overlapping placeholder and typed text.
   ========================================================================= */
.intl-tel-input,
.iti {
	display: block !important;
	width: 100% !important;
	position: relative !important;
}

/* Force padding-left on input so typed number & placeholder never overlap flag / dial code */
.intl-tel-input input[type="tel"],
.intl-tel-input input[type="text"],
.intl-tel-input.separate-dial-code input[type="tel"],
.intl-tel-input.separate-dial-code input[type="text"],
.iti input[type="tel"],
.iti input[type="text"],
.wpcf7-form .intl-tel-input input[type="tel"],
.wpcf7-form .intl-tel-input input[type="text"],
.wpcf7-form input.wpcf7-phonetext,
.pvg-commercial-cf7-grid .pvg-cf7-field .intl-tel-input input[type="tel"],
.pvg-commercial-cf7-grid .pvg-cf7-field input.wpcf7-phonetext,
div[class*="-zoho-card"] .wpcf7-form .intl-tel-input input[type="tel"],
div[class*="-zoho-card"] .wpcf7-form input.wpcf7-phonetext,
.mtfe-city-formcard .wpcf7-form .intl-tel-input input[type="tel"],
.mtfe-city-formcard .wpcf7-form input.wpcf7-phonetext {
	padding-left: 92px !important;
	padding-right: 14px !important;
}

/* For wider dial codes (4-5 digits) */
.intl-tel-input.separate-dial-code.iti-sdc-4 input[type="tel"],
.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-4 input[type="tel"] {
	padding-left: 100px !important;
}
.intl-tel-input.separate-dial-code.iti-sdc-5 input[type="tel"],
.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-5 input[type="tel"] {
	padding-left: 108px !important;
}

/* Flag & dial code container inside input */
.intl-tel-input .flag-container,
.iti .iti__flag-container {
	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	display: flex !important;
	align-items: center !important;
	height: 100% !important;
	z-index: 4 !important;
	padding: 0 !important;
}

.intl-tel-input.separate-dial-code .selected-flag,
.intl-tel-input .selected-flag,
.iti .selected-flag,
.iti__selected-flag {
	display: flex !important;
	align-items: center !important;
	height: 100% !important;
	padding: 0 8px 0 12px !important;
	background: transparent !important;
	border-right: 1px solid #d5dfdc !important;
	border-top-left-radius: 10px !important;
	border-bottom-left-radius: 10px !important;
	cursor: pointer !important;
	position: relative !important;
	box-sizing: border-box !important;
}

.intl-tel-input.separate-dial-code .selected-flag:hover,
.intl-tel-input .selected-flag:hover {
	background-color: rgba(15, 46, 40, 0.04) !important;
}

/* Flag position */
.intl-tel-input .selected-flag .iti-flag,
.iti .selected-flag .iti-flag {
	position: static !important;
	margin: 0 6px 0 0 !important;
	flex-shrink: 0 !important;
	box-shadow: 0 1px 2px rgba(0,0,0,0.15) !important;
}

/* Dial code text (+91) */
.intl-tel-input.separate-dial-code .selected-dial-code,
.intl-tel-input .selected-dial-code,
.iti .selected-dial-code {
	padding-left: 0 !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	color: #0f2e28 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}

/* Dropdown arrow */
.intl-tel-input .selected-flag .iti-arrow,
.iti .selected-flag .iti-arrow {
	position: static !important;
	margin-left: 5px !important;
	margin-top: 0 !important;
	border-top: 4px solid #0f2e28 !important;
	border-left: 3px solid transparent !important;
	border-right: 3px solid transparent !important;
	flex-shrink: 0 !important;
}

/* =========================================================================
   Hero Headings: Ensure white/gold styling across all marketing and city templates
   ========================================================================= */
.pvg-cm-hero h1,
.pvg-cm-hero h2,
.pvg-ah-hero h1,
.pvg-ah-hero h2,
.pvg-st-hero h1,
.pvg-st-hero h2,
.pvg-rk-hero h1,
.pvg-rk-hero h2,
.pvg-bh-hero h1,
.pvg-bh-hero h2,
.pvg-bk-hero h1,
.pvg-bk-hero h2,
.pvg-mh-hero h1,
.pvg-mh-hero h2,
.pvg-id-hero h1,
.pvg-id-hero h2,
.pvg-cr-hero h1,
.pvg-cr-hero h2,
.pvg-dm-hero h1,
.pvg-dm-hero h2,
.pvg-tx-hero h1,
.pvg-tx-hero h2,
.mtfe-city-hero h1,
.mtfe-city-hero h2,
.mtfe-city-hero__title {
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 1.15;
	font-weight: 700;
	color: #ffffff !important;
	margin: 0 0 18px;
}

.pvg-cm-hero h1 strong,
.pvg-cm-hero h2 strong,
.pvg-ah-hero h1 strong,
.pvg-ah-hero h2 strong,
.pvg-st-hero h1 strong,
.pvg-st-hero h2 strong,
.pvg-rk-hero h1 strong,
.pvg-rk-hero h2 strong,
.pvg-bh-hero h1 strong,
.pvg-bh-hero h2 strong,
.pvg-bk-hero h1 strong,
.pvg-bk-hero h2 strong,
.pvg-mh-hero h1 strong,
.pvg-mh-hero h2 strong,
.pvg-id-hero h1 strong,
.pvg-id-hero h2 strong,
.pvg-cr-hero h1 strong,
.pvg-cr-hero h2 strong,
.pvg-dm-hero h1 strong,
.pvg-dm-hero h2 strong,
.pvg-tx-hero h1 strong,
.pvg-tx-hero h2 strong,
.mtfe-city-hero h1 strong,
.mtfe-city-hero h2 strong,
.mtfe-city-hero__title strong {
	color: #F4C13D !important;
	font-weight: 700;
}

