/*
Theme Name: Blocksy Child
Theme URI: https://contrastclo.com
Description: Child theme for Contrast Clo, based on Blocksy.
Author: Contrast Clo
Template: blocksy
Version: 1.1.0
Text Domain: blocksy-child
*/

:root {
	--cc-black: #111111;
	--cc-white: #ffffff;
	--cc-muted: #6b6b6b;
	--cc-line: #e6e6e6;
	--cc-sale: #b3261e;
}

/* ---------- Announcement bar ---------- */
.cc-announce {
	background: var(--cc-black);
	color: var(--cc-white);
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	overflow: hidden;
	white-space: nowrap;
}
.cc-announce__inner {
	display: flex;
	width: max-content;
	animation: cc-marquee 40s linear infinite;
}
.cc-announce:hover .cc-announce__inner { animation-play-state: paused; }
.cc-announce__track { display: flex; }
.cc-announce__item { padding: 10px 28px; position: relative; }
.cc-announce__item::after {
	content: "\2726";
	position: absolute;
	right: -6px;
	opacity: 0.6;
}
@keyframes cc-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.cc-announce__inner { animation: none; }
}

/* ---------- Logo (text) ---------- */
.site-title {
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-size: 22px;
}
.site-title a { color: var(--cc-black); }

/* ---------- Multi-column dropdown (menu item class: cc-mega) ---------- */
@media (min-width: 1000px) {
	.header-menu-1 .menu > li.cc-mega > .sub-menu {
		display: grid;
		grid-template-columns: repeat(2, minmax(170px, 1fr));
		gap: 8px 32px;
		min-width: 440px;
		padding: 24px 28px;
	}
	.header-menu-1 .menu > li.cc-mega > .sub-menu > li > a {
		font-size: 12px;
		font-weight: 600;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		pointer-events: none;
		padding-bottom: 6px;
	}
	.header-menu-1 .menu > li.cc-mega > .sub-menu > li > a .ct-toggle-dropdown-desktop,
	.header-menu-1 .menu > li.cc-mega > .sub-menu > li > a svg,
	.header-menu-1 .menu > li.cc-mega > .sub-menu > li > .ct-toggle-dropdown-desktop-ghost {
		display: none;
	}
	.header-menu-1 .menu > li.cc-mega .sub-menu .sub-menu {
		position: static !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		box-shadow: none !important;
		background: transparent !important;
		min-width: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		display: block !important;
		pointer-events: auto;
	}
	.header-menu-1 .menu > li.cc-mega .sub-menu .sub-menu a { padding-left: 0; }
}

/* ---------- Product cards ---------- */
[data-products] .product { position: relative; }
[data-products] .woocommerce-loop-product__title,
[data-products] .woocommerce-loop-product__title a {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
}
[data-products] .price { font-weight: 600; }
[data-products] .price del { color: var(--cc-muted); font-weight: 400; margin-right: 6px; }
[data-products] .price ins { text-decoration: none; color: var(--cc-sale); }
.onsale {
	background: var(--cc-sale) !important;
	color: var(--cc-white) !important;
	border-radius: 0 !important;
	font-size: 12px !important;
	font-weight: 600;
}
.cc-buy-now.button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 10px;
	background: var(--cc-black);
	color: var(--cc-white);
	border: 1px solid var(--cc-black);
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.cc-buy-now.button:hover {
	background: var(--cc-white);
	color: var(--cc-black);
}
.cc-buy-now--single.button { width: auto; margin-top: 0; margin-left: 10px; min-height: var(--theme-button-min-height, 45px); }

