/* ===== WooCommerce — Clever Clean skin ===== */
.woocommerce-page, .woocommerce, .woocommerce-account, .woocommerce-cart, .woocommerce-checkout { color: #333; }

.cc-wc-wrap { width: 100%; max-width: none; margin: 0; padding: 40px 28px 72px; box-sizing: border-box; }
.cc-wc-wrap h1, .cc-wc-wrap h2 { color: #003968; font-weight: 800; }
/* The shop archive + product taxonomy archives use the full width (with the
   sidebar). Everything else (single product, account, cart, checkout) reads
   better constrained. */
.single-product .cc-wc-wrap { max-width: 1400px; margin: 0 auto; }
.woocommerce-account .cc-wc-wrap,
.woocommerce-cart .cc-wc-wrap,
.woocommerce-checkout .cc-wc-wrap { max-width: 1200px; margin: 0 auto; }
.woocommerce-products-header { display: none; }

/* Shop page header */
.cc-shop-header {
	background: linear-gradient(135deg, #002a4d 0%, #003968 100%);
	color: #fff; padding: 56px 24px; text-align: center;
}
.cc-shop-header h1 { font-size: 38px; color: #fff; margin-bottom: 8px; }
.cc-shop-header p { color: rgba(255,255,255,.85); }

/* Breadcrumb */
.cc-breadcrumb {
	font-size: 13px; color: #6b7a91;
	margin: 0 0 22px;
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
}
.cc-breadcrumb a {
	color: #003968; font-weight: 600;
	text-decoration: none;
	transition: color .15s;
}
.cc-breadcrumb a:hover { color: #009DEA; }
.cc-breadcrumb__sep { color: #b7c2d2; margin: 0 4px; font-size: 14px; }

/* ===== Shop toolbar: result count + ordering ===== */
.cc-shop-toolbar {
	display: flex; flex-wrap: wrap;
	justify-content: space-between; align-items: center;
	gap: 14px;
	margin: 0 0 24px;
	padding: 14px 18px;
	background: #f5f9ff;
	border: 1px solid #e2eaf4;
	border-radius: 12px;
}
.woocommerce .cc-shop-toolbar .woocommerce-result-count {
	margin: 0; font-size: 14px; color: #4a5d78; font-weight: 500;
}
.woocommerce .cc-shop-toolbar .woocommerce-ordering { margin: 0; }
.woocommerce .cc-shop-toolbar .woocommerce-ordering select.orderby {
	min-width: 220px;
	padding: 9px 36px 9px 14px;
	font: 600 13px/1.2 'Inter', sans-serif;
	color: #003968;
	background-color: #fff;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003968' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 12px;
	border: 1.5px solid #dde3ec; border-radius: 8px;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	cursor: pointer;
	transition: border-color .15s, box-shadow .15s;
}
.woocommerce .cc-shop-toolbar .woocommerce-ordering select.orderby:hover { border-color: #b7c2d2; }
.woocommerce .cc-shop-toolbar .woocommerce-ordering select.orderby:focus {
	outline: none; border-color: #009DEA;
	box-shadow: 0 0 0 4px rgba(0, 157, 234, .15);
}

/* ===== Product grid =====
 * Flex-wrap layout: cards have a fixed width and pack flush to the left.
 * No empty tracks, no auto-stretching — what's left over on the right is
 * just whitespace. */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 22px;
	margin: 0 0 32px !important;
	padding: 0 !important;
	list-style: none;
	text-align: left !important;
	width: 100% !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	flex: 0 0 290px;
	max-width: 290px;
}
.woocommerce ul.products.columns-2 li.product { flex-basis: 380px; max-width: 380px; }
.woocommerce ul.products.columns-3 li.product { flex-basis: 320px; max-width: 320px; }
.woocommerce ul.products.columns-5 li.product { flex-basis: 240px; max-width: 240px; }
.woocommerce ul.products.columns-6 li.product { flex-basis: 220px; max-width: 220px; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 14px;
	overflow: hidden;
	padding: 0 !important;
	text-align: left;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .05);
	transition: transform .2s, box-shadow .2s;
	display: flex; flex-direction: column;
	position: relative;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(0, 57, 104, .14);
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
	display: flex; flex-direction: column; flex: 1;
	color: inherit; text-decoration: none;
}
/* Thumbnail wrapper — white box with padding so the image floats inside
   the card instead of butting up against the top edge. */
.woocommerce ul.products li.product .cc-loop-thumb {
	position: relative;
	background: #fff;
	padding: 16px 16px 0;
	overflow: hidden;
}
.woocommerce ul.products li.product img {
	display: block;
	width: 100% !important;
	height: 200px !important;
	max-height: 200px !important;
	object-fit: cover;
	background: #fff;
	margin: 0 !important;
	border-radius: 8px;
	transition: transform .35s ease;
}
.woocommerce ul.products li.product:hover img { transform: scale(1.04); }

/* Hover overlay — covers the full thumb wrapper (image + surrounding white
   padding) so the hover state reads as one solid surface. */
.woocommerce ul.products li.product .cc-loop-overlay {
	position: absolute;
	inset: 0;
	display: flex; align-items: center; justify-content: center;
	background: rgba(0, 42, 77, .55);
	opacity: 0;
	transition: opacity .25s ease;
	pointer-events: none;
	z-index: 3;
}
.woocommerce ul.products li.product:hover .cc-loop-overlay { opacity: 1; }
.woocommerce ul.products li.product .cc-loop-overlay__btn {
	padding: 11px 28px;
	border: 2px solid #fff;
	border-radius: 50px;
	color: #fff;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .8px;
	text-transform: uppercase;
	background: transparent;
	transform: translateY(10px);
	transition: transform .25s ease, background .15s, color .15s;
}
.woocommerce ul.products li.product:hover .cc-loop-overlay__btn { transform: translateY(0); }
.woocommerce ul.products li.product:hover .cc-loop-overlay__btn:hover {
	background: #fff;
	color: #003968;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #003968 !important;
	padding: 16px 18px 6px !important;
	margin: 0 !important;
	line-height: 1.35 !important;
	min-height: 2.7em;
}
.woocommerce ul.products li.product .price {
	color: #009DEA !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	padding: 0 18px 12px;
	margin: 0 !important;
	display: block;
}
.woocommerce ul.products li.product .price del {
	color: #98a4b6 !important;
	font-weight: 500 !important;
	margin-right: 6px;
	font-size: 14px !important;
}
.woocommerce ul.products li.product .price ins {
	background: none; text-decoration: none;
	color: #009DEA !important;
}
.woocommerce ul.products li.product .star-rating {
	margin: 0 16px 8px !important;
	font-size: 12px !important;
}

/* Product card extras: short description + category meta + stock badge */
.woocommerce ul.products li.product .cc-loop-excerpt {
	color: #4a5d78;
	font-size: 13.5px;
	line-height: 1.5;
	margin: 0 !important;
	padding: 0 18px;
	margin-bottom: 12px !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	max-height: 3em;
	word-break: break-word;
}
.woocommerce ul.products li.product .cc-loop-cats {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 18px 14px;
}
.woocommerce ul.products li.product .cc-loop-cat {
	padding: 4px 11px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .4px;
	color: #003968;
	background: #e8f4fd;
	border-radius: 50px;
	text-decoration: none;
	transition: background .15s, color .15s;
}
.woocommerce ul.products li.product .cc-loop-cat:hover { background: #009DEA; color: #fff; }
.woocommerce ul.products li.product .cc-stock-badge {
	position: absolute;
	top: 12px; right: 12px;
	padding: 5px 10px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .4px;
	border-radius: 50px;
	z-index: 2;
}
.woocommerce ul.products li.product .cc-stock-badge--out {
	background: rgba(192, 57, 43, .92);
	color: #fff;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	background: #71CDA1 !important;
	color: #003968 !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	border-radius: 6px !important;
	text-transform: uppercase !important;
	letter-spacing: .4px !important;
	padding: 13px 18px !important;
	margin: auto 18px 18px !important;
	display: block !important;
	text-align: center !important;
	transition: background .15s, transform .1s !important;
}
.woocommerce ul.products li.product .button:hover { background: #5bb88e !important; transform: translateY(-1px); }
.woocommerce ul.products li.product .button.loading::after { top: 50%; right: 14px; }
.woocommerce ul.products li.product .added_to_cart { background: #003968 !important; color: #fff !important; }

/* Sale badge — both archive and single */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce div.product .onsale,
.cc-sale-badge {
	position: absolute !important;
	top: 12px !important; left: 12px !important;
	right: auto !important;
	background: #71CDA1 !important;
	color: #003968 !important;
	font-weight: 700 !important;
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: .5px;
	padding: 5px 12px !important;
	border-radius: 50px !important;
	margin: 0 !important;
	min-width: 0 !important; min-height: 0 !important;
	line-height: 1.4 !important;
	z-index: 2;
}

/* ===== Pagination ===== */
.woocommerce nav.woocommerce-pagination {
	text-align: center;
	margin: 28px 0 8px;
	border: 0;
}
.woocommerce nav.woocommerce-pagination ul {
	border: 0 !important;
	display: inline-flex; gap: 6px;
}
.woocommerce nav.woocommerce-pagination ul li {
	border: 0 !important;
	margin: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px;
	padding: 0 12px !important;
	background: #fff !important;
	border: 1.5px solid #dde3ec !important;
	border-radius: 8px !important;
	color: #003968 !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	transition: background .15s, color .15s, border-color .15s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: #003968 !important;
	color: #fff !important;
	border-color: #003968 !important;
}

/* ===== Single product ===== */
.woocommerce div.product { display: block; }
.woocommerce div.product::after { content: ''; display: block; clear: both; }

.woocommerce div.product div.images,
.woocommerce-page div.product div.images,
.woocommerce div.product .woocommerce-product-gallery {
	float: left;
	width: 40% !important;
	max-width: 460px;
	margin: 0 0 32px;
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 14px;
	padding: 14px;
	box-shadow: 0 4px 18px rgba(0, 57, 104, .06);
	box-sizing: border-box;
	position: relative;
}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
	margin: 0;
}
.woocommerce div.product .woocommerce-product-gallery__image img {
	border-radius: 8px;
	background: #f5f9ff;
}
.woocommerce div.product .flex-control-thumbs {
	margin: 12px -4px 0 !important;
	padding: 0 !important;
	display: flex; flex-wrap: wrap; gap: 8px;
}
.woocommerce div.product .flex-control-thumbs li {
	width: calc(25% - 6px) !important;
	margin: 0 !important;
	float: none !important;
}
.woocommerce div.product .flex-control-thumbs li img {
	border-radius: 6px;
	border: 1.5px solid transparent;
	opacity: .65;
	transition: opacity .15s, border-color .15s;
	cursor: pointer;
}
.woocommerce div.product .flex-control-thumbs li img:hover,
.woocommerce div.product .flex-control-thumbs li img.flex-active {
	opacity: 1;
	border-color: #009DEA;
}

.woocommerce div.product div.summary,
.woocommerce-page div.product div.summary,
.woocommerce div.product .summary {
	float: right;
	width: calc(60% - 32px) !important;
	margin: 0 0 32px;
	box-sizing: border-box;
}
.woocommerce div.product .product_title {
	color: #003968;
	font-weight: 800;
	font-size: 30px;
	line-height: 1.2;
	margin: 0 0 16px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: #009DEA !important;
	font-weight: 800;
	font-size: 28px;
	margin: 0 0 18px;
	display: block;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	color: #98a4b6 !important;
	font-weight: 500;
	font-size: 20px;
	margin-right: 10px;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	background: none; text-decoration: none;
	color: #009DEA !important;
}
.woocommerce div.product .woocommerce-product-rating {
	margin: 0 0 16px !important;
	display: flex; align-items: center; gap: 10px;
}
.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link {
	font-size: 13px; color: #6b7a91; text-decoration: none;
}
.woocommerce div.product .woocommerce-product-details__short-description {
	color: #4a5d78;
	font-size: 15px;
	line-height: 1.7;
	margin: 0 0 24px;
	padding: 0 0 24px;
	border-bottom: 1px solid #e8eef6;
}
.woocommerce div.product .woocommerce-product-details__short-description p { margin: 0 0 10px; }
.woocommerce div.product .woocommerce-product-details__short-description p:last-child { margin: 0; }
/* Restore list indentation killed by the global `* { padding: 0 }` reset so the
   bullet markers sit inside the text column instead of hugging the edge. */
.woocommerce div.product .woocommerce-product-details__short-description ul,
.woocommerce div.product .woocommerce-product-details__short-description ol {
	margin: 0 0 10px;
	padding-left: 22px;
}
.woocommerce div.product .woocommerce-product-details__short-description ul:last-child,
.woocommerce div.product .woocommerce-product-details__short-description ol:last-child { margin-bottom: 0; }
.woocommerce div.product .woocommerce-product-details__short-description li { margin: 0 0 6px; }
.woocommerce div.product .woocommerce-product-details__short-description li::marker { color: #009DEA; }

.woocommerce div.product form.cart {
	display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px;
	margin: 0 0 24px;
}
/* WooCommerce core adds a ::before/::after clearfix on form.cart. Since we
 * lay the cart out with flexbox, those pseudo-elements become real flex items
 * (two phantom cells, each consuming a gap) and knock the quantity field and
 * capacity squares out of alignment. The clearfix is redundant on a flex
 * container, so drop them. */
.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after { content: none; display: none; }
.woocommerce div.product form.cart .quantity {
	margin: 0 !important;
	display: flex; align-items: center;
}
.woocommerce div.product form.cart .quantity input.qty {
	width: 78px;
	height: 52px;
	padding: 0 12px;
	font: 700 16px/1.2 'Inter', sans-serif;
	color: #003968;
	text-align: center;
	background: #fff;
	border: 1.5px solid #dde3ec;
	border-radius: 8px;
	-moz-appearance: textfield;
}
.woocommerce div.product form.cart .quantity input.qty:focus {
	outline: none; border-color: #009DEA;
	box-shadow: 0 0 0 4px rgba(0, 157, 234, .15);
}
.woocommerce div.product .single_add_to_cart_button {
	flex: 0 0 auto;
	min-width: 180px;
	background: #71CDA1 !important;
	color: #003968 !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	text-transform: uppercase !important;
	letter-spacing: .5px !important;
	border-radius: 4px !important;
	padding: 0 32px !important;
	min-height: 52px !important;
	border: 0 !important;
	transition: background .15s, transform .1s !important;
}
.woocommerce div.product .single_add_to_cart_button:hover { background: #5bb88e !important; transform: translateY(-1px); }

/* -------------------------------------------------------------------------
 * Variable products — capacity selector (e.g. 1L / 5L / 10L).
 *
 * The native WooCommerce variations form is functional but unstyled. Align it
 * with the single-product layout: the attribute dropdown matches the quantity
 * field, the live variation price reuses the .price treatment, and the
 * quantity + add-to-cart row mirrors the simple-product cart row.
 * ------------------------------------------------------------------------- */
.woocommerce div.product form.cart.variations_form {
	flex-direction: column;
	align-items: stretch;
}
.woocommerce div.product form.cart table.variations {
	margin: 0 0 18px;
	border: 0;
	width: auto;
}
.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart table.variations tr {
	display: flex; flex-wrap: wrap; align-items: center; gap: 14px;
}
.woocommerce div.product form.cart table.variations th.label,
.woocommerce div.product form.cart table.variations td.value {
	display: flex; align-items: center; gap: 10px;
	padding: 0; border: 0; background: none;
}
.woocommerce div.product form.cart table.variations th.label label {
	margin: 0; font-weight: 700; color: #003968; font-size: 15px;
}
.woocommerce div.product form.cart table.variations td.value { position: relative; }
.woocommerce div.product form.cart table.variations select {
	height: 52px;
	min-width: 200px;
	padding: 0 42px 0 14px;
	font: 700 16px/1.2 'Inter', sans-serif;
	color: #003968;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%236b7a91' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center;
	border: 1.5px solid #dde3ec;
	border-radius: 8px;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	cursor: pointer;
}
.woocommerce div.product form.cart table.variations select:focus {
	outline: none; border-color: #009DEA;
	box-shadow: 0 0 0 4px rgba(0, 157, 234, .15);
}
.woocommerce div.product form.cart .reset_variations { display: none !important; }
.woocommerce div.product .single_variation .price {
	margin: 0 0 16px !important;
}
.woocommerce div.product .woocommerce-variation-add-to-cart {
	display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px;
}

/* -------------------------------------------------------------------------
 * Linked products — capacity selector across separate products.
 *
 * The shop also sells the same solution as one simple product per size, tied
 * together via the "Capacități / produse asociate" metabox. This renders under
 * the short description as a button row: the current size is highlighted, the
 * others link to their own product page. Mirrors the variable-product selector's
 * box treatment (same border, radius and brand navy) so both read identically.
 * ------------------------------------------------------------------------- */
.cc-capacity-selector {
	margin: 0 0 22px;
}
.cc-capacity-selector__label {
	display: block;
	font-weight: 700; font-size: 15px;
	color: #003968;
	margin: 0 0 10px;
}
.cc-capacity-selector__options {
	display: flex; flex-wrap: wrap; gap: 10px;
}
.cc-capacity-option {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px;
	padding: 0 20px;
	font: 700 15px/1.2 'Inter', sans-serif;
	color: #003968;
	text-decoration: none;
	background: #fff;
	border: 1.5px solid #dde3ec;
	border-radius: 8px;
	transition: border-color .15s, color .15s, background .15s, box-shadow .15s;
}
a.cc-capacity-option:hover {
	border-color: #009DEA;
	color: #009DEA;
}
a.cc-capacity-option:focus-visible {
	outline: none;
	border-color: #009DEA;
	box-shadow: 0 0 0 4px rgba(0, 157, 234, .15);
}
.cc-capacity-option.is-active {
	border-color: #009DEA;
	color: #009DEA;
	background: rgba(0, 157, 234, .08);
	cursor: default;
}

/* -------------------------------------------------------------------------
 * Themed dialog — replaces WooCommerce's native window.alert() shown when a
 * variable product is added to the cart before a variation is chosen (the
 * "select an option" handler in assets/js/main.js). Reuses the brand palette
 * and the add-to-cart button treatment so it reads as part of the shop.
 * ------------------------------------------------------------------------- */
.cc-modal {
	position: fixed; inset: 0;
	z-index: 10000;
	display: flex; align-items: center; justify-content: center;
	padding: 20px;
	background: rgba(0, 57, 104, .45);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity .2s ease;
}
.cc-modal.is-open { opacity: 1; }
.cc-modal__box {
	width: 100%; max-width: 420px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 18px 50px rgba(0, 57, 104, .28);
	padding: 32px 28px 28px;
	text-align: center;
	transform: translateY(12px) scale(.97);
	transition: transform .2s ease;
}
.cc-modal.is-open .cc-modal__box { transform: translateY(0) scale(1); }
.cc-modal__icon {
	width: 56px; height: 56px;
	margin: 0 auto 16px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: rgba(0, 157, 234, .12);
	color: #009DEA;
}
.cc-modal__title {
	margin: 0 0 8px;
	font-size: 20px; font-weight: 800;
	color: #003968;
}
.cc-modal__text {
	margin: 0 0 24px;
	font-size: 15px; line-height: 1.5;
	color: #5a6a7d;
}
.cc-modal__btn {
	min-width: 160px;
	background: #71CDA1;
	color: #003968;
	font-weight: 700; font-size: 15px;
	text-transform: uppercase; letter-spacing: .5px;
	border: 0; border-radius: 4px;
	padding: 0 28px; min-height: 48px;
	cursor: pointer;
	transition: background .15s, transform .1s;
}
.cc-modal__btn:hover { background: #5bb88e; transform: translateY(-1px); }
.cc-modal__btn:focus-visible { outline: 3px solid rgba(0, 157, 234, .4); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
	.cc-modal, .cc-modal__box { transition: none; }
}

.woocommerce div.product .stock {
	font-weight: 700; font-size: 13px;
	padding: 4px 0;
	margin: 0 0 12px;
}
.woocommerce div.product .stock.in-stock { color: #2d8c5e; }
.woocommerce div.product .stock.out-of-stock { color: #c0392b; }

.woocommerce div.product .product_meta {
	font-size: 13px; color: #6b7a91;
	padding: 18px 0 0;
	border-top: 1px solid #e8eef6;
}
.woocommerce div.product .product_meta > span {
	display: block;
	margin: 0 0 6px;
}
.woocommerce div.product .product_meta a {
	color: #003968;
	font-weight: 600;
	text-decoration: none;
}
.woocommerce div.product .product_meta a:hover { color: #009DEA; }
.woocommerce div.product .product_meta .sku_wrapper .sku,
.woocommerce div.product .product_meta .posted_in a,
.woocommerce div.product .product_meta .tagged_as a { color: #003968; }

/* Single product — tabs */
.woocommerce div.product .woocommerce-tabs {
	clear: both;
	margin: 16px 0 48px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex; flex-wrap: wrap; gap: 4px;
	padding: 0 !important;
	margin: 0 0 0 !important;
	border-bottom: 2px solid #e8eef6 !important;
	list-style: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	bottom: -2px;
	position: relative;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 14px 22px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	color: #6b7a91 !important;
	text-transform: uppercase;
	letter-spacing: .4px;
	text-decoration: none !important;
	border-bottom: 2px solid transparent !important;
	transition: color .15s, border-color .15s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: #003968 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #003968 !important;
	border-bottom-color: #009DEA !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
	padding: 28px 4px 0 !important;
	color: #4a5d78;
	font-size: 15px;
	line-height: 1.75;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-size: 22px; color: #003968; font-weight: 800;
	margin: 0 0 14px;
}
/* The global `* { padding: 0 }` reset strips list indentation, leaving bullets
   flush against the text. Restore default indentation inside the description
   tab so lists read as lists (mirrors .article-content ul/ol in article.css). */
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--description ul,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--description ol {
	padding-left: 24px;
	margin: 0 0 18px;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--description li {
	margin-bottom: 8px;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--description li::marker {
	color: #009DEA;
}
.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes th { background: #f5f9ff; color: #003968; }

/* Description media — videos / technical images embedded in the long description */
.cc-desc-media {
	margin: 28px 0 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 18px;
}
.cc-desc-media .cc-video {
	position: relative;
	/* Lay the media items in a row; each holds 16:9 and is capped so it sits
	   inside the description instead of spanning the full column ("nu încape în
	   cadru"). aspect-ratio holds the frame at any width (the old padding-bottom %
	   was measured from the parent's width, which broke once the box was capped). */
	flex: 1 1 320px;
	max-width: 560px;
	aspect-ratio: 16 / 9;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #e8eef6;
	background: #000;
}
/* Scoped under div.product so it beats the generic capped-iframe rule below
   (which otherwise re-imposes max-width:560px + aspect-ratio and breaks the
   absolute fill inside the .cc-video frame). */
.woocommerce div.product .cc-desc-media .cc-video iframe {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	max-width: none;
	margin: 0;
	aspect-ratio: auto;
	border: 0;
}
.cc-desc-media figure { margin: 0; }
.cc-desc-media img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border-radius: 10px;
	border: 1px solid #e8eef6;
}

/* Presentation videos embedded in the product description (raw YouTube/oEmbed
   iframes or <video>). Without a constraint a 560px embed overflowed its column
   on desktop ("nu încape în cadru"); cap the width and keep a 16:9 frame so it
   sits neatly inside the description on every viewport. */
.woocommerce div.product .woocommerce-product-details__short-description iframe,
.woocommerce div.product .woocommerce-product-details__short-description video,
.woocommerce div.product .woocommerce-Tabs-panel iframe,
.woocommerce div.product .woocommerce-Tabs-panel video,
.woocommerce div.product .woocommerce-Tabs-panel .wp-block-embed iframe {
	display: block;
	width: 100%;
	max-width: 560px;
	aspect-ratio: 16 / 9;
	height: auto;
	margin: 18px auto 0;
	border: 0;
	border-radius: 10px;
}

/* Up-sells / Related products */
.woocommerce .related,
.woocommerce .upsells {
	clear: both;
	padding: 72px 0 16px;
}
.woocommerce .related > h2,
.woocommerce .upsells > h2 {
	font-size: 24px; font-weight: 800; color: #003968;
	margin: 0 0 22px;
}

/* ===== Account dashboard ===== */
.woocommerce-account .woocommerce-MyAccount-navigation {
	margin-bottom: 24px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none; padding: 8px; margin: 0;
	background: #f5f9ff; border-radius: 14px; overflow: hidden;
	border: 1px solid #e2eaf4;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: flex; align-items: center; gap: 10px;
	padding: 12px 16px; margin: 2px 0;
	font-weight: 600; font-size: 14px;
	color: #003968;
	text-decoration: none;
	border-radius: 8px;
	transition: background .15s, color .15s, transform .1s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	background: #e3f2fd; color: #009DEA; transform: translateX(2px);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: #003968; color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
	content: '';
	width: 18px; height: 18px;
	background: currentColor;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-position: center; mask-position: center;
	-webkit-mask-size: contain; mask-size: contain;
	opacity: .9; flex-shrink: 0;
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='7' height='7'/><rect x='14' y='3' width='7' height='7'/><rect x='14' y='14' width='7' height='7'/><rect x='3' y='14' width='7' height='7'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='7' height='7'/><rect x='14' y='3' width='7' height='7'/><rect x='14' y='14' width='7' height='7'/><rect x='3' y='14' width='7' height='7'/></svg>");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/><path d='M3 6h18'/><path d='M16 10a4 4 0 0 1-8 0'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/><path d='M3 6h18'/><path d='M16 10a4 4 0 0 1-8 0'/></svg>");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='15' x2='12' y2='3'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='15' x2='12' y2='3'/></svg>");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/><polyline points='16 17 21 12 16 7'/><line x1='21' y1='12' x2='9' y2='12'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/><polyline points='16 17 21 12 16 7'/><line x1='21' y1='12' x2='9' y2='12'/></svg>");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--wishlist a::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--discount-codes a::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/><line x1='7' y1='7' x2='7.01' y2='7'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/><line x1='7' y1='7' x2='7.01' y2='7'/></svg>");
}

.woocommerce-account .woocommerce-MyAccount-content {
	background: #fff;
	border: 1px solid #e2eaf4;
	border-radius: 14px;
	padding: 32px 36px;
	box-shadow: 0 4px 18px rgba(0, 57, 104, .04);
}
.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-MyAccount-content > h3 {
	font-size: 22px; font-weight: 800; color: #003968;
	margin: 0 0 8px;
	padding-bottom: 14px;
	border-bottom: 2px solid #e8eef6;
}
.woocommerce-account .woocommerce-MyAccount-content > p {
	color: #555;
	margin: 14px 0;
	line-height: 1.7;
}
.woocommerce-account .woocommerce-MyAccount-content .button {
	margin-top: 8px;
}

/* Account layout — two columns. Apply directly to the children so it works no
   matter how WP/WC wraps the shortcode output (entry-content, p tags from
   wpautop, plugin wrappers, etc.). Float pattern is the most resilient. */
@media (min-width: 720px) {
	.woocommerce-account .woocommerce-MyAccount-navigation {
		float: left !important;
		width: 240px !important;
		margin: 0 32px 0 0 !important;
		box-sizing: border-box;
	}
	.woocommerce-account .woocommerce-MyAccount-content {
		float: right !important;
		width: calc(100% - 272px) !important;
		box-sizing: border-box;
		min-width: 0;
	}
	/* Clearfix on the .woocommerce wrapper so it contains the floats */
	.woocommerce-account .woocommerce::after,
	.woocommerce-account .cc-wc-entry::after,
	.woocommerce-account .entry-content::after {
		content: '';
		display: block;
		clear: both;
	}
	.woocommerce-account .woocommerce > .woocommerce-notices-wrapper {
		clear: both;
		float: none;
		width: 100%;
		margin-bottom: 16px;
	}
}

/* Hide the generic entry-title leaking through from page.php on WC pages —
   we render our own .cc-shop-header instead. */
.woocommerce-account .cc-wc-entry > .entry-title,
.woocommerce-cart .cc-wc-entry > .entry-title,
.woocommerce-checkout .cc-wc-entry > .entry-title,
.woocommerce-account .entry-title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title { display: none; }

/* Wrappers */
.cc-wc-entry { width: 100%; box-sizing: border-box; }
.cc-wc-wrap .cc-wc-entry { padding: 0; }

/* ===== Forms: inputs, selects, textareas (account, checkout, login, register) ===== */
.woocommerce form .form-row,
.woocommerce-page form .form-row {
	margin: 0 0 18px;
	padding: 0;
}
.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.woocommerce form-row label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #003968;
	margin-bottom: 6px;
	letter-spacing: .2px;
}
.woocommerce form .form-row label .required,
.woocommerce-page form .form-row label .required {
	color: #d9534f;
	text-decoration: none;
	margin-left: 2px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce .select2-container--default .select2-selection--multiple,
.woocommerce-checkout #order_comments,
.woocommerce-EditAccountForm input.input-text,
.woocommerce-EditAccountForm input[type="password"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm select,
.woocommerce-EditAccountForm textarea,
.woocommerce-ResetPassword input.input-text {
	width: 100%;
	padding: 12px 16px;
	font: 400 15px/1.4 'Inter', sans-serif;
	color: #1a2e4a;
	background: #fff;
	border: 1.5px solid #dde3ec;
	border-radius: 10px;
	box-shadow: none;
	outline: none;
	transition: border-color .15s, box-shadow .15s, background .15s;
	box-sizing: border-box;
	min-height: 46px;
}
.woocommerce form .form-row input.input-text:hover,
.woocommerce form .form-row textarea:hover,
.woocommerce form .form-row select:hover,
.woocommerce-EditAccountForm input:hover,
.woocommerce-EditAccountForm select:hover,
.woocommerce-EditAccountForm textarea:hover {
	border-color: #b7c2d2;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-EditAccountForm input:focus,
.woocommerce-EditAccountForm select:focus,
.woocommerce-EditAccountForm textarea:focus {
	border-color: #009DEA;
	background: #fff;
	box-shadow: 0 0 0 4px rgba(0, 157, 234, .15);
}
.woocommerce form .form-row input::placeholder,
.woocommerce form .form-row textarea::placeholder {
	color: #98a4b6;
}

.woocommerce form .form-row.form-row-first,
.woocommerce form .form-row.form-row-last,
.woocommerce-page form .form-row.form-row-first,
.woocommerce-page form .form-row.form-row-last {
	width: calc(50% - 10px);
}
.woocommerce form .form-row.form-row-first { margin-right: 10px; }
.woocommerce form .form-row.form-row-last { margin-left: 10px; }

.woocommerce form fieldset {
	border: 1px solid #e2eaf4;
	border-radius: 12px;
	padding: 20px 24px 8px;
	margin: 24px 0;
	background: #fafcff;
}
.woocommerce form fieldset legend {
	font-size: 14px; font-weight: 700;
	color: #003968;
	text-transform: uppercase; letter-spacing: .5px;
	padding: 0 8px;
}

.woocommerce form .form-row .description {
	font-size: 12px; color: #7d8a9c;
	margin-top: 6px;
	line-height: 1.5;
}

.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register,
.woocommerce-ResetPassword {
	background: #fff;
	border: 1px solid #e2eaf4 !important;
	border-radius: 16px !important;
	padding: 28px 28px 22px;
	box-shadow: 0 10px 30px rgba(0, 57, 104, .07);
	box-sizing: border-box;
	margin: 0;
}

/* ===== My Account — compact centered login card =====
   The login template wraps everything in .cc-login-shell. We use that to
   center the card on screen, both horizontally and vertically. */
.cc-login-shell {
	min-height: 60vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px 0;
	width: 100%;
}
.cc-login-shell .woocommerce-form-login,
.woocommerce .cc-login-shell form.woocommerce-form-login {
	max-width: 440px;
	width: 100%;
	margin: 0 !important;
	position: relative;
	padding: 40px 30px 26px !important;
}
/* Decorative user badge sitting on top of the card */
.cc-login-shell .woocommerce-form-login::before {
	content: '';
	position: absolute;
	box-sizing: border-box;
	top: -28px;
	left: 50%;
	transform: translateX(-50%);
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #003968 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>") center/28px no-repeat;
	border: 4px solid #fff;
	box-shadow: 0 6px 14px rgba(0, 57, 104, .18);
}
/* Section title now lives inside the card */
.cc-login-card__title {
	margin: 0 0 20px !important;
	text-align: center;
	font-size: 22px;
	font-weight: 800;
	color: #003968;
	letter-spacing: .2px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e8eef6;
}
/* Sign-up footer at the bottom of the card */
.cc-login-card__signup {
	margin: 18px 0 0 !important;
	padding: 16px 0 0;
	border-top: 1px solid #e8eef6;
	text-align: center;
	font-size: 13px;
	color: #4a5d78;
}
.cc-login-card__signup a {
	color: #009DEA;
	font-weight: 700;
	text-decoration: none;
	margin-left: 4px;
}
.cc-login-card__signup a:hover { text-decoration: underline; }
/* When the register form is shown side-by-side, no need to advertise it */
.cc-login-shell--two .cc-login-card__signup { display: none; }

/* Hide any stray WC h2 that might still sit outside the card */
.woocommerce-account .woocommerce > h2 { display: none; }

/* Tighter form rows inside the login card */
.woocommerce-form-login .form-row { margin: 0 0 14px; }
.woocommerce-form-login .form-row label {
	font-size: 12.5px;
	margin-bottom: 5px;
}
.woocommerce-form-login input.input-text {
	padding: 10px 14px;
	min-height: 42px;
	font-size: 14px;
	border-radius: 8px;
}
/* Eye toggle inside the password field */
.woocommerce-form-login .password-input { display: block; position: relative; }
.woocommerce-form-login .show-password-input {
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
}

/* Submit row: stack the button (full-width) above the "remember me" checkbox */
.woocommerce-form-login .form-row:has(button.woocommerce-form-login__submit) {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	margin-bottom: 6px;
}
.woocommerce-form-login button.woocommerce-form-login__submit {
	width: 100%;
	padding: 12px 18px !important;
	font-size: 14px !important;
	border-radius: 8px !important;
	float: none !important;
	order: 1;
}
.woocommerce-form-login .woocommerce-form-login__rememberme {
	order: 2;
	margin: 2px 0 0 !important;
	font-size: 13px;
	color: #4a5d78;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* Forgot password link — centered footer line */
.woocommerce-form-login .lost_password,
.woocommerce-ResetPassword + .lost_password,
.woocommerce-form .lost_password {
	text-align: center;
	margin: 16px 0 0;
	font-size: 13px;
}
.woocommerce-form-login .lost_password a,
.woocommerce-form .lost_password a {
	color: #009DEA;
	font-weight: 600;
	font-size: 13px;
	text-decoration: none;
}
.woocommerce-form-login .lost_password a:hover,
.woocommerce-form .lost_password a:hover { text-decoration: underline; }

.woocommerce-form-register .woocommerce-privacy-policy-text {
	display: block;
	margin-top: 14px;
	font-size: 13px;
	color: #555;
}

/* Register form gets the same card treatment when registration is enabled */
.cc-login-shell .woocommerce-form-register,
.woocommerce .cc-login-shell form.woocommerce-form-register {
	max-width: 440px;
	width: 100%;
	margin: 0 !important;
	padding: 36px 30px 26px !important;
}

/* When WC shows login + register side-by-side (registration enabled),
   keep both cards centered and capped — no more full-width stretching. */
@media (min-width: 880px) {
	.cc-login-shell--two { align-items: flex-start; }
	.cc-login-shell--two .u-columns {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: flex-start;
		gap: 28px;
		margin: 0 !important;
		width: 100%;
	}
	.cc-login-shell--two .u-columns::before,
	.cc-login-shell--two .u-columns::after { display: none !important; }
	.cc-login-shell--two .u-columns .u-column1,
	.cc-login-shell--two .u-columns .u-column2 {
		float: none !important;
		width: 100% !important;
		max-width: 440px;
		margin: 0 !important;
		padding: 0 !important;
	}
}

@media (max-width: 600px) {
	.woocommerce form .form-row.form-row-first,
	.woocommerce form .form-row.form-row-last {
		width: 100%;
		margin-left: 0; margin-right: 0;
	}
	.woocommerce-account .woocommerce-MyAccount-content { padding: 22px 18px; }
}

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	background: #71CDA1; color: #003968 !important;
	font-weight: 700; border-radius: 4px;
	text-transform: uppercase; letter-spacing: .3px;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background: #5bb88e; }
.woocommerce a.button.alt, .woocommerce button.button.alt {
	background: #003968; color: #fff !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: #002a4d; }

/* Messages */
.woocommerce-message, .woocommerce-info {
	border-top-color: #009DEA;
	background: #e8f4fd;
	color: #003968;
}
.woocommerce-error { border-top-color: #d9534f; }

/* ===================================================================
   Cart & Checkout — Clever Clean skin
   Covers both the classic (shortcode) templates and the modern block
   based cart/checkout. The theme color tokens are:
     #003968  primary dark blue
     #009DEA  accent blue
     #71CDA1  mint green CTA
     #e8eef6 / #e2eaf4  card border greys
   =================================================================== */

/* ----- Shared page header (cart + checkout) ----- */
.woocommerce-cart .cc-wc-wrap,
.woocommerce-checkout .cc-wc-wrap {
	padding-top: 32px;
}
.woocommerce-cart .cc-wc-entry::before,
.woocommerce-checkout .cc-wc-entry::before {
	content: attr(data-cc-title);
}
/* Page heading — render via ::before isn't ideal across themes; use a
   real h1 emitted by the template wrappers instead. Provide a styled
   .cc-page-title class that templates can use; if not present, the WC
   shop_table/sections still render fine. */
.cc-page-title {
	font-size: 28px;
	font-weight: 800;
	color: #003968;
	margin: 0 0 22px;
	padding-bottom: 14px;
	border-bottom: 2px solid #e8eef6;
}

/* ===== Classic cart table ===== */
.woocommerce table.shop_table {
	border: 1px solid #e8eef6;
	border-radius: 14px;
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	box-shadow: 0 4px 18px rgba(0, 57, 104, .04);
	margin: 0 0 24px;
	width: 100%;
}
.woocommerce table.shop_table th {
	background: #f5f9ff;
	color: #003968;
	font-weight: 800;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .5px;
	padding: 14px 18px;
	border: 0;
	border-bottom: 1px solid #e8eef6;
	text-align: left;
}
.woocommerce table.shop_table td {
	padding: 18px;
	border: 0;
	border-bottom: 1px solid #eef2f8;
	vertical-align: middle;
	color: #1a2e4a;
	font-size: 14.5px;
	background: #fff;
}
.woocommerce table.shop_table tr:last-child td { border-bottom: 0; }
.woocommerce table.shop_table tbody tr:hover td { background: #fafcff; }

/* Cart row — product image, title, price, qty, subtotal, remove */
.woocommerce-cart-form .product-remove { width: 44px; text-align: center; }
.woocommerce-cart-form .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	font-size: 0;
	line-height: 1;
	border-radius: 50%;
	background: #f1f4f9;
	color: #6b7a91 !important;
	border: 1px solid #e2eaf4;
	transition: background .15s, color .15s, border-color .15s, transform .15s;
	position: relative;
}
.woocommerce-cart-form .product-remove a.remove::before {
	content: '';
	width: 12px; height: 12px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>") center/contain no-repeat;
	        mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>") center/contain no-repeat;
}
.woocommerce-cart-form .product-remove a.remove:hover {
	background: #fde8ea;
	color: #c0392b !important;
	border-color: #f5c2c8;
	transform: scale(1.08);
}
.woocommerce-cart-form .product-thumbnail { width: 90px; }
.woocommerce-cart-form .product-thumbnail img {
	width: 70px !important;
	height: 70px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid #e8eef6;
	background: #fff;
}
.woocommerce-cart-form .product-name a {
	color: #003968;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
}
.woocommerce-cart-form .product-name a:hover { color: #009DEA; }
.woocommerce-cart-form .product-name .variation {
	margin-top: 6px;
	font-size: 12px;
	color: #6b7a91;
}
.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal {
	font-weight: 700;
	color: #003968;
	font-size: 15px;
}
.woocommerce-cart-form .product-subtotal { color: #009DEA; }

/* Quantity stepper inside the cart row */
.woocommerce-cart-form .product-quantity { width: 130px; }
.woocommerce-cart-form .quantity {
	display: inline-flex;
	align-items: center;
	background: #fff;
	border: 1.5px solid #dde3ec;
	border-radius: 8px;
	overflow: hidden;
}
.woocommerce-cart-form .quantity input.qty {
	width: 56px;
	height: 40px;
	padding: 0;
	font: 700 15px/1 'Inter', sans-serif;
	color: #003968;
	text-align: center;
	background: transparent;
	border: 0;
	-moz-appearance: textfield;
}
.woocommerce-cart-form .quantity input.qty:focus {
	outline: none;
	box-shadow: 0 0 0 4px rgba(0, 157, 234, .15);
}

/* Coupon + update row */
.woocommerce-cart-form .actions {
	background: #f5f9ff !important;
	padding: 18px !important;
}
.woocommerce-cart-form .actions .coupon {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.woocommerce-cart-form .actions .coupon label { display: none; }
.woocommerce-cart-form .actions .coupon input#coupon_code {
	width: 200px;
	padding: 10px 14px;
	font: 500 14px/1.3 'Inter', sans-serif;
	color: #1a2e4a;
	background: #fff;
	border: 1.5px solid #dde3ec;
	border-radius: 8px;
	min-height: 42px;
	box-sizing: border-box;
	transition: border-color .15s, box-shadow .15s;
}
.woocommerce-cart-form .actions .coupon input#coupon_code::placeholder { color: #98a4b6; }
.woocommerce-cart-form .actions .coupon input#coupon_code:focus {
	outline: none;
	border-color: #009DEA;
	box-shadow: 0 0 0 4px rgba(0, 157, 234, .15);
}
.woocommerce-cart-form .actions button[name="apply_coupon"] {
	background: #003968 !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: .4px !important;
	padding: 10px 18px !important;
	border-radius: 8px !important;
	min-height: 42px;
	border: 0 !important;
	transition: background .15s, transform .1s;
}
.woocommerce-cart-form .actions button[name="apply_coupon"]:hover {
	background: #002a4d !important;
	transform: translateY(-1px);
}
.woocommerce-cart-form .actions button[name="update_cart"] {
	background: #71CDA1 !important;
	color: #003968 !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: .4px !important;
	padding: 10px 18px !important;
	border-radius: 8px !important;
	min-height: 42px;
	border: 0 !important;
	float: right;
	transition: background .15s, transform .1s;
}
.woocommerce-cart-form .actions button[name="update_cart"]:hover {
	background: #5bb88e !important;
	transform: translateY(-1px);
}
.woocommerce-cart-form .actions button[name="update_cart"][disabled] {
	opacity: .55;
	cursor: not-allowed;
}

/* ===== Cart collaterals (totals + cross-sells) ===== */
.woocommerce .cart-collaterals { width: 100%; }
.woocommerce .cart-collaterals::after { content: ''; display: block; clear: both; }
.woocommerce .cart-collaterals .cart_totals {
	float: right;
	width: 100%;
	max-width: 440px;
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 14px;
	padding: 26px 28px;
	box-shadow: 0 4px 18px rgba(0, 57, 104, .06);
	box-sizing: border-box;
}
.woocommerce .cart-collaterals .cart_totals h2 {
	font-size: 18px;
	font-weight: 800;
	color: #003968;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 2px solid #e8eef6;
}
.woocommerce .cart-collaterals .cart_totals table.shop_table {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	background: transparent;
}
.woocommerce .cart-collaterals .cart_totals table.shop_table tr { background: transparent; }
.woocommerce .cart-collaterals .cart_totals table.shop_table th,
.woocommerce .cart-collaterals .cart_totals table.shop_table td {
	background: transparent;
	border: 0;
	border-bottom: 1px solid #eef2f8;
	padding: 12px 0;
	font-size: 14px;
	color: #4a5d78;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
}
.woocommerce .cart-collaterals .cart_totals table.shop_table th {
	color: #003968;
	font-weight: 700;
	width: 45%;
}
.woocommerce .cart-collaterals .cart_totals table.shop_table tr.order-total th,
.woocommerce .cart-collaterals .cart_totals table.shop_table tr.order-total td {
	padding-top: 18px;
	border-top: 2px solid #e8eef6;
	border-bottom: 0;
	font-size: 17px;
	font-weight: 800;
	color: #003968;
}
.woocommerce .cart-collaterals .cart_totals table.shop_table tr.order-total .amount {
	color: #009DEA;
	font-size: 22px;
}

/* Shipping calculator inside totals */
.woocommerce .cart-collaterals .shipping-calculator-button {
	color: #009DEA;
	font-weight: 600;
	text-decoration: none;
	font-size: 13px;
	display: inline-block;
	margin-top: 6px;
}
.woocommerce .cart-collaterals .shipping-calculator-button:hover { text-decoration: underline; }
.woocommerce .cart-collaterals .shipping-calculator-form {
	margin-top: 14px;
	padding: 14px;
	background: #f5f9ff;
	border-radius: 10px;
}
.woocommerce .cart-collaterals .shipping-calculator-form .form-row { margin: 0 0 12px; }
.woocommerce .cart-collaterals .shipping-calculator-form .form-row:last-child { margin-bottom: 0; }

.woocommerce ul#shipping_method,
.woocommerce-checkout-review-order ul#shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce ul#shipping_method li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 6px;
	padding: 8px 10px;
	border-radius: 8px;
	transition: background .15s;
}
.woocommerce ul#shipping_method li:hover { background: #f5f9ff; }
.woocommerce ul#shipping_method li input[type="radio"] {
	flex: 0 0 auto;
	margin: 3px 0 0;
}
.woocommerce ul#shipping_method li label {
	flex: 1 1 auto;
	margin: 0;
	color: #1a2e4a;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.4;
}
.woocommerce ul#shipping_method li label .amount { font-weight: 700; }

/* Proceed to checkout button */
.woocommerce .cart-collaterals .checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	margin: 20px 0 0;
	padding: 14px 22px !important;
	background: #71CDA1 !important;
	color: #003968 !important;
	font-weight: 800 !important;
	font-size: 15px !important;
	text-transform: uppercase !important;
	letter-spacing: .5px !important;
	border-radius: 8px !important;
	text-align: center !important;
	border: 0 !important;
	min-height: 52px;
	box-shadow: 0 4px 12px rgba(113, 205, 161, .35);
	transition: background .15s, transform .1s, box-shadow .15s !important;
}
.woocommerce .cart-collaterals .checkout-button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	background: #5bb88e !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(113, 205, 161, .45);
}

/* Cart cross-sells */
.woocommerce .cart-collaterals .cross-sells {
	clear: both;
	padding-top: 48px;
	width: 100%;
}
.woocommerce .cart-collaterals .cross-sells > h2 {
	font-size: 22px;
	font-weight: 800;
	color: #003968;
	margin: 0 0 18px;
}

/* "Return to shop" empty cart button */
.woocommerce .cart-empty {
	text-align: center;
	font-size: 18px;
	color: #003968;
	font-weight: 600;
	padding: 32px 0 16px;
}
.woocommerce .return-to-shop {
	text-align: center;
	margin: 0 0 24px;
}
.woocommerce .return-to-shop .button {
	display: inline-block;
	background: #003968 !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	text-transform: uppercase !important;
	letter-spacing: .4px !important;
	padding: 13px 28px !important;
	border-radius: 8px !important;
	border: 0 !important;
	transition: background .15s, transform .1s;
}
.woocommerce .return-to-shop .button:hover {
	background: #009DEA !important;
	transform: translateY(-1px);
}

/* ===== Classic checkout layout ===== */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	gap: 32px;
	align-items: start;
}
.woocommerce-checkout form.checkout #customer_details { min-width: 0; }
.woocommerce-checkout form.checkout #customer_details .col-1,
.woocommerce-checkout form.checkout #customer_details .col-2 {
	width: 100% !important;
	float: none !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 14px;
	padding: 24px 26px;
	box-shadow: 0 4px 18px rgba(0, 57, 104, .04);
	margin: 0 0 20px;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
	font-size: 18px;
	font-weight: 800;
	color: #003968;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 2px solid #e8eef6;
}
.woocommerce-checkout .woocommerce-shipping-fields h3 label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 18px;
	color: #003968;
}

/* Checkout coupon / login prompts */
.woocommerce-checkout .woocommerce-info {
	background: #e8f4fd;
	border: 1px solid #c8e3f7;
	border-top: 3px solid #009DEA;
	border-radius: 10px;
	padding: 14px 18px;
	color: #003968;
	font-size: 14px;
	margin: 0 0 18px;
}
.woocommerce-checkout .woocommerce-info a {
	color: #009DEA;
	font-weight: 700;
	text-decoration: none;
}
.woocommerce-checkout .woocommerce-info a:hover { text-decoration: underline; }

.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login {
	background: #fff;
	border: 1px solid #e2eaf4;
	border-radius: 12px;
	padding: 20px 22px;
	margin: 0 0 18px;
	box-shadow: 0 4px 14px rgba(0, 57, 104, .04);
}
.woocommerce-checkout form.checkout_coupon .form-row,
.woocommerce-checkout form.login .form-row { margin-bottom: 12px; }

/* Order review (right column) */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
	margin: 0;
}
.woocommerce-checkout #order_review_heading {
	font-size: 18px;
	font-weight: 800;
	color: #003968;
	text-transform: uppercase;
	letter-spacing: .5px;
	padding: 22px 26px 0;
	background: #fff;
	border: 1px solid #e8eef6;
	border-bottom: 0;
	border-radius: 14px 14px 0 0;
	margin: 0;
	box-shadow: 0 4px 18px rgba(0, 57, 104, .04);
}
.woocommerce-checkout #order_review {
	background: #fff;
	border: 1px solid #e8eef6;
	border-top: 0;
	border-radius: 0 0 14px 14px;
	padding: 18px 26px 26px;
	box-shadow: 0 4px 18px rgba(0, 57, 104, .04);
	position: sticky;
	top: 90px;
}
.woocommerce-checkout #order_review table.shop_table {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: 0 0 16px;
	background: transparent;
}
.woocommerce-checkout #order_review table.shop_table thead { display: none; }
.woocommerce-checkout #order_review table.shop_table td,
.woocommerce-checkout #order_review table.shop_table th {
	background: transparent;
	border: 0;
	border-bottom: 1px solid #eef2f8;
	padding: 10px 0;
	font-size: 14px;
}
.woocommerce-checkout #order_review table.shop_table .cart_item .product-name {
	color: #003968;
	font-weight: 600;
}
.woocommerce-checkout #order_review table.shop_table .cart_item .product-quantity {
	color: #6b7a91;
	font-weight: 600;
	margin-left: 4px;
}
.woocommerce-checkout #order_review table.shop_table .cart_item .product-total {
	color: #003968;
	font-weight: 700;
	white-space: nowrap;
	text-align: right;
}
.woocommerce-checkout #order_review table.shop_table tfoot th,
.woocommerce-checkout #order_review table.shop_table tfoot td {
	padding: 12px 0;
	color: #4a5d78;
}
.woocommerce-checkout #order_review table.shop_table tfoot th {
	color: #003968;
	font-weight: 700;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th,
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td {
	padding-top: 14px;
	border-top: 2px solid #e8eef6;
	border-bottom: 0;
	font-size: 17px;
	font-weight: 800;
	color: #003968;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total .amount {
	color: #009DEA;
	font-size: 20px;
}

/* Payment methods */
.woocommerce-checkout #payment {
	background: #f5f9ff !important;
	border-radius: 12px !important;
	padding: 18px 18px 22px !important;
	margin-top: 16px;
}
.woocommerce-checkout #payment ul.payment_methods {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	background: transparent;
}
.woocommerce-checkout #payment ul.payment_methods li {
	background: #fff;
	border: 1.5px solid #e2eaf4;
	border-radius: 10px;
	padding: 12px 14px;
	margin: 0 0 8px;
	transition: border-color .15s, box-shadow .15s, background .15s;
}
.woocommerce-checkout #payment ul.payment_methods li:hover {
	border-color: #b7c2d2;
	background: #fafcff;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked + label,
