/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme with vevcn.com storefront customizations
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

:root {
	--vevcn-yellow: #ffd400;
	--vevcn-yellow-hover: #e6bf00;
	--vevcn-navy: #032b63;
	--vevcn-dark: #171717;
}

/* Header logo: white wordmark and yellow arrow on a transparent background. */
#header .site-logo-container,
#offcanvas .site-logo-container[data-id="offcanvas-logo"] {
	display: block;
	box-sizing: border-box;
	width: 150px !important;
	height: 66px !important;
	padding: 2px 0;
	border-radius: 0;
	background: transparent url("vevcn-header-logo-white.png") center / contain no-repeat;
	background-origin: content-box;
}

#header .site-logo-container > svg,
#header .site-logo-container > img,
#offcanvas .site-logo-container[data-id="offcanvas-logo"] > svg,
#offcanvas .site-logo-container[data-id="offcanvas-logo"] > img {
	opacity: 0 !important;
}

/* Yellow is the single storefront action colour. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .single_add_to_cart_button,
.products .ct-woo-card-extra .button,
.vevcn-product-cta {
	border-color: var(--vevcn-yellow) !important;
	background: var(--vevcn-yellow) !important;
	color: #111 !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.products .ct-woo-card-extra .button:hover,
.vevcn-product-cta:hover {
	border-color: var(--vevcn-yellow-hover) !important;
	background: var(--vevcn-yellow-hover) !important;
	color: #111 !important;
}

/* Product cards: replace the oversized image overlay with a text button below price. */
.products figure > .ct-woo-card-extra {
	display: none !important;
}

.products li.product > .button.add_to_cart_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	justify-self: center;
	width: auto !important;
	min-width: 118px;
	min-height: 36px;
	margin-top: 6px !important;
	padding: 8px 16px !important;
	border-radius: 4px;
	font-size: 13px !important;
	font-weight: 650;
	line-height: 1.15 !important;
	text-align: center;
}

/* Mobile header: logo, language selector, then yellow menu trigger. */
.vevcn-language-switcher {
	display: none;
}

#header [data-device="mobile"] [data-column="end"] [data-items="primary"] {
	display: flex;
	align-items: center;
	gap: 11px;
}

#header [data-device="mobile"] .vevcn-language-switcher {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 78px;
	min-height: 32px;
	color: #fff;
	font-size: 12px;
	line-height: 1.2;
}

#header [data-device="mobile"] .vevcn-language-switcher .gt_selector {
	width: 88px;
	height: 32px;
	padding: 0 22px 0 7px;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 4px;
	background-color: rgba(0, 0, 0, 0.3);
	color: #fff;
	font-size: 12px;
}

#header [data-device="mobile"] .vevcn-language-switcher .gt_float_switcher {
	position: relative !important;
	overflow: visible;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 4px;
	background: rgba(0, 0, 0, 0.3) !important;
	box-shadow: none !important;
	font-size: 12px;
}

#header [data-device="mobile"] .vevcn-language-switcher .gt_float_switcher .gt-selected,
#header [data-device="mobile"] .vevcn-language-switcher .gt_float_switcher .gt-current-lang {
	background: transparent !important;
}

#header [data-device="mobile"] .vevcn-language-switcher .gt_float_switcher .gt-current-lang {
	display: flex;
	align-items: center;
	gap: 5px;
	min-height: 30px;
	padding: 3px 6px !important;
	color: #fff !important;
}

#header [data-device="mobile"] .vevcn-language-switcher .gt_float_switcher img {
	width: 22px !important;
	margin: 0 !important;
}

#header [data-device="mobile"] .vevcn-language-switcher .gt_float_switcher .gt-lang-code {
	display: inline-block !important;
	position: static !important;
	color: #fff !important;
	font-size: 12px;
	font-weight: 650;
}

#header [data-device="mobile"] .vevcn-language-switcher .gt_float_switcher .gt_options {
	position: absolute !important;
	top: calc(100% + 5px);
	right: 0;
	min-width: 160px;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

#header [data-device="mobile"] .ct-header-trigger {
	color: var(--vevcn-yellow) !important;
}

#header [data-device="mobile"] .ct-header-trigger .ct-icon,
#header [data-device="mobile"] .ct-header-trigger rect {
	fill: var(--vevcn-yellow) !important;
}

/* Ordered footer based on sort.jpg. */
#footer {
	display: none !important;
}

.vevcn-contact-footer {
	width: 100%;
	font-family: inherit;
}

.vevcn-contact-footer[hidden] {
	display: none !important;
}

.vevcn-follow-panel {
	padding: 24px max(24px, 5vw) 32px;
	background: #fff;
	color: #303033;
	text-align: center;
}

.vevcn-follow-divider {
	width: min(1200px, 100%);
	height: 6px;
	margin: 0 auto 50px;
	background: #2d2d2d;
}

.vevcn-follow-panel h2 {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	margin: 0 0 40px;
	color: #303033;
	font-size: clamp(32px, 3.4vw, 48px);
	font-weight: 700;
	line-height: 1;
}

.vevcn-follow-panel h2 > span {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #ff2d55;
	box-shadow: 0 0 0 2px rgba(255, 45, 85, 0.08);
}

.vevcn-primary-socials {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(18px, 2.6vw, 40px);
}

