/* ==========================================================================
   Custom Carts – site styles (Blocksy child)
   ========================================================================== */
@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("fonts/PoppinsVariable.woff") format("woff");
}

:root {
	--cc-green: #0b6e4f;
	--cc-green-dark: #085a40;
	--cc-green-deep: #06402e;
	--cc-ink: #0e1a2b;
	--cc-text: #3b4a5a;
	--cc-muted: #5b6b7a;
	--cc-line: #e3e8e6;
	--cc-tint: #f3f6f4;
	--cc-gold: #e8a93a;
	--cc-radius: 16px;
	--cc-radius-sm: 10px;
	--cc-shadow: 0 1px 2px rgba(14, 26, 43, .06), 0 8px 24px rgba(14, 26, 43, .08);
	--cc-shadow-lg: 0 24px 60px rgba(14, 26, 43, .18);
	--theme-font-family: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--theme-font-size: 17px;
	--theme-line-height: 1.7;
	--theme-button-border-radius: 999px;
	--theme-form-field-border-radius: 10px;
}

body {
	font-family: var(--theme-font-family);
	-webkit-font-smoothing: antialiased;
	color: var(--cc-text);
	background: #fff;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3 {
	font-family: var(--theme-font-family);
	color: var(--cc-ink);
	letter-spacing: -0.02em;
	font-weight: 800;
}
h1 { font-size: clamp(2.1rem, 4.4vw, 3.5rem); line-height: 1.08; }
h2 { font-size: clamp(1.6rem, 2.8vw, 2.35rem); line-height: 1.18; }
h3 { font-size: clamp(1.15rem, 1.6vw, 1.35rem); line-height: 1.3; font-weight: 700; }
a { text-underline-offset: 3px; }
::selection { background: rgba(11, 110, 79, .18); }