/* ---------- Footer (light, 4 columns) ---------- */
.ct-footer { border-top: 8px solid #f6f1ec; }
.ct-footer [data-row="top"] .widget-title,
.ct-footer [data-row="top"] .widget h2,
.ct-footer [data-row="top"] .widget h3 {
	color: #8a8a8a;
	font-size: 13px !important;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-bottom: 22px;
}
.ct-footer .widget_nav_menu ul { list-style: none; margin: 0; padding: 0; }
.ct-footer .widget_nav_menu li { margin: 0 0 14px; }
.ct-footer .widget_nav_menu a {
	color: var(--cc-black);
	font-size: 16px;
	text-decoration: none;
}
.ct-footer .widget_nav_menu a:hover { color: var(--cc-muted); }
.ct-footer .widget_nav_menu .cc-strong > a { font-weight: 600; }

.cc-footer-brand > * { margin: 0 0 18px; }
.cc-footer-logo a {
	color: var(--cc-black);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
}
.cc-footer-desc { color: #6b6b6b; max-width: 400px; line-height: 1.7; }
.cc-footer-address { color: #6b6b6b; font-size: 15px; text-transform: uppercase; letter-spacing: 0.02em; margin-bottom: 4px !important; }
.cc-footer-contact { color: #6b6b6b; font-size: 15px; }
.cc-footer-contact a { color: #6b6b6b; text-decoration: underline; text-underline-offset: 3px; }
.cc-footer-social.wp-block-social-links { gap: 12px; margin-top: 6px; }
.cc-footer-social .wp-social-link {
	width: 46px;
	height: 46px;
	border: 1px solid #e3ddd6;
	border-radius: 50%;
	background: transparent !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: border-color .2s ease;
}
.cc-footer-social .wp-social-link a { padding: 0; color: var(--cc-black) !important; }
.cc-footer-social .wp-social-link svg { width: 20px; height: 20px; }
.cc-footer-social .wp-social-link:hover { border-color: var(--cc-black); }
.ct-footer [data-row="bottom"] { font-size: 13px; }
@media (max-width: 689.98px) {
	.ct-footer [data-row="top"] .ct-container { row-gap: 40px; }
}
/* =========================================================
   Home page (Elementor) building blocks
   ========================================================= */

/* Shared */
.cc-eyebrow .elementor-heading-title {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}
.cc-section-title .elementor-heading-title {
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 600;
	letter-spacing: -0.01em;
}
.cc-btn .elementor-button {
	background: var(--cc-black);
	color: var(--cc-white);
	border: 1px solid var(--cc-black);
	border-radius: 0;
	padding: 16px 36px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: background .2s ease, color .2s ease;
}
.cc-btn .elementor-button:hover,
.cc-btn .elementor-button:focus-visible {
	background: transparent;
	color: var(--cc-black);
}
.cc-btn--light .elementor-button {
	background: var(--cc-white);
	color: var(--cc-black);
	border-color: var(--cc-white);
}
.cc-btn--light .elementor-button:hover,
.cc-btn--light .elementor-button:focus-visible {
	background: transparent;
	color: var(--cc-white);
}

/* Hero slider */
.cc-hero-wrap { position: relative; }
.e-con.cc-hero {
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	--gap: 0px !important;
	gap: 0 !important;
}
.e-con.cc-hero::-webkit-scrollbar { display: none; }
.e-con.cc-hero > .cc-hero__slide {
	flex: 0 0 100% !important;
	max-width: 100% !important;
	scroll-snap-align: start;
}
.cc-hero__slide .cc-hero-title .elementor-heading-title {
	font-size: clamp(36px, 6vw, 76px);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.02em;
}
.cc-hero__slide .cc-hero-text { max-width: 440px; }
.cc-hero-dots {
	position: absolute;
	left: 50%;
	bottom: 22px;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
}
.cc-hero-dots button {
	width: 28px;
	height: 3px;
	padding: 0;
	border: 0;
	background: rgba(127,127,127,.45);
	cursor: pointer;
}
.cc-hero-dots button[aria-current="true"] { background: var(--cc-black); }
.cc-hero-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(255,255,255,.85);
	color: var(--cc-black);
	font-size: 18px;
	cursor: pointer;
	opacity: 0;
	transition: opacity .2s ease;
}
.cc-hero-wrap:hover .cc-hero-arrow,
.cc-hero-arrow:focus-visible { opacity: 1; }
.cc-hero-arrow--prev { left: 18px; }
.cc-hero-arrow--next { right: 18px; }
@media (max-width: 767px) { .cc-hero-arrow { display: none; } }

/* Tabs */
.cc-tabs .e-n-tabs-heading {
	justify-content: center;
	gap: 6px 28px;
	margin-bottom: 28px;
	flex-wrap: wrap;
}
.cc-tabs .e-n-tab-title {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid transparent !important;
	padding: 6px 0 !important;
	color: var(--cc-muted) !important;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.cc-tabs .e-n-tab-title[aria-selected="true"],
.cc-tabs .e-n-tab-title:hover {
	color: var(--cc-black) !important;
	border-bottom-color: var(--cc-black) !important;
}
.cc-tabs .e-n-tabs-content > .e-con { padding: 0 !important; border: 0 !important; }

/* Products inside Elementor sections */
.cc-products .woocommerce { width: 100%; }
.cc-products ul.products { margin-bottom: 0; }

/* Promo banner */
.cc-promo .cc-promo-title .elementor-heading-title {
	font-size: clamp(30px, 4.5vw, 54px);
	font-weight: 600;
	line-height: 1.1;
}

/* Category tiles */
.cc-cat { overflow: hidden; }
.cc-cat .elementor-widget-image { overflow: hidden; }
.cc-cat img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform .5s ease;
}
.cc-cat:hover img { transform: scale(1.05); }
.cc-cat .elementor-heading-title {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.cc-cat .elementor-heading-title a { color: var(--cc-black); }

/* Trust strip */
.cc-trust .elementor-icon { color: var(--cc-black); font-size: 30px; }
.cc-trust .elementor-icon-box-title {
	font-size: 15px !important;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin-bottom: 4px;
}
.cc-trust .elementor-icon-box-description { color: var(--cc-muted); font-size: 14px; }
/* cc-card-actions: Add to cart matches Buy Now */
[data-products] .ct-woo-card-actions { margin-top: 10px; }
[data-products] .ct-woo-card-actions .button {
	width: 100%;
	justify-content: center;
	background: var(--cc-white);
	color: var(--cc-black);
	border: 1px solid var(--cc-black);
	border-radius: 0;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
[data-products] .ct-woo-card-actions .button:hover { background: var(--cc-black); color: var(--cc-white); }
[data-products] .cc-buy-now.button { margin-top: 8px; }
@media (max-width: 689.98px) {
	[data-products] .ct-woo-card-actions .button, [data-products] .cc-buy-now.button { min-height: 40px; font-size: 12px; padding: 0 8px; }
}