.vevcn-footer-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.vevcn-footer-icon > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.vevcn-primary-socials .vevcn-footer-icon > span {
	width: clamp(50px, 5vw, 70px);
	max-width: 70px;
	aspect-ratio: 1;
	border-radius: 24%;
	color: #fff;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vevcn-primary-socials .vevcn-footer-icon:hover > span {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}

.vevcn-primary-socials svg {
	width: 58%;
	height: 58%;
	fill: currentColor;
}

.vevcn-primary-socials [data-network="facebook"] > span { background: #1877f2; }
.vevcn-primary-socials [data-network="twitter"] > span { background: #12a9e6; }
.vevcn-primary-socials [data-network="youtube"] > span { background: #ff0000; }
.vevcn-primary-socials [data-network="instagram"] > span { background: linear-gradient(135deg, #ff9a25 0%, #f00073 52%, #9b15c7 100%); }
.vevcn-primary-socials [data-network="telegram"] > span { background: #168dcc; }

.vevcn-contact-panel {
	padding: 44px max(24px, 5vw) 24px;
	background: var(--vevcn-dark);
	color: #f4f4f4;
	text-align: center;
}

.vevcn-info-links {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.vevcn-info-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	max-width: 100%;
	color: #f4f4f4;
	font-size: clamp(25px, 3vw, 42px);
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0.025em;
	text-decoration: none;
}

.vevcn-info-link:hover {
	color: var(--vevcn-yellow);
}

.vevcn-info-link svg {
	flex: 0 0 auto;
	width: clamp(42px, 4vw, 58px);
	height: clamp(42px, 4vw, 58px);
	fill: #ff244b;
}

.vevcn-secondary-socials {
	display: grid;
	grid-template-columns: repeat(4, minmax(60px, 1fr));
	align-items: center;
	width: min(460px, 100%);
	margin: 44px auto 38px;
}

.vevcn-secondary-socials .vevcn-footer-icon {
	color: #fff;
	transition: color 0.2s ease, transform 0.2s ease;
}

.vevcn-secondary-socials .vevcn-footer-icon:hover {
	color: var(--vevcn-yellow);
	transform: translateY(-3px);
}

.vevcn-secondary-socials svg {
	width: 32px;
	height: 32px;
	fill: currentColor;
}

.vevcn-footer-tagline {
	margin: 0;
	color: #b7b7bb;
	font-size: clamp(22px, 2.4vw, 34px);
	font-style: italic;
	letter-spacing: 0.02em;
}

.vevcn-footer-author {
	width: min(900px, 100%);
	margin: 26px auto 0;
	padding-top: 18px;
	border-top: 1px dashed rgba(255, 255, 255, 0.14);
	color: #8f8f94;
	font-size: 15px;
	line-height: 1.5;
}

.vevcn-footer-author a {
	color: inherit;
	text-decoration: none;
}

.vevcn-footer-author a:hover {
	color: var(--vevcn-yellow);
}

@media (max-width: 767px) {
	#header [data-device="mobile"] [data-row="middle"] > .ct-container {
		padding-inline: 12px;
	}

	#header .site-logo-container {
		width: 106px !important;
		height: 48px !important;
		padding: 2px 0;
	}

	#offcanvas .site-logo-container[data-id="offcanvas-logo"] {
		width: 128px !important;
		height: 58px !important;
	}

	#header [data-device="mobile"] [data-column="end"] [data-items="primary"] {
		gap: 8px;
	}

	#header [data-device="mobile"] .vevcn-language-switcher {
		min-width: 72px;
	}

	#header [data-device="mobile"] .vevcn-language-switcher .gt_selector {
		width: 76px;
	}

	/* tworows.png: two products per mobile row. */
	.woocommerce ul.products,
	.woocommerce .products {
		--shop-columns: 2 !important;
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 24px 12px !important;
	}

	.woocommerce ul.products li.product,
	.woocommerce .products .product {
		min-width: 0;
		margin: 0 !important;
	}

	.products .woocommerce-loop-product__title {
		font-size: 14px !important;
		line-height: 1.3;
	}

	.products .price {
		font-size: 13px !important;
	}

	.products li.product > .button.add_to_cart_button {
		min-width: 0;
		max-width: 100%;
		min-height: 34px;
		margin-top: 4px !important;
		padding: 7px 12px !important;
		font-size: 12px !important;
	}

	.vevcn-follow-panel {
		padding: 12px 14px 18px;
	}

	.vevcn-follow-divider {
		height: 3px;
		margin-bottom: 22px;
	}

	.vevcn-follow-panel h2 {
		gap: 9px;
		margin-bottom: 20px;
		font-size: 24px;
	}

	.vevcn-follow-panel h2 > span {
		width: 9px;
		height: 9px;
	}

	.vevcn-primary-socials {
		gap: 8px;
	}

	.vevcn-primary-socials .vevcn-footer-icon > span {
		width: min(11vw, 42px);
		border-radius: 20%;
	}

	.vevcn-contact-panel {
		padding: 24px 14px 16px;
	}

	.vevcn-info-links {
		gap: 14px;
	}

	.vevcn-info-link {
		gap: 10px;
		font-size: 15px;
		line-height: 1.2;
		letter-spacing: 0.01em;
	}

	.vevcn-info-link svg {
		width: 23px;
		height: 23px;
	}

	.vevcn-secondary-socials {
		margin: 24px auto 22px;
	}

	.vevcn-secondary-socials svg {
		width: 24px;
		height: 24px;
	}

	.vevcn-footer-tagline {
		font-size: 16px;
	}

	.vevcn-footer-author {
		margin-top: 16px;
		padding-top: 12px;
		font-size: 11.5px;
		line-height: 1.35;
	}
}

@media (max-width: 380px) {
	#header .site-logo-container {
		width: 94px !important;
		height: 44px !important;
	}

	#header [data-device="mobile"] .vevcn-language-switcher .gt_selector {
		width: 70px;
		padding-left: 4px;
		font-size: 11px;
	}

	.vevcn-primary-socials .vevcn-footer-icon > span {
		width: min(10.8vw, 40px);
	}
}
