/*
Theme Name: Home Envy 2026
Theme URI: https://www.createhomeenvy.ca/
Template: hello-elementor
Author: Encoded Cloud
Author URI: https://encodedcloud.com/
Description: Create Home Envy 2026 redesign child theme. Built from the design bundle; carries only the functionality ported from the previous child theme (quote flow, WooCommerce admin fields, loop-grid ad splice) and none of its styling.
Version: 1.0.0
Requires PHP: 8.1
Text Domain: home-envy-2026
*/

/*
 * ==========================================================================
 * THIS FILE IS NOT THE DESIGN.
 *
 * The redesign baseline lives in assets/che-redesign.css, which loads after
 * this file. Everything below is the small set of rules the LEGACY DYNAMIC
 * MARKUP needs in order to FUNCTION — not to look like anything in
 * particular. Adding visual rules here fights che-redesign.css on load order
 * and will be undone.
 *
 * Two rules are load-bearing contracts, not styling. See
 * PROJECT_SPECIFIC_ELEMENTOR_BUILD_NOTES.md §5 / §20:
 *
 *   .attribute_subtype { display: none }
 *       The customizer's nested option groups are hidden by THIS rule and
 *       revealed by product-customizer.js writing the exact inline string
 *       `display: block;`, which the same script later matches with
 *       `[style="display: block;"]`. Delete this rule and every nested group
 *       is visible at once; add a competing `display` rule for the same
 *       element and the submit button disables forever, with no error.
 *
 *   ul.attribute_subtype_options must keep real boxes
 *       The submit path harvests selections with jQuery `:visible`. Anything
 *       that zeroes the element's boxes (display: contents, height: 0) drops
 *       its selection out of the quote email silently.
 * ==========================================================================
 */

/* --- Customizer visibility contract (DO NOT EDIT — see above) ------------ */

.attribute_subtype {
	display: none;
}

/* --- Customizer structural defaults -------------------------------------- */

.attribute_subtype_wrapper {
	margin: 12px 0;
	padding: 0;
}

.attribute_group_wrapper > select {
	display: inline-block;
}

.attribute_subtype .attribute_subtype_options {
	list-style: none;
	margin: 0;
	padding: 0;
}

button.submit_to_cart {
	display: block;
	width: 100%;
	text-align: center;
	border: none;
}

/*
 * The disabled state is the customer's only signal that a group is
 * unanswered, so it may only ever be dimmed — never hidden.
 */
button.submit_to_cart.disabled,
button.submit_to_cart.disabled:hover {
	opacity: .5;
	cursor: not-allowed;
}

.che_stacked_customizer .contact-fields .contact-field {
	display: flex;
	flex-direction: column;
}

/* --- tippy.js theme + zoom class (emitted by assets/custom-scripts.js) --- */

.tippy-tooltip.custom-theme {
	background-color: #241f1c;
	border-radius: 4px;
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	outline: 0;
	position: relative;
	transition-property: transform, visibility, opacity;
}

.tippy-tooltip.custom-theme img {
	padding: 4px;
}

.zoom-effect {
	transform: scale(1.5);
	transition: transform .3s ease-in-out;
}

span.attribute-description-link svg {
	width: 24px;
	height: 24px;
	margin-left: 6px;
	vertical-align: middle;
	position: relative;
	top: -2px;
	cursor: pointer;
}

/* --- [homeenvy_attribute_widget] (4 live Elementor templates) ------------ */

ul.attribute-list {
	display: block;
	list-style: none;
	margin: 32px 0;
	padding: 0;
}

ul.attribute-list li {
	margin-bottom: 12px;
}

/*
 * The accordion header. assets/custom-scripts.js toggles .closed / .opened on
 * it and slideToggles the .attribute_gallery_wrapper that follows, so the
 * element has to stay clickable and the sibling relationship has to hold.
 */
ul.attribute-list .section-header {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0 12px;
	cursor: pointer;
	position: relative;
}

ul.attribute-list .gallery {
	display: flex;
	flex-wrap: wrap;
}

ul.attribute-list .gallery-item {
	display: block;
	width: 25%;
	padding: 12px;
	box-sizing: border-box;
}

ul.attribute-list .gallery-item img,
ul.attribute-list .gallery-item a,
ul.attribute-list .gallery-item a picture {
	display: block;
	width: 100%;
}

ul.attribute-list .gallery-item figcaption {
	display: block;
	text-align: center;
}

/* --- [che_archive_ad] ---------------------------------------------------- */

.che-archive-ad,
.che-archive-ad-link {
	display: block;
	width: 100%;
}

.che-archive-ad-link img {
	display: block;
	width: 100%;
	height: auto;
}