.woocommerce-checkout #payment ul.payment_methods li:has(input[type="radio"]:checked) {
	border-color: #009DEA;
	box-shadow: 0 0 0 3px rgba(0, 157, 234, .12);
}
.woocommerce-checkout #payment ul.payment_methods li label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #003968 !important;
	font-weight: 600 !important;
	font-size: 14.5px;
	margin: 0 !important;
	cursor: pointer;
}
.woocommerce-checkout #payment ul.payment_methods li img {
	max-height: 26px;
	width: auto;
	margin: 0 0 0 4px;
	vertical-align: middle;
}
.woocommerce-checkout #payment div.payment_box {
	background: #fff !important;
	border: 1px dashed #c8d4e6;
	border-radius: 8px;
	padding: 12px 14px;
	margin: 10px 0 0 !important;
	color: #4a5d78;
	font-size: 13px;
	line-height: 1.55;
}
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment div.payment_box p:last-child { margin-bottom: 0; }

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
	margin: 16px 0;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid #e2eaf4;
	border-radius: 10px;
	font-size: 13px;
	color: #4a5d78;
}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper a {
	color: #009DEA;
	font-weight: 600;
	text-decoration: none;
}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper a:hover { text-decoration: underline; }

/* Place order — the big hero CTA at the bottom of checkout */
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout button#place_order {
	display: block;
	width: 100%;
	margin: 8px 0 0 !important;
	padding: 16px 24px !important;
	background: #71CDA1 !important;
	color: #003968 !important;
	font-weight: 800 !important;
	font-size: 15px !important;
	text-transform: uppercase !important;
	letter-spacing: .5px !important;
	border-radius: 8px !important;
	border: 0 !important;
	min-height: 56px !important;
	float: none !important;
	box-shadow: 0 4px 14px rgba(113, 205, 161, .4);
	transition: background .15s, transform .1s, box-shadow .15s !important;
}
.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout button#place_order:hover {
	background: #5bb88e !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(113, 205, 161, .5);
}
.woocommerce-checkout #payment #place_order:disabled,
.woocommerce-checkout button#place_order:disabled {
	opacity: .65;
	cursor: not-allowed;
	transform: none;
}

