/*
Theme Name: Total Child
Theme URI: https://newartplayers.com/
Description: Child theme for New Art Players (Guwahati) — Total by WPExplorer. Safe home for custom CSS and small PHP overrides.
Author: New Art Players
Author URI: https://newartplayers.com/
Template: Total
Version: 1.0.6
Text Domain: total-child
*/

/* ==========================================================================
   New Art Players — foundation styles
   Primary accent: #3606d3 (deep violet) — matches Customizer accent_color
   Coral #fe475c is reduced/replaced in favour of accent + neutrals.
   Homepage builder content is not edited here; this file only styles markup.
   ========================================================================== */

:root {
	--nap-accent: #3606d3;
	--nap-accent-alt: #2a05a8;
	--nap-surface: #ffffff;
	--nap-surface-2: #f7f7f7;
	--nap-text: #222222;
	--nap-text-muted: #555555;
	--nap-radius: 12px;
	--nap-radius-sm: 8px;
	--nap-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	--nap-shadow-hover: 0 10px 28px rgba(54, 6, 211, 0.12);
	--nap-transition: 0.25s ease;
}

/* --------------------------------------------------------------------------
   Accent colour consistency
   Align menu hover/active and related UI with deep violet instead of coral.
   -------------------------------------------------------------------------- */

#site-navigation-wrap .main-navigation a:hover,
#site-navigation-wrap .main-navigation .current-menu-item > a,
#site-navigation-wrap .main-navigation .current-menu-ancestor > a,
.main-navigation .dropdown-menu a:hover {
	color: var(--nap-accent) !important;
}

/* --------------------------------------------------------------------------
   Card-style icon boxes (“What we do”)
   -------------------------------------------------------------------------- */

.vcex-grid-container .vcex-icon-box {
	background: var(--nap-surface);
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: var(--nap-radius);
	padding: 1.75rem 1.5rem;
	box-shadow: var(--nap-shadow);
	transition: transform var(--nap-transition), box-shadow var(--nap-transition), border-color var(--nap-transition);
	height: 100%;
	box-sizing: border-box;
}

.vcex-grid-container .vcex-icon-box:hover {
	transform: translateY(-4px);
	box-shadow: var(--nap-shadow-hover);
	border-color: rgba(54, 6, 211, 0.18);
}

.vcex-grid-container .vcex-icon-box .vcex-icon-box-heading {
	color: var(--nap-text);
}

.vcex-grid-container .vcex-icon-box .vcex-icon-box-content {
	color: var(--nap-text-muted);
	font-size: 0.98rem;
	line-height: 1.65;
}

/* Icon colour follows Total accent token when available */
.vcex-grid-container .vcex-icon-box .vcex-icon-box-icon {
	color: var(--wpex-accent, var(--nap-accent));
}

/* --------------------------------------------------------------------------
   Story section — image treatment
   -------------------------------------------------------------------------- */

/* Target images inside story / half-width columns with vcex_image */
.vcex-image .vcex-image-img,
.vcex-image img {
	border-radius: var(--nap-radius);
	box-shadow: var(--nap-shadow);
	display: block;
}

.vcex-image .vcex-image-caption {
	margin-top: 0.75rem;
	font-size: 0.9rem;
	color: var(--nap-text-muted);
	font-style: italic;
}

/* --------------------------------------------------------------------------
   Story section — body type scale
   Override the tight 14px set on the column_text in the builder.
   Scoped via surface section + column text common on homepage story.
   -------------------------------------------------------------------------- */

.wpex-surface-2 .vc_column_text,
.wpex-surface-2 .wpb_text_column,
.wpex-surface-2 .wpb_wrapper > .vc_column_text p {
	font-size: clamp(1.05rem, 0.98rem + 0.25vw, 1.125rem) !important;
	line-height: 1.7;
	color: var(--nap-text);
}

.wpex-surface-2 .vc_column_text p {
	margin-bottom: 1.1em;
}

.wpex-surface-2 .vc_column_text p:last-child {
	margin-bottom: 0;
}

/* Strip accidental Claude classes if still present in markup */
.font-claude-response-body {
	/* reset to inherit site typography */
	font-family: inherit;
	white-space: normal;
	word-break: normal;
}

