:root {
	--blakout-black: #000;
	--blakout-charcoal: #111;
	--blakout-grey: #a6a6a6;
	--blakout-light: #f3f3f1;
	--blakout-white: #fff;
	--blakout-radius: 0;
	--blakout-space: clamp(4rem, 8vw, 8rem);
	--porto-primary-color: #000;
	--porto-primary-color-inverse: #fff;
	--porto-dark-color: #000;
}

html { scroll-behavior: smooth; }

body.blakout-site {
	color: #292929;
	background: var(--blakout-white);
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.65;
}

.blakout-site h1,
.blakout-site h2,
.blakout-site h3,
.blakout-site h4,
.blakout-site h5,
.blakout-site h6,
.blakout-site .product-title,
.blakout-site .product_title {
	color: var(--blakout-black);
	font-family: inherit;
	font-weight: 650;
	letter-spacing: -.035em;
}

.blakout-site a { transition: color .2s ease, opacity .2s ease, background-color .2s ease; }

.blakout-site .btn,
.blakout-site .button,
.blakout-site button,
.blakout-site input[type="submit"] {
	min-height: 48px;
	border-radius: var(--blakout-radius);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

/* Header */
#header {
	background: var(--blakout-black);
	border: 0;
}

#header .header-main,
#header .header-wrapper,
#header .vc_row,
#header .vc_column_container { background: var(--blakout-black); }

#header .main-menu > li.menu-item > a,
#header .mobile-toggle,
#header #mini-cart .minicart-icon,
#header #mini-cart .cart-items,
#header .blakout-wordmark,
#header .vc_custom_heading { color: var(--blakout-white) !important; }

#header .main-menu > li.menu-item > a {
	padding-top: 1.55rem;
	padding-bottom: 1.55rem;
	font-size: .78rem;
	letter-spacing: .12em;
}

#header .main-menu > li.menu-item.active > a,
#header .main-menu > li.menu-item:hover > a {
	color: var(--blakout-grey) !important;
	background: transparent !important;
}

#header .blakout-wordmark,
#header .vc_custom_heading {
	font-size: clamp(1.45rem, 2.2vw, 2rem) !important;
	font-weight: 700;
	letter-spacing: .18em;
}

#header #mini-cart .cart-items {
	background: var(--blakout-grey);
	color: var(--blakout-black) !important;
}

