/* ==========================================================================
   Private Limited Company Registration — page-scoped premium enhancements
   Presentation-only additions; reuses the theme's fonts, accent color and
   button classes. Same visual system as partnership-page.css / proprietorship-
   page.css / llp-page.css / trademark-page.css, scoped under .pvt-page so it
   never leaks into other pages.
   ========================================================================== */

.pvt-page{
	--pvt-accent: #00bffe;
	--pvt-accent-dark: #009fd6;
	--pvt-heading: #222222;
	--pvt-text: #6f7377;
	--pvt-radius: 12px;
	--pvt-shadow: 0 10px 30px rgba(15, 23, 42, 0.07);
	--pvt-shadow-hover: 0 20px 40px rgba(15, 23, 42, 0.14);
	--pvt-border: #eef1f4;
}

/* ---- Page-title banner ----
   Real photo (images/background/pvt1.png) is applied as a CSS background via
   inline style="background-image:url(...)" on the section. The gradient
   below is just the fallback if that inline style is ever removed.
   background-size is "contain" (not "cover") because the photo's aspect
   ratio (1717:916) is narrower than the banner's (2002:786) and its headline
   text/graphics run edge-to-edge — "cover" would crop them off the sides.
   The background-color matches the photo's own navy backdrop so the
   letterboxed edges blend in instead of showing bars. */
.pvt-hero-title{
	position: relative;
	padding: 0;
	aspect-ratio: 2002 / 786;
	background-color: #0d1b2a;
	background-image: linear-gradient(135deg, #0d1b2a, #123452 55%, #00bffe);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
}
.pvt-hero-title:before{
	display: none;
}

/* ---- Hero visual panel (placeholder in place of a photo) ---- */
.pvt-page .services-left > .pvt-hero-visual{
	position: relative;
	border-radius: var(--pvt-radius);
	overflow: hidden;
	box-shadow: var(--pvt-shadow);
	aspect-ratio: 16 / 9;
}
.pvt-page .services-left > .pvt-hero-visual img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: fill;
}