/* --------------------------------------------------------------------------
   Spacing cleanup helpers
   Use with row/section el_class in WPBakery when refining the builder later.
   -------------------------------------------------------------------------- */

.nap-section {
	/* reserved for future section wrappers */
}

.nap-section--tight {
	/* tighter vertical rhythm helper */
}

.nap-stack-gap > * + * {
	margin-top: 1.25rem;
}

/* Soften empty-looking gaps between consecutive empty builder rows if any remain */
.vc_row.wpex-vc_row-col-mb-0:empty {
	display: none;
}

/* --------------------------------------------------------------------------
   Impact / counter strip (prepared for builder elements later)
   -------------------------------------------------------------------------- */

.nap-impact-strip .vcex-milestone,
.nap-impact-strip .vcex-milestone-number,
.nap-impact-strip .vcex-countup {
	/* hooks ready when counter row is added */
}

/* --------------------------------------------------------------------------
   News & Events — light polish (no content change)
   -------------------------------------------------------------------------- */

.wpex-card {
	border-radius: var(--nap-radius-sm);
}

/* --------------------------------------------------------------------------
   Reduced motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.vcex-grid-container .vcex-icon-box {
		transition: none;
	}

	.vcex-grid-container .vcex-icon-box:hover {
		transform: none;
	}
}

/* ==========================================================================
   Site-wide page header / title bar (Brahmaputra background)
   Global image is set via theme_mods (page_header_background_img = 433,
   page_header_style = background-image). These rules polish readability.
   Homepage keeps page-header-disabled (overlay hero) — do not force a bar.
   ========================================================================== */

/* Ensure cover + center if Customizer CSS is thin */
.page-header.has-bg-image,
.page-header.background-image-page-header {
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
}

/* Title + supporting text readable on dark photo */
.page-header.background-image-page-header,
.page-header.has-bg-image {
	color: #ffffff;
}

.page-header.background-image-page-header .page-header-title,
.page-header.has-bg-image .page-header-title,
.page-header.background-image-page-header .page-header-title a,
.page-header.has-bg-image .page-header-title a {
	color: #ffffff !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

.page-header.background-image-page-header a,
.page-header.has-bg-image a {
	color: rgba(255, 255, 255, 0.92);
}

.page-header.background-image-page-header a:hover,
.page-header.has-bg-image a:hover {
	color: #ffffff;
}

/* Breadcrumbs / aside inside title bar */
.page-header.background-image-page-header .site-breadcrumbs,
.page-header.has-bg-image .site-breadcrumbs,
.page-header.background-image-page-header .page-header-aside,
.page-header.has-bg-image .page-header-aside {
	color: rgba(255, 255, 255, 0.9);
}

/* Do not invent a page header on the front page (hero already uses this image) */
body.home.page-header-disabled .page-header {
	display: none !important;
}

/* ==========================================================================
   Session 6 — layout fixes: What we do / Impact / Footer / Blog archive
   ========================================================================== */

/* 1) What we do — 1 col mobile, 2 tablet, 4 desktop */
.nap-what-we-do .vcex-grid-container {
	--wpex-grid-columns: 1;
	gap: 1.25rem;
}

@media (min-width: 768px) {
	.nap-what-we-do .vcex-grid-container {
		--wpex-grid-columns: 2;
		gap: 1.5rem;
	}
}

@media (min-width: 1024px) {
	.nap-what-we-do .vcex-grid-container {
		--wpex-grid-columns: 4;
		gap: 1.5rem;
	}
}

.nap-what-we-do .vcex-icon-box {
	width: 100%;
	max-width: 100%;
}

/* 2) Impact strip — 2×2 mobile, single row of 4 on large screens */
.nap-impact-strip .vcex-grid-container {
	--wpex-grid-columns: 2;
	gap: 1.5rem 1rem;
	align-items: center;
	justify-items: center;
}

@media (min-width: 900px) {
	.nap-impact-strip .vcex-grid-container {
		--wpex-grid-columns: 4;
		gap: 1.25rem 2rem;
	}
}

.nap-impact-strip .vcex-milestone,
.nap-impact-strip .vcex-milestone-inner,
.nap-impact-strip .wpb_text_column {
	width: 100%;
	text-align: center;
}

.nap-impact-strip .vcex-milestone-number {
	white-space: nowrap;
}

.nap-impact-strip.vc_row {
	padding-left: 1rem;
	padding-right: 1rem;
}

/* 3) Footer — center-align all content */
#footer-builder,
#footer-builder .footer-builder-content,
#footer-builder .wpb_text_column,
#footer-builder .wpb_wrapper,
#footer-builder p {
	text-align: center !important;
}

