/*
Theme Name: Nurevix Child
Theme URI: https://nurevixapparel.com
Description: Hello Elementor child theme for Nurevix Apparel. Hosts the coded homepage template and its assets.
Author: Nurevix Apparel
Template: hello-elementor
Version: 1.0.0
Text Domain: nurevix-child
*/

/* ==========================================================================
   Nurevix product pages - shared polish
   Palette: bg #040609 / panel #0B0D12 / line #1B1E26
            text #F5F9FF / #B4B8BE / #8C8F95 / #777A80
            accent #D30046 (hover #C00038)
   ========================================================================== */

html { scroll-behavior: smooth; }

/* --- breadcrumbs --- */
.nv-crumbs { margin: 0; }
.nv-crumbs a { color: #95989F; text-decoration: none; transition: color .18s ease; }
.nv-crumbs a:hover { color: #D30046; }
.nv-crumbs .nv-sep { margin: 0 9px; color: #4A4E57; }
.nv-crumbs .nv-current { color: #F5F9FF; }

/* --- measure --- */
.nv-lede p { max-width: 760px; margin: 0; }
.nv-range-sub p { max-width: 660px; margin-left: auto; margin-right: auto; }

/* --- eyebrow --- */
.nv-eyebrow { text-transform: uppercase; }

/* --- imagery --- */
.nv-card-img img,
.nv-hero-img img { display: block; width: 100%; height: auto; object-fit: cover; }
.nv-card-img img { aspect-ratio: 4 / 3; }
.nv-hero-img img { aspect-ratio: 4 / 3; border-radius: 12px; }

/* --- category cards now link to product pages --- */
.nv-card { transition: transform .22s ease; }
.nv-card .nv-card-img img { transition: transform .35s ease, opacity .22s ease; }
.nv-card:hover .nv-card-img img { transform: scale(1.035); }
.nv-card:hover .elementor-widget-heading a,
.nv-card:hover .elementor-heading-title { color: #D30046 !important; }
.nv-card .elementor-heading-title a { color: inherit; text-decoration: none; }
.nv-card a { text-decoration: none; }

/* --- panels (styles + spec tiles + form card) --- */
.nv-panel { transition: border-color .2s ease, background-color .2s ease; }
.nv-panel:hover { border-color: #2A2E38; }
.nv-spec:hover { background-color: #0E1117; }

/* --- feature lists --- */
.nv-feat .elementor-icon-list-item { align-items: flex-start; }
.nv-feat .elementor-icon-list-icon { margin-top: 4px; }
.nv-feat .elementor-icon-list-text { color: #B4B8BE; }

/* --- action row --- */
.nv-actions .elementor-widget-button { width: auto; }

/* --- inquiry anchor clears the sticky header --- */
#inquiry { scroll-margin-top: 110px; }

/* --- form --- */
.nv-form .elementor-field-group > label { margin-bottom: 7px; letter-spacing: .2px; }
.nv-form .elementor-field-group .elementor-field { padding: 12px 14px !important; }
.nv-form .elementor-field::placeholder { color: #5E626B; }
.nv-form .elementor-field:focus { border-color: #D30046 !important; outline: none; box-shadow: 0 0 0 3px rgba(211, 0, 70, .16); }
.nv-form select.elementor-field { color: #F5F9FF; }
.nv-form .elementor-button { padding: 13px 30px !important; }
.nv-form .elementor-message { font-size: 15px; }
.nv-form .elementor-message-success { color: #7BE0A8; }

/* --- contact block on the Send Inquiry page --- */
.nv-contactinfo p { margin: 0 0 16px; }
.nv-contactinfo p:last-child { margin-bottom: 0; }
.nv-contactinfo strong { display: block; margin-bottom: 3px; color: #8C8F95; font-size: 11px; font-weight: 600; letter-spacing: 1.3px; text-transform: uppercase; }
.nv-contactinfo a { color: #F5F9FF; text-decoration: none; transition: color .18s ease; }
.nv-contactinfo a:hover { color: #D30046; }

/* --- header --- */
.nv-header { transition: background-color .25s ease, box-shadow .25s ease; }
.nv-header.elementor-sticky--effects { background-color: #000000 !important; box-shadow: 0 1px 0 rgba(245, 249, 255, .07); }
.nv-hdr-cta .elementor-button { white-space: nowrap; }
.nv-hdr-cta-col { flex-shrink: 0; }

/* --- responsive --- */
@media (max-width: 1024px) {
	.nv-hero-img img { aspect-ratio: 16 / 9; }
}
@media (max-width: 767px) {
	.nv-crumbs { font-size: 13px; }
	.nv-crumbs .nv-sep { margin: 0 6px; }
	.nv-actions { flex-direction: column; align-items: stretch; }
	.nv-actions .elementor-widget-button,
	.nv-actions .elementor-button { width: 100%; }
	#inquiry { scroll-margin-top: 80px; }
}

/* --- header: transparent over the hero, solid once scrolled (matches template) --- */
.nv-header { position: relative; }
.nv-header::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: linear-gradient(180deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.34) 60%, rgba(0,0,0,0) 100%);
	transition: opacity .25s ease; opacity: 1; }
.nv-header.elementor-sticky--effects::before { opacity: 0; }
.nv-header.elementor-sticky--effects { background-color: #000000 !important; box-shadow: 0 1px 0 rgba(245,249,255,.07); }

/* ==========================================================================
   About Us + Contact Us
   ========================================================================== */

/* --- story copy --- */
.nv-story p { margin: 0 0 18px; }
.nv-story p:last-child { margin-bottom: 0; }

/* --- stat tiles --- */
.nv-stat { text-align: left; }
.nv-stat .elementor-heading-title { display: block; }

/* --- journey timeline --- */
.nv-timeline .nv-step { position: relative; overflow: hidden; }
.nv-timeline .nv-step::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, #D30046 0%, rgba(211,0,70,0) 100%); }
.nv-timeline .nv-year .elementor-heading-title { letter-spacing: -.5px; }

/* --- icon boxes (contact + principles) --- */
.nv-iconbox .elementor-icon { border-radius: 999px; }
.nv-iconbox .elementor-icon-box-title { margin-bottom: 0; }
.nv-iconbox .elementor-icon-box-description { margin: 0; }
.nv-iconbox .elementor-icon-box-description a { color: #F5F9FF; text-decoration: none; transition: color .18s ease; }
.nv-iconbox .elementor-icon-box-description a:hover { color: #D30046; }
.nv-infobox, .nv-principle { height: 100%; }

/* --- map --- */
.nv-map iframe { border-radius: 10px; display: block; }

/* --- product family cards on About --- */
.nv-families .nv-card-img img { aspect-ratio: 4 / 3; }

@media (max-width: 1024px) {
	.nv-timeline .nv-step::after { height: 2px; }
}

/* ==========================================================================
   v3 - timeline, mobile navigation, mega dropdowns, polish
   ========================================================================== */

/* --- About: alternating centre-line timeline --- */
.nv-tl { position: relative; }
.nv-tl::before { content: ''; position: absolute; left: 50%; top: 10px; bottom: 10px; width: 1px; transform: translateX(-50%);
	background: linear-gradient(180deg, rgba(43,46,51,0) 0%, #2B2E33 7%, #2B2E33 93%, rgba(43,46,51,0) 100%); }
.nv-tl-item { position: relative; padding-bottom: 58px; }
.nv-tl-item:last-child { padding-bottom: 0; }
.nv-tl-item::after { content: ''; position: absolute; left: 50%; top: 11px; width: 12px; height: 12px; margin-left: -6px;
	border-radius: 999px; background: #C18200; box-shadow: 0 0 0 4px #0B0D12; z-index: 2; }
.nv-tl-left  .nv-tl-box { padding-right: 48px; }
.nv-tl-right .nv-tl-box { padding-left: 48px; }
.nv-tl-desc p { margin: 0; }

@media (min-width: 768px) and (max-width: 1024px) {
	.nv-tl-left  .nv-tl-box { padding-right: 32px; }
	.nv-tl-right .nv-tl-box { padding-left: 32px; }
	.nv-tl-item { padding-bottom: 48px; }
}
@media (max-width: 767px) {
	.nv-tl::before { left: 5px; }
	.nv-tl-item { padding-bottom: 38px; }
	.nv-tl-item::after { left: 5px; margin-left: 0; top: 9px; width: 11px; height: 11px; }
	.nv-tl-item, .nv-tl-left, .nv-tl-right { justify-content: flex-start !important; }
	.nv-tl-left .nv-tl-box, .nv-tl-right .nv-tl-box { padding-left: 30px; padding-right: 0; }
	.nv-tl-box .elementor-widget-heading, .nv-tl-box .elementor-widget-text-editor,
	.nv-tl-box .elementor-heading-title, .nv-tl-box p { text-align: left !important; }
}

/* ==========================================================================
   Mobile + tablet navigation (Jeg Kit slide-in panel)
   ========================================================================== */
@media (max-width: 1024px) {

	.jkit-hamburger-menu { color: #F5F9FF !important; }

	/* backdrop */
	.jkit-nav-menu .jkit-overlay { background-color: rgba(2, 3, 6, .74) !important; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }

	/* the panel itself - solid, never see-through */
	.jkit-nav-menu .jkit-menu-wrapper {
		background-color: #0B0D12 !important;
		background-image: none !important;
		-webkit-backdrop-filter: none !important; backdrop-filter: none !important;
		width: 88% !important; max-width: 370px;
		border-right: 1px solid #1B1E26;
		box-shadow: 22px 0 60px rgba(0, 0, 0, .7);
	}
	.jkit-nav-menu .jkit-menu-container { background-color: #0B0D12 !important; padding: 0 0 48px !important; }

	/* logo + close row */
	.jkit-nav-identity-panel { background-color: #0B0D12 !important; padding: 16px 18px !important;
		border-bottom: 1px solid #1B1E26; display: flex; align-items: center; justify-content: space-between; }
	.jkit-nav-identity-panel .jkit-nav-logo img { max-width: 132px !important; width: 132px !important; height: auto !important; }
	.jkit-close-menu { color: #F5F9FF !important; font-size: 22px !important; margin: 0 !important; }

	/* top level */
	ul.jkit-menu > li { border-bottom: 1px solid #16191F; }
	ul.jkit-menu > li > a { padding: 15px 18px !important; margin: 0 !important;
		font-family: 'Space Grotesk', sans-serif !important; font-size: 15px !important; font-weight: 600 !important;
		color: #F5F9FF !important; letter-spacing: .1px; }
	ul.jkit-menu > li.current-menu-item > a,
	ul.jkit-menu > li.current-menu-ancestor > a { color: #D30046 !important; }

	/* the little chevron that opens a group */
	ul.jkit-menu .jkit-submenu-indicator,
	ul.jkit-menu > li > a .icon-down-arrow1 { color: #D30046 !important; }

	/* submenus - inset, quieter, clearly a child of the group above */
	ul.jkit-menu .sub-menu { background-color: #07080B !important; padding: 4px 0 8px !important;
		border-top: 1px solid #16191F; box-shadow: none !important; }
	ul.jkit-menu .sub-menu li { border: 0 !important; }
	ul.jkit-menu .sub-menu li a { padding: 11px 18px 11px 30px !important; margin: 0 !important;
		font-family: 'Inter', sans-serif !important; font-size: 14px !important; font-weight: 400 !important;
		color: #B4B8BE !important; border-left: 2px solid transparent; transition: color .15s ease, border-color .15s ease, background-color .15s ease; }
	ul.jkit-menu .sub-menu li a:hover,
	ul.jkit-menu .sub-menu li a:focus,
	ul.jkit-menu .sub-menu li.current-menu-item > a {
		color: #F5F9FF !important; border-left-color: #D30046; background-color: #0D0F15 !important; }

	/* keep the panel scrollable with 39 links in it */
	.jkit-nav-menu .jkit-menu-wrapper { overflow-y: auto; -webkit-overflow-scrolling: touch; }
}

/* ==========================================================================
   Desktop: split the long dropdowns into two columns
   ========================================================================== */
@media (min-width: 1025px) {
	.jkit-menu > li.menu-item-200 > .sub-menu,
	.jkit-menu > li.menu-item-95  > .sub-menu {
		width: 490px !important; max-width: calc(100vw - 48px);
		column-count: 2; column-gap: 0; padding: 14px 0 !important;
	}
	.jkit-menu > li.menu-item-200 > .sub-menu > li,
	.jkit-menu > li.menu-item-95  > .sub-menu > li { break-inside: avoid; -webkit-column-break-inside: avoid; }
	.jkit-menu > li.menu-item-95 > .sub-menu { left: auto !important; right: 0 !important; }

	.jkit-menu .sub-menu li a { transition: color .15s ease, padding-left .15s ease; }
	.jkit-menu .sub-menu li a:hover { padding-left: 22px; }
}

/* ==========================================================================
   Finishing pass
   ========================================================================== */
::selection { background: #D30046; color: #FFFFFF; }

:focus-visible { outline: 2px solid #D30046; outline-offset: 3px; border-radius: 3px; }
.elementor-button:focus-visible, .jkit-menu a:focus-visible { outline-offset: 4px; }

/* buttons lift slightly, like the template */
.elementor-button { transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; }
.elementor-button:hover { transform: translateY(-1px); }
.nv-hdr-cta .elementor-button:hover { box-shadow: 0 6px 20px rgba(211, 0, 70, .32); }

/* footer links */
.site-footer a, footer a { transition: color .18s ease; }

/* image polish */
.nv-card-img img, .nv-hero-img img { background-color: #0F1218; }

/* scrollbar */
@media (min-width: 1025px) {
	* { scrollbar-width: thin; scrollbar-color: #2B2E33 #040609; }
	*::-webkit-scrollbar { width: 10px; height: 10px; }
	*::-webkit-scrollbar-track { background: #040609; }
	*::-webkit-scrollbar-thumb { background: #2B2E33; border-radius: 999px; border: 2px solid #040609; }
	*::-webkit-scrollbar-thumb:hover { background: #3A3E48; }
}

/* never let a page scroll sideways on a phone */
body { overflow-x: hidden; }
/* sticky header clears the WP admin bar for logged-in users */
body.admin-bar .nv-header.elementor-sticky--active { top: 32px !important; }
@media (max-width: 782px) { body.admin-bar .nv-header.elementor-sticky--active { top: 46px !important; } }
/* mobile panel logo sits flush, no letterbox */
@media (max-width: 1024px) { .jkit-nav-identity-panel .jkit-nav-logo img { background: transparent !important; } }

/* identity panel plate: match the logo artwork so the lockup reads as one piece */
@media (max-width: 1024px) { .jkit-nav-identity-panel { background-color: #000000 !important; } }
