/* =====================================================================
   Cactus Candles — the WordPress / WooCommerce layer.
   Loaded after cactus-candles.css (the approved design, unchanged). Everything here either
   (a) re-states a mockup rule for markup WordPress / a plugin prints differently, or
   (b) brings WooCommerce's and Flatsome's own output (shop, product, cart, forms) into the design.
   Base rules use :where() where they must not outrank a component rule.
   ===================================================================== */

/* ---------- page shell ---------- */
.cc-home #wrapper,
.cc-home #main { background-color: var(--cc-cream); box-shadow: none; }
.cc-home .page-wrapper { padding-top: 0; padding-bottom: 0; }
.cc-home :where(ul, ol) li { margin-left: 0; }
.cc-home :where(.cc-prose, .cc-article-body, .cc-tab-panel, .woocommerce-Tabs-panel) :where(ul, ol) li { margin-left: 0; }
.cc-home :where(.cc-prose, .cc-article-body) :where(ul, ol) { margin-left: 0; }

/* ---------- header ---------- */
.admin-bar .cc-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cc-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .cc-header { top: 0; } }
.cc-cart-count.is-empty { display: none; }
.cc-nav li { margin: 0; }
.cc-nav .current-menu-item > a,
.cc-nav .current_page_item > a { color: var(--cc-clay); }
.cc-nav .current-menu-item > a::after,
.cc-nav .current_page_item > a::after { width: 100%; }
.cc-icons .cc-wish-link svg { width: 21px; height: 21px; }