#footer-builder .vc_column_container,
#footer-builder .wpb_column {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

#footer-builder .vc_column-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 40rem;
}

/* 4) Blog archive — hide duplicate “Archive: Blog” (page-header already shows Blog) */
body.blog .vcex-page-title,
.blog .vcex-page-title {
	display: none !important;
}

/* Gallery grid polish */
.nap-gallery-grid img {
	width: 100%;
	height: auto;
	object-fit: cover;
	display: block;
}

/* ==========================================================================
   Session 7 — hide duplicate titles below Brahmaputra page-header
   Keep .page-header-title; hide WPBakery intro headings that repeat it.
   Homepage untouched (no page-header title bar).
   ========================================================================== */

/* About: first content block is only "About Us" h1 */
body.page-id-354 .wpb-content-wrapper > .vc_row:first-child:has(h1.vcex-heading) {
	display: none !important;
}

/* Management: first content block is only "New Art Players Management" h1 */
body.page-id-33 .wpb-content-wrapper > .vc_row:first-child:has(h1.vcex-heading) {
	display: none !important;
}

/* Gallery: intro "Gallery" h2 under the banner */
body.page-id-546 .wpb-content-wrapper h2.vcex-heading {
	display: none !important;
}

/* Blog: already handled in Session 6 — keep explicit for clarity */
body.blog .vcex-page-title,
.blog .vcex-page-title {
	display: none !important;
}

/* ==========================================================================
   Session 8/11 — logo spacing (header style seven, sticky-safe)
   15px top; left breathing room; works on home + inner pages.
   ========================================================================== */

#site-logo.site-branding {
	padding-top: 15px;
	padding-bottom: 0.75rem;
	padding-left: 1.25rem;
	padding-right: 0.5rem;
	box-sizing: border-box;
}

/* Keep left inset on larger screens; top stays 15px */
@media (min-width: 960px) {
	#site-logo.site-branding {
		padding-top: 15px;
		padding-bottom: 1rem;
		padding-left: 1.75rem;
	}
}

/* Slightly less top when sticky shrink is active */
#site-header.sticky-header-shrunk #site-logo.site-branding,
body.sticky-header-shrunk #site-logo.site-branding {
	padding-top: 10px;
	padding-bottom: 0.4rem;
	/* keep left padding so logo never hugs the edge while scrolling */
	padding-left: 1.25rem;
}

@media (min-width: 960px) {
	#site-header.sticky-header-shrunk #site-logo.site-branding,
	body.sticky-header-shrunk #site-logo.site-branding {
		padding-left: 1.75rem;
	}
}

/* Session 10 — About & Management layout polish */
.nap-aims-list ol {
  max-width: 48rem;
  margin: 0 auto;
  padding-left: 1.5rem;
  line-height: 1.7;
}
.nap-aims-list li {
  margin-bottom: 0.75rem;
  padding-left: 0.35rem;
}
.nap-table-wrap {
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
}
.nap-table-wrap--scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.nap-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.98rem;
}
.nap-table th,
.nap-table td {
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  vertical-align: top;
}
.nap-table--office th {
  width: 38%;
  color: var(--nap-accent, #3606d3);
  font-weight: 600;
  white-space: nowrap;
}
.nap-table--history thead th {
  background: rgba(54, 6, 211, 0.08);
  color: #222;
  font-weight: 600;
}
.nap-table--history tbody tr:nth-child(even) {
  background: rgba(0,0,0,0.02);
}
@media (max-width: 640px) {
  .nap-table--office th,
  .nap-table--office td {
    display: block;
    width: 100%;
  }
  .nap-table--office th {
    border-bottom: 0;
    padding-bottom: 0.25rem;
  }
  .nap-table--office td {
    padding-top: 0.25rem;
    padding-bottom: 1rem;
  }
  .nap-table--office tr {
    border-bottom: 1px solid rgba(0,0,0,0.08);
  }
}