/* ---- Quick-facts strip ---- */
.pvt-quickfacts{
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin: 32px 0 4px;
	padding: 0;
	list-style: none;
}
.pvt-quickfacts li{
	flex: 1 1 200px;
	display: flex;
	align-items: center;
	gap: 16px;
	background: #ffffff;
	border: 1px solid var(--pvt-border);
	border-radius: var(--pvt-radius);
	padding: 20px 22px;
	box-shadow: var(--pvt-shadow);
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.pvt-quickfacts li:hover{
	transform: translateY(-6px);
	box-shadow: var(--pvt-shadow-hover);
	border-color: rgba(0, 191, 254, .35);
}
.pvt-quickfacts .pvt-fact-icon{
	flex: 0 0 50px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: rgba(0, 191, 254, .1);
	color: var(--pvt-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}
.pvt-quickfacts h6{
	margin: 0 0 2px;
	font-size: 15px;
	font-weight: 700;
	color: var(--pvt-heading);
	font-family: 'Poppins', sans-serif;
}
.pvt-quickfacts span{
	font-size: 13px;
	color: var(--pvt-text);
	font-family: 'Lato', sans-serif;
}

/* ---- Content cards ---- */
.pvt-content-card{
	background: #ffffff;
	border: 1px solid var(--pvt-border);
	border-radius: var(--pvt-radius);
	box-shadow: var(--pvt-shadow);
	padding: 44px 42px;
	margin-top: 36px;
}
.pvt-section-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: linear-gradient(135deg, var(--pvt-accent), #4bd2fe);
	color: #ffffff;
	font-size: 24px;
	margin-bottom: 20px;
	box-shadow: 0 10px 22px rgba(0, 191, 254, .32);
}
.pvt-page .image-content .sec-title-three{
	padding-top: 0;
}
.pvt-page .image-content p{
	font-size: 16.5px;
	text-align: justify;
}
.pvt-key-aspects-label{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--pvt-accent-dark);
	margin: 22px 0 20px;
}
.pvt-key-aspects-label:before{
	content: '';
	width: 24px;
	height: 2px;
	background: var(--pvt-accent);
	display: inline-block;
}

/* ---- Feature grid ---- */
.pvt-feature-grid{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pvt-feature-card{
	display: block;
	height: 100%;
	background: #f8fafc;
	border: 1px solid var(--pvt-border);
	border-radius: var(--pvt-radius);
	padding: 22px 24px;
	transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease, border-color .3s ease;
}
.pvt-feature-card:hover{
	transform: translateY(-5px);
	box-shadow: var(--pvt-shadow-hover);
	background: #ffffff;
	border-color: rgba(0, 191, 254, .4);
}
.pvt-feature-check{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(0, 191, 254, .12);
	color: var(--pvt-accent-dark);
	margin-bottom: 12px;
	font-size: 13px;
}
.pvt-feature-card strong{
	display: block;
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: var(--pvt-heading);
	margin-bottom: 8px;
	line-height: 24px;
}
.pvt-feature-desc{
	display: block;
	font-family: 'Lato', sans-serif;
	font-size: 14.5px;
	line-height: 24px;
	color: var(--pvt-text);
	text-align: justify;
}

/* Last item in an odd-count grid spans full width instead of leaving an empty cell */
.pvt-feature-grid li:last-child:nth-child(odd){
	grid-column: 1 / -1;
}

/* ---- Registration plans (Basic / Advanced) ---- */
.pvt-plans-grid{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin: 0;
}
.pvt-plan-card{
	background: #f8fafc;
	border: 1px solid var(--pvt-border);
	border-radius: var(--pvt-radius);
	padding: 28px 26px;
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.pvt-plan-card:hover{
	transform: translateY(-5px);
	box-shadow: var(--pvt-shadow-hover);
	border-color: rgba(0, 191, 254, .4);
}
@media (hover: hover) and (pointer: fine){
	.pvt-plan-card:hover{
		transform: translateY(-5px) scale(1.04);
		box-shadow: 0 25px 50px rgba(15, 23, 42, .16), var(--pvt-shadow-hover);
		z-index: 2;
	}
}
.pvt-plan-card.pvt-plan-advanced{
	background: #0d1b2a;
	border-color: #0d1b2a;
}
.pvt-plan-card h4{
	margin: 0 0 18px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 19px;
	color: var(--pvt-heading);
}
.pvt-plan-card.pvt-plan-advanced h4{
	color: #ffffff;
}
.pvt-plan-list{
	margin: 0;
	padding: 0;
	list-style: none;
}
.pvt-plan-list li{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 0;
	font-family: 'Lato', sans-serif;
	font-size: 14.5px;
	color: var(--pvt-text);
	border-bottom: 1px solid var(--pvt-border);
}
.pvt-plan-list li:last-child{
	border-bottom: none;
}
.pvt-plan-list li i{
	color: var(--pvt-accent);
	font-size: 13px;
	flex-shrink: 0;
}
.pvt-plan-card.pvt-plan-advanced .pvt-plan-list li{
	color: rgba(255, 255, 255, .82);
	border-bottom-color: rgba(255, 255, 255, .1);
}
.pvt-plan-card.pvt-plan-advanced .pvt-plan-list li i{
	color: #4bd2fe;
}
@media (max-width: 767px){
	.pvt-plans-grid{
		grid-template-columns: 1fr;
	}
}

/* ---- FAQ accordion ----
   Built with native <details>/<summary> — no JS dependency, works
   everywhere, keyboard and screen-reader accessible out of the box. */
.pvt-faq-accordion{
	margin: 0;
}
.pvt-faq-item{
	border: 1px solid var(--pvt-border);
	border-radius: var(--pvt-radius);
	background: #f8fafc;
	margin-bottom: 14px;
	overflow: hidden;
	transition: border-color .3s ease, background-color .3s ease;
}
.pvt-faq-item[open]{
	background: #ffffff;
	border-color: rgba(0, 191, 254, .4);
}
.pvt-faq-item summary.pvt-faq-question{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	list-style: none;
	cursor: pointer;
	padding: 20px 24px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 15.5px;
	color: var(--pvt-heading);
	line-height: 24px;
}
.pvt-faq-item summary.pvt-faq-question::-webkit-details-marker{
	display: none;
}
.pvt-faq-item summary.pvt-faq-question::marker{
	content: '';
}
.pvt-faq-icon{
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(0, 191, 254, .12);
	color: var(--pvt-accent-dark);
	font-size: 13px;
	transition: transform .3s ease, background-color .3s ease, color .3s ease;
}
.pvt-faq-item[open] .pvt-faq-icon{
	background: var(--pvt-accent);
	color: #ffffff;
	transform: rotate(135deg);
}
.pvt-faq-answer{
	padding: 0 24px 22px 24px;
}
.pvt-faq-answer p{
	margin: 0;
	font-family: 'Lato', sans-serif;
	font-size: 14.5px;
	line-height: 25px;
	color: var(--pvt-text);
}
@media (max-width: 480px){
	.pvt-faq-item summary.pvt-faq-question{
		padding: 16px 18px;
		font-size: 14.5px;
	}
	.pvt-faq-answer{
		padding: 0 18px 18px 18px;
	}
}

/* ---- Sidebar ---- */
.pvt-page .any-questions{
	border-radius: var(--pvt-radius);
	box-shadow: var(--pvt-shadow);
	transition: transform .35s ease, box-shadow .35s ease;
}
.pvt-page .any-questions:hover{
	transform: translateY(-4px);
	box-shadow: var(--pvt-shadow-hover);
}

/* ---- CTA / quote panel ---- */
#quote-form.row{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.pvt-cta-panel{
	background: #ffffff;
	border: 1px solid var(--pvt-border);
	border-radius: 18px;
	box-shadow: var(--pvt-shadow-hover);
	padding: 50px;
	position: relative;
	overflow: hidden;
	width: 100%;
}
.pvt-cta-panel:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--pvt-accent), #4bd2fe, var(--pvt-accent));
}
.pvt-cta-panel .shoos-us-content h5{
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	color: var(--pvt-heading);
}
.pvt-cta-panel .contact-form-one .form-group{
	margin-bottom: 22px;
}
.pvt-cta-panel .contact-form-one .form-group input,
.pvt-cta-panel .contact-form-one .form-group select{
	color: var(--pvt-heading);
	background: #f8fafc;
	border: 1px solid var(--pvt-border);
	border-radius: 8px;
	height: 48px;
	padding: 0 16px;
	line-height: 46px;
	transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.pvt-cta-panel .contact-form-one .form-group input:focus,
.pvt-cta-panel .contact-form-one .form-group select:focus{
	background: #ffffff;
	border-color: var(--pvt-accent);
	box-shadow: 0 0 0 3px rgba(0, 191, 254, .15);
	outline: none;
}
.pvt-cta-panel .contact-form-one .form-group input::placeholder{
	color: #9aa0a6;
}
.pvt-cta-btn{
	border-radius: 8px;
	transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.pvt-cta-btn:hover{
	transform: translateY(-3px);
	box-shadow: 0 14px 26px rgba(0, 191, 254, .35);
}

/* Call panel (placeholder in place of a photo) — image column stretches to
   match the quote-form's height (row has align-items:stretch). */
.pvt-call-col{
	display: flex;
	align-items: center;
}
.pvt-call-card{
	width: 100%;
	border-radius: var(--pvt-radius);
	overflow: hidden;
	box-shadow: var(--pvt-shadow-hover);
	background: #ffffff;
	border: 1px solid var(--pvt-border);
}
.pvt-call-visual{
	margin: 0;
	aspect-ratio: 1286 / 1150;
}
.pvt-call-visual img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pvt-call-card .title-box{
	padding: 18px 22px;
	text-align: center;
}
.pvt-call-card .title-box h6{
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	color: var(--pvt-heading);
}

/* ---- Responsive ---- */
@media (max-width: 991px){
	.pvt-content-card{
		padding: 34px 26px;
	}
	.pvt-cta-panel{
		padding: 34px 24px;
	}
}
@media (max-width: 767px){
	.pvt-feature-grid{
		grid-template-columns: 1fr;
	}
	.pvt-quickfacts li{
		flex: 1 1 100%;
	}
	.pvt-content-card{
		padding: 28px 20px;
		margin-top: 26px;
	}
}