/* Order received / thank-you page */
.woocommerce-order .woocommerce-order-overview,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details {
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 14px;
	padding: 24px 28px;
	margin: 0 0 22px;
	box-shadow: 0 4px 18px rgba(0, 57, 104, .04);
	list-style: none;
}
.woocommerce-order ul.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	padding: 22px 26px;
}
.woocommerce-order ul.woocommerce-order-overview li {
	flex: 1 1 140px;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 13px;
	color: #6b7a91;
	text-transform: uppercase;
	letter-spacing: .5px;
	font-weight: 700;
}
.woocommerce-order ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 4px;
	font-size: 16px;
	color: #003968;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 700;
}
.woocommerce-order .woocommerce-thankyou-order-received {
	font-size: 22px;
	font-weight: 800;
	color: #003968;
	margin: 0 0 18px;
	padding: 22px 26px;
	background: #e8f4fd;
	border: 1px solid #c8e3f7;
	border-left: 4px solid #009DEA;
	border-radius: 12px;
}

/* ===== Block-based cart (wc-block-cart) =====
   WooCommerce already lays out .wc-block-cart with __main + __sidebar via
   its own responsive flex/grid. We only skin the surfaces — do NOT override
   the layout, otherwise the wrapper collapses to a narrow column. */
.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-cart__sidebar { min-width: 0; }