/* search panel (Flatsome lightbox) */
.cc-search-panel {
	max-width: 640px; margin: 0 auto; background: var(--cc-cream); padding: 44px 40px 40px;
	font-family: 'Manrope', system-ui, sans-serif; color: var(--cc-ink);
}
.cc-search-panel .cc-search-title { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 2rem; line-height: 1.1; margin: .25em 0 22px; color: var(--cc-ink); }
.cc-search-form { position: relative; display: flex; background: transparent; border: 0; margin: 0; overflow: visible; text-shadow: none; }
.cc-home .cc-search-form input.search-field,
.cc-search-panel .cc-search-form input.search-field {
	flex: 1; height: 54px; margin: 0; border: 1px solid var(--cc-ink); border-right: 0; background: var(--cc-paper);
	box-shadow: none; font-family: 'Manrope', sans-serif; font-size: 15px; padding: 0 18px; color: var(--cc-ink);
}
.cc-search-form .cc-search-submit {
	width: 58px; height: 54px; margin: 0; padding: 0; min-height: 0; background: var(--cc-ink); color: var(--cc-cream);
	border: 1px solid var(--cc-ink); display: flex; align-items: center; justify-content: center;
}
.cc-search-form .cc-search-submit svg { width: 20px; height: 20px; }
.cc-search-form .live-search-results { position: absolute; top: 100%; left: 0; right: 0; z-index: 20; text-align: left; background: #fff; box-shadow: 0 18px 30px -18px rgba(43,38,34,.35); }

/* ---------- design links that are <a> in WordPress but plain elements in the mockup ----------
   `.cc-home a { color: inherit }` (0,1,1) would otherwise beat these single-class rules. */
.cc-home .cc-prod-add { color: #fff; }
.cc-home .cc-prod-add:hover { background: var(--cc-sage-dk); }
.cc-home .cc-prod-add.loading { opacity: .75; }
.cc-home .cc-prod-add.added::after { display: none; }
.cc-home .cc-prod-media .added_to_cart,
.cc-home .product-small .added_to_cart { display: none; }
.cc-prod-info h4 a:hover,
.cc-post-card h3 a:hover,
.cc-blog-feature h3 a:hover { color: var(--cc-clay); }
.db-cc-prod-img { display: block; width: 100%; height: 100%; }

/* ---------- feature grid: optional 2 / 4 columns (desktop) ---------- */
@media (min-width: 850px) {
	.cc-feature-grid.db-cc-cols { grid-template-columns: repeat(var(--cc-cols, 3), 1fr); }
	.cc-feature-grid.db-cc-cols[style*="--cc-cols:4"] { gap: 22px; }
	.cc-feature-grid.db-cc-cols[style*="--cc-cols:4"] .cc-feature { padding: 34px 22px; }
}
@media (min-width: 550px) and (max-width: 849px) {
	.cc-feature-grid.db-cc-cols[style*="--cc-cols:4"] { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- focus point (cover-cropped images) ---------- */
.cc-hero video, .cc-hero .cc-hero-poster,
.cc-cta .cc-cta-bg, .cc-story-img img, .cc-split-img img, .cc-page-hero-bg { object-position: var(--focus, center); }
@media (max-width: 549px) {
	.cc-hero video, .cc-hero .cc-hero-poster,
	.cc-cta .cc-cta-bg, .cc-story-img img, .cc-split-img img, .cc-page-hero-bg { object-position: var(--focus-m, var(--focus, center)); }
}

/* ---------- FAQ (hidden by the category filter) ---------- */
.cc-faq details[hidden] { display: none; }

/* ---------- pagination: the blog's gap marker + WooCommerce / Flatsome pagers in the design ---------- */
.cc-pagination .db-cc-gap { min-width: 24px; display: inline-flex; align-items: center; justify-content: center; color: var(--cc-ink-soft); }
.cc-home .woocommerce-pagination {
	clear: both; width: 100%; text-align: center;
	margin: 54px 0 0; padding-top: 32px; border-top: 1px solid var(--cc-sand);
}
.cc-home .nav-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; }
.cc-home .nav-pagination > li { margin: 0; }
.cc-home .nav-pagination > li > a,
.cc-home .nav-pagination > li > span {
	min-width: 44px; height: 44px; line-height: 42px; padding: 0 12px; border: 1px solid var(--cc-sand); border-radius: 0;
	background: var(--cc-paper); color: var(--cc-ink); font-size: 14px; font-weight: 400; transition: all .25s;
}
.cc-home .nav-pagination > li > .current,
.cc-home .nav-pagination > li > a:hover { background: var(--cc-ink); border-color: var(--cc-ink); color: #fff; }
.cc-home .nav-pagination > li > span.dots { border-color: transparent; background: transparent; }
.cc-home .nav-pagination i { font-size: 1em; top: 0; }

/* =====================================================================
   FORMS — Contact Form 7 inside the design's forms
   ===================================================================== */
.cc-home :where(.cc-form, .cc-news-form) { background: transparent; border: 0; color: inherit; text-shadow: none; overflow: visible; }
.cc-home .wpcf7 .wpcf7-form-control-wrap { display: block; position: relative; }
.cc-home .wpcf7-spinner { display: none; }
.cc-home .wpcf7-form.submitting .wpcf7-spinner { display: inline-block; margin: 0 0 0 12px; vertical-align: middle; }

/* contact form */
.cc-home .cc-form input:not([type=checkbox]):not([type=radio]),
.cc-home .cc-form textarea,
.cc-home .cc-form select { margin: 0; box-shadow: none; }
.cc-home .cc-form .cc-consent { margin: 4px 0 22px; }
.cc-home .cc-form .cc-consent .wpcf7-list-item { margin: 0; display: block; }
.cc-home .cc-form .cc-consent label {
	display: flex; gap: 10px; align-items: flex-start; margin: 0;
	text-transform: none; letter-spacing: 0; font-size: 13.5px; line-height: 1.55; color: var(--cc-ink-soft); font-weight: 400;
}
.cc-home .cc-form .cc-consent .wpcf7-list-item-label { font-weight: 400; }
.cc-home .cc-form .cc-consent input[type=checkbox] {
	width: 15px; height: 15px; min-height: 0; margin: 3px 0 0; padding: 0; flex: 0 0 auto; accent-color: var(--cc-sage-dk);
}
.cc-home .cc-form .cc-consent a { text-decoration: underline; text-underline-offset: 2px; }
.cc-home .cc-form button[type=submit] { margin: 0; }
/* Flatsome paints CF7's validation tip as a grey floating pill — the design's quiet line instead. */
.cc-home .wpcf7 form .wpcf7-not-valid-tip {
	position: static; display: block; background: none; border: 0; border-radius: 0; box-shadow: none;
	color: #A94442; font-size: 12.5px; padding: 6px 0 0; margin: 0; opacity: 1; text-align: left; top: auto; left: auto;
}
.cc-home .wpcf7 form .wpcf7-not-valid-tip::after { display: none; }
.cc-home .wpcf7 form .wpcf7-response-output {
	margin: 20px 0 0; padding: 12px 16px; border: 1px solid var(--cc-sand); background: var(--cc-paper);
	font-size: 14px; color: var(--cc-ink); border-radius: 0;
}
.cc-home .wpcf7 form.invalid .wpcf7-response-output,
.cc-home .wpcf7 form.failed .wpcf7-response-output { border-color: #E4B9B5; }
.cc-home .wpcf7 form.sent .wpcf7-response-output { border-color: var(--cc-sage); }

/* newsletter form: CF7 wraps the input in a <span> and adds a hidden <fieldset>/<div> + a response line */
.cc-home .cc-news-form { flex-wrap: wrap; align-items: stretch; margin: 0 auto; }
.cc-home .cc-news-form > p { display: contents; }
.cc-home .cc-news-form .wpcf7-form-control-wrap { flex: 1; min-width: 0; }
.cc-home .cc-news-form input[type=email] {
	width: 100%; height: 54px; margin: 0; box-shadow: none; border-radius: 0; font-size: 14px;
	background: transparent; border: 1px solid rgba(246,241,233,.35); border-right: 0; color: #fff;
}
.cc-home .cc-news-form button { margin: 0; min-height: 0; line-height: 54px; font-weight: 500; }
.cc-home .cc-news-form .wpcf7-not-valid-tip { color: #F0B8A8; text-align: left; }
.cc-home .cc-news-form .wpcf7-response-output { flex: 0 0 100%; order: 9; background: transparent; color: var(--cc-cream); border-color: rgba(246,241,233,.3); }
.cc-home .cc-news-form .wpcf7-spinner { position: absolute; right: -40px; top: 15px; }
@media (max-width: 549px) {
	.cc-home .cc-news-form .wpcf7-form-control-wrap { flex: 0 0 100%; }
	.cc-home .cc-news-form input[type=email] { border-right: 1px solid rgba(246,241,233,.35); }
	.cc-home .cc-news-form button { flex: 0 0 100%; }
}

/* =====================================================================
   WOOCOMMERCE — shop / category / search
   ===================================================================== */
.cc-home .category-page-row { padding-top: 64px; padding-bottom: 32px; }
.cc-home .shop-container > .woocommerce-notices-wrapper:empty { display: none; }
.cc-home .cc-shop-toolbar { flex-wrap: wrap; gap: 12px; }
.cc-home .cc-shop-toolbar .woocommerce-result-count { margin: 0; font-size: 13.5px; color: var(--cc-ink-soft); letter-spacing: .04em; }
.cc-home .cc-shop-toolbar .woocommerce-ordering { margin: 0 0 0 auto; background: transparent; border: 0; overflow: visible; }
.cc-home .cc-shop-toolbar .woocommerce-ordering select {
	border: 1px solid var(--cc-sand); padding: 0 40px 0 14px; height: 42px; line-height: 40px; margin: 0; width: auto;
	font-family: 'Manrope', sans-serif; font-size: 13px; color: var(--cc-ink); border-radius: 0; box-shadow: none; cursor: pointer;
	-webkit-appearance: none; appearance: none;
	background: var(--cc-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B2622' stroke-width='1.5'%3E%3Cpath d='M6 9l6 6 6-6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center/14px;
}
.cc-home .db-cc-filter-btn { margin: 0; height: 42px; line-height: 42px; }

/* sidebar filters = the mockup's .cc-filters */
.cc-home #shop-sidebar .widget { border-bottom: 1px solid var(--cc-sand); padding: 0 0 22px; margin: 0 0 22px; }
.cc-home #shop-sidebar .widget-title,
.cc-home #shop-sidebar .widgettitle {
	display: block; font-family: 'Manrope', sans-serif; font-size: 12.5px; text-transform: uppercase; letter-spacing: .16em;
	font-weight: 600; color: var(--cc-ink); margin: 0 0 16px;
}
.cc-home #shop-sidebar .is-divider { display: none; }
.cc-home #shop-sidebar ul { margin: 0; }
.cc-home #shop-sidebar ul li { margin: 0 0 11px; padding: 0; border: 0; font-size: 14.5px; color: var(--cc-ink-soft); list-style: none; }
.cc-home #shop-sidebar ul li a { color: var(--cc-ink-soft); display: inline-flex; align-items: center; gap: 10px; }
.cc-home #shop-sidebar ul li a::before {
	content: ""; width: 15px; height: 15px; border: 1px solid var(--cc-sand); background: var(--cc-paper); flex: 0 0 auto;
}
.cc-home #shop-sidebar ul li.current-cat > a,
.cc-home #shop-sidebar ul li.chosen > a,
.cc-home #shop-sidebar ul li a:hover { color: var(--cc-ink); }
.cc-home #shop-sidebar ul li.current-cat > a::before,
.cc-home #shop-sidebar ul li.chosen > a::before { background: var(--cc-sage-dk); border-color: var(--cc-sage-dk); box-shadow: inset 0 0 0 3px var(--cc-paper); }
.cc-home #shop-sidebar ul li .count { float: right; font-size: 12px; opacity: .6; }
.cc-home #shop-sidebar .product-categories li { display: flex; justify-content: space-between; }
.cc-home #shop-sidebar .children { margin: 10px 0 0 25px; }
.cc-home #shop-sidebar .price_slider_wrapper .ui-slider { background: var(--cc-sand); height: 3px; margin: 8px 6px 20px; }
.cc-home #shop-sidebar .price_slider_wrapper .ui-slider-range,
.cc-home #shop-sidebar .price_slider_wrapper .ui-slider-handle { background: var(--cc-ink); }
.cc-home #shop-sidebar .price_slider_wrapper .ui-slider-handle { width: 13px; height: 13px; top: -5px; border-radius: 50%; }
.cc-home #shop-sidebar .price_slider_amount { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-size: 13.5px; color: var(--cc-ink-soft); }
.cc-home #shop-sidebar .price_slider_amount .button { height: 34px; line-height: 34px; padding: 0 16px; font-size: 11px; margin: 0; background: var(--cc-ink); color: var(--cc-cream); }
.cc-home #shop-sidebar .price_label { order: -1; flex: 0 0 100%; }

/* =====================================================================
   WOOCOMMERCE — product cards (archives, related, cross-sells) = the mockup's .cc-prod
   ===================================================================== */
.cc-home .products.row { margin-left: -17px; margin-right: -17px; }
.cc-home .products .product-small.col { padding: 0 17px 40px; }
.cc-home .product-small .col-inner { background: transparent; box-shadow: none; }
.cc-home .product-small.box { background: transparent; }
.cc-home .product-small .box-image {
	position: relative; overflow: hidden; background: var(--cc-sand); aspect-ratio: 4 / 5; border-radius: 0;
}
/* Only the image wrapper fills the box — NOT Flatsome's .image-tools bars (also direct children). */
.cc-home .product-small .box-image > div:not(.image-tools),
.cc-home .product-small .box-image > div:not(.image-tools) > a { display: block; height: 100%; }
.cc-home .product-small .box-image img {
	width: 100%; height: 100%; object-fit: cover; filter: saturate(.92) brightness(1.02); transition: transform .7s ease;
}
.cc-home .product-small:hover .box-image img { transform: scale(1.06); }
.cc-home .product-small .box-image .cc-badge { z-index: 3; }
.cc-home .product-small .image-tools.grid-tools {
	padding: 0; display: block; width: 100%; height: auto; top: auto; background: none; left: 0; right: 0; bottom: 0;
}
/* the mockup's .cc-prod-add bar: 13px padding, 11.5px caps — slides up from the bottom on hover */
.cc-home .product-small .grid-tools .cc-prod-add {
	position: static; transform: none; display: block; width: 100%; height: auto;
	padding: 13px; font-size: 11.5px; line-height: 1.4; letter-spacing: .16em; font-weight: 400;
}
.cc-home .product-small .image-tools.top.right { top: 12px; right: 12px; }
.cc-home .product-small .box-text {
	text-align: center; padding: 16px 2px 0; background: transparent;
}
.cc-home .product-small .box-text .cc-cat-label { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--cc-ink-soft); }
.cc-home .product-small .product-title { margin: 2px 0 3px; }
.cc-home .product-small .product-title a {
	font-family: 'EB Garamond', Georgia, serif; font-size: 21px; line-height: 1.2; color: var(--cc-ink); font-weight: 400;
}
.cc-home .product-small .price-wrapper .price,
.cc-home .cc-prod-info .cc-price { font-family: 'Manrope', sans-serif; font-size: 15px; color: var(--cc-ink); font-weight: 500; margin-top: 7px; display: block; }
.cc-home :where(.product-small .price, .cc-price) .amount { color: inherit; font-weight: inherit; }
.cc-home :where(.product-small .price, .cc-price) del { color: var(--cc-ink-soft); opacity: 1; margin-right: 8px; font-weight: 400; }
.cc-home :where(.product-small .price, .cc-price) del .amount { color: var(--cc-ink-soft); }
.cc-home :where(.product-small .price, .cc-price) ins { color: var(--cc-clay); text-decoration: none; font-weight: 500; }
.cc-home :where(.product-small .price, .cc-price) ins .amount { color: var(--cc-clay); }
.cc-home .product-small .star-rating { display: none; }

/* YITH wishlist heart on the card (Flatsome puts it top-right of the image) */
.cc-home .product-small .wishlist-icon,
.cc-home .product-small .wishlist-button {
	background: var(--cc-cream); border: 1px solid var(--cc-sand); color: var(--cc-ink); border-radius: 50%; box-shadow: none;
	width: 34px; height: 34px; min-height: 0; line-height: 32px; padding: 0; margin: 0;
	display: inline-flex; align-items: center; justify-content: center; font-size: 14px;
}
.cc-home .product-small .wishlist-button i { top: 0; margin: 0; }
.cc-home .product-small .wishlist-button:hover,
.cc-home .product-small .wishlist-button.wishlist-added { background: var(--cc-ink); border-color: var(--cc-ink); color: #fff; }

/* =====================================================================
   WOOCOMMERCE — single product = the mockup's product.html
   ===================================================================== */
.cc-home .product-main { padding: 56px 0 40px; }
.cc-home .product-info { padding-left: 30px; }
@media (max-width: 849px) { .cc-home .product-info { padding-left: 15px; } }
.cc-home .product-info .woocommerce-breadcrumb { font-size: 12px; margin: 0 0 18px; }
.cc-home .product-info .woocommerce-breadcrumb a { color: var(--cc-ink-soft); }
.cc-home .product-info .cc-cat-label { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--cc-clay); }
.cc-home .product-info .product-title {
	font-family: 'EB Garamond', Georgia, serif; font-size: clamp(2rem, 3.5vw, 2.8rem); font-weight: 400; line-height: 1.1;
	margin: .12em 0 .15em; color: var(--cc-ink); text-transform: none;
}
.cc-home .product-info .is-divider { display: none; }
.cc-home .product-info .star-rating { color: var(--cc-clay); }
.cc-home .product-info .woocommerce-product-rating { margin-bottom: 6px; font-size: 13px; color: var(--cc-ink-soft); }
.cc-home .product-info .price-wrapper .price {
	font-family: 'EB Garamond', Georgia, serif; font-size: 1.9rem; color: var(--cc-ink); margin: 18px 0; font-weight: 400; display: block;
}
.cc-home .product-info .price .amount { color: inherit; font-weight: inherit; }
.cc-home .product-info .price del { color: var(--cc-ink-soft); font-size: 1.3rem; margin-right: 12px; opacity: 1; }
.cc-home .product-info .price del .amount { color: var(--cc-ink-soft); }
.cc-home .product-info .price ins { color: var(--cc-clay); text-decoration: none; }
.cc-home .product-info .price ins .amount { color: var(--cc-clay); }
.cc-home .product-info .product-short-description {
	color: var(--cc-ink-soft); border-top: 1px solid var(--cc-sand); border-bottom: 1px solid var(--cc-sand); padding: 22px 0; margin: 22px 0 24px;
}
.cc-home .product-info .product-short-description p:last-child { margin-bottom: 0; }

/* quantity + add to cart = the mockup's .cc-buy-row */
.cc-home .product-info form.cart { display: flex; gap: 14px; align-items: stretch; flex-wrap: wrap; background: transparent; border: 0; margin: 0 0 24px; overflow: visible; }
/* Quantity stepper = the mockup's .cc-qty, everywhere WooCommerce prints one (product, cart…).
   Its −/+ are <input class="button …">, so the design's big `.cc-home .button` rule must be undone. */
.cc-home .ux-quantity.quantity {
	display: inline-flex; align-items: stretch; border: 1px solid var(--cc-ink); margin: 0; opacity: 1; vertical-align: middle; background: var(--cc-paper);
}
.cc-home .ux-quantity.quantity input.minus,
.cc-home .ux-quantity.quantity input.plus {
	width: 46px; height: 50px; min-height: 0; min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0;
	background: none; box-shadow: none; font-family: 'Manrope', sans-serif; font-size: 18px; font-weight: 400;
	letter-spacing: 0; line-height: 50px; color: var(--cc-ink); vertical-align: top;
}
.cc-home .ux-quantity.quantity input.minus:hover,
.cc-home .ux-quantity.quantity input.plus:hover { background: var(--cc-sand); }
.cc-home .ux-quantity.quantity input.qty {
	width: 46px; height: 50px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
	text-align: center; font-family: 'Manrope', sans-serif; font-size: 15px; color: var(--cc-ink); vertical-align: top;
	-moz-appearance: textfield;
}
.cc-home .ux-quantity.quantity input.qty::-webkit-inner-spin-button,
.cc-home .ux-quantity.quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
/* the cart table: a smaller stepper so the row stays compact */
.cc-home .woocommerce-cart-form .ux-quantity.quantity input.minus,
.cc-home .woocommerce-cart-form .ux-quantity.quantity input.plus { width: 38px; height: 42px; line-height: 42px; font-size: 16px; }
.cc-home .woocommerce-cart-form .ux-quantity.quantity input.qty { width: 40px; height: 42px; font-size: 14.5px; }
.cc-home .product-info form.cart .single_add_to_cart_button {
	flex: 1; min-width: 200px; margin: 0; height: auto; min-height: 52px; line-height: 1.2; border-radius: 0;
	background: var(--cc-ink); border: 1px solid var(--cc-ink); color: var(--cc-cream);
	font-family: 'Manrope', sans-serif; text-transform: uppercase; letter-spacing: .16em; font-size: 12.5px; font-weight: 500;
}
.cc-home .product-info form.cart .single_add_to_cart_button:hover { background: var(--cc-sage-dk); border-color: var(--cc-sage-dk); }
@media (max-width: 549px) {
	.cc-home .product-info form.cart { gap: 10px; }
	.cc-home .product-info form.cart .single_add_to_cart_button { min-width: 0; letter-spacing: .08em; font-size: 12px; padding: 0 12px; white-space: nowrap; }
	.cc-home .product-info form.cart .quantity input.minus,
	.cc-home .product-info form.cart .quantity input.plus { width: 38px; }
	.cc-home .product-info form.cart .quantity input.qty { width: 34px; }
}
.cc-home .product-info .yith-wcwl-add-to-wishlist { margin: -8px 0 20px; font-size: 13px; }
.cc-home .product-info .yith-wcwl-add-to-wishlist a { color: var(--cc-ink-soft); text-decoration: underline; text-underline-offset: 3px; }
.cc-home .product-info .cc-pdp-meta { border: 0; font-size: 13.5px; margin: 0 0 18px; padding: 0; }
.cc-home .product-info .cc-pdp-meta a { color: var(--cc-ink-soft); }
.cc-home .product-info .cc-pdp-meta a:hover { color: var(--cc-clay); }
.cc-home .product-info .social-icons { margin-top: 8px; }
.cc-home .product-info .social-icons .button.icon { border-color: var(--cc-sand); color: var(--cc-ink); height: 34px; line-height: 32px; min-height: 0; padding: 0; width: 34px; }

/* gallery */
.cc-home .product-gallery .woocommerce-product-gallery__image { background: var(--cc-sand); }
.cc-home .product-thumbnails .col { padding-bottom: 0; }
.cc-home .product-thumbnails a { border: 1px solid transparent; transform: none; }
.cc-home .product-thumbnails .is-nav-selected a,
.cc-home .product-thumbnails a:hover { border-color: var(--cc-ink); }
.cc-home .product-thumbnails img { opacity: 1; }
.cc-home .badge-container .badge { height: auto; width: auto; }
.cc-home .badge-container .badge-inner {
	background: var(--cc-clay); color: #fff; border-radius: 0; height: auto; padding: 5px 11px; line-height: 1.4;
	font-family: 'Manrope', sans-serif; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; font-weight: 500;
}

/* tabs = .cc-tabs-nav */
.cc-home .product-footer .woocommerce-tabs { padding: 30px 0 20px; border-top: 0; }
.cc-home .woocommerce-tabs .tabs.nav {
	justify-content: flex-start; gap: 30px; border-bottom: 1px solid var(--cc-sand); margin: 0 0 30px; padding: 0;
}
.cc-home .woocommerce-tabs .tabs.nav > li { margin: 0; }
.cc-home .woocommerce-tabs .tabs.nav > li > a {
	font-family: 'Manrope', sans-serif; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 400;
	color: var(--cc-ink-soft); padding: 0 0 14px; margin: 0;
}
.cc-home .woocommerce-tabs .tabs.nav > li.active > a { color: var(--cc-ink); }
.cc-home .woocommerce-tabs .tabs.nav-line > li > a::before,
.cc-home .woocommerce-tabs .tabs.nav-line-bottom > li > a::before { background-color: var(--cc-clay); height: 2px; top: auto; bottom: -1px; }
.cc-home .woocommerce-tabs .panel { max-width: 760px; color: var(--cc-ink-soft); }
.cc-home .woocommerce-tabs .shop_attributes { border: 0; }
.cc-home .woocommerce-tabs .shop_attributes th,
.cc-home .woocommerce-tabs .shop_attributes td { border-bottom: 1px solid var(--cc-sand); padding: 10px 0; font-size: 14.5px; }
.cc-home .woocommerce-tabs .shop_attributes th { color: var(--cc-ink); font-weight: 500; width: 190px; text-transform: none; letter-spacing: 0; }
@media (max-width: 549px) {
	.cc-home .woocommerce-tabs .tabs.nav { gap: 22px; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
	.cc-home .woocommerce-tabs .tabs.nav::-webkit-scrollbar { display: none; }
	.cc-home .woocommerce-tabs .tabs.nav > li { flex-shrink: 0; }
	.cc-home .woocommerce-tabs .tabs.nav > li > a { white-space: nowrap; }
}

/* related / up-sells / cross-sells heading = the mockup's centred .cc-head h2 */
.cc-home .related-products-wrapper,
.cc-home .up-sells,
.cc-home .cross-sells { padding-top: 30px; }
.cc-home .product-section-title {
	font-family: 'EB Garamond', Georgia, serif; font-weight: 400; text-transform: none; letter-spacing: -.01em;
	font-size: clamp(2rem, 4vw, 2.9rem); text-align: center; color: var(--cc-ink); margin: 0 0 44px; padding: 0;
}

/* =====================================================================
   WOOCOMMERCE — cart / checkout / account: the design's type, colours and fields
   (their structure is WooCommerce's and Flatsome's own)
   ===================================================================== */
/* Cart / checkout / account: room before the newsletter band (the generic .page-wrapper reset above
   would otherwise glue the page to it). */
.cc-home .page-wrapper.page-checkout,
.cc-home .page-wrapper.my-account { padding-bottom: 96px; }
.cc-home .page-wrapper.page-checkout .woocommerce-cart-form { margin-bottom: 0; }
.cc-home .checkout-page-title { padding-top: 36px; margin-bottom: 40px; background: transparent; }
.cc-home .checkout-breadcrumbs,
.cc-home .checkout-page-title { font-family: 'EB Garamond', Georgia, serif; }
.cc-home .checkout-breadcrumbs a { text-transform: none; letter-spacing: 0; }
.cc-home :where(.shop_table, .cart_totals, .woocommerce-checkout-review-order) :where(th, td) { border-color: var(--cc-sand); }
.cc-home :where(.shop_table) thead th { font-family: 'Manrope', sans-serif; font-size: 12px; letter-spacing: .14em; color: var(--cc-ink); }
.cc-home :where(.woocommerce-cart-form, .woocommerce-checkout, .woocommerce-account .woocommerce, .checkout_coupon, .woocommerce-form-login, .woocommerce-form-register) :where(input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], select, textarea) {
	border-color: var(--cc-sand); background: var(--cc-paper); box-shadow: none; font-family: 'Manrope', sans-serif; font-size: 15px; color: var(--cc-ink);
}
.cc-home :where(.woocommerce-checkout, .woocommerce-account .woocommerce, .woocommerce-cart-form) :where(input, select, textarea):focus { border-color: var(--cc-sage-dk); }
.cc-home :where(.woocommerce-checkout, .woocommerce-account, .woocommerce-cart) :where(form) { background: transparent; border: 0; overflow: visible; text-shadow: none; }
.cc-home .checkout-button,
.cc-home #place_order,
.cc-home .woocommerce-account .woocommerce-Button {
	background: var(--cc-ink); border-color: var(--cc-ink); color: var(--cc-cream); height: auto; min-height: 52px; line-height: 1.2;
	display: inline-flex; align-items: center; justify-content: center; width: 100%;
}
.cc-home .checkout-button:hover,
.cc-home #place_order:hover { background: var(--cc-sage-dk); border-color: var(--cc-sage-dk); }
.cc-home .woocommerce-cart-form .button,
.cc-home .coupon .button { height: 44px; line-height: 44px; padding: 0 20px; }
.cc-home .cart-sidebar .coupon input[type=text] {
	border-color: var(--cc-sand); background: var(--cc-paper); box-shadow: none; height: 48px; font-family: 'Manrope', sans-serif; font-size: 15px; color: var(--cc-ink);
}
.cc-home .cart-sidebar .coupon .button {
	width: 100%; margin: 0; background: transparent; border: 1px solid var(--cc-ink); color: var(--cc-ink); font-weight: 500;
}
.cc-home .cart-sidebar .coupon .button:hover { background: var(--cc-ink); color: var(--cc-cream); }
.cc-home .account-nav a { font-family: 'Manrope', sans-serif; letter-spacing: .1em; }

/* WooCommerce notices in the palette */
.cc-home :where(.woocommerce-message, .woocommerce-info, .message-container) { font-size: 14.5px; }
.cc-home .woocommerce-message .button,
.cc-home .woocommerce-info .button { height: 40px; line-height: 40px; padding: 0 18px; }

/* =====================================================================
   BLOG — WordPress content inside the article
   ===================================================================== */
.cc-home .cc-article-body :where(h3) { font-size: 1.3rem; margin: 30px 0 12px; }
.cc-home .cc-article-body :where(ul, ol) { color: var(--cc-ink-soft); padding-left: 22px; margin: 0 0 22px; }
.cc-home .cc-article-body :where(a) { color: var(--cc-clay); text-decoration: underline; text-underline-offset: 3px; }
.cc-home .cc-article-body figure { margin: 30px 0; }
.cc-home .cc-article-body .wp-block-image img,
.cc-home .cc-article-body figure img { margin: 0; }
.cc-home .cc-article-body figcaption { font-size: 13px; color: var(--cc-ink-soft); text-align: center; margin-top: 8px; }
.cc-home .cc-post-card { height: 100%; }
