/* ==========================================================================
   WooCommerce — replaces WooCommerce's default CSS (which is dequeued).
   Breadcrumb · category page · product card · single product · gallery · my account
   (brands slider styles: core-slider/core-slider.css)
   ========================================================================== */

/* Breadcrumb ---------------------------------------------------------------- */
.cc-breadcrumb { margin-bottom: 24px; font-size: 14px; }
.cc-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.cc-breadcrumb li { display: inline-flex; align-items: center; gap: 8px; color: var(--cc-dark); }
.cc-breadcrumb li + li::before { content: ""; width: 7px; height: 7px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); margin-right: 4px; opacity: .7; }
.cc-breadcrumb a { padding: 6px 12px; border-radius: var(--cc-radius); background: var(--cc-white); color: var(--cc-dark); }
.cc-breadcrumb li:first-child a { padding-left: 0; background: none; }
.cc-breadcrumb a:hover { color: var(--cc-primary); }
.cc-breadcrumb li:last-child { color: var(--cc-muted); }

/* Notices ------------------------------------------------------------------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	list-style: none; margin: 0 0 20px; padding: 14px 18px;
	background: var(--cc-white); border-left: 4px solid var(--cc-primary); border-radius: var(--cc-radius);
}
.woocommerce-error { border-color: #c62828; }

/* Category / shop page ------------------------------------------------------ */
.cc-shop__layout { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); }
.cc-shop__sidebar { display: grid; gap: 20px; align-content: start; }
.cc-widget { padding: 20px; border-radius: var(--cc-radius-lg); background: var(--cc-white); }
.cc-widget__title, .cc-widget h2 { margin-bottom: 12px; padding-bottom: 10px; border-bottom: 2px solid var(--cc-light); font-size: 1.1rem; }
.cc-cat-list, .cc-cat-list ul { list-style: none; margin: 0; padding: 0; }
.cc-cat-list ul { padding-left: 14px; }
.cc-cat-list li { color: var(--cc-muted); font-size: 14px; }
.cc-cat-list a { display: inline-block; padding: 6px 0; color: var(--cc-dark); font-size: 15px; }
.cc-cat-list a:hover, .cc-cat-list .current-cat > a { color: var(--cc-primary); }
.cc-cat-list .current-cat > a { font-weight: 700; }
/* Child categories as a dropdown (toggle from shop-sidebar.js). */
.cc-cat-list .cc-has-children { position: relative; padding-right: 36px; }
.cc-cat-list .cc-has-children > .children { display: none; margin-right: -36px; }
.cc-cat-list .cc-has-children.is-open > .children { display: block; }
/* Long dropdowns scroll inside a fixed height, scrollbar hidden (nested levels expand within it). */
.cc-cat-list > .cc-has-children > .children {
	max-height: 320px; overflow-y: auto; overscroll-behavior: contain;
	scrollbar-width: none; -ms-overflow-style: none;
}
.cc-cat-list > .cc-has-children > .children::-webkit-scrollbar { display: none; }
.cc-cat-list__toggle {
	position: absolute; top: 4px; right: 0;
	display: grid; place-items: center; width: 28px; height: 28px; padding: 0;
	border: 0; border-radius: var(--cc-radius); background: transparent; color: var(--cc-muted); cursor: pointer;
	transition: background var(--cc-ease), color var(--cc-ease);
}
.cc-cat-list__toggle:hover { background: var(--cc-primary-soft); color: var(--cc-primary); }
.cc-cat-list__toggle .cc-icon { width: 18px; height: 18px; transition: transform var(--cc-ease); }
.cc-cat-list .is-open > .cc-cat-list__toggle .cc-icon { transform: rotate(180deg); }

.woocommerce-products-header { margin-bottom: 18px; }
.woocommerce-products-header__title { margin-bottom: 8px; }
.term-description, .page-description { color: var(--cc-muted); }
.term-description > :last-child { margin-bottom: 0; }

.woocommerce-result-count { margin: 0 0 16px; color: var(--cc-muted); font-size: 14px; }
.woocommerce-ordering { margin: 0 0 16px; }
.woocommerce-ordering select { width: auto; min-height: 40px; padding-block: 6px; padding-right: 32px; }
.woocommerce-no-products-found .woocommerce-info { margin: 0; }

/* Product grid -------------------------------------------------------------- */
ul.products { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); clear: both; }
@media (max-width: 449px) { ul.products { grid-template-columns: minmax(0, 1fr); } } /* small phones: 1 card per row */
ul.products::before, ul.products::after { display: none; }