.wc-block-cart-items {
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 4px 18px rgba(0, 57, 104, .04);
}
.wc-block-cart-items thead th {
	background: #f5f9ff !important;
	color: #003968 !important;
	font-weight: 800 !important;
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: .5px;
	padding: 14px 18px !important;
	border-bottom: 1px solid #e8eef6 !important;
}
.wc-block-cart-items__row,
.wc-block-cart-items tbody tr {
	border-bottom: 1px solid #eef2f8;
}
.wc-block-cart-items__row td,
.wc-block-cart-items tbody td {
	padding: 18px !important;
	background: #fff;
}
.wc-block-cart-item__image img,
.wc-block-cart-items img {
	width: 70px !important;
	height: 70px !important;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid #e8eef6;
}
.wc-block-cart-item__product-name,
.wc-block-components-product-name {
	color: #003968 !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	text-decoration: none !important;
}
.wc-block-cart-item__product-name:hover,
.wc-block-components-product-name:hover { color: #009DEA !important; }
.wc-block-components-product-price,
.wc-block-cart-item__total-price-amount,
.wc-block-formatted-money-amount {
	color: #003968;
	font-weight: 700;
}
.wc-block-cart-item__total .wc-block-formatted-money-amount { color: #009DEA; }

/* Quantity selector */
.wc-block-components-quantity-selector {
	border: 1.5px solid #dde3ec !important;
	border-radius: 8px !important;
	background: #fff;
}
.wc-block-components-quantity-selector__input {
	color: #003968 !important;
	font-weight: 700 !important;
}
.wc-block-components-quantity-selector__button {
	color: #003968 !important;
	font-weight: 700 !important;
	transition: background .15s, color .15s;
}
.wc-block-components-quantity-selector__button:hover {
	background: #e8f4fd !important;
	color: #009DEA !important;
}

/* Cart sidebar / totals block.
   Stick the whole sidebar (summary card + "Proceed to checkout" button) as a
   single unit, not just the card — otherwise the pinned card and the
   non-sticky button below it overlap on scroll (the card slides under the
   button). align-self:start keeps the sticky from being stretched full-height
   by the cart's grid layout. */
.wc-block-cart__sidebar,
.wp-block-woocommerce-cart-totals-block {
	position: sticky;
	top: 90px;
	align-self: start;
}
.wc-block-cart__sidebar .wc-block-components-sidebar,
.wp-block-woocommerce-cart-order-summary-block {
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 14px;
	padding: 24px 26px;
	box-shadow: 0 4px 18px rgba(0, 57, 104, .06);
}
.wp-block-woocommerce-cart-order-summary-heading-block {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: #003968 !important;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin: 0 0 16px !important;
	padding-bottom: 12px;
	border-bottom: 2px solid #e8eef6;
}
.wc-block-components-totals-item {
	padding: 10px 0 !important;
	font-size: 14px;
	color: #4a5d78;
	border-bottom: 1px solid #eef2f8;
}
.wc-block-components-totals-item__label { color: #003968; font-weight: 600; }
.wc-block-components-totals-footer-item {
	margin-top: 6px !important;
	padding-top: 16px !important;
	border-top: 2px solid #e8eef6 !important;
	border-bottom: 0 !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	color: #003968 !important;
}
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
	color: #009DEA;
	font-size: 22px;
}

/* Coupon accordion inside totals */
.wc-block-components-totals-coupon {
	margin: 14px 0 !important;
}
.wc-block-components-totals-coupon .wc-block-components-totals-coupon-link {
	color: #009DEA !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	text-decoration: none;
}
.wc-block-components-totals-coupon .wc-block-components-totals-coupon-link:hover { text-decoration: underline; }
.wc-block-components-totals-coupon__form {
	display: flex;
	gap: 8px;
	margin-top: 10px;
}
.wc-block-components-totals-coupon__input input {
	padding: 10px 14px !important;
	border: 1.5px solid #dde3ec !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	color: #1a2e4a !important;
	min-height: 42px !important;
}
.wc-block-components-totals-coupon__input input:focus {
	border-color: #009DEA !important;
	box-shadow: 0 0 0 4px rgba(0, 157, 234, .15) !important;
}
.wc-block-components-totals-coupon__button {
	background: #003968 !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	text-transform: uppercase;
	letter-spacing: .4px;
	padding: 10px 18px !important;
	border-radius: 8px !important;
	min-height: 42px !important;
	border: 0 !important;
}
.wc-block-components-totals-coupon__button:hover { background: #002a4d !important; }

/* Block cart "Proceed to checkout" button */
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-container .wc-block-components-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a {
	display: block;
	width: 100%;
	margin-top: 18px;
	padding: 14px 22px !important;
	background: #71CDA1 !important;
	color: #003968 !important;
	font-weight: 800 !important;
	font-size: 15px !important;
	text-transform: uppercase !important;
	letter-spacing: .5px !important;
	border-radius: 8px !important;
	border: 0 !important;
	min-height: 52px;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: 0 4px 12px rgba(113, 205, 161, .35);
	transition: background .15s, transform .1s, box-shadow .15s !important;
}
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover {
	background: #5bb88e !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(113, 205, 161, .45);
}

/* ===== Block-based checkout (wc-block-checkout) =====
   Same rule as the cart: WC provides the two-column layout natively, we just
   skin it. Forcing grid on the outer .wp-block-woocommerce-checkout wrapper
   creates a phantom second column because the wrapper has only one child. */
.wp-block-woocommerce-checkout .wc-block-checkout__main,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar { min-width: 0; }

.wc-block-components-checkout-step {
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 14px;
	padding: 22px 26px !important;
	margin: 0 0 18px !important;
	box-shadow: 0 4px 18px rgba(0, 57, 104, .04);
}
.wc-block-components-checkout-step__heading,
.wc-block-components-title.wc-block-components-checkout-step__title {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: #003968 !important;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin: 0 0 16px !important;
	padding-bottom: 12px;
	border-bottom: 2px solid #e8eef6;
}
.wc-block-components-checkout-step__container,
.wc-block-components-checkout-step__content {
	padding: 0 !important;
	border: 0 !important;
}
.wc-block-components-checkout-step::before { display: none !important; }
.wc-block-components-checkout-step__heading-content {
	font-size: 13px;
	color: #6b7a91;
}

/* Form fields inside the block checkout */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select select,
.wc-block-components-combobox input {
	padding: 12px 16px !important;
	border: 1.5px solid #dde3ec !important;
	border-radius: 10px !important;
	font-size: 15px !important;
	color: #1a2e4a !important;
	background: #fff !important;
	min-height: 46px !important;
	box-shadow: none !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus,
.wc-block-components-select select:focus,
.wc-block-components-combobox input:focus {
	border-color: #009DEA !important;
	box-shadow: 0 0 0 4px rgba(0, 157, 234, .15) !important;
	outline: none !important;
}
.wc-block-components-text-input label,
.wc-block-components-checkout-step label {
	color: #003968 !important;
	font-weight: 600 !important;
}

/* Payment options in block checkout */
.wc-block-components-payment-method,
.wc-block-components-radio-control__option {
	background: #fff !important;
	border: 1.5px solid #e2eaf4 !important;
	border-radius: 10px !important;
	margin: 0 0 8px !important;
	transition: border-color .15s, box-shadow .15s !important;
}
.wc-block-components-payment-method { padding: 12px 14px !important; }
/* Radio options (shipping + payment selectors): keep only the skin (background/
   border) — do NOT set padding. WooCommerce reserves ~48px on the radio's edge
   for its absolutely-positioned input; overriding it lands the radio on the label. */
.wc-block-components-radio-control__option--checked,
.wc-block-components-payment-method--selected {
	border-color: #009DEA !important;
	box-shadow: 0 0 0 3px rgba(0, 157, 234, .12) !important;
}
.wc-block-components-radio-control__label,
.wc-block-components-payment-method__name {
	color: #003968 !important;
	font-weight: 600 !important;
}

/* Block-checkout actions row — both elements right-aligned, with the
   "Return to Cart" link sitting just before the "Place Order" button. */
.wp-block-woocommerce-checkout-actions-block {
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
	flex-wrap: wrap;
}
/* Return to Cart link — strip WC's stock SVG arrow (it ships positioned in a
   way that lays across the text on some sites) and render a clean chevron
   via ::before instead, so the icon and label always sit side-by-side. */
.wc-block-components-checkout-return-to-cart-button {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	color: #009DEA !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	text-decoration: none !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 8px 4px;
	line-height: 1.2;
	position: relative;
	transition: color .15s;
}
.wc-block-components-checkout-return-to-cart-button,
.wc-block-components-checkout-return-to-cart-button:visited,
.wc-block-components-checkout-return-to-cart-button:hover,
.wc-block-components-checkout-return-to-cart-button:focus,
.wc-block-components-checkout-return-to-cart-button:active {
	text-decoration: none !important;
	text-decoration-line: none !important;
}
.wc-block-components-checkout-return-to-cart-button:hover { color: #003968 !important; }
/* Hide WC's stock arrow SVG/pseudo-element */
.wc-block-components-checkout-return-to-cart-button svg,
.wc-block-components-checkout-return-to-cart-button::after {
	display: none !important;
}
/* Our own chevron — sits cleanly to the left of the label */
.wc-block-components-checkout-return-to-cart-button::before {
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>") center/contain no-repeat;
	        mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>") center/contain no-repeat;
	transition: transform .2s ease;
}
.wc-block-components-checkout-return-to-cart-button:hover::before {
	transform: translateX(-2px);
}

/* Place order button — sized to its text, not stretched */
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: max-content !important;
	max-width: 100%;
	flex: 0 0 auto;
	padding: 14px 36px !important;
	background: #71CDA1 !important;
	color: #003968 !important;
	font-weight: 800 !important;
	font-size: 15px !important;
	text-transform: uppercase !important;
	letter-spacing: .5px !important;
	border-radius: 8px !important;
	border: 0 !important;
	min-height: 52px !important;
	text-align: center !important;
	box-shadow: 0 4px 14px rgba(113, 205, 161, .4) !important;
	transition: background .15s, transform .1s, box-shadow .15s !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button:hover {
	background: #5bb88e !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(113, 205, 161, .5) !important;
}
.wc-block-components-checkout-place-order-button:disabled {
	opacity: .65;
	cursor: not-allowed;
}

@media (max-width: 480px) {
	/* On phones, stack and let Place Order stretch so it stays tap-friendly */
	.wp-block-woocommerce-checkout-actions-block {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
	.wc-block-components-checkout-return-to-cart-button { justify-content: center; }
	.wc-block-components-checkout-place-order-button,
	.wp-block-woocommerce-checkout-actions-block .wc-block-components-button {
		width: 100% !important;
	}
}

/* Checkout sidebar (order summary) — block */
.wc-block-checkout__sidebar .wc-block-components-sidebar,
.wp-block-woocommerce-checkout-order-summary-block {
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 14px;
	padding: 24px 26px !important;
	box-shadow: 0 4px 18px rgba(0, 57, 104, .06);
	position: sticky;
	top: 90px;
}

/* Generic block button — covers stragglers */
.wc-block-components-button.contained,
.wc-block-components-button.outlined {
	font-weight: 700 !important;
	border-radius: 8px !important;
	text-transform: uppercase;
	letter-spacing: .4px;
	padding: 10px 18px !important;
}
.wc-block-components-button.outlined {
	background: transparent !important;
	color: #003968 !important;
	border: 1.5px solid #003968 !important;
}
.wc-block-components-button.outlined:hover {
	background: #003968 !important;
	color: #fff !important;
}

/* Block error / notice surfaces */
.wc-block-components-notice-banner.is-error,
.wc-block-components-validation-error {
	color: #c0392b !important;
}
.wc-block-components-notice-banner.is-success {
	background: #e8f5ed !important;
	border-color: #71CDA1 !important;
	color: #2d8c5e !important;
}

/* ===== Cart & checkout — responsive ===== */
@media (max-width: 900px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: minmax(0, 1fr);
	}
	.woocommerce-checkout #order_review,
	.wc-block-cart__sidebar,
	.wp-block-woocommerce-cart-totals-block,
	.wc-block-cart__sidebar .wc-block-components-sidebar,
	.wp-block-woocommerce-cart-order-summary-block,
	.wc-block-checkout__sidebar .wc-block-components-sidebar,
	.wp-block-woocommerce-checkout-order-summary-block {
		position: static;
	}
	.woocommerce .cart-collaterals .cart_totals { max-width: none; float: none; }
}

@media (max-width: 600px) {
	/* Stack cart table as cards on phones */
	.woocommerce-cart table.shop_table thead { display: none; }
	.woocommerce-cart table.shop_table tbody tr {
		display: block;
		padding: 14px;
		border-bottom: 1px solid #eef2f8;
	}
	.woocommerce-cart table.shop_table tbody tr:last-child { border-bottom: 0; }
	.woocommerce-cart table.shop_table tbody td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 6px 0 !important;
		border: 0 !important;
		font-size: 14px;
	}
	.woocommerce-cart table.shop_table tbody td::before {
		content: attr(data-title);
		font-size: 12px;
		color: #6b7a91;
		text-transform: uppercase;
		letter-spacing: .4px;
		font-weight: 700;
	}
	.woocommerce-cart table.shop_table tbody td.product-remove,
	.woocommerce-cart table.shop_table tbody td.product-thumbnail {
		justify-content: flex-start;
	}
	.woocommerce-cart table.shop_table tbody td.product-remove::before,
	.woocommerce-cart table.shop_table tbody td.product-thumbnail::before {
		display: none;
	}
	.woocommerce-cart-form .actions {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}
	.woocommerce-cart-form .actions .coupon { width: 100%; }
	.woocommerce-cart-form .actions .coupon input#coupon_code { flex: 1; width: auto; }
	.woocommerce-cart-form .actions button[name="update_cart"] { float: none; width: 100%; }
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-shipping-fields,
	.woocommerce-checkout .woocommerce-additional-fields,
	.woocommerce-checkout #order_review,
	.woocommerce-checkout #order_review_heading,
	.wc-block-components-checkout-step {
		padding: 18px 16px !important;
	}
	.woocommerce-checkout #order_review_heading { padding-bottom: 0 !important; }
}

/* ===== Shop sidebar (search / categories / price) ===== */
.cc-shop-layout {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 18px;
	align-items: start;
}
.cc-shop-sidebar {
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 14px;
	padding: 22px;
	position: sticky;
	top: 90px;
	align-self: start;
}
.cc-shop-sidebar h3 {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .6px;
	color: #003968;
	font-weight: 800;
	border-bottom: 2px solid #009DEA;
	padding-bottom: 8px;
	margin: 22px 0 12px;
}
.cc-shop-sidebar h3:first-child { margin-top: 0; }

/* Search — full-width bar above the shop layout. */
.cc-shop-search {
	position: relative;
	/* Sits before .cc-shop-layout in the DOM; lift it above the product cards
	   (z-index 2–5) so the open dropdown isn't painted over. */
	z-index: 30;
	margin: 0 0 18px;
}
.cc-shop-search input[type="search"] {
	width: 100%;
	padding: 14px 52px 14px 18px;
	font: 500 15px/1.3 'Inter', sans-serif;
	color: #1a2e4a;
	background: #fafcff;
	border: 1.5px solid #dde3ec;
	border-radius: 10px;
	box-sizing: border-box;
	transition: border-color .15s, box-shadow .15s, background .15s;
	-webkit-appearance: none;
}
.cc-shop-search input[type="search"]::placeholder { color: #98a4b6; }
.cc-shop-search input[type="search"]:focus {
	outline: none; background: #fff;
	border-color: #009DEA;
	box-shadow: 0 0 0 4px rgba(0, 157, 234, .15);
}
.cc-shop-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.cc-shop-search button {
	position: absolute;
	top: 50%; right: 6px;
	transform: translateY(-50%);
	width: 38px; height: 38px;
	display: inline-flex; align-items: center; justify-content: center;
	background: #003968;
	color: #fff;
	border: 0; border-radius: 8px;
	cursor: pointer;
	transition: background .15s, transform .1s;
}
.cc-shop-search button:hover { background: #009DEA; }
.cc-shop-search button:active { transform: translateY(-50%) scale(.96); }

/* Live-search dropdown: span the full width of the search bar (base styles —
   position/left/right:0 — live in main.css, so it already matches the form). */
.cc-shop-search .cc-search-suggestions {
	left: 0;
	right: 0;
	width: auto;
}

/* Categories */
.cc-shop-cats { list-style: none; margin: 0; padding: 0; }
.cc-shop-cats li { margin: 0; border-radius: 8px; }
.cc-shop-cats li a {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 9px 12px;
	color: #1a2e4a;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	border-radius: 8px;
	transition: background .15s, color .15s;
}
.cc-shop-cats li a:hover { background: #f0f8ff; color: #009DEA; }
.cc-shop-cats li.is-active a { background: #003968; color: #fff; font-weight: 700; }
.cc-shop-cats__count {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 22px; height: 20px; padding: 0 6px;
	font-size: 11px; font-weight: 700;
	background: #e2eaf4;
	color: #4a5d78;
	border-radius: 10px;
}
.cc-shop-cats li.is-active .cc-shop-cats__count { background: rgba(255,255,255,.18); color: #fff; }

/* Price filter widget (WC_Widget_Price_Filter renders the slider) */
.cc-shop-price-filter .widget_price_filter { padding: 4px 2px 0; }
.cc-shop-price-filter .price_slider_amount {
	font-size: 13px; color: #4a5d78; font-weight: 600;
	margin-top: 14px;
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.cc-shop-price-filter .price_slider_amount .price_label { flex: 1; text-align: right; }
.cc-shop-price-filter .price_slider_amount .button {
	background: #003968 !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: .3px;
	padding: 8px 14px !important;
	border-radius: 6px !important;
	float: none !important;
}
.cc-shop-price-filter .price_slider_amount .button:hover { background: #009DEA !important; }
.cc-shop-price-filter .price_slider_wrapper { margin: 6px 0 10px; }
.cc-shop-price-filter .price_slider.ui-slider {
	position: relative; height: 6px;
	background: #e2eaf4;
	border-radius: 4px;
	margin: 14px 8px;
}
.cc-shop-price-filter .ui-slider-range {
	position: absolute; top: 0; height: 100%;
	background: #009DEA;
	border-radius: 4px;
}
.cc-shop-price-filter .ui-slider-handle {
	position: absolute; top: 50%;
	width: 16px; height: 16px;
	margin-left: -8px;
	background: #fff;
	border: 3px solid #009DEA;
	border-radius: 50%;
	cursor: grab;
	transform: translateY(-50%);
	box-shadow: 0 2px 6px rgba(0,57,104,.18);
}
.cc-shop-price-filter .ui-slider-handle:hover { border-color: #003968; }

/* Shop content column wraps everything to the right of the sidebar */
.cc-shop-content { min-width: 0; position: relative; }

/* Initial-load spinner overlay on the products grid */
.cc-shop-loader {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: flex; align-items: flex-start; justify-content: center;
	padding-top: 120px;
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	opacity: 1;
	transition: opacity .3s ease;
	pointer-events: none;
}
.cc-shop-content:not(.cc-shop-content--loading) .cc-shop-loader {
	opacity: 0;
	visibility: hidden;
}
.cc-wc-wrap--with-sidebar .cc-breadcrumb { margin-bottom: 18px; }

@media (max-width: 900px) {
	.cc-shop-layout { grid-template-columns: 1fr; }
	.cc-shop-sidebar { position: static; }
}

/* Wishlist heart — circular icon-only button */
.cc-wishlist-btn {
	appearance: none;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #e3e8f0;
	border-radius: 50%;
	width: 38px; height: 38px; padding: 0;
	display: inline-flex; align-items: center; justify-content: center;
	color: #6b7a90;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0, 42, 77, .08);
	transition: color .18s ease, background .18s ease, border-color .18s ease,
		transform .18s ease, box-shadow .18s ease;
}
.cc-wishlist-btn svg {
	width: 18px; height: 18px;
	fill: none;
	stroke: currentColor;
	transition: fill .18s ease, stroke .18s ease;
}
.cc-wishlist-btn:hover {
	color: #e0245e;
	border-color: #f5c2d3;
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(224, 36, 94, .18);
}
.cc-wishlist-btn.in-wishlist {
	color: #e0245e;
	border-color: #f5c2d3;
	background: #fff5f8;
}
.cc-wishlist-btn.in-wishlist svg { fill: #e0245e; }
.cc-wishlist-btn:focus-visible {
	outline: 2px solid #003968;
	outline-offset: 2px;
}
.cc-wishlist-btn[disabled] { opacity: .55; cursor: wait; }

/* Shop loop: float the heart in the top-right of each product card. */
.woocommerce ul.products li.product { position: relative; }
.woocommerce ul.products li.product .cc-wishlist-btn {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 4;
}

/* Single product: place it inline near the add-to-cart row. */
.cc-single-wishlist { margin: 12px 0 20px; }

/* My Account wishlist list: photo + info + actions in a row. */
.cc-wishlist-list { list-style: none; padding: 0; margin: 0; }
.cc-wishlist-list li {
	display: flex; align-items: flex-start; gap: 16px;
	flex-wrap: wrap;
	padding: 14px 0;
	border-bottom: 1px solid #eef1f6;
	transition: opacity .25s ease, transform .25s ease;
}
.cc-wishlist-list li:last-child { border-bottom: 0; }
.cc-wishlist-list li.is-removing {
	opacity: 0;
	transform: translateX(12px);
	pointer-events: none;
}

.cc-wishlist-item__thumb {
	flex: 0 0 auto;
	width: 54px; height: 54px;
	border-radius: 10px;
	overflow: hidden;
	background: #f5f7fa;
	border: 1px solid #eef1f6;
}
.cc-wishlist-item__thumb img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}

.cc-wishlist-item__info {
	display: flex; flex-direction: column; gap: 4px;
	flex: 1 1 200px;
	min-width: 0;
}
.cc-wishlist-item__name {
	font-weight: 600;
	color: #003968;
	text-decoration: none;
}
.cc-wishlist-item__name:hover { text-decoration: underline; }
.cc-wishlist-item__price { color: #2b3645; }

/* Price + stock badge share one row, sitting under the product name. */
.cc-wishlist-item__meta {
	display: flex; align-items: center; gap: 10px;
	flex-wrap: wrap;
}

.cc-wishlist-item__stock {
	display: inline-flex; align-self: center;
	font-size: 12px; font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
}
.cc-wishlist-item__stock.is-instock { color: #156b3d; background: #e6f5ec; }
.cc-wishlist-item__stock.is-outofstock { color: #9a2b2b; background: #fdecec; }

.cc-wishlist-item__actions {
	display: flex; align-items: center; gap: 10px;
	margin-left: auto;
	align-self: center;
}

/* Icon-only add-to-cart button, styled to sit beside the wishlist heart
   and matched to the theme palette (navy → sky on hover, green when added). */
.cc-wishlist-item__actions a.cc-cart-icon-btn {
	appearance: none;
	box-sizing: border-box;
	width: 38px; height: 38px;
	min-width: 0; padding: 0; margin: 0;
	border: 1px solid transparent;
	border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--navy, #003968);
	/* `.woocommerce a.button` forces color:#003968 !important; the icon uses
	   stroke="currentColor", so without !important the glyph renders navy on a
	   navy circle and disappears. Force white so the cart icon stays visible. */
	color: #fff !important;
	font-size: 0; line-height: 0;
	box-shadow: 0 2px 6px rgba(0, 42, 77, .12);
	transition: background .18s ease, transform .18s ease,
		box-shadow .18s ease, color .18s ease;
}
/* Beat the generic `.woocommerce-MyAccount-content .button { margin-top: 8px }`
   rule (higher specificity) so the cart button isn't pushed off-axis from the
   heart, which has no `.button` class. */
.woocommerce-MyAccount-content .cc-wishlist-item__actions a.cc-cart-icon-btn { margin: 0; }
.cc-wishlist-item__actions a.cc-cart-icon-btn svg { width: 18px; height: 18px; }
.cc-wishlist-item__actions a.cc-cart-icon-btn:hover {
	background: var(--sky, #009DEA);
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(0, 157, 234, .26);
}
.cc-wishlist-item__actions a.cc-cart-icon-btn:focus-visible {
	outline: 2px solid #003968;
	outline-offset: 2px;
}
.cc-wishlist-item__actions a.cc-cart-icon-btn.loading { opacity: .65; }
.cc-wishlist-item__actions a.cc-cart-icon-btn.added {
	background: var(--green, #71CDA1);
}
/* WooCommerce appends a "View cart" link after a successful add — keep it
   subtle so the row stays icon-led. */
.cc-wishlist-item__actions a.added_to_cart {
	font-size: 12px; font-weight: 600;
	color: var(--navy, #003968);
	text-decoration: underline;
}

/* ===== Shop / Single product responsive ===== */
@media (max-width: 980px) {
	.woocommerce div.product div.images,
	.woocommerce-page div.product div.images,
	.woocommerce div.product .woocommerce-product-gallery,
	.woocommerce div.product div.summary,
	.woocommerce-page div.product div.summary,
	.woocommerce div.product .summary {
		float: none;
		width: 100% !important;
		max-width: none;
		margin-left: 0; margin-right: 0;
	}
	.woocommerce div.product .summary { margin-top: 24px; }
}
@media (max-width: 900px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { gap: 18px; }
	.woocommerce ul.products li.product,
	.woocommerce ul.products.columns-2 li.product,
	.woocommerce ul.products.columns-3 li.product,
	.woocommerce ul.products.columns-4 li.product,
	.woocommerce ul.products.columns-5 li.product,
	.woocommerce ul.products.columns-6 li.product {
		flex: 1 1 240px;
		max-width: none;
	}
	.woocommerce ul.products li.product img {
		height: 240px !important;
		max-height: 240px !important;
		object-fit: contain;
	}
}
@media (max-width: 600px) {
	.cc-wc-wrap { padding: 28px 20px 56px; }
	.cc-shop-header { padding: 40px 20px; }
	.cc-shop-header h1 { font-size: 28px; }
	.cc-shop-toolbar {
		flex-direction: column; align-items: stretch;
		padding: 14px;
	}
	.woocommerce .cc-shop-toolbar .woocommerce-ordering select.orderby { width: 100%; }
	.woocommerce ul.products,
	.woocommerce-page ul.products { gap: 16px; }
	.woocommerce ul.products li.product,
	.woocommerce ul.products.columns-2 li.product,
	.woocommerce ul.products.columns-3 li.product,
	.woocommerce ul.products.columns-4 li.product,
	.woocommerce ul.products.columns-5 li.product,
	.woocommerce ul.products.columns-6 li.product {
		flex: 1 1 100%;
		max-width: none;
	}
	.woocommerce ul.products li.product img {
		height: 260px !important;
		max-height: 260px !important;
		object-fit: contain;
	}
	.woocommerce div.product .product_title { font-size: 24px; }
	.woocommerce div.product p.price,
	.woocommerce div.product span.price { font-size: 24px; }
	.woocommerce div.product form.cart { flex-direction: column; }
	.woocommerce div.product form.cart .quantity input.qty { width: 100%; }
	/* Variable products: dropdown + add-to-cart row go full-width on phones. */
	.woocommerce div.product form.cart table.variations { width: 100%; }
	.woocommerce div.product form.cart table.variations tbody,
	.woocommerce div.product form.cart table.variations tr { width: 100%; gap: 8px; }
	.woocommerce div.product form.cart table.variations th.label { width: 100%; }
	.woocommerce div.product form.cart table.variations td.value { width: 100%; flex: 1 0 100%; }
	.woocommerce div.product form.cart table.variations select { width: 100%; min-width: 0; margin-right: 0; }
	.woocommerce div.product .woocommerce-variation-add-to-cart { flex-direction: column; }
	.woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button { width: 100%; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 14px !important; font-size: 13px !important; }
	/* Keep the product summary + description flush-left on phones (it was
	   inheriting odd alignment, leaving the text not lined up with the title). */
	.woocommerce div.product .summary,
	.woocommerce div.product .summary > *,
	.woocommerce div.product .woocommerce-product-details__short-description,
	.woocommerce div.product .woocommerce-product-details__short-description li,
	.woocommerce div.product .woocommerce-Tabs-panel,
	.woocommerce div.product .woocommerce-Tabs-panel li {
		text-align: left;
	}
	.woocommerce div.product .woocommerce-product-details__short-description { padding-left: 0; }
}

/* ===== Empty cart block (woocommerce/empty-cart-block) ===== */
.wp-block-woocommerce-empty-cart-block {
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 14px;
	padding: 56px 32px 48px;
	text-align: center;
	box-shadow: 0 4px 18px rgba(0, 57, 104, .04);
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	font-size: 24px;
	font-weight: 800;
	color: #003968;
	margin: 0 0 16px;
	position: relative;
	padding-top: 96px;
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before {
	content: '';
	position: absolute;
	top: 0; left: 50%;
	transform: translateX(-50%);
	width: 72px; height: 72px;
	border-radius: 50%;
	background: #e8f4fd;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23009DEA' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/></svg>");
	background-size: 32px;
	background-repeat: no-repeat;
	background-position: center;
}
/* The icon variant WC ships baked in — hide it; we use our own. */
.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before { content: ''; background-image: none !important; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator {
	max-width: 80px;
	margin: 24px auto 36px;
	border-color: #e2eaf4;
}
.wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots::before {
	color: #b7c2d2;
	font-size: 18px;
	letter-spacing: 8px;
}
.wp-block-woocommerce-empty-cart-block > h2.wp-block-heading {
	font-size: 18px;
	font-weight: 800;
	color: #003968;
	text-transform: uppercase;
	letter-spacing: .6px;
	margin: 0 0 22px;
}

/* ===== "New in store" — wc-block-grid product cards =====
 * WC's all-products.css turns .wc-block-grid__products into a flex container
 * with -8px horizontal margin, and gives each .wc-block-grid__product
 * `flex: 1 0 25%; max-width: 25%` plus 8px side borders. We replace that with
 * a real CSS grid — but we have to neutralize WC's per-item rules at the
 * same level of specificity, otherwise `max-width: 25%` still caps each card
 * and the 8px borders eat additional width, squeezing cards down to a
 * fraction of their track and forcing text to wrap one letter per line. */
.wc-block-grid {
	margin: 0;
	width: 100%;
}
.wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 22px;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	list-style: none;
}
.wc-block-grid.has-3-columns .wc-block-grid__products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.wc-block-grid.has-2-columns .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.wc-block-grid.has-1-columns .wc-block-grid__products { grid-template-columns: minmax(0, 1fr) !important; }
.wc-block-grid__product {
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 14px;
	overflow: hidden;
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
	max-width: none !important;
	flex: initial !important;
	min-width: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	text-align: left;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .05);
	transition: transform .2s, box-shadow .2s;
}
.wc-block-grid__product:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(0, 57, 104, .14);
}
.wc-block-grid__product-link {
	display: flex; flex-direction: column;
	color: inherit !important;
	text-decoration: none !important;
}
.wc-block-grid__product-image {
	margin: 0 !important;
	overflow: hidden;
	background: #f5f9ff;
}
.wc-block-grid__product-image img {
	display: block;
	width: 100%; height: 200px;
	object-fit: cover;
	margin: 0 !important;
	transition: transform .35s ease;
}
.wc-block-grid__product:hover .wc-block-grid__product-image img { transform: scale(1.04); }
.wc-block-grid__product-title {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #003968 !important;
	padding: 14px 16px 4px !important;
	margin: 0 !important;
	line-height: 1.4 !important;
	min-height: 2.7em;
	overflow-wrap: break-word;
	word-break: normal;
}
.wc-block-grid__product-price.price {
	color: #009DEA !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	padding: 0 16px 12px !important;
	margin: 0 !important;
	display: block !important;
}
.wc-block-grid__product-add-to-cart {
	padding: 0 !important;
	margin: auto 16px 16px !important;
	white-space: normal !important;
	word-break: normal !important;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link {
	display: block !important;
	width: 100%;
	background: #71CDA1 !important;
	color: #003968 !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: .3px !important;
	border-radius: 4px !important;
	padding: 10px 12px !important;
	text-align: center !important;
	text-decoration: none !important;
	border: 0 !important;
	box-sizing: border-box;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word;
	transition: background .15s, transform .1s !important;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
	background: #5bb88e !important;
	transform: translateY(-1px);
}

@media (max-width: 900px) {
	.wc-block-grid__products,
	.wc-block-grid.has-3-columns .wc-block-grid__products,
	.wc-block-grid.has-4-columns .wc-block-grid__products { grid-template-columns: repeat(2, 1fr) !important; }
}
/* Phone breakpoint: one card per row — matches the shop + related-products
   grids, which already stack to a single column at ≤600px. Placed after the
   ≤900px (2-column) block so it wins the cascade on phones. */
@media (max-width: 600px) {
	.wc-block-grid__products,
	.wc-block-grid.has-2-columns .wc-block-grid__products,
	.wc-block-grid.has-3-columns .wc-block-grid__products,
	.wc-block-grid.has-4-columns .wc-block-grid__products { grid-template-columns: 1fr !important; }
}
@media (max-width: 480px) {
	.wp-block-woocommerce-empty-cart-block { padding: 40px 20px 32px; }
	.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { font-size: 20px; }
}


/* ===== Home page — featured products section =====
   Cards align flush-left, same as the shop. Width sized to fit a full row of
   4 cards: 4 * 290 (card) + 3 * 22 (gap) = 1226 + 80 (section side padding)
   = 1306px. Bump to 1320 for a small breathing-room buffer. */
.cc-home-shop { max-width: 1320px; margin: 0 auto; }
.cc-home-shop__grid { width: 100%; }
/* Safety net: never render more than 4 cards on the home shop section. */
.cc-home-shop .woocommerce ul.products li.product:nth-child(n+5) { display: none !important; }
/* "Vezi magazinul" — styled text link with an animated arrow, sits under the
   product grid. Not a button: underline appears on hover, arrow slides right. */
.cc-home-shop__more { margin-top: 44px; text-align: center; }
.cc-home-shop__link {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .2px;
	color: #009DEA;
	text-decoration: none;
	background: none;
	border: 0;
	padding: 0;
	transition: color .15s;
}
.cc-home-shop__link > span:first-child {
	position: relative;
	padding-bottom: 2px;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0 1.5px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: background-size .25s ease;
}
.cc-home-shop__link:hover { color: #003968; }
.cc-home-shop__link:hover > span:first-child { background-size: 100% 1.5px; }
.cc-home-shop__link-arrow {
	display: inline-block;
	font-size: 18px;
	line-height: 1;
	transition: transform .2s ease;
}
.cc-home-shop__link:hover .cc-home-shop__link-arrow { transform: translateX(4px); }
/* Desktop (>=901px): exactly 4 cards per row, no wrap. Cards size to fit
   regardless of viewport width, so the 4th never drops to a new line. */
@media (min-width: 901px) {
	.cc-home-shop .woocommerce ul.products,
	.cc-home-shop .woocommerce-page ul.products { flex-wrap: nowrap !important; }
	.cc-home-shop .woocommerce ul.products li.product,
	.cc-home-shop .woocommerce-page ul.products li.product,
	.cc-home-shop .woocommerce ul.products.columns-4 li.product {
		flex: 0 0 calc((100% - 66px) / 4) !important;
		max-width: calc((100% - 66px) / 4) !important;
		min-width: 0;
	}
}
/* Tablet (601-900px): exactly 2 cards per row. Overrides the global
   flex:1 1 240px rule which would otherwise allow 3 across when wide enough. */
@media (min-width: 601px) and (max-width: 900px) {
	.cc-home-shop .woocommerce ul.products li.product,
	.cc-home-shop .woocommerce-page ul.products li.product,
	.cc-home-shop .woocommerce ul.products.columns-4 li.product {
		flex: 0 0 calc((100% - 18px) / 2) !important;
		max-width: calc((100% - 18px) / 2) !important;
		min-width: 0;
	}
}

/* =========================================================================
   Product star ratings — shared widget (shop cards + single summary)
   A grey star track with a gold fill clipped to the average rating. Renders
   even at zero (muted empty stars), so every card shows a rating affordance.
   ========================================================================= */
.cc-stars {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	line-height: 1;
}
.cc-stars__track {
	position: relative;
	display: inline-block;
	font-size: 15px;
	letter-spacing: 2px;
	color: #dbe3ee;            /* empty / track stars */
	white-space: nowrap;
}
.cc-stars__fill {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	color: #009DEA;            /* filled stars — brand blue, matches the review stars */
	white-space: nowrap;
}
.cc-stars__count {
	font-size: 12.5px;
	font-weight: 600;
	color: #98a4b6;
}

/* Shop / related-product card placement — aligns with the card's 18px gutter. */
.woocommerce ul.products li.product .cc-stars {
	margin: 0 18px 12px;
}
.woocommerce ul.products li.product .cc-stars__track {
	font-size: 14px;
}

/* Single product summary — larger, sits next to the "write a review" link. */
.woocommerce div.product .woocommerce-product-rating .cc-stars {
	gap: 10px;
}
.woocommerce div.product .woocommerce-product-rating .cc-stars__track {
	font-size: 26px;
}
.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link {
	font-weight: 600;
}

/* =========================================================================
   Single product — Reviews tab
   ========================================================================= */
#reviews {
	margin-top: 8px;
}
#reviews #comments > h2.woocommerce-Reviews-title {
	font-size: 22px;
	color: #003968;
	font-weight: 800;
	margin: 0 0 24px;
}
#reviews .woocommerce-noreviews {
	color: #6b7a91;
	font-size: 15px;
	background: #f5f9ff;
	border: 1px solid #e8eef6;
	border-radius: 12px;
	padding: 18px 22px;
	margin: 0 0 28px;
}

/* Reviews as clean testimonials — 3 per row, borderless and left-aligned:
   blue stars, an italic quote, then a "~ Name" signature (no card, no avatar). */
#reviews #comments ol.commentlist {
	list-style: none;
	margin: 0 0 40px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 38px 44px;
}
/* WooCommerce adds clearfix ::before/::after to the list; inside a grid they
   become phantom cells that shove the columns out of alignment. The .woocommerce
   prefix matches WC's own specificity, so override with !important. */
.woocommerce #reviews #comments ol.commentlist::before,
.woocommerce #reviews #comments ol.commentlist::after {
	content: none !important;
	display: none !important;
}
#reviews #comments ol.commentlist li.review,
#reviews #comments ol.commentlist li.comment {
	margin: 0;
	padding: 0;
}
#reviews #comments ol.commentlist .comment_container {
	display: block;
	background: none;
	border: 0;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}
/* No avatar in the testimonial style — drop WC's absolutely-positioned image. */
.woocommerce #reviews #comments ol.commentlist li .comment_container img.avatar {
	display: none !important;
}
/* Reorder to stars → quote → signature (DOM order is stars, meta, description). */
.woocommerce #reviews #comments ol.commentlist li .comment-text {
	margin: 0;
	border: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text .star-rating {
	color: #009DEA;
	font-size: 17px;
	margin: 0 0 16px;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text .description {
	order: 2;
	color: #4a5d78;
	font-size: 15px;
	line-height: 1.75;
	font-style: italic;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text .description p:last-child {
	margin-bottom: 0;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
	order: 3;            /* author signature sits under the quote */
	margin: 14px 0 0;
	font-size: 14px;
	font-weight: 700;
	color: #003968;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-review__author::before {
	content: "~ ";
}
/* The dash and date aren't part of the testimonial signature. */
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-review__dash,
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta time.woocommerce-review__published-date {
	display: none;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text .meta .woocommerce-review__verified {
	color: #2d8c5e;
	font-style: normal;
	font-weight: 600;
}

/* =========================================================================
   Single product — Review form ("Add a review")
   ========================================================================= */
#review_form_wrapper {
	max-width: 620px;
}
#review_form #reply-title.comment-reply-title {
	display: block;
	font-size: 18px;
	font-weight: 800;
	color: #003968;
	margin: 0 0 18px;
}
#review_form .comment-notes,
#review_form .must-log-in,
#reviews .woocommerce-verification-required {
	font-size: 14px;
	color: #6b7a91;
	margin: 0 0 18px;
}
#review_form .must-log-in.cc-review-login a {
	color: #003968;
	font-weight: 700;
	text-decoration: underline;
}
#review_form .comment-form-author,
#review_form .comment-form-email {
	margin: 0 0 16px;
}
#review_form .comment-form label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #003968;
	margin: 0 0 7px;
}
#review_form .comment-form input#author,
#review_form .comment-form input#email,
#review_form .comment-form textarea#comment {
	width: 100%;
	padding: 12px 16px;
	font: 400 15px/1.5 'Inter', sans-serif;
	color: #1a2e4a;
	background: #fff;
	border: 1.5px solid #dde3ec;
	border-radius: 10px;
	box-sizing: border-box;
	transition: border-color .15s, box-shadow .15s;
}
#review_form .comment-form input#author,
#review_form .comment-form input#email {
	min-height: 46px;
}
#review_form .comment-form textarea#comment {
	height: 116px;            /* a tidy, not-too-tall box */
	min-height: 90px;
	max-height: 260px;
	resize: vertical;
}
#review_form .comment-form input#author:hover,
#review_form .comment-form input#email:hover,
#review_form .comment-form textarea#comment:hover {
	border-color: #b7c2d2;
}
#review_form .comment-form input#author:focus,
#review_form .comment-form input#email:focus,
#review_form .comment-form textarea#comment:focus {
	outline: none;
	border-color: #009DEA;
	box-shadow: 0 0 0 4px rgba(0, 157, 234, .15);
}

/* Star rating selector (the clickable stars WooCommerce builds from the select). */
#review_form .comment-form-rating {
	margin: 0 0 16px;
}
#review_form .comment-form-rating label#comment-form-rating-label {
	margin-bottom: 8px;
}
#review_form p.stars {
	margin: 0 0 4px;
}
#review_form p.stars a {
	font-size: 22px;
	color: #f5a623;
}
#review_form p.stars a::before {
	color: #dbe3ee;
}
/* Fill the hovered / selected star and every star before it (mirrors
   WooCommerce's default content-swap cascade, but recolouring our ★ glyphs). */
#review_form p.stars:hover a::before,
#review_form p.stars.selected a.active::before,
#review_form p.stars.selected a:not(.active)::before {
	color: #f5a623;
}
/* Re-mute every star after the hovered / selected one. */
#review_form p.stars:hover a:hover ~ a::before,
#review_form p.stars.selected a.active ~ a::before {
	color: #dbe3ee;
}
#review_form .comment-form-rating .required {
	color: #c0392b;
}

/* Submit button — reuse the theme's mint CTA styling. */
#review_form #respond .form-submit {
	margin: 4px 0 0;
}
#review_form #respond .form-submit input#submit {
	background: #71CDA1;
	color: #003968;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .5px;
	border: 0;
	border-radius: 6px;
	padding: 13px 30px;
	cursor: pointer;
	transition: background .15s, transform .1s;
}
#review_form #respond .form-submit input#submit:hover {
	background: #5bb88e;
	transform: translateY(-1px);
}

@media (max-width: 860px) {
	#reviews #comments ol.commentlist {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 560px) {
	#reviews #comments ol.commentlist {
		grid-template-columns: 1fr;
	}
}