/* ---------- Header ---------- */
[data-row="top"] {
	background: var(--cc-green-deep) !important;
	--theme-text-color: rgba(255, 255, 255, .86);
	color: rgba(255, 255, 255, .86);
	font-size: 13.5px;
}
[data-row="top"] .ct-container { min-height: 40px; }
[data-row="top"] p { margin: 0; color: rgba(255, 255, 255, .86); }
[data-row="top"] strong { color: #fff; }
[data-row="top"] .ct-social-box a { --theme-icon-color: #fff; color: #fff; }
[data-row="middle"] {
	background: rgba(255, 255, 255, .97) !important;
	box-shadow: 0 1px 0 var(--cc-line);
}
[data-row="middle"] .ct-container { min-height: 84px; }
.ct-header .site-logo-container { --logo-max-height: 80px; height: auto !important; max-height: none !important; display: block; line-height: 0; }
.ct-header .site-logo-container img { height: 80px !important; max-height: 80px !important; width: auto !important; }
@media (max-width: 999px) { .ct-header .site-logo-container { --logo-max-height: 56px; } .ct-header .site-logo-container img { height: 56px !important; max-height: 56px !important; } }
.ct-header [data-id="menu"] > ul > li > a {
	font-size: 14.5px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	color: var(--cc-ink);
}
.ct-header [data-id="menu"] > ul > li > a:hover,
.ct-header [data-id="menu"] > ul > li.current-menu-item > a { color: var(--cc-green); }
.ct-header .sub-menu {
	border-radius: 12px;
	box-shadow: var(--cc-shadow-lg);
	overflow: hidden;
}
.ct-header [data-id="button"] .ct-button,
.ct-header .ct-header-cta .ct-button {
	background: var(--cc-green);
	border-radius: 999px;
	font-weight: 700;
	padding-inline: 22px;
	min-height: 44px;
}
.ct-header [data-id="button"] .ct-button:hover { background: var(--cc-green-dark); }
.ct-header .ct-cart-item .ct-dynamic-count-cart { background: var(--cc-gold); color: var(--cc-ink); }

/* ---------- Buttons ---------- */
.cc-btn,
.cc-btn-primary .elementor-button,
.cc-btn-ghost .elementor-button,
.cc-btn-light .elementor-button,
.cc-btn-outline-light .elementor-button,
.cc-btn-link .elementor-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--theme-font-family);
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	padding: 16px 28px;
	border-radius: 999px !important;
	transition: transform .15s ease, background .15s ease, box-shadow .15s ease, color .15s ease;
	text-decoration: none;
	border: 2px solid transparent;
}
.cc-btn,
.cc-btn-primary .elementor-button { background: var(--cc-gold); color: var(--cc-ink); box-shadow: 0 8px 20px rgba(232, 169, 58, .35); }
.cc-btn:hover,
.cc-btn-primary .elementor-button:hover { background: #f0b84f; color: var(--cc-ink); transform: translateY(-1px); }
.cc-btn-ghost .elementor-button { background: rgba(255, 255, 255, .08); color: #fff; border-color: rgba(255, 255, 255, .45); }
.cc-btn-ghost .elementor-button:hover { background: #fff; color: var(--cc-ink); }
.cc-btn-light .elementor-button { background: #fff; color: var(--cc-green-deep); }
.cc-btn-light .elementor-button:hover { background: var(--cc-gold); color: var(--cc-ink); }
.cc-btn-outline-light .elementor-button { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .6); }
.cc-btn-outline-light .elementor-button:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.cc-btn-link .elementor-button { background: transparent; color: var(--cc-green); padding: 10px 0; border-radius: 0; }
.cc-btn-link .elementor-button::after { content: "→"; }
.cc-btn-link .elementor-button:hover { color: var(--cc-green-dark); }

/* ---------- Elementor bands ---------- */
.elementor .e-con.cc-band {
	--padding-top: clamp(56px, 7vw, 96px);
	--padding-bottom: clamp(56px, 7vw, 96px);
	--padding-left: 20px;
	--padding-right: 20px;
	--content-width: 1240px;
}
.elementor .e-con.cc-band--tint { background: var(--cc-tint); }
.cc-section-title .elementor-heading-title { margin: 0 0 14px; }
.cc-center, .cc-center .elementor-heading-title { text-align: center; }
.cc-section-intro { max-width: 720px; margin-inline: auto; color: var(--cc-muted); font-size: 1.08rem; }
.cc-section-intro p { margin: 0 0 8px; }
.cc-prose { font-size: 1.04rem; }
.cc-prose p { margin: 0 0 1.05em; }
.cc-prose h3 { margin: 1.6em 0 .5em; }
.cc-prose ul, .cc-prose ol { margin: 0 0 1.2em; padding-left: 1.2em; }
.cc-prose li { margin-bottom: .45em; }
.cc-prose li::marker { color: var(--cc-green); }
.cc-prose a, .entry-content a:not(.wp-element-button):not(.button) { color: var(--cc-green); font-weight: 600; }
.cc-prose table, .entry-content table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--cc-line);
	border-radius: 12px;
	overflow: hidden;
	margin: 0 0 1.4em;
	font-size: .96rem;
}
.cc-prose th, .entry-content th { background: var(--cc-ink); color: #fff; text-align: left; font-weight: 700; }
.cc-prose th, .cc-prose td, .entry-content th, .entry-content td { padding: 12px 16px; border-bottom: 1px solid var(--cc-line); }
.cc-prose tr:nth-child(even) td, .entry-content tr:nth-child(even) td { background: #fafbfa; }
.cc-prose tr:last-child td, .entry-content tr:last-child td { border-bottom: 0; }

/* Prose bands: readable measure */
.elementor .e-con.cc-band--prose > .e-con-inner { max-width: 860px; }
.cc-band--prose .cc-section-title { margin-top: 28px; }
.cc-band--prose .cc-section-title:first-child { margin-top: 0; }

/* ---------- Hero ---------- */
.elementor .e-con.cc-hero {
	background: radial-gradient(1200px 500px at 85% -10%, rgba(232, 169, 58, .22), transparent 60%),
		linear-gradient(135deg, #06291e 0%, #0b4f3a 55%, #0b6e4f 100%);
	color: #fff;
	--padding-top: clamp(56px, 8vw, 110px);
	--padding-bottom: clamp(64px, 8vw, 120px);
	--padding-left: 20px;
	--padding-right: 20px;
	position: relative;
	overflow: hidden;
}
.elementor .e-con.cc-hero::after {
	content: "";
	position: absolute;
	inset: auto -10% -1px -10%;
	height: 90px;
	background: #fff;
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	pointer-events: none;
}
.cc-hero > .e-con-inner { position: relative; z-index: 1; }
.cc-eyebrow p {
	display: inline-block;
	margin: 0 0 18px;
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .2);
	color: #ffe2a8;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.cc-hero-title .elementor-heading-title { color: #fff; margin: 0 0 18px; }
.cc-hero-sub { font-size: clamp(1.05rem, 1.4vw, 1.2rem); color: rgba(255, 255, 255, .86); max-width: 620px; }
.cc-hero-sub p { margin: 0 0 26px; }
.cc-hero-trust .elementor-icon-list-items { gap: 6px 20px; }
.cc-hero-trust .elementor-icon-list-text { color: rgba(255, 255, 255, .88); font-size: 14.5px; font-weight: 500; }
.cc-hero-trust .elementor-icon-list-icon svg { fill: var(--cc-gold); width: 16px; height: 16px; }
.cc-hero-trust { margin-top: 26px; }
.cc-hero-media { position: relative; }
.elementor-widget-image.cc-hero-img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 24px;
	box-shadow: var(--cc-shadow-lg);
	border: 6px solid rgba(255, 255, 255, .12);
}
.elementor-widget.cc-hero-badge {
	position: absolute;
	left: -18px;
	bottom: -22px;
	background: #fff;
	color: var(--cc-ink);
	border-radius: 16px;
	padding: 14px 20px;
	box-shadow: var(--cc-shadow-lg);
	font-size: 14px;
	line-height: 1.35;
	width: auto !important;
	max-width: max-content;
}
.cc-hero-badge p { margin: 0; }
.cc-hero-badge a { color: var(--cc-green); font-size: 20px; font-weight: 800; text-decoration: none; }

/* ---------- Split (image + text) ---------- */
.elementor-widget-image.cc-split-img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 20px;
	box-shadow: var(--cc-shadow);
}

/* ---------- Grids & cards ---------- */
.elementor .e-con.cc-grid {
	display: grid !important;
	gap: 22px;
	margin-top: 34px;
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
}
.cc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cc-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cc-grid--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.cc-card {
	background: #fff;
	border: 1px solid var(--cc-line);
	border-radius: var(--cc-radius);
	padding: 28px !important;
	box-shadow: 0 1px 2px rgba(14, 26, 43, .04);
	transition: transform .2s ease, box-shadow .2s ease;
	height: 100%;
}
.cc-card:hover { transform: translateY(-3px); box-shadow: var(--cc-shadow); }
.cc-feature .elementor-icon-box-wrapper { text-align: left; }
.cc-feature .elementor-icon-box-icon { margin-bottom: 16px; }
.cc-feature .elementor-icon {
	width: 52px; height: 52px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 14px;
	background: rgba(11, 110, 79, .1);
	font-size: 22px;
}
.cc-feature .elementor-icon svg { fill: var(--cc-green); width: 22px; height: 22px; }
.cc-feature .elementor-icon-box-title { margin: 0 0 8px; font-size: 1.15rem; }
.cc-feature .elementor-icon-box-description { color: var(--cc-muted); font-size: .98rem; margin: 0; }
.cc-step-num p { margin: 0 0 10px; font-size: 14px; font-weight: 800; color: var(--cc-green); letter-spacing: .1em; }
.cc-step-num p::before { content: "STEP "; }
.cc-step-title .elementor-heading-title { margin: 0 0 8px; font-size: 1.2rem; }
.cc-step-text { color: var(--cc-muted); font-size: .98rem; }
.cc-step-text p { margin: 0; }
.cc-band--steps .cc-card { border-top: 4px solid var(--cc-green); }

/* Category tiles */
.cc-cat-tile {
	background: #fff;
	border-radius: var(--cc-radius);
	overflow: hidden;
	border: 1px solid var(--cc-line);
	transition: transform .2s ease, box-shadow .2s ease;
}
.cc-cat-tile:hover { transform: translateY(-4px); box-shadow: var(--cc-shadow); }
.cc-cat-tile .elementor-image-box-wrapper { text-align: left; }
.cc-cat-tile .elementor-image-box-img { width: 100% !important; margin: 0 !important; }
.cc-cat-tile .elementor-image-box-img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 0; }
.cc-cat-tile .elementor-image-box-content { padding: 14px 16px 16px; }
.cc-cat-tile .elementor-image-box-title { margin: 0 0 2px; font-size: 1rem; }
.cc-cat-tile .elementor-image-box-title a { color: var(--cc-ink); text-decoration: none; }
.cc-cat-tile .elementor-image-box-description { margin: 0; color: var(--cc-green); font-weight: 700; font-size: .88rem; }

/* Product section head */
.cc-head-row { margin-bottom: 26px; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.cc-head-copy { max-width: 760px; }
.cc-head-copy .cc-section-intro { margin-inline: 0; }

/* ---------- FAQ accordion ---------- */
.elementor .e-con.cc-band--faq > .e-con-inner { max-width: 900px; }
.cc-faq .elementor-accordion { margin-top: 26px; }
.cc-faq .elementor-accordion-item {
	border: 1px solid var(--cc-line) !important;
	border-radius: 14px;
	background: #fff;
	margin-bottom: 12px;
	overflow: hidden;
}
.cc-faq .elementor-tab-title {
	padding: 20px 24px !important;
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--cc-ink);
	border: 0 !important;
}
.cc-faq .elementor-tab-title a { color: var(--cc-ink); text-decoration: none; }
.cc-faq .elementor-tab-title.elementor-active a { color: var(--cc-green); }
.cc-faq .elementor-accordion-icon svg { fill: var(--cc-green); }
.cc-faq .elementor-tab-content { padding: 0 24px 20px !important; border: 0 !important; color: var(--cc-text); }
.cc-faq .elementor-tab-content p:last-child { margin-bottom: 0; }

/* ---------- CTA band ---------- */
.elementor .e-con.cc-cta { --padding-top: 24px; --padding-bottom: 88px; }
.elementor .e-con.cc-cta-box {
	background: linear-gradient(135deg, #06402e, #0b6e4f) !important;
	border-radius: 28px;
	--padding-top: clamp(40px, 6vw, 72px);
	--padding-bottom: clamp(40px, 6vw, 72px);
	--padding-left: 24px;
	--padding-right: 24px;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.cc-cta-title .elementor-heading-title { color: #fff; margin: 0 0 12px; }
.cc-cta-text { color: rgba(255, 255, 255, .86); max-width: 640px; margin-inline: auto; font-size: 1.08rem; }
.cc-cta-text p { margin: 0 0 24px; }

/* ---------- WooCommerce: product cards ---------- */
.woocommerce ul.products, [data-products] { --grid-columns-gap: 22px; }
[data-products] .product {
	background: #fff;
	border: 1px solid var(--cc-line);
	border-radius: var(--cc-radius);
	overflow: hidden;
	padding: 0 0 18px !important;
	transition: transform .2s ease, box-shadow .2s ease;
	display: flex;
	flex-direction: column;
}
[data-products] .product:hover { transform: translateY(-4px); box-shadow: var(--cc-shadow); }
[data-products] .product figure { margin: 0 0 14px !important; }
[data-products] .product figure img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; border-radius: 0; }
[data-products] .product .woocommerce-loop-product__title,
[data-products] .product h2 {
	font-size: 1rem !important;
	line-height: 1.35;
	font-weight: 700;
	padding: 0 18px;
	margin: 0 0 8px !important;
	color: var(--cc-ink);
}
[data-products] .product .woocommerce-loop-product__title a { color: var(--cc-ink); }
[data-products] .product .price {
	padding: 0 18px;
	font-size: 1.25rem !important;
	font-weight: 800;
	color: var(--cc-green) !important;
	margin-bottom: 10px;
}
[data-products] .product .entry-meta,
[data-products] .product .ct-woo-card-extra > .entry-meta { display: none; }
[data-products] .product .ct-woo-card-actions,
[data-products] .product .ct-woo-card-extra { padding: 0 18px; margin-top: auto; }
[data-products] .product .button,
.woocommerce a.button, .woocommerce button.button, .woocommerce .button {
	border-radius: 999px;
	font-weight: 700;
}
[data-products] .product .button { width: 100%; justify-content: center; background: var(--cc-ink); }
[data-products] .product .button:hover { background: var(--cc-green); }
.onsale, .out-of-stock-badge { border-radius: 999px !important; }
.cc-cond {
	position: absolute; top: 12px; left: 12px; z-index: 2;
	padding: 5px 11px; border-radius: 999px;
	font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
	background: #fff; color: var(--cc-ink); box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
}
.cc-cond--new { background: var(--cc-gold); }
[data-products] .product { position: relative; }
.cc-card-meta { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 18px 12px; }
.cc-card-meta span {
	font-size: 12px; font-weight: 600; color: var(--cc-muted);
	background: var(--cc-tint); border-radius: 999px; padding: 4px 10px;
}

/* Shop archive hero */
.woocommerce-shop .hero-section, .tax-product_cat .hero-section, .tax-product_brand .hero-section, .blog .hero-section, .archive .hero-section {
	background: linear-gradient(135deg, #06291e 0%, #0b4f3a 55%, #0b6e4f 100%) !important;
}
.hero-section[data-type="type-2"] .page-title,
.hero-section[data-type="type-2"] h1 { color: #fff !important; }
.hero-section[data-type="type-2"] .page-description,
.hero-section[data-type="type-2"] .page-description p,
.hero-section[data-type="type-2"] .ct-breadcrumbs,
.hero-section[data-type="type-2"] .ct-breadcrumbs a { color: rgba(255, 255, 255, .85) !important; }
.hero-section[data-type="type-2"] .page-description { max-width: 760px; margin-inline: auto; }
.hero-section[data-type="type-2"] > figure .ct-media-container,
.hero-section[data-type="type-2"] { --min-height: 280px; }

/* Shop sidebar */
.ct-sidebar .widget-title, .ct-sidebar h3 { font-size: 1rem !important; text-transform: uppercase; letter-spacing: .06em; color: var(--cc-ink); margin-bottom: 12px; }
.ct-sidebar .ct-widget { margin-bottom: 32px; }
.ct-sidebar ul { list-style: none; padding: 0; margin: 0; }
.ct-sidebar li { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px dashed var(--cc-line); font-size: 15px; }
.ct-sidebar li a { color: var(--cc-text); text-decoration: none; }
.ct-sidebar li a:hover { color: var(--cc-green); }
.ct-sidebar .count { color: var(--cc-muted); font-size: 13px; }
.cc-sidebar-cta { background: var(--cc-tint); border-radius: var(--cc-radius); padding: 22px; }
.cc-sidebar-cta__title { font-weight: 800; color: var(--cc-ink); margin: 0 0 6px; }
.cc-sidebar-cta p { font-size: 15px; }

/* ---------- Single product ---------- */
.single-product .product_title { font-size: clamp(1.7rem, 3vw, 2.4rem); }
.single-product .summary .price { font-size: 2rem !important; font-weight: 800; color: var(--cc-green) !important; }
.single-product .woocommerce-product-details__short-description ul { padding-left: 0; list-style: none; }
.single-product .woocommerce-product-details__short-description li { padding-left: 26px; position: relative; margin-bottom: 6px; }
.single-product .woocommerce-product-details__short-description li::before {
	content: ""; position: absolute; left: 0; top: .45em; width: 16px; height: 16px; border-radius: 50%;
	background: var(--cc-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;
}
.single-product .summary .single_add_to_cart_button { background: var(--cc-green); min-height: 54px; padding-inline: 34px; }
.single-product .summary .single_add_to_cart_button:hover { background: var(--cc-green-dark); }
.cc-buy-help {
	margin: 18px 0; padding: 16px 18px; border-radius: 14px; background: var(--cc-tint);
	border-left: 4px solid var(--cc-gold); font-size: 15px; line-height: 1.6;
}
.cc-buy-help__label { display: block; font-weight: 800; color: var(--cc-ink); }
.cc-buy-help a { color: var(--cc-green); font-weight: 700; }
.woocommerce-tabs .woocommerce-Tabs-panel { max-width: 860px; margin-inline: auto !important; font-size: 1.04rem; }
.woocommerce-Tabs-panel h2 { margin-top: 1.6em; }
.cc-inline-photo { margin: 1.6em 0; }
.cc-inline-photo img { border-radius: 16px; width: 100%; height: auto; max-height: 520px; object-fit: cover; }
.woocommerce-product-gallery img { border-radius: 14px; }
.shop_attributes th { width: 34%; }

/* ---------- Blog ---------- */
.entries[data-layout="grid"] .entry-card { border-radius: var(--cc-radius); overflow: hidden; border: 1px solid var(--cc-line); box-shadow: none; }
.entry-card .entry-title a { color: var(--cc-ink); }
.single-post .entry-content { font-size: 1.06rem; }
.single-post .entry-content h2 { margin-top: 1.8em; }
.single-post .entry-content figure img { border-radius: 16px; }
.cc-toc {
	margin: 1.6em 0 2em; padding: 22px 26px; background: var(--cc-tint);
	border-radius: var(--cc-radius); border: 1px solid var(--cc-line);
}
.cc-toc__title { font-weight: 800; color: var(--cc-ink); margin: 0 0 10px; text-transform: uppercase; font-size: 14px; letter-spacing: .08em; }
.cc-toc ol { margin: 0; padding-left: 1.2em; }
.cc-toc ol ol { margin-top: 4px; list-style: lower-alpha; }
.cc-toc li { margin: 4px 0; font-size: 15.5px; }
.cc-toc a { font-weight: 500 !important; }

/* ---------- Footer ---------- */
.ct-footer { background: #07261c !important; color: rgba(255, 255, 255, .72); }
.ct-footer [data-row="middle"] { background: transparent !important; }
.ct-footer [data-row="middle"] > div { padding-block: 72px 48px; }
.ct-footer [data-row="bottom"] { background: #051b14 !important; }
.ct-footer [data-row="bottom"] > div { padding-block: 18px; }
.ct-footer p, .ct-footer .ct-footer-copyright { color: rgba(255, 255, 255, .72); font-size: 14.5px; }
.ct-footer a { color: rgba(255, 255, 255, .88); text-decoration: none; }
.ct-footer a:hover { color: var(--cc-gold); }
.ct-footer .cc-footer-logo { font-size: 26px; font-weight: 800; color: #fff !important; letter-spacing: -.02em; margin: 0 0 12px; }
.cc-footer-logo span { color: var(--cc-gold); }
.ct-footer .cc-footer-title { color: #fff !important; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: 13px !important; margin: 0 0 16px; }
.cc-footer-links { list-style: none; margin: 0; padding: 0; }
.cc-footer-links li { margin: 0 0 10px; font-size: 15px; }
.cc-footer-contact a { font-size: 18px; font-weight: 700; color: #fff; }
.ct-footer [data-id="menu"] a, .ct-footer .menu a { text-transform: none !important; font-weight: 500 !important; font-size: 14px; color: rgba(255, 255, 255, .72); }

/* ---------- Forms / notices ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], select, textarea {
	border-radius: 10px;
}
.woocommerce-info, .woocommerce-message { border-radius: 12px; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.cc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cc-grid--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cc-hero-badge { left: 12px; }
	.elementor .e-con.cc-split.cc-split--left { flex-direction: column; }
}
@media (max-width: 767px) {
	:root { --theme-font-size: 16px; }
	.cc-grid--3, .cc-grid--4 { grid-template-columns: 1fr; }
	.cc-grid--6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cc-hero-btns .elementor-widget-button, .cc-hero-btns .elementor-button { width: 100%; justify-content: center; }
	.cc-hero-badge { position: static; margin-top: 14px; display: inline-block; }
	.elementor .e-con.cc-hero::after { height: 40px; }
	.cc-prose table { display: block; overflow-x: auto; }
	[data-row="middle"] .ct-container { min-height: 70px; }
}

/* ---------- Contact form ---------- */
.cc-form-wrap { background: #fff; border: 1px solid var(--cc-line); border-radius: 20px; padding: clamp(22px, 4vw, 40px) !important; box-shadow: var(--cc-shadow); }
.cc-form label { display: block; font-weight: 700; color: var(--cc-ink); font-size: 14.5px; margin-bottom: 6px; }
.cc-form input, .cc-form select, .cc-form textarea { width: 100%; }
.cc-form p { margin: 0 0 16px; }
.cc-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cc-form .cc-btn { border: 0; cursor: pointer; }
.cc-form__small { font-size: 13.5px; color: var(--cc-muted); }
.cc-hp { position: absolute !important; left: -9999px; }
.cc-form-notice { padding: 14px 18px; border-radius: 12px; margin-bottom: 18px; font-weight: 600; }
.cc-form-notice--ok { background: #e7f5ee; color: #075a40; }
.cc-form-notice--err { background: #fdecec; color: #8a1c1c; }
.cc-contact-cards .cc-card p { margin: 0; }
.cc-contact-cards .cc-card a { font-weight: 800; color: var(--cc-green); font-size: 1.1rem; }
@media (max-width: 767px) { .cc-form__row { grid-template-columns: 1fr; } }
.elementor .e-con.cc-card, .elementor .e-con.cc-form-wrap { border-radius: var(--cc-radius) !important; }
.elementor .e-con.cc-form-wrap { border-radius: 20px !important; }
.cc-form-wrap .cc-section-intro { margin-inline: 0; text-align: left; }
.elementor .e-con.cc-contact-band { --padding-top: 24px; }
.cc-hero-btns .elementor-widget-button { width: auto !important; }

/* Blog cards */
.entries .entry-card { display: flex; flex-direction: column; }
.entries .entry-card > .ct-media-container,
.entries .entry-card > a.ct-media-container { order: -1; }
.entries .entry-card .entry-title { font-size: 1.25rem !important; line-height: 1.3; }
.entries .entry-card .entry-excerpt { font-size: .98rem; color: var(--cc-muted); }
.entries .entry-card .ct-media-container img { aspect-ratio: 16 / 10; object-fit: cover; }
@media (max-width: 767px) {
	.elementor-widget.cc-hero-badge { position: static; margin-top: 16px; }
	.cc-hero-btns .elementor-widget-button { width: 100% !important; }
	.cc-hero-btns .elementor-button { width: 100%; justify-content: center; }
}
.entries[data-cards="boxed"] .entry-card > .ct-media-container { margin: calc(var(--card-inner-spacing, 30px) * -1) calc(var(--card-inner-spacing, 30px) * -1) 22px !important; border-radius: 0 !important; }

/* ==========================================================================
   Layout v2 – clean black & white header / footer + Quick Shop
   ========================================================================== */
h1, h2, h3, h4 { letter-spacing: -0.01em; font-weight: 700; }

/* Header */
.ct-header { border-top: 6px solid #161616; }
[data-row="middle"] { background: #fff !important; box-shadow: 0 1px 0 #ececec; }
[data-row="middle"] .ct-container { min-height: 108px; }
@media (max-width: 999px) { #header [data-row="middle"] .ct-container { min-height: 76px; } }
.ct-header [data-id="menu"] > ul > li > a {
	font-size: 16px; font-weight: 400; color: #161616; text-transform: none;
	padding-inline: 0; margin-right: 34px; position: relative;
}
.ct-header [data-id="menu"] > ul > li > a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 22px; height: 1px;
	background: #161616; transform: scaleX(0); transition: transform .2s ease;
}
.ct-header [data-id="menu"] > ul > li > a:hover::after,
.ct-header [data-id="menu"] > ul > li.current-menu-item > a::after,
.ct-header [data-id="menu"] > ul > li.current_page_item > a::after { transform: scaleX(1); }
.ct-header [data-id="menu"] > ul > li > a:hover,
.ct-header [data-id="menu"] > ul > li.current-menu-item > a { color: #161616; }
.ct-header [data-id="account"] .ct-label,
.ct-header [data-id="search"] .ct-label,
.ct-header [data-id="cart"] .ct-label {
	font-size: 16px; font-weight: 400; color: #161616; text-transform: none; letter-spacing: 0;
}
.ct-header [data-id="account"], .ct-header [data-id="search"] { margin-right: 26px; }
.ct-header [data-id="cart"] .ct-icon-container svg { display: none; }
.ct-header [data-id="cart"] .ct-cart-item { display: inline-flex; align-items: center; gap: 8px; }
.ct-header [data-id="cart"] .ct-icon-container { position: static; display: inline-flex; }
.ct-header .ct-cart-item .ct-dynamic-count-cart {
	position: static; transform: none; display: inline-flex; align-items: center; justify-content: center;
	min-width: 26px; height: 26px; border-radius: 50%; background: #161616 !important; color: #fff !important;
	font-size: 13px; font-weight: 700; padding: 0 6px;
}
.ct-header .ct-cart-item .ct-dynamic-count-cart[data-count="0"] { opacity: 1; visibility: visible; }

/* Footer */
.ct-footer { background: #161616 !important; color: #fff; }
.ct-footer [data-row="middle"] > div { padding-block: 56px 40px; border-bottom: 1px solid #2a2a2a; }
.ct-footer [data-row="bottom"] { background: #161616 !important; }
.ct-footer [data-row="bottom"] > div { padding-block: 26px; }
.ct-footer [data-id="menu"] ul { gap: 0; }
.ct-footer [data-id="menu"] a,
.ct-footer .menu a { color: #fff !important; font-size: 16px; font-weight: 400 !important; text-transform: none !important; margin-right: 26px; padding: 0; }
.ct-footer [data-id="menu"] a:hover { color: #bdbdbd !important; }
.ct-footer .ct-footer-copyright, .ct-footer .ct-footer-copyright p { color: #fff; font-size: 15px; }

/* Back to top – white circle */
.ct-back-to-top {
	background: #fff !important; color: #161616 !important; border-radius: 50% !important;
	width: 52px; height: 52px; box-shadow: 0 6px 20px rgba(0,0,0,.25);
	--theme-icon-color: #161616; --back-top-icon-color: #161616;
}
.ct-back-to-top svg { fill: #161616 !important; }

/* Quick Shop tab + drawer */
.cc-qs-tab {
	position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 99;
	background: #fff; color: #161616; border: 1px solid #e5e5e5; border-right: 0;
	border-radius: 10px 0 0 10px; padding: 18px 12px; cursor: pointer;
	box-shadow: -4px 6px 18px rgba(0,0,0,.08); font: 500 15px/1 var(--theme-font-family);
}
.cc-qs-tab span { writing-mode: vertical-rl; display: block; letter-spacing: .02em; }
.cc-qs-tab:hover { background: #161616; color: #fff; }
.cc-qs-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 1000; }
.cc-qs {
	position: fixed; top: 0; right: 0; bottom: 0; width: min(420px, 92vw); z-index: 1001;
	background: #fff; display: flex; flex-direction: column;
	transform: translateX(100%); transition: transform .3s ease, visibility 0s .3s; visibility: hidden;
}
.cc-qs.is-open { transform: none; visibility: visible; transition: transform .3s ease; box-shadow: -10px 0 40px rgba(0,0,0,.2); }
body.cc-qs-open { overflow: hidden; }
.cc-qs__head { display: flex; justify-content: space-between; align-items: center; padding: 22px 24px; border-bottom: 1px solid #ececec; }
.cc-qs__title { margin: 0; font-size: 20px; font-weight: 600; color: #161616; }
.cc-qs__close { background: none; border: 0; font-size: 32px; line-height: 1; cursor: pointer; color: #161616; padding: 0 4px; }
.cc-qs__filters { display: flex; gap: 8px; flex-wrap: wrap; padding: 14px 24px; border-bottom: 1px solid #ececec; }
.cc-qs__filters button {
	border: 1px solid #d9d9d9; background: #fff; color: #161616; border-radius: 999px;
	padding: 6px 14px; font: 500 13.5px/1.2 var(--theme-font-family); cursor: pointer;
}
.cc-qs__filters button.is-active, .cc-qs__filters button:hover { background: #161616; border-color: #161616; color: #fff; }
.cc-qs__list { list-style: none; margin: 0; padding: 8px 24px; overflow-y: auto; flex: 1; }
.cc-qs__list li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #f0f0f0; }
.cc-qs__list li[hidden] { display: none; }
.cc-qs__item { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; text-decoration: none; color: #161616; }
.cc-qs__item img { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; flex: none; }
.cc-qs__info { display: flex; flex-direction: column; min-width: 0; }
.cc-qs__name { font-size: 14px; font-weight: 500; line-height: 1.35; }
.cc-qs__price { font-size: 15px; font-weight: 700; margin-top: 4px; }
.cc-qs__price .amount { color: #161616; }
.cc-qs__add {
	flex: none; font-size: 13px; font-weight: 600; color: #fff; background: #161616;
	padding: 8px 14px; border-radius: 999px; text-decoration: none;
}
.cc-qs__add:hover { background: var(--cc-green); color: #fff; }
.cc-qs__all {
	display: block; margin: 16px 24px 24px; text-align: center; padding: 14px; border-radius: 999px;
	background: #161616; color: #fff; font-weight: 600; text-decoration: none;
}
.cc-qs__all:hover { background: var(--cc-green); color: #fff; }

@media (max-width: 999px) {
	.ct-header [data-id="cart"] .ct-label { display: none; }
	.cc-qs-tab { padding: 14px 9px; font-size: 13px; }
}
.ct-footer [data-id="menu"] > ul > li > a { padding-inline: 0 !important; }
.ct-footer [data-id="menu"] { margin-left: 0; }

/* Mobile menu panel */
#offcanvas .ct-panel-inner { background: #fff !important; }
#offcanvas .ct-panel-actions { background: #f2f2f2; padding: 14px 18px !important; margin: 0 !important; }
#offcanvas .ct-panel-heading { font-size: 13px !important; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: #161616; }
#offcanvas .ct-toggle-close { --theme-icon-color: #161616; color: #161616; }
#offcanvas .ct-panel-content { padding: 18px 18px 22px !important; }
#offcanvas .ct-panel-content-inner { align-items: stretch !important; text-align: left; }
.cc-m-search { display: flex; align-items: center; border: 1px solid #161616; border-radius: 999px; padding: 0 8px 0 18px; margin: 0 0 20px; height: 46px; }
.cc-m-search input[type="search"] { flex: 1; border: 0 !important; box-shadow: none !important; background: transparent !important; height: 44px; padding: 0 !important; font-size: 15px; color: #161616; }
.cc-m-search button { background: none; border: 0; color: #161616; padding: 8px 10px; cursor: pointer; }
#offcanvas .mobile-menu ul { padding: 0; }
#offcanvas .mobile-menu li { border: 0 !important; }
#offcanvas .mobile-menu a { font-size: 22px !important; font-weight: 400 !important; color: #161616 !important; padding: 7px 0 !important; text-transform: none !important; }
.cc-m-login { display: inline-block; margin-top: 30px; font-size: 15px; color: #161616 !important; text-decoration: none; }
.cc-m-login:hover { text-decoration: underline; }
#offcanvas .ct-panel-content, #offcanvas .ct-panel-content-inner { padding-left: 16px !important; padding-right: 16px !important; }
#offcanvas .ct-panel-content-inner { padding-inline: 0 !important; }
html[data-panel] .cc-qs-tab { display: none; }
html:has(#offcanvas.active) .cc-qs-tab, html:has(#offcanvas[aria-hidden="false"]) .cc-qs-tab { display: none; }

/* ==========================================================================
   Layout v4 – simple storefront (shop, product, contact, search)
   ========================================================================== */
:root { --cc-black: #161616; }

/* Shop / category banner */
.woocommerce-shop .hero-section[data-type="type-2"],
.tax-product_cat .hero-section[data-type="type-2"],
.tax-product_brand .hero-section[data-type="type-2"],
.tax-product_tag .hero-section[data-type="type-2"] {
	background: linear-gradient(rgba(0,0,0,.35), rgba(0,0,0,.35)), url("img/shop-banner.jpg") center/cover no-repeat !important;
	min-height: 400px; display: flex; align-items: flex-end;
}
.woocommerce-shop .hero-section .entry-header,
.tax-product_cat .hero-section .entry-header,
.tax-product_brand .hero-section .entry-header { text-align: left !important; align-items: flex-start !important; padding-bottom: 60px; }
.hero-section[data-type="type-2"] .page-title { font-weight: 400 !important; font-size: clamp(2.2rem, 4vw, 3.2rem) !important; letter-spacing: 0; }
.hero-section[data-type="type-2"] .page-description { margin-inline: 0 !important; text-align: left; }
.hero-section .ct-breadcrumbs { font-size: 15px; }

/* Shop toolbar: Filter left, count + sort right */
.woo-listing-top { display: flex; align-items: center; gap: 24px; margin-bottom: 36px; }
.cc-filter-btn {
	display: inline-flex; align-items: center; gap: 12px; margin-right: auto; order: -1;
	background: none; border: 0; padding: 6px 0; cursor: pointer; color: var(--cc-black);
	font: 400 17px/1 var(--theme-font-family);
}
.woocommerce-result-count { margin: 0 !important; color: #555; font-size: 16px; }
.woocommerce-ordering select { border: 0 !important; background-color: transparent; font-size: 16px; color: var(--cc-black); min-width: 190px; }
.cc-filters {
	position: fixed; top: 0; left: 0; bottom: 0; width: min(380px, 90vw); z-index: 1001; background: #fff;
	display: flex; flex-direction: column; transform: translateX(-100%); visibility: hidden;
	transition: transform .3s ease, visibility 0s .3s;
}
.cc-filters.is-open { transform: none; visibility: visible; transition: transform .3s ease; box-shadow: 10px 0 40px rgba(0,0,0,.2); }
.cc-filters__body { padding: 20px 24px; overflow-y: auto; }
.cc-filters__body h3 { font-size: 15px !important; text-transform: uppercase; letter-spacing: .06em; margin: 0 0 10px; font-weight: 600; }
.cc-filters__body .ct-widget, .cc-filters__body .widget { margin-bottom: 28px; }
.cc-filters__body ul { list-style: none; padding: 0; margin: 0; }
.cc-filters__body li { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid #f0f0f0; font-size: 15px; }
.cc-filters__body li a { color: var(--cc-black); text-decoration: none; }
.cc-filters__body .cc-sidebar-cta { display: none; }

/* Product cards – clean, centred */
[data-products] .product {
	border: 0 !important; background: transparent !important; padding: 0 0 10px !important; box-shadow: none !important;
	text-align: center; transform: none !important;
}
[data-products] .product figure { margin: 0 0 18px !important; }
[data-products] .product figure img { aspect-ratio: 1 / 1 !important; border-radius: 0 !important; }
[data-products] .product .woocommerce-loop-product__title {
	font-size: 17px !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .01em; padding: 0 6px !important;
	margin: 0 0 8px !important; color: var(--cc-black);
}
[data-products] .product .price { font-size: 15px !important; font-weight: 400 !important; color: #555 !important; padding: 0 !important; }
[data-products] .product .ct-woo-card-actions .button,
[data-products] .product .ct-woo-card-extra .button,
[data-products] .product .button {
	width: auto; background: none !important; color: var(--cc-black) !important; padding: 0 0 2px !important;
	border-radius: 0 !important; border-bottom: 1px solid var(--cc-black) !important; min-height: 0; font-size: 16px; font-weight: 400;
}
[data-products] .product .ct-woo-card-actions,
[data-products] .product .ct-woo-card-extra { justify-content: center; padding: 0 !important; }
.cc-cond, .cc-card-meta, .onsale { display: none !important; }
nav.woocommerce-pagination .page-numbers { border-radius: 0 !important; }
nav.woocommerce-pagination .page-numbers.current { background: var(--cc-black) !important; color: #fff !important; }

/* Single product */
.single-product .product_title { font-size: clamp(1.4rem, 2.2vw, 1.9rem) !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .01em; }
.single-product .summary .price { font-size: 1.6rem !important; font-weight: 400 !important; color: var(--cc-black) !important; }
.single-product .summary .ct-breadcrumbs { font-size: 13px; margin-bottom: 10px; }
.single-product .woocommerce-product-details__short-description { font-size: 15.5px; color: #444; }
.single-product .summary form.cart { display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
.single-product .summary form.cart .quantity { display: none !important; }
.single-product .summary .single_add_to_cart_button,
.cc-buy-now {
	width: 100%; min-height: 50px; border-radius: 0 !important; font: 500 16px/1 var(--theme-font-family); cursor: pointer;
}
.single-product .summary .single_add_to_cart_button { background: var(--cc-black) !important; color: #fff !important; }
.single-product .summary .single_add_to_cart_button:hover { background: #333 !important; }
.cc-buy-now { background: var(--cc-green); color: #fff; border: 0; }
.cc-buy-now:hover { background: var(--cc-green-dark); }
.cc-pay-note { margin: 4px 0 0; font-size: 13px; color: #666; text-align: center; }
.single-product .summary .stock { display: none; }
.cc-meta { margin-top: 22px; font-size: 14px; color: #555; }
.cc-meta__cats a { color: #555; }
.cc-share { position: relative; margin-top: 10px; }
.cc-share__btn { background: none; border: 0; padding: 4px 0; cursor: pointer; color: var(--cc-black); font: 400 14px var(--theme-font-family); display: inline-flex; gap: 8px; align-items: center; }
.cc-share__menu {
	position: absolute; bottom: 100%; left: 0; display: none; gap: 14px; padding: 10px 14px; background: #fff;
	border: 1px solid #e5e5e5; box-shadow: 0 6px 20px rgba(0,0,0,.08);
}
.cc-share.is-open .cc-share__menu, .cc-share:hover .cc-share__menu { display: flex; }
.cc-share__menu a { color: var(--cc-black); display: inline-flex; }
.woocommerce-tabs .tabs { justify-content: center; }
.related.products > h2, .up-sells > h2 {
	text-align: center; text-transform: uppercase; font-weight: 400 !important; font-size: 22px !important; letter-spacing: .06em; margin-bottom: 30px !important;
}
.woocommerce-product-gallery img { border-radius: 0 !important; }

/* Contact page */
.elementor .e-con.cc-banner { --padding-top: 40px; --padding-bottom: 50px; --padding-left: 20px; --padding-right: 20px; position: relative; }
.elementor .e-con.cc-banner::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.15), rgba(0,0,0,.5)); }
.cc-banner > .e-con-inner { position: relative; z-index: 1; }
.cc-banner__crumbs p { margin: 0 0 6px; color: rgba(255,255,255,.9); font-size: 15px; }
.cc-banner__crumbs a { color: #fff; text-decoration: none; }
.cc-banner__title .elementor-heading-title { color: #fff !important; font-weight: 400 !important; font-size: clamp(2.2rem, 4vw, 3.2rem) !important; margin: 0; }
.elementor .e-con.cc-contact-section { --padding-top: 60px; --padding-bottom: 70px; }
.cc-contact { display: grid; grid-template-columns: 1fr 1.6fr; gap: 60px; }
.cc-contact__label { margin: 0 0 8px; font-size: 18px; color: var(--cc-black); }
.cc-contact__value { margin: 0 0 30px; font-size: 15px; }
.cc-contact__value a { color: #555 !important; font-weight: 400 !important; }
.cc-contact .cc-form label { font-size: 12px; text-transform: uppercase; font-weight: 400; color: #333; letter-spacing: .02em; }
.cc-contact .cc-form input, .cc-contact .cc-form textarea { border-radius: 0 !important; border: 1px solid #777 !important; }
.cc-btn-square {
	background: var(--cc-black); color: #fff; border: 0; padding: 14px 26px; border-radius: 0; cursor: pointer;
	font: 500 15px/1 var(--theme-font-family);
}
.cc-btn-square:hover { background: #333; }
@media (max-width: 767px) { .cc-contact { grid-template-columns: 1fr; gap: 20px; } }

/* Search pop-up: full white screen */
#search-modal { background: #fff !important; --theme-text-color: #161616; }
#search-modal .ct-panel-actions { justify-content: flex-end; padding: 20px 24px; }
#search-modal .ct-toggle-close { --theme-icon-color: #161616; color: #161616; }
#search-modal .ct-toggle-close svg { width: 20px; height: 20px; }
#search-modal .ct-panel-content { justify-content: center; }
#search-modal .ct-panel-content::before {
	content: "Press ESC to close"; position: absolute; top: 56px; left: 0; right: 0; text-align: center;
	text-transform: uppercase; font-size: 15px; color: #777; letter-spacing: .02em;
}
#search-modal .ct-search-form { max-width: 820px; width: 100%; margin: 0 auto; }
#search-modal .ct-search-form input[type="search"] {
	font-size: clamp(2rem, 4vw, 3.4rem) !important; font-weight: 400; color: #161616 !important; background: transparent !important;
	border: 0 !important; border-bottom: 1px solid #777 !important; border-radius: 0 !important; height: auto !important; padding: 10px 0 !important;
}
#search-modal .ct-search-form input::placeholder { color: #8a8a8a; }
#search-modal .ct-search-form button[type="submit"], #search-modal .ct-search-form .wp-element-button { color: #161616 !important; background: none !important; }
.woocommerce-shop .hero-section .entry-header,
.tax-product_cat .hero-section .entry-header,
.tax-product_brand .hero-section .entry-header,
.tax-product_tag .hero-section .entry-header { max-width: var(--theme-normal-container-max-width, 1240px) !important; width: 100%; margin-inline: auto; padding-inline: 20px; }
.hero-section[data-type="type-2"] > div, .hero-section[data-type="type-2"] .ct-container-full { width: 100%; }
.cc-crumbs { font-size: 15px; color: rgba(255,255,255,.75); margin-bottom: 14px; }
.cc-crumbs a { color: #fff; text-decoration: none; }
.cc-crumbs span { margin: 0 4px; }
.cc-crumbs span[aria-current] { margin: 0; }
.woocommerce-result-count { margin-left: auto !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 400 !important; }
.cc-filter-btn { margin-right: 0; }
[data-products] .product figure, [data-products] .product .ct-media-container { border-radius: 0 !important; overflow: hidden; }
/* Card: price, swapped for "Add to cart" on hover */
[data-products] .product { position: relative; }
[data-products] .product .ct-woo-card-actions { position: absolute; left: 0; right: 0; bottom: 6px; opacity: 0; transition: opacity .2s; display: flex; justify-content: center; }
[data-products] .product:hover .ct-woo-card-actions, [data-products] .product:focus-within .ct-woo-card-actions { opacity: 1; }
[data-products] .product:hover .price { opacity: 0; }
[data-products] .product .price { display: block; min-height: 30px; transition: opacity .2s; }
@media (hover: none) { [data-products] .product .ct-woo-card-actions { position: static; opacity: 1; margin-top: 6px; } [data-products] .product:hover .price { opacity: 1; } }
[data-products] .product img, [data-products] .product .ct-media-container { border-radius: 0 !important; --theme-border-radius: 0; }
.woo-listing-top { justify-content: flex-start !important; }
.woo-listing-top .woocommerce-ordering { margin-left: 10px; }
#search-modal .ct-search-form-inner, #search-modal .ct-pseudo-input { border: 0 !important; box-shadow: none !important; background: transparent !important; }
#search-modal .ct-search-form-inner:focus-within { border: 0 !important; box-shadow: none !important; }
.single-product .ct-breadcrumbs, .single-product .ct-breadcrumbs a { font-size: 13px !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; color: #444 !important; }
.single-product .product_meta { display: none !important; }
#search-modal .ct-search-form, #search-modal .ct-search-form * { --theme-form-field-border-initial-color: transparent; --theme-form-field-border-focus-color: transparent; --theme-form-field-background-initial-color: transparent; --theme-form-field-background-focus-color: transparent; }
#search-modal .ct-search-form input[type="search"] { border-bottom-color: #777 !important; }

/* ---------- Home v6: hero, carts, category tiles, mailing list ---------- */
.elementor .e-con.cc-home-hero { position: relative; --padding-top: 80px; --padding-bottom: 80px; --padding-left: 20px; --padding-right: 20px; }
.elementor .e-con.cc-home-hero::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.cc-home-hero > .e-con-inner { position: relative; z-index: 1; max-width: 1240px; align-items: center; text-align: center; }
.cc-home-hero__title { width: 100%; }
.cc-home-hero__title .elementor-heading-title { color: #fff !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .01em; font-size: clamp(1.7rem, 3.4vw, 3rem) !important; line-height: 1.15; max-width: none; margin: 0 0 28px; text-align: center; }
.cc-home-hero .cc-btn-outline .elementor-button { background: transparent !important; color: #fff !important; border: 1.5px solid rgba(255,255,255,.85) !important; border-radius: 999px !important; padding: 15px 34px !important; font-size: 1.05rem; font-weight: 500; transition: background .25s ease, color .25s ease; }
.cc-home-hero .cc-btn-outline .elementor-button:hover { background: #fff !important; color: #111 !important; }
.cc-btn-white .elementor-button, .cc-btn-outline-dark .elementor-button {
	border-radius: 0 !important; padding: 16px 34px; font: 500 16px/1 var(--theme-font-family);
}
.cc-btn-white .elementor-button { background: #fff !important; color: #161616 !important; }
.cc-btn-white .elementor-button:hover { background: #161616 !important; color: #fff !important; }
.cc-btn-outline-dark .elementor-button { background: transparent !important; color: #161616 !important; border: 1px solid #161616 !important; }
.cc-btn-outline-dark .elementor-button:hover { background: #161616 !important; color: #fff !important; }
.elementor .e-con.cc-home-featured { --padding-top: 80px; --padding-bottom: 40px; --padding-left: 20px; --padding-right: 20px; }
.cc-home-h2 .elementor-heading-title { text-align: center; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .06em; font-size: 24px !important; margin-bottom: 26px; }
.elementor .e-con.cc-home-mosaic { --padding-top: 40px; --padding-bottom: 80px; --padding-left: 20px; --padding-right: 20px; }
.elementor .e-con.cc-mosaic {
	display: grid !important; grid-template-columns: 2fr 1fr; grid-template-rows: 340px 340px; gap: 6px;
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
}
.elementor .e-con.cc-tile { position: relative; overflow: hidden; --padding-top: 40px; --padding-bottom: 50px; --padding-left: 56px; --padding-right: 30px; text-decoration: none; }
.elementor .e-con.cc-tile::before { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 50%, rgba(0,0,0,.35)); transition: background .25s; }
.elementor .e-con.cc-tile:hover::before { background: linear-gradient(rgba(0,0,0,.1), rgba(0,0,0,.45)); }
.cc-tile--big { grid-row: span 2; }
.cc-tile--gas, .cc-tile--inv { justify-content: center !important; }
.cc-tile__label { position: relative; z-index: 1; }
.cc-tile__label .elementor-heading-title { color: #fff !important; font-weight: 500 !important; font-size: 30px !important; margin: 0; text-shadow: 0 2px 12px rgba(0,0,0,.35); }
.cc-tile--big .cc-tile__label .elementor-heading-title { font-size: 44px !important; }
.elementor .e-con.cc-home-news { background: #f4f4f4; --padding-top: 110px; --padding-bottom: 110px; --padding-left: 20px; --padding-right: 20px; }
.cc-home-news__title .elementor-heading-title { font-weight: 400 !important; font-size: clamp(1.8rem, 3vw, 2.4rem) !important; margin: 0 0 18px; }
.cc-news { display: flex; align-items: center; width: min(470px, 90vw); height: 66px; background: #fff; border: 1px solid #555; border-radius: 999px; padding: 0 22px 0 34px; margin: 0 auto; }
.cc-news input[type="email"] { flex: 1; border: 0 !important; box-shadow: none !important; background: transparent !important; font-size: 16px; padding: 0 !important; height: 60px; }
.cc-news button { background: none; border: 0; color: #161616; cursor: pointer; padding: 8px; }
.cc-news__msg { text-align: center; margin-top: 14px; }
@media (max-width: 767px) {
	.elementor .e-con.cc-mosaic { grid-template-columns: 1fr; grid-template-rows: 300px 220px 220px; }
	.cc-tile--big { grid-row: auto; }
	.cc-tile--big .cc-tile__label .elementor-heading-title { font-size: 32px !important; }
	.elementor .e-con.cc-tile { --padding-left: 24px; }
}
.cc-buy-now { display: flex; align-items: center; justify-content: center; text-decoration: none; } .cc-buy-now:hover { color: #fff; }

/* ---------- Product page v2 (matches reference) ---------- */
.single-product .hero-section, .single-product .ct-container > .ct-breadcrumbs, .single-product .entry-header .ct-breadcrumbs, .single-product nav.ct-breadcrumbs { display: none !important; }
.single-product .ct-container[data-vertical-spacing] { padding-top: 40px; }
.cc-pcrumbs { font-size: 13px; color: #333; margin-bottom: 14px; }
.cc-pcrumbs a { color: #333; text-decoration: none; }
.cc-pcrumbs span { margin: 0 3px; }
.cc-pcrumbs span[aria-current] { margin: 0; text-transform: uppercase; }
.single-product .product_title { font-size: 26px !important; line-height: 1.3; margin-bottom: 10px !important; }
.single-product .summary .price { font-size: 22px !important; margin-bottom: 16px !important; }
.single-product .woocommerce-product-details__short-description { font-size: 15px; line-height: 1.6; color: #333; }
.single-product .woocommerce-product-details__short-description ul { list-style: none; padding: 0; margin: 0; }
.single-product .woocommerce-product-details__short-description li { padding-left: 0 !important; margin: 0; }
.single-product .woocommerce-product-details__short-description li::before { content: "-" !important; position: static !important; display: inline !important; background: none !important; width: auto !important; height: auto !important; margin-right: 2px; }
.single-product .summary hr, .single-product .summary .ct-product-divider { display: none !important; }
.single-product .summary form.cart { margin-top: 20px !important; gap: 10px; }
.single-product .summary .single_add_to_cart_button { min-height: 48px; font-size: 15px !important; }
.cc-buy-now { background: #5a31f4 !important; min-height: 48px; font-size: 15px; font-weight: 600; }
.cc-buy-now:hover { background: #4524c9 !important; }
.cc-more-pay { display: block; text-align: center; font-size: 14px; color: #161616; text-decoration: underline; margin-top: 4px; }
.cc-pay-note { display: none; }
.cc-meta { margin-top: 26px; font-size: 13px; color: #555; }
.single-product .woocommerce-product-gallery { --product-thumbs-width: 100px; }
.single-product .woocommerce-product-gallery .flexy-pills img, .single-product .woocommerce-product-gallery .ct-image-container img { border-radius: 0 !important; }
@media (min-width: 1000px) {
	.single-product .product-entry-wrapper { grid-template-columns: 1.15fr 1fr !important; gap: 60px !important; }
}

/* ---------- Side cart ---------- */
#woo-cart-panel .ct-panel-inner { background: #fff !important; }
#woo-cart-panel .ct-panel-actions { background: #f2f2f2; padding: 18px 24px !important; margin: 0 !important; }
#woo-cart-panel .ct-panel-heading { font-size: 14px !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .08em; color: #161616; }
#woo-cart-panel .ct-toggle-close { --theme-icon-color: #161616; color: #161616; }
#woo-cart-panel .ct-panel-content { padding: 24px !important; }
#woo-cart-panel .woocommerce-mini-cart-item { display: grid !important; grid-template-columns: 94px 1fr 20px; gap: 0 22px; align-items: start; padding: 0 0 20px !important; border: 0 !important; }
#woo-cart-panel .woocommerce-mini-cart-item img { width: 94px !important; height: 125px !important; object-fit: cover; border-radius: 0 !important; }
#woo-cart-panel .woocommerce-mini-cart-item .product-title, #woo-cart-panel .woocommerce-mini-cart-item a:not(.remove) { font-size: 16px; font-weight: 400; text-transform: uppercase; color: #161616; text-decoration: none; }
#woo-cart-panel .woocommerce-mini-cart-item .quantity { font-size: 15px; color: #333; }
#woo-cart-panel .remove { color: #161616 !important; font-size: 18px; }
.cc-note { border-top: 1px solid #e5e5e5; padding: 14px 0; }
.cc-note summary { cursor: pointer; font-size: 15px; color: #161616; list-style: none; display: flex; justify-content: space-between; }
.cc-note summary::after { content: "⌄"; }
.cc-note[open] summary::after { content: "⌃"; }
.cc-note textarea { margin-top: 10px; width: 100%; border-radius: 0 !important; font-size: 14px; }
#woo-cart-panel .woocommerce-mini-cart__total { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; padding: 16px 0 !important; margin: 0 0 22px !important; }
#woo-cart-panel .woocommerce-mini-cart__total strong { font-weight: 700; color: #161616; }
#woo-cart-panel .woocommerce-mini-cart__total .amount { font-size: 22px; font-weight: 400; color: #161616; }
#woo-cart-panel .woocommerce-mini-cart__buttons { display: grid !important; grid-template-columns: 1fr 1fr; gap: 18px; }
#woo-cart-panel .woocommerce-mini-cart__buttons .button { border-radius: 0 !important; min-height: 52px; font-size: 18px; font-weight: 400; justify-content: center; margin: 0 !important; }
#woo-cart-panel .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff !important; color: #161616 !important; border: 1px solid #161616 !important; }
#woo-cart-panel .woocommerce-mini-cart__buttons .checkout { background: #161616 !important; color: #fff !important; border: 1px solid #161616 !important; }

/* ---------- Product page: gallery arrows + full description toggle ---------- */
.single-product .woocommerce-product-gallery .flexy-arrow-prev,
.single-product .woocommerce-product-gallery .flexy-arrow-next { opacity: 1 !important; background: transparent !important; box-shadow: none !important; color: #161616; --theme-icon-color: #161616; }
.cc-fulldesc { margin-top: 18px; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; }
.cc-fulldesc summary { cursor: pointer; padding: 14px 0; font-size: 15px; color: #161616; list-style: none; display: flex; justify-content: space-between; }
.cc-fulldesc summary::after { content: "+"; font-size: 20px; line-height: 1; }
.cc-fulldesc[open] summary::after { content: "–"; }
.cc-fulldesc__body { font-size: 14.5px; max-height: 520px; overflow-y: auto; padding: 0 6px 16px 0; }
.cc-fulldesc__body h2 { font-size: 18px !important; margin: 1.2em 0 .4em; }
.cc-fulldesc__body h3 { font-size: 16px !important; }
.cc-fulldesc__body img { max-height: 320px; }
.single-product .related.products { margin-top: 60px; }

/* Own side cart */
.cc-sidecart {
	position: fixed; top: 0; right: 0; bottom: 0; width: min(460px, 92vw); z-index: 1001; background: #fff;
	display: flex; flex-direction: column; transform: translateX(100%); visibility: hidden; transition: transform .3s ease, visibility 0s .3s;
}
.cc-sidecart.is-open { transform: none; visibility: visible; transition: transform .3s ease; box-shadow: -10px 0 40px rgba(0,0,0,.2); }
.cc-sidecart__head { display: flex; justify-content: space-between; align-items: center; background: #f2f2f2; padding: 18px 24px; }
.cc-sidecart__title { margin: 0; font-size: 14px; text-transform: uppercase; letter-spacing: .08em; color: #161616; }
.cc-sidecart__close { background: none; border: 0; font-size: 30px; line-height: 1; cursor: pointer; color: #161616; }
.cc-sidecart .widget_shopping_cart_content { flex: 1; display: flex; flex-direction: column; padding: 24px; overflow-y: auto; }
.cc-sidecart .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; flex: 1; }
.cc-sidecart .woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 94px 1fr; gap: 0 22px; padding: 0 28px 20px 0; }
.cc-sidecart .woocommerce-mini-cart-item a:not(.remove) { display: contents; font-size: 16px; font-weight: 400; text-transform: uppercase; color: #161616; text-decoration: none; }
.cc-sidecart .woocommerce-mini-cart-item img { grid-row: span 2; width: 94px !important; height: 125px !important; object-fit: cover; border-radius: 0 !important; margin: 0 !important; }
.cc-sidecart .woocommerce-mini-cart-item .quantity { font-size: 15px; color: #333; margin-top: 6px; }
.cc-sidecart .remove { position: absolute; right: 0; top: 0; color: #161616 !important; font-size: 20px; text-decoration: none; }
.cc-sidecart .woocommerce-mini-cart__total { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; padding: 16px 0; margin: 0 0 22px; }
.cc-sidecart .woocommerce-mini-cart__total strong { font-weight: 700; color: #161616; }
.cc-sidecart .woocommerce-mini-cart__total .amount { font-size: 22px; font-weight: 400; color: #161616; }
.cc-sidecart .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 0; }
.cc-sidecart .woocommerce-mini-cart__buttons .button { display: flex; align-items: center; justify-content: center; border-radius: 0 !important; min-height: 52px; font-size: 17px; font-weight: 400; margin: 0 !important; text-decoration: none; }
.cc-sidecart .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff !important; color: #161616 !important; border: 1px solid #161616 !important; }
.cc-sidecart .woocommerce-mini-cart__buttons .checkout { background: #161616 !important; color: #fff !important; border: 1px solid #161616 !important; }
.cc-sidecart .woocommerce-mini-cart__empty-message { text-align: center; color: #555; margin-top: 40px; }
[data-products] .product a.added_to_cart { display: none !important; }
.cc-sidecart .woocommerce-mini-cart { order: 1; }
.cc-sidecart .cc-note { order: 2; }
.cc-sidecart .woocommerce-mini-cart__total { order: 3; border-top: 1px solid #e5e5e5; }
.cc-sidecart .woocommerce-mini-cart__buttons { order: 4; }
.cc-sidecart .woocommerce-mini-cart__total strong { text-transform: none; font-size: 17px; letter-spacing: 0; }
.cc-sidecart .woocommerce-mini-cart-item .quantity { display: block; grid-column: 2; }
.cc-sidecart .woocommerce-mini-cart-item .remove svg { display: none; }
.cc-sidecart .woocommerce-mini-cart-item .remove::before { content: "\00d7"; font-size: 22px; line-height: 1; }
.cc-sidecart .cc-note { border-top: 1px solid #e5e5e5; }

/* No inner green focus box in pill-shaped fields; the pill itself shows focus */
.cc-news input, .cc-news input:focus, .cc-m-search input, .cc-m-search input:focus {
	outline: none !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important;
	--theme-form-field-border-initial-color: transparent; --theme-form-field-border-focus-color: transparent;
	--theme-form-field-border-width: 0; background: transparent !important;
}
.cc-news:focus-within, .cc-m-search:focus-within { border-color: #161616; box-shadow: 0 0 0 1px #161616; }

/* Sticky header */
#header.ct-header { position: sticky; top: 0; z-index: 60; background: #fff; transition: box-shadow .2s ease; }
.admin-bar #header.ct-header { top: 32px; }
@media (max-width: 782px) { .admin-bar #header.ct-header { top: 0; } }
#header.ct-header.cc-scrolled { box-shadow: 0 2px 14px rgba(0,0,0,.08); }
#header.ct-header.cc-scrolled [data-row="middle"] .ct-container { min-height: 84px; transition: min-height .2s ease; }
#header.ct-header.cc-scrolled .site-logo-container img { height: 64px !important; max-height: 64px !important; }
@media (max-width: 999px) { #header.ct-header.cc-scrolled [data-row="middle"] .ct-container { min-height: 66px; } #header.ct-header.cc-scrolled .site-logo-container img { height: 50px !important; max-height: 50px !important; } }

/* Menu underline: draws left → right on hover, stays under the active page */
.ct-header [data-id="menu"] > ul > li > a::after {
	bottom: calc(50% - 15px) !important; height: 1px; background: #161616;
	transform: scaleX(0); transform-origin: left center; transition: transform .3s ease;
}
.ct-header [data-id="menu"] > ul > li > a:hover::after,
.ct-header [data-id="menu"] > ul > li.current-menu-item > a::after,
.ct-header [data-id="menu"] > ul > li.cc-active > a::after { transform: scaleX(1); }
.ct-header [data-id="menu"] > ul > li > a::after { opacity: 1 !important; width: auto !important; left: 0 !important; right: 0 !important; }
/* Never show Blocksy's dark hover mini-cart; our side cart is used instead */
.ct-header-cart .ct-cart-content { display: none !important; }

/* v13: smaller type on mobile */
@media (max-width: 689px) {
	body { font-size: 15px; }
	.cc-home-hero__title .elementor-heading-title { font-size: 21px !important; line-height: 1.25; margin-bottom: 20px; }
	.cc-home-hero .cc-btn-outline .elementor-button { font-size: 14px !important; padding: 11px 26px !important; }
	.elementor-widget-heading h2.elementor-heading-title, .entry-content h2 { font-size: 19px !important; }
	.elementor-widget-heading h3.elementor-heading-title { font-size: 22px !important; }
	main h1, .hero-section h1, .page-title, .elementor-widget-heading h1.elementor-heading-title:not(.cc-home-hero__title *) { font-size: 26px !important; line-height: 1.2; }
	.single-product .product_title { font-size: 21px !important; }
	.single-product .summary .price, .single-product .summary p.price { font-size: 18px !important; }
	.single-product .summary h2 { font-size: 16px !important; }
	.single-product .summary h3 { font-size: 15px !important; }
	ul.products li.product .woocommerce-loop-product__title, ul.products li.product .woocommerce-loop-product__title a { font-size: 15px !important; }
	.entry-header .page-title, .hero-section .page-title, .hero-section[data-type="type-2"] .page-title { font-size: 26px !important; }
	.cc-filter-btn { font-size: 15px !important; }
	.cc-tile__label .elementor-heading-title, .cc-tile--big .cc-tile__label .elementor-heading-title { font-size: 22px !important; }
	ul.products .price { font-size: 14px !important; }
	.cc-filter-toggle, .woocommerce-result-count, .woocommerce-ordering select { font-size: 14px !important; }
}
@media (max-width: 689px) {
	.elementor .e-con.cc-home-hero { --justify-content: flex-end !important; justify-content: flex-end !important; --padding-bottom: 44px !important; }
	.elementor .e-con.cc-home-hero > .e-con-inner { justify-content: flex-end !important; }
}

/* v13: services row under the home hero */
.elementor .e-con.cc-home-services { --padding-top: 72px; --padding-bottom: 24px; --padding-left: 20px; --padding-right: 20px; }
.cc-home-services > .e-con-inner { max-width: 1240px; }
.cc-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cc-service { background: #f4f4f4; padding: 36px 32px 34px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.cc-service__media { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 5 / 4; overflow: hidden; }
.cc-service__media img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; transition: transform .4s ease; }
.cc-service__media:hover img { transform: scale(1.03); }
.cc-service__title { margin: 28px 0 14px !important; font-size: 28px !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .01em; line-height: 1.2; }
.cc-service__title a { color: #1a1a1a !important; text-decoration: none; }
.cc-service__contact { margin: 0; font-size: 17px; font-weight: 700; text-transform: uppercase; letter-spacing: .01em; }
.cc-service__contact a { color: #444 !important; text-decoration: none; }
.cc-service__contact a:hover { color: #000 !important; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 999px) { .cc-services { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; } .cc-service__media { aspect-ratio: auto; } .cc-service__media img { width: 100%; } }
@media (max-width: 689px) {
	.elementor .e-con.cc-home-services { --padding-top: 40px; --padding-bottom: 8px; }
	.cc-services { gap: 16px; }
	.cc-service { padding: 24px 20px 26px; }
	.cc-service__title { font-size: 21px !important; margin: 20px 0 10px !important; }
	.cc-service__contact { font-size: 14px; }
}

/* v13: tile labels pinned bottom-left */
.elementor .e-con.cc-tile, .elementor .e-con.cc-tile.cc-tile--gas, .elementor .e-con.cc-tile.cc-tile--inv { --justify-content: flex-end !important; justify-content: flex-end !important; --align-items: flex-start !important; align-items: flex-start !important; --padding-bottom: 36px; --padding-left: 40px; }
.cc-tile__label, .cc-tile__label .elementor-heading-title { text-align: left !important; }
.elementor .e-con.cc-tile::before { background: linear-gradient(transparent 45%, rgba(0,0,0,.55)) !important; }
@media (max-width: 689px) { .elementor .e-con.cc-tile, .elementor .e-con.cc-tile.cc-tile--gas, .elementor .e-con.cc-tile.cc-tile--inv { --padding-bottom: 20px; --padding-left: 20px; } }

/* v13: service pictures all the same size */
.cc-service__media, .cc-services .cc-service__media { aspect-ratio: 3 / 2 !important; width: 100%; background: #e9e9e9; }
.cc-service__media img, .cc-services .cc-service__media img { width: 100% !important; height: 100% !important; max-width: none; max-height: none; object-fit: cover; object-position: center; display: block; }
.cc-service { padding-top: 32px; }

/* v14: footer menu lines up with the copyright */
.ct-footer .footer-menu-inline ul.menu { margin-left: 0 !important; margin-right: 0 !important; }
.ct-footer .footer-menu-inline ul.menu > li:first-child, .ct-footer .footer-menu-inline ul.menu > li:first-child > a { padding-left: 0 !important; margin-left: 0 !important; }

/* v15: "How to pay" box on the order-received page */
.cc-pay-steps { background: #f4f4f4; border-left: 3px solid #111; padding: 20px 24px 8px; margin: 28px 0; }
.cc-pay-steps h2 { font-size: 20px !important; margin: 0 0 10px; }
.cc-pay-steps p { margin: 0 0 12px; }
.cc-pay-desc { margin: 0; }

/* v16: stop the browser re-anchoring the page when the sticky header shrinks */
#header.ct-header { overflow-anchor: none; }
