/**
 * Global multipurpose style systems + per-template polish.
 */

/* Typography systems */
.nbt-mp-heading-style--serif .nbt-mp-hero__title,
.nbt-mp-heading-style--serif .nbt-mp-section-head h2,
.nbt-mp-heading-style--serif .nbt-mp-about__content h2 {
	font-family: Georgia, "Times New Roman", serif;
	letter-spacing: -0.02em;
}

.nbt-mp-heading-style--display .nbt-mp-hero__title,
.nbt-mp-heading-style--display .nbt-mp-section-head h2 {
	letter-spacing: -0.04em;
	font-weight: 800;
	text-transform: uppercase;
}

.nbt-mp-heading-style--sans .nbt-mp-hero__title,
.nbt-mp-heading-style--sans .nbt-mp-section-head h2 {
	font-weight: 700;
	letter-spacing: -0.03em;
}

/* Button systems */
.nbt-mp-button-style--pill .nbt-mp-btn { border-radius: 999px; }
.nbt-mp-button-style--square .nbt-mp-btn { border-radius: 4px; }
.nbt-mp-button-style--soft .nbt-mp-btn { border-radius: 12px; }

/* Card systems */
.nbt-mp-card-style--flat .nbt-mp-card {
	box-shadow: none;
	border: 1px solid color-mix(in srgb, var(--nbt-crypto-text, #111) 8%, transparent);
}
.nbt-mp-card-style--shadow .nbt-mp-card {
	border: 0;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
}
.nbt-mp-card-style--bordered .nbt-mp-card {
	box-shadow: none;
	border: 1px solid color-mix(in srgb, var(--nbt-mp-accent) 22%, transparent);
}
.nbt-mp-card-style--glass .nbt-mp-card {
	background: color-mix(in srgb, var(--nbt-crypto-surface, #fff) 82%, transparent);
	backdrop-filter: blur(10px);
	border: 1px solid color-mix(in srgb, #fff 40%, transparent);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}

/* Per-template identity */
body.nbt-mp-template--corporate-business .nbt-mp-band--hero { border-bottom: 3px solid var(--nbt-mp-accent); }
body.nbt-mp-template--saas-startup .nbt-mp-hero__floats { margin-top: -2rem; }
body.nbt-mp-template--digital-agency .nbt-mp-band--portfolio { padding-top: calc(var(--nbt-mp-gap) * 2); }
body.nbt-mp-template--creative-studio .nbt-mp-portfolio__item { border-radius: 0; }
body.nbt-mp-template--marketing-agency .nbt-mp-stats__item strong { color: var(--nbt-mp-accent); }
body.nbt-mp-template--consulting-firm .nbt-mp-section-head h2 { font-size: 1.75rem; }
body.nbt-mp-template--law-firm .nbt-mp-hero__title { text-transform: none; font-weight: 600; }
body.nbt-mp-template--finance-accounting .nbt-mp-stats { border-block: 1px solid color-mix(in srgb, var(--nbt-mp-accent) 20%, transparent); }
body.nbt-mp-template--real-estate .nbt-mp-hero__search input { min-width: min(100%, 360px); }
body.nbt-mp-template--construction-company .nbt-mp-hero__title { text-transform: uppercase; }
body.nbt-mp-template--architecture-studio .nbt-mp-section-head h2 { font-weight: 400; }
body.nbt-mp-template--interior-design .nbt-mp-card { border-radius: calc(var(--nbt-mp-radius) + 8px); }
body.nbt-mp-template--restaurant-cafe .nbt-mp-kicker { color: #b45309; }
body.nbt-mp-template--hotel-resort .nbt-mp-hero__inner { text-align: center; justify-items: center; }
body.nbt-mp-template--travel-agency .nbt-mp-portfolio__item h3 { font-size: 1.1rem; }
body.nbt-mp-template--medical-clinic .nbt-mp-btn { border-radius: 8px; }
body.nbt-mp-template--dentist .nbt-mp-band--alt { background: color-mix(in srgb, var(--nbt-mp-accent) 8%, #ecfeff); }
body.nbt-mp-template--fitness-gym .nbt-mp-hero__title { font-style: italic; }
body.nbt-mp-template--beauty-salon .nbt-mp-testimonials__quote { border-radius: 24px; }
body.nbt-mp-template--personal-portfolio .nbt-mp-band { padding-block: calc(var(--nbt-mp-gap) * 1.6); }
body.nbt-mp-template--freelancer .nbt-mp-cta__inner { text-align: center; }
body.nbt-mp-template--photography .nbt-mp-portfolio__media .nbt-mp-placeholder { min-height: 240px; }
body.nbt-mp-template--online-course .nbt-mp-pricing__plan.is-featured { border-width: 2px; }
body.nbt-mp-template--event-conference .nbt-mp-hero__stats strong { font-size: 1.5rem; }
body.nbt-mp-template--nonprofit-charity .nbt-mp-cta--donate-now .nbt-mp-cta__inner {
	background: color-mix(in srgb, var(--nbt-mp-accent) 18%, transparent);
}

/* Section container polish */
.nbt-mp-about__grid,
.nbt-mp-services__grid,
.nbt-mp-team__grid,
.nbt-mp-testimonials__grid,
.nbt-mp-pricing__grid,
.nbt-mp-portfolio__grid,
.nbt-mp-blog__grid,
.nbt-mp-contact__grid,
.nbt-mp-faq__list,
.nbt-mp-logos__row,
.nbt-mp-process__list,
.nbt-mp-stats__grid,
.nbt-mp-cta__inner {
	max-width: 1170px;
	margin-inline: auto;
	padding-inline: 1rem;
}

.nbt-mp-blog__thumb img {
	width: 100%;
	height: auto;
	border-radius: calc(var(--nbt-mp-radius) - 2px);
	display: block;
}

.nbt-mp-testimonials__quote p {
	font-size: 1.02rem;
	line-height: 1.6;
	margin: 0 0 1rem;
}

.nbt-mp-process__step h3 {
	margin: 0.35rem 0;
}

@media (max-width: 960px) {
	.nbt-mp-team--grid-4 .nbt-mp-team__grid,
	.nbt-mp-team--attorney-grid .nbt-mp-team__grid,
	.nbt-mp-team--crew-grid .nbt-mp-team__grid,
	.nbt-mp-team--trainer-grid .nbt-mp-team__grid,
	.nbt-mp-team--instructor-grid .nbt-mp-team__grid,
	.nbt-mp-team--volunteer-grid .nbt-mp-team__grid,
	.nbt-mp-testimonials--slider-cards .nbt-mp-testimonials__grid,
	.nbt-mp-testimonials--quote-grid .nbt-mp-testimonials__grid,
	.nbt-mp-testimonials--rating-cards .nbt-mp-testimonials__grid,
	.nbt-mp-portfolio--masonry-3 .nbt-mp-portfolio__grid,
	.nbt-mp-portfolio--property-grid .nbt-mp-portfolio__grid,
	.nbt-mp-portfolio--project-grid .nbt-mp-portfolio__grid,
	.nbt-mp-portfolio--lookbook-grid .nbt-mp-portfolio__grid {
		grid-template-columns: 1fr !important;
	}
}