.cc-card {
	display: flex; flex-direction: column; min-width: 0;
	padding: 14px; border-radius: var(--cc-radius-lg);
	background: var(--cc-white); border: 1px solid transparent;
	transition: border-color var(--cc-ease), box-shadow var(--cc-ease), transform var(--cc-ease);
}
.cc-card:hover { border-color: rgba(253, 157, 22, .5); box-shadow: var(--cc-shadow); transform: translateY(-2px); }
.cc-card__link { display: flex; flex-direction: column; flex: 1; color: var(--cc-dark); }
.cc-card__link:hover { color: var(--cc-dark); }
.cc-card__title {
	margin: 0 0 12px; min-height: 2.8em;
	font: 500 14px/1.4 var(--cc-font-body); color: inherit;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.cc-card:hover .cc-card__title { color: var(--cc-primary); }
.cc-card__media { margin-top: auto; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border-radius: var(--cc-radius); background: #f6f6f6; }
.cc-card__media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .35s ease; }
.cc-card:hover .cc-card__media img { transform: scale(1.04); }
.cc-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; }
.cc-card__quote { flex: 1; }

/* Category tiles (when the shop shows sub-categories) */
.product-category { padding: 14px; border-radius: var(--cc-radius-lg); background: var(--cc-white); text-align: center; }
.product-category a { color: var(--cc-dark); }
.product-category img { width: 100%; aspect-ratio: 1; object-fit: contain; margin-bottom: 10px; }
.product-category h2 { font: 600 15px/1.3 var(--cc-font-head); margin: 0; }
.product-category .count { background: none; color: var(--cc-muted); font-weight: 400; }

.woocommerce-pagination { margin-top: 32px; }
.woocommerce-pagination ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; }

@media (min-width: 768px) {
	ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
	.woocommerce-result-count { float: left; }
	.woocommerce-ordering { float: right; }
}
@media (min-width: 1024px) {
	.cc-shop__layout { grid-template-columns: 270px minmax(0, 1fr); gap: 28px; }
	.cc-shop__sidebar { position: sticky; top: calc(var(--cc-sticky-top, 0px) + 20px); }
}
@media (min-width: 1200px) {
	ul.products.columns-4, .cc-shop__content ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Single product ------------------------------------------------------------ */
.cc-product { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); align-items: start; }
.cc-product__main { display: grid; gap: 24px; min-width: 0; }
.cc-product__top { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); }

.cc-product__summary .product_title { margin: 0 0 16px; padding-bottom: 16px; border-bottom: 1px solid var(--cc-border); font-size: clamp(1.35rem, 1.1rem + .9vw, 1.85rem); font-weight: 500; }