/* Homepage hero */
.blakout-hero-slide,
.blakout-hero-slide > .container { min-height: clamp(520px, 68vh, 760px) !important; }
.blakout-hero-slide > .container { display: flex; align-items: center; }
.blakout-hero-copy > .vc_column-inner {
	max-width: 560px !important;
	padding: clamp(1.75rem, 4vw, 3.75rem) !important;
	background: linear-gradient(120deg, rgba(0,0,0,.9), rgba(0,0,0,.58)) !important;
	box-shadow: 0 24px 80px rgba(0,0,0,.2);
}
.blakout-hero-title { font-size: clamp(2.7rem, 6vw, 5.75rem) !important; letter-spacing: -.055em !important; }
.blakout-hero-subtitle { margin: 0 0 1.5rem !important; font-size: clamp(1rem, 1.7vw, 1.35rem) !important; }
.blakout-hero-cta {
	display: inline-flex !important;
	align-items: center;
	min-height: 50px;
	padding: .9rem 1.4rem !important;
	background: var(--blakout-white) !important;
	color: var(--blakout-black) !important;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.blakout-hero-carousel .owl-dots { display: flex !important; gap: .7rem; }
.blakout-hero-carousel .owl-dot span { width: 28px !important; height: 3px !important; border-radius: 0 !important; background: rgba(255,255,255,.5) !important; }
.blakout-hero-carousel .owl-dot.active span { background: var(--blakout-white) !important; }

/* Homepage sections */
.blakout-intro,
.blakout-products,
.blakout-benefits { padding-top: var(--blakout-space); padding-bottom: var(--blakout-space); }
.blakout-intro { padding-bottom: clamp(3rem, 5vw, 5rem); }
.blakout-products { padding-top: 0; }
.blakout-section-kicker { color: #666; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.blakout-section-title { max-width: 900px; margin-right: auto; margin-bottom: 1.25rem !important; margin-left: auto; font-size: clamp(2.2rem, 4.8vw, 4.5rem) !important; line-height: 1.02 !important; }
.blakout-product-card { position: relative; overflow: hidden; min-height: 520px; background: #e9e9e7; }
.blakout-product-card img { width: 100%; height: 520px; object-fit: cover; transition: transform .7s ease; }
.blakout-product-card:hover img { transform: scale(1.025); }
.blakout-product-card-copy { position: absolute; right: 0; bottom: 0; left: 0; padding: 2rem; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.88)); }
.blakout-product-card-copy h3 { margin: 0 0 .35rem; color: #fff; font-size: clamp(1.8rem, 3vw, 3rem); }
.blakout-product-card-copy p { margin: 0; color: #ddd; }
.blakout-product-card-copy a { color: inherit; text-decoration: none; }
.blakout-benefits { background: var(--blakout-black); color: var(--blakout-grey); }
.blakout-benefit { height: 100%; padding: 2rem 1.4rem; border-top: 1px solid #333; }
.blakout-benefit h3 { margin: 0 0 .65rem; color: #fff; font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; }
.blakout-benefit strong { display: block; margin-bottom: .4rem; color: var(--blakout-grey); font-weight: 500; }
.blakout-benefit p { margin: 0; font-size: .93rem; }

/* Shop and cards */
.post-type-archive-product .page-top,
.single-product .page-top { background: #f3f3f1; }
.post-type-archive-product .main-content { padding-top: clamp(3rem, 6vw, 6rem); padding-bottom: clamp(4rem, 8vw, 8rem); }
.post-type-archive-product .sidebar-content { display: none; }
.post-type-archive-product .main-content.col-lg-9 { width: 100%; }
.product-archive .products { row-gap: 3rem; }
.product-archive .product { padding: 0 14px; }
.product-archive .product-inner { background: #f4f4f2; }
.product-archive .product-image,
.product-archive .porto-tb-featured-image-4415,
.product-archive .porto-tb-featured-image-4415 .img-thumbnail,
.product-archive .porto-tb-featured-image-4415 > a { aspect-ratio: 4 / 3; overflow: hidden; background: #eee; }
.product-archive .product-image img,
.product-archive .porto-tb-featured-image-4415 img { width: 100% !important; height: 100% !important; object-fit: cover; }
.product-archive .product-content { padding: 1.4rem 1.4rem 1.65rem !important; }
.product-archive .product-title { font-size: 1.15rem; }
.product-archive .star-rating,
.product-archive .rating-wrap,
.product-archive .add-links-wrap,
.product-archive .yith-wcwl-add-to-wishlist,
.product-archive .quickview,
.product-archive .product-loop-title + .product-categories { display: none !important; }
.product-archive .porto-tb-meta-1953 { display: none !important; }
.product-archive .sort-source,
.filter-toggle-widget { display: none !important; }

/* Product pages */
.single-product .main-content { padding-top: clamp(3rem, 6vw, 6rem); padding-bottom: clamp(4rem, 8vw, 8rem); }
.single-product .product_title { font-size: clamp(2.5rem, 5vw, 5rem); line-height: .98; }
.single-product .product-images { width: 100%; }
.single-product .product-images .img-thumbnail,
.single-product .product-images .owl-stage-outer { background: #f2f2f0; }
.single-product .product-images .woocommerce-product-gallery__image a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: min(72vh, 760px);
}
.single-product .product-images .woocommerce-product-gallery__image img {
	width: 100%;
	max-height: min(72vh, 760px);
	object-fit: contain;
}
.single-product.postid-632 .product-images .woocommerce-product-gallery__image a { min-height: 430px; }
.single-product.postid-632 .product-images .woocommerce-product-gallery__image img { max-height: 430px; }
.single-product .product-thumbnails img { aspect-ratio: 1; object-fit: cover; }
.single-product .woocommerce-product-details__short-description { max-width: 640px; color: #555; font-size: 1.05rem; }
.single-product .product_meta,
.single-product .woocommerce-product-rating,
.single-product .yith-wcwl-add-to-wishlist,
.single-product .product-share { display: none !important; }
.single-product .woocommerce-tabs { margin-top: 4rem; }
.single-product .woocommerce-tabs .tab-content { max-width: 880px; font-size: 1.02rem; }
.single-product .woocommerce-tabs h2,
.single-product .woocommerce-tabs h3 { margin-top: 2.2rem; }

/* Footer */
#footer { background: var(--blakout-black); color: var(--blakout-grey); }
#footer .footer-main { background: var(--blakout-black); }
#footer a { color: var(--blakout-grey); }
#footer a:hover { color: #fff; }
#footer .blakout-footer { padding: clamp(4rem, 8vw, 7rem) 0 2rem; }
#footer .blakout-footer-wordmark { margin-bottom: 1rem; color: #fff; font-size: 1.8rem; font-weight: 700; letter-spacing: .18em; }
#footer .blakout-footer h3 { margin-bottom: 1.25rem; color: #fff; font-size: .86rem; letter-spacing: .1em; text-transform: uppercase; }
#footer .blakout-footer ul { margin: 0; padding: 0; list-style: none; }
#footer .blakout-footer li { margin-bottom: .55rem; }
#footer .blakout-footer-bottom { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #292929; font-size: .8rem; }

/* Utility page content */
.blakout-page-hero { padding: clamp(5rem, 10vw, 9rem) 0; background: #000; color: #fff; }
.blakout-page-hero h1 { margin: 0; color: #fff; font-size: clamp(3rem, 7vw, 6rem); }
.blakout-page-content { padding-top: var(--blakout-space); padding-bottom: var(--blakout-space); }
.blakout-page-content > .wpb_wrapper { max-width: 850px; }

@media (max-width: 991px) {
	#header .vc_row > .container { min-height: 74px; }
	.blakout-product-card, .blakout-product-card img { min-height: 420px; height: 420px; }
	.single-product .product-images .woocommerce-product-gallery__image a { min-height: 520px; }
}

@media (max-width: 767px) {
	:root { --blakout-space: 4.5rem; }
	.blakout-hero-slide,
	.blakout-hero-slide > .container { min-height: 580px !important; }
	.blakout-hero-slide > .container { padding: 1rem !important; align-items: flex-end !important; }
	.blakout-hero-copy { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
	.blakout-hero-copy > .vc_column-inner { padding: 1.5rem !important; }
	.blakout-hero-blind { background-position: 56% center !important; }
	.blakout-hero-cushion { background-position: 60% center !important; }
	.blakout-product-card, .blakout-product-card img { min-height: 390px; height: 390px; }
	.single-product .product-images .woocommerce-product-gallery__image a { min-height: 420px; }
	.single-product .product-images .woocommerce-product-gallery__image img { max-height: 420px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