.woocommerce-product-details__short-description { margin-bottom: 16px; color: #444; }
.woocommerce-product-details__short-description > :last-child { margin-bottom: 0; }
.cc-specs { width: 100%; margin-bottom: 20px; border-collapse: collapse; font-size: 15px; }
.cc-specs th, .cc-specs td { padding: 10px 8px; border-bottom: 1px solid var(--cc-border); text-align: left; vertical-align: top; }
.cc-specs th { width: 100px; font-weight: 500; color: var(--cc-dark); white-space: nowrap; }
.cc-specs td { color: #444; }


.cc-product__quote { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 24px; }
.cc-product__quote .cc-product__qty { flex: 0 0 110px; width: 110px; min-height: 52px; text-align: center; }
.cc-product__quote .cc-btn--lg { flex: 1 1 180px; max-width: 260px; }
.cc-product__payments { display: block; max-width: 100%; width: 420px; height: auto; }

/* Gallery (WooCommerce flexslider / zoom / photoswipe markup) */
.cc-product__gallery { min-width: 0; }
.woocommerce-product-gallery { position: relative; margin: 0; opacity: 1 !important; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image { border-radius: var(--cc-radius); overflow: hidden; }
.woocommerce-product-gallery__image a { display: block; }
.woocommerce-product-gallery__image img { width: 100%; height: auto; object-fit: contain; }
.woocommerce-product-gallery .flex-viewport { border-radius: var(--cc-radius); }
.woocommerce-product-gallery__trigger {
	position: absolute; top: 10px; right: 10px; z-index: 5;
	display: grid; place-items: center; width: 38px; height: 38px;
	border-radius: 50%; background: var(--cc-white); box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
	font-size: 0; color: transparent;
}
.woocommerce-product-gallery__trigger::before { content: ""; width: 12px; height: 12px; border: 2px solid var(--cc-dark); border-radius: 50%; margin: -4px 0 0 -4px; }
.woocommerce-product-gallery__trigger::after { content: ""; position: absolute; width: 2px; height: 7px; background: var(--cc-dark); transform: translate(6px, 6px) rotate(-45deg); }
.woocommerce-product-gallery__trigger img { display: none !important; }
.flex-control-thumbs { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 10px 0 0; padding: 0; }
.flex-control-thumbs img { border: 2px solid transparent; border-radius: var(--cc-radius); cursor: pointer; opacity: .65; transition: opacity var(--cc-ease), border-color var(--cc-ease); }
.flex-control-thumbs img:hover, .flex-control-thumbs .flex-active { opacity: 1; border-color: var(--cc-primary); }

/* Tabs (description) */
.woocommerce-tabs { padding: clamp(18px, 2.5vw, 32px); border-radius: var(--cc-radius-lg); background: var(--cc-white); }
.woocommerce-tabs .tabs { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 0 0 20px; padding: 0; border-bottom: 1px solid var(--cc-border); }
.woocommerce-tabs .tabs a { display: block; padding: 10px 0; color: var(--cc-muted); font: 600 16px/1.3 var(--cc-font-head); border-bottom: 3px solid transparent; margin-bottom: -1px; }
.woocommerce-tabs .tabs .active a, .woocommerce-tabs .tabs a:hover { color: var(--cc-dark); border-color: var(--cc-primary); }
.woocommerce-Tabs-panel > h2:first-child { display: none; }
.woocommerce-Tabs-panel > :last-child { margin-bottom: 0; }
.woocommerce-Tabs-panel table { width: 100%; border-collapse: collapse; }
.woocommerce-Tabs-panel td, .woocommerce-Tabs-panel th { padding: 8px; border: 1px solid var(--cc-border); }

/* Related */
.related.products > h2 { position: relative; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid var(--cc-border); font-weight: 500; }
.related.products > h2::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 220px; max-width: 50%; height: 3px; background: var(--cc-primary); }

/* Quote sidebar */
.cc-product__aside { display: grid; gap: 16px; min-width: 0; }
.cc-quote-box { text-align: center; }
.cc-quote-box__sku { margin: 0 0 4px; color: var(--cc-muted); font-size: 14px; font-weight: 500; }
.cc-quote-box__title { margin-bottom: 6px; font-size: 1.4rem; font-weight: 500; }
.cc-quote-box__text { margin-bottom: 18px; color: var(--cc-muted); font-size: 14.5px; }
.cc-quote-box .wpcf7 { text-align: left; }
.cc-quote-box .wpcf7 form > * + * { margin-top: 12px; }
.cc-quote-box .wpcf7-submit { width: 100%; }
.cc-quote-box .cf7sr-g-recaptcha, .cc-quote-box .g-recaptcha { transform-origin: 0 0; }
.cc-product__ready .cc-ready { gap: 20px; }

@media (min-width: 768px) {
	.cc-product__top { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 36px; }
}
@media (min-width: 1100px) {
	.cc-product { grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; }
	.cc-product__aside { position: sticky; top: calc(var(--cc-sticky-top, 0px) + 20px); }
}
@media (min-width: 1100px) and (max-width: 1299px) {
	.cc-quote-box .cf7sr-g-recaptcha, .cc-quote-box .g-recaptcha { transform: scale(.85); }
}
@media (max-width: 380px) {
	.cc-quote-box .cf7sr-g-recaptcha, .cc-quote-box .g-recaptcha,
	.contact_sku_form_captcha > * { transform: scale(.85); transform-origin: 0 0; }
}

/* My account (kept usable, minimal) ----------------------------------------- */
.woocommerce-account .woocommerce { display: grid; gap: 24px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: var(--cc-radius); background: var(--cc-light); color: var(--cc-dark); }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover { background: var(--cc-primary); color: var(--cc-white); }
.woocommerce form .form-row { margin: 0 0 14px; }
.woocommerce form .form-row label { display: block; margin-bottom: 6px; font-weight: 500; }
@media (min-width: 1024px) { .woocommerce-account .woocommerce { grid-template-columns: 240px minmax(0, 1fr); } }

/* Technical specification tab ----------------------------------------------- */
.cc-spec-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.woocommerce-Tabs-panel .cc-spec-table th,
.woocommerce-Tabs-panel .cc-spec-table td { padding: 11px 14px; border: 0; border-bottom: 1px solid var(--cc-border); text-align: left; vertical-align: top; }
.cc-spec-table tr:nth-child(odd) { background: #f7f7f7; }
.cc-spec-table th { width: 38%; font-weight: 500; color: var(--cc-dark); }
.cc-spec-table td { color: #444; }
@media (max-width: 560px) {
	.cc-spec-table th, .cc-spec-table td { display: block; width: 100%; }
	.cc-spec-table th { padding-bottom: 2px; border-bottom: 0 !important; }
	.cc-spec-table td { padding-top: 0; }
}
